:root{--bg:#1a1b1e;--fg:#d0cdc8;--accent:#f9bc06;--ad:#ef0625;--panel:#0c0d0ff0;--radius:14px;--gap:16px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--fg);-webkit-text-size-adjust:100%;overscroll-behavior:none;margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}#game{z-index:0;position:fixed;inset:0}#game canvas{touch-action:none;display:block}#live{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ui{z-index:1;width:min(100%,46.21vh);padding:max(var(--gap), env(safe-area-inset-top)) max(var(--gap), env(safe-area-inset-right)) max(var(--gap), env(safe-area-inset-bottom)) max(var(--gap), env(safe-area-inset-left));background:var(--panel);justify-content:center;align-items:center;margin-inline:auto;display:flex;position:fixed;inset:0}.ui-playing{pointer-events:none;background:0 0;align-items:flex-end}.panel-playing .actions{grid-template-columns:repeat(3,1fr);align-items:end;gap:8px;display:grid}.btn-jump{background:#daa00b38;border-color:#fac40f80}.panel-playing .btn-lane{font-size:1.1rem}.btn-lane{background:#0c0d0fa8;border-color:#ffffff47;min-height:52px;padding:8px 4px;font-size:.72rem;line-height:1.2}.btn-lane:active{background:var(--accent);color:#17181b}.panel-playing .clock{top:max(.6rem, env(safe-area-inset-top));text-align:center;font-variant-numeric:tabular-nums;color:#f3e7d2;text-shadow:0 .12rem .5rem #000000d9;pointer-events:none;margin:0;font-size:2.1rem;font-weight:700;position:fixed;left:0;right:0}.panel-playing .clock:empty{display:none}.panel-playing .hint{text-shadow:0 1px 3px #000000e6}.ui-playing .panel{box-shadow:none;text-align:center;background:0 0;border:0}.ui-playing .heading,.ui-playing .legal,.ui-playing .badge{display:none}.ui-playing .btn,.ui-playing .hint{pointer-events:auto}.panel{border-radius:var(--radius);background:#ffffff05;border:1px solid #ffffff14;width:100%;max-width:34rem;max-height:100%;padding:24px;overflow-y:auto}.panel-paused{pointer-events:auto}.heading{text-wrap:balance;margin:0 0 12px;font-size:clamp(1.4rem,5vw,2rem);font-weight:650;line-height:1.25}.body{opacity:.85;margin:0 0 20px;font-size:1rem;line-height:1.6}.badge{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;background:#f9bc0629;border-radius:999px;margin:0 0 12px;padding:4px 10px;font-size:.78rem;font-weight:600;display:inline-block}.notice{border-left:3px solid var(--ad);background:#ef06251a;border-radius:4px;margin:0 0 16px;padding:12px 14px;font-size:.95rem}.meta{border-top:1px solid #ffffff14;border-bottom:1px solid #ffffff14;flex-wrap:wrap;gap:8px 24px;margin:0 0 20px;padding:16px 0;display:flex}.meta-row{flex-direction:column;gap:2px;display:flex}.meta dt{letter-spacing:.04em;text-transform:uppercase;opacity:.6;font-size:.75rem}.meta dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.35rem;font-weight:600}.hint{opacity:.75;margin:0 0 12px;font-size:.9rem}.actions{flex-direction:column;gap:10px;display:flex}.btn{min-height:48px;color:inherit;font:inherit;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff2e;border-radius:10px;padding:12px 20px;font-weight:600;transition:background-color .12s,transform .12s}.btn:hover{background:#ffffff1a}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.btn[disabled]{opacity:.45;cursor:not-allowed}.panel-character .actions{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.btn-art{text-align:center;gap:8px;padding:8px 8px 12px;display:grid}.btn-art .btn-label{font-size:.78rem;font-weight:600;line-height:1.3}.btn-art .art{aspect-ratio:448/752;background-color:#f2f0ec;background-position:50% 0;background-repeat:no-repeat;background-size:300% 100%;border-radius:6px;width:100%;display:block}.art[data-character=boy]{background-image:url(/assets/boy-Df8_pUsv.webp);background-position:9.6% 0}.art[data-character=girl]{background-image:url(/assets/girl-i3KMktEr.webp);background-position:5.9% 0}.art[data-character=they]{background-image:url(/assets/they-wfmFyYok.webp);background-position:4.6% 0}.btn-primary{background:var(--accent);color:#17181b;border-color:#0000}.btn-primary:hover{background:#ffd24a}.legal{opacity:.6;flex-wrap:wrap;gap:6px 16px;margin-top:24px;font-size:.8rem;display:flex}.legal a{color:inherit}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.panel-wardrobe .actions .btn:not(.btn-primary){text-align:left;font-weight:500}.scene{aspect-ratio:880/1168;background-color:#05060a;background-position:50%;background-size:cover;border:1px solid #ffffff1f;border-radius:12px;width:100%;margin:0 0 16px;position:relative;overflow:hidden}.scene-map{background-image:url(/assets/city-map-Deu4Bz0h.webp)}.scene-room{background-image:url(/assets/tent-uVm18aeU.webp)}.mark{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:4px;padding:6px;display:flex;position:absolute;transform:translate(-50%,-50%)}.mark-dot{background:var(--accent);border:2px solid #ffffffd9;border-radius:50%;width:13px;height:13px;transition:transform .12s;box-shadow:0 0 10px 3px #f9bc068c}.mark-label{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:#f6efe6;text-shadow:0 1px 2px #000,0 0 8px #000,0 0 14px #000;font-size:.64rem;font-weight:700}.mark-sealed .mark-dot,.mark-locked .mark-dot{box-shadow:none;background:#4c4c55;border-color:#fff6}.mark-sealed .mark-label,.mark-locked .mark-label{opacity:.62}.mark-done .mark-dot{background:#86e3a6;box-shadow:0 0 10px 3px #86e3a673}.mark-on .mark-dot{transform:scale(1.45)}.mark:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:8px}.scene-room .mark-label{display:none}.mark-empty .mark-dot{box-shadow:none;background:0 0;border-style:dashed;border-color:#ffffff47}.mark-held .mark-dot{background:#ffd49c;box-shadow:0 0 12px 4px #ffc87880}.mark-new .mark-dot{background:#fffaf0;box-shadow:0 0 18px 6px #ffdc96e6}.panel-signin .heading{font-size:1.45rem;line-height:1.3}.panel-arrival .body{font-size:1.02rem;line-height:1.6}.panel-room .meta dd{font-size:.95rem;font-weight:400;line-height:1.45}
