@font-face{font-family:Pretendard Variable;src:url(/assets/PretendardVariable-CJuje-Rk.woff2)format("woff2");font-weight:45 920;font-style:normal;font-display:swap}@font-face{font-family:Google Sans Flex;src:url(/assets/GoogleSansFlex-Variable-Latin-CRMKv9uI.woff2)format("woff2");font-weight:1 1000;font-style:normal;font-display:swap}@font-face{font-family:D2Coding;src:url(/assets/D2Coding-Regular-3vqQjOhG.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:D2Coding;src:url(/assets/D2Coding-Bold-DihjSdqB.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}:root,[data-theme=light]{--bg:#f7f8fa;--surface:#fff;--surface-sunken:#f2f4f6;--surface-raised:#fff;--line:#e5e8eb;--line-control:#8a94a0;--ink:#191f28;--ink-secondary:#4e5968;--ink-tertiary:#5f6b78;--ink-disabled:#b0b8c1;--overlay:#0b0e1499;--brand-blue:#0072ce;--brand-indigo:#3e00ce;--brand-magenta:#c600ef;--appbar-learn:var(--brand-blue);--appbar-board:var(--brand-magenta);--on-appbar:#fff;--primary:var(--brand-blue);--primary-pressed:#005ba6;--primary-weak:#e8f2fc;--primary-ink:#005ba6;--on-primary:#fff;--teacher:#b000d4;--teacher-weak:#faebfe;--teacher-ink:#8a00a6;--on-teacher:#fff;--ai:var(--brand-indigo);--ai-weak:#efe9fd;--ai-ink:#3e00ce;--on-ai:#fff;--success:#0b7a4b;--success-weak:#e6f6ee;--success-ink:#07663e;--danger:#d92d20;--danger-weak:#fdecec;--danger-ink:#b42318;--on-danger:#fff;--caution:#a65f00;--caution-weak:#fff4e0;--caution-ink:#8a4f00;--on-caution:#fff;--focus:#0072ce;--code-bg:#fff;--code-gutter:#f7f8fa;--code-line-number:#5f6b78;--code-text:#191f28;--code-keyword:#0058a3;--code-string:#0b6b3a;--code-number:#9a3412;--code-function:#6a1fb4;--code-comment:#5f6b78;--code-active-line:#f2f6fc;--code-exec-line:#fff4d6;--code-breakpoint:#d92d20;--shadow-sm:0 1px 2px #0b0e140f;--shadow-md:0 4px 16px #0b0e1414;--shadow-lg:0 12px 40px #0b0e1429}[data-theme=dark]{--bg:#101114;--surface:#1a1b20;--surface-sunken:#24262c;--surface-raised:#2a2c33;--line:#33353d;--line-control:#6e7682;--ink:#f2f4f6;--ink-secondary:#b0b8c1;--ink-tertiary:#959fab;--ink-disabled:#5a606b;--overlay:#000000a3;--brand-blue:#0072ce;--brand-indigo:#3e00ce;--brand-magenta:#c600ef;--appbar-learn:var(--brand-blue);--appbar-board:var(--brand-magenta);--on-appbar:#fff;--primary:#4da3ff;--primary-pressed:#79bbff;--primary-weak:#13263d;--primary-ink:#8cc4ff;--on-primary:#0b1220;--teacher:#e07bff;--teacher-weak:#33103d;--teacher-ink:#eaa3ff;--on-teacher:#1d0624;--ai:#a98bff;--ai-weak:#231a3f;--ai-ink:#c9b6ff;--on-ai:#140b2b;--success:#3fd08a;--success-weak:#0f2e21;--success-ink:#7fe3b0;--danger:#ff6b61;--danger-weak:#3a1514;--danger-ink:#ff9a92;--on-danger:#1f0907;--caution:#ffb547;--caution-weak:#3a2a0e;--caution-ink:#ffd08a;--on-caution:#241800;--focus:#79bbff;--code-bg:#15161a;--code-gutter:#1c1d22;--code-line-number:#848d99;--code-text:#e6e8eb;--code-keyword:#6cb6ff;--code-string:#8ddb8c;--code-number:#f0a37a;--code-function:#d2a8ff;--code-comment:#98a1ac;--code-active-line:#1f2733;--code-exec-line:#3a3016;--code-breakpoint:#ff6b61;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 16px #00000080;--shadow-lg:0 12px 40px #0009}[data-theme=light-cvd]{--bg:#f7f8fa;--surface:#fff;--surface-sunken:#f2f4f6;--surface-raised:#fff;--line:#e5e8eb;--line-control:#8a94a0;--ink:#191f28;--ink-secondary:#4e5968;--ink-tertiary:#5f6b78;--ink-disabled:#b0b8c1;--overlay:#0b0e1499;--brand-blue:#0072ce;--brand-indigo:#3e00ce;--brand-magenta:#c600ef;--appbar-learn:var(--brand-blue);--appbar-board:var(--brand-magenta);--on-appbar:#fff;--primary:var(--brand-blue);--primary-pressed:#005ba6;--primary-weak:#e8f2fc;--primary-ink:#005ba6;--on-primary:#fff;--teacher:#b000d4;--teacher-weak:#faebfe;--teacher-ink:#8a00a6;--on-teacher:#fff;--ai:var(--brand-indigo);--ai-weak:#efe9fd;--ai-ink:#3e00ce;--on-ai:#fff;--success:#0b5cad;--success-weak:#e6f0fb;--success-ink:#0a4f94;--danger:#9c2f12;--danger-weak:#fbeae4;--danger-ink:#8a2a10;--on-danger:#fff;--caution:#946c00;--caution-weak:#fbf3d9;--caution-ink:#6e5000;--on-caution:#fff;--focus:#0072ce;--code-bg:#fff;--code-gutter:#f7f8fa;--code-line-number:#5f6b78;--code-text:#191f28;--code-keyword:#0058a3;--code-string:#0b6b3a;--code-number:#9a3412;--code-function:#6a1fb4;--code-comment:#5f6b78;--code-active-line:#f2f6fc;--code-exec-line:#fff4d6;--code-breakpoint:#9c2f12;--shadow-sm:0 1px 2px #0b0e140f;--shadow-md:0 4px 16px #0b0e1414;--shadow-lg:0 12px 40px #0b0e1429}[data-theme=dark-cvd]{--bg:#101114;--surface:#1a1b20;--surface-sunken:#24262c;--surface-raised:#2a2c33;--line:#33353d;--line-control:#6e7682;--ink:#f2f4f6;--ink-secondary:#b0b8c1;--ink-tertiary:#959fab;--ink-disabled:#5a606b;--overlay:#000000a3;--brand-blue:#0072ce;--brand-indigo:#3e00ce;--brand-magenta:#c600ef;--appbar-learn:var(--brand-blue);--appbar-board:var(--brand-magenta);--on-appbar:#fff;--primary:#4da3ff;--primary-pressed:#79bbff;--primary-weak:#13263d;--primary-ink:#8cc4ff;--on-primary:#0b1220;--teacher:#e07bff;--teacher-weak:#33103d;--teacher-ink:#eaa3ff;--on-teacher:#1d0624;--ai:#a98bff;--ai-weak:#231a3f;--ai-ink:#c9b6ff;--on-ai:#140b2b;--success:#6cb6ff;--success-weak:#10263f;--success-ink:#9ccfff;--danger:#f97316;--danger-weak:#3a1a0a;--danger-ink:#ffa36b;--on-danger:#1f0907;--caution:#ffe08a;--caution-weak:#3a3010;--caution-ink:#ffe7a6;--on-caution:#241800;--focus:#79bbff;--code-bg:#15161a;--code-gutter:#1c1d22;--code-line-number:#848d99;--code-text:#e6e8eb;--code-keyword:#6cb6ff;--code-string:#8ddb8c;--code-number:#f0a37a;--code-function:#d2a8ff;--code-comment:#98a1ac;--code-active-line:#1f2733;--code-exec-line:#3a3016;--code-breakpoint:#f97316;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 16px #00000080;--shadow-lg:0 12px 40px #0009}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--inset-track:4px;--inset-list:8px;--inset-compact:12px;--inset-card:16px;--inset-panel:24px;--gap-inline:8px;--gap-stack:12px;--gap-form:16px;--gap-section:24px;--margin-page-compact:16px;--margin-page-regular:32px;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--radius-3xl:32px;--radius-full:9999px;--target-min:44px;--control-sm:32px;--control-md:40px;--control-lg:48px;--control-xl:56px;--header-height:56px;--mode-bar-height:40px;--stroke-1:1px;--stroke-2:2px;--icon-sm:16px;--icon-md:20px;--icon-lg:24px;--width-auth:400px;--width-dialog:400px;--width-reading:760px;--width-nav:240px;--width-detail:380px;--width-tile-min:200px;--text-scale-lg:1.25;--text-scale-xl:1.5;--text-scale-xxl:2;--z-header:10;--z-popover:20;--z-dialog:40;--z-toast:50;--font-sans:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", sans-serif;--font-display:"Google Sans Flex", "Pretendard Variable", Pretendard, -apple-system, "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;--font-mono:D2Coding, "D2 Coding", ui-monospace, Menlo, Consolas, monospace}.display{font-family:var(--font-display);font-size:calc(40px * var(--pc-ts,1));line-height:calc(52px * var(--pc-ts,1));letter-spacing:-.02em;font-weight:700}.title-1{font-family:var(--font-display);font-size:calc(28px * var(--pc-ts,1));line-height:calc(38px * var(--pc-ts,1));letter-spacing:-.02em;font-weight:700}.title-2{font-family:var(--font-display);font-size:calc(22px * var(--pc-ts,1));line-height:calc(32px * var(--pc-ts,1));letter-spacing:-.01em;font-weight:700}.title-3{font-family:var(--font-display);font-size:calc(19px * var(--pc-ts,1));line-height:calc(28px * var(--pc-ts,1));letter-spacing:-.01em;font-weight:600}.numeric{font-family:var(--font-display);font-size:calc(32px * var(--pc-ts,1));line-height:calc(40px * var(--pc-ts,1));letter-spacing:-.01em;font-weight:700}.body-1{font-family:var(--font-sans);font-size:calc(17px * var(--pc-ts,1));line-height:calc(28px * var(--pc-ts,1));font-weight:400}.body-1-strong{font-family:var(--font-sans);font-size:calc(17px * var(--pc-ts,1));line-height:calc(28px * var(--pc-ts,1));font-weight:600}.body-2{font-family:var(--font-sans);font-size:calc(15px * var(--pc-ts,1));line-height:calc(24px * var(--pc-ts,1));font-weight:400}.body-2-strong{font-family:var(--font-sans);font-size:calc(15px * var(--pc-ts,1));line-height:calc(24px * var(--pc-ts,1));font-weight:600}.label{font-family:var(--font-sans);font-size:calc(13px * var(--pc-ts,1));line-height:calc(20px * var(--pc-ts,1));font-weight:500}.caption{font-family:var(--font-sans);font-size:calc(12px * var(--pc-ts,1));line-height:calc(18px * var(--pc-ts,1));font-weight:400}.code{font-family:var(--font-mono);font-size:calc(15px * var(--pc-ts,1));line-height:calc(24px * var(--pc-ts,1));font-weight:400}.code-sm{font-family:var(--font-mono);font-size:calc(13px * var(--pc-ts,1));line-height:calc(20px * var(--pc-ts,1));font-weight:400}.code-xs{font-family:var(--font-mono);font-size:calc(12px * var(--pc-ts,1));line-height:calc(18px * var(--pc-ts,1));font-weight:400}:root{--pc-ts:1}[data-text-size=lg]{--pc-ts:var(--text-scale-lg)}[data-text-size=xl]{--pc-ts:var(--text-scale-xl)}[data-text-size=xxl]{--pc-ts:var(--text-scale-xxl)}[data-contrast=more]{--line:var(--line-control);--ink-tertiary:var(--ink-secondary)}@media (prefers-contrast:more){:root:not([data-contrast=normal]){--line:var(--line-control);--ink-tertiary:var(--ink-secondary)}}body{font-family:var(--font-sans);background:var(--surface);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}.pc-stage{align-items:center;gap:var(--space-3);padding:var(--space-4);flex-wrap:wrap;display:flex}.pc-col{gap:var(--space-3);padding:var(--space-4);flex-direction:column;display:flex}.pc-num{font-family:var(--font-display);font-variant-numeric:tabular-nums}.pc-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:root{--pc-ctl-r:var(--radius-sm);--pc-list-r:var(--radius-lg);--pc-compact-r:var(--radius-xl);--pc-box-r:var(--radius-2xl);--pc-panel-r:var(--radius-3xl)}:is(.pc-card,.pc-panel,.pc-listbox,.pc-inset,.pc-banner:not(.pc-banner-bar),.pc-dialog,.pc-err,.pc-queue,.pc-pred,.pc-tc,.pc-tile,.pc-cc,.pc-editor)>*{--pc-list-r:var(--radius-sm);--pc-compact-r:var(--radius-sm);--pc-box-r:var(--radius-sm);--pc-panel-r:var(--radius-sm)}.pc-card{box-sizing:border-box;padding:var(--inset-card);border-radius:var(--pc-box-r);background:var(--surface);box-shadow:inset 0 0 0 var(--stroke-1) var(--line)}.pc-panel{box-sizing:border-box;padding:var(--inset-panel);border-radius:var(--pc-panel-r);background:var(--surface);box-shadow:inset 0 0 0 var(--stroke-1) var(--line)}.pc-listbox{box-sizing:border-box;padding:var(--inset-list);border-radius:var(--pc-list-r);background:var(--surface);box-shadow:inset 0 0 0 var(--stroke-1) var(--line)}.pc-inset{box-sizing:border-box;padding:var(--inset-card);border-radius:var(--pc-box-r);background:var(--surface-sunken)}.pc-tint{box-shadow:none}.pc-toolbar{align-items:center;gap:var(--inset-track);padding:var(--inset-track);border-radius:var(--radius-md);background:var(--surface);box-shadow:inset 0 0 0 var(--stroke-1) var(--line);flex-wrap:wrap;display:flex}:is(.pc-card,.pc-panel,.pc-listbox,.pc-inset,.pc-banner:not(.pc-banner-bar),.pc-dialog,.pc-err,.pc-queue,.pc-pred,.pc-tc,.pc-tile,.pc-cc,.pc-editor) .pc-toolbar{box-shadow:none;background:0 0;padding:0}.pc-logo-dark,[data-theme^=dark] .pc-logo-light{display:none}[data-theme^=dark] .pc-logo-dark{display:block}:where(.pc-root) :focus-visible,.pc-focusable:focus-visible{outline:var(--stroke-2) solid var(--focus);outline-offset:2px}.pc-icon{stroke:currentColor;fill:none;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.125em;flex:none;width:1em;height:1em}.pc-spin{animation:1s linear infinite pc-spin}@keyframes pc-spin{to{transform:rotate(360deg)}}.pc-btn{--_bg:var(--primary);--_fg:var(--on-primary);--_bgp:var(--primary-pressed);justify-content:center;align-items:center;gap:var(--gap-inline);letter-spacing:-.01em;white-space:nowrap;background:var(--_bg);color:var(--_fg);cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;margin:0;font-family:inherit;font-weight:600;transition:background-color .12s,transform .12s,box-shadow .12s;display:inline-flex;position:relative}.pc-btn:hover:not(:disabled){background:var(--_bgp)}.pc-btn:active:not(:disabled){transform:scale(.97)}.pc-btn:focus-visible{outline:var(--stroke-2) solid var(--focus);outline-offset:2px}.pc-btn .pc-icon{font-size:1.15em}.pc-btn-sm{min-height:var(--control-sm);font-size:calc(13px * var(--pc-ts,1));border-radius:min(var(--pc-ctl-r), var(--radius-sm));padding:0 12px}.pc-btn-md{min-height:var(--control-md);font-size:calc(15px * var(--pc-ts,1));border-radius:var(--pc-ctl-r);padding:0 16px}.pc-btn-lg{min-height:var(--control-lg);font-size:calc(16px * var(--pc-ts,1));border-radius:var(--pc-ctl-r);padding:0 20px}.pc-btn-xl{min-height:var(--control-xl);font-size:calc(17px * var(--pc-ts,1));border-radius:var(--pc-ctl-r);padding:0 24px}.pc-btn-sm:after,.pc-btn-md:after{content:"";height:var(--target-min);position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.pc-btn-icon.pc-btn-sm{min-width:var(--control-sm);padding:0}.pc-btn-icon.pc-btn-md{min-width:var(--control-md);padding:0}.pc-btn-icon.pc-btn-lg{min-width:var(--control-lg);padding:0}.pc-btn-icon.pc-btn-xl{min-width:var(--control-xl);padding:0}.pc-btn-icon:after{width:var(--target-min);left:50%;transform:translate(-50%,-50%)}.pc-btn-block{width:100%;display:flex}.pc-btn-full{border-radius:0;width:100%;display:flex}.pc-btn-fill.pc-c-primary{--_bg:var(--primary);--_fg:var(--on-primary);--_bgp:var(--primary-pressed)}.pc-btn-fill.pc-c-dark{--_bg:var(--ink);--_fg:var(--surface);--_bgp:var(--ink-secondary)}.pc-btn-fill.pc-c-danger{--_bg:var(--danger);--_fg:var(--on-danger);--_bgp:var(--danger-ink)}.pc-btn-fill.pc-c-teacher{--_bg:var(--teacher);--_fg:var(--on-teacher);--_bgp:var(--teacher-ink)}.pc-btn-fill.pc-c-ai{--_bg:var(--ai);--_fg:var(--on-ai);--_bgp:var(--ai-ink)}.pc-btn-weak.pc-c-primary{--_bg:var(--primary-weak);--_fg:var(--primary-ink);--_bgp:var(--primary-weak)}.pc-btn-weak.pc-c-dark{--_bg:var(--surface-sunken);--_fg:var(--ink);--_bgp:var(--line)}.pc-btn-weak.pc-c-danger{--_bg:var(--danger-weak);--_fg:var(--danger-ink);--_bgp:var(--danger-weak)}.pc-btn-weak.pc-c-teacher{--_bg:var(--teacher-weak);--_fg:var(--teacher-ink);--_bgp:var(--teacher-weak)}.pc-btn-weak.pc-c-ai{--_bg:var(--ai-weak);--_fg:var(--ai-ink);--_bgp:var(--ai-weak)}.pc-btn-weak:hover:not(:disabled){box-shadow:inset 0 0 0 999px #0b0e140d}.pc-btn-ghost{--_bg:transparent;--_fg:var(--ink-secondary);--_bgp:var(--surface-sunken)}.pc-btn-ghost.pc-c-primary{--_fg:var(--primary-ink)}.pc-btn-ghost.pc-c-danger{--_fg:var(--danger-ink)}.pc-btn:disabled{cursor:not-allowed;opacity:.38}.pc-btn[aria-busy=true]{color:#0000;cursor:progress}.pc-btn-dots{justify-content:center;align-items:center;gap:var(--space-1);color:var(--_fg);display:flex;position:absolute;inset:0}.pc-btn-dots i{border-radius:var(--radius-full);background:currentColor;width:6px;height:6px;animation:1s ease-in-out infinite pc-dot}.pc-btn-dots i:nth-child(2){animation-delay:.15s}.pc-btn-dots i:nth-child(3){animation-delay:.3s}@keyframes pc-dot{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.pc-badge{white-space:nowrap;border-radius:var(--radius-sm);align-items:center;gap:4px;font-weight:600;display:inline-flex}.pc-badge-sm{min-height:20px;font-size:calc(12px * var(--pc-ts,1));padding:0 8px}.pc-badge-md{min-height:24px;font-size:calc(13px * var(--pc-ts,1));padding:0 8px}.pc-badge .pc-icon{font-size:1.1em}.pc-badge-weak.pc-t-neutral{background:var(--surface-sunken);color:var(--ink-secondary)}.pc-badge-weak.pc-t-primary{background:var(--primary-weak);color:var(--primary-ink)}.pc-badge-weak.pc-t-success{background:var(--success-weak);color:var(--success-ink)}.pc-badge-weak.pc-t-danger{background:var(--danger-weak);color:var(--danger-ink)}.pc-badge-weak.pc-t-caution{background:var(--caution-weak);color:var(--caution-ink)}.pc-badge-weak.pc-t-teacher{background:var(--teacher-weak);color:var(--teacher-ink)}.pc-badge-weak.pc-t-ai{background:var(--ai-weak);color:var(--ai-ink)}.pc-badge-fill.pc-t-neutral{background:var(--ink-secondary);color:var(--surface)}.pc-badge-fill.pc-t-primary{background:var(--primary);color:var(--on-primary)}.pc-badge-fill.pc-t-success{background:var(--success);color:var(--surface)}.pc-badge-fill.pc-t-danger{background:var(--danger);color:var(--on-danger)}.pc-badge-fill.pc-t-caution{background:var(--caution);color:var(--on-caution)}.pc-badge-fill.pc-t-teacher{background:var(--teacher);color:var(--on-teacher)}.pc-badge-fill.pc-t-ai{background:var(--ai);color:var(--on-ai)}.pc-badge-outline{color:var(--ink-secondary);box-shadow:inset 0 0 0 var(--stroke-1) var(--line-control);background:0 0}.pc-top{align-items:flex-end;gap:var(--space-4);padding:var(--space-6) 0 var(--space-4);display:flex}.pc-top-text{flex:1;min-width:0}.pc-top-eyebrow{font-size:calc(13px * var(--pc-ts,1));line-height:calc(20px * var(--pc-ts,1));color:var(--ink-tertiary);align-items:center;gap:var(--space-1);margin:0 0 4px;font-weight:500;display:flex}.pc-top-title{font-family:var(--font-display);font-size:calc(28px * var(--pc-ts,1));line-height:calc(38px * var(--pc-ts,1));letter-spacing:-.02em;color:var(--ink);overflow-wrap:anywhere;margin:0;font-weight:700}.pc-top-sub{font-size:calc(15px * var(--pc-ts,1));line-height:calc(24px * var(--pc-ts,1));color:var(--ink-secondary);margin:4px 0 0}.pc-top-actions{gap:var(--space-2);flex:none;display:flex}.pc-tabs{gap:var(--space-6);border-bottom:var(--stroke-1) solid var(--line);scrollbar-width:none;display:flex;overflow-x:auto}.pc-tab{align-items:center;gap:var(--gap-inline);min-height:var(--target-min);font:inherit;font-size:calc(15px * var(--pc-ts,1));color:var(--ink-tertiary);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0;font-weight:600;display:inline-flex;position:relative}.pc-tab[aria-selected=true]{color:var(--ink)}.pc-tab[aria-selected=true]:after{content:"";left:0;right:0;bottom:calc(-1 * var(--stroke-1));height:var(--stroke-2);border-radius:var(--radius-full);background:var(--ink);position:absolute}.pc-tab:disabled{color:var(--ink-disabled);cursor:not-allowed}.pc-tab-count{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:calc(13px * var(--pc-ts,1));color:inherit;opacity:.8}.pc-seg{gap:var(--inset-track);padding:var(--inset-track);border-radius:var(--radius-md);background:var(--surface-sunken);display:inline-flex}.pc-seg .pc-tab{min-height:36px;padding:0 var(--space-4);border-radius:var(--radius-sm);color:var(--ink-secondary);font-size:calc(14px * var(--pc-ts,1))}.pc-seg .pc-tab[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.pc-seg .pc-tab[aria-selected=true]:after{display:none}:is(.pc-card,.pc-panel,.pc-listbox,.pc-inset,.pc-banner:not(.pc-banner-bar),.pc-dialog,.pc-err,.pc-queue,.pc-pred,.pc-tc,.pc-tile,.pc-cc,.pc-editor) .pc-seg{background:0 0;padding:0}:is(.pc-card,.pc-panel,.pc-listbox,.pc-inset,.pc-banner:not(.pc-banner-bar),.pc-dialog,.pc-err,.pc-queue,.pc-pred,.pc-tc,.pc-tile,.pc-cc,.pc-editor) .pc-seg .pc-tab[aria-selected=true]{background:var(--ink);color:var(--surface);box-shadow:none}.pc-seg-full{display:flex}.pc-seg-full .pc-tab{flex:1;justify-content:center}.pc-list{margin:0;padding:0;list-style:none}.pc-lh{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-2) var(--space-2);display:flex}.pc-lh-title{font-size:calc(15px * var(--pc-ts,1));line-height:calc(24px * var(--pc-ts,1));color:var(--ink);margin:0;font-weight:700}.pc-lh-title small{color:var(--ink-tertiary);margin-left:var(--space-2);font-weight:500;font-size:calc(13px * var(--pc-ts,1))}.pc-row{align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-3) var(--space-2);border-radius:var(--pc-ctl-r);color:inherit;text-align:left;width:100%;font:inherit;box-sizing:border-box;background:0 0;border:0;text-decoration:none;display:flex}button.pc-row,a.pc-row{cursor:pointer}button.pc-row:hover,a.pc-row:hover{background:var(--surface-sunken)}.pc-row[aria-disabled=true]{cursor:not-allowed;opacity:.5}.pc-row[aria-current=true]{background:var(--primary-weak)}.pc-row-left{border-radius:var(--radius-full);background:var(--surface-sunken);width:40px;height:40px;color:var(--ink-secondary);font-size:calc(20px * var(--pc-ts,1));flex:none;place-items:center;display:grid}.pc-row-text{flex:1;min-width:0}.pc-row-title{font-size:calc(15px * var(--pc-ts,1));line-height:calc(24px * var(--pc-ts,1));color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;display:block;overflow:hidden}.pc-row-desc{font-size:calc(13px * var(--pc-ts,1));line-height:calc(20px * var(--pc-ts,1));color:var(--ink-tertiary);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.pc-row-right{align-items:center;gap:var(--space-2);font-size:calc(14px * var(--pc-ts,1));color:var(--ink-secondary);flex:none;display:flex}.pc-row-chev{color:var(--ink-tertiary);font-size:calc(18px * var(--pc-ts,1))}.pc-field{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.pc-field-label{font-size:calc(13px * var(--pc-ts,1));line-height:calc(20px * var(--pc-ts,1));color:var(--ink-secondary);justify-content:space-between;font-weight:500;display:flex}.pc-field-box{min-height:var(--control-lg);border-radius:var(--pc-ctl-r);background:var(--surface);box-shadow:inset 0 0 0 var(--stroke-1) var(--line-control);align-items:center;transition:box-shadow .12s;display:flex;position:relative}.pc-field-box:focus-within{box-shadow:inset 0 0 0 var(--stroke-2) var(--primary)}.pc-field-input{min-width:0;height:auto;padding:0 var(--space-4);font:inherit;font-size:calc(16px * var(--pc-ts,1));color:var(--ink);background:0 0;border:0;outline:none;flex:1;align-self:stretch}.pc-field-input::placeholder{color:var(--ink-tertiary)}.pc-field-box:has(.pc-field-suffix) .pc-field-input{padding-right:var(--space-2)}.pc-field-suffix{padding-right:var(--space-4);color:var(--ink-tertiary);align-items:center;display:flex}.pc-field-help{font-size:calc(13px * var(--pc-ts,1));line-height:calc(20px * var(--pc-ts,1));color:var(--ink-tertiary);align-items:flex-start;gap:4px;display:flex}.pc-field-help .pc-icon{margin-top:3px}.pc-field-err .pc-field-box{box-shadow:inset 0 0 0 var(--stroke-2) var(--danger)}.pc-field-err .pc-field-help{color:var(--danger-ink)}.pc-field-dis .pc-field-box,.pc-field-ro .pc-field-box{background:var(--surface-sunken);box-shadow:inset 0 0 0 var(--stroke-1) var(--line)}.pc-field-dis .pc-field-input{color:var(--ink-disabled);cursor:not-allowed}.pc-field-mono .pc-field-input{font-family:var(--font-mono);font-size:calc(15px * var(--pc-ts,1))}.pc-switch-row{align-items:center;gap:var(--space-4);min-height:var(--target-min);cursor:pointer;display:flex}.pc-switch-text{flex:1;min-width:0}.pc-switch-label{font-size:calc(15px * var(--pc-ts,1));line-height:calc(24px * var(--pc-ts,1));color:var(--ink);font-weight:600;display:block}.pc-switch-desc{font-size:calc(13px * var(--pc-ts,1));line-height:calc(20px * var(--pc-ts,1));color:var(--ink-tertiary);display:block}.pc-switch{border-radius:var(--radius-full);background:var(--line-control);cursor:pointer;border:0;flex:none;width:51px;height:31px;padding:0;transition:background-color .18s;position:relative}.pc-switch:before{content:"";border-radius:var(--radius-full);background:#fff;width:27px;height:27px;transition:transform .18s;position:absolute;top:2px;left:2px;box-shadow:0 2px 4px #0003}.pc-switch[aria-checked=true]{background:var(--primary)}.pc-switch[aria-checked=true]:before{transform:translate(20px)}.pc-switch:disabled{opacity:.38;cursor:not-allowed}.pc-check-row{align-items:center;gap:var(--gap-stack);min-height:var(--target-min);cursor:pointer;font-size:calc(15px * var(--pc-ts,1));color:var(--ink);display:inline-flex}.pc-check{border-radius:var(--radius-xs);width:22px;height:22px;box-shadow:inset 0 0 0 var(--stroke-1) var(--line-control);background:var(--surface);color:var(--on-primary);font-size:calc(16px * var(--pc-ts,1));cursor:pointer;border:0;flex:none;place-items:center;padding:0;display:grid}.pc-check[aria-checked=true],.pc-check[aria-checked=mixed]{background:var(--primary);box-shadow:none}.pc-check:disabled{opacity:.38;cursor:not-allowed}.pc-banner{align-items:flex-start;gap:var(--gap-stack);padding:var(--inset-compact);border-radius:var(--pc-compact-r);background:var(--surface-sunken);color:var(--ink);display:flex}.pc-banner-icon{font-size:calc(20px * var(--pc-ts,1));flex:none;margin-top:2px}.pc-banner-text{flex:1;min-width:0}.pc-banner-title{font-size:calc(15px * var(--pc-ts,1));line-height:calc(24px * var(--pc-ts,1));font-weight:600;display:block}.pc-banner-desc{font-size:calc(14px * var(--pc-ts,1));line-height:calc(22px * var(--pc-ts,1));color:var(--ink-secondary);display:block}.pc-banner-action{flex:none;align-self:center}.pc-banner-info .pc-banner-icon{color:var(--ink-secondary)}.pc-banner-primary{background:var(--primary-weak)}.pc-banner-primary .pc-banner-icon,.pc-banner-primary .pc-banner-title{color:var(--primary-ink)}.pc-banner-teacher{background:var(--teacher-weak)}.pc-banner-teacher .pc-banner-icon,.pc-banner-teacher .pc-banner-title{color:var(--teacher-ink)}.pc-banner-caution{background:var(--caution-weak)}.pc-banner-caution .pc-banner-icon,.pc-banner-caution .pc-banner-title{color:var(--caution-ink)}.pc-banner-danger{background:var(--danger-weak)}.pc-banner-danger .pc-banner-icon,.pc-banner-danger .pc-banner-title{color:var(--danger-ink)}.pc-banner-success{background:var(--success-weak)}.pc-banner-success .pc-banner-icon,.pc-banner-success .pc-banner-title{color:var(--success-ink)}.pc-banner-ai{background:var(--ai-weak)}.pc-banner-ai .pc-banner-icon,.pc-banner-ai .pc-banner-title{color:var(--ai-ink)}.pc-banner-offline{background:var(--ink);color:var(--surface)}.pc-banner-offline .pc-banner-desc{color:var(--surface);opacity:.85}.pc-banner-bar{min-height:var(--mode-bar-height);padding:var(--space-2) var(--margin-page-compact);border-radius:0;align-items:center}.pc-banner-bar .pc-banner-icon{font-size:calc(18px * var(--pc-ts,1));margin-top:0}.pc-banner-bar .pc-banner-text{align-items:baseline;gap:var(--space-2);flex-wrap:wrap;display:flex}.pc-banner-bar .pc-banner-title{font-size:calc(14px * var(--pc-ts,1))}.pc-banner-bar .pc-banner-desc{font-size:calc(13px * var(--pc-ts,1))}.pc-toast{align-items:center;gap:var(--space-3);box-sizing:border-box;max-width:440px;min-height:48px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-full);background:var(--ink);color:var(--surface);box-shadow:var(--shadow-lg);font-size:calc(15px * var(--pc-ts,1));line-height:calc(22px * var(--pc-ts,1));display:inline-flex}.pc-toast .pc-icon{font-size:calc(20px * var(--pc-ts,1));flex:none}.pc-toast-msg{flex:1}.pc-toast-action{min-height:var(--target-min);font:inherit;color:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;flex:none;padding:0 4px;font-weight:700;text-decoration:underline}.pc-dim{padding:var(--inset-panel);background:var(--overlay);border-radius:0;place-items:center;display:grid;position:relative}.pc-dialog{box-sizing:border-box;width:100%;max-width:400px;padding:var(--inset-panel);border-radius:var(--pc-panel-r);background:var(--surface-raised);color:var(--ink);box-shadow:var(--shadow-lg)}.pc-dialog-title{font-size:calc(19px * var(--pc-ts,1));line-height:calc(28px * var(--pc-ts,1));letter-spacing:-.01em;margin:0;font-weight:600}.pc-dialog-desc{margin:var(--space-2) 0 0;font-size:calc(15px * var(--pc-ts,1));line-height:calc(24px * var(--pc-ts,1));color:var(--ink-secondary)}.pc-dialog-body{margin-top:var(--space-4)}.pc-dialog-actions{gap:var(--space-2);margin-top:var(--space-6);display:flex}.pc-dialog-actions .pc-btn{flex:1}.pc-empty{text-align:center;padding:var(--space-10) var(--space-6);align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.pc-empty-icon{border-radius:var(--radius-full);background:var(--surface-sunken);width:56px;height:56px;color:var(--ink-tertiary);font-size:calc(26px * var(--pc-ts,1));margin-bottom:var(--space-2);place-items:center;display:grid}.pc-empty-title{font-size:calc(17px * var(--pc-ts,1));line-height:calc(26px * var(--pc-ts,1));color:var(--ink);margin:0;font-weight:600}.pc-empty-desc{max-width:340px;font-size:calc(15px * var(--pc-ts,1));line-height:calc(24px * var(--pc-ts,1));color:var(--ink-tertiary);margin:0}.pc-empty-action{margin-top:var(--space-3)}.pc-skel{border-radius:min(var(--pc-ctl-r), var(--radius-sm));background:var(--surface-sunken);display:block;position:relative;overflow:hidden}.pc-skel:after{content:"";background:linear-gradient(90deg,#0000,#ffffff73,#0000);animation:1.4s ease-in-out infinite pc-shimmer;position:absolute;inset:0;transform:translate(-100%)}[data-theme^=dark] .pc-skel:after{background:linear-gradient(90deg,#0000,#ffffff0f,#0000)}@keyframes pc-shimmer{to{transform:translate(100%)}}.pc-prog{gap:var(--space-2);flex-direction:column;display:flex}.pc-prog-head{font-size:calc(13px * var(--pc-ts,1));line-height:calc(20px * var(--pc-ts,1));color:var(--ink-secondary);justify-content:space-between;display:flex}.pc-prog-head b{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600}.pc-prog-track{border-radius:var(--radius-full);background:var(--surface-sunken);height:6px;overflow:hidden}.pc-prog-fill{border-radius:var(--radius-full);background:var(--primary);height:100%;transition:width .3s}.pc-prog-success .pc-prog-fill{background:var(--success)}.pc-prog-segs{align-items:center;gap:var(--space-1);min-height:10px;display:flex}.pc-prog-seg{border-radius:var(--radius-full);background:var(--surface-sunken);flex:1;height:6px}.pc-prog-seg.is-pass{background:var(--success)}.pc-prog-seg.is-try{background:repeating-linear-gradient(135deg, var(--caution) 0 3px, var(--caution-weak) 3px 6px);box-shadow:inset 0 0 0 var(--stroke-1) var(--caution)}.pc-prog-seg.is-now{background:var(--primary);height:10px}.pc-primm{align-items:flex-start;margin:0;padding:0;list-style:none;display:flex}.pc-primm-step{align-items:center;gap:var(--space-2);flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.pc-primm-step:before{content:"";width:100%;height:var(--stroke-2);background:var(--line);z-index:0;position:absolute;top:15px;right:50%}.pc-primm-step:first-child:before{display:none}.pc-primm-step.is-done:before,.pc-primm-step.is-current:before{background:var(--success)}.pc-primm-dot{z-index:1;border-radius:var(--radius-full);width:32px;height:32px;font-size:calc(16px * var(--pc-ts,1));background:var(--surface-sunken);color:var(--ink-tertiary);box-shadow:0 0 0 4px var(--surface);place-items:center;display:grid;position:relative}.pc-primm-label{font-size:calc(13px * var(--pc-ts,1));line-height:calc(18px * var(--pc-ts,1));color:var(--ink-tertiary);text-align:center;font-weight:600}.pc-primm-label small{font-weight:400;font-size:calc(12px * var(--pc-ts,1));color:var(--ink-tertiary);display:block}.is-done .pc-primm-dot{background:var(--success-weak);color:var(--success-ink)}.is-done .pc-primm-label{color:var(--ink-secondary)}.is-current .pc-primm-dot{background:var(--primary);color:var(--on-primary)}.is-current .pc-primm-label{color:var(--primary-ink)}.is-locked .pc-primm-dot{background:var(--surface-sunken);color:var(--ink-disabled)}.is-locked .pc-primm-label{color:var(--ink-tertiary)}button.pc-primm-hit{all:unset;cursor:pointer;display:contents}.pc-primm-compact{align-items:center;gap:var(--space-1);display:flex}.pc-primm-compact-bars{gap:2px;display:flex}.pc-primm-compact-bars i{background:var(--line);border-radius:2px;width:10px;height:4px}.pc-primm-compact-bars i.is-done{background:var(--success)}.pc-primm-compact-bars i.is-current{background:var(--primary);width:16px}.pc-primm-compact span{font-size:calc(12px * var(--pc-ts,1));line-height:calc(18px * var(--pc-ts,1));color:var(--ink-secondary);font-weight:600}.pc-editor{border-radius:var(--pc-box-r);background:var(--code-bg);box-shadow:inset 0 0 0 var(--stroke-1) var(--line);flex-direction:column;min-height:0;display:flex;position:relative;overflow:hidden}.pc-editor-head{align-items:center;gap:var(--gap-inline);min-height:var(--target-min);padding:0 var(--space-4);border-bottom:var(--stroke-1) solid var(--line);background:var(--surface);flex:none;display:flex}.pc-editor-file{font-size:calc(14px * var(--pc-ts,1));color:var(--ink);align-items:center;gap:var(--gap-inline);font-weight:600;display:inline-flex}.pc-editor-status{font-size:calc(12px * var(--pc-ts,1));line-height:calc(18px * var(--pc-ts,1));color:var(--ink-tertiary);align-items:center;gap:var(--space-1);margin-left:auto;display:inline-flex}.pc-editor-lock{align-items:center;gap:var(--space-2);padding:8px var(--space-4);background:var(--teacher-weak);color:var(--teacher-ink);font-size:calc(13px * var(--pc-ts,1));line-height:calc(20px * var(--pc-ts,1));border-bottom:var(--stroke-1) solid var(--line);font-weight:600;display:flex}.pc-editor-ro{align-items:center;gap:var(--space-2);padding:8px var(--space-4);background:var(--surface-sunken);color:var(--ink-secondary);font-size:calc(13px * var(--pc-ts,1));line-height:calc(20px * var(--pc-ts,1));border-bottom:var(--stroke-1) solid var(--line);display:flex}.pc-editor-body{font-family:var(--font-mono);font-size:calc(15px * var(--pc-ts,1));line-height:calc(24px * var(--pc-ts,1));padding:var(--space-2) 0;flex:1;display:flex;overflow:auto}.pc-editor-gutter{background:var(--code-gutter);color:var(--code-line-number);text-align:right;-webkit-user-select:none;user-select:none;padding:0 var(--space-2) 0 0;min-width:calc(52px * var(--pc-ts,1));box-sizing:border-box;flex:none}.pc-gl{height:calc(24px * var(--pc-ts,1));font-variant-numeric:tabular-nums;padding-left:24px;position:relative}.pc-gl-bp:before{content:"";border-radius:var(--radius-full);background:var(--code-breakpoint);width:10px;height:10px;margin-top:-5px;position:absolute;top:50%;left:8px}.pc-gl-exec:after{content:"";border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent var(--caution);margin-top:-6px;position:absolute;top:50%;left:6px}.pc-editor-code{min-width:0;color:var(--code-text);white-space:pre;tab-size:4;flex:1}.pc-cl{height:calc(24px * var(--pc-ts,1));padding:0 var(--space-4);position:relative}.pc-cl-active{background:var(--code-active-line)}.pc-cl-exec{background:var(--code-exec-line)}.pc-cl-teacher{box-shadow:inset var(--stroke-2) 0 0 0 var(--teacher);background:var(--teacher-weak)}.pc-cl-err{-webkit-text-decoration:underline wavy var(--danger);text-decoration:underline wavy var(--danger);-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-underline-offset:4px}.pc-k{color:var(--code-keyword);font-weight:700}.pc-s{color:var(--code-string)}.pc-n{color:var(--code-number)}.pc-f{color:var(--code-function)}.pc-c{color:var(--code-comment);font-style:italic}.pc-caret{top:calc(2px * var(--pc-ts,1));width:var(--stroke-2);height:calc(20px * var(--pc-ts,1));background:var(--primary);position:absolute}.pc-caret-t{background:var(--teacher)}.pc-caret-flag{padding:0 var(--space-2);min-height:calc(18px * var(--pc-ts,1));border-radius:var(--radius-xs) var(--radius-xs) var(--radius-xs) 0;background:var(--teacher);color:var(--on-teacher);font-family:var(--font-sans);font-size:calc(12px * var(--pc-ts,1));line-height:calc(18px * var(--pc-ts,1));white-space:nowrap;z-index:var(--z-popover);font-weight:600;position:absolute;bottom:100%;left:0;transform:translateY(2px)}.pc-editor-locked .pc-editor-code{cursor:not-allowed}.pc-editor-readonly .pc-editor-code{opacity:.85}.pc-queue{align-items:center;gap:var(--gap-stack);padding:var(--inset-compact);border-radius:var(--pc-compact-r);background:var(--surface-sunken);display:flex}.pc-queue-icon{border-radius:var(--radius-full);background:var(--surface);width:44px;height:44px;color:var(--primary-ink);font-size:calc(22px * var(--pc-ts,1));flex:none;place-items:center;display:grid}.pc-queue-text{flex:1;min-width:0}.pc-queue-title{font-size:calc(15px * var(--pc-ts,1));line-height:calc(24px * var(--pc-ts,1));color:var(--ink);font-weight:600;display:block}.pc-queue-desc{font-size:calc(13px * var(--pc-ts,1));line-height:calc(20px * var(--pc-ts,1));color:var(--ink-tertiary);display:block}.pc-queue-pos{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:calc(32px * var(--pc-ts,1));line-height:calc(40px * var(--pc-ts,1));color:var(--ink);flex:none;font-weight:700}.pc-queue-pos small{font-family:var(--font-sans);font-size:calc(15px * var(--pc-ts,1));color:var(--ink-secondary);margin-left:2px;font-weight:600}.pc-tc{border-radius:var(--pc-compact-r);background:var(--surface);box-shadow:inset 0 0 0 var(--stroke-1) var(--line);overflow:hidden}.pc-tc-head{align-items:center;gap:var(--space-3);min-height:48px;padding:0 var(--space-4);display:flex}.pc-tc-name{font-size:calc(15px * var(--pc-ts,1));color:var(--ink);align-items:center;gap:var(--gap-inline);flex:1;font-weight:600;display:flex}.pc-tc-name .pc-icon{color:var(--ink-tertiary)}.pc-tc-time{font-size:calc(13px * var(--pc-ts,1));color:var(--ink-tertiary);font-family:var(--font-display);font-variant-numeric:tabular-nums}.pc-tc-st{font-size:calc(14px * var(--pc-ts,1));align-items:center;gap:4px;font-weight:700;display:inline-flex}.pc-tc-st .pc-icon{font-size:calc(18px * var(--pc-ts,1))}.pc-tc-pass .pc-tc-st{color:var(--success)}.pc-tc-fail .pc-tc-st,.pc-tc-error .pc-tc-st{color:var(--danger)}.pc-tc-timeout .pc-tc-st,.pc-tc-memory .pc-tc-st{color:var(--caution)}.pc-tc-pending .pc-tc-st,.pc-tc-running .pc-tc-st{color:var(--ink-tertiary)}.pc-tc-body{gap:var(--stroke-1);background:var(--line);border-top:var(--stroke-1) solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.pc-tc-cell{background:var(--surface-sunken);padding:var(--space-2) var(--space-4);min-width:0}.pc-tc-cell b{font-size:calc(12px * var(--pc-ts,1));line-height:calc(18px * var(--pc-ts,1));color:var(--ink-tertiary);margin-bottom:2px;font-weight:600;display:block}.pc-tc-cell code{font-family:var(--font-mono);font-size:calc(13px * var(--pc-ts,1));line-height:calc(20px * var(--pc-ts,1));color:var(--ink);white-space:pre-wrap;word-break:break-all;display:block}.pc-tc-cell code mark{background:var(--danger-weak);color:var(--danger-ink);border-radius:var(--radius-xs);padding:0 2px}.pc-tc-hidden{padding:var(--space-3) var(--space-4);font-size:calc(13px * var(--pc-ts,1));line-height:calc(20px * var(--pc-ts,1));color:var(--ink-tertiary);border-top:var(--stroke-1) solid var(--line)}.pc-err{border-radius:var(--pc-box-r);background:var(--surface);box-shadow:inset 0 0 0 var(--stroke-1) var(--line);padding:var(--inset-card);gap:var(--space-3);display:flex}.pc-err-icon{font-size:calc(22px * var(--pc-ts,1));color:var(--danger);flex:none;margin-top:1px}.pc-err-body{flex:1;min-width:0}.pc-err-title{font-size:calc(16px * var(--pc-ts,1));line-height:calc(24px * var(--pc-ts,1));color:var(--ink);flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:0;font-weight:700;display:flex}.pc-err-title code{font-family:var(--font-mono);font-size:calc(13px * var(--pc-ts,1));color:var(--ink-tertiary);font-weight:400}.pc-err-line{font-size:calc(13px * var(--pc-ts,1));color:var(--danger-ink);font-weight:600}.pc-err-hint{font-size:calc(15px * var(--pc-ts,1));line-height:calc(24px * var(--pc-ts,1));color:var(--ink-secondary);margin:4px 0 0}.pc-err-raw{margin-top:var(--space-3)}.pc-err-raw summary{cursor:pointer;font-size:calc(13px * var(--pc-ts,1));color:var(--ink-tertiary);min-height:var(--target-min);align-items:center;gap:4px;font-weight:600;list-style:none;display:flex}.pc-err-raw pre{margin:var(--space-2) 0 0;padding:var(--space-3);border-radius:var(--pc-ctl-r);background:var(--surface-sunken);font-family:var(--font-mono);font-size:calc(13px * var(--pc-ts,1));line-height:calc(20px * var(--pc-ts,1));color:var(--ink);white-space:pre-wrap;word-break:break-word}.pc-pred{border-radius:var(--pc-box-r);background:var(--surface);box-shadow:inset 0 0 0 var(--stroke-1) var(--line);overflow:hidden}.pc-pred-head{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:var(--stroke-1) solid var(--line);font-size:calc(15px * var(--pc-ts,1));font-weight:700;display:flex}.pc-pred-head .pc-badge{margin-left:auto}.pc-pred-row{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:var(--stroke-1) solid var(--line);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr) 84px;display:grid}.pc-pred-row:last-child{border-bottom:0}.pc-pred-row.is-head{padding-top:var(--space-2);padding-bottom:var(--space-2);background:var(--surface-sunken);font-size:calc(12px * var(--pc-ts,1));color:var(--ink-tertiary);font-weight:600}.pc-pred-q{font-size:calc(14px * var(--pc-ts,1));line-height:calc(22px * var(--pc-ts,1));color:var(--ink-secondary)}.pc-pred-v{font-family:var(--font-mono);font-size:calc(15px * var(--pc-ts,1));color:var(--ink)}.pc-pred-v.is-empty{font-family:var(--font-sans);font-size:calc(13px * var(--pc-ts,1));color:var(--ink-tertiary)}.pc-pred-m{font-size:calc(13px * var(--pc-ts,1));justify-self:end;align-items:center;gap:4px;font-weight:700;display:inline-flex}.pc-pred-m.is-same{color:var(--success)}.pc-pred-m.is-diff{color:var(--caution)}.pc-pred-m.is-wait{color:var(--ink-tertiary);font-weight:500}.pc-pred-foot{padding:var(--space-3) var(--space-4);background:var(--surface-sunken);font-size:calc(14px * var(--pc-ts,1));line-height:calc(22px * var(--pc-ts,1));color:var(--ink-secondary);gap:var(--space-2);align-items:flex-start;display:flex}.pc-chat{gap:var(--space-2);align-items:flex-end;max-width:100%;display:flex}.pc-chat-student{justify-content:flex-end}.pc-chat-av{border-radius:var(--radius-full);background:var(--ai);width:28px;height:28px;color:var(--on-ai);font-size:calc(15px * var(--pc-ts,1));flex:none;place-items:center;display:grid}.pc-chat-b{max-width:80%;padding:var(--space-3);border-radius:var(--radius-lg);font-size:calc(15px * var(--pc-ts,1));line-height:calc(24px * var(--pc-ts,1));overflow-wrap:anywhere}.pc-chat-ai .pc-chat-b{background:var(--ai-weak);color:var(--ink);border-bottom-left-radius:var(--radius-xs)}.pc-chat-student .pc-chat-b{background:var(--primary);color:var(--on-primary);border-bottom-right-radius:var(--radius-xs)}.pc-chat-blocked .pc-chat-b{background:var(--surface-sunken);color:var(--ink-secondary);border-bottom-left-radius:var(--radius-xs)}.pc-chat-blocked .pc-chat-av{background:var(--surface-sunken);color:var(--ink-secondary)}.pc-chat-b pre{margin:var(--space-2) 0 var(--space-1);padding:var(--space-2) var(--space-3);border-radius:var(--radius-xs);background:var(--code-bg);box-shadow:inset 0 0 0 var(--stroke-1) var(--line);font-family:var(--font-mono);font-size:calc(13px * var(--pc-ts,1));line-height:calc(20px * var(--pc-ts,1));white-space:pre-wrap;color:var(--code-text)}.pc-chat-b .pc-chat-note{font-size:calc(12px * var(--pc-ts,1));line-height:calc(18px * var(--pc-ts,1));color:var(--ink-tertiary);display:block}.pc-chat-sys{justify-content:center;display:flex}.pc-chat-sys span{align-items:center;gap:var(--space-1);border-radius:var(--radius-full);background:var(--surface-sunken);font-size:calc(12px * var(--pc-ts,1));line-height:calc(18px * var(--pc-ts,1));color:var(--ink-secondary);text-align:center;padding:4px 12px;display:inline-flex}.pc-sig{align-items:center;gap:var(--space-1);min-height:24px;padding:0 var(--space-2);border-radius:var(--radius-sm);background:var(--caution-weak);color:var(--caution-ink);font-size:calc(12px * var(--pc-ts,1));white-space:nowrap;font-weight:600;display:inline-flex}.pc-sig .pc-icon{font-size:calc(14px * var(--pc-ts,1))}.pc-sig b{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-weight:700}.pc-sig-reviewed{background:var(--surface-sunken);color:var(--ink-tertiary)}.pc-sig-info{background:var(--surface-sunken);color:var(--ink-secondary)}.pc-tile{gap:var(--space-2);padding:var(--inset-compact);border-radius:var(--pc-compact-r);background:var(--surface);box-shadow:inset 0 0 0 var(--stroke-1) var(--line);text-align:left;min-width:0;font:inherit;color:inherit;cursor:pointer;box-sizing:border-box;border:0;flex-direction:column;display:flex;position:relative}.pc-tile:hover{box-shadow:inset 0 0 0 var(--stroke-1) var(--line-control)}.pc-tile-head{align-items:center;gap:var(--gap-inline);min-width:0;display:flex}.pc-tile-no{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:calc(13px * var(--pc-ts,1));color:var(--ink-tertiary);font-weight:700}.pc-tile-name{font-size:calc(15px * var(--pc-ts,1));line-height:calc(22px * var(--pc-ts,1));color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:700;overflow:hidden}.pc-tile-dot{border-radius:var(--radius-full);flex:none;width:8px;height:8px}.pc-tile-state{font-size:calc(12px * var(--pc-ts,1));line-height:calc(18px * var(--pc-ts,1));color:var(--ink-tertiary);flex:none;align-items:center;gap:4px;display:inline-flex}.pc-dot-online{background:var(--success)}.pc-dot-idle,.pc-dot-away{background:var(--caution)}.pc-dot-offline{box-shadow:inset 0 0 0 var(--stroke-2) var(--ink-tertiary);background:0 0}.pc-tile-code{height:calc(88px * var(--pc-ts,1));box-sizing:border-box;border-radius:var(--pc-ctl-r);background:var(--code-bg);box-shadow:inset 0 0 0 var(--stroke-1) var(--line);padding:var(--space-2);font-family:var(--font-mono);font-size:calc(12px * var(--pc-ts,1));line-height:calc(18px * var(--pc-ts,1));color:var(--code-text);white-space:pre;position:relative;overflow:hidden}.pc-tile-code:after{content:"";background:linear-gradient(transparent, var(--code-bg));height:24px;position:absolute;bottom:0;left:0;right:0}.pc-tile-foot{align-items:center;gap:var(--space-2);justify-content:space-between;display:flex}.pc-tile-sigs{gap:var(--space-1);flex-wrap:wrap;min-height:24px;display:flex}.pc-tile-sel{box-shadow:inset 0 0 0 var(--stroke-2) var(--primary)}.pc-tile-signal{box-shadow:inset 0 0 0 var(--stroke-2) var(--caution)}.pc-tile-teacher{box-shadow:inset 0 0 0 var(--stroke-2) var(--teacher)}.pc-tile-offline{background:var(--bg);box-shadow:inset 0 0 0 var(--stroke-1) var(--line)}.pc-tile-offline .pc-tile-code{opacity:.45}.pc-tile-offline .pc-tile-name{color:var(--ink-secondary)}.pc-tile-flag{top:-9px;right:var(--inset-compact);min-height:18px;padding:0 var(--space-2);border-radius:var(--radius-full);background:var(--teacher);color:var(--on-teacher);font-size:calc(12px * var(--pc-ts,1));line-height:calc(18px * var(--pc-ts,1));align-items:center;gap:4px;font-weight:600;display:inline-flex;position:absolute}.pc-cc{align-items:center;gap:var(--space-4);padding:var(--inset-compact);border-radius:var(--pc-compact-r);background:var(--surface);box-shadow:inset 0 0 0 var(--stroke-1) var(--line);flex-wrap:wrap;display:flex}.pc-cc-group{align-items:center;gap:var(--space-2);display:flex}.pc-cc-label{font-size:calc(13px * var(--pc-ts,1));color:var(--ink-tertiary);font-weight:600}.pc-cc-sync{align-items:center;gap:var(--space-1);font-size:calc(13px * var(--pc-ts,1));line-height:calc(20px * var(--pc-ts,1));color:var(--ink-secondary);margin-left:auto;display:inline-flex}.pc-cc-sync b{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--ink)}.pc-cc-sync.is-pending{color:var(--caution-ink)}.pc-cc-lock[aria-pressed=true]{--_bg:var(--teacher);--_fg:var(--on-teacher);--_bgp:var(--teacher-ink)}.pc-appbar{align-items:center;gap:var(--gap-stack);min-height:var(--header-height);box-sizing:border-box;padding:var(--space-2) var(--margin-page-compact);background:var(--appbar-learn);color:var(--on-appbar);--focus:var(--on-appbar);display:flex}.pc-appbar-board{background:var(--appbar-board)}.pc-appbar-logo{flex:none;width:32px;height:32px;display:block}.pc-appbar-text{flex-direction:column;flex:1;min-width:0;display:flex}.pc-appbar-meta{font-size:calc(12px * var(--pc-ts,1));line-height:calc(16px * var(--pc-ts,1));font-weight:500}.pc-appbar-title{font-size:calc(15px * var(--pc-ts,1));line-height:calc(20px * var(--pc-ts,1));text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.pc-appbar-status{align-items:center;gap:var(--space-1);font-size:calc(13px * var(--pc-ts,1));line-height:calc(20px * var(--pc-ts,1));white-space:nowrap;font-weight:500;display:inline-flex}.pc-appbar .pc-btn-ghost{--_fg:var(--on-appbar);--_bgp:#ffffff29}.pc-appbar-avatar{border-radius:var(--radius-full);background:var(--on-appbar);width:40px;height:40px;color:var(--appbar-learn);font-family:var(--font-sans);cursor:pointer;border:0;flex:none;font-size:14px;font-weight:700}.pc-appbar-board .pc-appbar-avatar{color:var(--appbar-board)}.pc-appbar-avatar:focus-visible{outline:var(--stroke-2) solid var(--on-appbar);outline-offset:2px}@media (prefers-reduced-motion:reduce){.pc-btn,.pc-switch,.pc-switch:before,.pc-prog-fill,.pc-field-box{transition:none}.pc-spin,.pc-btn-dots i,.pc-skel:after{animation:none}.pc-btn:active:not(:disabled){transform:none}}.app-logo{align-items:center;display:inline-flex}.app-logo img{flex:none;width:auto;height:100%}.app-auth{box-sizing:border-box;min-height:100vh;padding:var(--space-16) var(--margin-page-compact) var(--space-8);background:var(--bg);color:var(--ink);flex-direction:column;align-items:center;display:flex}.app-auth-main{width:100%;max-width:var(--width-auth);gap:var(--gap-section);flex-direction:column;flex:1;display:flex}.app-auth-main>.app-logo{align-self:flex-start}.app-auth-head{gap:var(--space-2);flex-direction:column;display:flex}.app-auth-head>*{margin:0}.app-auth-head>p{color:var(--ink-secondary)}.app-auth-form{gap:var(--gap-form);flex-direction:column;display:flex}.app-auth-footer{margin-top:var(--space-8);color:var(--ink-tertiary);text-align:center}.app-auth-note{gap:var(--space-1);padding:0 var(--space-1);flex-direction:column;display:flex}.app-auth-note>p{margin:0}.app-auth-note>p+p{color:var(--ink-secondary)}.app-auth-hint{margin:calc(-1 * var(--space-2)) 0 0;color:var(--ink-tertiary);text-align:center;font-weight:400}.app-auth-switch{justify-content:space-between;align-items:center;gap:var(--space-3);padding:0 var(--space-1);color:var(--ink-secondary);display:flex}.app-rules{margin:calc(-1 * var(--space-1)) 0 0;gap:var(--space-2);font-size:calc(14px * var(--pc-ts,1));line-height:calc(20px * var(--pc-ts,1));flex-direction:column;padding:0;list-style:none;display:flex}.app-rules>li{align-items:center;gap:var(--space-2);display:flex}.app-rule-idle{color:var(--ink-tertiary)}.app-rule-met{color:var(--success-ink)}.app-rule-unmet{color:var(--danger-ink);font-weight:600}.app-usermenu{flex:none;display:flex;position:relative}.app-usermenu-panel{top:calc(100% + var(--space-2));z-index:var(--z-popover);gap:var(--space-2);min-width:240px;color:var(--ink);box-shadow:var(--shadow-md), inset 0 0 0 var(--stroke-1) var(--line);--focus:var(--primary-ink);flex-direction:column;display:flex;position:absolute;right:0}.app-usermenu-who{padding:var(--space-1) var(--space-2);flex-direction:column;display:flex}.app-usermenu-who>.caption{color:var(--ink-tertiary)}a.pc-btn{text-decoration:none}.pc-btn[aria-disabled=true]{cursor:not-allowed;opacity:.38}.pc-btn[aria-disabled=true]:hover{background:var(--_bg);box-shadow:none}.pc-btn[aria-disabled=true]:active{transform:none}.app-student{background:var(--bg);min-height:100vh;color:var(--ink);flex-direction:column;display:flex}.app-student-main{box-sizing:border-box;width:100%;max-width:1120px;padding:0 var(--margin-page-compact) var(--space-8);gap:var(--gap-form);flex-direction:column;margin:0 auto;display:flex}.app-sidenav{width:var(--width-nav);box-sizing:border-box;height:100vh;padding:var(--space-4) var(--space-3);gap:var(--space-1);background:var(--surface);border-right:var(--stroke-1) solid var(--line);flex-direction:column;flex:none;display:flex;position:sticky;top:0;overflow-y:auto}.app-sidenav>.app-logo{margin:0 var(--space-2) var(--space-4);align-self:flex-start}.app-sidenav-context{align-items:center;gap:var(--space-2);min-height:52px;margin-bottom:var(--space-3);color:var(--ink);text-decoration:none;display:flex}a.app-sidenav-context:hover{box-shadow:inset 0 0 0 var(--stroke-1) var(--line-control)}.app-sidenav-context-text{flex-direction:column;flex:1;min-width:0;display:flex}.app-sidenav-context-text>.caption{color:var(--ink-tertiary)}.app-sidenav-context-value{font-size:calc(15px * var(--pc-ts,1));line-height:calc(22px * var(--pc-ts,1));font-weight:600}.app-sidenav-list{gap:var(--space-1);flex-direction:column;flex:1;margin:0;padding:0;list-style:none;display:flex}.app-sidenav-link{align-items:center;gap:var(--space-3);min-height:var(--target-min);padding:0 var(--space-3);border-radius:var(--pc-ctl-r);color:var(--ink-secondary);font-size:calc(15px * var(--pc-ts,1));line-height:calc(22px * var(--pc-ts,1));font-weight:500;text-decoration:none;display:flex}a.app-sidenav-link:not([aria-current=page]):hover{background:var(--surface-sunken)}.app-sidenav-link[aria-current=page]{background:var(--primary-weak);color:var(--primary-ink);font-weight:600}.app-sidenav-link[aria-disabled=true]{color:var(--ink-disabled);cursor:not-allowed}.app-sidenav-user{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-2) 0;border-top:var(--stroke-1) solid var(--line);display:flex}.app-sidenav-avatar{border-radius:var(--radius-full);background:var(--teacher-weak);width:36px;height:36px;color:var(--teacher-ink);font-size:calc(13px * var(--pc-ts,1));flex:none;place-items:center;font-weight:600;display:grid}.app-sidenav-who{flex-direction:column;flex:1;min-width:0;display:flex}.app-sidenav-name{font-size:calc(14px * var(--pc-ts,1));line-height:calc(20px * var(--pc-ts,1));text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.app-sidenav-who>.caption{color:var(--ink-tertiary)}.app-console{background:var(--bg);min-height:100vh;color:var(--ink);display:flex}.app-console-main{box-sizing:border-box;min-width:0;padding:0 var(--margin-page-regular) var(--space-8);gap:var(--gap-form);flex-direction:column;flex:1;display:flex}.app-console-bar{margin:0 calc(-1 * var(--margin-page-regular)) calc(-1 * var(--gap-form))}.app-console-bar:empty{display:none}.app-dim{z-index:var(--z-dialog);position:fixed;inset:0;overflow-y:auto}.app-dim .pc-dialog-title:focus{outline:none}.app-loading{gap:var(--gap-form);flex-direction:column;display:flex}.app-toast-slot{left:0;right:0;bottom:var(--space-8);z-index:var(--z-toast);padding:0 var(--margin-page-compact);pointer-events:none;justify-content:center;display:flex;position:fixed}.app-toast-slot>*{pointer-events:auto}.app-console .app-toast-slot{left:var(--width-nav)}.app-table-card{padding:0;overflow-x:auto}.app-table{border-collapse:collapse;width:100%;font-size:calc(14px * var(--pc-ts,1));line-height:calc(20px * var(--pc-ts,1))}.app-table th{padding:var(--space-3) var(--space-2);background:var(--surface-sunken);color:var(--ink-secondary);text-align:left;white-space:nowrap;font-weight:600}.app-table td{height:56px;padding:0 var(--space-2);border-top:var(--stroke-1) solid var(--line)}.app-table :is(th,td):first-child{padding-left:var(--space-4)}.app-table :is(th,td):last-child{padding-right:var(--space-4)}.app-table tr[aria-current=true] td{background:var(--primary-weak)}.app-table-mono{font-family:var(--font-mono);white-space:nowrap}.app-table-sub{color:var(--ink-tertiary);font-size:calc(12px * var(--pc-ts,1));line-height:calc(18px * var(--pc-ts,1));display:block}.app-pager{justify-content:flex-end;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-top:var(--stroke-1) solid var(--line);color:var(--ink-secondary);font-size:calc(14px * var(--pc-ts,1));display:flex}.app-dialog-stack{gap:var(--gap-stack);flex-direction:column;display:flex}.app-login-code-box{align-items:center;gap:var(--space-2);text-align:center;color:var(--ink-secondary);flex-direction:column;display:flex}.app-login-code{font-family:var(--font-mono);font-size:calc(56px * var(--pc-ts,1));line-height:calc(64px * var(--pc-ts,1));letter-spacing:.12em;color:var(--ink);margin-right:-.12em;font-weight:700}.app-secret-row{align-items:center;gap:var(--space-2);display:flex}.app-secret-text{flex-direction:column;flex:1;min-width:0;display:flex}.app-secret-text>.caption{color:var(--ink-tertiary)}.app-secret{font-family:var(--font-mono);font-size:calc(19px * var(--pc-ts,1));line-height:calc(28px * var(--pc-ts,1));letter-spacing:.04em;font-weight:700}.app-copy-note{margin:var(--space-2) 0 0;color:var(--ink-secondary)}.app-row-actions{justify-content:flex-end;gap:var(--space-1);flex-wrap:wrap;display:inline-flex}.app-order-cell{align-items:center;gap:var(--space-2);display:inline-flex}.app-order-cell .app-row-actions{flex-wrap:nowrap}.app-table td.app-assign-problem{min-width:10rem}.app-table td.app-assign-period{white-space:normal;min-width:9rem}.app-cell-note{align-items:center;gap:var(--space-2);color:var(--ink-tertiary);font-size:calc(13px * var(--pc-ts,1));line-height:calc(20px * var(--pc-ts,1));display:inline-flex}.app-teacher-fieldset{gap:var(--gap-stack);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.app-teacher-fieldset+.app-teacher-fieldset{padding-top:var(--space-4);border-top:var(--stroke-1) solid var(--line)}.app-teacher-legend{width:100%;min-height:var(--control-sm);font-size:calc(15px * var(--pc-ts,1));line-height:calc(22px * var(--pc-ts,1));justify-content:space-between;align-items:center;padding:0;font-weight:600;display:flex}.app-credential-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.app-aside-head{gap:var(--space-1);padding:var(--space-2) var(--space-2) 0;flex-direction:column;display:flex}.app-aside-head>.label{color:var(--ink-tertiary);font-weight:400}.app-teacher-detail{gap:var(--space-2);margin-bottom:var(--space-2);flex-direction:column;display:flex}.app-teacher-detail>.caption{color:var(--ink-secondary)}.app-teacher-detail .app-row-actions{justify-content:flex-start}.app-aside-note{gap:var(--space-2);margin-top:var(--space-2);color:var(--ink-secondary);display:flex}.app-aside-note>.pc-icon{margin-top:var(--space-1);flex:none}.app-row-skeleton{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-2);display:flex}.app-row-skeleton-text{flex:1}.app-filter{align-items:flex-start;gap:var(--gap-inline);flex-wrap:wrap;display:flex}.app-filter>.pc-field{flex:240px;max-width:360px}.app-split{align-items:flex-start;gap:var(--gap-form);flex-wrap:wrap;display:flex}.app-split-main{flex:999 560px;min-width:0}.app-split-aside{flex-direction:column;flex:340px;min-width:0;display:flex}.app-text-button{min-height:var(--target-min);font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.app-text-button:hover{text-underline-offset:3px;text-decoration:underline}.app-text-button:focus-visible{outline:var(--stroke-2) solid var(--focus);outline-offset:2px;border-radius:var(--radius-xs)}.app-roster-filter{justify-content:space-between;align-items:flex-start;gap:var(--gap-stack);flex-wrap:wrap;display:flex}.app-roster-filter>.app-roster-search{flex:0 280px}.app-table :is(th,td).app-table-end{text-align:right}.app-table-strong{font-weight:600}.app-table-quiet{color:var(--ink-secondary);white-space:nowrap}.app-choice{border:0;margin:0;padding:0}.app-choice>legend{margin-bottom:var(--space-2);padding:0}.app-choice-list{max-height:280px;padding:var(--space-1);flex-direction:column;display:flex;overflow-y:auto}.app-choice-list>.pc-row{cursor:pointer}.app-choice-list>.pc-row[data-checked=true]{background:var(--primary-weak)}.app-choice-list>.pc-row[data-checked=true] .pc-row-right{color:var(--primary-ink)}.app-choice-list>.pc-row:has(input:focus-visible){outline:var(--stroke-2) solid var(--focus);outline-offset:calc(-1 * var(--stroke-2))}.app-self-start{align-self:flex-start}.app-box-empty{padding:var(--space-2) var(--space-2) var(--space-3);color:var(--ink-tertiary);margin:0}.app-page-narrow{gap:var(--gap-form);flex-direction:column;max-width:880px;display:flex}.app-box-title{margin:var(--space-3) var(--space-2) var(--space-1)}.app-settings-box{gap:var(--space-2);flex-direction:column;display:flex}.app-settings-box>.pc-switch-row{padding:0 var(--space-2)}.app-settings-card{gap:var(--gap-form);flex-direction:column;display:flex}.app-card-head{gap:var(--space-1);flex-direction:column;display:flex}.app-card-head>*{margin:0}.app-card-head>p{color:var(--ink-secondary)}.app-threshold-grid{gap:var(--gap-stack);grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));display:grid}.app-card-foot{justify-content:space-between;align-items:center;gap:var(--gap-stack);flex-wrap:wrap;display:flex}.app-card-note{color:var(--ink-tertiary);font-weight:400}.app-table-card>.pc-lh{padding:var(--space-4) var(--space-4) var(--space-2)}.app-aside-stack{gap:var(--gap-form)}.app-side-card,.app-enroll-form{gap:var(--gap-stack);flex-direction:column;display:flex}.app-filter>.pc-field.app-filter-class{flex:0 0 120px}.app-side-card .app-filter>.pc-field:not(.app-filter-class){flex-basis:160px}.app-plain-list{padding:var(--space-1) var(--space-3);flex-direction:column;margin:0;list-style:none;display:flex}.app-plain-row{align-items:center;gap:var(--space-2);min-height:56px;display:flex}.app-plain-row+.app-plain-row{border-top:var(--stroke-1) solid var(--line)}.app-plain-text{flex-direction:column;flex:1;min-width:0;display:flex}.app-plain-text>.caption{color:var(--ink-tertiary)}.app-aside-box,.app-admin-subject{flex-direction:column;display:flex}.app-admin-subject+.app-admin-subject{margin-top:var(--space-2);border-top:var(--stroke-1) solid var(--line)}.app-admin-subject-head{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-2) 0;display:flex}.app-upload-card{gap:var(--gap-form);flex-direction:column;max-width:880px;display:flex}.app-file-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.app-file-text{overflow-wrap:anywhere;flex-direction:column;flex:200px;min-width:0;display:flex}.app-file-text>.caption{color:var(--ink-tertiary)}.app-check-field{flex-direction:column;display:flex}.app-check-desc{padding-left:calc(22px + var(--gap-stack));margin:0}.app-table tr.app-table-row-danger td{background:var(--danger-weak)}.app-table-reason{min-width:200px;color:var(--ink-secondary)}.app-table-foot{padding:var(--space-3) var(--space-4);border-top:var(--stroke-1) solid var(--line);color:var(--ink-tertiary);margin:0}.app-id-rule{align-items:center;gap:var(--gap-form);flex-wrap:wrap;display:flex}.app-id-rule-text{flex-direction:column;flex:320px;display:flex}.app-id-rule-text>.body-2{color:var(--ink-secondary)}.app-id-rule-sample{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--surface-sunken);font-family:var(--font-mono);font-size:calc(15px * var(--pc-ts,1));line-height:calc(24px * var(--pc-ts,1))}.app-page-note{color:var(--ink-secondary);margin:0;font-weight:400}.app-table-link{min-height:var(--target-min);color:var(--ink);overflow-wrap:anywhere;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.app-table-link:hover{text-underline-offset:3px;text-decoration:underline}.app-print-hide{display:contents}.app-sheet{gap:var(--gap-form);grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));margin:0;padding:0;list-style:none;display:grid}.app-sheet-card{box-sizing:border-box;gap:var(--space-3);padding:var(--inset-card);border-radius:var(--pc-box-r);background:var(--surface);box-shadow:inset 0 0 0 var(--stroke-1) var(--line);break-inside:avoid;flex-direction:column;display:flex}.app-sheet-head{justify-content:space-between;align-items:center;gap:var(--space-2);color:var(--ink-tertiary);display:flex}.app-sheet-who{flex-direction:column;margin:0;display:flex}.app-sheet-who>.label{color:var(--ink-secondary)}.app-sheet-fields{align-items:baseline;gap:var(--space-1) var(--space-3);font-size:calc(14px * var(--pc-ts,1));line-height:calc(20px * var(--pc-ts,1));grid-template-columns:auto minmax(0,1fr);margin:0;display:grid}.app-sheet-fields>dt{color:var(--ink-secondary)}.app-sheet-fields>dd{overflow-wrap:anywhere;margin:0}.app-sheet-secret{font-family:var(--font-mono);font-size:calc(17px * var(--pc-ts,1));line-height:calc(24px * var(--pc-ts,1));letter-spacing:.04em;font-weight:700}.app-sheet-note{padding-top:var(--space-2);border-top:var(--stroke-1) solid var(--line);color:var(--ink-secondary);margin:0}@media print{@page{size:A4;margin:12mm}.app-sidenav,.app-console-bar,.app-print-hide,.app-toast-slot,.app-dim{display:none}.app-console,.app-console-main{background:0 0;min-height:0;padding:0;display:block}.app-sheet{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr))}.app-sheet-card{box-shadow:none;border:var(--stroke-1) dashed var(--ink-tertiary)}}.app-editor{box-shadow:none;border:var(--stroke-1) solid var(--line)}.app-editor:focus-within{border-color:var(--focus);outline:var(--stroke-1) solid var(--focus)}.app-editor-err,.app-editor-err:focus-within{border-color:var(--danger);outline:var(--stroke-1) solid var(--danger)}.app-editor-code{min-height:0}.app-editor-code>.cm-editor{height:100%}.app-debug-gutter{cursor:pointer}.app-debug-controls{justify-content:flex-start}.app-debug-status{margin:0;font-weight:600}.app-var-table caption{padding:0 0 var(--space-2);text-align:left;color:var(--ink-tertiary)}.app-var-table td,.app-var-table tbody th{height:auto;padding-top:var(--space-2);padding-bottom:var(--space-2)}.app-var-table tbody th{color:var(--ink);text-align:left;vertical-align:top;background:0 0}.app-var-table td.app-var-value{white-space:normal;overflow-wrap:anywhere}.app-checkpoint-eyebrow{align-items:center;gap:var(--space-2);color:var(--primary);margin:0;display:flex}.app-checkpoint-question{margin:0}.app-var-table tr.app-watch-now>*{background:var(--code-exec-line);font-weight:600}.app-home{align-items:flex-start;gap:var(--gap-form);flex-wrap:wrap;display:flex}.app-home-list{flex:999 480px;min-width:0}.app-home-aside{flex:280px;min-width:0}.app-home-task{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.app-home-task-icon{border-radius:var(--radius-md);background:var(--surface-sunken);width:44px;height:44px;color:var(--ink-secondary);flex:none;justify-content:center;align-items:center;display:inline-flex}.app-home-task-text{gap:var(--space-1);flex-direction:column;flex:200px;min-width:0;display:flex}.app-home-task-title{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.app-submit-summary{gap:var(--space-1);flex-direction:column;margin:0;display:flex}.app-editor-help{padding:var(--space-2) var(--space-4);border-top:var(--stroke-1) solid var(--line);background:var(--surface);color:var(--ink-secondary);flex:none;margin:0;font-weight:400}.app-keybar{gap:var(--space-1);padding:var(--space-2);border-top:var(--stroke-1) solid var(--line);background:var(--surface);flex:none;display:flex;overflow-x:auto}.app-keybar>.pc-btn{flex:none}.app-keybar-symbol{min-width:var(--target-min);font-family:var(--font-mono);font-size:calc(18px * var(--pc-ts,1));padding:0}.app-keybar-gap{flex:1}.app-markdown{font-size:calc(17px * var(--pc-ts,1));line-height:calc(28px * var(--pc-ts,1));color:var(--ink);overflow-wrap:anywhere}.app-markdown>*{margin:0}.app-markdown>*+*{margin-top:var(--space-3)}.app-markdown :is(h3,h4,h5,h6){font-weight:700}.app-markdown h3{font-size:calc(19px * var(--pc-ts,1));line-height:calc(28px * var(--pc-ts,1))}.app-markdown :is(h4,h5,h6){font-size:calc(17px * var(--pc-ts,1))}.app-markdown :is(ul,ol){padding-left:var(--space-6)}.app-markdown li>p{margin:0}.app-markdown code{padding:0 var(--space-1);border-radius:var(--radius-xs);background:var(--surface-sunken);font-family:var(--font-mono);font-size:calc(15px * var(--pc-ts,1))}.app-markdown pre{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--surface-sunken);overflow-x:auto}.app-markdown pre code{line-height:calc(24px * var(--pc-ts,1));background:0 0;padding:0}.app-markdown blockquote{padding-left:var(--space-4);border-left:var(--stroke-2) solid var(--line-control);color:var(--ink-secondary)}.app-markdown a[href]{color:var(--primary-ink);text-underline-offset:3px}.app-markdown hr{border:0;border-top:var(--stroke-1) solid var(--line)}.app-markdown table{border-collapse:collapse;max-width:100%;font-size:calc(15px * var(--pc-ts,1));line-height:calc(24px * var(--pc-ts,1));display:block;overflow-x:auto}.app-markdown :is(th,td){padding:var(--space-2) var(--space-3);border:var(--stroke-1) solid var(--line);text-align:left}.app-markdown th{background:var(--surface-sunken);font-weight:600}.app-markdown :is(th,td)[align=center]{text-align:center}.app-markdown :is(th,td)[align=right]{text-align:right}.app-textarea{box-sizing:border-box;padding:var(--space-3) var(--space-4);line-height:calc(24px * var(--pc-ts,1));resize:vertical}.app-select{appearance:none;padding-right:calc(var(--space-4) + var(--icon-md) + var(--space-2));cursor:pointer}.app-select-icon{top:0;right:var(--space-4);color:var(--ink-tertiary);pointer-events:none;align-items:center;display:flex;position:absolute;bottom:0}.app-form-stack,.app-form-card{gap:var(--gap-form);flex-direction:column;min-width:0;display:flex}.app-form-title,.app-group-label,.app-form-value{margin:0}.app-form-section{gap:var(--gap-stack);flex-direction:column;min-width:0;display:flex}.app-fieldset{border:0;margin:0;padding:0}.app-fieldset>legend{margin-bottom:var(--space-2);padding:0}.app-two-col{align-items:flex-start;gap:var(--gap-form);flex-wrap:wrap;display:flex}.app-two-col>*{flex:320px;min-width:0}.app-preview{gap:var(--space-2);flex-direction:column;display:flex}.app-preview-box{min-height:120px}.app-check-list{gap:0 var(--space-6);flex-wrap:wrap;display:flex}.app-badge-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.app-param-list{gap:var(--gap-stack);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.app-param-row{align-items:flex-start;gap:var(--gap-inline);flex-wrap:wrap;display:flex}.app-param-row>.pc-field{flex:200px}.app-param-row>.pc-btn{margin-top:calc(20px * var(--pc-ts,1) + var(--space-2))}.app-form-foot{justify-content:flex-end;align-items:center;gap:var(--gap-stack);flex-wrap:wrap;display:flex}.app-error-line{color:var(--danger-ink);margin:0}.app-case-list{gap:var(--gap-stack);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.app-case{gap:var(--gap-stack);flex-direction:column;display:flex}.app-case-head{align-items:center;gap:var(--gap-inline);flex-wrap:wrap;display:flex}.app-case-gap{flex:1}.app-case-actions{gap:var(--space-1);display:flex}.app-case-more{align-items:flex-start;gap:var(--gap-form);flex-wrap:wrap;display:flex}.app-case-more>.pc-field:first-child{flex:999 320px}.app-case-more>.pc-field:last-child{flex:120px}.app-case-add{align-items:center;gap:var(--gap-inline);flex-wrap:wrap;display:flex}.app-blocker-list{margin:var(--space-1) 0 0;padding-left:var(--space-4);gap:var(--space-1);flex-direction:column;display:flex}.app-roster-filter>.app-problem-search{flex:0 600px;justify-content:flex-end}.app-filter>.pc-field.app-filter-tag{flex:0 160px}.app-table td.app-table-title{min-width:200px}.app-run-result{gap:var(--gap-stack);flex-direction:column;display:flex}.app-run-result-head{align-items:center;gap:var(--gap-inline);display:flex}.app-run-output{gap:var(--space-1);flex-direction:column;display:flex}.app-run-output>b{color:var(--ink-tertiary)}.app-run-pre{padding:var(--space-2) var(--space-3);border-radius:var(--radius-xs);background:var(--surface);box-shadow:inset 0 0 0 var(--stroke-1) var(--line);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-all;max-height:240px;margin:0;font-size:14px;line-height:22px;overflow:auto}.app-verify-solution{gap:var(--gap-stack);flex-direction:column;display:flex}.app-verify-head{align-items:center;gap:var(--gap-inline);display:flex}.app-verify-case{gap:var(--space-2);flex-direction:column;display:flex}.app-activity-group{gap:var(--gap-stack);padding:var(--space-3) 0 0;border:0;border-top:var(--stroke-1) solid var(--line);flex-direction:column;min-width:0;margin:0;display:flex}.app-activity-group>legend{margin-bottom:var(--space-2);padding:0}.app-answer-field{gap:var(--gap-stack);grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:start;display:grid}
