@import url("https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,600;12..96,800&family=IBM+Plex+Sans:wght@400;500;600&display=swap");:root{--ink:#17101b;--panel:#241a2c;--edge:#3a2c44;--gold:#e3b23c;--gold-d:#8a6a1e;--jade:#4fa88b;--rose:#d1607a;--text:#f0e6ee;--muted:#9c8aa5;--display:"Bricolage Grotesque",system-ui,sans-serif;--body:"IBM Plex Sans",system-ui,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--ink);color:var(--text);font-family:var(--body);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}body:before{content:"";position:fixed;inset:0;background:radial-gradient(60% 40% at 50% -5%,rgba(227,178,60,.14),transparent 70%),radial-gradient(45% 35% at 90% 100%,rgba(209,96,122,.1),transparent 70%);pointer-events:none;z-index:0}.shell{position:relative;z-index:1;max-width:440px;margin:0 auto;padding:28px 20px 56px;min-height:100dvh}.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:600;margin:0 0 10px}h1{font-weight:800;font-size:clamp(30px,9vw,40px);line-height:1.02;letter-spacing:-.02em;margin:0 0 8px}h1,h2{font-family:var(--display)}h2{font-weight:600;font-size:19px;letter-spacing:-.01em;margin:0 0 12px}p{line-height:1.5;margin:0 0 14px}.lede{font-size:15px}.fine,.lede{color:var(--muted)}.fine{font-size:12px;line-height:1.45}.card{background:linear-gradient(160deg,var(--panel),#1b1322);border:1px solid var(--edge);border-radius:18px;padding:20px;margin:0 0 18px}.card-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px}.count{font-family:var(--display);font-weight:800;font-size:34px;line-height:1;color:var(--gold)}.count small{font-size:15px;color:var(--muted);font-weight:600}.mics{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:10px;gap:10px}.mic{width:100%;height:auto;display:block}.mic .body-shape{fill:none}.mic .body-shape,.mic .grille{stroke:var(--edge);stroke-width:2.5}.mic .grille{fill:transparent}.mic.on .body-shape{stroke:var(--gold-d)}.mic.on .grille{fill:var(--gold);stroke:var(--gold)}.mic.fresh{animation:punch .52s cubic-bezier(.2,1.5,.4,1) both}@keyframes punch{0%{transform:scale(1.9) rotate(-14deg);opacity:0}60%{transform:scale(.94) rotate(3deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.tier{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-top:1px solid var(--edge)}.tier-num{font-family:var(--display);font-weight:800;font-size:17px;color:var(--muted);padding-top:1px}.tier-name{font-weight:600;font-size:15px;margin:0 0 3px}.tier.redeemed .tier-name{color:var(--muted);text-decoration:line-through}.tier-desc{font-size:13px;color:var(--muted);margin:0;line-height:1.4}.chip{display:inline-block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;padding:3px 8px;border-radius:999px;margin-left:8px;vertical-align:2px}.chip.ready{background:rgba(79,168,139,.18);color:var(--jade)}.chip.used{background:rgba(156,138,165,.15);color:var(--muted)}label{display:block;font-size:13px;font-weight:500;margin:0 0 7px}input[type=password],input[type=tel],input[type=text]{width:100%;font-family:var(--body);font-size:17px;padding:15px 16px;border-radius:12px;border:1px solid var(--edge);background:#150f1a;color:var(--text)}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.check,.row{margin-bottom:16px}.check{display:flex;gap:11px;align-items:flex-start;font-size:13px;color:var(--muted);line-height:1.45}.check input{width:20px;height:20px;margin:1px 0 0;flex:none;accent-color:var(--gold)}.btn,button{width:100%;font-family:var(--display);font-weight:800;font-size:17px;letter-spacing:-.01em;padding:17px;border:0;border-radius:12px;background:var(--gold);color:#20160a;cursor:pointer;display:block;text-align:center;text-decoration:none}button:disabled{opacity:.45;cursor:default}button.ghost{background:transparent;border:1px solid var(--edge);color:var(--text);font-size:15px;padding:13px}button.slim{width:auto;padding:9px 16px;font-size:14px}.notice{border-radius:12px;padding:14px 16px;font-size:14px;line-height:1.45;margin-bottom:18px;border:1px solid}.notice.good{border-color:rgba(79,168,139,.4);background:rgba(79,168,139,.1)}.notice.wait{border-color:rgba(227,178,60,.4);background:rgba(227,178,60,.09)}.notice.bad{border-color:rgba(209,96,122,.4);background:rgba(209,96,122,.1)}.staff{max-width:760px}.rooms{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));grid-gap:10px;gap:10px;margin-bottom:26px}.room-btn{border:1px solid var(--edge);background:var(--panel);color:var(--text);border-radius:14px;padding:18px 12px;font-family:var(--display);font-size:16px;font-weight:600}.room-btn.open{border-color:var(--jade);background:rgba(79,168,139,.14)}.room-state{display:block;font-family:var(--body);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:6px;font-weight:600}.room-btn.open .room-state{color:var(--jade)}.list-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-top:1px solid var(--edge);font-size:14px}.code{font-family:ui-monospace,IBM Plex Mono,monospace;font-size:26px;letter-spacing:.16em;color:var(--gold)}.stats{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin:0 0 26px}.stat{background:linear-gradient(160deg,var(--panel),#1b1322);border:1px solid var(--edge);border-radius:14px;padding:16px 18px}.stat-n{display:block;font-family:var(--display);font-weight:800;font-size:32px;line-height:1;color:var(--gold)}.stat-l{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-top:5px}.stamp-pill{font-family:var(--display);font-weight:800;font-size:17px;color:var(--gold);white-space:nowrap}.stamp-pill small{font-size:12px;color:var(--muted);font-weight:600}.mark{display:flex;align-items:center;gap:10px;margin:0 0 22px}.mark-rule{flex:1 1;height:1px;background:linear-gradient(90deg,var(--gold-d),transparent)}.mark-text{font-family:var(--display);font-weight:800;font-size:13px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.mark-text .a{color:var(--text)}.mark-text .b{color:var(--gold)}.mark-badge{width:26px;height:26px;flex:none;border-radius:8px;background:linear-gradient(150deg,var(--gold),var(--gold-d));display:grid;place-items:center}.mark-badge svg{width:14px;height:14px}.mark-badge path,.mark-badge rect{stroke:#20160a;stroke-width:2.4;fill:none}.mark-badge rect{fill:#20160a}.scrim{position:fixed;inset:0;z-index:50;background:rgba(10,6,13,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:grid;place-items:center;padding:22px;animation:fade .22s ease both}.modal{width:100%;max-width:380px;background:linear-gradient(165deg,#2a1f33,#1a1220);border:1px solid var(--edge);border-radius:20px;padding:26px 24px 22px;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.55);animation:rise .32s cubic-bezier(.2,.9,.3,1) both}.modal-icon{width:58px;height:58px;margin:0 auto 16px;border-radius:50%;display:grid;place-items:center;border:2px solid}.modal-icon svg{width:26px;height:26px;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.modal.stop .modal-icon{border-color:var(--rose);background:rgba(209,96,122,.12)}.modal.stop .modal-icon svg{stroke:var(--rose)}.modal.hold .modal-icon{border-color:var(--gold);background:rgba(227,178,60,.12)}.modal.hold .modal-icon svg{stroke:var(--gold)}.modal h3{font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:-.015em;margin:0 0 8px}.modal p{font-size:14px;color:var(--muted);line-height:1.5;margin:0 0 20px}.modal .hint{font-size:12px;color:var(--muted);margin:14px 0 0;opacity:.8}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}.tier{transition:none}.tier-num{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;border:1px solid var(--edge);font-size:15px;min-width:34px}.tier.unlocked .tier-num{border-color:var(--gold-d);background:linear-gradient(150deg,rgba(227,178,60,.22),rgba(227,178,60,.06));color:var(--gold)}.tier.unlocked:not(.redeemed) .tier-name{color:var(--gold)}.tier.unlocked:not(.redeemed) .chip.ready{animation:glow 2.4s ease-in-out infinite}@keyframes glow{0%,to{box-shadow:0 0 0 0 rgba(79,168,139,.35)}50%{box-shadow:0 0 0 6px rgba(79,168,139,0)}}.tier.redeemed{opacity:.58}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}