:root{--gold:#cdb577;--ok:#637b67;--ok-bright:#8fb597;--bad:#a8514b;--bad-bright:#e08a82}#chase{height:100dvh;height:var(--app-h,100dvh);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);color:var(--primary-color);flex-direction:column;display:flex}#chase input,#chase textarea{-webkit-user-select:text;user-select:text}.c-head{border-bottom:1px solid var(--line);flex:none;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;width:100%;max-width:none;min-height:52px;padding:0 14px;display:grid}.c-brand{letter-spacing:.06em;color:var(--primary-color);font-family:Kaisei Opti,serif;font-size:1.35em;text-decoration:none}.c-brand b{color:var(--accent-color)}.net{text-overflow:ellipsis;white-space:nowrap;background:var(--bad);color:#fff;border-radius:999px;min-width:0;padding:4px 10px;font-size:.8em;font-weight:600;overflow:hidden}.c-side{justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.help-link{border:1px solid var(--line);color:var(--accent-color);border-radius:999px;padding:6px 14px;font-weight:600;text-decoration:none}.who{opacity:.85;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.screen{flex:1;width:100%;min-height:0;margin:0 auto}.screen.scroll{-webkit-overflow-scrolling:touch;overflow-y:auto}.screen.center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;max-width:420px;padding:20px;display:flex}.wrap{width:100%;max-width:880px;margin:0 auto;padding:16px 16px 40px}.wrap.narrow{max-width:480px}.h2{text-align:center;letter-spacing:.03em;margin:6px 0 10px;font-family:Kaisei Opti,serif;font-size:1.7em}.h3{letter-spacing:.12em;text-transform:uppercase;opacity:.75;margin:22px 0 6px;font-size:.8em}.hint.left,.err.left,.choice.left{text-align:left;justify-content:flex-start}.choice.left{margin:6px 0 8px}.err{color:var(--bad-bright);min-height:1.3em;font-weight:600}.btn.small{min-height:40px;font-size:1em}.quiet-link{color:var(--accent-color);opacity:.8;font-size:.95em}.row{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.row .btn{flex:140px}.big-icon{background:var(--ok);color:#fff;border-radius:50%;place-items:center;width:76px;height:76px;display:grid}.player-name{color:var(--accent-color);word-break:break-word;font-family:Kaisei Opti,serif;font-size:1.8em}.join-form{text-align:left;flex-direction:column;gap:14px;width:100%;display:flex}.join-form label{opacity:.95;flex-direction:column;gap:6px;font-size:.9em;font-weight:600;display:flex}.join-form input{border:1px solid var(--line);min-height:54px;color:var(--primary-color);font:inherit;background:#0003;border-radius:14px;padding:0 16px;font-size:1.4em}.join-form input#code{letter-spacing:.35em;text-align:center;font-weight:700}.join-form .btn{min-height:56px}.join-form .btn:disabled{opacity:.6}.screen.play{flex-direction:column;max-width:640px;display:flex;position:relative}.rbar{justify-content:space-between;align-items:baseline;padding:8px 16px 4px;font-size:.95em;font-weight:600;display:flex}#r-time{font-variant-numeric:tabular-nums;font-size:1.5em}.tbar{background:#00000040;border-radius:6px;height:6px;margin:0 16px;overflow:hidden}.tbar i{background:var(--accent-color);transform-origin:0;height:100%;transition:transform .1s linear;display:block}.low .tbar i{background:var(--bad-bright)}.low #r-time{color:var(--bad-bright)}.phrase{text-align:center;background:#0000002e;border-radius:14px;max-height:6.6em;margin:10px 16px 4px;padding:10px 14px;font-family:"Source Serif 4",serif;font-size:1.15em;line-height:1.35;overflow-y:auto}.phrase.quiet{opacity:.7;background:0 0;padding:4px 14px;font-family:inherit;font-size:.95em;font-style:italic}.tabs button.hint{box-shadow:inset 0 0 0 2px var(--accent-color);animation:1s ease-in-out infinite alternate hint-pulse}@keyframes hint-pulse{to{background:#f1c1ab59}}.note{border:1px solid var(--accent-color);background:#f1c1ab26;border-radius:12px;margin:12px 0;padding:10px 14px;font-weight:600}.vtabs{flex:none;margin:8px 12px 4px}.pages{scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;flex:1;min-height:0;display:flex;overflow:auto hidden}.pages::-webkit-scrollbar{display:none}.page{scroll-snap-align:start;scroll-snap-stop:always;-webkit-overflow-scrolling:touch;flex:0 0 100%;min-width:0;padding:6px 12px 90px;overflow-y:auto}.grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}@media (width>=520px){.grid{grid-template-columns:repeat(3,1fr)}}.tile{min-height:92px;color:var(--gold);text-transform:uppercase;letter-spacing:.05em;text-align:center;touch-action:manipulation;background:#0c0c0c;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:14px 8px;font-family:Kaisei Opti,serif;line-height:1.15;transition:transform 80ms,opacity .2s,box-shadow .2s;display:flex;position:relative;box-shadow:0 3px 10px #0000004d}.tile[data-vol=bofm]{background:#1d2733}.tile[data-vol=dc]{background:#213631}.tile[data-vol=ot]{background:#352921}.tile[data-vol=nt]{background:#331f22}.tile:before,.tile:after{content:"";background:var(--gold);opacity:.55;height:1px;position:absolute;left:14%;right:14%}.tile:before{top:9px}.tile:after{bottom:9px}.t-book{overflow-wrap:anywhere;font-size:.82em}.t-ref{letter-spacing:.02em;color:#f0e2b8;font-family:"Source Sans 3",system-ui,sans-serif;font-size:1.35em;font-weight:700}.tile:active{transform:scale(.96)}.tile.picked{box-shadow:0 0 0 3px var(--accent-color), 0 3px 14px #0006}.tile.wrong{opacity:.35;box-shadow:inset 0 0 0 2px var(--bad)}.pages.locked .tile:not(.picked){opacity:.4}.status{text-align:center;background:var(--text-color);color:var(--primary-color);box-shadow:var(--shadow);pointer-events:none;border-radius:14px;padding:14px 16px;font-size:1.05em;font-weight:700;position:absolute;bottom:12px;left:12px;right:12px}.status.good{background:var(--ok);color:#fff}.result{border-radius:var(--radius);text-align:center;background:#00000038;margin-top:8px;padding:22px 16px;position:relative}.result .h2{margin:6px 0 2px;font-size:2em}.result-icon{background:#ffffff1f;border-radius:50%;place-items:center;width:70px;height:70px;margin:0 auto;display:grid}.result.ok{background:var(--ok);color:#fff}.result.bad{background:var(--bad);color:#fff}.pts{min-height:1.4em;font-size:1.3em;font-weight:700}.rank-line{text-align:center;margin:12px 0;font-weight:600}.answer-card,.card{border-radius:var(--radius);border:1px solid var(--line);background:#0000002e;margin:12px 0;padding:14px 16px}.answer-card small,.card small{letter-spacing:.1em;text-transform:uppercase;opacity:.7;margin-bottom:4px;font-size:.78em;display:block}.answer-card b{color:var(--accent-color);font-size:1.4em;display:block}.answer-card p{margin-top:6px;font-family:"Source Serif 4",serif;font-style:italic;line-height:1.4}.board{flex-direction:column;gap:6px;margin:6px 0 12px;list-style:none;display:flex}.board li{background:#ffffff12;border-radius:12px;align-items:center;gap:12px;min-height:44px;padding:0 14px;display:flex}.board li.me{background:var(--accent-color);color:var(--text-color);font-weight:700}.board i{opacity:.7;width:1.6em;font-style:normal;font-weight:700}.board span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.board b{font-variant-numeric:tabular-nums}.board small{font-size:.9em;font-weight:700}.board small.up{color:var(--ok-bright)}.board small.down{color:var(--bad-bright)}.board .off{color:var(--bad-bright);font-style:normal}.teacher .screen{max-width:none}.vol-tiles{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:8px 0;display:grid}.vol-tile{text-align:left;border:1px solid var(--line);color:var(--primary-color);background:#ffffff0f;border-radius:14px;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;display:flex;position:relative}.vol-tile small{opacity:.7;min-height:1.2em}.vol-tile em{opacity:.8;margin-top:4px;font-size:.85em;font-style:normal;font-weight:600}.vol-tile[aria-pressed=true]{background:var(--accent-color);border-color:var(--accent-color);color:var(--text-color)}.vol-tile.partial{background:#f1c1ab8c}.passages{border:1px solid var(--line);border-radius:14px;margin:8px 0;padding:10px 14px}.passages summary{cursor:pointer;min-height:28px;font-weight:600}.passages fieldset{border:none;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:4px 12px;margin-top:12px;display:grid}.passages legend{letter-spacing:.1em;text-transform:uppercase;opacity:.7;margin-bottom:4px;font-size:.8em}.check,.switch{cursor:pointer;align-items:center;gap:10px;min-height:34px;display:flex}.check input,.switch input{width:20px;height:20px;accent-color:var(--accent-color);flex:none}.switches{flex-direction:column;gap:4px;margin:22px 0 8px;display:flex}.switch{font-size:1.05em}.code-card{border-radius:var(--radius);border:1px solid var(--line);background:#00000038;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 24px;padding:16px 20px;display:flex}.code-card small{opacity:.75;font-size:.85em}.join-url{color:var(--accent-color);font-size:1.3em;font-weight:700}.code-big{letter-spacing:.18em;color:var(--primary-color);-webkit-user-select:text;user-select:text;font-family:Kaisei Opti,serif;font-size:3.6em;font-weight:700;line-height:1}.code-actions{flex-wrap:wrap;gap:8px;display:flex}.code-actions .btn{min-height:40px;padding:0 14px;font-size:1em}.big-phrase{margin:6px 0 12px;font-family:"Source Serif 4",serif;font-size:clamp(1.4rem,3.2vw,2.2rem);line-height:1.35}.big-phrase.small{opacity:.9;font-size:1.2rem;font-style:italic}.big-ref{color:var(--accent-color);margin:4px 0;font-family:Kaisei Opti,serif;font-size:clamp(1.8rem,4vw,2.8rem)}.card.live .tbar{height:10px;margin:8px 0}.live-row{justify-content:space-between;align-items:baseline;font-weight:600;display:flex}.t-time{font-variant-numeric:tabular-nums;font-size:2.2em}.feed{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px;margin-top:6px;list-style:none;display:grid}.feed li{background:#ffffff12;border-radius:10px;justify-content:space-between;gap:8px;padding:8px 12px;display:flex}.feed li.ok{background:#637b678c}.feed li.bad{background:#a8514b73}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{background:#ffffff1a;border-radius:999px;align-items:center;gap:4px;padding:6px 4px 6px 14px;font-weight:600;display:inline-flex}.chip.off{opacity:.5}.chip button{opacity:.55;border-radius:50%;width:26px;height:26px;font-size:1.1em}.chip button:hover{opacity:1;background:#ffffff26}.teacher .board{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}@media (prefers-reduced-motion:reduce){.tile,.tbar i{transition:none}}.tv-mode .c-head{display:none}.screen.tv{cursor:default;max-width:none;padding:2.5vw 3vw;overflow:hidden}#tv{height:100%}.tv-grid{grid-template-columns:1.7fr 1fr;gap:3vw;height:100%;min-height:0;display:grid}.tv-main{flex-direction:column;gap:2vh;min-height:0;display:flex}.tv-label{letter-spacing:.14em;text-transform:uppercase;opacity:.7;font-size:clamp(.9rem,1.4vw,1.6rem);font-weight:600}.tv-phrase{font-family:"Source Serif 4",serif;font-size:clamp(2rem,4.6vw,5.4rem);line-height:1.22}.tv-ref{color:var(--accent-color);font-family:Kaisei Opti,serif;font-size:clamp(2.4rem,6vw,7rem);line-height:1.1}.tv-time{font-variant-numeric:tabular-nums;font-size:clamp(3rem,9vw,10rem);font-weight:700;line-height:1}.tv-time.low{color:var(--bad-bright)}.tv-row{align-items:baseline;gap:3vw;font-size:clamp(1.1rem,2vw,2.4rem);font-weight:600;display:flex}.tv .tbar{height:clamp(10px,1.6vh,20px);margin:0}.tv-hint{background:var(--accent-color);color:var(--text-color);border-radius:18px;align-self:flex-start;padding:1.4vh 2vw;font-size:clamp(1.4rem,3vw,3.6rem);font-weight:700;animation:.5s ease-out tv-pop}@keyframes tv-pop{0%{opacity:0;transform:scale(.8)}}.tv .board{grid-template-columns:1fr;gap:.8vh}.tv .board li{border-radius:14px;min-height:clamp(34px,6.4vh,80px);font-size:clamp(1.1rem,2.1vw,2.4rem)}.tv .board small{font-size:.8em}.tv-lobby{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:2vh;height:100%;display:flex}.tv-code{letter-spacing:.14em;font-family:Kaisei Opti,serif;font-size:clamp(5rem,18vw,20rem);line-height:1}.tv-url{color:var(--accent-color);font-size:clamp(1.4rem,3vw,3.4rem);font-weight:700}.tv-names{flex-wrap:wrap;justify-content:center;gap:1vh 1.2vw;max-width:90vw;font-size:clamp(1rem,1.8vw,2.2rem);font-weight:600;display:flex}.tv-names span{background:#ffffff1a;border-radius:999px;padding:.4em .9em}.tv-end{max-width:900px;margin:0 auto}.tv-lobby{grid-template-rows:1fr auto;grid-template-columns:1fr auto;place-items:center;gap:2vh 5vw;height:100%;display:grid}.tv-join,.tv-qr{flex-direction:column;align-items:center;gap:1.5vh;display:flex}.tv-qr .qr{width:clamp(160px,38vh,520px);height:auto;box-shadow:var(--shadow);border-radius:16px}.tv-names{grid-column:1/-1;align-self:end}.board li{position:relative}.delta{font-variant-numeric:tabular-nums;font-weight:700}.delta.pop{animation:.6s cubic-bezier(.2,1.4,.4,1) both delta-pop}@keyframes delta-pop{0%{opacity:0;transform:scale(.2)translateY(.6em)}}.tv .board li.rose{background:#637b67b3;transition:background 2s}.tv .board li.fell{background:#a8514b73;transition:background 2s}@media (prefers-reduced-motion:reduce){.delta.pop{animation:none}}@media (width<=800px){.tv-lobby{grid-template-columns:1fr}.tv-grid{grid-template-columns:1fr;overflow-y:auto}}.help{font-size:1.05em;line-height:1.55}.help h2{color:var(--accent-color);margin:28px 0 8px;font-family:Kaisei Opti,serif;font-size:1.4em}.help p,.help li{-webkit-user-select:text;user-select:text;margin:6px 0}.help ol,.help ul{padding-left:1.4em}.help li::marker{color:var(--accent-color);font-weight:700}.help b{color:var(--primary-color)}.help .lead{opacity:.9;font-size:1.1em}.help .row .btn{flex:0 auto;text-decoration:none}.rtable{border-collapse:collapse;width:100%;margin-top:6px}.rtable td{border-top:1px solid var(--line);padding:6px 8px}.rtable td.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.rtable tr.ok td:nth-child(2){color:var(--ok-bright);font-weight:600}.rtable tr.bad td:nth-child(2){color:var(--bad-bright);font-weight:600}.rtable tr.none{opacity:.6}.rtable em{background:#f1c1ab33;border-radius:999px;padding:1px 8px;font-size:.85em;font-style:normal}
