@font-face{font-family:Taipei Sans TC Beta;src:url(/fonts/TaipeiSansTCBeta-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Taipei Sans TC Beta;src:url(/fonts/TaipeiSansTCBeta-Bold.woff2) format("woff2");font-weight:700;font-display:swap}:root{--yellow: #F9B91B;--black: #1C1B1B;--bg: #F6F4EE;--surface: #FFFFFF;--text: #1C1B1B;--text2: #5B5750;--line: #D9D4C7;--good: #1F7A4D;--bad: #B3261E;--opt-0: #D7372F;--opt-1: #1F6FD1;--opt-2: #F9B91B;--opt-3: #1F8A56;--font-tc: "Taipei Sans TC Beta", "PingFang TC", "Microsoft JhengHei", sans-serif;--font-display: "Archivo Black", var(--font-tc);--font-mono: "DM Mono", ui-monospace, monospace;--ease: cubic-bezier(.22, 1, .36, 1)}:root[data-page=screen]{--bg: #141313;--surface: #232121;--text: #F5F2EA;--text2: #B5AFA3;--line: #3A3735;--good: #4CC38A;--bad: #FF6B61}@media(prefers-color-scheme:dark){:root{--bg: #141313;--surface: #232121;--text: #F5F2EA;--text2: #B5AFA3;--line: #3A3735;--good: #4CC38A;--bad: #FF6B61}}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font-tc);font-size:16px;line-height:1.6;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,p{margin:0}button,input,select,textarea{font:inherit;color:inherit}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.muted{color:var(--text2)}.small{font-size:14px}.r{text-align:right}.pad{padding:24px}.display{font-family:var(--font-display);font-weight:700;font-synthesis:none;line-height:1.15;letter-spacing:.01em}.eyebrow{font-size:.5em;letter-spacing:.2em;color:var(--yellow);font-weight:700}.logo-mark{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:6px;background:var(--yellow);color:var(--black);font-weight:700;flex:none}.hazard{height:10px;background:repeating-linear-gradient(45deg,var(--yellow) 0 14px,var(--black) 14px 28px)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 16px;border:1.5px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);text-decoration:none;cursor:pointer;transition:transform .12s var(--ease),background .12s}.btn:hover:not(:disabled){border-color:var(--text)}.btn:active:not(:disabled){transform:scale(.98)}.btn:focus-visible,.opt:focus-visible,.input:focus-visible,.tabs button:focus-visible{outline:3px solid var(--opt-1);outline-offset:2px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--yellow);border-color:var(--yellow);color:var(--black);font-weight:700}.btn.big{min-height:60px;font-size:18px;width:100%}.btn.sm{min-height:36px;padding:4px 10px;font-size:14px}.input{width:100%;min-height:44px;padding:8px 12px;border:1.5px solid var(--line);border-radius:8px;background:var(--surface)}.input.sm{min-height:36px;padding:4px 8px;width:auto}.tag{display:inline-block;padding:2px 10px;border-radius:999px;font-size:14px;font-weight:700;border:1.5px solid currentColor}.tag.ok{color:var(--good)}.tag.multi{color:var(--text);background:var(--yellow);border-color:var(--yellow);color:var(--black)}.tag.warn{color:var(--bad);margin-left:8px}.err{color:var(--bad);font-weight:700}.center-page{min-height:100dvh;display:grid;place-items:center;padding:16px}.card{width:100%;max-width:420px;display:grid;gap:16px;padding:28px 24px;background:var(--surface);border:1.5px solid var(--line);border-radius:12px;text-align:center}.card h1{font-size:22px}.play{max-width:560px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column}.play-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1.5px solid var(--line)}.who{font-weight:700;display:flex;align-items:baseline;gap:8px;min-width:0}.who small{font-weight:400;color:var(--text2)}.play-body{flex:1;display:flex;flex-direction:column;gap:16px;padding:20px 16px calc(24px + env(safe-area-inset-bottom))}.play-body h1{font-size:28px;line-height:1.3}.team-line{font-size:20px;font-weight:700;color:var(--text2)}.conn{position:sticky;top:0;z-index:5}.conn.off{background:var(--bad);color:#fff;text-align:center;padding:6px;font-weight:700;font-size:14px}.q-head{display:flex;align-items:center;gap:10px;color:var(--text2);font-size:14px}.timer{margin-left:auto;font-family:var(--font-mono);font-size:28px;font-weight:500;color:var(--text);min-width:2ch;text-align:right;line-height:1}.timer.hot,.scr-timer.hot{color:var(--bad)}.q-text{font-size:22px;line-height:1.4}.q-text.small{font-size:17px;color:var(--text2);font-weight:400}.opts{display:grid;gap:10px}.opt{display:flex;align-items:center;gap:12px;width:100%;min-height:64px;padding:10px 14px;border:3px solid transparent;border-radius:10px;color:#fff;font-size:18px;font-weight:700;text-align:left;cursor:pointer;transition:transform .12s var(--ease),opacity .2s}.opt-0{background:var(--opt-0)}.opt-1{background:var(--opt-1)}.opt-3{background:var(--opt-3)}.opt-2{background:var(--opt-2);color:var(--black)}.opt:active:not(:disabled){transform:scale(.98)}.opt:disabled{cursor:default}.opt:disabled:not(.on):not(.right){opacity:.4}.opt.on{border-color:var(--text);box-shadow:0 0 0 3px var(--bg) inset}.opt.right{opacity:1;border-color:var(--good)}.opt.dim{opacity:.35}.opt-letter{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:6px;background:#00000038;font-family:var(--font-display);flex:none}.opt-2 .opt-letter{background:#1c1b1b29}.opt-text{flex:1;overflow-wrap:anywhere}.opt-mark{font-size:13px;padding:2px 8px;border-radius:999px;background:#0000004d;flex:none}.opt-2 .opt-mark{background:#1c1b1b2e}.verdict{display:flex;align-items:baseline;justify-content:space-between;padding:14px 16px;border-radius:10px;color:#fff}.verdict strong{font-size:24px}.verdict .num{font-size:28px}.verdict.good{background:#1f7a4d}.verdict.bad{background:#8f2019}.standing{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.standing>div{display:grid;gap:2px;padding:12px 8px;border:1.5px solid var(--line);border-radius:10px;background:var(--surface);text-align:center}.standing .num{font-size:26px;line-height:1.1}.standing small{color:var(--text2);font-size:12px}.standing-hidden{padding:16px;border:1.5px dashed var(--line);border-radius:10px;text-align:center;font-weight:700}.screen{height:100vh;display:flex;flex-direction:column;overflow:hidden;font-size:clamp(16px,2.1vw,44px)}.screen>:not(.hazard):not(.conn){flex:1;min-height:0;padding:3vh 4vw}.scr-center{display:grid;place-content:center;text-align:center;gap:2vh}.scr-center .display{font-size:3em}.scr-lobby{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:5vw;align-items:center}.scr-qr{display:grid;gap:2vh;justify-items:center}.scr-qr img{width:min(100%,62vh);aspect-ratio:1;border-radius:16px;background:#fff;padding:12px}.scr-url{font-family:var(--font-mono);font-size:1.1em}.scr-lobby-side{display:grid;gap:2vh;align-content:center}.scr-lobby-side .display{font-size:2.6em}.scr-count{font-size:1.3em}.scr-count .num{font-size:2.2em;color:var(--yellow);margin-right:.2em}.scr-teams{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1vh 1vw}.scr-teams li{display:flex;justify-content:space-between;padding:.3em .7em;background:var(--surface);border-radius:8px;font-size:.8em}.scr-q{display:flex;flex-direction:column;gap:3vh}.scr-q-top{display:flex;align-items:center;justify-content:space-between}.scr-q-top .eyebrow{font-size:.7em}.scr-timer{font-family:var(--font-mono);font-size:2.6em;line-height:1}.scr-answered{font-size:.8em;color:var(--text2)}.scr-q-text{font-size:1.9em;line-height:1.3;flex:0 1 auto}.scr-opts{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:2vh 1.5vw;align-content:stretch}.scr-opt{position:relative;display:flex;align-items:center;gap:.7em;padding:.6em .9em;border-radius:14px;color:#fff;font-weight:700;font-size:1.15em;border:5px solid transparent;transition:opacity .4s var(--ease);min-height:0}.scr-opt .opt-letter{width:1.7em;height:1.7em;font-size:1em}.scr-opt.opt-2{color:var(--black)}.scr-opt.dim{opacity:.45}.scr-opt.right{border-color:#fff}.scr-opt .opt-mark{font-size:.6em}.scr-bar{position:absolute;left:.9em;right:.9em;bottom:.5em;display:flex;align-items:center;gap:.6em;font-size:.7em;white-space:nowrap}.scr-bar .num{flex:none}.scr-bar-fill{flex:0 1 auto;height:.5em;border-radius:99px;background:#ffffffd9;transition:width .6s var(--ease);min-width:2px}.opt-2 .scr-bar-fill{background:#1c1b1bb3}.scr-board{display:grid;grid-template-columns:1fr 1fr;gap:4vw}.scr-board section{min-height:0;display:flex;flex-direction:column;gap:2vh}.scr-board h2{font-size:1em;color:var(--yellow)}.rank-list,.podium-list{list-style:none;margin:0;padding:0;display:grid;gap:1.2vh}.rank-list li,.podium-row{display:flex;align-items:center;gap:.8em;padding:.45em .8em;background:var(--surface);border-radius:10px}.rank-list .rank{font-family:var(--font-display);width:1.6em;text-align:center;color:var(--yellow)}.rank-list .name,.podium-row .name{flex:1;min-width:0;font-weight:700;display:flex;align-items:baseline;gap:.6em}.rank-list small,.podium-row small{font-weight:400;font-size:.6em;color:var(--text2)}.scr-board section:last-child .rank-list{font-size:.72em;grid-template-columns:1fr 1fr;grid-template-rows:repeat(7,auto);grid-auto-flow:column}.scr-podium{display:flex;flex-direction:column;justify-content:center;gap:3vh;text-align:center}.scr-podium .display{font-size:2.8em;color:var(--yellow)}.podium-list{max-width:70vw;width:100%;margin:0 auto;text-align:left}.podium-row{font-size:1.3em;padding:.7em 1em;animation:rise .6s var(--ease) both}.podium-row .rank{font-size:.6em;color:var(--text2);min-width:7em;white-space:nowrap;flex:none}.podium-row.r1{background:var(--yellow);color:var(--black);font-size:1.7em}.podium-row.r1 .rank,.podium-row.r1 small{color:#1c1b1bbf}.podium-row:not(:first-child){animation:none;opacity:.75;font-size:1em}@keyframes rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.podium-row{animation:none}*{transition:none!important}}.host{min-height:100dvh}.host-head{display:flex;align-items:center;gap:14px;padding:10px 20px;border-bottom:1.5px solid var(--line);flex-wrap:wrap}.tabs{display:flex;gap:4px;margin-left:12px}.tabs button{min-height:40px;padding:6px 16px;border:0;border-radius:8px;background:transparent;cursor:pointer;font-weight:700;color:var(--text2)}.tabs button.on{background:var(--black);color:var(--yellow)}.conn-dot{margin-left:auto;font-size:14px;color:var(--good)}.conn-dot.off{color:var(--bad);font-weight:700}.host-grid{display:grid;grid-template-columns:300px minmax(0,1fr);align-items:start}.host-actions{display:grid;gap:12px;padding:20px;border-right:1.5px solid var(--line);min-height:calc(100dvh - 60px);align-content:start}.host-phase{font-size:18px;font-weight:700}.host-main{padding:20px;display:grid;gap:14px;align-content:start;min-width:0}.host-main h2{font-size:18px}.switch{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer}.switch input{width:20px;height:20px;accent-color:var(--yellow)}.warn-strip{padding:8px 12px;border-left:6px solid var(--yellow);background:var(--surface);font-weight:700}.two-col{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px}.two-col>div{display:grid;gap:10px;align-content:start;min-width:0}.tbl{width:100%;border-collapse:collapse;font-size:15px}.tbl th{text-align:left;color:var(--text2);font-weight:400;font-size:13px}.tbl th,.tbl td{padding:6px 8px;border-bottom:1px solid var(--line)}.tbl tr.removed td{opacity:.45;text-decoration:line-through}.tbl tr.removed td:last-child,.tbl tr.removed td:nth-last-child(2){opacity:1;text-decoration:none}.danger{border:1.5px solid var(--line);border-radius:8px;padding:10px 12px;display:grid;gap:8px;margin-top:16px}.danger summary{cursor:pointer;font-weight:700;color:var(--bad)}.danger[open]{display:grid;gap:10px}.danger-btn{background:var(--bad);border-color:var(--bad);color:#fff;font-weight:700}.team-block{display:grid;gap:6px}.team-block h3{font-size:16px;display:flex;gap:10px;align-items:baseline;padding-top:8px}.team-block h3 small{font-weight:400;color:var(--text2)}.q-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.q-list>li{border:1.5px solid var(--line);border-radius:10px;background:var(--surface);padding:12px 14px}.q-row{display:flex;gap:14px;align-items:flex-start}.q-row>.num{font-size:20px;width:2ch}.q-row-body{flex:1;min-width:0;display:grid;gap:4px}.q-row-body small{color:var(--text2)}.q-row-body ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:2px 16px;font-size:15px;color:var(--text2)}.q-row-body li.is-right{color:var(--good);font-weight:700}.q-row-btns{display:grid;grid-template-columns:1fr 1fr;gap:6px;flex:none}.q-form{display:grid;gap:12px}.q-form label{display:grid;gap:4px;font-size:14px;color:var(--text2)}.q-form fieldset{border:1.5px solid var(--line);border-radius:8px;display:grid;gap:8px;padding:12px}.q-form .row{display:flex;gap:12px;align-items:end}.opt-edit{display:flex;align-items:center;gap:8px}.opt-edit input[type=radio],.opt-edit input[type=checkbox]{width:22px;height:22px;flex:none;accent-color:var(--good)}.opt-edit .opt-letter{background:var(--line);color:var(--text)}@media(max-width:860px){.host-grid,.two-col{grid-template-columns:1fr}.host-actions{border-right:0;border-bottom:1.5px solid var(--line);min-height:0}.q-row{flex-wrap:wrap}.q-row-body ul{grid-template-columns:1fr}}
