:root{--bg:#04100b;--panel:rgba(5,18,13,.86);--line:rgba(160,255,68,.24);--toxic:#b8ff3d;--text:#f1f6ef;--muted:#a4b4aa;--danger:#ff5964;--shadow:0 30px 90px rgba(0,0,0,.55)}
*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:radial-gradient(circle at 50% 15%,#183525 0,#07140e 32%,#020604 78%);color:var(--text);overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0,rgba(255,255,255,.04) 1px,transparent 1px,transparent 4px)}
.ambient{position:fixed;border-radius:999px;filter:blur(80px);opacity:.16;pointer-events:none}.ambient-a{width:48vw;height:48vw;background:#8fff1f;top:-20vw;left:-14vw}.ambient-b{width:42vw;height:42vw;background:#36ff8b;right:-16vw;bottom:-18vw}
.shell{min-height:100vh;display:grid;place-items:center;padding:24px}.screen{display:none;width:min(100%,540px)}.screen.active{display:block;animation:fade .4s ease both}@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.terminal-card{position:relative;overflow:hidden;border:1px solid var(--line);background:linear-gradient(180deg,rgba(11,30,21,.94),rgba(3,11,8,.94));border-radius:24px;padding:34px;box-shadow:var(--shadow),inset 0 1px rgba(255,255,255,.04)}
.terminal-card:after{content:"";position:absolute;inset:auto -10% -32% -10%;height:52%;background:radial-gradient(ellipse at center,rgba(184,255,61,.13),transparent 66%);pointer-events:none}.scanner-line{position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--toxic),transparent);box-shadow:0 0 16px var(--toxic);animation:scan 4s linear infinite}@keyframes scan{0%{transform:translateY(0)}50%{transform:translateY(430px)}100%{transform:translateY(0)}}
.status-dot{width:10px;height:10px;border-radius:50%;background:var(--toxic);box-shadow:0 0 18px var(--toxic);margin-bottom:18px}.eyebrow{letter-spacing:.16em;font-size:.74rem;color:var(--muted);margin:0 0 10px}.eyebrow.success{color:var(--toxic)}h1,h2{margin:.15em 0 .4em;font-size:clamp(2rem,7vw,3rem);line-height:.95;letter-spacing:-.04em}h2{font-size:clamp(1.8rem,6vw,2.7rem)}.intro,.welcome,.question,.done-card p{color:#cad5ce;line-height:1.6}.intro{margin-bottom:28px}
label{display:block;color:var(--toxic);font-size:.78rem;letter-spacing:.12em;margin:0 0 10px}input{width:100%;height:62px;padding:0 18px;border-radius:14px;border:1px solid rgba(184,255,61,.28);background:#020805;color:white;font-size:1.12rem;letter-spacing:.11em;outline:none;transition:.2s}input:focus{border-color:var(--toxic);box-shadow:0 0 0 4px rgba(184,255,61,.08)}button{width:100%;min-height:58px;border:0;border-radius:14px;font-weight:850;letter-spacing:.055em;cursor:pointer;transition:.18s;touch-action:manipulation}.primary,.arrival{margin-top:14px;background:linear-gradient(180deg,#c8ff5f,#9de51e);color:#071006;box-shadow:0 14px 28px rgba(163,236,42,.18)}button:hover{transform:translateY(-1px)}button:disabled{opacity:.58;cursor:wait;transform:none}.message{min-height:24px;color:var(--danger);font-size:.92rem;margin:14px 0 0}.minor{border-top:1px solid rgba(255,255,255,.06);margin-top:22px;padding-top:18px;color:#718078;font-size:.76rem}
.reveal-mark,.pulse-icon{font-size:2rem;color:var(--toxic);filter:drop-shadow(0 0 12px rgba(184,255,61,.5))}.reservation-card{margin:24px 0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.reservation-card>div{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);padding:14px;border-radius:12px}.reservation-card span{display:block;color:#809087;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.reservation-card strong{font-size:.95rem}.question{text-align:center;margin:20px 0 0}.waiting{margin-top:22px;border:1px solid rgba(184,255,61,.23);background:rgba(184,255,61,.06);padding:16px;border-radius:14px;color:#dfffb3}.pulse-icon{animation:pulse 1.35s ease-in-out infinite}@keyframes pulse{50%{transform:scale(1.12);filter:drop-shadow(0 0 25px rgba(184,255,61,.8))}}
@media(max-width:520px){.shell{padding:14px}.terminal-card{border-radius:20px;padding:26px 20px}.reservation-card{grid-template-columns:1fr}.scanner-line{animation-duration:5s}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
