:root{--bg: #060504;--ink: #0d0a08;--surface: rgba(10, 8, 6, .94);--line: #2e241c;--line-2: #4a3a2c;--bone: #ddd3c0;--text: #cfc5b2;--muted: #8a7f6e;--blood: #8a1c14;--blood-2: #b3261a;--bile: #8fbf5a;--bile-dim: #3d5226;--rust: #6b3f22;--font-title: "IM Fell English SC", Georgia, serif;--font-story: "EB Garamond", Georgia, serif;--font-ui: "Inter", system-ui, sans-serif}*{box-sizing:border-box;margin:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);overflow:hidden;-webkit-font-smoothing:antialiased}button{font-family:inherit}.grain{position:fixed;top:-50%;right:-50%;bottom:-50%;left:-50%;z-index:100;pointer-events:none;opacity:.09;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain .6s steps(4) infinite}@keyframes grain{25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-1%,3%)}}.cover{height:100%;display:grid;place-content:center;text-align:center;gap:28px;position:relative;background:radial-gradient(ellipse at 50% 120%,rgba(138,28,20,.28),transparent 55%),radial-gradient(ellipse at 50% 40%,#16110d 0%,var(--bg) 70%)}.cover-fog{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.18;background:radial-gradient(circle at 20% 80%,#9fbf8f 0,transparent 30%),radial-gradient(circle at 80% 70%,#9fbf8f 0,transparent 25%);filter:blur(70px);animation:fog 14s ease-in-out infinite alternate}@keyframes fog{to{transform:translate(6%) scale(1.15)}}.cover-title{font:400 clamp(60px,9vw,140px)/.95 var(--font-title);color:var(--bone);letter-spacing:.01em;text-shadow:0 0 40px rgba(143,191,90,.18),0 6px 0 #000;animation:flicker 7s infinite}@keyframes flicker{0%,90%,to{opacity:1}91%{opacity:.35}93%{opacity:1}96%{opacity:.6}}.cover-sub{color:var(--muted);font-size:15px;font-weight:600;letter-spacing:.45em;text-transform:uppercase}.cover-credits{display:grid;gap:6px}.cover-credits p{margin:0;color:#b5aa96;font-size:15px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;text-shadow:0 1px 3px #000,0 0 12px rgba(0,0,0,.9)}.cover-bang{margin:0;color:var(--bone);font:700 clamp(22px,3vw,40px)/1 var(--font-title);letter-spacing:.16em;text-transform:uppercase;text-shadow:0 0 28px rgba(201,178,90,.55),0 2px 0 #000}.cover-rule{width:120px;height:1px;margin:0 auto;background:var(--blood-2);box-shadow:0 0 12px var(--blood-2)}.hint{color:var(--muted);font-size:13px;letter-spacing:.05em;position:absolute;bottom:28px;left:0;right:0}.lab{position:relative;height:100%}.stage{position:absolute;top:0;right:0;bottom:0;left:0;background:#000}.stage-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transition:filter 1.2s,transform 1.2s}.stage.frozen .stage-video{filter:brightness(.35) saturate(.5) blur(3px);transform:scale(1.04)}.stage-vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 45%,rgba(0,0,0,.85))}.subtitle{position:absolute;left:50%;bottom:8%;transform:translate(-50%);width:min(1100px,86vw);text-align:center;font:500 32px/1.35 var(--font-story);color:var(--bone);text-shadow:0 2px 10px #000,0 0 2px #000}.panel{position:absolute;top:4vh;right:4vw;bottom:7vh;left:4vw;display:flex;flex-direction:column;overflow:hidden;background:var(--surface);border:1px solid var(--line-2);box-shadow:0 0 0 1px #000,0 40px 120px #000000e6,inset 0 0 120px #000000b3;opacity:0;transform:scale(.985);pointer-events:none;transition:opacity .8s,transform .8s}.panel:before{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:1px solid var(--line);pointer-events:none}.panel.show{opacity:1;transform:none;pointer-events:auto}.panel-head{display:flex;align-items:center;gap:18px;padding:30px 48px 22px;border-bottom:1px solid var(--line)}.panel-head h2{font:400 52px/1 var(--font-title);color:var(--bone)}.bolt{color:var(--blood-2);flex:none}.panel-body{flex:1;overflow:auto;padding:30px 48px 36px;min-height:0}.panel-body::-webkit-scrollbar,.script::-webkit-scrollbar{width:6px}.panel-body::-webkit-scrollbar-thumb,.script::-webkit-scrollbar-thumb{background:var(--line-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;font:600 17px var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--bone);background:#15100c;border:1px solid var(--line-2);border-radius:2px;padding:14px 24px;transition:.25s}.btn:hover:not(:disabled){border-color:var(--bone);background:#1d1610}.btn:disabled{opacity:.3;cursor:default}.btn.big{font-size:19px;padding:18px 38px;justify-self:center;background:var(--blood);border-color:var(--blood-2)}.btn.big:hover:not(:disabled){background:var(--blood-2);box-shadow:0 0 30px #b3261a66}.btn.ghost{background:transparent}.btn.icon{padding:10px}.btn.ok{background:#1f2a14;border-color:var(--bile);color:#d9f0c0}.btn.bad{background:#2a0d09;border-color:var(--blood-2);animation:shake .4s}.btn.bad-soft{background:#1a0c09;border-color:#5a1a12}.muted{color:var(--muted);font-size:20px}.eyebrow{font-size:14px;letter-spacing:.3em;text-transform:uppercase;color:var(--blood-2);font-weight:700;margin-bottom:18px}.done{font-size:28px;font-weight:600;display:flex;gap:12px;align-items:center;justify-content:center;padding:30px 0;color:var(--bile)}@keyframes shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}.agenda{list-style:none;padding:0;display:grid;gap:0;max-width:1000px}.agenda li{display:grid;grid-template-columns:70px 50px 1fr;align-items:center;gap:18px;padding:22px 0;border-bottom:1px solid var(--line);color:var(--muted)}.agenda-num{font:600 40px var(--font-story);font-variant-numeric:lining-nums;color:var(--blood-2)}.agenda b{display:block;font:400 32px var(--font-title);color:var(--bone)}.agenda p{font-size:18px;margin-top:4px}.vc{display:flex;flex-direction:column;gap:18px;height:100%;max-width:1100px;margin:0 auto}.vc-stage{flex:1;min-height:0;display:flex;align-items:center;gap:12px}.vc-arrow{background:none;border:0;color:var(--muted);cursor:pointer;padding:8px;transition:.2s;flex:none}.vc-arrow:hover{color:var(--bone);transform:scale(1.12)}.vc-card{flex:1;height:100%;max-height:420px;display:grid;grid-template-columns:minmax(0,45%) minmax(0,1fr);cursor:pointer;overflow:hidden;background:#0b0907;border:1px solid var(--line-2);animation:vcIn .6s cubic-bezier(.2,.7,.2,1) both}@keyframes vcIn{0%{opacity:0;transform:translate(40px);filter:blur(8px)}}.vc-card:hover{border-color:var(--muted)}.vc-img{width:100%;height:100%;object-fit:cover;display:block;background:#100c09;filter:grayscale(.3) contrast(1.08);border-right:1px solid var(--line)}.vc-img.missing{display:grid;place-content:center;color:var(--line-2)}.vc-text{display:flex;flex-direction:column;justify-content:center;gap:10px;padding:24px clamp(18px,3vw,40px);min-width:0}.vc-count{font-size:13px;font-weight:700;letter-spacing:.3em;color:var(--blood-2)}.vc-word{font:400 clamp(40px,5.5vw,88px)/1 var(--font-title);color:var(--bone);overflow-wrap:anywhere}.vc-pt{font:italic 500 32px var(--font-story);color:var(--bile);opacity:0;transform:translateY(8px);transition:.4s}.vc-pt.on{opacity:1;transform:none}.vc-hint{font-size:13px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-top:8px}.vc-dots{display:flex;justify-content:center;gap:8px}.vc-dots button{width:10px;height:10px;padding:0;border-radius:50%;border:1px solid var(--line-2);background:transparent;cursor:pointer}.vc-dots button.done{background:var(--bile-dim);border-color:var(--bile-dim)}.vc-dots button.on{background:var(--blood-2);border-color:var(--blood-2);box-shadow:0 0 8px var(--blood-2)}.vc-sentence{display:flex;flex-direction:column;gap:10px}.vc-sentence>span{font:500 24px var(--font-story);color:var(--muted)}.vc-sentence b{color:var(--bone);font-weight:600}.vc-input{position:relative}.vc-input textarea{width:100%;resize:none;padding:16px 60px 16px 20px;background:#070605;color:var(--bone);border:1px solid var(--line-2);font:500 28px/1.35 var(--font-story);outline:none;transition:border-color .2s}.vc-input textarea:focus{border-color:var(--muted)}.vc-input textarea::placeholder{color:#4a4238;font-style:italic}.vc-ok{position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--bile);animation:pointPop .5s}.story{display:flex;flex-direction:column;height:100%;gap:18px}.chapter-head{display:flex;align-items:baseline;gap:22px;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px solid var(--line)}.chapter-num{font-size:14px;letter-spacing:.3em;text-transform:uppercase;color:var(--blood-2);font-weight:700}.chapter-head h3{font:400 40px var(--font-title);color:var(--bone)}.cast{margin-left:auto;display:flex;gap:16px;font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.script{flex:1;overflow:auto;min-height:0;display:flex;flex-direction:column;gap:22px;padding:10px 6px 40px 0;cursor:pointer}.line{display:grid;grid-template-columns:64px 1fr 36px;gap:18px;align-items:start;opacity:.45;transition:opacity .5s;animation:lineIn .6s ease-out}.line.latest{opacity:1}.line.narr{grid-template-columns:1fr 36px;padding:0 9%}@keyframes lineIn{0%{opacity:0;transform:translateY(10px)}}.portrait{width:64px;height:64px;border-radius:50%;border:2px solid;overflow:hidden;display:grid;place-content:center;background:#0f0b08}.portrait img{width:100%;height:100%;object-fit:cover;filter:grayscale(.4)}.speaker{display:block;font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:4px}.line-body p{font:500 30px/1.45 var(--font-story);color:var(--bone)}.line.narr .line-body p{font-style:italic;color:var(--muted);text-align:center;font-size:28px}.line.narr.latest .line-body p{color:#b9ae99}.line-body mark{background:none;color:var(--bile);text-decoration:underline 1px var(--bile-dim);text-underline-offset:6px}.speak{background:none;border:0;color:var(--muted);cursor:pointer;padding:6px;margin-top:4px}.speak:hover{color:var(--bone)}.row{display:flex;align-items:center;justify-content:space-between;gap:16px}.chapter-progress{display:flex;gap:6px}.chapter-progress i{width:34px;height:2px;background:var(--line-2)}.chapter-progress i.past{background:var(--muted)}.chapter-progress i.on{background:var(--blood-2);box-shadow:0 0 8px var(--blood-2)}.story-quiz{max-width:860px}.quiz{display:flex;flex-direction:column;gap:12px;max-width:860px}.quiz-q{font:500 36px/1.3 var(--font-story);color:var(--bone);margin-bottom:10px}.opt{justify-content:flex-start;text-transform:none;letter-spacing:0;font:500 24px var(--font-story);padding:16px 22px}.movie{display:flex;flex-direction:column;gap:12px;height:100%}.movie iframe{flex:1;border:1px solid var(--line);background:#000}.final{text-align:center;display:grid;gap:22px;padding-top:6vh;font:500 28px var(--font-story);color:var(--muted)}.final-title{font:400 84px/1 var(--font-title);color:var(--bone)}.final .quiz-q{font-size:44px;font-style:italic;color:var(--blood-2)}.progress{position:absolute;bottom:2.6vh;left:50%;transform:translate(-50%);display:flex;gap:6px;z-index:50}.progress button{width:38px;height:3px;border:0;padding:0;background:var(--line-2);cursor:pointer}.progress button.past{background:var(--muted)}.progress button.on{background:var(--blood-2);box-shadow:0 0 8px var(--blood-2)}.fullscreen-activity{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;opacity:0;pointer-events:none;transition:opacity 1s}.fullscreen-activity.show{opacity:1;pointer-events:auto}.game3d{position:absolute;top:0;right:0;bottom:0;left:0}.board-canvas{position:absolute!important;top:0;right:0;bottom:0;left:0}.scoreboard{position:absolute;top:24px;left:24px;display:flex;flex-direction:column;gap:10px;z-index:5}.team{display:flex;align-items:stretch;width:320px;background:#0c0907e6;border:1px solid var(--line);border-left:4px solid var(--team);box-shadow:0 10px 30px #00000080;transition:transform .5s,box-shadow .5s,border-color .5s}.team.on{transform:translate(12px);border-color:var(--line-2);border-left-color:var(--team);box-shadow:-14px 0 40px -12px var(--team),0 10px 30px #00000080}.team-info{flex:1;display:flex;flex-direction:column;gap:2px;padding:12px 16px;min-width:0}.team-tag{font-size:11px;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:var(--muted)}.team.on .team-tag{color:var(--team)}.team-name{font:400 28px/1.05 var(--font-title);color:var(--bone);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-meta{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);font-weight:600}.team-score{display:grid;place-content:center;justify-items:center;min-width:78px;padding:0 14px;border-left:1px solid var(--line);background:#ffffff05}.team-points{font:600 42px/1 var(--font-story);font-variant-numeric:lining-nums;color:var(--team);animation:pointPop .7s}.team-pts-label{font-size:10px;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:var(--muted)}@keyframes pointPop{0%{transform:scale(2.2);filter:blur(4px);opacity:0}60%{transform:scale(.9);opacity:1;filter:none}}.legend{position:absolute;top:24px;right:24px;z-index:5;background:#0c0907e6;border:1px solid var(--line);font-size:14px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.legend-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:10px 16px;background:none;border:0;cursor:pointer;color:var(--bone);font:700 13px var(--font-ui);letter-spacing:.2em;text-transform:uppercase}.legend-caret{margin-left:auto;transition:transform .3s}.legend.open .legend-caret{transform:rotate(180deg)}.legend-body{display:flex;flex-direction:column;gap:8px;padding:4px 18px 14px;animation:fadeUp .35s both}.legend span{display:flex;align-items:center;gap:10px}.legend hr{border:0;border-top:1px solid var(--line-2);margin:4px 0}.team-skip{color:#9a8fb0;animation:pulseOp 1.2s infinite}@keyframes pulseOp{50%{opacity:.35}}.legend i{width:12px;height:12px}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#030202ad}.modal{position:relative;width:min(680px,92vw);padding:44px;text-align:center;display:flex;flex-direction:column;gap:18px;background:#0b0806;border:1px solid var(--line-2);box-shadow:0 40px 120px #000000e6}.modal:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px solid var(--line);pointer-events:none}.modal-title{font:400 60px/1 var(--font-title);color:var(--bone)}.modal-sub{font:500 24px/1.4 var(--font-story);color:var(--muted)}.modal-sub b{color:var(--bone)}.count{display:flex;align-items:center;justify-content:center;gap:18px;font-size:20px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.team-input{position:relative;font:600 20px var(--font-ui);padding:14px 18px;background:#060504;color:var(--bone);border:1px solid var(--line-2);border-left:3px solid}.trophy{color:#c9a64a;margin:0 auto}.ranking{list-style:none;padding:0;display:grid;gap:8px;font:400 30px var(--font-title)}.ranking b{font-family:var(--font-story);font-variant-numeric:lining-nums}.ranking li{display:flex;align-items:center;justify-content:center;gap:10px}.modal.card{border-color:var(--cat);box-shadow:0 0 80px color-mix(in srgb,var(--cat) 25%,transparent),0 40px 120px #000000e6}.card-cat{align-self:center;font-size:14px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--cat)}.card-label{font:italic 500 26px var(--font-story);color:var(--muted)}.card-topic{font:400 64px/1.05 var(--font-title);color:var(--bone)}.starters{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.starters span{animation:fadeUp .5s both;padding:6px 14px;border:1px solid var(--line-2);font-weight:600;font-size:17px;color:var(--text)}.card-actions{display:flex;gap:12px;justify-content:center;margin-top:8px}.cq{flex:1;display:flex;flex-direction:column;justify-content:center;gap:40px;max-width:1000px;width:100%;margin:0 auto}.cq-q{font:500 clamp(36px,3.4vw,54px)/1.25 var(--font-story);color:var(--bone);text-align:center;animation:qIn 1.1s cubic-bezier(.2,.7,.2,1) both}@keyframes qIn{0%{opacity:0;filter:blur(14px);transform:translateY(30px) scale(.97);letter-spacing:.08em}60%{opacity:1;filter:blur(0)}to{transform:none;letter-spacing:0}}.cq-q:after{content:"";display:block;width:140px;height:1px;margin:26px auto 0;background:var(--blood-2);box-shadow:0 0 10px var(--blood-2);transform-origin:center;animation:rule .8s .6s ease-out both}@keyframes rule{0%{transform:scaleX(0)}}.cq-options{display:flex;flex-direction:column;gap:14px}.cq-opt{display:flex;align-items:center;gap:22px;padding:18px 26px;cursor:pointer;text-align:left;background:#0b0806;border:1px solid var(--line-2);color:var(--bone);transition:border-color .25s,background .25s,opacity .4s;animation:optIn .6s cubic-bezier(.2,.7,.2,1) both}@keyframes optIn{0%{opacity:0;transform:translate(-40px);filter:blur(6px)}}.cq-opt:hover{border-color:var(--bone);background:#15100c}.cq-letter{font:400 30px var(--font-title);color:var(--blood-2);width:30px;flex:none}.cq-text{flex:1;font:500 30px var(--font-story)}.cq-opt.ok{border-color:var(--bile);background:#141c0d;color:#e2f2cf;box-shadow:0 0 40px #8fbf5a2e}.cq-opt.ok svg{color:var(--bile)}.cq-opt.bad{border-color:var(--blood-2);background:#1d0907;animation:shake .45s}.cq-opt.bad svg{color:var(--blood-2)}.cq-opt.dim{opacity:.3}.cq-badge{color:var(--blood-2)}.btn.pulse{border-color:var(--bone);animation:pulse 1.6s infinite}@keyframes pulse{50%{box-shadow:0 0 24px #ddd3c040}}.tale-end{height:100%;display:grid;place-content:center;text-align:center;gap:8px;animation:qIn 1.1s both}.tale-score{font:600 140px/1 var(--font-story);font-variant-numeric:lining-nums;color:var(--bone)}.tale-score span{font-size:60px;color:var(--muted)}.presence.layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:30}.presence.layer>*{pointer-events:auto}.presence.layer.out>*{pointer-events:none}.presence.in .overlay{animation:veilIn .8s both}.presence.out .overlay{animation:veilOut .7s both}.presence.in .modal{animation:modalIn 1s cubic-bezier(.2,.7,.2,1) both}.presence.out .modal{animation:modalOut .65s ease-in both}.presence.in .notice{animation:noticeIn .9s cubic-bezier(.2,.8,.2,1.2) both}.presence.out .notice{animation:noticeOut .7s ease-in both}@keyframes veilIn{0%{opacity:0}}@keyframes veilOut{to{opacity:0}}@keyframes modalIn{0%{opacity:0;transform:translateY(40px) scale(.92);filter:blur(12px)}}@keyframes modalOut{to{opacity:0;transform:translateY(-30px) scale(1.04);filter:blur(10px)}}@keyframes noticeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.5);filter:blur(10px)}}@keyframes noticeOut{to{opacity:0;transform:translate(-50%,-50%) scale(1.3);filter:blur(12px)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}}.presence.in .card-topic{animation:topicIn 1.3s .45s cubic-bezier(.2,.7,.2,1) both}@keyframes topicIn{0%{opacity:0;letter-spacing:.25em;filter:blur(14px)}}.notice{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:26px;padding:30px 46px;min-width:520px;background:#0a0806f2;border:1px solid var(--line-2);box-shadow:0 40px 100px #000c}.notice.good{border-color:#8a7a3a;color:#d9c46a;box-shadow:0 0 80px #c9b25a38,0 40px 100px #000c}.notice.bad{border-color:var(--blood-2);color:#e0644f;box-shadow:0 0 80px #b3261a4d,0 40px 100px #000c}.notice-title{font:400 46px/1.05 var(--font-title)}.notice-text{font:500 24px/1.35 var(--font-story);color:var(--bone);margin-top:6px}.dice-stage{position:absolute;top:0;right:0;bottom:0;left:0;z-index:25;display:grid;place-content:center;justify-items:center;grid-template-rows:110px 300px;pointer-events:none;opacity:0;transform:scale(.6) translateY(80px);filter:blur(14px);transition:opacity .9s ease-in,transform 1s ease-in,filter .9s}.dice-stage.show{opacity:1;transform:none;filter:none;transition:opacity 1s,transform 1.1s cubic-bezier(.2,.8,.2,1.15),filter 1s}.dice-stage:before{content:"";position:fixed;top:-50%;right:-50%;bottom:-50%;left:-50%;z-index:-1;background:radial-gradient(circle at center,rgba(10,8,6,.55) 0,rgba(10,8,6,.2) 28%,transparent 50%)}.dice-turn{display:grid;justify-items:center;align-content:end;gap:6px;animation:turnIn .9s .2s cubic-bezier(.2,.7,.2,1) both}@keyframes turnIn{0%{opacity:0;transform:translateY(-20px);letter-spacing:.3em;filter:blur(8px)}}.dice-turn-team{font:400 64px/1 var(--font-title);text-shadow:0 2px 4px #000,0 4px 24px #000}.dice-turn-hint{font-size:14px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--bone);text-shadow:0 1px 6px #000;transition:opacity .3s}.dice-stage:not(.ready) .dice-turn-hint{opacity:0}.dice-slot{position:relative;width:340px;height:300px}.dice-wrap{position:absolute;top:0;right:0;bottom:0;left:0;cursor:pointer;pointer-events:auto;transition:opacity .8s,transform .9s,filter .8s}.dice-stage:not(.ready) .dice-wrap{cursor:default;pointer-events:none}@keyframes breathe{50%{transform:translateY(-8px)}}.dice-canvas{width:100%!important;height:100%!important}.dice-result{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center}.dice-number{font:600 190px/.9 var(--font-story);font-variant-numeric:lining-nums;color:var(--bone);text-shadow:0 0 50px rgba(179,38,26,.85),0 2px 4px #000;animation:numIn 1.1s .35s cubic-bezier(.2,.8,.2,1.2) both}@keyframes numIn{0%{opacity:0;transform:scale(.3);filter:blur(20px)}70%{opacity:1;filter:none}}.dice-word{font:italic 500 32px var(--font-story);color:var(--bone);letter-spacing:.1em;text-shadow:0 2px 8px #000;animation:fadeUp .8s 1s both}.chooser{position:relative;width:min(820px,94vw);padding:36px 40px 40px;display:flex;flex-direction:column;align-items:center;text-align:center;background:#0b0806;border:1px solid var(--line-2);box-shadow:0 40px 120px #000000e6;animation:modalIn .7s cubic-bezier(.2,.7,.2,1) both}.chooser:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px solid var(--line);pointer-events:none}.chooser .eyebrow{margin-bottom:6px}.chooser-team{font:400 clamp(36px,6vh,60px)/1 var(--font-title)}.chooser-sub{font:italic 500 24px var(--font-story);color:var(--muted);margin-top:6px}.chooser-stage{display:flex;align-items:center;gap:10px;margin:10px 0 0}.chooser-canvas{position:relative;width:min(460px,60vw);height:min(440px,46vh);animation:fadeUp .6s both}.chooser-canvas:after{content:"";position:absolute;top:15%;right:20%;bottom:10%;left:20%;z-index:-1;border-radius:50%;background:radial-gradient(circle,rgba(179,38,26,.22),transparent 65%);transition:.6s}.chooser-canvas.chosen:after{background:radial-gradient(circle,rgba(221,211,192,.3),transparent 65%);top:5%;right:10%;bottom:0;left:10%}.chooser-soon{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);padding:8px 18px;border:1px solid var(--line-2);background:#0a0806d9;font-weight:700;font-size:14px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}.chooser-arrow{background:none;border:0;color:var(--muted);cursor:pointer;padding:10px;transition:.2s}.chooser-arrow:hover:not(:disabled){color:var(--bone);transform:scale(1.1)}.chooser-arrow:disabled{opacity:.2;cursor:default}.chooser-name{font:400 40px var(--font-title);color:var(--bone);animation:fadeUp .5s both}.chooser-dots{display:flex;gap:8px;margin:10px 0 22px}.chooser-dots i{width:8px;height:8px;border-radius:50%;background:var(--line-2)}.chooser-dots i.on{background:var(--blood-2);box-shadow:0 0 8px var(--blood-2)}.presence.out .chooser{animation:modalOut .45s ease-in both}.notice-ok{margin-top:18px;padding:10px 34px}.cover{overflow:hidden;background:#050404}.cover>*:not(.cover-bg):not(.cover-flash):not(.cover-fog):not(.cover-video):not(.cover-shade){position:relative;z-index:2}.cover-bg{position:absolute;top:-3%;right:-3%;bottom:-3%;left:-3%;z-index:0;background:radial-gradient(ellipse at 50% 48%,#050404b8,#05040459 45%,#050404bf),linear-gradient(to bottom,#05040433,#0504041a 60%,#050404d9),url(/halloween/images/cover.webp) center / cover no-repeat;animation:coverDrift 40s ease-in-out infinite alternate}@keyframes coverDrift{to{transform:scale(1.08) translate(-1%,-1%)}}.cover-flash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:#dfe8ff;mix-blend-mode:overlay;opacity:0;animation:lightning 7s infinite}@keyframes lightning{0%,60%,to{opacity:0}61%{opacity:.55}62%{opacity:.05}63.5%{opacity:.4}66%{opacity:0}}.cover .cover-fog{z-index:1}.cover-title{animation:flickerMore 7s infinite}@keyframes flickerMore{0%,to{opacity:1}8%{opacity:1}9%{opacity:.25}10%{opacity:1}11.5%{opacity:.5}12.5%{opacity:1}34%{opacity:1}35%{opacity:.4}36%{opacity:1}60%{opacity:1}61%{opacity:.15;text-shadow:0 0 60px rgba(223,232,255,.9),0 6px 0 #000}62%{opacity:1}63.5%{opacity:.3}65%{opacity:1}82%{opacity:1}83%{opacity:.55}84%{opacity:1}}.cover-logo{width:clamp(260px,22vw,380px);justify-self:center;filter:drop-shadow(0 6px 18px rgba(0,0,0,.8));margin-bottom:-8px}.cover .cover-sub{color:#b5aa96;text-shadow:0 1px 3px #000,0 0 12px rgba(0,0,0,.9)}.story-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:32px}.story-body .line{grid-template-columns:64px 1fr}.story-body .line.narr{grid-template-columns:1fr;padding:0 4%}.chapter-art{margin:0;min-height:0;border:1px solid var(--line-2);background:#0b0907;overflow:hidden;position:relative;animation:vcIn .8s both}.chapter-art img{width:100%;height:100%;object-fit:cover;display:block;filter:contrast(1.05) saturate(.85)}.chapter-art:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 60px #000000b3;pointer-events:none}.chapter-art-missing{height:100%;display:grid;place-content:center;justify-items:center;gap:10px;color:var(--line-2);font-size:13px}.chapter-audio{align-self:center;display:grid;place-content:center;width:38px;height:38px;border-radius:50%;cursor:pointer;background:transparent;border:1px solid var(--line-2);color:var(--muted);transition:.25s}.chapter-audio:hover{color:var(--bone);border-color:var(--bone)}.chapter-audio.on{color:var(--blood-2);border-color:var(--blood-2);box-shadow:0 0 14px #b3261a59}.player-row{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:12px}.player-role{font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);text-align:right}.qcard{width:min(820px,94vw);--cat: #b8a888;gap:22px}.qcard-prompt{font:500 clamp(32px,3vw,46px)/1.25 var(--font-story);color:var(--bone);animation:qIn 1s cubic-bezier(.2,.7,.2,1) both}.qcard .cq-options{text-align:left}.qcard-speak{min-height:90px;display:grid;place-content:center}.qcard-answer{font:400 64px/1 var(--font-title);color:var(--bile);animation:numIn .8s cubic-bezier(.2,.8,.2,1.2) both}.qcard-verdict{display:flex;align-items:center;justify-content:center;gap:22px;padding-top:6px;animation:fadeUp .5s both}.qcard-verdict p{font:400 34px var(--font-title)}.qcard-verdict.good p{color:var(--bile)}.qcard-verdict.bad p{color:#e0644f}.vc-card{cursor:default}.lab-bg{position:absolute;top:-3%;right:-3%;bottom:-3%;left:-3%;background:radial-gradient(ellipse at 50% 45%,#0504048c,#050404eb 75%),url(/halloween/images/cover.webp) center / cover;filter:blur(3px) saturate(.7);animation:coverDrift 50s ease-in-out infinite alternate}.talk{position:absolute;top:4vh;right:4vw;bottom:7vh;left:4vw;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;background:var(--surface);border:1px solid var(--line-2);box-shadow:0 40px 120px #000000e6;opacity:0;transform:scale(.97);pointer-events:none;transition:opacity .8s,transform .8s}.talk:before{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:1px solid var(--line);pointer-events:none}.talk.show{opacity:1;transform:none;pointer-events:auto}.talk-frame{position:relative;height:min(68vh,calc((92vw - 80px)*.5625));aspect-ratio:16 / 9;border:1px solid var(--line-2);background:#000;overflow:hidden}.talk-frame video{width:100%;height:100%;object-fit:cover;display:block}.talk-vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;box-shadow:inset 0 0 80px #000000bf}.talk-caption{min-height:2.8em;max-width:min(1100px,86vw);text-align:center;font:500 clamp(24px,2.3vw,34px)/1.35 var(--font-story);color:var(--bone);text-shadow:0 2px 8px #000;animation:fadeUp .35s both}.talk-play{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;background:#00000073;border:0;color:var(--bone);cursor:pointer}.talk-play:hover{color:#fff;background:#0000004d}.talk{transition:opacity 1.1s ease,transform 1.1s cubic-bezier(.2,.7,.2,1);transform:scale(.96)}.talk.show{transition-delay:.15s}.talk.show .talk-frame video{animation:talkVideoIn 1.4s .2s ease-out both}@keyframes talkVideoIn{0%{opacity:0;filter:brightness(.2) blur(6px)}}.talk:not(.show) .talk-frame video{opacity:0;filter:brightness(.2);transition:opacity .7s,filter .7s}.talk-caption{animation:captionIn .7s ease-out both}@keyframes captionIn{0%{opacity:0;transform:translateY(6px);filter:blur(4px)}}.panel{transition:opacity 1s ease,transform 1s cubic-bezier(.2,.7,.2,1)}.panel.show{transition-delay:.5s}.talk{gap:0;overflow:hidden;background:#000}.talk:before{z-index:3}.talk video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.talk.show video{animation:talkVideoIn 1.4s .2s ease-out both}.talk:not(.show) video{opacity:0;filter:brightness(.2);transition:opacity .7s,filter .7s}.talk-vignette{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(to bottom,transparent 55%,rgba(0,0,0,.75)),radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.6))}.talk-caption{position:absolute;left:50%;bottom:7%;transform:translate(-50%);z-index:2;margin:0;width:min(1100px,86%);min-height:0;text-align:center;font:500 clamp(26px,2.6vw,40px)/1.3 var(--font-story);color:#f3ead8;text-shadow:0 2px 4px #000,0 0 18px rgba(0,0,0,.9)}.talk-play{z-index:4}.talk.ended video{filter:brightness(.35) blur(2px);transition:filter 1s}.talk-end{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:34px;padding:0 8%;text-align:center;animation:endIn 1s .2s ease-out both}@keyframes endIn{0%{opacity:0;transform:translateY(14px);filter:blur(6px)}}.talk-ask{font:400 clamp(36px,4vw,64px)/1.15 var(--font-title);color:var(--bone);text-shadow:0 4px 20px #000;max-width:1100px}.talk-actions{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.talk-actions .btn.ghost{background:#0a080699}.behind{display:flex;flex-direction:column;height:100%;gap:18px}.behind-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:40px}.behind-text{overflow:auto;padding-right:8px;display:flex;flex-direction:column;gap:14px;animation:vcIn .7s cubic-bezier(.2,.7,.2,1) both}.behind-text .eyebrow{margin-bottom:0}.behind-title{font:400 clamp(44px,4.4vw,68px)/1 var(--font-title);color:var(--bone)}.behind-sub{font:italic 500 clamp(22px,2vw,30px)/1.3 var(--font-story);color:var(--blood-2);margin-bottom:10px}.behind-p{font:500 clamp(22px,1.8vw,28px)/1.55 var(--font-story);color:var(--text);animation:fadeUp .7s both}.behind-art{margin:0;min-height:0;border:1px solid var(--line-2);background:#0b0907;overflow:hidden;position:relative;animation:vcIn .9s both}.behind-art img{width:100%;height:100%;object-fit:cover;display:block;filter:sepia(.25) contrast(1.05)}.behind-art:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 70px #000000bf;pointer-events:none}.fullscreen-activity:not(.show),.fullscreen-activity:not(.show) *{pointer-events:none!important}.remote-image{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;background:#030202d9;animation:veilIn .5s both;cursor:zoom-out}.remote-image img{max-width:88vw;max-height:86vh;object-fit:contain;border:1px solid var(--line-2);box-shadow:0 40px 120px #000;animation:modalIn .7s cubic-bezier(.2,.7,.2,1) both}.remote-notes{position:fixed;top:3vh;right:3vw;bottom:3vh;left:3vw;z-index:190;display:flex;flex-direction:column;background:#080b12;border:1px solid var(--line-2);box-shadow:0 40px 120px #000;animation:modalIn .7s both}.remote-notes header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid var(--line);font-size:12px;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:var(--muted)}.remote-notes header button{background:none;border:0;color:var(--muted);cursor:pointer}.remote-notes iframe{flex:1;border:0;width:100%}.teacher{height:100%;display:grid;grid-template-columns:minmax(0,1fr) 380px;background:#0a0807;overflow:hidden}.teacher-main{overflow:auto;padding:28px 34px 40px;display:flex;flex-direction:column;gap:20px}.teacher-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;border-bottom:1px solid var(--line);padding-bottom:16px}.teacher-head .eyebrow{margin-bottom:4px}.teacher-head h1{font:400 34px var(--font-title);color:var(--bone)}.teacher-link{font-size:13px;font-weight:600;color:var(--muted);padding:6px 12px;border:1px solid var(--line-2)}.teacher-link.on{color:var(--bile);border-color:var(--bile-dim)}.teacher-names{display:flex;gap:14px;flex-wrap:wrap}.teacher-names label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.teacher-names input{font:600 16px var(--font-ui);padding:8px 12px;background:#060504;color:var(--bone);border:1px solid var(--line-2);width:200px}.teacher-now{padding:22px 24px;border:1px solid var(--line-2);border-left:3px solid var(--blood-2);background:#0e0b09}.teacher-now .eyebrow{margin-bottom:6px}.teacher-now h2{font:400 40px/1.1 var(--font-title);color:var(--bone)}.teacher-desc{margin-top:10px;font:500 20px/1.5 var(--font-story);color:var(--text)}.teacher-status{margin-top:12px;font-size:14px;font-weight:700;color:var(--bile);letter-spacing:.05em}.teacher-group{display:flex;flex-direction:column;gap:10px}.teacher-label{font-size:12px;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:var(--muted)}.teacher-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.teacher-row .btn{padding:11px 16px;font-size:14px}.teacher-row .btn.big{padding:14px 26px;font-size:16px}.teacher-hint{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.teacher-steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}.teacher-steps button{width:100%;display:flex;align-items:center;gap:10px;text-align:left;padding:10px 12px;background:#0e0b09;border:1px solid var(--line);color:var(--text);font:600 14px var(--font-ui);cursor:pointer}.teacher-steps button span{font:600 18px var(--font-story);color:var(--muted);width:18px}.teacher-steps button.past{color:var(--muted)}.teacher-steps button.on{border-color:var(--blood-2);color:var(--bone);box-shadow:inset 3px 0 0 var(--blood-2)}.teacher-steps button:hover{border-color:var(--line-2)}.teacher-notes{position:fixed;top:2vh;right:2vw;bottom:2vh;left:2vw;z-index:300;display:flex;flex-direction:column;background:#080b12;border:1px solid var(--line-2);box-shadow:0 30px 120px #000;animation:modalIn .5s both}.teacher-notes header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line);font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.teacher-notes header .btn{padding:8px 14px;font-size:13px}.teacher-notes iframe{flex:1;width:100%;border:0}.teacher-toolbar{border-left:1px solid var(--line);background:#0b0d12;display:flex}.teacher-toolbar iframe{flex:1;border:0;width:100%}.teacher-toolbar .teacher-hint{padding:24px}.story.blurred .line-body p,.story.blurred .speaker{filter:blur(9px);-webkit-user-select:none;user-select:none;transition:filter .6s}.story .line-body p{transition:filter .6s}.chapter-listening{display:inline-flex;align-items:center;gap:6px;align-self:center;font-size:12px;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:var(--blood-2);animation:pulseOp 1.4s infinite}.teacher-label{display:inline-flex;align-items:center;gap:6px}.teacher-speed{display:inline-flex;border:1px solid var(--line-2)}.teacher-speed button{padding:10px 12px;background:#15100c;border:0;border-right:1px solid var(--line);color:var(--muted);font:700 14px var(--font-ui);cursor:pointer}.teacher-speed button:last-child{border-right:0}.teacher-speed button.on{background:var(--blood);color:var(--bone)}.talk,.talk.show,.panel,.panel.show{transform:none!important;transition:none!important;transition-delay:0s!important}.talk:not(.show),.panel:not(.show){opacity:0;pointer-events:none}.talk.show,.panel.show{opacity:1}.talk video{animation:talkVideoIn 1.2s ease-out both}.panel.show .panel-head{animation:fadeUp .7s .05s ease-out both}.panel.show .panel-body{animation:panelContentIn .9s .15s ease-out both}@keyframes panelContentIn{0%{opacity:0;filter:blur(6px)}}.teacher-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.teacher-head-actions .btn{padding:10px 14px;font-size:13px}.teacher-nav{margin-top:auto;display:flex;justify-content:space-between;gap:12px;padding-top:18px;border-top:1px solid var(--line)}.teacher-nav .btn.big{padding:16px 30px}.teacher-choose{position:fixed;top:0;right:0;bottom:0;left:0;z-index:310;display:grid;place-items:center;background:#030202bf;animation:veilIn .3s both}.teacher-choose-box{width:min(760px,92vw);padding:30px;background:#0e0b09;border:1px solid var(--line-2);text-align:center;display:flex;flex-direction:column;gap:14px;animation:modalIn .4s both}.teacher-choose-box .eyebrow{margin:0}.teacher-choose-box h3{font:400 40px var(--font-title);color:var(--bone)}.teacher-choose-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:6px 0}.teacher-choose-options button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:22px 12px;cursor:pointer;background:#15100c;border:1px solid var(--line-2);color:var(--text);transition:.2s}.teacher-choose-options button:hover{border-color:var(--bone);background:#1d1610;color:var(--bone)}.teacher-choose-options b{font:600 18px var(--font-ui)}.teacher-choose-options span{font-size:13px;color:var(--muted)}.teacher-choose-box>.btn{align-self:center;padding:8px 16px;font-size:13px}.btn.student-btn.live{border-color:var(--bile);color:#d9f0c0;background:#141c0d}.live-dot{width:10px;height:10px;border-radius:50%;background:#7cff4f;box-shadow:0 0 10px #7cff4f;animation:livePulse 1.2s ease-in-out infinite}@keyframes livePulse{50%{opacity:.25;box-shadow:0 0 2px #7cff4f}}.story-chapters{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px}.story-chapters button,.story-lines button{cursor:pointer;background:#0e0b09;border:1px solid var(--line);color:var(--text);font:600 13px var(--font-ui)}.story-chapters button{display:flex;align-items:center;gap:8px;padding:9px 10px;text-align:left}.story-chapters button span{font:600 15px var(--font-story);color:var(--blood-2);width:26px}.story-chapters button.past,.story-lines button.past{color:var(--muted)}.story-chapters button.on,.story-lines button.on{border-color:var(--blood-2);color:var(--bone);box-shadow:inset 3px 0 0 var(--blood-2)}.story-lines{display:flex;flex-wrap:wrap;gap:6px}.story-lines button{min-width:40px;padding:8px 10px}.story-lines button.past{background:#15100c}.story-lines .story-q{padding:8px 14px}.tstart{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#050404;overflow:auto;padding:4vh 16px}.tstart-bg{position:fixed;top:-3%;right:-3%;bottom:-3%;left:-3%;background:radial-gradient(ellipse at 50% 45%,#05040480,#050404eb 75%),url(/halloween/images/cover.webp) center / cover;filter:blur(2px) saturate(.7)}.tstart-box{position:relative;width:min(860px,100%);padding:44px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px;background:#0a0806eb;border:1px solid var(--line-2);box-shadow:0 40px 120px #000;animation:modalIn .6s cubic-bezier(.2,.7,.2,1) both}.tstart-box:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px solid var(--line);pointer-events:none}.tstart-box .eyebrow{margin:0}.tstart-title{font:400 clamp(48px,6vw,80px)/1 var(--font-title);color:var(--bone)}.tstart-title.small{font-size:clamp(36px,4vw,52px)}.tstart-sub{font:500 22px/1.45 var(--font-story);color:var(--text);max-width:620px}.tstart-sub b{color:var(--bone)}.tstart-list{width:100%;display:flex;flex-direction:column;gap:8px;max-height:52vh;overflow:auto;padding:2px}.tstart-list.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.tstart-item{display:flex;align-items:center;gap:14px;padding:12px 16px;text-align:left;cursor:pointer;background:#0e0b09;border:1px solid var(--line-2);color:var(--text);transition:.2s}.tstart-item:hover:not(:disabled){border-color:var(--bone);background:#17120e;color:var(--bone)}.tstart-item.last{border-left:3px solid var(--blood-2)}.tstart-item:disabled{opacity:.5;cursor:wait}.tstart-name{flex:1;font:600 18px var(--font-ui)}.tstart-meta{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--muted)}.tstart-error{color:#e0644f;font-weight:600}.avatar{flex:none;display:grid;place-items:center;border-radius:50%;overflow:hidden;background:#15100c;border:1px solid var(--line-2);color:var(--muted)}.avatar img{width:100%;height:100%;object-fit:cover}.teacher-who{display:flex;align-items:center;gap:14px}.teacher-who .eyebrow{margin-bottom:2px}.story-intro{height:100%;min-height:100%;display:flex;flex-direction:column;justify-content:center;gap:2vh;padding:0 2%;animation:qIn 1.2s cubic-bezier(.2,.7,.2,1) both}.story-intro-title{font:400 clamp(64px,8vw,130px)/.95 var(--font-title);color:var(--bone);text-shadow:0 0 40px rgba(143,191,90,.15),0 6px 0 #000}.story-intro-line{font:500 clamp(30px,3.2vw,52px)/1.2 var(--font-story);color:var(--text);animation:fadeUp .9s .5s both}.story-intro-line+.story-intro-line{animation-delay:1s}.brand{font-weight:600;color:var(--bone);white-space:nowrap}.brand-dan{color:var(--blood-2);text-shadow:0 0 20px rgba(179,38,26,.45)}.brand-dan{color:inherit;text-shadow:none}.brand{color:inherit;font-weight:inherit}.story-intro-line{font-size:clamp(24px,2.5vw,40px);color:#d8c89a}.tstart-picked{display:inline-flex;align-items:center;gap:10px;font:600 18px var(--font-ui);color:var(--bone)}.tstart-levels{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:14px}.tstart-levels button{display:flex;flex-direction:column;align-items:center;gap:8px;padding:26px 18px;cursor:pointer;background:#0e0b09;border:1px solid var(--line-2);color:var(--text);transition:.2s}.tstart-levels button:hover:not(:disabled){border-color:var(--bone);background:#17120e;color:var(--bone)}.tstart-levels b{font:400 34px var(--font-title);color:var(--bone)}.tstart-levels span{font-size:14px;line-height:1.5;color:var(--muted)}.story.easy .script{gap:2.2vh;padding-bottom:10px}.story.easy .script>:first-child{margin-top:auto}.story.easy .script>:last-child{margin-bottom:auto}.story.easy .line.narr{padding:0 6%}.story.easy .line.narr .line-body p{font-size:clamp(26px,2.2vw,36px);line-height:1.4;font-style:normal;text-align:center;color:#b9ae99}.story.easy .line.narr.latest .line-body p{color:var(--bone)}.cover>.cover-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0}.cover>.cover-shade{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 50% 48%,#050404b3,#0504044d 45%,#050404b3),linear-gradient(to bottom,#05040426,#0504040d 60%,#050404cc)}.cover>*:not(.cover-video):not(.cover-shade):not(.cover-fog){position:relative;z-index:2}.teacher-preload{position:relative;padding:12px 16px;border:1px solid var(--line-2);background:#0e0b09;overflow:hidden}.teacher-preload span{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--bone)}.teacher-preload i{position:absolute;left:0;top:0;bottom:0;background:#8fbf5a2e;transition:width .3s}.teacher-ready{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--bile)}.music-ctl{display:inline-flex;align-items:center;border:1px solid var(--line-2);background:#15100c;height:40px}.music-ctl button{display:grid;place-items:center;height:100%;padding:0 10px;background:none;border:0;color:var(--muted);cursor:pointer}.music-ctl button:hover:not(:disabled){color:var(--bone)}.music-ctl button:disabled{opacity:.3;cursor:default}.music-ctl button:first-child{border-right:1px solid var(--line)}.music-ctl.on button:first-child{color:var(--bile)}.music-ctl span{min-width:38px;text-align:center;font:700 12px var(--font-ui);color:var(--text)}.cover>.cover-sound{position:absolute;right:22px;bottom:22px;z-index:3;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#0a080699;border:1px solid var(--line-2);color:var(--muted);animation:pulseOp 1.6s infinite}.phone{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;align-items:center;padding:max(18px,env(safe-area-inset-top)) 16px max(28px,env(safe-area-inset-bottom));background:radial-gradient(ellipse at 50% 0%,rgba(138,28,20,.22),transparent 46%),radial-gradient(ellipse at 50% 100%,rgba(20,14,10,.9),var(--bg) 70%)}.phone>:not(.grain){width:min(480px,100%);position:relative;z-index:1}.ph-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:14px;padding:8px 0 16px;margin-bottom:8px;background:linear-gradient(var(--bg) 70%,transparent)}.ph-head .eyebrow{margin:0 0 2px;font-size:11px;letter-spacing:.22em}.ph-head h1{font:400 28px/1 var(--font-title);color:var(--bone)}.ph-dot{margin-left:auto;width:10px;height:10px;border-radius:50%;background:#3a3228;box-shadow:0 0 0 4px #3a322859;flex:none}.ph-dot.on{background:var(--bile);box-shadow:0 0 0 4px #8fbf5a2e}.ph-card{display:flex;flex-direction:column;gap:14px;padding:22px 18px 20px;border:1px solid var(--line-2);border-top:3px solid var(--blood-2);background:#0c0907eb}.ph-card .eyebrow{margin:0;font-size:12px;letter-spacing:.22em}.ph-card h2{font:400 34px/1.05 var(--font-title);color:var(--bone)}.ph-card.good{border-top-color:var(--bile)}.ph-card.bad{border-top-color:var(--blood-2)}.ph-text{font:500 18px/1.45 var(--font-story);color:var(--text)}.ph-ask{font:500 26px/1.25 var(--font-story);color:var(--bone)}.ph-word{font-size:clamp(40px,12vw,64px);letter-spacing:.04em}.ph-actions,.ph-options{display:flex;flex-direction:column;gap:10px}.ph-btn{width:100%;min-height:58px}.ph-field textarea{width:100%;resize:none;font:500 18px/1.4 var(--font-story);color:var(--bone);background:#090705;border:1px solid var(--line-2);padding:14px;min-height:96px}.ph-field textarea:focus{outline:1px solid var(--blood-2)}.ph-opt{display:flex;align-items:center;gap:12px;width:100%;text-align:left;min-height:64px;padding:12px 14px;cursor:pointer;color:var(--bone);background:#120e0b;border:1px solid var(--line-2);font:600 17px/1.3 var(--font-ui)}.ph-opt span{flex:none;width:28px;color:var(--blood-2);font:600 18px var(--font-story)}.ph-opt b{flex:1;font-weight:600}.ph-opt.on{border-color:var(--bone)}.ph-opt.ok{border-color:var(--bile);background:#141c0d;color:#e2f2cf}.ph-opt.ok svg{color:var(--bile)}.ph-opt.bad{border-color:var(--blood-2);background:#1d0907}.ph-opt.bad svg{color:var(--blood-2)}.ph-opt.dim{opacity:.35}.ph-opt:disabled{cursor:default}.ph-verdict{font:600 18px/1.3 var(--font-ui)}.ph-verdict.good{color:var(--bile)}.ph-verdict.bad{color:#e7b2ab}.ph-score-big{font:400 72px/1 var(--font-story)}.ph-score-big span{font-size:28px;color:var(--muted)}.ph-board{margin-top:16px;padding:16px 16px 8px;border:1px solid var(--line);background:#080605d9}.ph-board .eyebrow{margin:0 0 10px;display:flex;align-items:center;gap:8px;font-size:12px}.ph-board ol{list-style:none;padding:0;display:flex;flex-direction:column}.ph-board li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 4px;border-top:1px solid var(--line);color:var(--text)}.ph-board li.on{color:var(--bone);box-shadow:inset 3px 0 0 var(--team, var(--blood-2))}.ph-board li span{display:flex;flex-direction:column;gap:2px;min-width:0}.ph-board small{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--team, var(--muted))}.ph-board b{font:600 32px/1 var(--font-story);color:var(--team, var(--bone))}.ph-rank{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}.ph-rank li{font:500 20px/1.3 var(--font-story)}.ph-rank b{font-weight:600;color:var(--bone)}@media (max-width: 520px){.ph-card h2{font-size:30px}.ph-ask{font-size:22px}}.phone{justify-content:safe center}.ph-card{text-align:center;align-items:center}.ph-options,.ph-field,.ph-field textarea{width:100%;text-align:left}.ph-round-row{display:flex;justify-content:center;align-items:flex-end;gap:28px;margin-top:6px}.ph-round{display:flex;flex-direction:column;align-items:center;gap:8px;background:none;border:0;color:var(--bone);cursor:pointer;-webkit-tap-highlight-color:transparent}.ph-round span{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:#1a120d;border:2px solid var(--line-2);transition:transform .12s}.ph-round.big span{width:112px;height:112px;background:radial-gradient(circle at 50% 35%,#b3261a,#5a0f0a);border-color:#d2463a;box-shadow:0 0 0 6px #b3261a2e,0 10px 30px #0009}.ph-round.sm span{width:52px;height:52px}.ph-round:active span{transform:scale(.92)}.ph-round:disabled{opacity:.35}.ph-round small{font:700 12px var(--font-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.ph-chooser-stage{display:flex;align-items:center;gap:6px;width:100%}.ph-stage{flex:1;height:300px;min-width:0}.ph-piece-name{font:400 26px var(--font-title);color:var(--bone)}.ph-mine{height:260px;width:100%;flex:none;margin-top:8px}.phone{justify-content:flex-start}.phone>.ph-head+*{margin-top:auto}.phone>:last-child{margin-bottom:auto}.ph-chooser{gap:8px;padding:16px 14px}.ph-chooser h2{font-size:28px}.ph-chooser .ph-stage{height:min(220px,30vh)}.ph-chooser .ph-piece-name{font-size:22px}.ph-chooser .ph-round.big span{width:78px;height:78px}.ph-chooser .ph-round.big svg{width:32px;height:32px}.ph-mine{height:min(190px,26vh)}.final-logo{width:clamp(200px,18vw,320px);margin:0 auto 6px;filter:drop-shadow(0 6px 18px rgba(0,0,0,.8))}.ph-logo{width:min(220px,60vw);margin:0 auto;filter:drop-shadow(0 6px 18px rgba(0,0,0,.8))}.mg{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;padding:28px clamp(16px,4vw,48px) 48px;background:var(--bg);font-family:var(--font-ui);color:var(--text)}.mg-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.mg-head .eyebrow{margin:0 0 4px}.mg-head h1{font:400 clamp(26px,3vw,38px)/1.1 var(--font-title);color:var(--bone)}.mg-muted{color:var(--muted)}.mg-error{color:#e7b2ab;margin-bottom:16px}.mg-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:18px}.mg-stat{padding:14px 16px;border:1px solid var(--line);background:#0e0a08e6;border-top:3px solid var(--line-2)}.mg-stat small{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.mg-stat b{font:600 30px/1 var(--font-story);color:var(--bone)}.mg-stat em{font:500 14px var(--font-ui);font-style:normal;color:var(--muted);margin-left:8px}.mg-stat.good{border-top-color:var(--bile)}.mg-stat.live{border-top-color:#d9a53a}.mg-stat.warn{border-top-color:var(--blood-2)}.mg-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.mg-filters select,.mg-search{height:42px;border:1px solid var(--line-2);background:#120d0a;color:var(--text);padding:0 12px;font:500 14px var(--font-ui)}.mg-search{display:flex;align-items:center;gap:8px;flex:1;min-width:200px;color:var(--muted)}.mg-search input{flex:1;background:none;border:0;outline:0;color:var(--text);font:inherit}.mg-table-wrap{overflow-x:auto;border:1px solid var(--line)}.mg-table{width:100%;border-collapse:collapse;min-width:820px;font-size:14px}.mg-table th{text-align:left;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:12px 14px;border-bottom:1px solid var(--line);background:#0e0a08;position:sticky;top:0}.mg-table td{padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.04);vertical-align:middle}.mg-table tr.click{cursor:pointer}.mg-table tr.click:hover td{background:#8a1c1414}.mg-who{display:flex;align-items:center;gap:12px}.mg-who span{display:flex;flex-direction:column}.mg-who b{color:var(--bone);font-weight:600}.mg-who small{color:var(--muted);font-size:12px}.mg-badge{display:inline-block;padding:4px 10px;font-size:12px;font-weight:600;border:1px solid var(--line-2);color:var(--muted);white-space:nowrap}.mg-badge.done{color:var(--bile);border-color:#8fbf5a73;background:#8fbf5a14}.mg-badge.live{color:#e7c06a;border-color:#d9a53a80;background:#d9a53a14}.mg-badge.partial{color:#e7b2ab;border-color:#b3261a80;background:#b3261a14}.mg-steps{display:flex;gap:3px;margin-bottom:4px}.mg-steps i{width:22px;height:6px;background:#2a201a}.mg-steps i.on{background:var(--bile)}.mg-drawer-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;justify-content:flex-end;z-index:10}.mg-drawer{width:min(560px,100%);height:100%;overflow:auto;background:#0e0a08;border-left:1px solid var(--line-2);padding:22px}.mg-drawer-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}.mg-drawer-head h2{font:400 28px/1.1 var(--font-title);color:var(--bone)}.mg-drawer-head .btn{margin-left:auto}.mg-sessions{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.mg-sessions button{padding:6px 10px;border:1px solid var(--line-2);background:none;color:var(--muted);font:500 12px var(--font-ui);cursor:pointer}.mg-sessions button.on{color:var(--bone);border-color:var(--blood-2)}.mg-block{padding:14px 0;border-top:1px solid var(--line)}.mg-block h3{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--blood-2);margin-bottom:10px}.mg-kv{display:grid;grid-template-columns:110px 1fr;gap:8px 12px;font-size:14px}.mg-kv span{color:var(--muted)}.mg-kv b{color:var(--bone);font-weight:500;justify-self:start}.mg-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}.mg-list li{display:grid;grid-template-columns:20px auto 1fr;gap:10px;align-items:start;font-size:14px}.mg-list li.off{opacity:.45}.mg-list li>b{color:var(--bone);font-weight:600;white-space:nowrap}.mg-list li small{display:block;color:var(--muted);font-size:12px}.mg-list .ok{color:var(--bile)}.mg-list .bad{color:var(--blood-2)}@media (max-width: 600px){.mg-list li{grid-template-columns:20px 1fr}.mg-list li>span,.mg-list li>small{grid-column:2}}.tstart-list{scrollbar-width:thin;scrollbar-color:#5a1a12 transparent;padding-right:6px}.tstart-list::-webkit-scrollbar{width:8px}.tstart-list::-webkit-scrollbar-track{background:transparent}.tstart-list::-webkit-scrollbar-thumb{background:#4a1a12;border-radius:8px}.tstart-list::-webkit-scrollbar-thumb:hover{background:var(--blood-2)}.tstart-name{display:flex;flex-direction:column;gap:3px}.tstart-did{display:inline-flex;align-items:center;gap:4px;font:600 12px var(--font-ui);letter-spacing:.04em;color:#d9a53a}.tstart-did.done{color:var(--bile)}.tstart-item.did{border-color:#8fbf5a59}.story .script{zoom:var(--story-font, 1)}.story.all-open .line{opacity:1;animation:none}.story.all-open .line.narr .line-body p{color:#c9bea8}.story-font-ctl{display:inline-flex;width:max-content}.story-font-ctl button{font-weight:700}.tstart-filter{display:flex;gap:14px;justify-content:center;margin:-4px 0 10px;font-size:12.5px;opacity:.75}.tstart-filter label{display:inline-flex;align-items:center;gap:5px;cursor:pointer}.tstart-filter input{accent-color:#8fd14f;width:13px;height:13px;margin:0}body.online{overflow:auto}body.online #root{height:auto;min-height:100%}.on-page{max-width:1100px;margin:0 auto;padding:32px 16px 80px}.on-head{text-align:center;display:grid;justify-items:center;gap:8px;margin-bottom:32px}.on-logo{width:72px}.on-head h1{font:400 clamp(48px,10vw,96px)/1 var(--font-title);color:var(--bone)}.on-head p{font:italic 500 18px var(--font-story);color:var(--muted)}.on-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.on-card{position:relative;min-height:320px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:6px;padding:28px;border:1px solid var(--line-2);background:#0b0806 center/cover;color:var(--bone);cursor:pointer;text-align:left;overflow:hidden;transition:transform .3s,border-color .3s,box-shadow .3s}.on-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(transparent 20%,#060504f2)}.on-card>*{position:relative}.on-card:hover{transform:translateY(-4px);border-color:var(--blood-2);box-shadow:0 0 40px #b3261a59}.on-card svg{color:var(--blood-2)}.on-card-title{font:400 44px/1 var(--font-title)}.on-card-sub{font:italic 500 20px var(--font-story);color:var(--muted)}.on-nav{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px;position:sticky;top:0;z-index:10;padding:10px 0;background:var(--bg)}.on-nav .btn:last-child{margin-left:auto}.on-nav .btn,.on-back{display:inline-flex;align-items:center;gap:8px;font-size:15px;padding:10px 16px}.on-tip{text-align:center;color:var(--muted);margin-bottom:24px}.on-green{color:var(--bile);font-weight:600}.on-story{display:grid;gap:48px}.on-chapter{border:1px solid var(--line);background:#0c0907b3}.on-chapter-img{display:block;width:100%;max-height:420px;object-fit:cover}.on-chapter-head{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;padding:20px 24px 8px}.on-chapter-head h3{font:400 34px/1.1 var(--font-title);color:var(--bone);flex:1;min-width:180px}.on-chapter-head .chapter-num{width:100%}.on-listen{display:inline-flex;align-items:center;gap:8px;font-size:15px;padding:10px 18px}.on-listen.playing{border-color:var(--bile);color:#d9f0c0}.on-lines{display:grid;gap:16px;padding:12px 24px 28px}.on-line{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:start;padding:6px 8px;border-left:3px solid transparent;transition:background .3s,border-color .3s}.on-line.narr{grid-template-columns:1fr}.on-line.now{background:#8fbf5a12;border-left-color:var(--bile)}.on-portrait{width:52px;height:52px;border-radius:50%;border:2px solid;display:grid;place-items:center;background:#0f0b08}.on-line p{font:500 22px/1.5 var(--font-story);color:var(--bone)}.on-line.narr p{font-style:italic;color:#b9ae99}.on-word{font:inherit;background:none;border:0;padding:0;color:var(--bile);cursor:pointer;text-decoration:underline 1px var(--bile-dim);text-underline-offset:5px}.on-word:hover{color:#c6ec9a}.on-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;padding:16px;background:#030202d9;animation:fadeUp .3s both}.on-word-card{position:relative;width:min(420px,100%);padding:24px;text-align:center;background:#0b0806;border:1px solid var(--bile-dim);box-shadow:0 0 60px #8fbf5a2e}.on-word-card img{width:100%;aspect-ratio:1;object-fit:cover}.on-word-en{font:400 40px/1.1 var(--font-title);color:var(--bile);margin-top:16px}.on-word-pt{font:italic 500 26px var(--font-story);color:var(--bone)}.on-close{position:absolute;top:8px;right:8px;z-index:1;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--line-2);background:#060504d9;color:var(--bone);cursor:pointer}.on-video{width:min(960px,100%);display:grid;gap:16px;justify-items:center}.on-video video{width:100%;max-height:75vh;background:#000}.on-game{position:fixed;top:0;right:0;bottom:0;left:0}.on-back-game{position:absolute;left:16px;bottom:16px;z-index:30}.dan-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;font-size:17px;color:var(--muted);cursor:pointer}.dan-row.on{color:var(--bone)}.dan-row input{width:20px;height:20px;accent-color:var(--blood-2)}.dan-row small{width:100%;font-size:13px}@media (max-width: 700px){.on-line p{font-size:19px}.on-line{grid-template-columns:40px 1fr}.on-portrait{width:40px;height:40px}.on-chapter-head,.on-lines{padding-left:14px;padding-right:14px}.on-game .modal{padding:28px 18px}.on-game .modal-title{font-size:40px}.on-game .player-row{grid-template-columns:1fr;gap:4px;text-align:left}.on-game .scoreboard{top:10px;left:10px;gap:6px}.on-game .team{width:170px}.on-game .team-name{font-size:18px}.on-game .team-info{padding:6px 10px}.on-game .team-points{font-size:26px}.on-game .team-score{min-width:48px;padding:0 8px}.on-game .legend{top:10px;right:10px}.on-game .qcard-prompt{font-size:24px}.on-game .cq-text{font-size:18px}.on-game .chooser-canvas{width:70vw;height:36vh}}.on-talk{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;height:100%}.on-page{max-width:1280px}.on-chapter{display:grid;grid-template-columns:1fr minmax(280px,38%);align-items:start}.on-chapter-img{grid-column:2;grid-row:1;position:sticky;top:64px;width:100%;max-height:none;height:auto;object-fit:contain}.on-chapter-text{grid-column:1;grid-row:1;min-width:0}@media (max-width: 800px){.on-chapter{grid-template-columns:1fr}.on-chapter-img{grid-column:1;position:static}.on-chapter-text{grid-row:2}}.on-story-full{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;flex-direction:column;background:var(--bg);padding:0 16px 12px}.on-story-full .on-nav{position:static;margin:0;flex:none}.on-story-full .on-chapter{flex:1;min-height:0;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr)}.on-story-full .on-chapter-text{overflow-y:auto;height:100%}.on-story-full .on-chapter-img{position:static;height:100%;width:auto;max-width:48vw;aspect-ratio:1;object-fit:cover}.on-story-foot{flex:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:12px}.on-story-foot .btn{display:inline-flex;align-items:center;gap:8px;font-size:15px;padding:10px 16px}.on-story-foot .chapter-progress i{cursor:pointer}@media (max-width: 800px){.on-story-full .on-chapter{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.on-story-full .on-chapter-img{height:auto;width:100%;max-width:none;max-height:32vh;aspect-ratio:auto;object-fit:cover}.on-story-full .on-chapter-text{grid-row:2}.on-nav .btn:last-child{margin-left:0}}.on-story-full .on-chapter-text,body.online{scrollbar-width:thin;scrollbar-color:var(--rust) transparent}.on-story-full .on-chapter-text::-webkit-scrollbar,body.online::-webkit-scrollbar{width:6px}.on-story-full .on-chapter-text::-webkit-scrollbar-track,body.online::-webkit-scrollbar-track{background:transparent}.on-story-full .on-chapter-text::-webkit-scrollbar-thumb,body.online::-webkit-scrollbar-thumb{background:var(--rust);border-radius:3px}.on-story-full .on-chapter-text::-webkit-scrollbar-thumb:hover{background:var(--blood-2)}.dan-row input{position:absolute;opacity:0;pointer-events:none}.dan-row>span{padding:8px 18px;border:1px solid var(--line-2);transition:.2s}.dan-row.on>span{border-color:var(--blood-2);box-shadow:0 0 14px #b3261a4d}.dan-row:not(.on)>span{text-decoration:line-through;opacity:.6}.hall{display:grid;gap:8px;text-align:left}.hall .eyebrow{text-align:center}.hall ol{list-style:none;padding:0;display:grid;gap:4px;max-height:32vh;overflow-y:auto}.hall li{display:grid;grid-template-columns:28px 1fr auto;gap:10px;padding:6px 12px;border:1px solid var(--line);font:500 18px var(--font-story);color:var(--text)}.hall li span:first-child{color:var(--muted);font-variant-numeric:lining-nums}.hall li b{color:var(--bone);font-variant-numeric:lining-nums}.hall li.mine{border-color:var(--blood-2);background:#b3261a1f;color:var(--bone)}.hall small{text-align:center;color:var(--muted);font-size:12px}.on-game .modal{max-height:94vh;overflow-y:auto}.on-portrait{overflow:hidden}.on-portrait img{width:100%;height:100%;object-fit:cover}.hall li{grid-template-columns:24px 36px 1fr auto;align-items:center}.hall li img{width:36px;height:36px;border-radius:50%;object-fit:cover;border:1px solid var(--line-2)}.rotate-phone{display:none}@media (orientation: portrait) and (max-width: 700px){.game3d:not(.phase-setup):not(.phase-choose) .rotate-phone{position:absolute;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px;text-align:center;background:var(--bg);color:var(--bone);font:400 30px/1.2 var(--font-title)}.rotate-phone svg{color:var(--blood-2);animation:rotatePhone 2.4s ease-in-out infinite}.on-game .chooser{padding:20px 12px;width:100%}.on-game .chooser-canvas{width:62vw;height:40vh}}@keyframes rotatePhone{0%,30%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}.on-back-game{z-index:70}.modal-title.beaten{color:var(--blood-2);text-shadow:0 0 30px rgba(179,38,26,.5)}.hall em{margin-left:8px;font:700 10px var(--font-ui);letter-spacing:.12em;text-transform:uppercase;font-style:normal}.tag-won{color:var(--bile)}.tag-beaten{color:var(--blood-2)}.modal.hall{text-align:left}.modal.hall .modal-title,.modal.hall small{text-align:center}.modal.hall ol{max-height:none;overflow:visible}.hall-pages{display:flex;align-items:center;justify-content:center;gap:14px;color:var(--muted);font-size:14px;letter-spacing:.08em;text-transform:uppercase}.hall-who{display:flex;flex-direction:column;min-width:0}.hall-who small{font:500 11px var(--font-ui);color:var(--muted);letter-spacing:.02em;text-align:left!important}.hall-who{flex-direction:row;flex-wrap:nowrap;align-items:baseline;gap:10px}.hall-who>span{white-space:nowrap}.hall-who small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}@media (max-width: 700px){.on-game .modal{width:calc(100vw - 32px)}.on-game .player-row{display:flex;flex-direction:column;align-items:stretch;gap:6px}.on-game .player-role{text-align:left}.on-game .team-input{width:100%;min-width:0}.on-game .modal-title{font-size:36px}.on-game .phase-setup .scoreboard,.on-game .phase-setup .legend,.on-game .phase-choose .scoreboard,.on-game .phase-choose .legend{display:none}.on-game .phase-setup~.on-back-game,.on-game .phase-choose~.on-back-game{bottom:12px}}@media (max-width: 700px){.on-game .chooser{width:calc(100vw - 48px);padding:16px 8px 20px}.on-game .chooser-team{font-size:26px}.on-game .chooser-sub{font-size:18px}.on-game .chooser-stage{margin-top:0}.on-game .chooser-canvas{width:54vw;height:30vh}.on-game .chooser-arrow{padding:4px}.on-game .chooser-name{font-size:28px}.on-game .chooser-dots{margin:6px 0 14px}.on-game .chooser .btn.big{font-size:16px;padding:12px 28px}}@media (max-height: 600px){.on-game .scoreboard{top:8px;left:8px;gap:4px}.on-game .team{width:150px;border-left-width:3px}.on-game .team.on{transform:translate(6px)}.on-game .team-info{padding:4px 8px;gap:0}.on-game .team-tag{font-size:8px;letter-spacing:.15em}.on-game .team-name{font-size:15px}.on-game .team-score{min-width:40px;padding:0 6px}.on-game .team-points{font-size:20px}.on-game .team-pts-label{font-size:7px;letter-spacing:.1em}.on-game .legend{top:8px;right:8px}.on-game .legend-toggle{padding:6px 10px;font-size:10px}.on-game .legend-body{font-size:11px;max-height:70vh;overflow-y:auto}.on-game .on-back-game{left:8px;bottom:8px;padding:6px 10px;font-size:12px}.on-game .dice-stage{grid-template-rows:64px 170px}.on-game .dice-turn-team{font-size:30px}.on-game .dice-turn-hint{font-size:10px;letter-spacing:.2em}.on-game .dice-slot{width:200px;height:170px}.on-game .dice-number{font-size:110px}.on-game .modal{width:min(560px,92vw);max-height:94vh;overflow-y:auto;padding:18px 20px;gap:10px}.on-game .modal-title{font-size:30px}.on-game .qcard-prompt{font-size:20px}.on-game .cq-opt{padding:8px 12px;gap:10px}.on-game .cq-text{font-size:17px}.on-game .qcard-verdict p{font-size:22px}.on-game .notice{min-width:0;width:min(480px,90vw);padding:16px 20px;gap:14px}.on-game .trophy{width:44px;height:44px}.on-game .ranking{font-size:20px}.on-game .chooser{padding:10px 16px 14px}.on-game .chooser-canvas{height:46vh;width:40vw}.on-game .chooser-team{font-size:24px}.on-game .chooser-name{font-size:22px}.on-game .chooser-dots{margin:4px 0 8px}}@media (max-height: 600px){.on-game .qcard{gap:8px;padding:14px 18px}.on-game .card-cat{font-size:11px}.on-game .cq-options{gap:6px}.on-game .cq-opt{padding:6px 12px;gap:10px}.on-game .cq-text{font-size:16px}.on-game .qcard-prompt{font-size:19px}.on-game .cq-letter{font-size:20px;width:20px}.on-game .cq-opt svg{width:20px;height:20px}.on-game .qcard-verdict{gap:12px;padding-top:2px}.on-game .qcard-verdict .btn{padding:8px 16px;font-size:14px}}.on-music{position:fixed;right:16px;bottom:16px;z-index:70;display:grid;place-items:center}@media (max-height: 600px){.on-music{right:8px;bottom:8px;padding:6px}}@media (max-width: 700px){.on-story-full{padding:0 10px 8px}.on-story-full .on-nav{flex-wrap:nowrap;gap:6px;padding:8px 0}.on-story-full .on-nav .btn{flex:1;justify-content:center;padding:8px 6px;font-size:12px;letter-spacing:.08em}.on-story-full .on-nav .btn:last-child{flex:1.3}.on-story-full .on-nav .on-lbl{display:none}.on-chapter-head{padding:12px 12px 4px;gap:2px 10px}.on-chapter-head h3{font-size:24px;min-width:0}.on-listen{padding:8px 12px;font-size:12px;flex:none}.on-chapter-text{position:relative}.on-story-foot{gap:6px;padding-top:8px}.on-story-foot .btn{padding:8px 12px}.on-story-foot .on-lbl{display:none}.on-story-foot .chapter-progress{flex:1;min-width:0;gap:4px}.on-story-foot .chapter-progress i{flex:1;width:auto;height:3px}}.on-bg{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.5}.on-bg-shade{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(ellipse at center,#06050459,#060504d9)}body.online{background:var(--bg)}.on-page{position:relative;z-index:0}.on-card{background-color:#0b0806bf}.on-card{min-height:400px;background-position:center 15%}.on-sub{font:700 13px var(--font-ui)!important;font-style:normal!important;letter-spacing:.4em;text-transform:uppercase;color:var(--blood-2)!important}.on-cta{margin-top:32px;display:flex;align-items:center;gap:32px;padding:32px;background:#0b0806d1;border:1px solid var(--line-2);box-shadow:0 30px 80px #0009}.on-cta img{width:150px;flex:none}.on-cta h2{font:400 clamp(28px,4vw,42px)/1.1 var(--font-title);color:var(--bone)}.on-cta p{font:500 20px/1.45 var(--font-story);color:var(--text);margin:10px 0 20px;max-width:640px}.on-whats{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--bone);background:#1f7a3c;border-color:#2ea85a}.on-whats:hover:not(:disabled){background:#25904a;box-shadow:0 0 30px #2ea85a59}@media (max-width: 700px){.on-cta{flex-direction:column;text-align:center;padding:24px 18px;gap:16px}.on-cta img{width:110px}.on-cta p{font-size:18px}.on-whats{font-size:16px;padding:14px 22px}}.on-cta-text{flex:1;min-width:0}.on-cta p{margin-bottom:0}.on-whats{flex:none}@media (min-width: 701px){body.online:has(.on-home){overflow:hidden}.on-home{height:100vh;display:flex;flex-direction:column;padding-top:16px;padding-bottom:16px}.on-home .on-head{margin-bottom:16px;gap:4px;flex:none}.on-home .on-head h1{font-size:clamp(40px,8vh,88px)}.on-home .on-logo{width:52px}.on-home .on-cards{flex:1;min-height:0;grid-template-rows:minmax(0,1fr)}.on-home .on-card{min-height:0;height:100%}.on-home .on-cta{flex:none;margin-top:16px;padding:18px 24px;gap:24px}.on-home .on-cta img{width:96px}.on-home .on-cta h2{font-size:clamp(22px,3vw,32px)}.on-home .on-cta p{font-size:17px;margin-top:6px}}
