:root{--bg: #16110b;--bg2: #1e1812;--bg3: #2a2118;--border: #372b1e;--border2: #4e3d29;--text: #f0e6d2;--text2: #b3a488;--text3: #7a6d55;--accent: #e3b341;--accent2: #c99b32;--danger: #e04340;--warning: #e8863a;--info: #6ea7c2;--purple: #b8709b;--on-accent: #1a1206;--on-danger: #ffffff;--on-warning: #1a1206;--on-info: #0f1a20;--font-display: "Cinzel", "Times New Roman", serif;--font-mono: "JetBrains Mono", monospace;--font-body: "Inter", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 70% 45% at 50% -10%,color-mix(in srgb,var(--accent) 7%,transparent) 0%,transparent 60%),radial-gradient(ellipse 50% 50% at 85% 95%,color-mix(in srgb,var(--danger) 5%,transparent) 0%,transparent 60%);pointer-events:none;z-index:0}#root{position:relative;z-index:1}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg2)}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:2px}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.card{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:16px;box-shadow:inset 0 1px #f0e6d20a}.card-lg{padding:24px;border-radius:12px}button{cursor:pointer;font-family:var(--font-display);font-weight:700;letter-spacing:.06em;text-transform:uppercase;border:none;border-radius:6px;padding:10px 20px;font-size:14px;transition:all .15s}.btn-primary{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 85%,#fff),color-mix(in srgb,var(--accent) 92%,#000));color:var(--on-accent);border:1px solid color-mix(in srgb,var(--accent) 55%,#000);box-shadow:inset 0 1px #ffffff40,0 2px 8px color-mix(in srgb,var(--accent) 18%,transparent)}.btn-primary:hover{filter:brightness(1.08);transform:translateY(-1px)}.btn-danger{background:linear-gradient(180deg,color-mix(in srgb,var(--danger) 88%,#fff),color-mix(in srgb,var(--danger) 85%,#000));color:var(--on-danger);border:1px solid color-mix(in srgb,var(--danger) 55%,#000)}.btn-danger:hover{opacity:.9}.btn-ghost{background:transparent;border:1px solid var(--border2);color:var(--text2);box-shadow:none}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.btn-warning{background:linear-gradient(180deg,color-mix(in srgb,var(--warning) 85%,#fff),color-mix(in srgb,var(--warning) 88%,#000));color:var(--on-warning);border:1px solid color-mix(in srgb,var(--warning) 55%,#000)}.btn-info{background:linear-gradient(180deg,color-mix(in srgb,var(--info) 80%,#fff),color-mix(in srgb,var(--info) 88%,#000));color:var(--on-info);border:1px solid color-mix(in srgb,var(--info) 55%,#000)}button:disabled{opacity:.4;cursor:not-allowed;transform:none!important}input,select,textarea{background:var(--bg3);border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:var(--font-body);font-size:14px;padding:10px 12px;width:100%;transition:border-color .15s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}.badge{display:inline-block;padding:3px 10px;border-radius:4px;font-size:11px;font-family:var(--font-mono);font-weight:700;letter-spacing:.1em;text-transform:uppercase}.badge-success{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent)}.badge-danger{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 35%,transparent)}.badge-warning{background:color-mix(in srgb,var(--warning) 14%,transparent);color:var(--warning);border:1px solid color-mix(in srgb,var(--warning) 35%,transparent)}.badge-info{background:color-mix(in srgb,var(--info) 14%,transparent);color:var(--info);border:1px solid color-mix(in srgb,var(--info) 35%,transparent)}.badge-purple{background:color-mix(in srgb,var(--purple) 14%,transparent);color:var(--purple);border:1px solid color-mix(in srgb,var(--purple) 35%,transparent)}.divider{height:1px;background:var(--border);margin:16px 0}@keyframes glitch{0%{text-shadow:2px 0 var(--danger),-2px 0 var(--info)}20%{text-shadow:-2px 0 var(--danger),2px 0 var(--info)}40%{text-shadow:2px 2px var(--danger),-2px -2px var(--info)}60%{text-shadow:0 0 0}80%{text-shadow:-2px 0 var(--accent),2px 0 var(--purple)}to{text-shadow:0 0 0}}@keyframes pulse-accent{0%,to{box-shadow:0 0 color-mix(in srgb,var(--accent) 35%,transparent)}50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--accent) 0%,transparent)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(-16px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes scanline{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}.animate-fade{animation:fadeIn .3s ease forwards}.animate-slide{animation:slideIn .3s ease forwards}.mono{font-family:var(--font-mono)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media (max-width: 768px){.grid-2,.grid-3{grid-template-columns:1fr}}.eliminated{opacity:.4;text-decoration:line-through}@keyframes pulse-warn{0%,to{box-shadow:0 0 color-mix(in srgb,var(--warning) 0%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--warning) 25%,transparent)}}.ticker-track::-webkit-scrollbar{display:none}:root[data-theme=light]{--bg: #f0e9db;--bg2: #faf6ec;--bg3: #e5dcc8;--border: #d5c9b0;--border2: #bfae8d;--text: #241c11;--text2: #5a4d38;--text3: #8d7d61;--accent: #9a6d0c;--accent2: #7d5a0a;--danger: #b3372b;--warning: #a85a17;--info: #38677f;--purple: #8a4a6d;--on-accent: #fff8e8;--on-danger: #ffffff;--on-warning: #fff6ea;--on-info: #f0f6f9}.theme-toggle{background:transparent;border:1px solid var(--border2);border-radius:20px;padding:5px 12px;font-size:13px;color:var(--text2);cursor:pointer;font-family:var(--font-mono);letter-spacing:normal;text-transform:none}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.conn-banner{position:fixed;top:0;left:0;right:0;z-index:2000;background:var(--danger);color:#fff;text-align:center;font-family:var(--font-mono);font-size:12px;padding:7px;letter-spacing:.1em;text-transform:uppercase}.help-fab{position:fixed;bottom:22px;right:20px;z-index:400;padding:12px 18px;border-radius:30px;background:linear-gradient(180deg,color-mix(in srgb,var(--warning) 85%,#fff),color-mix(in srgb,var(--warning) 88%,#000));color:var(--on-warning);font-size:13px;display:flex;align-items:center;gap:8px;box-shadow:0 4px 18px color-mix(in srgb,var(--warning) 45%,transparent);border:1px solid color-mix(in srgb,var(--warning) 55%,#000);cursor:pointer;font-family:var(--font-display);font-weight:700;letter-spacing:.06em}.help-fab:disabled{opacity:.6;cursor:default}.sound-toggle{background:var(--bg2);border:1px solid var(--border2);border-radius:20px;padding:6px 14px;font-size:13px;color:var(--text2);cursor:pointer;font-family:var(--font-mono)}.sound-toggle:hover{border-color:var(--accent);color:var(--accent)}.passcode-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.passcode-card{border:2px dashed var(--border2);border-radius:10px;padding:20px 14px;text-align:center;background:var(--bg2);page-break-inside:avoid}.passcode-card-name{font-family:var(--font-display);font-size:20px;font-weight:700;letter-spacing:.04em}.passcode-card-year{font-family:var(--font-mono);font-size:11px;color:var(--text3);margin-top:2px}.passcode-card-code{font-family:var(--font-mono);font-size:34px;font-weight:700;letter-spacing:.28em;margin:12px 0 4px;color:var(--text)}.passcode-card-hint{font-family:var(--font-mono);font-size:9px;color:var(--text3);text-transform:uppercase;letter-spacing:.1em}@keyframes memeSlideIn{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.meme-popup{position:fixed;left:20px;bottom:22px;z-index:450;max-width:340px;background:var(--bg2);border:1px solid color-mix(in srgb,var(--purple) 35%,transparent);border-radius:10px;padding:16px 34px 16px 18px;box-shadow:0 8px 28px color-mix(in srgb,var(--purple) 15%,transparent);animation:memeSlideIn .4s cubic-bezier(.34,1.56,.64,1)}.meme-popup-label{font-family:var(--font-mono);font-size:10px;color:var(--purple);letter-spacing:.15em;margin-bottom:8px;opacity:.8}.meme-popup-setup{font-family:var(--font-mono);font-size:12px;color:var(--text2);margin-bottom:6px;line-height:1.5}.meme-popup-line{font-family:var(--font-body);font-size:14px;color:var(--text);line-height:1.55}.meme-popup-close{position:absolute;top:8px;right:8px;background:none;border:none;color:var(--text3);font-size:16px;cursor:pointer;padding:2px 6px;min-width:auto}.meme-popup-close:hover{color:var(--purple)}@media (max-width: 520px){.meme-popup{left:12px;right:12px;bottom:84px;max-width:none}}@media print{nav,.no-print,.help-fab,.conn-banner{display:none!important}body{background:#fff!important}body:before{display:none!important}.card,.card-lg{box-shadow:none!important}.passcode-card{background:#fff!important;border-color:#999!important}.passcode-card-name,.passcode-card-code{color:#000!important}}
