:root{--ink:#16182a;--ink-2:#4a4e63;--paper:#f7f4ee;--accent:#6d5cff;--warm:#ff7a5c;--glass:#16182a9e;--radius:14px;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);background:#e9e4dc;margin:0;overflow:hidden}#c{cursor:grab;outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}#c.drag{cursor:grabbing}.hidden{display:none!important}kbd{text-align:center;min-width:1.6em;color:inherit;background:#ffffff24;border:1px solid #ffffff59;border-radius:6px;margin:0 2px;padding:1px 6px;font:600 12px/1.5 Inter,sans-serif;display:inline-block}.dot{background:linear-gradient(135deg, var(--accent), var(--warm));border-radius:50%;width:.6em;height:.6em;margin-right:.5em;display:inline-block;transform:translateY(-.05em)}#loader{z-index:50;background:radial-gradient(1200px 700px at 70% 20%,#fff5ea 0%,#efe8de 45%,#e3dbcf 100%);place-items:center;transition:opacity .8s;display:grid;position:fixed;inset:0}#loader.out{opacity:0;pointer-events:none}.loader-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb8;border-radius:22px;width:min(640px,100vw - 32px);padding:44px 44px 36px;box-shadow:0 30px 80px #3c281424}.logo{letter-spacing:.5px;font-family:Manrope,sans-serif;font-size:30px}.logo i{font-style:normal;font-weight:300}.kicker{color:var(--ink-2);margin:10px 0 0;font-size:14px}.loader-card h1{margin:22px 0 26px;font-family:Manrope,sans-serif;font-size:clamp(24px,3.4vw,34px);font-weight:800;line-height:1.15}.bar{background:#16182a14;border-radius:6px;height:6px;overflow:hidden}#bar-fill{background:linear-gradient(90deg, var(--accent), var(--warm));width:0;height:100%;transition:width .3s}#load-status{color:var(--ink-2);margin:10px 0 20px;font-size:13px}#enter{appearance:none;cursor:pointer;background:var(--ink);color:#fff;border:0;border-radius:999px;padding:14px 26px;font:700 15px Inter,sans-serif;transition:transform .2s,opacity .2s}#enter:disabled{opacity:.35;cursor:wait}#enter:not(:disabled):hover{transform:translateY(-1px)}.keys{color:var(--ink-2);gap:6px;margin-top:26px;font-size:13px;display:grid}.keys kbd{color:var(--ink);background:#fff;border-color:#16182a33}#hud{pointer-events:none;z-index:10;color:#fff;position:fixed;inset:0}#brand{background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:999px;align-items:center;padding:10px 16px;font-family:Manrope,sans-serif;font-size:15px;display:flex;position:absolute;top:18px;left:20px}#brand small{opacity:.75;border-left:1px solid #ffffff40;margin-left:12px;padding-left:12px;font-family:Inter;font-size:12px}#zone{letter-spacing:.3px;background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;text-align:center;border-radius:16px;padding:10px 22px;font-family:Manrope,sans-serif;font-size:20px;font-weight:800;transition:opacity .6s;position:absolute;top:22px;left:50%;transform:translate(-50%)}#zone small{opacity:.85;margin-top:2px;font:500 13px Inter,sans-serif;display:block}#zone.show{opacity:1}#map-wrap{border-radius:var(--radius);background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:8px;position:absolute;top:18px;right:18px}#minimap{width:216px;height:156px;display:block}#prompt{color:var(--ink);background:#ffffffeb;border-radius:999px;align-items:center;gap:10px;padding:12px 18px 12px 12px;font-size:15px;font-weight:600;animation:.25s pop;display:flex;position:absolute;bottom:64px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0000002e}#prompt kbd{background:var(--ink);color:#fff;border:0;padding:4px 9px;font-size:13px}@keyframes pop{0%{opacity:0;transform:translate(-50%,8px)}}#help{background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:.92;border-radius:12px;padding:10px 14px;font-size:12px;line-height:1.9;position:absolute;bottom:18px;left:20px}#mybadge{width:150px;color:var(--ink);background:#fff;border-radius:12px;font-size:12px;position:absolute;bottom:18px;right:18px;overflow:hidden;box-shadow:0 12px 30px #0003}#mybadge .top{background:linear-gradient(135deg, var(--accent), var(--warm));color:#fff;padding:8px 12px;font:800 13px Manrope}#mybadge .nm{padding:10px 12px 2px;font:800 16px Manrope}#mybadge .rl{color:var(--ink-2);padding:0 12px 10px}#toasts{justify-items:center;gap:8px;display:grid;position:absolute;bottom:130px;left:50%;transform:translate(-50%)}.toast{background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:999px;padding:10px 16px;font-size:14px;transition:opacity .5s;animation:.3s pop}#panel{z-index:30;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#14121e59;place-items:center;animation:.25s fadein;display:grid;position:fixed;inset:0}@keyframes fadein{0%{opacity:0}}.panel-card{background:var(--paper);border-radius:20px;width:min(760px,100vw - 32px);max-height:calc(100vh - 48px);padding:32px;position:relative;overflow:auto;box-shadow:0 40px 90px #0000004d}.panel-card .close{cursor:pointer;background:#16182a12;border:0;border-radius:50%;width:34px;height:34px;font-size:14px;position:absolute;top:14px;right:14px}.panel-card h2{margin:4px 0 6px;font-family:Manrope;font-size:26px;font-weight:800}.panel-card .sub{color:var(--ink-2);margin:0 0 20px}.talk{background:#fff;border-radius:14px;grid-template-columns:180px 1fr auto;align-items:center;gap:16px;margin-bottom:10px;padding:12px;display:grid}.talk img{aspect-ratio:16/9;object-fit:cover;border-radius:10px;width:180px;display:block}.talk .meta{letter-spacing:.4px;text-transform:uppercase;font-size:12px;font-weight:700}.talk .ttl{margin:4px 0;font:700 16px/1.3 Manrope}.talk .room{color:var(--ink-2);font-size:13px}.btn{appearance:none;cursor:pointer;background:var(--ink);color:#fff;white-space:nowrap;border:0;border-radius:999px;padding:10px 16px;font:700 13px Inter}.btn.ghost{color:var(--ink);background:#16182a14}.stand-head{align-items:center;gap:14px;display:flex}.stand-chip{border-radius:12px;width:48px;height:48px}.badge-big{text-align:center;background:#fff;border-radius:16px;width:240px;margin:10px auto 20px;overflow:hidden;box-shadow:0 20px 40px #00000026}.badge-big .top{background:linear-gradient(135deg, var(--accent), var(--warm));color:#fff;padding:14px;font:800 18px Manrope}.badge-big .nm{padding:26px 12px 4px;font:800 24px Manrope}.badge-big .rl{color:var(--ink-2);padding-bottom:20px}.badge-big .qr{background:repeating-conic-gradient(#16182a 0 25%, #fff 0 50%) 0 0/16px 16px;border-radius:6px;width:80px;height:80px;margin:0 auto 20px}.field{justify-content:center;gap:10px;display:flex}.field input{border:1px solid #16182a33;border-radius:999px;width:220px;padding:10px 14px;font:500 14px Inter}.poster-view{grid-template-columns:1fr 1fr;align-items:center;gap:20px;display:grid}.poster-view img{border-radius:12px;width:100%}#cinema{z-index:20;pointer-events:none;position:fixed;inset:0}#cinema-bar{background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;pointer-events:auto;border-radius:999px;align-items:center;gap:18px;max-width:calc(100vw - 32px);padding:10px 12px 10px 20px;display:flex;position:absolute;top:16px;left:50%;transform:translate(-50%)}#cinema-bar small{opacity:.7;text-transform:uppercase;letter-spacing:.5px;font-size:11px;display:block}#cinema-bar b{white-space:nowrap;text-overflow:ellipsis;max-width:56vw;font:700 14px Manrope;display:block;overflow:hidden}#cinema-close{appearance:none;cursor:pointer;color:var(--ink);white-space:nowrap;background:#fff;border:0;border-radius:999px;padding:9px 14px;font:700 13px Inter}#cinema-close kbd{background:#16182a0f;border-color:#16182a33}#cinema-frame{pointer-events:auto;opacity:0;background:#000;transition:opacity .6s;position:absolute;box-shadow:0 0 60px #786eff40}#cinema-frame.on{opacity:1}#cinema-frame iframe{border:0;width:100%;height:100%;display:block}#fade{opacity:0;pointer-events:none;z-index:40;background:#f4efe8;transition:opacity .35s;position:fixed;inset:0}#fade.on{opacity:1}@media (width<=720px){#help{display:none}#minimap{width:144px;height:104px}.talk{grid-template-columns:1fr}.talk img{width:100%}.poster-view{grid-template-columns:1fr}#brand small{display:none}}body.in-cinema #help,body.in-cinema #map-wrap,body.in-cinema #zone,body.in-cinema #brand{opacity:0;transition:opacity .4s}
