/* Shared look for the small Yes Day Pass pages (login, success, gift, redeem). */
:root{
  --ink:#14143A; --violet:#4F2BFF; --lime:#EBFF00; --pink:#FF3DAE; --green:#2BFF9A; --cyan:#3DE0FF;
  --mint:#EAFFF5; --lilac:#F1EEFF; --blush:#FFF4FB; --white:#FFFFFF; --soft:#DCDCF5; --muted:#45456E; --err:#8A0F55;
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none !important}
body{margin:0;min-height:100vh;background:var(--ink);color:var(--white);font-family:'Nunito',system-ui,sans-serif;font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column}
h1,h2,h3{font-family:'Baloo 2',system-ui,sans-serif;font-weight:800;margin:0;line-height:1.05}
p{margin:0}
a{color:var(--green);font-weight:800}
:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
.top{display:flex;align-items:center;justify-content:center;padding:18px 16px;border-bottom:3px solid var(--green)}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo-yes{font-family:'Baloo 2',sans-serif;font-weight:800;font-size:26px;color:var(--white);line-height:1}
.tkt{position:relative;font-family:'Baloo 2',sans-serif;font-weight:800;font-size:18px;line-height:1;color:var(--ink);background:var(--green);border:3px solid var(--ink);outline:2px solid var(--green);border-radius:6px;padding:5px 14px 3px;transform:rotate(-3deg)}
main{flex:1;display:flex;align-items:center;justify-content:center;padding:36px 16px 56px}
.card{width:100%;max-width:460px;display:flex;flex-direction:column;gap:16px;text-align:center;align-items:center}
.card h1{font-size:44px;color:var(--lime)}
.card p{color:var(--soft)}
.panel{width:100%;background:var(--white);color:var(--ink);border:3px solid var(--ink);border-radius:20px;box-shadow:8px 8px 0 var(--green);padding:22px;text-align:left;display:flex;flex-direction:column;gap:12px}
.panel p{color:var(--muted)}
label{font-weight:800;font-size:15px}
input{width:100%;font:inherit;font-size:17px;padding:13px 16px;border:3px solid var(--ink);border-radius:14px;background:var(--white);color:var(--ink);min-height:52px}
input:focus{outline:none;box-shadow:0 0 0 3px var(--cyan)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:'Baloo 2',sans-serif;font-weight:800;font-size:20px;line-height:1.1;color:var(--ink);background:var(--green);border:3px solid var(--ink);border-radius:14px;padding:12px 22px;box-shadow:4px 4px 0 var(--ink);text-decoration:none;cursor:pointer;min-height:50px;transition:transform .1s ease,box-shadow .1s ease}
.btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink)}
.btn:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--ink)}
.btn[disabled]{opacity:.7;cursor:progress}
.btn-lime{background:var(--lime)}
.btn-white{background:var(--white)}
.btn-block{width:100%}
.on-dark .btn{box-shadow:4px 4px 0 var(--white)}
.msg{font-weight:800;font-size:15px;min-height:22px}
.msg.err{color:var(--err)}
.small{font-size:14px}
@media (prefers-reduced-motion:reduce){.btn{transition:none}}
