:root{--bg: #f4f6f9;--bg-2: #eef1f6;--ink: #25252a;--muted: rgba(37, 37, 42, .58);--faint: rgba(37, 37, 42, .4);--line: rgba(37, 37, 42, .1);--hairline: rgba(37, 37, 42, .07);--accent: #ed7d31;--accent-strong: #b8470f;--accent-ink: #3a1d00;--accent-tint: rgba(237, 125, 49, .14);--accent-soft: rgba(237, 125, 49, .1);--green: #1d9e75;--green-soft: #e6f5ee;--amber: #d98a14;--amber-soft: #fbf0dc;--red: #d64038;--red-soft: #fbe9e7;--blue: #205ae3;--card: rgba(255, 255, 255, .72);--card-solid: #ffffff;--surface: rgba(37, 37, 42, .04);--surface-2: rgba(37, 37, 42, .055);--topbar: rgba(255, 255, 255, .72);--shadow-sm: 0 1px 3px rgba(16, 24, 40, .07);--shadow: 0 8px 24px rgba(16, 24, 40, .1);--shadow-lg: 0 24px 60px rgba(11, 15, 78, .14);--shadow-cmd: 0 24px 60px rgba(184, 71, 15, .16);--card-hi: inset 0 1px 0 rgba(255, 255, 255, .8);--blur: 18px;--radius: 14px;--radius-sm: 10px;--radius-lg: 20px;--radius-pill: 100px;--font-display: "DM Sans", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "DM Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--ease: cubic-bezier(.25, .1, .25, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--dur-fast: .2s;--dur-btn: .25s;--dur: .42s;--dur-advance: .38s;--reveal-dist: 10px;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(900px 520px at 88% -8%,var(--accent-soft),transparent 60%),radial-gradient(760px 480px at -6% 4%,rgba(32,90,227,.05),transparent 55%)}h1,h2,h3{margin:0;font-weight:600;font-family:var(--font-display);letter-spacing:-.011em}button{font:inherit;cursor:pointer;font-family:var(--font-body)}input,textarea,select{font:inherit}.num{font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.muted{color:var(--muted)}.faint{color:var(--faint)}:where(button,input,textarea,select,a,[tabindex]):focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px;border-radius:6px}@keyframes cad-rise{0%{opacity:0;transform:translateY(var(--reveal-dist))}to{opacity:1;transform:none}}.cad-reveal{animation:cad-rise var(--dur) var(--ease) both;animation-delay:calc(var(--cad-i, 0) * .06s)}.cad-advance-out{transition:opacity var(--dur-advance) var(--ease),transform var(--dur-advance) var(--ease),max-height var(--dur-advance) var(--ease),margin var(--dur-advance) var(--ease);overflow:hidden}.cad-advance-out.is-leaving{opacity:0;transform:translateY(-18px) scale(.985);max-height:0!important}.cad-lift{transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.cad-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.cad-press{transition:background-color var(--dur-btn) var(--ease),color var(--dur-btn) var(--ease),box-shadow var(--dur-btn) var(--ease),transform var(--dur-btn) var(--ease)}.cad-press:active{transform:scale(.97)}.cad-skeleton{background:linear-gradient(90deg,var(--surface) 25%,var(--surface-2) 37%,var(--surface) 63%);background-size:400% 100%;animation:cad-shimmer 1.2s ease infinite;border-radius:var(--radius-sm)}@keyframes cad-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.spin{width:14px;height:14px;border:2px solid var(--accent);border-top-color:transparent;border-radius:50%;display:inline-block;animation:sp .7s linear infinite;vertical-align:-2px}@keyframes sp{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}.btn{border:0;border-radius:var(--radius-sm);padding:10px 18px;font-weight:600;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.primary{background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow-sm)}.btn.primary:hover{box-shadow:var(--shadow)}.btn.ghost{background:var(--card);border:1px solid var(--line);color:var(--ink);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-weight:500}.btn.ghost:hover{border-color:var(--accent)}.btn.pass{background:var(--green);color:#fff;box-shadow:var(--shadow-sm)}.btn.fail{background:var(--card-solid);border:1px solid var(--red);color:var(--red)}.btn.fail:hover{background:var(--red-soft)}.btn.danger{background:var(--red);color:#fff}.btn:disabled{opacity:.45;box-shadow:none;cursor:default}.btn.lg{padding:13px 24px;font-size:15px;border-radius:var(--radius)}.btn.sm{padding:6px 12px;font-size:12.5px}.btn.block{width:100%}.dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;display:inline-block}.dot.pending{background:var(--faint)}.dot.ready{background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.dot.active{background:var(--accent);animation:pulse 1.4s var(--ease) infinite}.dot.passed{background:var(--green)}.dot.failed{background:var(--red)}.dot.blocked{background:var(--amber)}@keyframes pulse{0%,to{box-shadow:0 0 0 0 var(--accent-tint)}50%{box-shadow:0 0 0 6px transparent}}.pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:3px 9px;border-radius:var(--radius-pill);letter-spacing:.1px;white-space:nowrap}.pill.blocker{background:var(--amber-soft);color:#9a5b00}.pill.passed{background:var(--green-soft);color:#0f7a55}.pill.failed{background:var(--red-soft);color:#b3271e}.pill.retest{background:var(--accent-soft);color:var(--accent-strong)}.pill.sandbox{background:var(--surface);color:var(--muted)}.app{display:grid;grid-template-columns:320px 1fr;grid-template-rows:auto 1fr;height:100%;min-height:0}.topbar{grid-column:1 / -1;display:flex;align-items:center;gap:14px;padding:12px 22px;background:var(--topbar);-webkit-backdrop-filter:saturate(1.4) blur(var(--blur));backdrop-filter:saturate(1.4) blur(var(--blur));border-bottom:1px solid var(--hairline);box-shadow:var(--card-hi);position:sticky;top:0;z-index:40}.brand{font-family:var(--font-display);font-weight:700;letter-spacing:-.01em;font-size:15px;color:var(--ink);display:flex;align-items:center;gap:9px}.brand .mark{width:26px;height:26px;border-radius:8px;background:linear-gradient(140deg,var(--accent) 0%,#f6a15e 100%);display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.brand b{color:var(--accent-strong)}.spacer{flex:1}.who{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--muted)}.avatar{width:28px;height:28px;border-radius:50%;background:var(--ink);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;font-family:var(--font-display)}.rail{border-right:1px solid var(--hairline);background:linear-gradient(180deg,rgba(255,255,255,.5) 0%,transparent 100%);overflow:auto;padding:16px 14px 40px;min-height:0}.rail-head{display:flex;align-items:baseline;justify-content:space-between;padding:4px 8px 12px}.rail-head h2{font-size:13px;font-weight:600;color:var(--muted);text-transform:none}.rail-head .count{font-size:12px;color:var(--faint)}.rail-group{font-size:11px;font-weight:600;color:var(--faint);padding:14px 9px 6px;letter-spacing:.02em}.rail-item{display:flex;align-items:flex-start;gap:10px;padding:11px;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);border:1px solid transparent}.rail-item:hover{background:var(--surface)}.rail-item.on{background:var(--card-solid);border-color:var(--hairline);box-shadow:var(--shadow-sm)}.rail-item .ri-body{min-width:0;flex:1}.rail-item .ri-title{font-size:13.5px;font-weight:500;color:var(--ink);line-height:1.35}.rail-item.done .ri-title{color:var(--muted)}.rail-item .ri-meta{font-size:11.5px;color:var(--faint);margin-top:3px;display:flex;align-items:center;gap:7px}.rail-dot{margin-top:5px}.rail-add-btn{display:flex;align-items:center;gap:7px;width:100%;margin-top:10px;border:1px dashed var(--line);background:transparent;color:var(--muted);border-radius:var(--radius-sm);padding:10px 11px;font-size:13px;font-weight:500}.rail-add-btn:hover{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.rail-add{margin-top:10px;padding:10px;border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--card-solid);box-shadow:var(--shadow-sm)}.rail-add input{width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 10px;font-size:13.5px;background:var(--card-solid);color:var(--ink)}.rail-add input:focus{border-color:var(--accent);outline:none}.rail-add-actions{display:flex;gap:6px;margin-top:8px}.report-done{display:flex;align-items:flex-start;gap:12px;margin-top:24px;padding:16px 18px;background:var(--green-soft);border-radius:var(--radius)}.rd-icon{width:36px;height:36px;border-radius:10px;background:var(--card-solid);color:var(--green);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;box-shadow:var(--shadow-sm)}.rd-title{font-weight:600;font-size:15px;color:#0f7a55}.rd-sub{font-size:13px;color:var(--muted);margin-top:2px;line-height:1.5}.main{overflow:auto;min-height:0;padding:0 0 60px;display:flex;flex-direction:column}.pace{display:flex;align-items:center;gap:16px;padding:14px 32px;border-bottom:1px solid var(--hairline)}.pace .track{flex:1;height:7px;background:var(--surface-2);border-radius:var(--radius-pill);overflow:hidden}.pace .fill{height:100%;border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--accent) 0%,#f6a15e 100%);transition:width var(--dur) var(--ease)}.pace .label{font-size:12.5px;color:var(--muted);white-space:nowrap}.pace .streak{font-size:12.5px;font-weight:600;color:var(--accent-strong);display:flex;align-items:center;gap:5px;white-space:nowrap}.stage{flex:1;display:flex;justify-content:center;padding:34px 32px;min-height:0}.stage-inner{width:100%;max-width:760px}.cmd{background:var(--card-solid);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),var(--card-hi);padding:28px 30px 26px;position:relative;overflow:hidden;animation:cad-rise var(--dur) var(--ease) both}.cmd:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(420px 200px at 92% -10%,var(--accent-soft),transparent 70%)}.cmd-top{display:flex;align-items:center;gap:10px;margin-bottom:4px;position:relative}.cmd-eyebrow{font-size:12px;font-weight:600;color:var(--accent-strong);display:flex;align-items:center;gap:7px}.cmd h1{font-size:27px;letter-spacing:-.02em;margin:8px 0 6px;position:relative;line-height:1.15}.cmd .objective{font-size:16px;line-height:1.55;color:var(--ink);position:relative;max-width:62ch}.section-h{font-size:12px;font-weight:600;color:var(--muted);margin:22px 0 9px;position:relative}.steps{list-style:none;margin:0;padding:0;position:relative}.steps li{display:flex;gap:12px;padding:8px 0;font-size:14.5px;line-height:1.5;border-bottom:1px solid var(--hairline)}.steps li:last-child{border-bottom:0}.steps .n{width:22px;height:22px;flex:0 0 auto;border-radius:50%;background:var(--surface-2);color:var(--ink);font-size:12px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono)}.criteria{display:grid;grid-template-columns:1fr 1fr;gap:12px;position:relative}@media (max-width: 720px){.criteria{grid-template-columns:1fr}}.crit{border-radius:var(--radius);padding:13px 15px;font-size:13.5px;line-height:1.5}.crit.pass{background:var(--green-soft)}.crit.fail{background:var(--red-soft)}.crit h4{font-size:11.5px;font-weight:700;margin:0 0 6px;display:flex;align-items:center;gap:6px}.crit.pass h4{color:#0f7a55}.crit.fail h4{color:#b3271e}.crit ul{margin:0;padding-left:16px}.crit li{margin:3px 0}.section-h-row{display:flex;align-items:center;justify-content:space-between}.copilot-chip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--accent-strong);background:var(--accent-soft);padding:3px 10px;border-radius:var(--radius-pill)}.steps li.done{color:var(--muted)}.steps .n.done{background:var(--green);color:#fff}.steps li.next{margin:0 -10px;padding:8px 10px;background:var(--accent-soft);border-radius:var(--radius-sm);border-bottom-color:transparent}.cp-copilot{margin-top:14px;border-top:1px solid rgba(255,255,255,.1);padding-top:12px}.cp-copilot-h{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#f6a15e}.cp-transcript{margin-top:8px;display:flex;flex-direction:column;gap:5px}.cp-line{font-size:13px;line-height:1.45;color:#f4f6f9eb;animation:cad-rise .3s var(--ease) both}.cp-line .cp-who{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-right:8px;color:#f4f6f980}.cp-line.bot .cp-who{color:#f6a15e}.copilot-draft .cd-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.cd-badge{width:38px;height:38px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.cd-badge.pass{background:var(--green-soft);color:#0f7a55}.cd-badge.fail{background:var(--red-soft);color:#b3271e}.copilot-draft h3{font-size:16px}.copilot-draft .sub{display:flex;align-items:center;gap:5px;margin:2px 0 0}.evidence{list-style:none;margin:0 0 14px;padding:0;border-radius:var(--radius);background:var(--surface);overflow:hidden}.evidence li{display:flex;gap:10px;padding:11px 14px;font-size:13.5px;border-bottom:1px solid var(--hairline)}.evidence li:last-child{border-bottom:0}.ev-ico{width:20px;height:20px;border-radius:50%;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;margin-top:1px}.evidence li.met .ev-ico{background:var(--green-soft);color:#0f7a55}.evidence li.unmet .ev-ico{background:var(--red-soft);color:#b3271e}.ev-text{color:var(--ink)}.ev-quote{font-size:12.5px;color:var(--muted);font-style:italic;margin-top:3px}.cd-override{border:0;background:transparent;color:var(--muted);font-size:12.5px;font-weight:600;display:inline-flex;align-items:center;gap:5px;padding:4px 0;margin-bottom:8px}.cd-override:hover{color:var(--accent-strong)}.ev-group-h{font-size:11.5px;font-weight:600;color:var(--faint);margin:0 0 6px}.syscheck{margin:14px 0 0}.syscheck-h{display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:600;color:var(--muted);margin-bottom:6px}.syscheck-list li.checking .ev-ico{background:var(--surface-2);color:var(--muted)}.sys-callout{display:flex;align-items:flex-start;gap:10px;background:var(--amber-soft);color:#7a4a00;border-radius:var(--radius);padding:12px 15px;font-size:13.5px;line-height:1.5;margin-bottom:14px}.sys-callout svg{flex:0 0 auto;margin-top:1px}.preflight{display:flex;align-items:center;gap:11px;background:var(--surface);border-radius:var(--radius);padding:12px 15px;margin:22px 0 0;position:relative;font-size:13px}.preflight.ready{background:var(--green-soft)}.preflight .pf-icon{width:30px;height:30px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;background:var(--card-solid);box-shadow:var(--shadow-sm);flex:0 0 auto}.preflight .pf-body{flex:1;min-width:0}.preflight .pf-title{font-weight:600;color:var(--ink)}.preflight .pf-detail{font-size:12px;color:var(--muted);margin-top:1px}.pf-checks{margin:8px 0 0;padding:0;list-style:none}.pf-checks li{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);padding:3px 0}.pf-checks li.ok{color:var(--ink)}.pf-check-ico{width:16px;flex:0 0 auto;text-align:center}.cmd-actions{display:flex;align-items:center;gap:12px;margin-top:26px;position:relative}.dialhint{font-size:12.5px;color:var(--muted)}.dialhint b{color:var(--ink);font-family:var(--font-mono);font-weight:500}.dial-edit{margin-top:22px;background:var(--surface);border-radius:var(--radius);padding:14px 16px}.dial-edit label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:6px}.dial-edit input{width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);padding:11px 13px;font-size:16px;font-family:var(--font-mono);color:var(--ink);background:var(--card-solid)}.dial-edit input:focus{border-color:var(--accent);outline:none}.dial-edit-note{font-size:12.5px;color:var(--muted);margin-top:8px;line-height:1.5}.callpanel{margin-top:22px;border-radius:var(--radius-lg);background:linear-gradient(165deg,#1d1f27,#14151b);color:#f4f6f9;padding:22px 24px;position:relative;overflow:hidden;animation:cad-rise var(--dur) var(--ease) both;box-shadow:var(--shadow-lg)}.callpanel .cp-status{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#f6a15e;display:flex;align-items:center;gap:8px}.callpanel .cp-num{font-family:var(--font-mono);font-size:22px;margin:6px 0 2px;letter-spacing:.02em}.callpanel .cp-meta{font-size:12.5px;color:#f4f6f999}.callpanel .cp-timer{font-family:var(--font-mono);font-size:15px;color:#f4f6f9d9}.wave{display:flex;align-items:flex-end;gap:3px;height:34px;margin:16px 0}.wave span{flex:1;background:linear-gradient(180deg,#f6a15e,var(--accent));border-radius:3px;animation:wv .9s var(--ease) infinite;opacity:.85}@keyframes wv{0%,to{height:18%}50%{height:100%}}.cp-controls{display:flex;gap:10px;margin-top:6px}.cp-btn{border:1px solid rgba(255,255,255,.16);background:#ffffff0f;color:#f4f6f9;border-radius:var(--radius-sm);padding:9px 16px;font-weight:600;font-size:13px;display:inline-flex;align-items:center;gap:7px}.cp-btn:hover{background:#ffffff1f}.cp-btn.end{background:var(--red);border-color:transparent;margin-left:auto}.cp-btn.on{background:#f6a15e33;border-color:#f6a15e}.verdict{margin-top:22px;border-top:1px solid var(--hairline);padding-top:20px;position:relative;animation:cad-rise var(--dur) var(--ease) both}.verdict h3{font-size:15px;margin-bottom:4px}.verdict .sub{font-size:13px;color:var(--muted);margin-bottom:14px}.verdict-choices{display:flex;gap:12px;margin-bottom:14px}.vchoice{flex:1;border:1.5px solid var(--line);background:var(--card-solid);border-radius:var(--radius);padding:14px 16px;text-align:left;display:flex;align-items:center;gap:12px;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),transform var(--dur-btn) var(--ease)}.vchoice:active{transform:scale(.99)}.vchoice .vc-ico{width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.vchoice .vc-title{display:block;font-weight:600;font-size:14.5px}.vchoice .vc-sub{display:block;font-size:12px;color:var(--muted);margin-top:1px}.vchoice.pass .vc-ico{background:var(--green-soft);color:#0f7a55}.vchoice.fail .vc-ico{background:var(--red-soft);color:#b3271e}.vchoice.pass.on{border-color:var(--green);background:var(--green-soft)}.vchoice.fail.on{border-color:var(--red);background:var(--red-soft)}.notes{width:100%;border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;font-size:14px;font-family:inherit;color:var(--ink);background:var(--card-solid);resize:vertical;min-height:78px;transition:border-color var(--dur-fast) var(--ease)}.notes:focus{border-color:var(--accent);outline:none}.notes::placeholder{color:var(--faint)}.blockask{display:flex;align-items:center;gap:10px;margin:12px 0;padding:11px 14px;background:var(--amber-soft);border-radius:var(--radius);font-size:13px;color:#7a4a00}.blockask .seg{margin-left:auto;display:inline-flex;border:1px solid rgba(154,91,0,.25);border-radius:var(--radius-sm);overflow:hidden}.blockask .seg button{border:0;background:transparent;padding:5px 13px;font-size:12.5px;font-weight:600;color:#7a4a00}.blockask .seg button.on{background:var(--amber);color:#fff}.empty{text-align:center;max-width:460px;margin:8vh auto 0;animation:cad-rise var(--dur) var(--ease) both}.empty .big{font-size:40px;margin-bottom:8px}.empty h2{font-size:22px;margin-bottom:8px}.empty p{color:var(--muted);font-size:14.5px;line-height:1.6}.summary{max-width:900px;margin:0 auto;padding:36px 32px 80px;animation:cad-rise var(--dur) var(--ease) both}.summary h1{font-size:30px;letter-spacing:-.02em}.summary .lead{color:var(--muted);font-size:15px;margin:6px 0 26px}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px}@media (max-width: 720px){.stat-row{grid-template-columns:repeat(2,1fr)}}.stat{background:var(--card-solid);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-sm);border:1px solid var(--hairline)}.stat .v{font-size:30px;font-weight:600;font-family:var(--font-display);letter-spacing:-.02em;line-height:1}.stat .k{font-size:12.5px;color:var(--muted);margin-top:6px}.stat.pass .v{color:var(--green)}.stat.fail .v{color:var(--red)}.stat.block .v{color:var(--amber)}.result-row{display:flex;align-items:flex-start;gap:14px;padding:15px 16px;background:var(--card-solid);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--hairline);margin-bottom:10px}.result-row .rr-body{flex:1;min-width:0}.result-row .rr-title{font-weight:600;font-size:14.5px}.result-row .rr-note{font-size:13px;color:var(--muted);margin-top:4px;line-height:1.5}.result-row .rr-fix{font-size:12.5px;color:var(--accent-strong);margin-top:6px;display:flex;align-items:center;gap:6px}.result-row .rr-meta{font-size:12px;color:var(--muted);margin-top:3px;font-family:var(--mono, "DM Mono", monospace);letter-spacing:.01em}.admin-board{max-width:920px}.admin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}.admin-live{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);font-family:var(--mono, "DM Mono", monospace);white-space:nowrap;padding-top:6px}.admin-live .live-dot{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 #22a05a80;transition:box-shadow .5s var(--ease)}.admin-live .live-dot.on{box-shadow:0 0 0 6px #22a05a00}.admin-empty{display:flex;align-items:center;justify-content:center;padding:48px 16px;text-align:center;font-size:14px}.admin-group{margin-top:18px}.admin-group-h{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-group-counts{display:flex;gap:6px;align-items:center}.finale{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:center;justify-content:center;background:#f4f6f9b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:cad-fade .3s var(--ease) both}@keyframes cad-fade{0%{opacity:0}to{opacity:1}}.finale-card{background:var(--card-solid);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:38px 44px;text-align:center;max-width:440px;animation:cad-pop .5s var(--ease) both}@keyframes cad-pop{0%{opacity:0;transform:scale(.9) translateY(12px)}to{opacity:1;transform:none}}.finale-card .big{font-size:52px;margin-bottom:6px}.finale-card h2{font-size:26px;letter-spacing:-.02em}.finale-card p{color:var(--muted);margin:8px 0 22px;font-size:14.5px;line-height:1.55}canvas.confetti{position:fixed;top:0;right:0;bottom:0;left:0;z-index:81;pointer-events:none}.proj-switch{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card-solid);color:var(--ink);font-size:13px;font-weight:500;padding:5px 9px;max-width:220px}.ovl{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:24px;background:#14182166;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:cad-fade .2s var(--ease) both}.wiz{width:100%;max-width:660px;max-height:88vh;display:flex;flex-direction:column;background:var(--card-solid);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;animation:cad-pop .3s var(--ease) both}.wiz-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--hairline)}.wiz-steps{display:flex;gap:16px;flex-wrap:wrap}.wiz-step{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:500;color:var(--faint)}.wiz-step.on{color:var(--ink)}.wiz-step-n{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;background:var(--surface-2);color:var(--muted);font-family:var(--font-mono)}.wiz-step.on .wiz-step-n{background:var(--accent);color:var(--accent-ink)}.wiz-step.done .wiz-step-n{background:var(--green);color:#fff}.wiz-body{flex:1;min-height:0;overflow:auto;padding:22px 24px}.wiz-pane h2{font-size:21px;letter-spacing:-.02em}.wiz-lead{color:var(--muted);font-size:14px;line-height:1.55;margin:6px 0 18px}.wiz-row{display:flex;gap:12px}.wiz-row .field{flex:1}.wiz-foot{display:flex;align-items:center;gap:10px;padding:14px 18px;border-top:1px solid var(--hairline)}.conn-row{border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;margin-bottom:10px}.conn-row.connected{background:var(--green-soft);border-color:transparent}.conn-top{display:flex;align-items:center;justify-content:space-between}.conn-label{font-weight:600;font-size:14px;display:inline-flex;align-items:center;gap:7px;color:var(--ink)}.conn-row.connected .conn-label{color:#0f7a55}.conn-form{display:flex;flex-direction:column;gap:8px;margin-top:12px}.conn-input{border:1px solid var(--line);border-radius:var(--radius-sm);padding:9px 11px;font-size:13.5px;background:var(--card-solid);color:var(--ink)}.conn-input:focus{border-color:var(--accent);outline:none}.manual-note{display:flex;align-items:center;gap:9px;margin-top:14px;padding:11px 14px;border-radius:var(--radius);background:var(--surface);font-size:13px;color:var(--muted)}.manual-note.active{background:var(--amber-soft);color:#7a4a00}.gen-cases{margin-top:6px}.gen-case{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--hairline)}.gen-n{width:22px;height:22px;flex:0 0 auto;border-radius:50%;background:var(--surface-2);font-size:11px;display:inline-flex;align-items:center;justify-content:center}.gen-title{flex:1;border:1px solid transparent;border-radius:var(--radius-sm);padding:7px 9px;font-size:14px;color:var(--ink);background:var(--surface)}.gen-title:focus{border-color:var(--accent);outline:none;background:var(--card-solid)}.gen-del{border:0;background:transparent;color:var(--faint);display:inline-flex;padding:4px;border-radius:6px}.gen-del:hover{color:var(--red);background:var(--red-soft)}.review{list-style:none;margin:0;padding:0;border:1px solid var(--hairline);border-radius:var(--radius);overflow:hidden}.review li{display:flex;justify-content:space-between;padding:12px 15px;font-size:14px;border-bottom:1px solid var(--hairline)}.review li:last-child{border-bottom:0}.review li span{color:var(--muted)}.conn-group-h{font-size:11.5px;font-weight:600;color:var(--faint);text-transform:none;margin:16px 0 8px}.conn-group-h:first-child{margin-top:0}.conn-note{font-size:12.5px;color:var(--muted);margin-top:8px;line-height:1.5}.conn-row.connected .conn-note{color:#0f7a55}.gen-seg{display:inline-flex;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;background:var(--card-solid);margin-top:6px}.gen-seg button{border:0;background:transparent;padding:8px 14px;font-size:13px;font-weight:500;color:var(--muted);border-right:1px solid var(--line)}.gen-seg button:last-child{border-right:0}.gen-seg button.on{background:var(--ink);color:#fff}.gen-seg button:disabled{opacity:.4;cursor:default}.drop{display:block;border:1.5px dashed var(--line);border-radius:var(--radius);padding:22px;text-align:center;color:var(--muted);font-size:13.5px;cursor:pointer;background:var(--surface);transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.drop:hover{border-color:var(--accent);background:var(--accent-soft)}.drop span{display:inline-flex;align-items:center;gap:7px}.gen-err{margin-top:10px;font-size:12.5px;color:#b3271e;background:var(--red-soft);border-radius:var(--radius-sm);padding:8px 12px}.login{min-height:100%;display:flex;align-items:center;justify-content:center;padding:40px 20px}.login-card{background:var(--card);-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));border:1px solid var(--hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),var(--card-hi);padding:34px 36px;width:100%;max-width:400px;animation:cad-rise var(--dur) var(--ease) both}.login-card .mark{width:44px;height:44px;border-radius:12px;background:linear-gradient(140deg,var(--accent) 0%,#f6a15e 100%);box-shadow:var(--shadow-sm);margin-bottom:18px;display:inline-flex;align-items:center;justify-content:center}.login-card h1{font-size:23px;letter-spacing:-.02em}.login-card p{color:var(--muted);font-size:13.5px;margin:6px 0 22px;line-height:1.55}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:12px;font-weight:600;color:var(--muted)}.field input,.field select{border:1px solid var(--line);border-radius:var(--radius-sm);padding:11px 13px;font-size:14px;color:var(--ink);background:var(--card-solid);transition:border-color var(--dur-fast) var(--ease)}.field input:focus,.field select:focus{border-color:var(--accent);outline:none}.ms-btn{background:var(--card-solid);border:1px solid var(--line);color:var(--ink);font-weight:500;margin-bottom:4px}.ms-btn:hover{border-color:var(--muted);background:var(--surface)}.auth-or{display:flex;align-items:center;text-align:center;color:var(--faint);font-size:12px;margin:14px 0}.auth-or:before,.auth-or:after{content:"";flex:1;height:1px;background:var(--line)}.auth-or span{padding:0 12px}.auth-info{font-size:12.5px;color:#0f7a55;background:var(--green-soft);border-radius:var(--radius-sm);padding:8px 12px;margin-bottom:12px}.auth-links{text-align:center;margin-top:14px}.auth-links button{border:0;background:transparent;color:var(--accent-strong);font-size:13px;font-weight:500;cursor:pointer}.auth-links button:hover{text-decoration:underline}
