:root{--ink:#f3efe4;--dim:#b9b3a2;--gold:#c9b98f;--bg:rgba(24,25,21,.72);--line:rgba(243,239,228,.14)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#1f211c;color:var(--ink);font-family:Hiragino Mincho ProN,Yu Mincho,"Noto Serif JP",serif;-webkit-tap-highlight-color:transparent}#c{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}button:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:8px}[hidden]{display:none!important}.boot{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#ecebe3;color:#4d5144;z-index:9}.boot h1{margin:0;font-weight:500;letter-spacing:6px;font-size:28px}.boot p{margin:0;font-size:13px;color:#80836f}.boot .dot{width:4px;height:4px;margin-top:14px;border-radius:50%;background:#a99a7b;animation:breathe 1.8s ease-in-out infinite}@keyframes breathe{50%{opacity:.2}}.lobby{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:#14151273;z-index:5}.card{width:min(380px,100%);padding:30px 26px 22px;border-radius:18px;background:var(--bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);text-align:center}.card h1{margin:0 0 6px;font-weight:500;font-size:30px;letter-spacing:8px}.lead{margin:0 0 14px;color:var(--gold)}.sub{margin:0 0 22px;font-size:13px;line-height:1.9;color:var(--dim)}.primary{width:100%;min-height:48px;border-radius:12px;background:var(--ink);color:#23241f;font-size:16px;letter-spacing:2px}.halls{list-style:none;margin:16px 0 8px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px}.halls button{width:100%;min-height:44px;border-radius:10px;border:1px solid var(--line);font-size:13px;display:flex;justify-content:space-between;align-items:center;padding:0 12px}.halls button span{color:var(--dim);font-size:12px}.halls button[disabled]{opacity:.4;cursor:default}.fine{font-size:11px;color:var(--dim);line-height:1.8}.top{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-start;padding:max(14px,env(safe-area-inset-top)) 16px 0;pointer-events:none;z-index:3;text-shadow:0 1px 6px rgba(0,0,0,.5)}.top strong{font-weight:500;letter-spacing:3px;margin-right:10px}.top #count{font-size:12px;color:var(--dim)}.timer{pointer-events:auto;padding:6px 12px;border-radius:999px;background:var(--bg);font-variant-numeric:tabular-nums}.link{text-decoration:underline;text-underline-offset:3px;font-size:13px;color:var(--dim);padding:8px}.timer .link{padding:0 0 0 10px}.hint,.toast{position:fixed;left:50%;transform:translate(-50%);margin:0;padding:8px 14px;border-radius:999px;background:var(--bg);font-size:13px;white-space:nowrap;z-index:3;pointer-events:none}.hint{bottom:calc(96px + env(safe-area-inset-bottom));color:var(--dim)}.toast{top:calc(56px + env(safe-area-inset-top))}.bar{position:fixed;left:50%;transform:translate(-50%);bottom:max(14px,env(safe-area-inset-bottom));display:flex;gap:2px;padding:6px;border-radius:16px;background:var(--bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);z-index:3;max-width:calc(100% - 16px)}.bar button{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:50px;min-height:52px;padding:6px 4px;border-radius:11px;font-size:11px;color:var(--dim)}.bar button.active{background:#f3efe41f;color:var(--ink)}.bar svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.bar [data-act=sound] .off,.bar [data-act=sound].muted .on{display:none}.bar [data-act=sound].muted .off{display:block}.dlg{width:min(360px,calc(100% - 32px));padding:24px 22px 12px;border-radius:16px;border:1px solid var(--line);background:#24251f;color:var(--ink);text-align:center}.dlg::backdrop{background:#0006}.dlg h2{margin:0 0 10px;font-weight:500;letter-spacing:4px;font-size:19px}.dlg p{font-size:13px;line-height:1.9;color:var(--dim);text-align:left}.dlg .row{display:flex;gap:8px;margin:14px 0 6px}.dlg .row button{flex:1;min-height:46px;border-radius:10px;border:1px solid var(--line)}@media(prefers-reduced-motion:reduce){.boot .dot{animation:none}}
