:root{--bg:#0b0f24;--ink:#f4ecd8;--muted:#b9b0c9;--gold:#e8c46a;--gold-2:#b8923f;--good:#4d94ff;--evil:#ff4d5e;--glass:#100e24c7;--glass-2:#1a1636e6;--line:#e8c46a59;--radius:16px;--serif:"Songti SC", "STSong", "Noto Serif SC", "Source Han Serif SC", serif;--sans:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}a{color:var(--gold)}button{font-family:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.only-touch{display:none}@media (hover:none) and (pointer:coarse){.only-mouse{display:none}.only-touch{display:inline}}.app{position:fixed;inset:0}.stage{position:absolute;inset:0}.grow{flex:1}.good{color:var(--good)}.evil{color:var(--evil)}.hint{color:var(--muted);font-size:13px;line-height:1.6}.btn{border:1px solid var(--line);color:var(--ink);cursor:pointer;white-space:nowrap;background:#ffffff0f;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:10px 18px;font-size:15px;font-weight:600;text-decoration:none;transition:transform .15s,background .2s,box-shadow .2s;display:inline-flex}@media (hover:hover){.btn:hover:not(:disabled){background:#ffffff24;transform:translateY(-1px)}}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary{color:#2a1a05;background:linear-gradient(#f3d27c,#c99a3c);border-color:#f3d27c;box-shadow:0 6px 24px #e8c46a59}@media (hover:hover){.btn.primary:hover:not(:disabled){background:linear-gradient(#ffe08f,#d8a947)}}.btn.ghost{background:0 0}.btn.big{padding:14px 26px;font-size:17px}.row{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.topbar{z-index:60;pointer-events:none;background:linear-gradient(#080816bf,#0000);align-items:center;gap:14px;padding:12px 18px;display:flex;position:absolute;top:0;left:0;right:0}.topbar>*{pointer-events:auto}.tb-home,.tb-brand{color:var(--ink);border:1px solid var(--line);background:#ffffff14;border-radius:999px;padding:6px 12px;font-weight:700;text-decoration:none}.tb-title{font-family:var(--serif);color:var(--gold);font-size:18px;font-weight:900}.tb-toggles{gap:6px;display:flex}.tb-toggles button{color:var(--muted);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:4px;padding:6px 10px;font-size:13px;display:flex}.tb-toggles button.on{color:var(--ink);border-color:var(--line);background:#e8c46a26}.name-tag{white-space:nowrap;color:#fff;-webkit-user-select:none;user-select:none;background:#0c0a1cc7;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:13px;font-weight:700;transition:all .3s;display:flex}.name-tag.dead{opacity:.75;-webkit-text-decoration:line-through #ffffff80;text-decoration:line-through #ffffff80}.name-tag.glow-good{border-color:var(--good);box-shadow:0 0 12px var(--good)}.name-tag.glow-evil{border-color:var(--evil);box-shadow:0 0 12px var(--evil)}.name-tag.glow-focus,.name-tag.glow-pick{border-color:#ffd84a;box-shadow:0 0 12px #ffd84a}.name-tag.glow-you{color:#bfffe0;border-color:#5ef0a0}.name-tag .mark{text-decoration:none}.name-tag .hand{font-size:18px;animation:.35s cubic-bezier(.2,1.4,.4,1) pop}.bubble{color:#2a1d10;background:#fffaf0;border-radius:14px;width:max-content;max-width:230px;padding:9px 13px;font-size:14px;font-weight:600;line-height:1.45;position:relative;box-shadow:0 8px 24px #00000059}.bubble:after{content:"";border:8px solid #0000;border-top-color:#fffaf0;border-bottom:0;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.gesture{white-space:nowrap;border:2px solid var(--gold);color:#fff;background:linear-gradient(#3d2766,#241640);border-radius:14px;padding:10px 18px;font-size:20px;font-weight:800;box-shadow:0 0 30px #e8c46a73}.bubble.popping,.gesture.popping{animation:.4s cubic-bezier(.2,1.4,.4,1) pop}@keyframes pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes slideIn{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:none}}.home{z-index:30;background:radial-gradient(at 20%,#080614d1,#08061433 60%,#0000);flex-direction:column;justify-content:center;padding:80px 6vw 40px;display:flex;position:absolute;inset:0;overflow-y:auto}.home-hero{max-width:560px;animation:.8s rise}.home-kicker{letter-spacing:.2em;color:var(--gold);opacity:.85;font-size:13px}.home h1{font-family:var(--serif);background:linear-gradient(#fff3d0,#e8c46a 60%,#a8782a);color:#0000;text-shadow:0 6px 40px #e8c46a40;-webkit-background-clip:text;background-clip:text;margin:10px 0 4px;font-size:clamp(54px,9vw,96px);line-height:1}.home h1 span{letter-spacing:.3em;color:var(--ink);-webkit-text-fill-color:var(--ink);margin-top:14px;font-size:.36em;display:block}.home-sub{color:var(--muted);font-size:18px;line-height:1.7}.home-sub b{color:var(--ink)}.home-actions{gap:12px;margin:24px 0 18px;display:grid}.home-btn{background:var(--glass);color:var(--ink);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #ffffff1a;border-radius:18px;align-items:center;gap:16px;padding:14px 18px;text-decoration:none;transition:transform .2s,border-color .2s,background .2s;display:flex}@media (hover:hover){.home-btn:hover{border-color:var(--gold);transform:translate(6px)}}.home-btn:active{transform:scale(.98)}.home-btn.main{border-color:var(--gold);background:linear-gradient(135deg,#e8c46a4d,#5a329666);box-shadow:0 10px 40px #e8c46a33}.hb-icon{font-size:34px}.hb-text{flex-direction:column;gap:3px;display:flex}.hb-text b{font-size:19px}.hb-text small{color:var(--muted)}.home-share{color:var(--muted);font-size:14px}.home-share summary{cursor:pointer}.home-share li{margin:6px 0}.home-foot{color:#b9b0c9b3;margin-top:28px;font-size:12px}.start-overlay{z-index:70;cursor:pointer;background:radial-gradient(circle,#0a081a8c,#0a081ae6);place-items:center;display:grid;position:absolute;inset:0}.start-box{text-align:center;padding:20px;animation:.6s rise}.start-icon{font-size:64px;animation:.8s pop}.start-box h1{font-family:var(--serif);color:var(--gold);margin:10px 0;font-size:clamp(28px,5vw,44px)}.start-box p{color:var(--muted)}.tutorial{z-index:40;pointer-events:none;position:absolute;inset:0}.tutorial>*{pointer-events:auto}.chapter-banner{text-shadow:0 4px 30px #000c;flex-direction:column;align-items:center;gap:4px;animation:2.6s forwards banner;display:flex;position:absolute;top:18%;left:50%;transform:translate(-50%);pointer-events:none!important}.cb-num{letter-spacing:.4em;color:var(--gold);font-size:16px}.cb-icon{font-size:56px}.cb-title{font-family:var(--serif);white-space:nowrap;font-size:clamp(34px,6vw,60px);font-weight:900}@keyframes banner{0%{opacity:0;transform:translate(-50%,20px)scale(.9)}15%,75%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-20px)scale(1.04)}}.card-slot{width:min(400px,38vw);animation:.5s slideIn;position:absolute;top:76px;right:24px}.card{background:var(--glass);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:20px 22px;box-shadow:0 20px 60px #00000073}.card h3{font-family:var(--serif);color:var(--gold);margin:0 0 14px;font-size:22px}.hl{animation:1.6s ease-in-out infinite glowPulse}.dim{opacity:.35}@keyframes glowPulse{0%,to{box-shadow:0 0 0 2px #ffd84ab3,0 0 20px #ffd84a59}50%{box-shadow:0 0 0 3px #ffd84a,0 0 34px #ffd84a8c}}.title-card{text-align:center;padding:30px 20px}.title-card h1{font-family:var(--serif);color:var(--gold);margin:0;font-size:48px}.title-card.tone-good h1{color:#8ab8ff}.title-card.tone-evil h1{color:#ff8a95;font-size:36px}.title-card p{color:var(--muted);margin:10px 0 0;font-size:18px}.facts-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.fact{background:#ffffff0f;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;animation:.5s backwards pop;display:flex}.fact span{font-size:30px}.fact b{font-size:19px}.fact small{color:var(--muted)}.card.teams{grid-template-columns:1fr 1fr;gap:12px;display:grid}.team-col{border-radius:12px;padding:12px;transition:opacity .4s}.team-col.good{background:#4d94ff24;border:1px solid #4d94ff80}.team-col.evil{background:#ff4d5e24;border:1px solid #ff4d5e80}.team-col.dim{opacity:.3}.team-head{font-size:18px;font-weight:900}.team-goal{color:var(--muted);margin:4px 0 10px;font-size:13px}.type-row{border-left:3px solid var(--c);background:#0003;border-radius:10px;align-items:flex-start;gap:8px;margin-top:6px;padding:8px;display:flex}.type-row b{color:var(--c);font-size:16px;display:block}.type-row small{color:var(--muted);font-size:12px;line-height:1.45}.type-icon{font-size:22px}.win-row{border-radius:12px;align-items:center;gap:14px;margin-bottom:10px;padding:14px;transition:opacity .4s;display:flex}.win-row.good{background:#4d94ff29}.win-row.evil{background:#ff4d5e29}.win-row .big{white-space:nowrap;font-size:30px}.win-row b{font-size:19px;display:block}.win-row small{color:var(--ink);font-size:16px}.motto{text-align:center;font-family:var(--serif);color:var(--gold);margin-top:6px;font-size:22px;animation:.5s pop}.card.flow{justify-content:space-between;align-items:center;gap:10px;display:flex}.flow-node{text-align:center;border-radius:14px;flex-direction:column;flex:1;align-items:center;gap:4px;padding:16px 10px;display:flex}.flow-node.night{background:#4650b459}.flow-node.day{background:#ffc85a38}.flow-node span{font-size:38px}.flow-node b{font-size:20px}.flow-node small{color:var(--muted);font-size:12px}.flow-arrow{color:var(--gold);font-size:32px}.flow-arrow.spin{animation:1.2s ease-in-out infinite wobble}@keyframes wobble{50%{transform:scale(1.3)}}.g-row{border-radius:10px;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px;transition:opacity .3s;display:grid}.g-cell{background:#ffffff0f;border-radius:10px;align-items:center;gap:8px;padding:10px;font-size:14px;display:flex}.g-cell span{font-size:24px}.g-cell b{color:var(--gold)}.vote-rule .rule{background:#ffffff0f;border-radius:12px;align-items:center;gap:12px;margin-bottom:10px;padding:12px;transition:opacity .3s;display:flex}.vote-rule .num{background:var(--gold);color:#2a1a05;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.vote-rule b{font-size:18px}.formula{color:var(--muted);margin-top:4px;font-size:15px}.formula em{color:#ffd84a;font-size:22px;font-style:normal;font-weight:900}.card.list ol{counter-reset:li;margin:0;padding:0;list-style:none}.card.list li{counter-increment:li;background:#ffffff0f;border-radius:10px;margin-bottom:8px;padding:10px 12px 10px 44px;font-size:17px;transition:opacity .3s;position:relative}.card.list li:before{content:counter(li);background:var(--gold);color:#2a1a05;border-radius:50%;place-items:center;width:22px;height:22px;font-size:13px;font-weight:900;display:grid;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.card.list.tone-good li:before{background:#8ab8ff}.card.setup table,.rb-setup table{border-collapse:collapse;text-align:center;width:100%;font-size:15px}.card.setup th,.card.setup td,.rb-setup th,.rb-setup td{border-bottom:1px solid #ffffff14;padding:6px}.card.setup tr.hl td{background:#ffd84a33;font-weight:900}.card.cta p{color:var(--muted)}.cta-buttons{flex-wrap:wrap;gap:10px;display:flex}.subtitle-wrap{justify-content:center;padding:0 16px;display:flex;position:absolute;bottom:112px;left:0;right:0;pointer-events:none!important}.subtitle{text-align:center;text-shadow:0 2px 6px #0009;background:#060510c7;border:1px solid #ffffff14;border-radius:14px;max-width:min(980px,94vw);padding:14px 24px;font-size:clamp(18px,2.2vw,27px);font-weight:700;line-height:1.55;animation:.4s rise}.subtitle em{color:#ffd84a;font-style:normal}.speaker{vertical-align:middle;color:var(--gold);border:1px solid var(--line);background:#e8c46a2e;border-radius:999px;margin-right:10px;padding:2px 10px;font-size:.6em;display:inline-block}.tutorial.record .subtitle-wrap{bottom:40px}.tutorial.record .subtitle{font-size:clamp(20px,2.5vw,32px)}.controls{background:linear-gradient(#0000,#060510e6);padding:10px 18px 16px;position:absolute;bottom:0;left:0;right:0}.progress{gap:3px;margin-bottom:10px;display:flex}.seg{cursor:pointer;background:#ffffff29;border:0;border-radius:4px;height:7px;padding:0;overflow:hidden}.seg i{background:var(--gold);height:100%;transition:width .4s;display:block}.seg.cur{background:#ffffff4d}@media (hover:hover){.seg:hover{transform:scaleY(1.6)}}.ctrl-row{align-items:center;gap:10px;display:flex}.icon-btn{border:1px solid var(--line);width:42px;height:42px;color:var(--ink);cursor:pointer;background:#ffffff14;border-radius:50%;font-size:17px}.icon-btn.play{background:var(--gold);color:#2a1a05;width:50px;height:50px;font-size:20px}.chapter-btn,.speed-btn{color:var(--ink);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:#ffffff0f;border:1px solid #ffffff24;border-radius:999px;padding:8px 14px;font-size:14px;overflow:hidden}.pct{color:var(--muted);font-size:13px}.chapter-menu{background:var(--glass-2);border:1px solid var(--line);border-radius:14px;gap:2px;max-height:60vh;padding:8px;animation:.25s rise;display:grid;position:absolute;bottom:84px;left:120px;overflow-y:auto}.chapter-menu button{text-align:left;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;gap:10px;padding:8px 14px;font-size:15px;display:flex}.chapter-menu button:hover,.chapter-menu button.cur{background:#e8c46a2e}.ended{background:var(--glass-2);border:1px solid var(--gold);text-align:center;border-radius:20px;padding:28px 32px;animation:.4s pop;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ended h2{font-family:var(--serif);color:var(--gold);margin-top:0}.vote-counter{z-index:55;background:var(--glass-2);border:2px solid var(--line);text-align:center;pointer-events:none;border-radius:16px;min-width:250px;padding:12px 20px;animation:.3s pop;position:absolute;top:70px;left:50%;transform:translate(-50%)}.vote-counter.pass{border-color:#5ef0a0;box-shadow:0 0 30px #5ef0a059}.vc-title{color:var(--muted);font-size:14px}.vc-num span{color:#ffd84a;font-size:46px;font-weight:900;display:inline-block}.vc-num .pop{animation:.3s pop}.vc-num small{color:var(--ink);font-size:16px}.vc-bar{background:#ffffff1f;border-radius:4px;height:8px;overflow:hidden}.vc-bar i{background:linear-gradient(90deg,#ffd84a,#5ef0a0);height:100%;transition:width .3s;display:block}.sim{pointer-events:none;position:absolute;inset:0}.sim>*{pointer-events:auto}.sim-panel{z-index:40;background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px;width:min(480px,100vw - 40px);max-height:calc(100vh - 100px);animation:.4s rise;position:absolute;bottom:20px;left:20px;overflow-y:auto;box-shadow:0 20px 60px #00000080}.sim-status{color:var(--muted);border-bottom:1px solid #ffffff14;flex-wrap:wrap;gap:6px 14px;padding:10px 18px;font-size:13px;display:flex}.sim-status .you-role{color:#bfffe0}.panel-body{padding:16px 20px 18px}.panel-body h2{font-family:var(--serif);color:var(--gold);margin:0 0 10px}.panel-body h2.good{color:#8ab8ff}.panel-body h2.evil{color:#ff8a95}.panel-body h3{margin:0 0 8px;font-size:19px}.panel-body p{margin:8px 0;line-height:1.65}.role-intro{background:#5ef0a01a;border:1px solid #5ef0a059;border-radius:12px;align-items:center;gap:12px;padding:12px;display:flex}.role-intro b{display:block}.role-intro small{color:var(--muted);line-height:1.5}.big-emoji{font-size:40px}.picker{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}.pick{color:var(--ink);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:10px;padding:8px 14px;font-size:15px}.pick.on{background:#ffd84a40;border-color:#ffd84a}.pick.dead{opacity:.6}.pick:disabled{opacity:.25;cursor:not-allowed}.sim-log{z-index:40;background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #ffffff1a;border-radius:16px;flex-direction:column;width:min(360px,100vw - 40px);max-height:58vh;display:flex;position:absolute;top:66px;right:20px;overflow:hidden}.log-head{text-align:left;color:var(--ink);cursor:pointer;background:#ffffff0d;border:0;padding:10px 14px;font-weight:700}.log-body{padding:8px 12px 12px;font-size:13.5px;overflow-y:auto}.log-line{gap:8px;padding:5px 0;line-height:1.5;animation:.3s rise;display:flex}.log-line .who{color:#cfc4ff;flex:none;min-width:40px;font-weight:800}.log-line.st .who{color:var(--gold)}.log-line.me .who{color:#5ef0a0}.log-line.sys{color:var(--gold);border-top:1px dashed #e8c46a4d;justify-content:center;margin-top:4px;padding:8px 0 4px}.modal{z-index:80;background:#00000080;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.modal-box{background:var(--glass-2);border:1px solid var(--line);border-radius:18px;width:min(520px,100%);max-height:86vh;padding:22px 24px;animation:.3s pop;position:relative;overflow-y:auto}.modal-box h3{font-family:var(--serif);color:var(--gold);margin-top:0;font-size:22px}.modal-box h4{margin:16px 0 8px}.close{width:32px;height:32px;color:var(--ink);cursor:pointer;background:#ffffff1a;border:0;border-radius:50%;position:absolute;top:12px;right:12px}.ft-list{padding-left:18px;line-height:1.8}.bar-row{align-items:center;gap:10px;margin:6px 0;display:flex}.bar-name{width:48px;font-weight:700}.bar{background:#ffffff1a;border-radius:7px;flex:1;height:14px;overflow:hidden}.bar i{background:linear-gradient(90deg, #ff8a3d, var(--evil));height:100%;display:block}.bar-pct{text-align:right;width:44px;color:var(--muted)}.reveal{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px;margin:12px 0;display:grid}.rv{text-align:center;border-radius:12px;flex-direction:column;align-items:center;padding:8px;animation:.4s backwards pop;display:flex}.rv.good{background:#4d94ff29;border:1px solid #4d94ff80}.rv.evil{background:#ff4d5e29;border:1px solid #ff4d5e80}.rv span{font-size:26px}.rv small{color:var(--muted);font-size:12px}.review summary{cursor:pointer;font-weight:700}.review ul{padding-left:18px;font-size:13.5px;line-height:1.6}.review li.lie{color:#ffb3ba}.quiz{z-index:40;pointer-events:none;justify-content:center;align-items:flex-end;padding:20px;display:flex;position:absolute;inset:0}.quiz-box{pointer-events:auto;background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;width:min(640px,100%);padding:20px 24px;animation:.4s rise;box-shadow:0 20px 60px #00000080}.quiz-box h2{margin:12px 0;font-size:21px;line-height:1.5}.quiz-progress{color:var(--muted);justify-content:space-between;font-size:14px;display:flex}.qbar{background:#ffffff1a;border-radius:3px;height:6px;margin-top:8px;overflow:hidden}.qbar i{background:var(--gold);height:100%;transition:width .4s;display:block}.options{gap:8px;display:grid}.opt{text-align:left;color:var(--ink);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff24;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;font-size:16px;transition:all .2s;display:flex}.opt:hover{border-color:var(--gold)}.opt.right{background:#5ef0a033;border-color:#5ef0a0}.opt.wrong{border-color:var(--evil);background:#ff4d5e33}.opt-key{background:#ffffff1a;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-weight:900;display:grid}.explain{border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:12px;padding:12px 14px;line-height:1.6;animation:.3s rise;display:flex}.explain.good{background:#5ef0a01f}.explain.bad{background:#ff4d5e1f}.explain .btn{margin-left:auto}.score{color:var(--gold);text-align:center;font-size:64px;font-weight:900}.grade{text-align:center;font-size:22px}.rolebook{z-index:40;pointer-events:none;position:absolute;inset:0}.rb-panel{pointer-events:auto;background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px;width:min(460px,100vw - 40px);padding:16px;position:absolute;top:66px;bottom:20px;right:20px;overflow-y:auto}.tabs{gap:6px;margin-bottom:12px;display:flex}.tabs button{color:var(--muted);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:10px;flex:1;padding:9px;font-weight:700}.tabs button.on{color:var(--ink);border-color:var(--line);background:#e8c46a2e}.rb-detail{background:#00000040;border:2px solid;border-radius:14px;margin-bottom:14px;padding:14px;animation:.3s rise}.rb-head{align-items:center;gap:12px;display:flex}.rb-icon{font-size:46px}.rb-head h2{font-family:var(--serif);margin:0 0 4px;font-size:26px}.tag{color:#fff;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:800;display:inline-block}.en{color:var(--muted);margin-left:8px;font-size:12px}.rb-block h4{color:var(--gold);margin:12px 0 4px;font-size:14px}.rb-block p{margin:0;line-height:1.65}.plain{font-size:17px;font-weight:700}.official{color:var(--muted);font-family:var(--serif)}.rb-group-title{margin:12px 0 6px;font-weight:900}.rb-group-title small{color:var(--muted);margin-top:2px;font-size:12px;font-weight:400;display:block}.rb-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px;display:grid}.rb-item{color:var(--ink);cursor:pointer;text-align:left;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;align-items:center;gap:6px;padding:8px;font-size:13.5px;display:flex}.rb-item span{font-size:18px}.rb-item:hover,.rb-item.on{border-color:var(--c);background:color-mix(in srgb, var(--c) 22%, transparent)}.source{margin-top:14px}.rb-setup p{line-height:1.6}.rb-strip{display:none}.rb-chip{border:1px solid color-mix(in srgb, var(--c) 45%, transparent);color:var(--ink);white-space:nowrap;cursor:pointer;background:#ffffff0d;border-radius:999px;flex:none;align-items:center;gap:4px;padding:6px 11px;font-size:13px;display:flex}.rb-chip.on{border-color:var(--c);background:color-mix(in srgb, var(--c) 38%, transparent);font-weight:800}@media (width<=760px),(height<=500px) and (orientation:landscape){.rb-panel{padding:10px 12px}.rb-panel .tabs{margin-bottom:0}.rb-strip{z-index:2;scrollbar-width:none;background:#14112cf7;gap:6px;margin:0 -12px 8px;padding:8px 12px;display:flex;position:sticky;top:-10px;overflow-x:auto}.rb-strip::-webkit-scrollbar{display:none}.rb-group{display:none}}@media (width<=760px){.topbar{padding:max(8px, env(safe-area-inset-top)) 10px 8px;gap:8px}.tb-home,.tb-brand{padding:6px 11px;font-size:14px}.tb-title{display:none}.tb-toggles{gap:5px}.tb-toggles button{justify-content:center;width:34px;height:34px;padding:0;font-size:15px}.tb-toggles button span{display:none}.home{padding:calc(62px + env(safe-area-inset-top)) 18px calc(20px + env(safe-area-inset-bottom));background:linear-gradient(#0806144d,#080614db 42%);justify-content:flex-start}.home-kicker{letter-spacing:.14em;font-size:12px;line-height:1.7}.home-kicker span{display:block}.home-kicker .kicker-sep{display:none}.home h1{font-size:clamp(46px,15vw,64px)}.home h1 span{margin-top:10px}.home-sub{margin:12px 0 0;font-size:15px}.home-actions{gap:10px;margin:18px 0 14px}.home-btn{border-radius:16px;gap:12px;padding:12px 14px}.hb-icon{font-size:28px}.hb-text b{font-size:17px}.hb-text small{font-size:12.5px}.home-share li{word-break:break-all}.home-foot{margin-top:20px}.start-icon{font-size:52px}.start-box p{font-size:14px}.chapter-banner{text-align:center;width:92vw;top:20%}.cb-num{font-size:14px}.cb-icon{font-size:44px}.cb-title{white-space:normal;font-size:clamp(28px,9vw,40px)}.card-slot{top:calc(52px + env(safe-area-inset-top));width:auto;left:8px;right:8px}.card-slot>*{zoom:.86}.card{padding:14px 16px}.card h3{margin-bottom:10px;font-size:19px}.card.teams{gap:8px}.type-row small{display:none}.team-col{padding:8px}.title-card{padding:18px 14px}.title-card h1{font-size:36px}.title-card p{font-size:16px}.card.list li{padding:8px 10px 8px 40px;font-size:15.5px}.g-row{gap:6px;margin-bottom:6px}.g-cell{gap:6px;padding:7px 8px;font-size:13px}.g-cell span{font-size:20px}.facts-grid{gap:8px}.fact{flex-flow:wrap;justify-content:center;gap:2px 6px;padding:10px 6px}.fact span{font-size:22px}.fact b{font-size:17px}.fact small{text-align:center;flex-basis:100%}.flow-node{padding:12px 6px}.flow-node span{font-size:32px}.subtitle-wrap{bottom:calc(96px + env(safe-area-inset-bottom));padding:0 8px}.subtitle{border-radius:12px;max-width:100%;padding:10px 14px;font-size:16.5px;line-height:1.5}.speaker{margin-right:6px;padding:1px 8px;font-size:11px}.tutorial.record .subtitle-wrap{bottom:calc(24px + env(safe-area-inset-bottom))}.tutorial.record .subtitle{font-size:18px}.controls{padding:8px 10px calc(10px + env(safe-area-inset-bottom))}.progress{gap:2px;margin-bottom:8px}.ctrl-row{gap:8px}.ctrl-row .grow,.pct{display:none}.icon-btn{flex:none;width:40px;height:40px;font-size:15px}.icon-btn.play{width:46px;height:46px;font-size:18px}.chapter-btn{flex:1;min-width:0;padding:9px 12px;font-size:13.5px}.speed-btn{flex:none;padding:9px 10px;font-size:13px}.chapter-menu{left:8px;right:8px;bottom:calc(74px + env(safe-area-inset-bottom));max-height:56dvh}.ended{width:calc(100vw - 32px);padding:22px 18px}.ended .cta-buttons{justify-content:center}.vote-counter{top:calc(52px + env(safe-area-inset-top));border-radius:14px;min-width:0;padding:6px 16px 8px}.sim .vote-counter{top:calc(100px + env(safe-area-inset-top))}.vc-title{font-size:12px}.vc-num span{font-size:30px}.vc-num small{font-size:13px}.vc-bar{height:6px}.sim-panel{left:6px;right:6px;bottom:calc(6px + env(safe-area-inset-bottom));border-radius:16px;width:auto;max-height:50dvh}.sim-status{gap:2px 10px;padding:8px 14px;font-size:12px}.panel-body{padding:12px 14px}.panel-body h2{margin-bottom:6px;font-size:20px}.panel-body h3{margin-bottom:4px;font-size:16.5px}.panel-body p{margin:6px 0;font-size:14px;line-height:1.55}.panel-body .hint{font-size:12px}.role-intro{gap:10px;padding:8px 10px}.role-intro small{font-size:12.5px}.big-emoji{font-size:32px}.picker{gap:6px;margin:8px 0}.pick{padding:7px 12px;font-size:14px}.panel-body .row{z-index:1;background:linear-gradient(#14112c00,#14112cf7 28%);gap:8px;margin:8px -14px -12px;padding:10px 14px 12px;position:sticky;bottom:0}.panel-body .row .btn{flex:auto}.panel-body .btn.big{padding:12px 18px;font-size:16px}.sim-log{top:calc(50px + env(safe-area-inset-top));border-radius:12px;width:auto;max-height:24dvh;left:6px;right:6px}.log-head{padding:8px 12px;font-size:13.5px}.log-body{font-size:12.5px}.modal{padding:10px}.modal-box{max-height:88dvh;padding:18px 16px}.reveal{grid-template-columns:repeat(auto-fill,minmax(98px,1fr))}.quiz{padding:6px 6px calc(6px + env(safe-area-inset-bottom))}.quiz-box{border-radius:16px;padding:12px 14px}.quiz-box h2{margin:10px 0 8px;font-size:16.5px}.opt{gap:10px;padding:10px 12px;font-size:15px}.opt-key{width:24px;height:24px;font-size:13px}.opt.dim{display:none}.explain{margin-top:8px;padding:10px 12px;font-size:14px}.explain .btn{flex:1 0 100%;margin-left:0}.score{font-size:52px}.rb-panel{top:auto;left:6px;right:6px;bottom:calc(6px + env(safe-area-inset-bottom));border-radius:16px;width:auto;height:54dvh}.tabs button{padding:7px;font-size:13.5px}.rb-setup{margin-top:10px}.rb-detail{margin-bottom:8px;padding:12px}.rb-icon{font-size:38px}.rb-head h2{font-size:22px}.rb-block h4{margin:10px 0 3px;font-size:13px}.rb-block p{font-size:14px}.plain{font-size:15.5px}.card.setup table,.rb-setup table{font-size:13.5px}}@media (width<=760px) and (height<=620px){.card-slot>*{zoom:.76}.subtitle-wrap{bottom:calc(88px + env(safe-area-inset-bottom))}.subtitle{padding:8px 12px;font-size:15px}.icon-btn{width:36px;height:36px}.icon-btn.play{width:42px;height:42px}.chapter-menu{bottom:calc(68px + env(safe-area-inset-bottom))}.home h1{font-size:44px}.home-btn{padding:10px 12px}.sim-panel,.rb-panel{max-height:54dvh}.rb-panel{height:54dvh}}@media (width<=360px){.speed-btn{display:none}}@media (height<=500px) and (orientation:landscape){.topbar{padding:6px max(12px, env(safe-area-inset-right)) 6px max(12px, env(safe-area-inset-left))}.tb-toggles button span{display:none}.home{padding:56px max(24px, env(safe-area-inset-left)) 16px;justify-content:flex-start}.home-hero{max-width:640px}.home h1{font-size:44px}.home-sub{font-size:15px}.home-actions{grid-template-columns:1fr 1fr;gap:8px;margin:14px 0 10px}.home-btn{padding:10px 12px}.hb-icon{font-size:26px}.hb-text b{font-size:16px}.hb-text small{font-size:12px}.start-icon{font-size:40px}.chapter-banner{top:14%}.cb-icon{font-size:36px}.cb-title{font-size:32px}.card-slot{top:48px;right:max(12px, env(safe-area-inset-right));scrollbar-width:none;width:min(360px,42vw);max-height:calc(100dvh - 124px);overflow-y:auto}.card-slot>*{zoom:.78}.subtitle-wrap{bottom:70px}.tutorial:has(.card-slot) .subtitle-wrap{right:calc(min(360px,42vw) + 12px)}.subtitle{padding:8px 14px;font-size:15.5px;line-height:1.45}.tutorial.record .subtitle-wrap{bottom:16px}.tutorial.record .subtitle{font-size:17px}.controls{padding:4px max(12px, env(safe-area-inset-right)) 8px max(12px, env(safe-area-inset-left))}.progress{margin-bottom:6px}.icon-btn{width:36px;height:36px;font-size:14px}.icon-btn.play{width:42px;height:42px;font-size:17px}.chapter-btn,.speed-btn{padding:7px 12px;font-size:13px}.chapter-menu{max-height:calc(100dvh - 120px);bottom:64px}.vote-counter{padding:4px 14px 6px;top:46px}.vc-num span{font-size:28px}.sim-panel{left:max(8px, env(safe-area-inset-left));width:min(400px,46vw);max-height:calc(100dvh - 60px);bottom:8px}.panel-body{padding:12px 14px}.panel-body p{margin:6px 0;font-size:14px}.sim-log{top:48px;right:max(8px, env(safe-area-inset-right));width:min(320px,38vw);max-height:calc(100dvh - 60px)}.quiz{padding:8px max(8px, env(safe-area-inset-right)) 8px 8px;justify-content:flex-end;align-items:flex-end}.quiz-box{width:min(440px,56vw);max-height:calc(100dvh - 60px);padding:12px 16px;overflow-y:auto}.quiz-box h2{margin:8px 0;font-size:16px}.opt{padding:8px 12px;font-size:14.5px}.opt.dim{display:none}.rb-panel{top:48px;bottom:8px;right:max(8px, env(safe-area-inset-right));width:min(400px,50vw)}.modal-box{max-height:calc(100dvh - 24px)}}
