:root{--ink:#1d2433;--muted:#5b6475;--bg:#e9edf5;--card:#fff;--line:#d8deea;--brand:#0b7285;--brand-ink:#fff;--danger:#c92a2a;--ok:#2b8a3e;--warn:#e67700;color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,Noto Sans TC,PingFang TC,Microsoft JhengHei,sans-serif;font-size:16px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline-offset:2px;outline:3px solid #1971c2}.sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}h1{margin:0 0 .5rem;font-size:1.6rem}h2{font-size:1.2rem}h3,h4{margin:1rem 0 .3rem}a{color:#1864ab}.stage{background:radial-gradient(circle at 20% 10%, #f6f8fd, var(--bg));justify-content:center;align-items:center;gap:48px;min-height:100%;padding:24px;display:flex}.side{max-width:260px}.side h2{margin:0 0 .4rem;font-size:1.8rem}.sim-note{background:#fff3bf;border:1px solid #f2c94c;border-radius:10px;padding:.5rem .75rem;font-weight:600;display:inline-block}.phone-wrap{display:flex}.phone{background:#fff;border:10px solid #1d2433;border-radius:38px;flex-direction:column;width:390px;height:844px;max-height:calc(100vh - 32px);display:flex;position:relative;overflow:hidden;box-shadow:0 20px 50px #141e3c40}@media (width<=760px){.stage{background:#fff;gap:0;height:100dvh;min-height:0;padding:0;display:block}.stage.wide{height:auto;min-height:100%}.side{display:none}.phone-wrap{height:100%;display:block}.phone{width:100%;height:100%;max-height:none;box-shadow:none;border:0;border-radius:0}}.statusbar{background:#f1f3f9;flex:none;justify-content:space-between;align-items:center;padding:8px 18px 6px;font-size:.95rem;font-weight:700;display:flex}.sim-pill{color:#1d1200;letter-spacing:.05em;background:#f08c00;border-radius:999px;padding:1px 10px;font-size:.8rem}.battery{border:2px solid var(--ink);border-radius:4px;width:26px;height:13px;display:inline-block;position:relative}.battery i{background:var(--ok);border-radius:1px;position:absolute;inset:1px}.conn{color:#7a1d1d;text-align:center;background:#ffe3e3;flex:none;padding:3px;font-size:.9rem}.screen{flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.navbar{border-top:1px solid var(--line);background:#f8f9fc;flex:none;justify-content:space-between;align-items:center;padding:6px 12px;display:flex}.nav-btn{cursor:pointer;background:0 0;border:0;border-radius:10px;min-height:44px;padding:8px 12px;font-weight:600}.nav-btn.end{color:var(--danger);background:#fff5f5;border:1px solid #f1b0b0}.nav-btn:hover{background:#eef1f8}.start{background:linear-gradient(#f4f7ff,#fff);flex-direction:column;flex:1;min-height:0;display:flex}.sim-strip{color:#4a3500;text-align:center;background:#fff3bf;flex:none;padding:8px 10px;font-size:.85rem;font-weight:700}.start-body{flex-direction:column;flex:1;gap:14px;padding:26px 22px;display:flex;overflow-y:auto}.start-body ol{flex-direction:column;gap:10px;margin:0;padding-left:1.2rem;display:flex}.tagline{color:var(--brand);margin:0;font-weight:700}.story{font-size:1.1rem;line-height:1.6}.lang-row{gap:10px;display:flex}.lang-row .btn{flex:1}.help-body ul{flex-direction:column;gap:8px;padding-left:1.2rem;display:flex}.btn{cursor:pointer;background:#fff;border:1px solid #b8c1d6;border-radius:12px;min-height:44px;padding:10px 16px;font-weight:600}.btn:hover:not(:disabled){background:#eef2fa}.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.btn.primary:hover:not(:disabled){background:#095c6b}.btn.big{padding:14px 18px;font-size:1.05rem}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.action{background:#e7f5ff;border-color:#74c0fc;margin-top:6px}.link{color:#1864ab;cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:8px;text-decoration:underline}.btn-row{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.btn-row .btn{flex:1}.btn-col{flex-direction:column;gap:10px;margin-top:12px;display:flex}.icon-btn{cursor:pointer;background:0 0;border:0;border-radius:50%;width:44px;height:44px;font-size:1.6rem;line-height:1}.icon-btn:hover{background:#eef1f8}.home{background:linear-gradient(160deg,#dbe4ff,#e3fafc);flex:1;padding:28px 18px;overflow-y:auto}.icons{grid-template-columns:repeat(3,1fr);gap:22px 8px;margin-top:70px;display:grid}.app-icon{cursor:pointer;background:0 0;border:0;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:6px;display:flex}.app-icon:hover{background:#ffffff80}.icon-wrap{display:inline-flex;position:relative}.icon-label{font-size:.9375rem;font-weight:600}.badge{background:var(--danger);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:.8rem;font-weight:700;display:inline-flex}.icon-wrap .badge{position:absolute;top:-6px;right:-8px}.banners{z-index:30;pointer-events:none;flex-direction:column;gap:6px;display:flex;position:absolute;top:40px;left:8px;right:8px}.banner{pointer-events:auto;text-align:left;border:1px solid var(--line);cursor:pointer;background:#fffffff7;border-radius:16px;align-items:center;gap:10px;padding:9px 11px;animation:.35s ease-out slidein;display:flex;box-shadow:0 8px 22px #141e3c40}.banner svg{flex:none;width:36px;height:36px}.banner-text{flex-direction:column;min-width:0;display:flex}.banner-text span{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.9375rem;display:-webkit-box;overflow:hidden}@keyframes slidein{0%{opacity:0;transform:translateY(-120%)}to{opacity:1;transform:none}}.app-shell,.thread{flex-direction:column;flex:1;min-height:0;display:flex}.thread-head{border-bottom:1px solid var(--line);background:#fff;flex:none;align-items:center;gap:4px;padding:6px 8px;display:flex;position:relative}.thread-title{flex-direction:column;flex:1;min-width:0;display:flex}.thread-title .sub,.sub{color:var(--muted);font-size:.9rem}.app-body{flex:1;padding:8px 12px 16px;overflow-y:auto}.empty{color:var(--muted);text-align:center;margin-top:40px}.list-row{text-align:left;border:0;border-bottom:1px solid var(--line);cursor:pointer;background:#fff;align-items:center;gap:12px;width:100%;min-height:56px;padding:12px 6px;display:flex}.list-row:hover{background:#f4f7fd}.avatar{color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:42px;height:42px;font-weight:700;display:inline-flex}.row-text{flex-direction:column;flex:1;min-width:0;display:flex}.preview{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.9375rem;overflow:hidden}.row-time{color:var(--muted);font-size:.85rem}.stx-home{font-size:1.1rem;font-weight:700}.stx-note{background:#f3f0ff;border-radius:12px;flex-direction:column;gap:4px;margin:6px 0;padding:10px 12px;display:flex}.sources{flex-direction:column;gap:8px;padding-left:1.1rem;display:flex}.menu{z-index:20;border:1px solid var(--line);background:#fff;border-radius:12px;padding:4px;position:absolute;top:52px;right:10px;box-shadow:0 10px 26px #141e3c38}.menu-item{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;width:100%;min-height:44px;padding:10px 14px;font-weight:600}.menu-item.danger{color:var(--danger)}.menu-item:hover:not(:disabled){background:#fff5f5}.msgs{background:#f4f6fb;flex-direction:column;flex:1;gap:8px;padding:12px;display:flex;overflow-y:auto}.row{display:flex}.row.mine{justify-content:flex-end}.bubble{border:1px solid var(--line);overflow-wrap:anywhere;background:#fff;border-radius:16px 16px 16px 4px;max-width:82%;padding:8px 12px}.bubble.mine{background:#d0ebff;border-color:#a5d8ff;border-radius:16px 16px 4px}.sender{font-size:.9rem;font-weight:700}.time{color:var(--muted);text-align:right;margin-top:2px;font-size:.8rem}.sysline{color:#3b4558;text-align:center;background:#e5e9f2;border-radius:999px;align-self:center;padding:4px 12px;font-size:.9rem}.dots{gap:4px;padding:4px 2px;display:inline-flex}.dots i{background:#868e96;border-radius:50%;width:7px;height:7px;animation:1.2s infinite blink}.dots i:nth-child(2){animation-delay:.2s}.dots i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.composer{border-top:1px solid var(--line);background:#fff;flex:none;align-items:flex-end;gap:8px;padding:8px 10px;display:flex;position:relative}.composer textarea{resize:none;field-sizing:content;border:1px solid #b8c1d6;border-radius:14px;flex:1;min-height:44px;max-height:110px;padding:10px 12px}.composer .count{color:var(--muted);font-size:.75rem;position:absolute;top:-18px;right:86px}.composer.closed{color:var(--muted);justify-content:center;padding:14px}.send{padding:8px 14px}.pay-card{color:#2b2200;background:#fff9db;border:1px solid #f2c94c;border-radius:12px;flex-direction:column;gap:4px;margin-top:6px;padding:10px;display:flex}.pay-label{color:#6b5200;text-transform:uppercase;letter-spacing:.04em;font-size:.85rem;font-weight:700}.pay-amount{color:#2b2200;font-size:1.5rem;font-weight:800}.pay-to{color:#2b2200;font-family:ui-monospace,monospace;font-size:.9rem}.pay-card .btn:disabled{opacity:1;color:#343a40;background:#e9ecef;border-color:#adb5bd}.img-card{background:#fff;border:1px solid #adb5bd;border-radius:12px;margin-top:6px;position:relative;overflow:hidden}.ticket-head{color:#fff;background:#7048e8;padding:6px 10px;font-weight:700}.ticket-body{justify-content:space-between;gap:8px;padding:10px;font-size:.9rem;display:flex}.ticket-act{font-weight:700}.payout{background:#ebfbee;min-height:76px;padding:10px}.payout-head{font-weight:700}.payout-date{color:var(--muted);margin-top:2px;font-size:.9rem}.watermark{color:#c92a2a8c;letter-spacing:.06em;pointer-events:none;text-align:center;white-space:nowrap;justify-content:center;align-items:center;font-size:1.15rem;font-weight:900;display:flex;position:absolute;inset:0;transform:rotate(-24deg)}.mail-body{flex-direction:column;flex:1;gap:10px;padding:14px;display:flex;overflow-y:auto}.mail-meta{grid-template-columns:auto 1fr;gap:4px 10px;margin:0;display:grid}.mail-meta dt{color:var(--muted)}.mail-meta dd{margin:0}.done-box{background:#ebfbee;border:1px solid #8ce99a;border-radius:12px;margin-top:10px;padding:12px;font-weight:600}.note{color:var(--muted);font-size:.95rem}.note.warn{color:#7a3e00;background:#fff4e6;border:1px solid #ffd8a8;border-radius:10px;padding:8px 10px}.modal-back{z-index:50;background:#141e3c8c;align-items:flex-end;display:flex;position:absolute;inset:0}.modal{background:#fff;border-radius:22px 22px 0 0;width:100%;max-height:92%;padding:20px 18px 22px;overflow-y:auto}.modal h2{margin-top:0}.bank-sheet{background:#f1f3f9;border-radius:14px;padding:12px}.bank-q{margin-top:0;font-weight:700}.bank-note{color:var(--muted)}.end-overlay{z-index:60;color:#fff;text-align:center;background:#1d2433e6;justify-content:center;align-items:center;padding:30px;font-size:1.3rem;font-weight:700;animation:.4s fade;display:flex;position:absolute;inset:0}@keyframes fade{0%{opacity:0}to{opacity:1}}.toast{color:#fff;z-index:99;background:#1d2433;border-radius:12px;padding:10px 16px;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.stage.wide{padding:0;display:block}.debrief-page{max-width:780px;margin:0 auto;padding:24px 16px 60px}.summary{background:var(--card);border:1px solid var(--line);text-align:center;border-radius:18px;padding:18px}.banner-end{color:var(--muted);margin-top:0}.badge-big{color:#fff;border-radius:999px;padding:8px 22px;font-size:1.7rem;font-weight:800;display:inline-block}.badge-big.got_hooked{background:var(--danger)}.badge-big.close_call{background:var(--warn)}.badge-big.sharp_suspicious{background:#5f3dc4}.badge-big.scam_proof{background:var(--ok)}.badge-big.lucky_escape{background:#495057}.metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:18px 0 0;display:grid}.metrics div{background:#f4f6fb;border-radius:14px;padding:12px}.metrics dt{color:var(--muted);font-size:.95rem}.metrics dd{margin:4px 0 0;font-size:1.6rem;font-weight:800}.timeline{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px}.axis{color:var(--muted);justify-content:space-between;margin-left:130px;font-size:.85rem;display:flex}.lane-name{text-overflow:ellipsis;white-space:nowrap;flex:none;width:122px;font-size:.9rem;font-weight:600;overflow:hidden}.track{border:1px solid var(--line);background:repeating-linear-gradient(90deg,#eef1f8 0 1px,#0000 1px 25%);border-radius:8px;flex:1;height:28px;position:relative}.marker{font-size:1.05rem;font-weight:800;line-height:22px;position:absolute;top:2px}.marker.flag_caught{color:var(--ok)}.marker.flag_missed,.marker.payment{color:var(--danger)}.legend{color:var(--muted);flex-wrap:wrap;gap:14px;margin:8px 0 0;padding:0;font-size:.9rem;list-style:none;display:flex}.legend .flag_caught{color:var(--ok)}.legend .flag_missed,.legend .payment{color:var(--danger)}.dcard{background:var(--card);border:1px solid var(--line);border-radius:14px;margin:10px 0;overflow:hidden}.dcard-head{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;width:100%;min-height:52px;padding:14px;display:flex}.dcard-head strong{flex:1}.dcard-body{padding:0 16px 16px}.tag{color:#fff;border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:700}.tag.ok{background:var(--ok)}.tag.bad{background:var(--danger)}.flag{border-top:1px dashed var(--line);margin-top:10px;padding-top:10px}.flag-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.status{font-weight:800}.status.caught{color:var(--ok)}.status.missed{color:var(--danger)}blockquote{background:#f4f6fb;border-left:4px solid #adb5bd;border-radius:6px;margin:8px 0;padding:8px 12px}.qno{color:var(--muted);margin-right:6px;font-size:.85rem}.disclaimer{color:var(--muted)}.resources{background:#fff4e6;border:1px solid #ffd8a8;border-radius:14px;padding:4px 16px 12px}.admin{background:var(--card);max-width:640px;min-height:100%;margin:0 auto;padding:24px 16px 60px}.admin-head{justify-content:space-between;align-items:center;display:flex}.admin-form{flex-direction:column;gap:8px;display:flex}.admin-form input,.admin-form select,.admin-form textarea{border:1px solid #b8c1d6;border-radius:10px;min-height:44px;padding:10px}.admin-form fieldset{border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:6px;display:flex}.tabs{gap:6px;margin:14px 0;display:flex}.tabs button{cursor:pointer;background:#fff;border:1px solid #b8c1d6;border-radius:10px;min-height:44px;padding:8px 16px;font-weight:600}.tabs button.active{background:var(--brand);color:#fff;border-color:var(--brand)}.stats{border-collapse:collapse;width:100%}.stats th,.stats td{text-align:left;border-bottom:1px solid var(--line);padding:8px}.admin-msg{font-weight:700}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.choice-group{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;gap:2px;margin:0;padding:6px 10px 8px;display:flex}.choice-group legend{padding:0 6px;font-size:.95rem;font-weight:700}.choice{cursor:pointer;border-radius:10px;align-items:center;gap:10px;min-height:44px;padding:8px 6px;display:flex}.choice.on{background:#e3fafc;font-weight:600}.choice input{width:20px;height:20px;accent-color:var(--brand);flex:none}.choice-note{margin:0}.setting .story{background:#f4f6fb;border-radius:12px;margin:0;padding:10px 12px;font-size:1rem;line-height:1.55}.home{background:linear-gradient(165deg,#c5d3ff 0%,#d0f1f6 52%,#e9fbe7 100%)}.icons{grid-template-columns:repeat(4,1fr);gap:20px 4px;margin-top:36px}.app-icon{min-width:0}.icon-label{text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.875rem;overflow:hidden}.sound-btn{cursor:pointer;background:0 0;border:0;border-radius:50%;min-width:36px;min-height:36px;font-size:1.05rem;line-height:1}.sound-btn:hover{background:#e3e8f4}.statusbar .sound-btn{margin-left:auto;margin-right:6px}.banners{z-index:45}.banner{touch-action:pan-x;align-items:stretch;gap:0;padding:0;animation:.25s ease-out slidein;display:flex;position:relative}.banner-main{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:16px;flex:1;align-items:center;gap:10px;min-width:0;padding:9px 4px 9px 11px;display:flex}.banner-x{cursor:pointer;width:44px;color:var(--muted);background:0 0;border:0;border-radius:16px;flex:none;font-size:1.4rem}.banner-x:hover{background:#eef1f8}.stx-note.munch{background:#e6fcf5}.munch-status{font-size:1.1rem}.list-row.unread strong{font-weight:800}.call-cover{z-index:40;background:#1b2434;flex-direction:column;display:flex;position:absolute;inset:36px 0 0}.call-view{color:#f1f3f9;background:#1b2434;flex-direction:column;flex:1;min-height:0;display:flex}.call-view .thread-head{color:#f1f3f9;background:#243049;border-bottom-color:#34425f}.call-view .sub,.call-view .call-status{color:#c3cbe0}.call-status{font-variant-numeric:tabular-nums;font-weight:700;color:#8ce99a!important}.call-view .icon-btn{color:#f1f3f9}.call-view .icon-btn:hover{background:#34425f}.call-view .msgs{background:#1b2434}.call-view .bubble{color:#f1f3f9;background:#2b3a57;border-color:#3d4e73}.call-view .bubble.mine{background:#1c7ed6;border-color:#339af0}.call-view .time{color:#aeb8d0}.call-view .composer{background:#243049;border-top-color:#34425f}.call-view .composer textarea{color:#f1f3f9;background:#1b2434;border-color:#4b5d84}.call-view .composer.closed{color:#c3cbe0}.call-view .count{color:#aeb8d0}.call-view .dots i{background:#c3cbe0}.hangup{background:var(--danger);color:#fff;cursor:pointer;border:0;border-radius:999px;flex:none;min-height:44px;padding:8px 16px;font-weight:700}.hangup:disabled{opacity:.5;cursor:default}.call-bar{color:#fff;cursor:pointer;font-variant-numeric:tabular-nums;background:#2f9e44;border:0;flex:none;min-height:40px;padding:8px;font-weight:700}.kind-sms .msgs{background:#eef1f8}.kind-sms .bubble{background:#fff;border-radius:16px}.statusbar{gap:8px}.choice-group{background:0 0;border:0;gap:4px;padding:0}.choice-group legend{padding:0 0 6px;font-size:1rem}.choice{border:1px solid var(--line);background:#fff}.choice.on{border-color:#66d9e8}.debrief-page{max-width:1200px;padding:24px 20px 70px}.debrief{font-size:1.0625rem}.debrief h1{font-size:2.2rem}.debrief h2{margin:0 0 .6rem;font-size:1.6rem}.debrief h4{font-size:1.15rem}.top-row{grid-template-columns:1fr;align-items:start;gap:20px;margin-bottom:18px;display:grid}@media (width>=1024px){.top-row{grid-template-columns:minmax(380px,5fr) 7fr}}.summary{text-align:left}.badge-big{padding:10px 28px;font-size:2.2rem}.metrics dt{font-size:1.05rem;line-height:1.25}.metrics dd{margin-top:6px;font-size:2.5rem;line-height:1.15}.metrics .noticed{background:#fff4e6}.knowing{margin:14px 0 0;font-size:1.1rem}.replay{background:var(--card);border:1px solid var(--line);border-radius:18px;min-width:0;padding:16px}.timeline{border:0;padding:0}.timeline-scroll{padding-bottom:6px;overflow-x:auto}.axis{justify-content:flex-start;align-items:flex-end;height:22px;margin-left:0;display:flex}.lane-spacer,.lane-name{flex:none;width:150px}.axis-ticks{flex:1;height:20px;position:relative}.tick{color:var(--muted);white-space:nowrap;font-size:.85rem;position:absolute;bottom:0;transform:translate(-50%)}.lane{align-items:flex-start;gap:0;margin:6px 0;display:flex}.lane-name{align-items:center;gap:8px;min-height:36px;padding-right:8px;font-size:1rem;font-weight:700;display:flex;overflow:hidden}.lane-name>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lane-icon svg{width:28px;height:28px;display:block}.track{border:1px solid var(--line);background:#f6f8fc;border-radius:10px;flex:1;min-height:36px;position:relative}.gridline{background:#e3e8f2;width:1px;position:absolute;top:0;bottom:0}.marker{cursor:pointer;background:#fff;border:2px solid;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:1rem;font-weight:800;line-height:1;display:inline-flex;position:absolute}.marker:hover,.marker:focus-visible{z-index:2;transform:scale(1.15)}.marker.flag_caught,.chip.flag_caught{color:var(--ok)}.marker.flag_noticed,.chip.flag_noticed{color:#e67700}.marker.flag_missed,.chip.flag_missed{color:var(--danger)}.marker.payment,.chip.payment{color:#fff;background:var(--danger);border-color:var(--danger)}.marker.block,.chip.block{color:#343a40}.marker.official,.chip.official{color:#1971c2}.marker.privacy,.chip.privacy{color:#7048e8}.marker.good{color:#f08c00}.legend{color:var(--ink);gap:8px 18px;margin-top:12px;font-size:1rem}.legend li{align-items:center;gap:6px;display:inline-flex}.chip{background:#fff;border:2px solid;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.8rem;font-weight:800;display:inline-flex}.cards-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));align-items:start;gap:16px;display:grid}.dcard{margin:0}.dcard-head{font-size:1.1rem}.dcard-head .lost{color:var(--danger);font-weight:800}.dcard-body{font-size:1.0625rem}.status.noticed_then_paid{color:#e67700}.status{font-size:1.05rem}.cardid{color:var(--muted);font-size:.85rem}.note.info{color:#12435f;background:#e7f5ff;border:1px solid #a5d8ff;border-radius:10px;padding:8px 10px}.hot{outline-offset:2px;background:#fff9db;border-radius:12px;outline:4px solid #fab005;transition:background .3s}.next-big{min-height:64px;padding:18px 28px;font-size:1.4rem}@media (width<=760px){.debrief h1{font-size:1.8rem}.metrics dd{font-size:2rem}}@media (width>=1024px){.top-row{grid-template-columns:minmax(340px,4fr) 8fr}}.metrics{grid-template-columns:repeat(2,1fr)}.metrics>div:first-child{grid-column:1/-1}.metrics dd{overflow-wrap:anywhere;font-size:clamp(2rem,3vw,2.5rem)}@media (width<=480px){.metrics{grid-template-columns:1fr}}.lane-name{font-size:.95rem;line-height:1.2}.lane-name>span:last-child{white-space:normal;overflow-wrap:anywhere;overflow-wrap:break-word;word-break:normal}.lane-spacer,.lane-name{width:150px}.timeline-scroll{padding-right:20px}.timeline-inner{min-width:560px}.admin .check{align-items:center;gap:8px;min-height:44px;display:flex}.btn.danger{color:var(--danger);border-color:#f1b0b0}a.btn{color:var(--ink);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.study-pill{z-index:100;color:#fff;letter-spacing:.03em;background:#5f3dc4;border-radius:999px;padding:4px 12px;font-size:.85rem;font-weight:700;position:fixed;top:10px;right:12px;box-shadow:0 2px 8px #0003}.study-page{justify-content:center;align-items:flex-start;min-height:100%;padding:56px 14px 40px;display:flex}.study-card{background:var(--card);border:1px solid var(--line);border-radius:20px;flex-direction:column;gap:14px;width:100%;max-width:680px;padding:24px 22px;display:flex;box-shadow:0 10px 30px #141e3c14}.study-card h1{margin:0}.consent-text{line-height:1.6}.study-card .check{align-items:center;gap:10px;min-height:44px;font-weight:600;display:flex}.study-card .check input{width:22px;height:22px;accent-color:var(--brand)}.form-error{color:var(--danger);margin:0;font-weight:700}.study-intro{color:var(--muted);margin:0}.pdots{gap:8px;display:flex}.pdot{background:#d8deea;border-radius:50%;width:12px;height:12px}.pdot.done{background:var(--brand)}.pdot.now{background:#f08c00;transform:scale(1.25)}.quiz-item{margin:0;padding:14px 16px;font-size:1.15rem;line-height:1.55}.quiz-fs{border:0;flex-direction:column;gap:6px;margin:0;padding:0;display:flex}.quiz-fs legend{padding:0 0 6px;font-weight:700}.study-label{font-weight:600}.study-input{border:1px solid #b8c1d6;border-radius:12px;width:100%;min-height:44px;padding:10px 12px}.conf-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.conf-end{color:var(--muted);font-size:.9rem}.conf{cursor:pointer;background:#fff;border:1px solid #b8c1d6;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;font-weight:700;display:inline-flex;position:relative}.conf input{opacity:0;cursor:pointer;position:absolute;inset:0}.conf.on{background:var(--brand);color:#fff;border-color:var(--brand)}.conf:focus-within{outline-offset:2px;outline:3px solid #1971c2}.sus-list{flex-direction:column;gap:16px;margin:0;padding-left:1.3rem;display:flex}.sus-q{margin:0 0 2px;font-weight:600}.sus-zh{color:var(--muted);margin:0 0 6px;font-size:.9rem}.participant-code{font-size:1.3rem;font-weight:600;line-height:1.5}.participant-code.thanks{text-align:center;padding:30px 0}.open-q{flex-direction:column;gap:6px;display:flex}.debrief .dcard-body p,.debrief .note,.debrief blockquote,.debrief li,.debrief .src{font-size:1.0625rem}.banners.over-call{top:140px}.banners.in-call .banner{border-radius:12px}.banners.in-call .banner-main{gap:8px;padding:4px 4px 4px 9px}.banners.in-call .banner svg{width:22px;height:22px}.banners.in-call .banner-text{white-space:nowrap;flex-direction:row;align-items:baseline;gap:6px;overflow:hidden}.banners.in-call .banner-text strong{flex:none;font-size:.8125rem}.banners.in-call .banner-text span{text-overflow:ellipsis;-webkit-line-clamp:unset;font-size:.8125rem;display:block;overflow:hidden}.banners.in-call .banner-x{width:36px;font-size:1.1rem}.class-page{background:radial-gradient(circle at 20% 10%, #f6f8fd, var(--bg));justify-content:center;align-items:flex-start;min-height:100%;padding:18px 12px 40px;display:flex}.class-card{background:var(--card);border:1px solid var(--line);border-radius:20px;flex-direction:column;gap:14px;width:100%;max-width:560px;padding:22px 20px;display:flex;box-shadow:0 10px 30px #141e3c1f}.class-card h1{margin:0}.class-card .story{background:#f1f6ff;border:1px solid #cfe0ff;border-radius:12px;margin:0;padding:12px 14px}.class-card .lang-row{gap:8px;display:flex}.class-banner{color:#0b3b5c;background:#e7f5ff;border:2px solid #339af0;border-radius:14px;margin:0 0 12px;padding:14px 18px;font-size:1.35rem;font-weight:800}.distress{color:#5c2d00;background:#fff4e6;border:2px solid #ffa94d;border-radius:14px;margin-bottom:14px;padding:12px 14px}.distress h2{margin:0 0 6px;font-size:1.15rem}.distress p{margin:0 0 6px}.distress ul{margin:0;padding-left:20px}.present{color:#f1f5ff;background:#0f1b2d;flex-direction:column;gap:22px;min-height:100vh;padding:24px 40px 40px;display:flex}.present h1{margin:0;font-size:2rem}.present .btn{color:#f1f5ff;background:#1b2b45;border-color:#3a5078}.present .btn:hover:not(:disabled){background:#2a4066}.present .btn.primary{background:#1c7ed6;border-color:#339af0}.present .btn.primary:hover:not(:disabled){background:#1971c2}.present .btn.danger{color:#ffc9c9;border-color:#a33}.present .note.warn{margin:0}.pr-head{z-index:30;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;min-height:64px;display:flex;position:relative}.pr-tools{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pr-tools .lang-row{gap:6px;display:flex}.pr-main{grid-template-columns:392px 1fr;align-items:center;gap:40px;display:grid}.pr-join{color:#0f1b2d;text-align:center;background:#fff;border-radius:22px;padding:14px 16px 16px}.pr-join h2{margin:0 0 6px;font-size:1.5rem}.pr-qr{width:360px;height:360px;margin:0 auto;display:block}.pr-url{overflow-wrap:break-word;margin:8px 0 0;font-size:1.2rem;font-weight:700}.pr-right{flex-direction:column;gap:18px;min-width:0;display:flex}.pr-code{letter-spacing:.12em;color:#ffd43b;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(110px,11vw,220px);font-weight:800;line-height:1}.pr-counters{grid-template-columns:repeat(3,1fr);gap:16px;margin:0;display:grid}.pr-counters>div{background:#1b2b45;border-radius:16px;padding:12px 18px}.pr-counters dt{color:#c3d2ee;font-size:1.35rem}.pr-counters dd{margin:0;font-size:clamp(64px,6vw,120px);font-weight:800;line-height:1.05}.pr-results{z-index:20;background:#16243b;padding:18px 40px 28px;position:fixed;inset:104px 0 0;overflow:auto}.pr-results h2{margin:0 0 12px;font-size:1.8rem}.pr-metrics{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.pr-metric{background:#1b2b45;border-radius:16px;padding:10px 16px 14px}.pr-num{color:#ffd43b;font-size:max(96px,5vw);font-weight:800;line-height:1.05}.pr-label{color:#e1e9fb;font-size:1.3rem}.pr-note{color:#c3d2ee;margin:12px 0 0;font-size:1.15rem}.pr-lower{grid-template-columns:1fr 1.4fr;gap:28px;margin-top:14px;display:grid}.pr-lower h3{margin:0 0 6px;font-size:1.4rem}.pr-missed{margin:0;font-size:1.9rem;font-weight:800}.pr-badges{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.pr-badges li{grid-template-columns:190px 1fr 40px;align-items:center;gap:10px;font-size:1.2rem;display:grid}.pr-bar{background:#0f1b2d;border-radius:999px;height:26px;display:block;overflow:hidden}.pr-bar i.badge-big{border-radius:999px;min-width:0;height:100%;padding:0;font-size:0;display:block}.pr-badge-n{text-align:right;font-weight:800}.pr-modal-back{z-index:100;background:#050a14b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pr-modal{color:#0f1b2d;background:#fff;border-radius:18px;max-width:520px;padding:24px 28px;font-size:1.25rem}.pr-modal .btn{color:#0f1b2d;background:#fff}.pr-modal .btn.danger{color:var(--danger)}@media (width<=1100px){.pr-main{grid-template-columns:1fr}.pr-metrics{grid-template-columns:repeat(2,1fr)}.pr-lower{grid-template-columns:1fr}}.admin .row-actions{flex-wrap:wrap;gap:6px;display:flex}.admin .row-actions .btn{align-items:center;text-decoration:none;display:inline-flex}.admin{max-width:900px}.eval-test{border-top:1px solid #d5d9e3;margin-top:16px;padding-top:12px}.eval-test:first-of-type{border-top:0;margin-top:0}
