.pet-image[data-v-434e26d5]{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.pet-image-error[data-v-434e26d5]{display:grid;place-items:center;width:100%;height:100%;color:var(--text-secondary);font-size:.85rem}.weekly-practice[data-v-bad1589d]{text-align:left}article[data-v-bad1589d]{border:1px solid var(--border-color);border-radius:12px;padding:14px;margin:12px 0}p[data-v-bad1589d]{color:var(--text-secondary);line-height:1.6}a[data-v-bad1589d]{color:var(--primary-color);font-weight:600}.pet-panel[data-v-c249efcc]{color:var(--text-primary);background:var(--card-bg);padding:24px}header[data-v-c249efcc]{display:flex;justify-content:space-between;align-items:center;gap:16px}h2[data-v-c249efcc]{margin:4px 0 20px}h3[data-v-c249efcc]{margin:12px 0}.eyebrow[data-v-c249efcc]{color:var(--text-secondary);font-size:.85rem}button[data-v-c249efcc],select[data-v-c249efcc]{padding:10px 12px;border:1px solid var(--border-color);background:var(--surface);color:var(--text-primary);border-radius:10px;cursor:pointer}button[data-v-c249efcc]:focus-visible,select[data-v-c249efcc]:focus-visible{outline:3px solid var(--primary-color)}button[data-v-c249efcc]:disabled{opacity:.6;cursor:wait}.current-pet[data-v-c249efcc]{display:flex;gap:20px;align-items:center;background:var(--surface-muted);border-radius:16px;padding:16px}.portrait[data-v-c249efcc]{width:180px;height:180px;flex-shrink:0}.character-grid[data-v-c249efcc]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}article[data-v-c249efcc]{display:flex;flex-direction:column;gap:10px;border:2px solid var(--border-color);border-radius:14px;padding:12px;text-align:center}article.selected[data-v-c249efcc]{border-color:var(--primary-color)}.first-stage[data-v-c249efcc]{height:140px}.stage-selection[data-v-c249efcc]{display:flex;align-items:center;gap:12px;margin:24px 0}p[data-v-c249efcc]{color:var(--text-secondary);line-height:1.6}@media(max-width:560px){.pet-panel[data-v-c249efcc]{padding:16px}.current-pet[data-v-c249efcc]{flex-direction:column;gap:0;text-align:center}.character-grid[data-v-c249efcc]{grid-template-columns:1fr}article[data-v-c249efcc]{display:grid;grid-template-columns:100px 1fr;align-items:center}.first-stage[data-v-c249efcc]{height:110px;grid-row:span 2}}.pet-companion[data-v-187a611a]{position:fixed;right:16px;top:50%;transform:translateY(-50%);z-index:40;display:flex;align-items:end;gap:4px}button[data-v-187a611a]{border:1px solid var(--border-color);border-radius:12px;padding:10px;background:var(--card-bg);color:var(--text-primary);cursor:pointer}button[data-v-187a611a]:focus-visible{outline:3px solid var(--primary-color)}.open-pet[data-v-187a611a]{display:flex;flex-direction:column;align-items:center;box-shadow:var(--card-shadow);font-size:.95rem}.sprite[data-v-187a611a]{width:104px;height:104px;animation:idle-187a611a 5s ease-in-out infinite}.hide-pet[data-v-187a611a],.restore-pet[data-v-187a611a]{font-size:.85rem}.pet-companion>p[data-v-187a611a]{position:absolute;right:0;bottom:100%;width:210px;padding:12px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px}dialog[data-v-187a611a]{padding:0;border:1px solid var(--border-color);border-radius:20px;width:min(820px,calc(100vw - 24px));max-height:calc(100dvh - 32px);background:var(--card-bg)}dialog[data-v-187a611a]::backdrop{background:#11182788}.load-error[data-v-187a611a]{padding:24px}.bounce[data-v-187a611a]{animation:hop-187a611a .4s ease}@keyframes idle-187a611a{50%{transform:translateY(-3px)}}@keyframes hop-187a611a{50%{transform:translateY(-8px)}}@media(prefers-reduced-motion:reduce){[data-v-187a611a],.sprite[data-v-187a611a]{animation:none!important;transition:none!important}}.pet-companion .open-pet[data-v-187a611a]{border:0;padding:0;background:transparent;box-shadow:none;border-radius:0;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}.pet-companion .open-pet>span[data-v-187a611a]:last-child{text-shadow:0 1px 3px var(--card-bg),0 0 5px var(--card-bg)}.pet-companion .hide-pet[data-v-187a611a]{background:transparent;border:0;padding:6px}.pet-companion.quiet .sprite[data-v-187a611a]{animation:none}.pet-companion.dragging .open-pet[data-v-187a611a]{cursor:grabbing}.pet-companion.dragging .sprite[data-v-187a611a]{animation:none}@font-face{font-family:AlibabaPuHuiTi;src:url(/assets/AlibabaPuHuiTi-3-65-Medium-DQU-DIIV.woff2) format("woff2"),url(/assets/AlibabaPuHuiTi-3-65-Medium-BmK6APuT.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}:root{--primary-color: #4a78f5;--text-on-primary: #ffffff;--text-primary: #333;--text-secondary: #666;--bg: #f4f6fb;--surface: #ffffff;--card-bg: #ffffff;--surface-muted: #f8fafc;--border-color: #e5e7eb;--border-radius-small: 10px;--border-radius-medium: 8px;--border-radius-large: 16px;--card-shadow: 0 6px 20px rgba(0, 0, 0, .05);--hero-bg: linear-gradient(135deg, #e9f1ff 0%, #f9ecff 100%);--hero-glow-1: rgba(196, 207, 255, .9);--hero-glow-2: rgba(255, 194, 232, .9);--hero-glow-3: rgba(214, 209, 255, .7);--hero-card-bg: rgba(255, 255, 255, .85);--hero-card-border: rgba(0, 0, 0, .06);--hero-pill-bg: rgba(241, 194, 243, .55);--hero-pill-border: rgba(241, 194, 243, .95);--hero-input-bg: rgba(255, 255, 255, .94);--hero-input-border: rgba(241, 194, 243, .9);--hero-hint-bg: rgba(255, 255, 255, .72);--hero-skeleton: linear-gradient(90deg, rgba(0, 0, 0, .04), rgba(0, 0, 0, .08), rgba(0, 0, 0, .04));--code-bg: #111827;--code-bg-alt: #0f172a;--code-text: #e5e7eb;--code-border: rgba(255, 255, 255, .2);--canvas-bg: #ffffff;--overlay-bg: rgba(255, 255, 255, .82);--success-bg: #e6f7ec;--success-text: #1a7f45;--error-bg: #ffecec;--error-text: #d64545;--input: #111827}:root[data-theme=dark]{--input: #e5e7eb;--primary-color: #7aa2ff;--text-on-primary: #0b1120;--text-primary: #e5e7eb;--text-secondary: #9ca3af;--bg: #0f172a;--surface: #111827;--card-bg: #111827;--surface-muted: #0b1220;--border-color: #1f2937;--card-shadow: 0 6px 20px rgba(15, 23, 42, .6);--hero-bg: linear-gradient(135deg, #0b1220 0%, #1b0f2a 100%);--hero-glow-1: rgba(37, 62, 112, .65);--hero-glow-2: rgba(120, 52, 100, .5);--hero-glow-3: rgba(72, 64, 140, .5);--hero-card-bg: rgba(15, 23, 42, .88);--hero-card-border: rgba(148, 163, 184, .18);--hero-pill-bg: rgba(59, 130, 246, .2);--hero-pill-border: rgba(59, 130, 246, .35);--hero-input-bg: rgba(15, 23, 42, .85);--hero-input-border: rgba(122, 162, 255, .4);--hero-hint-bg: rgba(15, 23, 42, .75);--hero-skeleton: linear-gradient(90deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .12), rgba(255, 255, 255, .05));--code-bg: #0b1220;--code-bg-alt: #0b1220;--code-text: #e5e7eb;--code-border: rgba(148, 163, 184, .35);--canvas-bg: #0b1220;--overlay-bg: rgba(15, 23, 42, .82);--success-bg: rgba(22, 101, 52, .25);--success-text: #86efac;--error-bg: rgba(153, 27, 27, .25);--error-text: #fca5a5}body,html,#app{font-family:AlibabaPuHuiTi,Noto Sans TC,Noto Sans SC,PingFang TC,Microsoft JhengHei,sans-serif;background:var(--bg);color:var(--text-primary)}.app-container{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;min-height:100vh;padding:2rem 1rem 3rem;background:var(--bg);color:var(--text-primary)}.app-container--public{align-items:stretch;padding:0;width:100%;background:#fff;color:#102d50}html:has(.app-container--public),body:has(.app-container--public){margin:0;background:#fff;color-scheme:light}#app:has(.app-container--public){width:100%;max-width:none;margin:0;padding:0;text-align:left;background:#fff}.fade-enter-active,.fade-leave-active{transition:opacity .4s,transform .4s}.fade-enter-from,.fade-leave-to{opacity:0;transform:translateY(10px)}@media(prefers-reduced-motion:reduce){.fade-enter-active,.fade-leave-active{transition:none}}.review-page[data-v-5ad006f8]{padding:1rem;max-width:900px;margin:0 auto}.card[data-v-5ad006f8]{border:1px solid #ddd;border-radius:8px;padding:1rem;margin-bottom:.75rem}.actions[data-v-5ad006f8]{display:flex;gap:.5rem}.error[data-v-5ad006f8]{color:#c00}.danger[data-v-5ad006f8]{background:#a61b1b;color:#fff}.legacy-weekly-history[data-v-bccdd776]{max-width:900px;width:100%}article[data-v-bccdd776]{margin:16px 0;padding:16px;border:1px solid var(--border-color);border-radius:12px}p[data-v-bccdd776]{line-height:1.7}.theme-toggle-button[data-v-de250484]{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .7rem;border-radius:999px;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-primary);font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.theme-toggle-button[data-v-de250484]:hover{background:var(--primary-color);color:var(--text-on-primary);border-color:var(--primary-color)}.theme-toggle-button__icon[data-v-de250484]{font-size:1rem}.practice-icon[data-v-049eb072]{display:inline-block;width:26px;height:26px;flex-shrink:0;vertical-align:middle}.practice-header[data-v-d009959a]{background:color-mix(in srgb,var(--panel, #fff) 72%,transparent);border:1px solid color-mix(in srgb,var(--panel, #fff) 60%,transparent);border-radius:28px;box-shadow:0 12px 38px #395e9307}.practice-header[data-v-d009959a]:has(.teacher-tools){display:grid;grid-template-rows:2fr 1fr}.teacher-tools[data-v-d009959a]{box-sizing:border-box;width:100%;min-height:40px;display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0;padding:3px 25px;border-top:1px solid var(--line)}.teacher-label[data-v-d009959a]{color:var(--muted);font-size:12px;margin-right:10px}.teacher-tools button[data-v-d009959a]{display:inline-flex;align-items:center;gap:7px;border:0;border-radius:16px;padding:5px 12px;color:var(--accent-text);background:transparent;font-size:12px;transition:background .18s,transform .18s}.teacher-tools button[data-v-d009959a]:hover{background:var(--soft)}.teacher-tools button[data-v-d009959a]:active{transform:scale(.96)}.teacher-tools[data-v-d009959a] svg{width:22px;height:22px}.selection-nav[data-v-d009959a]{box-sizing:border-box;min-height:80px;display:flex;align-items:center;gap:30px;padding:15px 25px}button[data-v-d009959a]{cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent}button[data-v-d009959a]:focus-visible{outline:3px solid #327bea;outline-offset:4px}.nav-logo[data-v-d009959a]{display:flex;align-items:center;gap:10px;padding:0;border:0;color:var(--ink);background:none;font-size:28px;font-weight:900;letter-spacing:1px}.nav-logo img[data-v-d009959a]{object-fit:contain}.nav-links[data-v-d009959a],.nav-actions[data-v-d009959a]{display:flex;align-items:center;gap:8px}.nav-links button[data-v-d009959a]{display:flex;align-items:center;gap:9px;white-space:nowrap;border:0;border-radius:14px;color:var(--muted);background:transparent;padding:10px 14px;font-size:14px;font-weight:700;transition:background .18s,transform .18s}.nav-links .nav-active[data-v-d009959a],.nav-links button[data-v-d009959a]:hover{background:var(--soft);color:#246ce7}.nav-links button[data-v-d009959a]:active{transform:scale(.96)}.nav-actions[data-v-d009959a]{margin-left:auto;gap:12px}.user-chip[data-v-d009959a]{display:flex;align-items:center;gap:9px;padding-left:13px;border-left:1px solid var(--line);font-size:14px;font-weight:700}.username[data-v-d009959a]{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-avatar[data-v-d009959a]{display:block;border-radius:50%;object-fit:cover;box-shadow:0 2px 8px #3c739513}.logout-button[data-v-d009959a],.icon-button[data-v-d009959a]{background:var(--soft);color:var(--muted);border:0;border-radius:10px;padding:9px 11px;white-space:nowrap}.logout-button[data-v-d009959a]{font-size:13px}:root[data-theme=dark] .nav-links .nav-active[data-v-d009959a],:root[data-theme=dark] .nav-links button[data-v-d009959a]:hover{color:#a1c6ff}@media(max-width:1190px){.selection-nav[data-v-d009959a]{flex-wrap:wrap;gap:12px 20px}.nav-links[data-v-d009959a]{order:3;width:100%;padding-top:8px}}@media(max-width:600px){.teacher-workspace .nav-links[data-v-d009959a]{flex-wrap:wrap}.teacher-workspace .nav-links button[data-v-d009959a]{flex:1 0 calc(50% - 4px)}.teacher-label[data-v-d009959a]{width:100%;margin:0}.practice-header[data-v-d009959a]{border-radius:20px}.teacher-tools[data-v-d009959a]{gap:4px;padding:6px 12px}.teacher-tools button[data-v-d009959a]{padding:7px 5px;font-size:11px;gap:4px}.teacher-tools[data-v-d009959a] svg{width:18px;height:18px}.selection-nav[data-v-d009959a]{padding:12px;border-radius:20px;gap:12px 6px}.nav-logo[data-v-d009959a]{font-size:21px;gap:6px}.nav-logo img[data-v-d009959a]{width:28px;height:28px}.nav-actions[data-v-d009959a]{gap:7px;flex-wrap:wrap}.user-chip[data-v-d009959a]{border-left:0;padding-left:0;gap:5px}.user-avatar[data-v-d009959a]{width:32px;height:32px}.username[data-v-d009959a]{max-width:55px;font-size:12px}.logout-button[data-v-d009959a]{padding:7px;font-size:11px}.nav-actions[data-v-d009959a] .theme-toggle-button{padding:5px 7px}.nav-actions[data-v-d009959a] .theme-toggle-button__label{display:none}.nav-links[data-v-d009959a]{gap:4px;justify-content:space-between;padding-top:0}.nav-links button[data-v-d009959a]{justify-content:center;padding:9px 6px;font-size:12px;gap:5px;flex:1}.nav-links[data-v-d009959a] .practice-icon{width:22px;height:22px}}@media(max-width:370px){.user-chip .username[data-v-d009959a]{display:none}}@media(prefers-reduced-motion:reduce){button[data-v-d009959a]{transition:none!important}.nav-links button[data-v-d009959a]:active{transform:none}}.selection-page[data-v-538d0908]{--ink: #142747;--muted: #5c6e89;--panel: #ffffff;--soft: #eff5fd;--line: #e3ebf6;--accent: #2877ed;--accent-end: #4798ff;--accent-text: #2465c5;--tint: #eaf3ff;width:100%;max-width:1400px;color:var(--ink);margin:0 auto;isolation:isolate;font-family:AlibabaPuHuiTi,Noto Sans TC,Microsoft JhengHei,sans-serif}.selection-page[data-v-538d0908] *,.selection-page[data-v-538d0908] *:before,.selection-page[data-v-538d0908] *:after{box-sizing:border-box}.selection-page button[data-v-538d0908],.selection-page input[data-v-538d0908]{font:inherit}.selection-page button[data-v-538d0908]{cursor:pointer;-webkit-tap-highlight-color:transparent}.selection-page button[data-v-538d0908]:focus-visible,.selection-page input[data-v-538d0908]:focus-visible{outline:3px solid #327bea;outline-offset:4px}.selection-page button[data-v-538d0908]:disabled{cursor:not-allowed;opacity:.62;transform:none}.theme-scratch[data-v-538d0908]{--accent: #f87625;--accent-end: #ff9b40;--accent-text: #be4c0a;--tint: #fff1e5}.theme-python[data-v-538d0908]{--accent: #2877ed;--accent-end: #4798ff;--accent-text: #2465c5;--tint: #eaf3ff}.theme-cpp[data-v-538d0908]{--accent: #7d4ce8;--accent-end: #a177fb;--accent-text: #7242ce;--tint: #f1eaff}.selection-hero[data-v-538d0908]{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:0;padding:20px 0 18px;gap:20px}.eyebrow[data-v-538d0908]{font-size:12px;color:var(--muted);font-weight:700;letter-spacing:5px;margin:0 0 13px}.eyebrow span[data-v-538d0908]{color:#ffbd28;font-size:22px;margin-left:8px}.selection-hero h1[data-v-538d0908]{font-size:clamp(28px,2.8vw,40px);line-height:1.24;letter-spacing:1px;margin:0;font-weight:900}.title-spark[data-v-538d0908]{display:inline-block;margin-left:14px;color:#ffb521;font-size:.75em;vertical-align:top;transform:rotate(12deg)}.hero-description[data-v-538d0908]{margin:12px 0 0;color:var(--muted);font-size:17px;line-height:1.7}.hero-copy[data-v-538d0908]{min-width:0;flex:1}.hero-heading-row[data-v-538d0908]{display:flex;align-items:center;justify-content:space-between;gap:24px}.selection-heading-row[data-v-538d0908]{justify-content:flex-start;flex-wrap:wrap;gap:16px}.selection-heading-row .paper-search[data-v-538d0908]{margin-left:auto}.heading-text[data-v-538d0908]{min-width:0}.is-course-stage .hero-cheer[data-v-538d0908]{display:none}.selection-hero.is-course-stage[data-v-538d0908]:before{display:none}.hero-cheer[data-v-538d0908]{position:relative;display:flex;align-items:center;gap:20px;padding-right:28px;transform:rotate(-5deg);flex-shrink:0}.cheer-code[data-v-538d0908]{font-size:72px;font-weight:900;color:#83b3f0;letter-spacing:-7px;white-space:nowrap;text-shadow:0 5px 0 #dceafd}.cheer-code b[data-v-538d0908]{font-size:45px;color:#ffbf3f;display:inline-block;transform:rotate(12deg)}.hero-cheer p[data-v-538d0908]{margin:0;color:var(--muted);font-size:18px;line-height:1.85;letter-spacing:2px}.hero-cheer strong[data-v-538d0908]{color:var(--ink)}.cheer-star[data-v-538d0908]{position:absolute;font-size:35px;top:-15px;right:15px;color:#ffba23}.cheer-orbit[data-v-538d0908]{position:absolute;width:25px;height:25px;border:5px solid #c4e0ff;border-radius:50%;bottom:-20px;left:20px}.breadcrumbs[data-v-538d0908]{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px;margin-bottom:8px}.breadcrumbs button[data-v-538d0908],.subject-switch button[data-v-538d0908],.status-note button[data-v-538d0908],.text-button[data-v-538d0908]{padding:0;border:0;background:none;color:inherit}.breadcrumbs button[data-v-538d0908]:hover,.status-note button[data-v-538d0908]:hover,.text-button[data-v-538d0908]:hover{text-decoration:underline}.subject-switch[data-v-538d0908]{display:inline-flex;flex-shrink:0;align-items:center;gap:14px;margin-top:0;padding:8px 12px 8px 18px;background:var(--panel);border:1px solid var(--line);border-radius:30px;box-shadow:0 5px 18px #365b8910}.subject-dot[data-v-538d0908]{height:11px;width:11px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px var(--tint)}.switch-divider[data-v-538d0908]{width:1px;height:22px;background:var(--line)}.subject-switch button[data-v-538d0908]{border-radius:20px;padding:7px 17px;background:var(--panel);color:var(--accent-text);font-size:14px;font-weight:700}.card-grid[data-v-538d0908]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.practice-card[data-v-538d0908]{min-width:0;display:flex;flex-direction:column;border:0;border-radius:30px;background:linear-gradient(180deg,transparent 38%,color-mix(in srgb,var(--panel) 65%,transparent) 80%,color-mix(in srgb,var(--panel) 30%,transparent));box-shadow:none;overflow:hidden;transition:transform .28s ease,box-shadow .28s ease}.practice-card[data-v-538d0908],.assignment-list li[data-v-538d0908]:not(.assignment-blocked){cursor:pointer}.practice-card[data-v-538d0908]:has(.practice-button:disabled),.assignment-list li[data-v-538d0908]:has(button:disabled){cursor:default}.practice-card[data-v-538d0908]:focus-within,.assignment-list li[data-v-538d0908]:focus-within{box-shadow:0 0 0 3px var(--accent),0 12px 30px #305e961a}.card-art[data-v-538d0908]{position:relative;height:clamp(190px,18vw,265px);background:transparent;overflow:hidden}.card-art img[data-v-538d0908]{display:block;width:100%;height:100%;object-fit:cover;object-position:center 46%;transition:transform .45s ease;-webkit-mask-image:linear-gradient(to bottom,#000 62%,transparent 100%),linear-gradient(to right,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(to bottom,#000 62%,transparent 100%),linear-gradient(to right,transparent,#000 5%,#000 95%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}.course-card .card-art[data-v-538d0908]{height:clamp(215px,20vw,295px)}.course-card .card-body[data-v-538d0908]{margin-top:-25px;position:relative}.card-body[data-v-538d0908]{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}.course-heading[data-v-538d0908]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.course-heading h2[data-v-538d0908]{font-size:34px;color:var(--accent-text);font-weight:900;margin:0;letter-spacing:-.5px}.subject-badge[data-v-538d0908]{font-size:11px;font-weight:700;color:var(--accent-text);padding:6px 10px;border-radius:20px;background:var(--tint);white-space:nowrap}.course-description[data-v-538d0908]{font-size:16px;line-height:1.7;margin:10px 0 0;color:var(--muted)}.course-invitation[data-v-538d0908]{background:none;margin:17px 0 22px;padding:0;color:var(--muted);font-size:12px;line-height:1.7}.course-invitation span[data-v-538d0908]{color:var(--accent-text);font-size:17px;margin-right:5px}.practice-button[data-v-538d0908]{display:flex;justify-content:center;align-items:center;gap:12px;width:100%;min-height:52px;padding:11px 18px;margin-top:auto;border-radius:30px;border:0;background:linear-gradient(110deg,var(--accent-end),var(--accent));color:#fff;font-weight:700!important;font-size:17px!important;box-shadow:0 6px 13px color-mix(in srgb,var(--accent) 18%,transparent);transition:transform .15s,box-shadow .2s,filter .2s}.play-icon[data-v-538d0908]{font-size:11px;width:24px;height:24px;display:inline-grid;place-items:center;padding-left:2px;background:#fff;color:var(--accent-text);border-radius:50%}.button-arrow[data-v-538d0908]{margin-left:6px;font-family:sans-serif;font-size:23px;transition:transform .2s}.practice-button[data-v-538d0908]:active:not(:disabled),.small-button[data-v-538d0908]:active:not(:disabled){transform:scale(.96)}.compact-art[data-v-538d0908]{height:160px;margin:0;border-radius:26px 26px 0 0}.level-card .card-body[data-v-538d0908],.paper-card .card-body[data-v-538d0908]{position:relative;margin-top:-16px}.compact-art img[data-v-538d0908]{object-position:center 40%}.paper-card .compact-art img[data-v-538d0908]{object-position:50% 36%}.card-kicker[data-v-538d0908]{color:var(--accent-text);font-size:12px;font-weight:700;margin:0 0 6px}.level-card h2[data-v-538d0908]{margin:0 0 8px;font-size:24px}.card-description[data-v-538d0908]{font-size:12px;line-height:1.7;color:var(--muted);margin:0}.level-card .practice-button[data-v-538d0908]{margin-top:20px}.paper-count[data-v-538d0908]{margin:0;font-size:16px;font-weight:700}.paper-count span[data-v-538d0908]{margin-left:9px;padding:4px 9px;background:var(--panel);color:var(--muted);border-radius:15px;font-size:12px;font-weight:500}.paper-search[data-v-538d0908]{display:flex;align-items:center;gap:10px;padding:9px 15px;border:1px solid var(--line);background:var(--panel);border-radius:13px;color:var(--muted)}.paper-search>span[data-v-538d0908]{font-size:24px;line-height:1}.paper-search input[data-v-538d0908]{border:0;padding:2px;background:none;color:var(--ink);width:190px;font-size:13px}.paper-search input[data-v-538d0908]::placeholder{color:var(--muted)}.paper-card .card-body[data-v-538d0908]{padding:16px 18px 18px}.paper-card h2[data-v-538d0908]{font-size:17px;line-height:1.65;margin:0 0 10px;overflow-wrap:anywhere}.paper-meta[data-v-538d0908]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:15px}.paper-card .practice-button[data-v-538d0908]{min-height:43px;font-size:14px!important;padding:8px 15px}.paper-art-label[data-v-538d0908]{position:absolute;top:12px;left:14px;padding:5px 10px;border-radius:20px;background:#ffffffd9;color:#23395c;font-size:11px;font-weight:700}.status-badge[data-v-538d0908]{display:inline-flex;align-items:center;white-space:nowrap;font-size:11px;font-weight:700;padding:5px 9px;border-radius:20px}.status-badge.complete[data-v-538d0908]{color:#167847;background:#e1f7ea}.status-badge.draft[data-v-538d0908]{color:#205cbd;background:#e7f0ff}.status-badge.pending[data-v-538d0908]{color:#8a570f;background:#fff0cf}.status-note[data-v-538d0908]{font-size:12px;color:var(--muted);line-height:1.9;margin:20px 4px}.status-note button[data-v-538d0908]{color:var(--accent-text);margin-left:5px;font-weight:700}.assigned-block[data-v-538d0908]{margin-top:34px;background:linear-gradient(115deg,color-mix(in srgb,var(--panel) 65%,transparent),transparent);border:0;border-radius:28px;padding:24px}.assigned-heading[data-v-538d0908]{display:flex;justify-content:space-between;align-items:center;gap:12px}.assigned-heading h2[data-v-538d0908]{font-size:16px;margin:0}.assigned-caption[data-v-538d0908]{font-size:12px;color:var(--muted)}.assignment-empty[data-v-538d0908]{font-size:13px;color:var(--muted);margin:13px 0 0}.assignment-list[data-v-538d0908]{margin:14px 0 0;padding:0;list-style:none}.assignment-list li[data-v-538d0908]{display:flex;gap:16px;align-items:center;padding:15px 0;border-top:1px solid color-mix(in srgb,var(--line) 60%,transparent)}.assignment-info[data-v-538d0908]{min-width:0;flex:1}.assignment-info h3[data-v-538d0908]{margin:4px 0 6px;font-size:14px;overflow-wrap:anywhere}.assignment-info p[data-v-538d0908]{font-size:12px;margin:0;color:var(--muted)}.assigned-error[data-v-538d0908],.error-notice[data-v-538d0908]{color:#b34233!important;font-size:13px;line-height:1.7}.text-button[data-v-538d0908]{font-weight:700!important;text-decoration:underline}.small-button[data-v-538d0908]{border:0;border-radius:18px;background:var(--soft);color:var(--accent-text);padding:10px 16px;font-size:13px!important;font-weight:700!important;transition:transform .15s,background .2s}.loading-state[data-v-538d0908],.empty-state[data-v-538d0908]{text-align:center;background:var(--panel);border-radius:24px;padding:54px 24px;color:var(--muted)}.empty-state h2[data-v-538d0908]{font-size:21px;color:var(--ink)}.empty-state p[data-v-538d0908]{line-height:1.7}.empty-icon[data-v-538d0908]{font-size:48px;color:#7cb2f8}.loading-state[data-v-538d0908]{display:flex;align-items:center;justify-content:center;gap:14px;min-height:250px}.spinner[data-v-538d0908]{display:inline-block;width:19px;height:19px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin-538d0908 .8s linear infinite}.art-fallback[data-v-538d0908]{display:grid;place-items:center;height:100%;color:var(--accent-text);font-size:64px;font-weight:900}.encouragement[data-v-538d0908]{margin:24px 5% 0;display:flex;align-items:center;gap:16px;padding:16px 22px;background:none;border:0;color:var(--muted)}.footer-trophy[data-v-538d0908]{font-size:29px}.encouragement p[data-v-538d0908]{margin:0;font-size:13px;line-height:1.8}.footer-note[data-v-538d0908]{margin-left:auto;font-size:15px;color:#347eef;font-style:italic;transform:rotate(-4deg);white-space:nowrap}.footer-note b[data-v-538d0908]{color:#ffbf2e;font-size:26px;margin-left:10px}@media(hover:hover){.practice-card[data-v-538d0908]:hover{transform:translateY(-4px);box-shadow:0 18px 40px #305e9609}.practice-card:hover .card-art img[data-v-538d0908]{transform:scale(1.035)}.practice-button[data-v-538d0908]:hover:not(:disabled){filter:brightness(1.05);box-shadow:0 9px 19px color-mix(in srgb,var(--accent) 28%,transparent)}.practice-button:hover .button-arrow[data-v-538d0908]{transform:translate(5px)}.small-button[data-v-538d0908]:hover:not(:disabled){background:var(--tint)}}@media(max-width:1190px){.hero-cheer[data-v-538d0908]{gap:10px;padding-right:0}.cheer-code[data-v-538d0908]{font-size:54px}.hero-cheer p[data-v-538d0908]{font-size:15px}.course-heading h2[data-v-538d0908]{font-size:30px}.card-body[data-v-538d0908]{padding:17px}.course-description[data-v-538d0908]{font-size:14px}.subject-badge[data-v-538d0908]{padding:5px 8px}}@media(max-width:900px){.card-grid[data-v-538d0908]{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.selection-hero[data-v-538d0908]{padding:18px 0 16px}.hero-cheer[data-v-538d0908]{display:none}.course-card .card-art[data-v-538d0908]{height:225px}}@media(max-width:600px){.app-container:has(.selection-page){padding:12px 14px 40px}.selection-hero[data-v-538d0908]{padding:16px 0 14px}.selection-hero[data-v-538d0908]:before{display:none}.selection-hero h1[data-v-538d0908]{font-size:32px}.title-spark[data-v-538d0908]{margin-left:8px}.hero-description[data-v-538d0908]{font-size:14px}.hero-heading-row[data-v-538d0908]{gap:12px;align-items:flex-start}.is-course-stage h1[data-v-538d0908]{font-size:28px}.is-course-stage .title-spark[data-v-538d0908]{display:none}.subject-switch[data-v-538d0908]{padding:0;margin-top:3px;background:none;border:0;box-shadow:none}.subject-switch>strong[data-v-538d0908],.subject-switch>.subject-dot[data-v-538d0908],.subject-switch>.switch-divider[data-v-538d0908]{display:none}.subject-switch button[data-v-538d0908]{padding:9px 11px;font-size:12px;white-space:nowrap}.eyebrow[data-v-538d0908]{font-size:10px;letter-spacing:4px;margin-bottom:10px}.card-grid[data-v-538d0908]{grid-template-columns:minmax(0,1fr);gap:19px}.course-card .card-art[data-v-538d0908]{height:auto;aspect-ratio:1.8}.course-heading h2[data-v-538d0908]{font-size:32px}.course-card .card-body[data-v-538d0908]{padding:17px 19px 20px}.course-invitation[data-v-538d0908]{margin:15px 0}.compact-art[data-v-538d0908]{height:130px}.paper-search[data-v-538d0908]{width:100%}.paper-search input[data-v-538d0908]{width:100%;min-width:0}.assigned-block[data-v-538d0908]{padding:18px}.assigned-caption[data-v-538d0908]{display:none}.assignment-list li[data-v-538d0908]{flex-wrap:wrap;gap:10px}.assignment-info[data-v-538d0908]{flex:1 0 100%}.assignment-list .small-button[data-v-538d0908]{margin-left:auto}.encouragement[data-v-538d0908]{margin:20px 0 0;padding:13px;gap:10px}.encouragement p[data-v-538d0908]{font-size:12px}.footer-note[data-v-538d0908]{display:none}.status-note[data-v-538d0908]{font-size:11px}}:root[data-theme=dark] .selection-page[data-v-538d0908]{--ink: #e9f1ff;--muted: #aebdd2;--panel: #1c2a40;--soft: #25374f;--line: #32445f}:root[data-theme=dark] .theme-scratch[data-v-538d0908]{--accent-text: #ffb676;--tint: #493426}:root[data-theme=dark] .theme-python[data-v-538d0908],:root[data-theme=dark] .theme-general[data-v-538d0908]{--accent-text: #9ec7ff;--tint: #263e5d}:root[data-theme=dark] .theme-cpp[data-v-538d0908]{--accent-text: #c9aeff;--tint: #3a2d56}:root[data-theme=dark] .selection-hero[data-v-538d0908]:before{opacity:.08}:root[data-theme=dark] .card-art img[data-v-538d0908]{filter:brightness(.88)}:root[data-theme=dark] .assigned-error[data-v-538d0908],:root[data-theme=dark] .error-notice[data-v-538d0908]{color:#ffb5a7!important}@keyframes spin-538d0908{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.selection-page[data-v-538d0908] *,.selection-page[data-v-538d0908] *:before,.selection-page[data-v-538d0908] *:after{animation:none!important;transition:none!important}.practice-card[data-v-538d0908]:hover,.practice-card:hover .card-art img[data-v-538d0908],.practice-button[data-v-538d0908]:active:not(:disabled),.small-button[data-v-538d0908]:active:not(:disabled){transform:none}}.records-hero[data-v-538d0908]{padding-bottom:18px}.records-hero[data-v-538d0908]:before{left:70%}.records-back[data-v-538d0908]{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:13px 22px;color:#2868c7;background:#e4efff;border:0;border-radius:26px;font-size:14px!important;font-weight:700!important;white-space:nowrap;transition:transform .18s,background .18s}.records-back[data-v-538d0908]:hover{background:#d9e9ff;transform:translateY(-2px)}.records-back[data-v-538d0908]:active{transform:scale(.96)}.records-section-heading[data-v-538d0908]{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px}.records-section-heading h2[data-v-538d0908]{display:flex;align-items:center;gap:10px;margin:0;font-size:17px}.records-section-heading h2[data-v-538d0908] svg{color:#4389ed}.records-section-heading>span[data-v-538d0908]{font-size:12px;color:var(--muted)}.records-grid[data-v-538d0908]{display:flex;flex-direction:column;gap:15px}.record-card[data-v-538d0908]{display:grid;grid-template-columns:136px minmax(200px,1fr) 190px 140px;gap:24px;align-items:center;padding:23px 27px 23px 12px;position:relative;border-radius:28px;background:linear-gradient(105deg,color-mix(in srgb,var(--panel) 20%,transparent),color-mix(in srgb,var(--panel) 82%,transparent) 28%,color-mix(in srgb,var(--panel) 48%,transparent));transition:background .2s,transform .2s;cursor:pointer}.record-card[data-v-538d0908]:hover{transform:translateY(-2px);background-color:color-mix(in srgb,var(--panel) 35%,transparent)}.record-card[data-v-538d0908]:focus-within{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:3px}.record-card.loading[data-v-538d0908]{opacity:.75}.record-thumb[data-v-538d0908]{display:flex;align-items:center;justify-content:center;height:112px;overflow:hidden;border-radius:26px}.record-thumb img[data-v-538d0908]{width:100%;height:100%;object-fit:cover;-webkit-mask-image:radial-gradient(ellipse 68% 67% at center,#000 48%,transparent 80%);mask-image:radial-gradient(ellipse 68% 67% at center,#000 48%,transparent 80%)}.record-thumb[data-v-538d0908] svg{width:58px;height:58px;color:var(--accent-text)}.record-main[data-v-538d0908]{min-width:0}.record-labels[data-v-538d0908]{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-bottom:9px}.record-subject[data-v-538d0908]{color:var(--accent-text);font-size:12px;font-weight:700}.review-kind[data-v-538d0908]{font-size:11px;color:var(--muted)}.paper-name[data-v-538d0908]{font-size:17px;line-height:1.6;margin:0 0 7px;overflow-wrap:anywhere}.record-date[data-v-538d0908]{display:flex;gap:6px;align-items:center;color:var(--muted);font-size:11px;margin:0 0 7px}.record-date[data-v-538d0908] svg{width:15px;height:15px}.wrong-summary[data-v-538d0908]{font-size:12px;color:var(--muted);margin:0;line-height:1.8}.incomplete-note[data-v-538d0908]{font-size:11px;color:var(--muted);margin:5px 0 0;line-height:1.8}.record-metrics[data-v-538d0908]{display:flex;justify-content:space-around;gap:20px}.detail-item[data-v-538d0908]{display:flex;flex-direction:column;gap:7px}.detail-item .label[data-v-538d0908]{color:var(--muted);font-size:11px}.value[data-v-538d0908]{font-size:25px;font-weight:800;white-space:nowrap}.value small[data-v-538d0908]{font-size:12px;font-weight:500;color:var(--muted)}.value.score[data-v-538d0908]{color:var(--accent-text)}.value.accuracy[data-v-538d0908]{color:#21815b}.accuracy-pending[data-v-538d0908]{color:var(--muted);font-size:16px;margin-top:3px}.record-actions[data-v-538d0908]{display:flex;flex-direction:column;align-items:stretch;gap:9px}.playback-button[data-v-538d0908],.review-button[data-v-538d0908]{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:22px;padding:10px 13px;font-size:13px!important;font-weight:700!important;white-space:nowrap;transition:transform .16s,background .16s}.playback-button[data-v-538d0908]{color:var(--accent-text);background:var(--tint)}.review-button[data-v-538d0908]{color:var(--muted);background:transparent}.record-actions[data-v-538d0908] svg{width:20px;height:20px}.playback-button[data-v-538d0908]:hover:not(:disabled),.review-button[data-v-538d0908]:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 16%,var(--panel))}.playback-button[data-v-538d0908]:active:not(:disabled),.review-button[data-v-538d0908]:active:not(:disabled){transform:scale(.96)}.review-button[data-v-538d0908]:disabled{opacity:.4}.review-owner-hint[data-v-538d0908]{color:var(--muted);font-size:11px;line-height:1.6;text-align:center}.loading-mask[data-v-538d0908]{position:absolute;inset:0;display:grid;place-items:center;background:color-mix(in srgb,var(--panel) 85%,transparent);border-radius:inherit;color:var(--accent-text);font-size:14px}.records-notice[data-v-538d0908]{display:flex;align-items:center;justify-content:center;gap:14px;padding:20px;color:var(--muted);font-size:14px}.records-notice p[data-v-538d0908]{font-size:12px;margin-bottom:0}.no-records[data-v-538d0908]{padding:42px 18px 60px;text-align:center}.empty-record-art[data-v-538d0908]{width:130px;height:130px;display:grid;place-items:center;margin:0 auto 20px;position:relative;background:radial-gradient(circle,#dcecff,transparent 70%)}.empty-record-art[data-v-538d0908] svg{width:76px;height:76px;color:#5994e1;transform:rotate(-9deg)}.empty-record-art>span[data-v-538d0908]{position:absolute;right:0;top:8px;color:#ffc347;font-size:32px}.no-records h2[data-v-538d0908]{font-size:23px;margin:0 0 10px}.no-records p[data-v-538d0908]{color:var(--muted);font-size:14px;line-height:1.9;margin:0 0 24px}.pagination[data-v-538d0908]{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:18px;margin-top:30px}.pagination>span[data-v-538d0908]{font-size:12px;color:var(--muted)}:root[data-theme=dark] .records-back[data-v-538d0908]{background:#253e5e;color:#b3d4ff}:root[data-theme=dark] .records-back[data-v-538d0908]:hover{background:#314e73}:root[data-theme=dark] .value.accuracy[data-v-538d0908]{color:#88d8b8}@media(max-width:1100px){.record-card[data-v-538d0908]{grid-template-columns:95px minmax(180px,1fr) 155px 125px;gap:16px;padding-right:20px}.record-thumb[data-v-538d0908]{height:98px}.record-metrics[data-v-538d0908]{gap:12px}.value[data-v-538d0908]{font-size:23px}}@media(max-width:850px){.record-card[data-v-538d0908]{grid-template-columns:78px minmax(0,1fr) 155px;gap:12px 16px;padding:20px}.record-actions[data-v-538d0908]{grid-column:2 / -1;flex-direction:row;justify-content:flex-end}.record-actions button[data-v-538d0908]{min-width:130px}.paper-name[data-v-538d0908]{font-size:16px}}@media(max-width:600px){.records-hero h1[data-v-538d0908]{font-size:28px}.records-hero .title-spark[data-v-538d0908]{display:none}.records-hero .eyebrow[data-v-538d0908]{letter-spacing:2px;font-size:9px}.records-back[data-v-538d0908]{padding:10px 12px;gap:5px;font-size:12px!important;margin-top:2px}.records-back[data-v-538d0908] svg{width:18px;height:18px}.records-section-heading[data-v-538d0908]{margin:5px 0 14px}.records-section-heading h2[data-v-538d0908]{font-size:15px}.record-card[data-v-538d0908]{grid-template-columns:58px minmax(0,1fr);gap:12px 10px;padding:18px 14px;border-radius:24px}.record-thumb[data-v-538d0908]{height:70px;align-self:start}.record-labels[data-v-538d0908]{gap:6px}.paper-name[data-v-538d0908]{font-size:15px}.record-metrics[data-v-538d0908]{grid-column:1 / -1;justify-content:flex-start;padding-left:68px;gap:34px}.value[data-v-538d0908]{font-size:24px}.record-actions[data-v-538d0908]{grid-column:1 / -1;justify-content:flex-start;padding-left:0}.record-actions button[data-v-538d0908]{min-width:0;flex:1}.pagination[data-v-538d0908]{gap:12px}}*{box-sizing:border-box}html,body,#app{height:100%;margin:0;padding:0;background:transparent}.field[data-v-3811303f]{display:flex;align-items:center;padding:10px 16px;flex:1;position:relative}.eye-btn[data-v-3811303f]{background:none;border:none;cursor:pointer;font-size:18px;padding:0 4px;display:flex;align-items:center;justify-content:center;opacity:.6;transition:opacity .2s;-webkit-user-select:none;user-select:none}.eye-btn[data-v-3811303f]:hover{opacity:1}.field input[data-v-3811303f]{flex:1;min-width:0}.logo-img[data-v-3811303f]{height:40px;width:auto}.hero[data-v-3811303f]{position:fixed;inset:0;width:100vw;height:100vh;padding:48px 40px 80px;background:var(--hero-bg);display:flex;justify-content:center;align-items:flex-start;overflow:hidden;z-index:0}@media(max-width:768px){.hero[data-v-3811303f]{position:relative;height:auto;min-height:100vh;overflow-y:auto;align-items:flex-start}}.hero[data-v-3811303f]:before{content:"";position:absolute;inset:-40%;background:radial-gradient(75% 75% at 10% 15%,var(--hero-glow-1),rgba(0,0,0,0) 80%),radial-gradient(80% 80% at 85% 70%,var(--hero-glow-2),rgba(0,0,0,0) 80%),radial-gradient(90% 90% at 50% 120%,var(--hero-glow-3),rgba(0,0,0,0) 85%);z-index:0}.hero-inner[data-v-3811303f]{width:min(100%,1180px);display:flex;flex-direction:column;gap:40px;position:relative;z-index:1}.brand[data-v-3811303f]{display:flex;justify-content:space-between;align-items:center}.brand-home[data-v-3811303f]{display:inline-flex;align-items:center;gap:10px;color:var(--text-primary);text-decoration:none;font-weight:900;font-size:20px}.logo[data-v-3811303f]{font-weight:800;font-size:26px;letter-spacing:.2px}.brand-actions[data-v-3811303f]{display:flex;gap:12px}.ghost[data-v-3811303f]{color:var(--text-primary);background:var(--hero-card-bg);border:1px solid var(--border-color);padding:8px 18px;border-radius:999px;text-decoration:none}.layout[data-v-3811303f]{display:grid;grid-template-columns:minmax(0,740px);justify-content:center;gap:28px;align-items:start}.hero-content[data-v-3811303f]{max-width:740px;text-align:left}.headline[data-v-3811303f]{font-size:clamp(32px,4vw,30px);margin:0;letter-spacing:-.5px}.sub[data-v-3811303f]{margin:18px 0 32px;color:var(--text-secondary);font-size:18px}.login-bar[data-v-3811303f]{background:var(--hero-input-bg);display:flex;align-items:center;gap:16px;padding:14px;border-radius:999px;border:3px solid var(--hero-input-border);box-shadow:0 14px 40px #00000014;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.field[data-v-3811303f]{display:flex;align-items:center;padding:10px 16px;flex:1}.field input[data-v-3811303f]{width:100%;border:none;outline:none;font-size:18px;background:transparent;color:var(--input)}.icon[data-v-3811303f]{margin-right:10px;font-size:20px}.divider[data-v-3811303f]{width:1px;height:32px;background:var(--border-color)}.cta[data-v-3811303f]{border:none;color:var(--text-on-primary);background:var(--primary-color);padding:14px 28px;border-radius:999px;font-weight:700;font-size:17px;cursor:pointer;white-space:nowrap}.cta[data-v-3811303f]:disabled{opacity:.7;cursor:not-allowed}.error[data-v-3811303f]{color:#e53935;margin-top:16px}.hint[data-v-3811303f]{margin-top:18px;display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:14px;background:var(--hero-hint-bg);border:1px solid var(--hero-card-border);color:var(--text-primary);font-weight:600;width:fit-content}.spark[data-v-3811303f]{font-size:18px}.news[data-v-3811303f]{background:var(--hero-card-bg);border:1px solid var(--hero-card-border);border-radius:22px;box-shadow:0 18px 46px #00000014;padding:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-height:340px}.news-head[data-v-3811303f]{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:4px 4px 14px}.news-title[data-v-3811303f]{margin:0;font-size:18px;letter-spacing:-.2px}.news-link[data-v-3811303f]{color:var(--text-primary);text-decoration:none;font-weight:800;font-size:13px;opacity:.8}.news-link[data-v-3811303f]:hover{opacity:1}.news-grid[data-v-3811303f]{display:grid;gap:12px}.news-card[data-v-3811303f]{display:grid;grid-template-columns:92px 1fr;gap:12px;padding:10px;border-radius:18px;text-decoration:none;color:inherit;border:1px solid var(--hero-card-border);background:var(--hero-card-bg);transition:transform .16s ease,box-shadow .16s ease}.news-card[data-v-3811303f]:hover{transform:translateY(-2px);box-shadow:0 14px 28px #0000001a}.thumb[data-v-3811303f]{border-radius:14px;background:var(--surface-muted);border:1px solid var(--hero-card-border);background-size:cover;background-position:center;display:grid;place-items:center;height:72px}.thumb-fallback[data-v-3811303f]{font-size:22px}.meta-top[data-v-3811303f]{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}.date[data-v-3811303f]{font-size:12px;color:var(--text-secondary)}.pill[data-v-3811303f]{font-size:11px;font-weight:900;padding:4px 8px;border-radius:999px;background:var(--hero-pill-bg);border:1px solid var(--hero-pill-border)}.t[data-v-3811303f]{font-weight:900;font-size:14px;line-height:1.2;margin-bottom:6px}.d[data-v-3811303f]{font-size:12px;color:var(--text-secondary);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.news-skeleton[data-v-3811303f]{display:grid;gap:12px;padding:4px}.skeleton-card[data-v-3811303f]{height:92px;border-radius:18px;background:var(--hero-skeleton);background-size:240% 100%;animation:shimmer-3811303f 1.15s ease-in-out infinite}@keyframes shimmer-3811303f{0%{background-position:0% 0}to{background-position:100% 0}}.news-error[data-v-3811303f]{margin:0;padding:10px 6px;color:#d32f2f;font-weight:700}.news-empty[data-v-3811303f]{border-radius:18px;border:1px dashed var(--hero-card-border);background:var(--hero-card-bg);padding:18px 14px;text-align:center}.empty-emoji[data-v-3811303f]{font-size:28px;margin-bottom:6px}.empty-title[data-v-3811303f]{font-weight:900;margin-bottom:6px}.empty-desc[data-v-3811303f]{font-size:12px;color:var(--text-secondary);line-height:1.35}.empty-desc code[data-v-3811303f]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-weight:800}@media(max-width:980px){.hero[data-v-3811303f]{padding:32px 22px 44px}.layout[data-v-3811303f]{grid-template-columns:1fr}.hero-content[data-v-3811303f]{text-align:center;margin:0 auto}.hint[data-v-3811303f]{margin-left:auto;margin-right:auto}}@media(max-width:900px){.login-bar[data-v-3811303f]{flex-direction:column;align-items:stretch;border-radius:24px;gap:12px}.divider[data-v-3811303f]{display:none}.field[data-v-3811303f]{justify-content:center}.cta[data-v-3811303f]{width:100%}}.news-panel[data-v-10c12d41]{color:var(--text-primary, #102d50)}.news-panel-header[data-v-10c12d41]{margin-bottom:18px}.news-panel-header h2[data-v-10c12d41],.news-article-header h1[data-v-10c12d41],.news-not-found h1[data-v-10c12d41]{margin:0 0 10px;color:var(--text-primary, #102d50)}.news-panel-header h2[data-v-10c12d41]{font-size:clamp(25px,3vw,36px)}.news-panel-header p[data-v-10c12d41]:not(.news-eyebrow),.news-not-found p[data-v-10c12d41],.news-empty p[data-v-10c12d41]{margin:0;color:var(--text-secondary, #58708c);line-height:1.75}.news-eyebrow[data-v-10c12d41]{margin:0 0 8px;color:var(--primary-color, #4a78f5);font-size:13px;font-weight:900;letter-spacing:.08em}.news-filters[data-v-10c12d41]{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.news-filter[data-v-10c12d41]{display:inline-flex;align-items:center;border:1px solid var(--border-color, #dce5f2);border-radius:999px;padding:8px 13px;color:var(--text-secondary, #58708c);font-size:13px;font-weight:800}.news-filter--active[data-v-10c12d41]{border-color:var(--primary-color, #4a78f5);background:#4a78f51a;color:var(--primary-color, #4a78f5)}.news-grid[data-v-10c12d41]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.news-grid--single[data-v-10c12d41]{grid-template-columns:minmax(0,1fr)}.news-grid--single .news-card-link[data-v-10c12d41]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center}.news-grid--single .news-cover[data-v-10c12d41]{height:100%;max-height:310px}.news-card[data-v-10c12d41]{overflow:hidden;border:1px solid var(--border-color, #dce5f2);border-radius:22px;background:var(--surface, #fff);box-shadow:var(--card-shadow, 0 12px 28px rgba(25, 65, 120, .08))}.news-card--closed[data-v-10c12d41]{background:var(--surface-muted, #f4f7fb)}.news-card-link[data-v-10c12d41]{display:block;height:100%;color:inherit}.news-cover[data-v-10c12d41]{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover}.news-card-content[data-v-10c12d41]{padding:20px}.news-meta[data-v-10c12d41]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.news-category[data-v-10c12d41],.news-state[data-v-10c12d41]{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;background:#4a78f51a;color:var(--primary-color, #4a78f5);font-size:12px;font-weight:900}.news-state[data-v-10c12d41]{background:#2e754d1a;color:#2e754d}.news-state--closed[data-v-10c12d41]{background:#5b697c24;color:#5b697c}.news-card h3[data-v-10c12d41]{margin:0 0 8px;font-size:20px;line-height:1.35}.news-card p[data-v-10c12d41]{margin:0 0 14px;color:var(--text-secondary, #58708c);line-height:1.7}.news-card-date[data-v-10c12d41],.news-date[data-v-10c12d41],.news-date-note[data-v-10c12d41]{color:var(--text-secondary, #58708c);font-size:13px}.news-breadcrumbs[data-v-10c12d41]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;color:var(--text-secondary, #58708c);font-size:14px}.news-breadcrumbs a[data-v-10c12d41],.news-return[data-v-10c12d41]{color:var(--primary-color, #4a78f5);font-weight:900}.news-article[data-v-10c12d41]{max-width:820px;margin:0 auto;padding:clamp(20px,4vw,42px);border:1px solid var(--border-color, #dce5f2);border-radius:26px;background:var(--surface, #fff);box-shadow:var(--card-shadow, 0 12px 28px rgba(25, 65, 120, .08))}.news-article-header h1[data-v-10c12d41],.news-not-found h1[data-v-10c12d41]{font-size:clamp(29px,5vw,48px);line-height:1.14}.news-summary[data-v-10c12d41]{margin:0 0 12px;color:var(--text-secondary, #58708c);font-size:18px;line-height:1.75}.news-date[data-v-10c12d41],.news-date-note[data-v-10c12d41]{margin:0}.news-date-note[data-v-10c12d41]{margin-top:4px;font-size:12px}.news-article-cover[data-v-10c12d41]{margin:26px 0 0}.news-article-cover img[data-v-10c12d41]{display:block;width:100%;max-height:420px;object-fit:cover;border-radius:18px}.news-article-cover figcaption[data-v-10c12d41]{margin-top:6px;color:var(--text-secondary, #58708c);font-size:12px}.news-article-body[data-v-10c12d41]{margin-top:28px;color:var(--text-primary, #102d50);line-height:1.85}.news-article-body>p[data-v-10c12d41]{margin:0 0 20px}.news-body-section[data-v-10c12d41]{margin:26px 0 0}.news-body-section h2[data-v-10c12d41]{margin:0 0 8px;font-size:23px}.news-body-section p[data-v-10c12d41]{margin:0 0 10px;color:var(--text-secondary, #58708c)}.news-article-footer[data-v-10c12d41]{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:30px;padding-top:22px;border-top:1px solid var(--border-color, #dce5f2)}.news-related-links[data-v-10c12d41]{display:flex;flex-wrap:wrap;gap:10px;width:100%}.news-related-link[data-v-10c12d41]{color:var(--primary-color, #4a78f5);font-size:14px;font-weight:900}.news-cta[data-v-10c12d41]{display:inline-flex;align-items:center;justify-content:center;padding:11px 17px;border:1px solid var(--primary-color, #4a78f5);border-radius:999px;background:var(--primary-color, #4a78f5);color:var(--text-on-primary, #fff);font-weight:900}.news-not-found[data-v-10c12d41],.news-empty[data-v-10c12d41]{padding:clamp(22px,4vw,40px);border:1px dashed var(--border-color, #dce5f2);border-radius:24px;background:var(--surface, #fff)}.news-not-found .news-cta[data-v-10c12d41]{margin-top:20px}.news-empty h3[data-v-10c12d41]{margin:0 0 8px}.news-empty .news-return[data-v-10c12d41]{display:inline-flex;margin-top:14px}@media(max-width:820px){.news-grid[data-v-10c12d41]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.news-grid[data-v-10c12d41],.news-grid--single[data-v-10c12d41]{grid-template-columns:1fr}.news-grid--single .news-card-link[data-v-10c12d41]{display:block}.news-card-content[data-v-10c12d41]{padding:17px}.news-article[data-v-10c12d41]{padding:22px 18px}}.christmas-home-notice[data-v-fa06b564]{position:relative;z-index:1;padding:17px 24px;border-bottom:1px solid #dce9f1;background:radial-gradient(circle at 92% 12%,rgba(8,124,122,.1),transparent 190px),linear-gradient(110deg,#f1f8ff,#fffaf0);color:#173e68}.christmas-home-notice__inner[data-v-fa06b564]{display:flex;width:min(1100px,100%);align-items:center;justify-content:space-between;gap:18px 30px;margin-inline:auto}.christmas-home-notice__copy[data-v-fa06b564]{min-width:0}.christmas-home-notice__eyebrow[data-v-fa06b564]{margin:0 0 3px;color:#087c7a;font-size:12px;font-weight:800;letter-spacing:.04em}.christmas-home-notice h2[data-v-fa06b564]{margin:0;color:#163e6c;font-size:clamp(18px,2.5vw,22px);line-height:1.4}.christmas-home-notice__copy>p[data-v-fa06b564]:last-child{margin:3px 0 0;color:#526b82;font-size:13px}.christmas-home-notice__link[data-v-fa06b564]{display:inline-flex;min-height:42px;flex:0 0 auto;align-items:center;justify-content:center;gap:9px;padding:9px 16px;border:1px solid #2e6da9;border-radius:999px;background:#1458a7;color:#fff;font-size:13px;font-weight:750;text-align:center;text-decoration:none;transition:background-color .14s ease,border-color .14s ease}.christmas-home-notice__link[data-v-fa06b564]:hover{border-color:#113b70;background:#113b70;color:#fff}.christmas-home-notice__link[data-v-fa06b564]:focus-visible{outline:3px solid #bd8a2c;outline-offset:3px}@media(max-width:680px){.christmas-home-notice[data-v-fa06b564]{padding:16px 22px}.christmas-home-notice__inner[data-v-fa06b564]{align-items:flex-start;flex-direction:column;gap:12px}}@media(max-width:370px){.christmas-home-notice[data-v-fa06b564]{padding-inline:16px}.christmas-home-notice__link[data-v-fa06b564]{width:100%}}@media(prefers-reduced-motion:reduce){.christmas-home-notice__link[data-v-fa06b564]{transition-duration:.01ms}}.public-page .flow-home{overflow:hidden;background:#fff}.public-page .flow-container{width:min(1292px,calc(100% - 100px));margin:0 auto;position:relative;z-index:2}.public-page .flow-home section{position:relative}.public-page .flow-home em{font-style:normal;color:var(--public-blue)}.public-page .flow-home h2{font-size:clamp(26px,2.5vw,38px);line-height:1.48;letter-spacing:-.045em}.public-page .flow-home p{line-height:1.85}.public-page .flow-eyebrow{color:var(--public-blue);font-size:10px;font-weight:700;letter-spacing:.36em;margin-bottom:18px}.public-page .flow-hand{font-family:Segoe Print,Comic Sans MS,cursive;color:#176cba;font-size:22px;line-height:1.4;transform:rotate(-7deg);font-weight:400}.public-page .flow-wave{position:absolute;left:0;bottom:-1px;width:100%;height:90px;z-index:3;pointer-events:none;display:block}.public-page .flow-wave--flip{top:-1px;bottom:auto;transform:rotate(180deg)}.public-page .flow-hero{min-height:610px;background:#f9fcff;padding:62px 0 90px}.public-page .flow-hero-photo{position:absolute;inset:0 0 0 auto;width:64%;margin:0;overflow:hidden}.public-page .flow-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:62% 43%;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 24%);mask-image:linear-gradient(90deg,transparent 0%,#000 24%);display:block}.public-page .flow-hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#eef8ff45,transparent 40%)}.public-page .flow-hero-photo figcaption{position:absolute;right:24px;bottom:80px;color:#4b6380;font-size:10px;background:#ffffffb0;padding:2px 8px;border-radius:15px;z-index:2}.public-page .flow-hero-copy{width:58%;max-width:700px;position:relative;z-index:2}.public-page .flow-intro-note{margin:0 0 27px;display:inline-block;font-size:18px;transform:rotate(-3deg);position:relative}.public-page .flow-intro-note:after{content:"";position:absolute;bottom:-8px;left:0;right:0;border-bottom:2px solid #90c8ff;border-radius:50%;height:8px}.public-page .flow-hero h1{font-size:clamp(32px,3.45vw,52px);line-height:1.4;letter-spacing:-.06em;margin-bottom:23px;font-weight:900}.public-page .flow-hero .hero-break{display:none}.public-page .flow-lead{font-size:15px;max-width:540px;margin-bottom:28px}.public-page .flow-actions{display:flex;gap:14px;flex-wrap:wrap}.public-page .flow-signature{display:inline-block;margin:29px 0 0 50px;font-size:20px}.public-page .flow-signature:after{content:"";display:block;width:190px;height:10px;border-bottom:2px solid #6cb0f8;border-radius:50%;transform:rotate(-5deg)}.public-page .flow-orbit{position:absolute;left:-50px;bottom:20px;width:140px;height:90px;border-radius:50%;background:#fff0cc;transform:rotate(22deg)}.public-page .flow-features{background:#eef8ff;padding:13px 0 80px;margin-top:-1px}.public-page .flow-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.public-page .flow-feature-grid article{display:flex;align-items:center;gap:23px}.public-page .flow-feature-grid h2{font-size:20px;color:var(--public-blue);margin-bottom:6px;letter-spacing:0}.public-page .flow-feature-grid p{font-size:13px;margin:0}.public-page .flow-icon-disc{display:grid;place-items:center;flex-shrink:0;width:80px;height:80px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f9fdff,#cce9ff);color:var(--public-blue);box-shadow:inset -4px -3px 12px #badeff30}.public-page .flow-icon-disc svg{width:35px;height:35px}.public-page .flow-icon-gold{color:#f2a609;background:radial-gradient(circle at 35% 30%,#fffef5,#ffeab5)}.public-page .flow-about{padding:40px 0 34px}.public-page .flow-about-grid{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:40px}.public-page .flow-copy>p:not(.flow-hand,.flow-eyebrow){font-size:15px;max-width:500px}.public-page .flow-about-points{display:grid;gap:10px;margin:22px 0;font-size:14px;color:var(--public-ink-soft)}.public-page .flow-about-points span{display:flex;align-items:center;gap:12px}.public-page .flow-about-points svg{width:20px;height:20px;color:var(--public-blue)}.public-page .flow-student-photo{height:350px;margin:0;position:relative}.public-page .flow-student-photo img{width:100%;height:100%;object-fit:cover;object-position:right center;border-radius:45% 10% 42% 8%/20% 6% 24% 10%}.public-page .flow-student-photo:before{content:"";position:absolute;inset:-15px 30px 18px -15px;background:#eaf6ff;border-radius:50% 15% 45% 8%/20% 10% 22%;z-index:-1}.public-page .flow-student-photo figcaption{position:absolute;bottom:10px;right:22px;font-size:10px;background:#ffffffc4;padding:2px 7px;border-radius:20px}.public-page .flow-student-photo .flow-hand{position:absolute;left:20px;top:30px;font-size:23px}.public-page .flow-path{padding:110px 0 105px;background:linear-gradient(115deg,#eef8ff,#dff0ff 55%,#f5fbff)}.public-page .flow-path-grid{display:grid;grid-template-columns:.75fr 2.25fr;gap:28px;align-items:center}.public-page .flow-path-grid h2{font-size:clamp(26px,2.5vw,36px)}.public-page .flow-path-nodes{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr) 28px minmax(210px,1.15fr);align-items:center;gap:14px}.public-page .flow-path-node{text-align:center;flex:1;min-width:0}.public-page .flow-path-node .flow-icon-disc{margin:0 auto 15px;width:88px;height:88px}.public-page .flow-path-node h3{font-size:23px;margin-bottom:8px}.public-page .flow-level{font-size:12px;color:var(--public-blue);font-weight:700}.public-page .flow-path-node p{font-size:12px;margin-top:13px;margin-bottom:0}.public-page .flow-path-arrow{color:var(--public-blue);font-size:28px;line-height:1.6;margin-top:-30px}.public-page .flow-path-branches{display:grid;gap:30px;min-width:0}.public-page .flow-path-branches a{display:grid;grid-template-columns:68px 1fr;column-gap:14px;align-items:center}.public-page .flow-path-branches .flow-branch-icon{grid-row:span 2;display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:#ffffff8c}.public-page .flow-path-branches .flow-branch-icon svg{width:40px;height:40px;color:var(--public-blue)}.public-page .flow-path-branches strong{font-size:25px}.public-page .flow-path-branches .flow-branch-caption{font-size:12px;color:var(--public-ink-soft)}.public-page .flow-practice{padding:45px 0 65px}.public-page .flow-practice-grid{display:grid;grid-template-columns:1fr 1.2fr .45fr;align-items:center;gap:35px}.public-page .flow-laptop{position:relative;transform:rotate(-3deg);margin:25px 0}.public-page .flow-laptop-screen{padding:12px;border-radius:16px 16px 5px 5px;background:#102c49;box-shadow:0 20px 45px #15385825;border:1px solid #617993}.public-page .flow-editor-top{display:flex;align-items:center;gap:5px;padding:12px;background:#edf6ff;border-radius:5px 5px 0 0}.public-page .flow-editor-top>span{width:6px;height:6px;border-radius:50%;background:#b9d7ee}.public-page .flow-editor-top>span:first-child{background:#ffc83d}.public-page .flow-editor-top small{margin-left:auto;font-size:9px;color:#597592}.public-page .flow-editor-body{background:#fff;padding:30px 19px;min-height:225px}.public-page .flow-code-comment{display:block;color:#49617f;font-size:11px;margin-bottom:22px}.public-page .flow-editor-body code{font-family:Consolas,monospace;font-size:13px;line-height:2;color:#214d72;white-space:nowrap}.public-page .flow-editor-body code b{color:#0072e8;font-weight:400}.public-page .flow-editor-body code i{color:#956100;font-style:normal}.public-page .flow-editor-body code q{color:#0d7969;quotes:none}.public-page .flow-code-feedback{display:flex;align-items:center;gap:13px;margin-top:27px;padding-top:18px;border-top:1px solid #eaf1f8;font-size:11px;color:#49617f}.public-page .flow-code-feedback svg{width:29px;height:29px;color:#0072e8}.public-page .flow-code-feedback strong{font-size:13px;color:#1b4164}.public-page .flow-laptop-base{height:13px;margin:0 -25px;background:linear-gradient(#cad6e1,#a1afbb);border-radius:2px 2px 60% 60%;box-shadow:0 12px 18px #16325415}.public-page .flow-laptop>p{font-size:10px;margin:12px 0 0;text-align:center;color:#49617f}.public-page .flow-practice-cycle{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.public-page .flow-practice-cycle div{display:flex;flex-direction:column;align-items:center}.public-page .flow-practice-cycle svg{width:28px;height:28px;color:var(--public-blue);margin-bottom:8px}.public-page .flow-practice-cycle strong{font-size:13px}.public-page .flow-practice-cycle div span{font-size:11px;color:var(--public-ink-soft)}.public-page .flow-practice-cycle>span{color:#88bdef}.public-page .flow-results{padding:100px 0 110px;background:linear-gradient(100deg,#edf8ff,#f6fbff)}.public-page .flow-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.public-page .flow-heading h2{margin-bottom:0}.public-page .flow-heading>a{white-space:nowrap;margin-bottom:8px}.public-page .flow-results-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px}.public-page .flow-results-grid article{padding-left:22px;border-left:1px solid #cde2f3}.public-page .flow-result-number{font-size:35px;color:var(--public-blue);font-weight:800}.public-page .flow-results-grid h3{font-size:14px;margin:9px 0}.public-page .flow-results-grid p{font-size:12px;margin-bottom:0}.public-page .flow-courses{padding:35px 0 65px}.public-page .flow-course-grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);align-items:start;gap:25px}.public-page .flow-course-grid .flow-copy{padding-right:20px}.public-page .flow-course-grid h2{font-size:28px}.public-page .flow-course-grid .flow-hand{font-size:18px;margin:25px 0 0 12px}.public-page .flow-course{overflow:hidden;background:#fff;border-radius:12px;box-shadow:0 10px 30px #2a6cac0a}.public-page .flow-course-photo{height:170px;overflow:hidden;background:#eef8ff}.public-page .flow-course-photo img{width:100%;height:100%;object-fit:cover;object-position:center 43%;display:block;transition:transform .4s}.public-page .flow-course:hover img{transform:scale(1.04)}.public-page .flow-course-copy{padding:22px 18px}.public-page .flow-course-label{color:#ae7900;background:#fff4d9;padding:4px 10px;border-radius:25px;font-size:11px}.public-page .flow-course h3{font-size:18px;margin-top:12px}.public-page .flow-course p{font-size:12px;min-height:66px}.public-page .flow-course .text-link{font-size:12px}.public-page .flow-team{padding:30px 0 50px}.public-page .flow-team-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.public-page .flow-teaching-principle{position:relative;padding:40px 35px 25px 60px;background:radial-gradient(ellipse at 50% 50%,#edf8ff,transparent 70%)}.public-page .flow-quote{position:absolute;top:5px;left:0;font-family:Georgia,serif;font-size:100px;line-height:1;color:#a4d4ff}.public-page .flow-teaching-principle h3{font-size:27px;color:var(--public-blue)}.public-page .flow-teaching-principle p{font-size:14px}.public-page .flow-teaching-principle .flow-hand{display:block;margin-top:22px}.public-page .flow-news{padding:100px 0;background:linear-gradient(95deg,#f2f9ff,#eaf5ff)}.public-page .flow-news .news-card{border:0;border-radius:0;background:transparent;box-shadow:none}.public-page .flow-news .news-grid--single .news-card-link{grid-template-columns:.8fr 1.2fr;gap:45px}.public-page .flow-news .news-card-content{padding:0}.public-page .flow-news .news-cover{border-radius:50% 6% 30% 5%/15% 4% 20% 5%;max-height:225px}.public-page .flow-news .news-card-content h3{font-size:26px}.public-page .flow-contact{padding:35px 0 65px;background:#fff}.public-page .flow-contact .flow-container{display:flex;align-items:center;justify-content:space-between;gap:30px}.public-page .flow-contact h2{font-size:clamp(24px,2.5vw,34px)}.public-page .flow-contact p:last-child{margin-bottom:0}.public-page .flow-contact .button{flex-shrink:0}@media(min-width:1500px){.public-page .flow-hero{min-height:680px;padding-top:80px}.public-page .flow-hero-copy{width:62%;max-width:750px}}@media(max-width:1150px){.public-page .flow-container{width:calc(100% - 72px)}.public-page .flow-hero{min-height:585px;padding-top:55px}.public-page .flow-hero-copy{width:57%}.public-page .flow-hero h1{font-size:38px}.public-page .flow-hero .hero-break{display:block}.public-page .flow-lead{font-size:14px;max-width:430px}.public-page .flow-feature-grid{gap:23px}.public-page .flow-feature-grid article{gap:14px}.public-page .flow-icon-disc{width:62px;height:62px}.public-page .flow-feature-grid h2{font-size:17px}.public-page .flow-path-grid{grid-template-columns:.75fr 2.25fr;gap:22px}.public-page .flow-path-nodes{gap:10px}.public-page .flow-path-node .flow-icon-disc{width:70px;height:70px}.public-page .flow-path-branches a{grid-template-columns:56px 1fr;column-gap:10px}.public-page .flow-path-branches .flow-branch-icon{width:56px;height:56px}.public-page .flow-path-branches strong{font-size:22px}.public-page .flow-practice-grid{grid-template-columns:1fr 1.15fr;gap:35px}.public-page .flow-practice-cycle{display:none}.public-page .flow-course-grid{grid-template-columns:repeat(3,1fr)}.public-page .flow-course-grid>.flow-copy{grid-column:1/-1;max-width:650px}.public-page .flow-course-grid .flow-copy .flow-hand{display:none}.public-page .flow-team-grid{gap:50px}}@media(max-width:760px){.public-page .flow-container{width:calc(100% - 44px)}.public-page .flow-hero{padding:38px 0 80px;min-height:810px}.public-page .flow-hero-copy{width:100%;max-width:520px}.public-page .flow-hero h1{font-size:36px;line-height:1.45;letter-spacing:-.05em}.public-page .flow-hero .hero-break{display:none}.public-page .flow-intro-note{font-size:16px;margin-bottom:20px}.public-page .flow-hero-photo{top:auto;bottom:0;width:100%;height:420px}.public-page .flow-hero-photo img{object-position:60% 40%;-webkit-mask-image:linear-gradient(180deg,transparent,#000 24%);mask-image:linear-gradient(180deg,transparent,#000 24%)}.public-page .flow-hero-photo figcaption{bottom:74px;right:18px}.public-page .flow-signature{display:none}.public-page .flow-lead{max-width:520px}.public-page .flow-actions{gap:10px}.public-page .flow-actions .button{font-size:12px;padding:11px 17px;gap:12px}.public-page .flow-feature-grid{grid-template-columns:1fr;gap:22px;max-width:480px}.public-page .flow-feature-grid article{gap:20px}.public-page .flow-feature-grid h2{font-size:19px}.public-page .flow-features{padding-top:5px;padding-bottom:70px}.public-page .flow-wave{height:60px}.public-page .flow-about{padding-top:20px}.public-page .flow-about-grid{grid-template-columns:1fr;gap:25px}.public-page .flow-student-photo{height:320px;max-width:530px;width:100%;justify-self:center}.public-page .flow-path{padding:80px 0 90px}.public-page .flow-path-grid{grid-template-columns:1fr;gap:30px}.public-page .flow-path-nodes{max-width:560px;width:100%;margin:auto}.public-page .flow-practice{padding:25px 0 30px}.public-page .flow-practice-grid{grid-template-columns:1fr;gap:15px}.public-page .flow-laptop{max-width:450px;width:90%;margin:30px auto}.public-page .flow-results{padding:80px 0 90px}.public-page .flow-results-grid{grid-template-columns:1fr 1fr;gap:30px 20px}.public-page .flow-result-number{font-size:29px}.public-page .flow-heading{flex-direction:column;align-items:start;gap:10px;margin-bottom:25px}.public-page .flow-courses{padding:20px 0 30px}.public-page .flow-course-grid{grid-template-columns:1fr;gap:24px}.public-page .flow-course>a{display:grid;grid-template-columns:.85fr 1fr}.public-page .flow-course-photo{height:100%;min-height:200px}.public-page .flow-course-copy{padding:17px}.public-page .flow-course p{min-height:0}.public-page .flow-team-grid{grid-template-columns:1fr;gap:20px}.public-page .flow-teaching-principle{padding:35px 20px 20px 50px}.public-page .flow-news{padding:80px 0}.public-page .flow-news .news-grid--single .news-card-link{display:block}.public-page .flow-news .news-cover{max-height:210px;margin-bottom:25px}.public-page .flow-news .news-card-content h3{font-size:23px}.public-page .flow-contact{padding:15px 0 45px}.public-page .flow-contact .flow-container{flex-direction:column;align-items:start;gap:24px}}@media(max-width:420px){.public-page .flow-hero h1{font-size:30px}.public-page .flow-hero .hero-break{display:block}.public-page .flow-hero{min-height:810px}.public-page .flow-hero-photo{height:370px}.public-page .flow-home h2{font-size:26px}.public-page .flow-lead{font-size:13px}.public-page .flow-intro-note{font-size:14px}.public-page .flow-path-nodes{display:grid;grid-template-columns:1fr 25px 1fr;gap:14px}.public-page .flow-path-nodes>.flow-path-arrow:nth-of-type(2){display:none}.public-page .flow-path-branches{grid-column:1/-1;grid-template-columns:1fr 1fr;border-top:1px solid #c9e3f7;padding-top:23px;margin-top:12px}.public-page .flow-path-node p{font-size:11px}.public-page .flow-course>a{grid-template-columns:.8fr 1fr}.public-page .flow-course h3{font-size:16px}.public-page .flow-course-copy{padding:15px 12px}}.public-page .flow-path-node .flow-icon-disc img{width:64px;height:64px;object-fit:contain}.public-page .flow-path-node .flow-icon-gold img{width:72px;height:72px}.public-page .flow-branch-icon img{width:50px;height:50px;object-fit:contain}.public-page .flow-about .coding-island-entry{margin-top:50px}@media(max-width:760px){.public-page .flow-path-nodes{display:grid;grid-template-columns:1fr 28px 1fr;gap:20px}.public-page .flow-path-nodes>.flow-path-arrow:nth-of-type(2){display:none}.public-page .flow-path-branches{grid-column:1 / -1;grid-template-columns:1fr 1fr;gap:24px;border-top:1px solid #c9e3f7;padding-top:24px}.public-page .flow-path-branches a{grid-template-columns:1fr;justify-items:center;text-align:center;gap:8px}.public-page .flow-path-branches .flow-branch-icon{grid-row:auto;width:70px;height:70px}.public-page .flow-path-branches strong{font-size:24px}}.public-page .flow-path-node .flow-cat-art{background:#fff}.public-page .flow-path-node .flow-cat-art img{width:100%;height:100%;object-fit:contain;border-radius:50%}.public-page{--public-ink:#082950;--public-ink-soft:#49617f;--public-blue:#0066d1;--public-blue-dark:#005bbb;--public-blue-pale:#eaf6ff;--public-sky:#f4faff;--public-yellow:#ffc83d;--public-yellow-soft:#fff6d5;--public-border:#dfecf7;--public-muted:#f4faff;--public-white:#fff;--surface:#fff;--surface-muted:#f4faff;--text-primary:#082950;--text-secondary:#49617f;--primary-color:#0066d1;--text-on-primary:#fff;--border-color:#dfecf7;--card-shadow:none;width:100%;margin:0;padding:0;background:#fff;color:var(--public-ink);font-family:Noto Sans TC,Microsoft JhengHei,PingFang TC,sans-serif;font-size:16px;line-height:1.7;text-align:left}.public-page *,.public-page *:before,.public-page *:after{box-sizing:border-box}.public-page a{text-decoration:none;color:inherit}.public-page button{font:inherit;cursor:pointer}.public-page img{max-width:100%}.public-page h1,.public-page h2,.public-page h3,.public-page p{margin:0 0 16px}.public-page h1,.public-page h2,.public-page h3{font-weight:800;color:var(--public-ink);line-height:1.4;letter-spacing:-.035em}.public-page h1{font-size:clamp(30px,3.5vw,52px)}.public-page h2{font-size:clamp(25px,2.4vw,36px)}.public-page h3{font-size:20px}.public-page p{color:var(--public-ink-soft)}.public-page a:focus-visible,.public-page button:focus-visible,.public-page summary:focus-visible{outline:3px solid #0072e8;outline-offset:5px}.public-page [id]{scroll-margin-top:110px}.public-page .public-header{position:sticky;top:0;z-index:50;background:#fffffff7;border-bottom:1px solid #edf4fa;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.public-page .nav-shell{max-width:1380px;min-height:88px;margin:auto;padding:14px 44px;display:flex;align-items:center;gap:36px}.public-page .brand{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.public-page .brand img{width:46px;height:46px;object-fit:contain}.public-page .brand-wordmark{font-size:27px;font-weight:800;letter-spacing:-1px}.public-page .primary-nav{display:flex;justify-content:center;flex:1;gap:28px}.public-page .primary-nav a{font-size:14px;font-weight:700;white-space:nowrap;padding:7px 0;position:relative}.public-page .primary-nav a:hover,.public-page .primary-nav .nav-link-active{color:var(--public-blue)}.public-page .primary-nav .nav-link-active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--public-blue)}.public-page .nav-actions{display:flex;gap:22px;align-items:center;flex-shrink:0}.public-page .nav-login{font-size:14px;font-weight:700;order:0}.public-page .nav-contact{font-size:14px;font-weight:700;padding:11px 25px;border-radius:30px;background:var(--public-blue);color:#fff;order:1;white-space:nowrap}.public-page .menu-toggle{display:none;border:0;width:40px;height:40px;background:transparent;padding:9px;order:2}.public-page .menu-toggle span{display:block;height:2px;background:var(--public-ink);margin:5px 0}.public-page .announcement-bar{display:flex;justify-content:center;align-items:center;gap:12px;padding:9px 24px;background:#eaf6ff;font-size:13px}.public-page .announcement-label{color:var(--public-blue);font-weight:700;white-space:nowrap}.public-page .announcement-summary{color:var(--public-ink-soft)}.public-page .public-main{width:100%;min-width:0}.public-page:not(.public-page--home) .public-main{max-width:1240px;margin:auto;padding:0 44px}.public-page .button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:46px;padding:12px 26px;font-size:14px;font-weight:700;border:1px solid var(--public-blue);border-radius:32px;line-height:1.5;transition:background .18s,transform .18s}.public-page .button:hover{transform:translateY(-2px)}.public-page .button-primary{background:var(--public-blue);color:#fff}.public-page .button-primary:hover{background:var(--public-blue-dark)}.public-page .button-secondary{color:var(--public-blue);background:#ffffffb3}.public-page .button-quiet{border:0;background:transparent;color:var(--public-ink-soft)}.public-page .text-link{display:inline-flex;gap:14px;color:var(--public-blue);font-size:14px;font-weight:700;align-items:center}.public-page .hero-actions,.public-page .banner-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.public-page .eyebrow{font-size:12px;color:var(--public-blue);font-weight:700;letter-spacing:.12em;margin-bottom:16px}.public-page .page-hero{position:relative;padding:64px 0 58px;border-bottom:1px solid var(--public-border);background:radial-gradient(ellipse at 90% 20%,#edf8ff,transparent 65%)}.public-page .page-hero-copy{max-width:850px}.public-page .hero-lead{font-size:17px;max-width:750px;margin-bottom:26px}.public-page .hero-note{font-size:12px;margin-top:18px;margin-bottom:0}.public-page .public-section{padding:48px 0;border:0;border-radius:0;background:transparent;box-shadow:none}.public-page .public-section+.public-section{border-top:1px solid #edf3f8}.public-page .section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:26px}.public-page .section-heading h2{margin-bottom:0}.public-page .section-heading>p{max-width:430px;font-size:14px;margin:0}.public-page .split-section{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}.public-page .card-grid,.public-page .credential-grid,.public-page .contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.public-page .info-card,.public-page .credential-card,.public-page .contact-card,.public-page .detail-card{padding:15px 0;min-width:0}.public-page .credential-icon{display:grid;place-items:center;width:58px;height:58px;margin-bottom:20px;border:1px solid #d7eafa;border-radius:18px 18px 18px 5px;background:linear-gradient(135deg,#f6fbff,#eaf5ff);color:var(--public-blue)}.public-page .credential-icon svg{display:block;width:30px;height:30px}.public-page .award-card .credential-icon{color:#ad7b17;background:linear-gradient(135deg,#fffdf6,#fff4d7);border-color:#f1e1b8}.public-page .feature-list article{padding:18px 0;border-bottom:1px solid var(--public-border)}.public-page .feature-marker{font-size:14px;color:var(--public-blue)}.public-page .feature-list h3{display:inline;margin-left:16px}.public-page .feature-list p{margin-top:10px}.public-page .founder-card{display:flex;gap:30px;margin:30px 0;padding:30px 0;border-top:1px solid var(--public-border)}.public-page .founder-avatar{display:grid;place-items:center;flex:0 0 85px;height:85px;border-radius:50%;background:var(--public-blue-pale);color:var(--public-blue);font-size:36px}.public-page .founder-role{color:var(--public-blue)}.public-page .founder-badges{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.public-page .founder-badges span{font-size:12px;padding:5px 10px;border-radius:20px;background:var(--public-blue-pale)}.public-page blockquote{margin:24px 0 0;border-left:3px solid var(--public-yellow);padding-left:24px;color:var(--public-ink-soft)}.public-page .founder-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.public-page ul{padding-left:22px;color:var(--public-ink-soft);line-height:1.9}.public-page .award-card{padding:22px 0}.public-page .award-badge{color:#8a6317;display:inline-block;background:var(--public-yellow-soft);border-radius:30px;padding:5px 12px;font-size:13px;margin-bottom:15px}.public-page .soft-panel,.public-page .platform-callout{padding:32px;background:linear-gradient(110deg,#eaf6ff,#fff);border-radius:0 60px 0 0}.public-page .soft-panel strong,.public-page .platform-callout strong{font-size:23px}.public-page .callout-line{height:4px;width:60px;background:var(--public-yellow);margin-bottom:20px}.public-page .learning-path{display:flex;align-items:center;gap:24px;padding:25px 0;flex-wrap:wrap}.public-page .path-node{flex:1;min-width:155px;padding:24px 0}.public-page .path-step{color:var(--public-blue);font-size:13px}.public-page .path-node h3{font-size:25px;margin:10px 0}.public-page .path-node p{font-size:14px}.public-page .path-arrow{font-size:28px;color:var(--public-blue)}.public-page .path-branches{display:flex;gap:24px;flex:1.5}.public-page .path-node-branch{padding-left:22px;border-left:2px solid #c6e5ff}.public-page .path-branch-label{font-size:12px;color:var(--public-ink-soft)}.public-page .course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 36px}.public-page .course-detail-card{min-width:0;border-bottom:1px solid var(--public-border);padding-bottom:20px}.public-page .course-card-image{display:block;width:100%;height:220px;object-fit:cover;object-position:center 43%;border-radius:12px}.public-page .course-card-body{padding:22px 0 0}.public-page .course-situation{color:var(--public-blue);font-size:12px;font-weight:700}.public-page .course-card-body h3{margin-top:10px}.public-page .course-preview-grid,.public-page .achievement-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}.public-page .course-preview-card,.public-page .achievement-card{padding:20px 0}.public-page .course-preview-card h3{margin-top:15px}.public-page .achievement-dot{display:block;width:25px;height:4px;background:var(--public-yellow);margin-bottom:18px}.public-page .stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding:26px 0}.public-page .stats-grid strong,.public-page .stats-grid b{display:block;color:var(--public-blue);font-size:32px}.public-page .stats-grid span{display:block;font-size:14px}.public-page .timeline,.public-page .steps{margin:25px 0}.public-page .timeline>div,.public-page .steps>div{display:flex;gap:30px;align-items:center;padding:20px 0;border-bottom:1px solid var(--public-border)}.public-page .timeline b,.public-page .steps b{font-size:28px;color:var(--public-blue)}.public-page .faq-item{padding:22px 0;border-bottom:1px solid var(--public-border)}.public-page .faq-item summary{cursor:pointer;font-weight:700;padding-right:20px}.public-page .faq-item p{margin:16px 0 0;max-width:900px}.public-page .resource-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}.public-page .resource-card{padding:32px 0;border-top:3px solid var(--public-blue)}.public-page .resource-card-scratch{border-color:#ffba29}.public-page .resource-label{font-size:14px;color:var(--public-blue)}.public-page .resource-card h3{font-size:25px;margin:15px 0}.public-page .portal-card{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:25px 0}.public-page .quiz-gated-card{padding:18px 0}.public-page .quiz-gated-frame{display:block;width:100%;height:1120px;border:1px solid var(--public-border);background:#fff}.public-page .closed-note,.public-page .closed-banner{color:#7b5c16;background:#fffae9}.public-page .closed-note{display:inline-flex;gap:10px;padding:8px 15px;border-radius:20px;font-size:14px}.public-page .closed-banner{display:flex;align-items:center;gap:28px;padding:30px;margin-top:30px}.public-page .closed-icon{font-size:28px}.public-page .poster-frame{margin:0}.public-page .poster-frame img{display:block;max-width:100%;height:auto}.public-page .contain-poster{max-width:650px;margin:auto}.public-page .poster-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.public-page .contact-label{color:var(--public-blue);font-size:12px;letter-spacing:.12em}.public-page .contact-card h2{font-size:23px;margin:15px 0}.public-page .contact-note,.public-page .muted{font-size:14px;color:var(--public-ink-soft)}.public-page .map-frame{overflow:hidden;border-radius:16px}.public-page .map-frame iframe{width:100%;border:0;display:block}.public-page .link-row{display:flex;gap:28px}.public-page .contact-banner{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:50px 0;background:linear-gradient(90deg,#fff,#edf8ff);margin:20px 0 0}.public-page .contact-banner h2{font-size:28px}.public-page .contact-banner p{margin-bottom:0}.public-page .public-footer{background:#052443;color:#fff;padding:50px max(32px,calc((100% - 1292px)/2)) 20px}.public-page .footer-main{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:40px}.public-page .public-footer .brand{margin-bottom:16px}.public-page .public-footer .brand-wordmark{color:#fff}.public-page .public-footer p{color:#b8cde0;font-size:13px}.public-page .footer-label{font-weight:700;color:#fff!important;margin-bottom:18px}.public-page .footer-links,.public-page .footer-socials{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.public-page .footer-links a,.public-page .footer-socials a{font-size:13px;color:#d7e6f2}.public-page .footer-links a:hover,.public-page .footer-socials a:hover{color:#fff;text-decoration:underline}.public-page .footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #28435e;padding-top:20px;margin-top:35px;color:#9fb8d0;font-size:11px}@media(max-width:1150px){.public-page .nav-shell{padding:14px 28px;gap:24px}.public-page .primary-nav{gap:18px}.public-page .nav-actions{gap:16px}.public-page .nav-contact{padding:10px 18px}.public-page .credential-grid,.public-page .contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:940px){.public-page .nav-shell{min-height:76px;gap:16px;justify-content:space-between}.public-page .primary-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--public-border);padding:20px 28px;box-shadow:0 15px 25px #0829500a}.public-page .primary-nav-open{display:flex;flex-direction:column;gap:8px}.public-page .primary-nav a{padding:10px 0}.public-page .menu-toggle{display:block}.public-page .nav-actions{margin-left:auto}.public-page .announcement-summary{display:none}.public-page .course-preview-grid,.public-page .achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-page .footer-main{grid-template-columns:1.2fr 1fr;gap:28px}}@media(max-width:620px){.public-page{font-size:15px}.public-page .nav-shell{padding:10px 18px;min-height:68px}.public-page .brand img{width:33px;height:33px}.public-page .brand-wordmark{font-size:22px}.public-page .nav-actions{gap:8px}.public-page .nav-contact{padding:8px 12px;font-size:12px}.public-page .nav-login{font-size:12px}.public-page .menu-toggle{width:33px}.public-page:not(.public-page--home) .public-main{padding:0 22px}.public-page .page-hero{padding:42px 0}.public-page .public-section{padding:32px 0}.public-page .hero-lead{font-size:15px}.public-page .button{padding:11px 19px;gap:15px;font-size:13px}.public-page .section-heading,.public-page .portal-card,.public-page .contact-banner,.public-page .closed-banner{flex-direction:column;align-items:flex-start;gap:20px}.public-page .split-section,.public-page .card-grid,.public-page .credential-grid,.public-page .contact-grid,.public-page .course-grid,.public-page .resource-grid,.public-page .founder-detail-grid,.public-page .poster-gallery,.public-page .course-preview-grid,.public-page .achievement-grid{grid-template-columns:1fr;gap:24px}.public-page .learning-path{flex-direction:column;align-items:stretch}.public-page .path-arrow{transform:rotate(90deg);align-self:center}.public-page .path-branches,.public-page .founder-card{flex-direction:column}.public-page .founder-avatar{flex-basis:auto;width:75px;height:75px}.public-page .stats-grid{grid-template-columns:1fr 1fr}.public-page .public-footer{padding:40px 24px 20px}.public-page .footer-main{grid-template-columns:1fr 1fr;gap:24px}.public-page .footer-brand{grid-column:1/-1}.public-page .footer-bottom{flex-direction:column;gap:8px}}@media(max-width:370px){.public-page .nav-contact{display:none}}@media(prefers-reduced-motion:reduce){.public-page *{scroll-behavior:auto!important;transition:none!important}}@media(max-width:940px){.public-page .primary-nav{max-height:calc(100vh - var(--public-header-height, 76px));max-height:calc(100dvh - var(--public-header-height, 76px));overflow-y:auto;overscroll-behavior-y:contain}.public-page .primary-nav a{flex-shrink:0}}.public-page .about-learning-route{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.public-page .about-learning-route>p{margin:0}.public-page .about-learning-route>strong{display:block;line-height:1.4}.public-page .about-learning-route>.text-link{margin-top:8px}.public-page .coding-island-entry{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:28px 0;border-top:1px solid #d7eaf7;border-bottom:1px solid #d7eaf7}.public-page .coding-island-entry-name>span{font-size:11px;color:var(--public-blue);letter-spacing:.1em}.public-page .coding-island-entry h2{font-size:30px;margin:7px 0 0;letter-spacing:-.03em;white-space:nowrap}.public-page .coding-island-entry h2 em{color:var(--public-blue);font-style:normal}.public-page .coding-island-entry h2>span{color:#e3ab1a}.public-page .coding-island-entry>p{margin:0;font-size:14px}.public-page .coding-island-entry .button{flex-shrink:0}@media(min-width:941px)and (max-width:1150px){.public-page .primary-nav{gap:14px}.public-page .nav-shell{gap:18px}}@media(max-width:1000px){.public-page .coding-island-entry{flex-wrap:wrap;gap:22px}}@media(max-width:620px){.public-page .coding-island-entry{flex-direction:column;align-items:flex-start}.public-page .coding-island-entry h2{font-size:28px}}.public-page :is(.button,.nav-contact,.news-cta,.news-filter,.menu-toggle){transition:transform .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease}.public-page :is(.text-link,.nav-login,.footer-links a,.footer-socials a){transition:color .18s ease}.public-page :is(.button,.text-link)>span[aria-hidden=true]{display:inline-block;transition:transform .18s ease}.public-page .primary-nav a:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--public-blue);transform:scaleX(0);transform-origin:left;transition:transform .18s ease}.public-page .primary-nav :is(.nav-link-active,a:focus-visible):after{transform:scaleX(1)}.public-page :is(.flow-course,.news-card,a.contact-card,.flow-path-branches a){transition:transform .2s ease,box-shadow .2s ease}@media(hover:hover)and (pointer:fine){.public-page :is(.button,.nav-contact,.news-cta):hover{transform:translateY(-2px);box-shadow:0 5px 14px #0072e81a}.public-page :is(.button,.text-link):hover>span[aria-hidden=true]{transform:translate(3px)}.public-page .primary-nav a:hover:after{transform:scaleX(1)}.public-page :is(.flow-course,.news-card,a.contact-card):hover{transform:translateY(-3px)}.public-page .flow-path-branches a:hover{transform:translate(3px)}.public-page :is(.news-filter,.menu-toggle):hover{background-color:var(--public-blue-pale)}}.public-page :is(.button,.nav-contact,.news-cta,.news-filter,.menu-toggle):active{transform:scale(.98);box-shadow:none}.public-page .menu-toggle span{transition:transform .18s ease,opacity .18s ease}.public-page .menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.public-page .menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.public-page .menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.public-page .faq-item summary{transition:color .18s ease}.public-page .faq-item[open] summary{color:var(--public-blue)}.public-page .faq-item[open]>p{animation:public-answer-in .18s ease-out}@keyframes public-answer-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.public-page,.public-page *,.public-page *:before,.public-page *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.public-page :is(.button,.nav-contact,.news-cta,.news-filter,.menu-toggle,.flow-course,.news-card,a.contact-card,.flow-path-branches a):is(:hover,:active),.public-page :is(.button,.text-link):hover>span[aria-hidden=true],.public-page .flow-course:hover img{transform:none}}.python-playground[data-v-b760b7f5]{display:flex;flex-direction:column;gap:1rem;width:min(1200px,100%);background:var(--card-bg);border-radius:16px;padding:1.5rem;box-shadow:0 10px 30px #00000014;min-height:0;overflow:visible}.toolbar[data-v-b760b7f5]{display:flex;justify-content:space-between;align-items:center;gap:1rem}.toolbar h2[data-v-b760b7f5]{margin:0;font-size:1.4rem;color:var(--text-primary)}button[data-v-b760b7f5]{border:none;border-radius:8px;padding:.55rem 1.2rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}button.primary[data-v-b760b7f5]{background:var(--primary-color);color:var(--text-on-primary);box-shadow:0 6px 16px #2563eb4d}button.ghost[data-v-b760b7f5]{background:var(--surface-muted);color:var(--text-primary)}button[data-v-b760b7f5]:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.workspace[data-v-b760b7f5]{display:flex;flex-direction:column;gap:1.25rem;min-height:0;min-height:640px;height:auto;flex:1;overflow:visible}.editor-section[data-v-b760b7f5]{display:flex;flex-direction:column;min-height:0;min-width:0;flex:1}.editor-pane[data-v-b760b7f5]{min-height:360px;min-width:0;flex:1 1 auto;height:auto;border-radius:12px;overflow:hidden;border:1px solid var(--border-color)}.result-section[data-v-b760b7f5]{display:flex;flex-direction:column;gap:.75rem;min-height:0;flex:0 0 240px;min-width:0;max-height:260px;overflow:hidden}.result-toolbar[data-v-b760b7f5]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;position:sticky;top:0;z-index:10;background:#fff}.result-tabs[data-v-b760b7f5]{display:flex;gap:.5rem}.result-actions[data-v-b760b7f5]{display:flex;gap:.75rem}.tab[data-v-b760b7f5]{background:var(--surface-muted);color:var(--text-primary);border-radius:999px;padding:.45rem 1rem;font-weight:600}.tab.active[data-v-b760b7f5]{background:var(--primary-color);color:var(--text-on-primary)}.result-content[data-v-b760b7f5]{display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden}.console[data-v-b760b7f5],.canvas-pane[data-v-b760b7f5]{background:var(--code-bg);border-radius:12px;padding:.75rem 1rem 1rem;display:flex;flex-direction:column;min-height:0;flex:1;min-width:0;overflow:auto}.pane-title[data-v-b760b7f5]{color:var(--text-secondary);font-size:.9rem;margin-bottom:.5rem}.console-output[data-v-b760b7f5]{flex:1;margin:0;min-height:0;overflow:auto;white-space:pre-wrap;color:var(--code-text);font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.85rem}.canvas-pane[data-v-b760b7f5]{background:var(--code-bg-alt);min-height:0;flex:1 1 auto;overflow:auto}.turtle-canvas[data-v-b760b7f5]{position:relative;flex:1;width:100%;height:100%;min-height:360px;background:#fff;border-radius:8px;overflow:hidden}.turtle-canvas[data-v-b760b7f5] canvas{display:block}@media(max-width:1100px){.workspace[data-v-b760b7f5]{height:70vh;flex-direction:column}.result-section[data-v-b760b7f5]{flex-basis:220px;max-height:240px}.editor-pane[data-v-b760b7f5]{min-height:360px}}.learning-ui[data-v-b760b7f5]{width:100%;padding:0;box-shadow:none;background:transparent;gap:12px}.learning-ui .toolbar h2[data-v-b760b7f5]{font-size:13px;color:var(--text-secondary);font-weight:500}.learning-ui .workspace[data-v-b760b7f5]{min-height:0;height:auto;gap:16px}.learning-ui .editor-pane[data-v-b760b7f5]{min-height:340px;height:340px;flex:none}.learning-ui .result-section[data-v-b760b7f5]{flex:none;max-height:none;overflow:visible}.learning-ui .result-toolbar[data-v-b760b7f5]{position:static;background:transparent}.learning-ui .result-actions[data-v-b760b7f5]{flex-wrap:wrap;gap:8px}.learning-ui button[data-v-b760b7f5]{min-height:40px;padding:9px 13px;font-size:13px;border-radius:12px}.learning-ui button.primary[data-v-b760b7f5]{background:#1aa873;color:#fff;box-shadow:0 5px 15px #1aa87320}.learning-ui .console[data-v-b760b7f5]{min-height:170px;max-height:320px;background:#202936}.learning-ui .pane-title[data-v-b760b7f5]{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#c8d7ec}.learning-ui .clear-output[data-v-b760b7f5]{padding:4px 10px;min-height:32px;background:#354356;color:#e6eefb}.learning-ui .console-output[data-v-b760b7f5]{color:#ecf2ff;overflow-wrap:anywhere}.learning-ui .canvas-pane[data-v-b760b7f5]{min-height:400px}.learning-ui.is-fullscreen[data-v-b760b7f5]{background:var(--surface);padding:24px;overflow:auto}.learning-ui.is-fullscreen .editor-pane[data-v-b760b7f5]{height:50vh}@media(max-width:600px){.learning-ui .editor-pane[data-v-b760b7f5]{height:300px;min-height:300px}}.reward-receipt[data-v-e6f2fb24]{padding:12px;margin-bottom:12px;border:1px solid var(--border-color);background:var(--surface-muted);border-radius:12px}h3[data-v-e6f2fb24]{margin:0 0 8px}p[data-v-e6f2fb24]{line-height:1.6;font-size:.9rem}button[data-v-e6f2fb24]{padding:8px;cursor:pointer}.answer-sheet[data-v-fd5db902]{width:300px;border:1px solid var(--border-color);background:var(--card-bg);display:flex;flex-direction:column;border-radius:16px;box-shadow:0 8px 26px #0000000f}.card-header[data-v-fd5db902]{padding:1rem;border-bottom:1px solid var(--border-color)}.header-line[data-v-fd5db902]{display:flex;justify-content:space-between;align-items:center;font-weight:700}.muted[data-v-fd5db902]{color:var(--text-secondary);font-weight:600}.view-only-note[data-v-fd5db902]{margin:.6rem 0 0;color:var(--text-secondary);font-size:.8rem;line-height:1.5}.card-body[data-v-fd5db902]{display:flex;flex-direction:column;gap:18px;padding:1.2rem;overflow-y:auto}.section-group[data-v-fd5db902]{display:flex;flex-direction:column;gap:12px}.section-group+.section-group[data-v-fd5db902]{border-top:1px solid var(--border-color);padding-top:14px}.section-header[data-v-fd5db902]{font-weight:700;color:var(--text-primary);font-size:.95rem}.section-grid[data-v-fd5db902]{display:flex;flex-wrap:wrap;gap:12px}.question-number[data-v-fd5db902]{width:42px;height:42px;border:1px solid var(--border-color);cursor:pointer;background-color:var(--surface-muted);color:var(--text-primary);border-radius:10px;font-weight:600;transition:all .2s ease}.question-number[data-v-fd5db902]:hover{transform:translateY(-2px)}.question-number.active[data-v-fd5db902]{border:2px solid var(--primary-color);color:var(--primary-color)}.question-number.answered[data-v-fd5db902]{background-color:#eaf7f0;border-color:#cbe8d8}.question-number.correct[data-v-fd5db902]{background-color:var(--primary-color);color:var(--text-on-primary);border-color:var(--primary-color)}.question-number.wrong[data-v-fd5db902]{background-color:#dc3545;color:var(--text-on-primary);border-color:#dc3545}.question-number.view-only[data-v-fd5db902]:not(.active){border-style:dashed;color:var(--text-secondary)}.question-number.flagged[data-v-fd5db902]{outline:2px solid #ffb74d}.card-footer[data-v-fd5db902]{padding:1.2rem;margin-top:auto;border-top:1px solid var(--border-color)}.submit-button[data-v-fd5db902]{width:100%;padding:.8rem;font-size:1.05rem;font-weight:700;cursor:pointer;background-color:var(--primary-color);color:var(--text-on-primary);border:none;border-radius:10px}.submit-button[data-v-fd5db902]:disabled{cursor:not-allowed;opacity:.6}.cpp-judge-result-card[data-v-ce73c3e0]{margin-top:.5rem;border:1px solid var(--border-color);border-radius:10px;padding:.75rem;background:var(--surface-muted)}.result-header[data-v-ce73c3e0]{margin-bottom:.5rem}.status-badge[data-v-ce73c3e0]{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-weight:700;font-size:.84rem;border:1px solid transparent}.status-ac[data-v-ce73c3e0]{background:#dcfce7;color:#166534;border-color:#86efac}.status-wa[data-v-ce73c3e0]{background:#fef3c7;color:#92400e;border-color:#fcd34d}.status-ce[data-v-ce73c3e0]{background:#fee2e2;color:#991b1b;border-color:#fca5a5}.status-tle[data-v-ce73c3e0]{background:#ede9fe;color:#5b21b6;border-color:#c4b5fd}.status-re[data-v-ce73c3e0]{background:#ffe4e6;color:#9f1239;border-color:#fda4af}.status-mle[data-v-ce73c3e0]{background:#fff7ed;color:#9a3412;border-color:#fdba74}.status-se[data-v-ce73c3e0]{background:#f3f4f6;color:#374151;border-color:#d1d5db}.status-unknown[data-v-ce73c3e0]{background:#e5e7eb;color:#1f2937;border-color:#d1d5db}.state-text[data-v-ce73c3e0]{margin:0;font-size:.92rem}.state-error[data-v-ce73c3e0]{color:#b91c1c}.compile-error-block[data-v-ce73c3e0]{margin-top:.5rem}.compile-error-block pre[data-v-ce73c3e0]{margin:.35rem 0 0;max-height:240px;overflow:auto;color:#b91c1c}.first-failed-block[data-v-ce73c3e0],.details-block[data-v-ce73c3e0]{margin-top:.5rem}.fail-detail pre[data-v-ce73c3e0]{margin:.45rem 0 0;max-height:220px;overflow:auto}.case-list[data-v-ce73c3e0]{margin:.4rem 0 0;padding-left:0;list-style:none}.case-list li[data-v-ce73c3e0]{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.5rem;border:1px solid var(--border-color);border-radius:8px;padding:.35rem .45rem;margin-bottom:.35rem}.case-status[data-v-ce73c3e0]{font-weight:600}.cpp-submission-history[data-v-838806ef]{margin-top:.75rem;border:1px solid var(--border-color);border-radius:10px;padding:.75rem;background:var(--surface-muted)}.cpp-submission-history h4[data-v-838806ef]{margin:0 0 .65rem}.state-text[data-v-838806ef]{margin:0;font-size:.92rem}.state-error[data-v-838806ef]{color:#b91c1c}.history-list[data-v-838806ef]{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.history-item[data-v-838806ef]{border:1px solid var(--border-color);border-radius:8px;background:var(--surface)}.history-summary[data-v-838806ef]{display:flex;justify-content:space-between;gap:.75rem;align-items:center;padding:.6rem .75rem}.history-main[data-v-838806ef]{display:flex;flex-wrap:wrap;gap:.5rem .75rem;font-size:.9rem}.summary-status[data-v-838806ef]{font-weight:700}.toggle-btn[data-v-838806ef]{border:1px solid var(--border-color);background:transparent;border-radius:999px;padding:.2rem .65rem;font-size:.82rem;cursor:pointer}.history-details[data-v-838806ef]{border-top:1px dashed var(--border-color);padding:.6rem .75rem}.detail-block+.detail-block[data-v-838806ef]{margin-top:.5rem}.detail-block pre[data-v-838806ef]{margin:.35rem 0 0;max-height:220px;overflow:auto}.oj-stats-card[data-v-8f62fe48]{margin-top:12px;border:1px solid rgba(15,23,42,.12);border-radius:12px;padding:12px;background:#f8fafcd9}.oj-stats-card h4[data-v-8f62fe48]{margin:0 0 10px;font-size:15px}.oj-summary-grid[data-v-8f62fe48]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.summary-item[data-v-8f62fe48]{border-radius:8px;background:#fff;border:1px solid rgba(15,23,42,.08);padding:8px;display:flex;flex-direction:column;gap:4px}.summary-item span[data-v-8f62fe48]{font-size:12px;color:#475569}.oj-status-list[data-v-8f62fe48]{margin:10px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}.oj-status-list li[data-v-8f62fe48]{border-radius:999px;border:1px solid rgba(15,23,42,.12);background:#fff;padding:4px 10px;font-size:12px;display:flex;gap:6px}.oj-stats-loading[data-v-8f62fe48]{margin:4px 0 0;color:#475569}.oj-stats-error[data-v-8f62fe48]{margin:4px 0 0;color:#b91c1c}.submission-detail-panel[data-v-e93645bc]{margin-top:.75rem;border:1px solid var(--border-color);border-radius:10px;padding:.75rem;background:var(--surface-muted)}.submission-detail-panel h4[data-v-e93645bc]{margin:0 0 .65rem}.state-text[data-v-e93645bc]{margin:0;font-size:.92rem}.state-error[data-v-e93645bc]{color:#b91c1c}.summary-grid[data-v-e93645bc]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.summary-item[data-v-e93645bc]{border:1px solid var(--border-color);border-radius:8px;padding:.45rem .55rem;display:flex;flex-direction:column;gap:.15rem}.detail-block[data-v-e93645bc]{margin-top:.6rem}.detail-block pre[data-v-e93645bc]{margin:.35rem 0 0;max-height:220px;overflow:auto}.case-list[data-v-e93645bc]{list-style:none;margin:.4rem 0 0;padding:0}.case-list li[data-v-e93645bc]{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.5rem;border:1px solid var(--border-color);border-radius:8px;padding:.35rem .45rem;margin-bottom:.35rem}.case-status[data-v-e93645bc]{font-weight:600}.submit-overlay[data-v-4233c31c]{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;pointer-events:all;background:#090f22a3;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.overlay-card[data-v-4233c31c]{width:min(420px,92vw);border-radius:20px;background:linear-gradient(145deg,#0e1a3f,#182d6d);box-shadow:0 24px 48px #00000059;color:#fff;text-align:center;padding:2rem 1.6rem}.overlay-logo[data-v-4233c31c]{width:88px;height:88px;margin-bottom:1rem;animation:spin-4233c31c 2.4s linear infinite,floatPulse-4233c31c 1.6s ease-in-out infinite}.progress-text[data-v-4233c31c],.error-text[data-v-4233c31c]{margin:.25rem 0 0;font-size:1.05rem;font-weight:600}.error-text[data-v-4233c31c]{color:#ffd4d4}.overlay-actions[data-v-4233c31c]{margin-top:1rem;display:flex;gap:.7rem;justify-content:center}.overlay-button[data-v-4233c31c]{border:1px solid rgba(255,255,255,.4);border-radius:10px;padding:.5rem .9rem;background:#ffffff1a;color:#fff;font-weight:700;cursor:pointer}.overlay-button.primary[data-v-4233c31c]{background:#43d1ff;border-color:transparent;color:#11204d}@keyframes spin-4233c31c{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes floatPulse-4233c31c{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.08)}}.scratch-project--safe-off[data-v-c7b2b813]{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border:1px solid var(--obj-line, #e7eef8);border-radius:14px;background:var(--obj-panel, #fff)}.scratch-project-status[data-v-c7b2b813]{display:flex;align-items:center;gap:10px}.scratch-project-icon[data-v-c7b2b813]{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border-radius:10px;background:#fff0de;color:#d56812}.scratch-project-icon svg[data-v-c7b2b813]{width:20px;height:20px}h2[data-v-c7b2b813]{margin:0;color:var(--obj-ink, var(--text-primary));font-size:15px}p[data-v-c7b2b813]{margin:0;color:var(--obj-muted, var(--text-secondary));font-size:12px;line-height:1.6}.scratch-project-status-message[data-v-c7b2b813]{color:var(--obj-ink, var(--text-primary));font-weight:700}.scratch-project-history-file[data-v-c7b2b813]{overflow-wrap:anywhere;padding-top:8px;border-top:1px solid var(--obj-line, #e7eef8)}.scratch-project-history-file span[data-v-c7b2b813]{color:var(--obj-ink, var(--text-primary));font-weight:600}.quiz-page[data-v-d30b3142]{width:100%}.scratch-safeoff-page .question-response[data-v-d30b3142]{margin-top:12px;padding:12px 0;background:transparent}.scratch-safeoff-page .scratch-reference-region[data-v-d30b3142]{min-width:0;margin-top:12px;padding:12px;border-radius:12px;background:var(--obj-soft, #edf4ff)}.scratch-safeoff-page .scratch-reference-region[data-v-d30b3142]:focus-visible{outline:3px solid var(--obj-blue, #2467da);outline-offset:2px}.scratch-safeoff-page .scratch-region-title[data-v-d30b3142]{margin:10px 0 8px}.quiz-shell[data-v-d30b3142]{position:relative;display:grid;grid-template-columns:minmax(0,1fr) clamp(300px,24vw,380px);gap:24px;width:min(1800px,100%);margin:0 auto;padding:16px 24px;min-height:90vh}.quiz-shell--blocked[data-v-d30b3142]{pointer-events:none}.floating-theme-toggle[data-v-d30b3142]{position:fixed;left:22px;bottom:22px;z-index:1200}.submit-confirm-backdrop[data-v-d30b3142]{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:#0f172a73;padding:16px;pointer-events:auto}.submit-confirm-modal[data-v-d30b3142]{width:min(420px,100%);border-radius:14px;border:1px solid var(--border-color);background:var(--surface);box-shadow:0 14px 40px #0f172a38;padding:20px;pointer-events:auto}.submit-confirm-modal h3[data-v-d30b3142]{margin:0 0 10px}.submit-confirm-modal p[data-v-d30b3142]{margin:0;color:var(--text-secondary);line-height:1.5}.submit-confirm-actions[data-v-d30b3142]{margin-top:18px;display:flex;justify-content:flex-end;gap:10px}.ai-grading-toggle-card[data-v-d30b3142]{margin-top:14px;border:1px solid var(--border-color);border-radius:12px;background:var(--surface-muted);padding:12px 14px;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.ai-grading-toggle-card--enabled[data-v-d30b3142]{border-color:color-mix(in srgb,var(--primary-color) 50%,var(--border-color));background:color-mix(in srgb,var(--primary-color) 12%,var(--surface));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 18%,transparent)}.ai-grading-toggle-main[data-v-d30b3142]{display:flex;align-items:center;justify-content:space-between;gap:12px}.ai-grading-toggle-copy h4[data-v-d30b3142]{margin:0;font-size:.96rem}.ai-grading-toggle-copy p[data-v-d30b3142]{margin:6px 0 0;font-size:.9rem}.ai-grading-toggle-right[data-v-d30b3142]{display:flex;align-items:center;gap:8px;flex-shrink:0}.ai-grading-status-badge[data-v-d30b3142]{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;background:var(--surface);border:1px solid var(--border-color);color:var(--text-secondary);font-size:.78rem;font-weight:700}.ai-grading-status-badge--enabled[data-v-d30b3142]{color:var(--primary-color);border-color:color-mix(in srgb,var(--primary-color) 45%,var(--border-color));background:color-mix(in srgb,var(--primary-color) 13%,var(--surface))}.ai-switch[data-v-d30b3142]{position:relative;display:inline-flex;width:44px;height:24px}.ai-switch input[data-v-d30b3142]{opacity:0;width:0;height:0}.ai-switch-slider[data-v-d30b3142]{position:absolute;inset:0;border-radius:999px;border:1px solid var(--border-color);background:var(--surface);transition:background-color .2s ease,border-color .2s ease}.ai-switch-slider[data-v-d30b3142]:before{content:"";position:absolute;width:18px;height:18px;left:2px;top:2px;border-radius:50%;background:var(--text-secondary);transition:transform .2s ease,background-color .2s ease}.ai-switch input:checked+.ai-switch-slider[data-v-d30b3142]{border-color:var(--primary-color);background:color-mix(in srgb,var(--primary-color) 25%,var(--surface))}.ai-switch input:checked+.ai-switch-slider[data-v-d30b3142]:before{transform:translate(20px);background:var(--primary-color)}.nav-left[data-v-d30b3142]{background:var(--surface);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 6px 20px #0000000f;height:fit-content}.nav-left ul[data-v-d30b3142]{list-style:none;margin:0;padding:12px}.nav-left li[data-v-d30b3142]{padding:10px 12px;border-radius:10px;color:var(--text-secondary);cursor:pointer}.nav-left li.active[data-v-d30b3142],.nav-left li[data-v-d30b3142]:hover{background:var(--surface-muted);color:var(--primary-color)}.content-main[data-v-d30b3142]{background:var(--surface);border-radius:16px;box-shadow:0 8px 26px #0000000f;border:1px solid var(--border-color);min-height:100%;overflow:hidden;min-width:0}.loading[data-v-d30b3142]{padding:40px}.content-wrapper[data-v-d30b3142]{display:flex;flex-direction:column;height:100%}.empty-state[data-v-d30b3142]{align-items:center;justify-content:center;padding:48px 24px}.empty-message[data-v-d30b3142]{text-align:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:16px}.empty-actions[data-v-d30b3142]{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.top-bar[data-v-d30b3142]{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;border-bottom:1px solid var(--border-color)}.back[data-v-d30b3142]{border:none;background:var(--surface);border-radius:10px;padding:6px 10px;cursor:pointer;box-shadow:0 2px 6px #0000000f;font-size:20px}.title[data-v-d30b3142]{font-weight:700}.meta[data-v-d30b3142]{display:flex;align-items:center;gap:16px}.timer-chip[data-v-d30b3142]{font-weight:600;color:var(--primary-color)}.progress[data-v-d30b3142]{display:flex;align-items:center;gap:10px}.bar[data-v-d30b3142]{width:160px;height:6px;background:var(--border-color);border-radius:6px;overflow:hidden}.bar span[data-v-d30b3142]{display:block;height:100%;background:var(--primary-color)}.question-card[data-v-d30b3142]{flex:1;padding:24px 28px 32px;display:flex;flex-direction:column;gap:18px}.q-head[data-v-d30b3142]{display:flex;justify-content:space-between;align-items:center}.q-index[data-v-d30b3142]{font-weight:700;color:var(--text-primary)}.flag[data-v-d30b3142]{border:none;background:var(--surface-muted);color:#f90;padding:6px 12px;border-radius:12px;cursor:pointer;font-weight:600}.flag.on[data-v-d30b3142]{background:#f90;color:var(--text-on-primary)}.question-text[data-v-d30b3142]{font-size:1.05rem;line-height:1.8;white-space:pre-wrap;font-weight:500}.text-segment[data-v-d30b3142]{white-space:pre-wrap}.inline-blank input[data-v-d30b3142]{min-width:120px;padding:6px 10px;border:1px solid var(--border-color);border-radius:8px;margin:0 8px}.media-gallery[data-v-d30b3142]{margin:10px 0 18px;display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.media-frame[data-v-d30b3142]{border-radius:12px;border:1px solid var(--border-color);background:var(--surface);overflow:hidden;padding:6px}.media-image[data-v-d30b3142]{display:block;max-width:100%;width:auto;height:auto;max-height:100%;object-fit:contain;border-radius:8px}.question-gallery .media-frame[data-v-d30b3142]{width:min(100%,820px);max-height:480px}.options[data-v-d30b3142]{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.option[data-v-d30b3142]{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--border-color);border-radius:12px;cursor:pointer;transition:border-color .2s,background .2s}.option[data-v-d30b3142]:hover{background:var(--surface-muted);border-color:var(--primary-color)}.option input[type=radio][data-v-d30b3142],.option input[type=checkbox][data-v-d30b3142]{accent-color:var(--primary-color)}.key[data-v-d30b3142]{font-weight:700;color:var(--text-primary);width:28px;display:inline-block}.content[data-v-d30b3142]{flex:1;min-width:0;color:var(--text-primary)}.option-text[data-v-d30b3142]{white-space:pre-wrap;word-break:break-word}.option-code[data-v-d30b3142]{margin:0;padding:10px 12px;border:1px solid var(--border-color);border-radius:10px;background:var(--surface-muted);white-space:pre-wrap;overflow-x:auto;font-family:Fira Code,SFMono-Regular,Consolas,monospace;font-size:.95rem;line-height:1.6}.option-gallery[data-v-d30b3142]{justify-content:flex-start;overflow:visible}.option-gallery .media-frame[data-v-d30b3142]{width:min(100%,760px);min-width:0;max-height:280px;flex:0 1 auto}.option-gallery .media-frame--wide[data-v-d30b3142]{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}.option-gallery .media-frame--wide[data-v-d30b3142]::-webkit-scrollbar{height:6px}.option-gallery .media-frame--wide[data-v-d30b3142]::-webkit-scrollbar-track{background:transparent}.option-gallery .media-frame--wide[data-v-d30b3142]::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--border-color) 72%,transparent);border-radius:999px}.option-gallery .media-frame--wide .media-image[data-v-d30b3142]{width:auto;max-width:none;min-width:100%;max-height:260px}.option-image[data-v-d30b3142]{min-height:120px}.fill-code-box[data-v-d30b3142]{margin-top:12px;display:grid;gap:16px}.scratch-upload[data-v-d30b3142]{margin-top:12px;border:1px solid var(--border-color);border-radius:12px;background:var(--surface);padding:12px 14px;display:grid;gap:12px}.scratch-header[data-v-d30b3142]{display:flex;align-items:center;justify-content:space-between;gap:10px}.scratch-status[data-v-d30b3142]{font-size:.9rem;color:#7a5af8}.scratch-instructions ol[data-v-d30b3142]{margin:0;padding-left:18px;color:var(--text-primary);line-height:1.6}.scratch-upload-area[data-v-d30b3142]{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:10px;border:1px dashed var(--border-color);background:var(--surface-muted);color:var(--primary-color);font-weight:600;cursor:pointer;width:fit-content}.scratch-upload-area input[data-v-d30b3142]{display:none}.scratch-upload-area.disabled[data-v-d30b3142]{opacity:.6;cursor:not-allowed}.scratch-upload-info[data-v-d30b3142]{font-size:.9rem;color:var(--text-secondary)}.scratch-upload-error[data-v-d30b3142]{font-size:.9rem;color:var(--error-text)}.code-template[data-v-d30b3142]{border:1px solid var(--border-color);border-radius:12px;background:var(--surface-muted);padding:12px 14px}.template-title[data-v-d30b3142]{font-weight:600;color:var(--text-primary);margin-bottom:8px}.code-template pre[data-v-d30b3142],.code-preview pre[data-v-d30b3142]{margin:0;white-space:pre-wrap;font-family:Fira Code,SFMono-Regular,Consolas,monospace;font-size:.95rem;color:var(--text-primary)}.code-preview[data-v-d30b3142]{border:1px solid var(--border-color);border-radius:12px;background:var(--surface-muted);padding:12px 14px}.code-preview pre[data-v-d30b3142]{-webkit-user-select:text;user-select:text}.fill-blanks[data-v-d30b3142]{border:1px solid var(--border-color);border-radius:12px;background:var(--surface);padding:12px 14px}.blank-empty[data-v-d30b3142]{color:var(--text-secondary)}.blank-list[data-v-d30b3142]{display:grid;gap:12px}.blank-item[data-v-d30b3142]{display:grid;gap:6px}.blank-label[data-v-d30b3142]{font-weight:600;color:var(--text-primary)}.blank-desc[data-v-d30b3142]{display:block;font-weight:400;color:var(--text-secondary);margin-top:2px}.blank-item input[data-v-d30b3142]{border-radius:10px;border:1px solid var(--border-color);padding:8px 10px;font-size:.95rem}.programming-box textarea[data-v-d30b3142]{width:100%;padding:12px;border-radius:12px;border:1px solid var(--border-color);font-size:15px;resize:vertical}.oj-problem-meta-card[data-v-d30b3142]{margin:.5rem 0 .75rem;border:1px solid var(--border-color);border-radius:12px;padding:.75rem;background:var(--surface-muted)}.oj-problem-meta-card h4[data-v-d30b3142]{margin:0 0 .6rem}.oj-meta-grid[data-v-d30b3142]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin-bottom:.6rem}.oj-meta-grid>div[data-v-d30b3142]{border:1px solid var(--border-color);border-radius:8px;padding:.45rem .55rem;display:flex;flex-direction:column;gap:.15rem}.oj-meta-grid span[data-v-d30b3142],.oj-meta-grid small[data-v-d30b3142]{color:var(--text-secondary)}.oj-samples[data-v-d30b3142]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.sample-block pre[data-v-d30b3142]{margin:.35rem 0 0;max-height:180px;overflow:auto;border:1px solid var(--border-color);border-radius:8px;background:var(--surface);padding:.5rem}.program-timer[data-v-d30b3142]{margin-bottom:8px;font-weight:600;color:var(--text-primary)}.generate-tests-button[data-v-d30b3142]{margin:.5rem 0;align-self:flex-start;background:#2563eb;border:none;color:#fff;border-radius:8px;padding:.45rem .8rem;font-weight:600;cursor:pointer}.generate-tests-button[data-v-d30b3142]:disabled{opacity:.6;cursor:not-allowed}.generate-tests-success[data-v-d30b3142]{margin:.25rem 0 .5rem;color:#166534;font-size:.9rem}.generate-tests-error[data-v-d30b3142]{margin:.25rem 0 .5rem;color:#b91c1c;font-size:.9rem}.state-text[data-v-d30b3142]{margin:.25rem 0 .5rem;color:var(--text-secondary);font-size:.9rem}.analysis-box[data-v-d30b3142]{margin-top:18px;padding:16px;border:1px solid var(--border-color);background:var(--surface-muted);border-radius:12px;white-space:pre-line}.analysis-box p[data-v-d30b3142]{margin:6px 0}.media-section-title[data-v-d30b3142]{margin-top:8px;margin-bottom:6px;font-weight:700;color:var(--text-primary)}.answer-gallery[data-v-d30b3142],.analysis-gallery[data-v-d30b3142]{justify-content:flex-start;margin-top:8px}.answer-gallery .media-frame[data-v-d30b3142]{display:flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;min-width:0;max-height:none}.answer-gallery .media-image[data-v-d30b3142]{width:auto;max-width:100%;height:auto;max-height:620px;object-fit:contain;margin:0 auto}.analysis-gallery .media-frame[data-v-d30b3142]{width:min(100%,720px);max-height:380px}.audio-box[data-v-d30b3142]{display:flex;flex-direction:column;gap:8px}.topic-generator[data-v-d30b3142]{margin:12px 0 18px;padding:14px;border:1px solid var(--panel-border);border-radius:10px;background:var(--panel-bg-soft)}.topic-tool-details[data-v-d30b3142]{border-radius:10px}.topic-tool-summary-row[data-v-d30b3142]{list-style:none;cursor:pointer}.topic-tool-summary-row[data-v-d30b3142]::-webkit-details-marker{display:none}.topic-tool-summary-main[data-v-d30b3142]{display:flex;align-items:center;justify-content:space-between;gap:12px}.topic-tool-summary-main h3[data-v-d30b3142]{margin:0}.topic-tool-summary-meta[data-v-d30b3142]{margin:0;color:var(--text-secondary);font-size:.92rem}.topic-tool-body[data-v-d30b3142]{margin-top:12px}.topic-generator-header[data-v-d30b3142]{display:flex;align-items:center;justify-content:space-between;gap:12px}.topic-generator-header h4[data-v-d30b3142]{margin:0}.topic-lock-panel[data-v-d30b3142]{display:flex;gap:10px;align-items:center}.topic-lock-panel input[data-v-d30b3142]{flex:1}.topic-lock-button[data-v-d30b3142]{padding:6px 10px;border:1px solid var(--border-color);border-radius:8px;background:var(--surface);cursor:pointer}.topic-generator-row[data-v-d30b3142]{display:flex;gap:10px;margin-top:10px}.topic-generator-row input[data-v-d30b3142]{flex:1}.topic-generator-counts[data-v-d30b3142]{display:flex;gap:12px;margin-top:10px}.topic-generator-counts input[data-v-d30b3142]{width:72px;margin-left:6px}.topic-generator-list[data-v-d30b3142]{margin-top:10px;padding-left:20px}.topic-generator-error[data-v-d30b3142]{color:#d64b4b;margin-top:8px}.topic-generator-paper-id[data-v-d30b3142]{margin-top:8px;font-weight:600}.topic-search-summary[data-v-d30b3142],.topic-search-empty[data-v-d30b3142]{margin-top:8px}.topic-search-results[data-v-d30b3142]{margin-top:10px;padding-left:0;list-style:none;display:grid;gap:10px}.topic-search-item[data-v-d30b3142]{border:1px solid var(--border-color);border-radius:8px;background:var(--surface);overflow:hidden}.topic-search-head[data-v-d30b3142]{display:flex;gap:6px;align-items:center}.topic-search-summary-row[data-v-d30b3142]{list-style:none;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px;cursor:pointer}.topic-search-summary-row[data-v-d30b3142]::-webkit-details-marker{display:none}.topic-search-summary-main[data-v-d30b3142]{min-width:0;flex:1}.topic-search-preview[data-v-d30b3142],.topic-search-text[data-v-d30b3142]{margin:6px 0 0}.topic-search-text[data-v-d30b3142]{white-space:pre-wrap}.topic-search-body[data-v-d30b3142]{display:grid;gap:10px;padding:0 10px 10px}.topic-tag-list--summary[data-v-d30b3142]{justify-content:flex-end}.topic-search-options[data-v-d30b3142]{display:grid;gap:8px}.topic-search-option-item[data-v-d30b3142]{display:flex;align-items:flex-start;gap:8px}.topic-search-option-label[data-v-d30b3142]{font-weight:700;min-width:24px}.topic-search-option-text[data-v-d30b3142]{white-space:pre-wrap;word-break:break-word}.topic-search-option-text--code[data-v-d30b3142]{margin:0;padding:8px 10px;border:1px solid var(--border-color);border-radius:8px;background:var(--surface-muted);overflow-x:auto}.topic-tag-list[data-v-d30b3142]{display:flex;flex-wrap:wrap;gap:6px}.tag-chip[data-v-d30b3142]{border:1px solid var(--border-color);border-radius:999px;padding:2px 8px;cursor:pointer;background:var(--surface-muted)}.tag-empty[data-v-d30b3142]{color:var(--text-secondary);font-size:.9rem}.topic-edit-row[data-v-d30b3142]{margin-top:8px;display:flex;gap:8px}.topic-edit-row input[data-v-d30b3142]{flex:1}.start-topic-paper[data-v-d30b3142]{margin-top:8px}.topic-batch-panel[data-v-d30b3142]{margin-top:12px;border-top:1px dashed var(--border-color);padding-top:10px}.batch-result[data-v-d30b3142]{margin-top:8px}.audio-error[data-v-d30b3142]{margin:0;color:var(--error-text);font-size:.85rem}.ai-grading-box[data-v-d30b3142]{margin-top:18px;padding:16px;border:1px solid var(--border-color);background:var(--surface-muted);border-radius:12px}.ai-grading-box h4[data-v-d30b3142]{margin:0 0 12px;font-size:1.05rem;color:var(--text-primary)}.ai-score-row[data-v-d30b3142]{display:flex;justify-content:space-between;color:var(--text-primary);margin-bottom:6px;gap:12px}.ai-score-row strong[data-v-d30b3142]{color:var(--primary-color)}.ai-score-grid[data-v-d30b3142]{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:12px 0}.ai-score-item[data-v-d30b3142]{background:var(--surface);border:1px solid var(--border-color);border-radius:10px;padding:8px 12px;display:flex;justify-content:space-between;align-items:center}.ai-feedback[data-v-d30b3142]{margin-top:8px;color:var(--text-primary)}.ai-feedback p[data-v-d30b3142]{margin:6px 0 0;white-space:pre-wrap}.ai-breakdown[data-v-d30b3142]{margin-top:12px}.ai-breakdown ul[data-v-d30b3142]{margin:6px 0 0;padding-left:18px}.ai-breakdown li[data-v-d30b3142]{margin-bottom:10px}.breakdown-title[data-v-d30b3142]{display:flex;justify-content:space-between;gap:12px}.ai-breakdown p[data-v-d30b3142]{margin:4px 0 0;white-space:pre-wrap;color:var(--text-secondary)}.ai-placeholder[data-v-d30b3142]{margin:0;color:var(--text-secondary)}.correct-answer[data-v-d30b3142]{color:var(--primary-color);font-weight:700}.wrong-answer[data-v-d30b3142]{color:var(--error-text);font-weight:700}.controls[data-v-d30b3142]{display:flex;gap:10px;margin-top:18px}.ghost[data-v-d30b3142]{background:var(--surface);border:1px solid var(--border-color);padding:10px 14px;border-radius:10px;color:var(--text-primary);cursor:pointer}:root[data-theme=dark] .nav-ghost{color:#fff}.ghost[data-v-d30b3142]:disabled{opacity:.6;cursor:not-allowed}.aside-right[data-v-d30b3142]{align-self:start}.score-card[data-v-d30b3142]{border:1px solid var(--border-color);background:var(--surface);border-radius:16px;box-shadow:0 8px 26px #0000000f;padding:16px 18px;margin-bottom:16px}.score-row[data-v-d30b3142]{display:flex;align-items:center;justify-content:space-between;font-size:1rem;color:var(--text-secondary)}.score-row+.score-row[data-v-d30b3142]{margin-top:10px}.score-row strong[data-v-d30b3142]{font-size:1.2rem;color:var(--primary-color)}.score-row .accuracy[data-v-d30b3142]{color:var(--success-text)}.grading-status-text[data-v-d30b3142]{margin:12px 0 0;font-size:.9rem;color:var(--text-secondary)}@media(max-width:1100px){.quiz-shell[data-v-d30b3142]{grid-template-columns:1fr}.aside-right[data-v-d30b3142]{order:-1;margin-bottom:20px}.nav-left[data-v-d30b3142]{display:none}}.option-ai-tools[data-v-d30b3142]{margin:12px 0;display:flex;gap:10px;align-items:center}.tool-success[data-v-d30b3142]{color:#1f8b4c;font-size:13px}.tool-error[data-v-d30b3142]{color:#c0392b;font-size:13px}.option-explanation[data-v-d30b3142]{margin-top:6px;color:#555;font-size:13px;line-height:1.5}.option-explanation-editor[data-v-d30b3142]{margin-top:8px;display:grid;gap:8px}.option-explanation-editor label[data-v-d30b3142]{display:grid;gap:4px;font-size:12px;color:#555}.option-explanation-editor textarea[data-v-d30b3142]{width:100%;min-height:56px;resize:vertical;border:1px solid var(--border-color);border-radius:8px;padding:6px 8px;font-size:13px;color:var(--text-primary);background:var(--surface)}@media(max-width:640px){.question-gallery .media-frame[data-v-d30b3142],.answer-gallery .media-frame[data-v-d30b3142],.analysis-gallery .media-frame[data-v-d30b3142],.option-gallery .media-frame[data-v-d30b3142]{width:100%;min-width:100%}}.question-prompt[data-v-d30b3142],.question-response[data-v-d30b3142]{display:contents}.app-container:has(.python-coding-page){padding:20px clamp(14px,3vw,48px) 40px;background:radial-gradient(ellipse at 5% 45%,#e1f2ff,transparent 50%),#f1f6fe;min-height:100svh}.python-coding-page[data-v-d30b3142]{--ink: #142747;--muted: #5c6e89;--panel: #fff;--soft: #eff5fd;--line: #e3ebf6;--accent-text: #2465c5;color:var(--ink);color-scheme:light}.python-coding-page .quiz-shell[data-v-d30b3142]{width:100%;max-width:1700px;padding:0;grid-template-columns:minmax(260px,1fr) minmax(380px,1.55fr) minmax(200px,.57fr);gap:18px;align-items:start;min-height:0}.python-coding-page .content-main[data-v-d30b3142],.python-coding-page .content-wrapper[data-v-d30b3142],.python-coding-page .question-card[data-v-d30b3142]{display:contents}.python-coding-page .top-bar[data-v-d30b3142]{grid-column:1 / -1;order:1;padding:20px 4px;border:0;justify-content:flex-start}.python-coding-page .top-bar .title[data-v-d30b3142]{font-size:clamp(18px,1.65vw,26px);flex:1;overflow-wrap:anywhere}.python-coding-page .top-bar .meta[data-v-d30b3142]{font-size:12px}.python-coding-page .review-restart-notice[data-v-d30b3142]{grid-column:1 / -1;order:2}.python-coding-page .question-prompt[data-v-d30b3142],.python-coding-page .question-response[data-v-d30b3142]{display:flex;flex-direction:column;min-width:0;gap:18px;padding:22px;border-radius:24px;background:var(--panel);box-shadow:0 10px 30px #42699108;order:3}.python-coding-page .question-prompt[data-v-d30b3142]{grid-column:1}.python-coding-page .question-response[data-v-d30b3142]{grid-column:2}.python-coding-page .aside-right[data-v-d30b3142]{grid-column:3;order:3;min-width:0;width:100%;margin:0;position:sticky;top:16px}.python-coding-page .topic-generator[data-v-d30b3142]{grid-column:1 / -1;order:4;margin:0;border-radius:20px}.python-coding-page .coding-section-label[data-v-d30b3142]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--accent-text);font-size:13px;font-weight:700}.python-coding-page .coding-section-label svg[data-v-d30b3142]{width:22px;height:22px}.python-coding-page .coding-section-label span[data-v-d30b3142]{margin-left:auto;padding:5px 8px;border-radius:8px;background:var(--soft);font-size:11px}.python-coding-page .q-index[data-v-d30b3142]{font-size:18px}.python-coding-page .question-text[data-v-d30b3142]{font-size:16px;line-height:1.9;overflow-wrap:anywhere}.python-coding-page .coding-response-title[data-v-d30b3142]{margin:0;font-size:19px}.python-coding-page .python-problem-detail[data-v-d30b3142]{border:1px solid var(--line);border-radius:14px;background:var(--soft);overflow:hidden}.python-coding-page .python-problem-detail summary[data-v-d30b3142]{padding:13px 15px;font-size:14px;font-weight:700;cursor:pointer;color:var(--accent-text)}.python-coding-page .python-problem-detail pre[data-v-d30b3142]{margin:0;padding:0 15px 15px;font-size:13px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.python-coding-page .programming-box[data-v-d30b3142],.python-coding-page .fill-code-box[data-v-d30b3142]{padding:0;margin:0;background:transparent;border:0;min-width:0}.python-coding-page .program-timer[data-v-d30b3142]{font-size:11px;color:var(--muted);margin-bottom:12px;line-height:1.7}.python-coding-page .blank-item[data-v-d30b3142]{padding:12px;border-radius:12px;background:var(--soft)}.python-coding-page .blank-item input[data-v-d30b3142]{min-width:0;min-height:44px;border-radius:9px}.python-coding-page .code-template[data-v-d30b3142],.python-coding-page .code-preview[data-v-d30b3142]{border-radius:14px}.python-coding-page pre[data-v-d30b3142]{max-width:100%;overflow:auto}.python-coding-page .coding-answer-note[data-v-d30b3142]{margin:0;color:var(--muted);font-size:12px;line-height:1.8}.python-coding-page .controls[data-v-d30b3142]{margin-top:auto;gap:10px;justify-content:space-between}.python-coding-page .controls button[data-v-d30b3142]{flex:1;min-height:44px;border-radius:12px;background:var(--soft);color:var(--accent-text)}.python-coding-page[data-v-d30b3142] .answer-sheet{--text-primary: var(--ink);--text-secondary: var(--muted);--border-color: var(--line);width:100%;border:0;border-radius:20px;box-shadow:none;background:var(--panel);color:var(--ink)}.python-coding-page[data-v-d30b3142] .card-header,.python-coding-page[data-v-d30b3142] .card-body,.python-coding-page[data-v-d30b3142] .card-footer{padding:16px}.python-coding-page[data-v-d30b3142] .section-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.python-coding-page[data-v-d30b3142] .question-number{width:100%;height:auto;aspect-ratio:1;border-radius:50%;border-color:var(--line);background:var(--panel);font-size:12px}.python-coding-page[data-v-d30b3142] .question-number.active{border-color:var(--accent-text);background:#327df5;color:#fff}.python-coding-page[data-v-d30b3142] .question-number.answered,.python-coding-page[data-v-d30b3142] .question-number.correct{background:#e0f4e9;color:#24744e}.python-coding-page[data-v-d30b3142] .question-number.wrong{background:#fbe5e7;color:#a83040}.python-coding-page[data-v-d30b3142] .submit-button{border-radius:13px;background:linear-gradient(110deg,#3588ff,#316df2);color:#fff}.python-coding-page button[data-v-d30b3142]:focus-visible,.python-coding-page input[data-v-d30b3142]:focus-visible,.python-coding-page summary[data-v-d30b3142]:focus-visible{outline:3px solid #327bea;outline-offset:3px}:root[data-theme=dark] .app-container:has(.python-coding-page){background:#142032}:root[data-theme=dark] .python-coding-page{--ink: #e6efff;--muted: #a7bad4;--panel: #1c2c42;--soft: #24374f;--line: #354963;--accent-text: #94bdff;color-scheme:dark}@media(max-width:1200px){.python-coding-page .quiz-shell[data-v-d30b3142]{grid-template-columns:minmax(240px,1fr) minmax(340px,1.5fr) 240px;gap:12px}.python-coding-page .question-prompt[data-v-d30b3142],.python-coding-page .question-response[data-v-d30b3142]{padding:16px}.python-coding-page[data-v-d30b3142] .card-header,.python-coding-page[data-v-d30b3142] .card-body,.python-coding-page[data-v-d30b3142] .card-footer{padding:12px}}@media(max-width:950px){.python-coding-page .quiz-shell[data-v-d30b3142]{grid-template-columns:minmax(0,1fr)}.python-coding-page .question-prompt[data-v-d30b3142],.python-coding-page .question-response[data-v-d30b3142],.python-coding-page .aside-right[data-v-d30b3142]{grid-column:1;position:static}.python-coding-page .question-prompt[data-v-d30b3142]{order:3}.python-coding-page .question-response[data-v-d30b3142]{order:4}.python-coding-page .aside-right[data-v-d30b3142]{order:5}.python-coding-page .topic-generator[data-v-d30b3142]{order:6}.python-coding-page[data-v-d30b3142] .section-grid{grid-template-columns:repeat(5,minmax(0,44px))}.python-coding-page .top-bar[data-v-d30b3142]{flex-wrap:wrap;padding:10px 0}.python-coding-page .top-bar .meta[data-v-d30b3142]{width:100%;padding-left:46px}}.python-coding-page .top-bar[data-v-d30b3142]{padding:6px 0}.python-coding-page .top-bar .title[data-v-d30b3142]{font-size:clamp(16px,1.4vw,22px)}.python-coding-page .question-prompt[data-v-d30b3142],.python-coding-page .question-response[data-v-d30b3142]{min-height:0;height:var(--coding-panel-height);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.python-coding-page .question-prompt[data-v-d30b3142]>*,.python-coding-page .question-response[data-v-d30b3142]>*{flex-shrink:0}.python-coding-page .coding-response-title[data-v-d30b3142]{position:sticky;top:-22px;z-index:2;background:var(--panel);padding:12px 0;margin-top:-12px}.python-coding-page .aside-right[data-v-d30b3142]{height:var(--coding-panel-height);min-height:0;display:flex;flex-direction:column;gap:12px;position:static}.python-coding-page .aside-right .score-card[data-v-d30b3142]{max-height:35%;overflow:auto;flex-shrink:0}.python-coding-page[data-v-d30b3142] .answer-sheet{min-height:0;flex:1;overflow:hidden}.python-coding-page[data-v-d30b3142] .card-header,.python-coding-page[data-v-d30b3142] .card-footer{flex-shrink:0}.python-coding-page[data-v-d30b3142] .card-body{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain}.python-coding-page .controls[data-v-d30b3142]{position:sticky;bottom:-22px;background:var(--panel);padding:12px 0;z-index:2}.python-coding-page details.code-template>summary[data-v-d30b3142],.python-coding-page details.code-preview>summary[data-v-d30b3142],.python-coding-page details.programming-box>summary[data-v-d30b3142]{cursor:pointer;min-height:30px;line-height:1.8;margin-bottom:0}.python-coding-page details[open].code-template>summary[data-v-d30b3142],.python-coding-page details[open].code-preview>summary[data-v-d30b3142],.python-coding-page details[open].programming-box>summary[data-v-d30b3142]{margin-bottom:12px}.python-coding-page details.code-template pre[data-v-d30b3142],.python-coding-page details.code-preview pre[data-v-d30b3142]{max-height:42vh;overflow:auto}.python-coding-page .topic-generator[data-v-d30b3142]{font-size:12px}@media(min-width:1201px){.python-coding-page .quiz-shell[data-v-d30b3142]{grid-template-columns:minmax(300px,1.15fr) minmax(380px,1.35fr) 280px}}@media(min-width:951px)and (max-width:1200px){.python-coding-page .coding-response-title[data-v-d30b3142]{top:-16px}.python-coding-page .controls[data-v-d30b3142]{bottom:-16px}}@media(max-width:950px){.python-coding-page .question-prompt[data-v-d30b3142]{height:auto;max-height:42svh}.python-coding-page .question-response[data-v-d30b3142]{height:auto;max-height:none;overflow:visible}.python-coding-page .coding-response-title[data-v-d30b3142],.python-coding-page .controls[data-v-d30b3142]{position:static}.python-coding-page .aside-right[data-v-d30b3142]{height:auto;max-height:55svh}}@media(prefers-reduced-motion:reduce){.python-coding-page[data-v-d30b3142] *,.python-coding-page[data-v-d30b3142] *:before,.python-coding-page[data-v-d30b3142] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.app-container:has(.objective-page){padding:16px clamp(12px,2.5vw,36px);background:radial-gradient(ellipse at 4% 36%,#dff1ff,transparent 58%),radial-gradient(ellipse at 94% 82%,#e4f5ed,transparent 48%),#f5f8fe;min-height:100svh}.objective-page[data-v-d30b3142]{--obj-ink: #173050;--obj-muted: #61738e;--obj-panel: #fff;--obj-soft: #edf4ff;--obj-line: #e7eef8;--obj-blue: #2467da;color:var(--obj-ink);color-scheme:light}.objective-page .quiz-shell[data-v-d30b3142]{width:100%;max-width:1760px;padding:0;min-height:0;grid-template-columns:minmax(0,1fr) 280px;gap:14px 18px;align-items:start;isolation:isolate}.objective-page .quiz-shell[data-v-d30b3142]:before{content:"";position:absolute;grid-column:1 / 2;grid-row:2 / 5;inset:0;z-index:-1;border-radius:20px;background:var(--obj-panel);box-shadow:0 8px 30px #4772a006;pointer-events:none}.objective-page .content-main[data-v-d30b3142],.objective-page .content-wrapper[data-v-d30b3142]{display:contents}.objective-page .top-bar[data-v-d30b3142]{grid-column:1 / -1;order:1;border:0;padding:0 0 6px;gap:12px}.objective-page .top-bar .title[data-v-d30b3142]{flex:1;font-size:clamp(16px,1.4vw,22px);overflow-wrap:anywhere;color:var(--obj-ink)}.objective-page .top-bar .meta[data-v-d30b3142]{gap:12px;font-size:12px;flex-shrink:0}.objective-page .review-restart-notice[data-v-d30b3142]{grid-column:1 / -1;order:2}.objective-toolbar[data-v-d30b3142]{grid-column:1;order:2;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;flex-wrap:wrap;margin:18px 18px 0;padding:10px 16px;background:linear-gradient(100deg,var(--obj-soft),color-mix(in srgb,var(--obj-soft) 55%,var(--obj-panel)));border-radius:12px}.objective-location[data-v-d30b3142],.objective-view-tools[data-v-d30b3142]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.objective-location[data-v-d30b3142]{color:var(--obj-ink);font-size:14px}.objective-type[data-v-d30b3142]{display:inline-flex;align-items:center;gap:9px;color:var(--obj-blue);background:transparent;padding:8px 0;border-radius:0;font-weight:700}.objective-type svg[data-v-d30b3142]{width:25px;height:25px;padding:4px;border-radius:6px;background:#398cff;color:#fff}.objective-location strong[data-v-d30b3142]{padding-left:16px;border-left:1px solid #c8d7ec;font-size:13px}.objective-hint[data-v-d30b3142]{color:var(--obj-muted);font-size:12px}.objective-view-switch[data-v-d30b3142]{display:flex;background:transparent;padding:4px;border-radius:13px;gap:3px}.objective-view-switch button[data-v-d30b3142],.objective-sheet-toggle[data-v-d30b3142],.objective-sheet-close[data-v-d30b3142]{border:0;border-radius:10px;padding:9px 13px;background:transparent;color:var(--obj-muted);cursor:pointer;font-weight:600}.objective-view-switch button[aria-pressed=true][data-v-d30b3142]{background:var(--obj-soft);color:var(--obj-blue)}.objective-page .question-card[data-v-d30b3142]{grid-column:1;order:3;height:var(--objective-height);min-height:0;display:block;overflow-y:auto;overscroll-behavior:contain;padding:0 22px;border-radius:0;background:transparent;scrollbar-gutter:stable;box-shadow:none}.objective-page .question-prompt[data-v-d30b3142],.objective-page .question-response[data-v-d30b3142]{display:block;min-width:0}.objective-section-title[data-v-d30b3142]{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--obj-blue)}.objective-section-title svg[data-v-d30b3142]{width:21px;height:21px}.objective-page .q-head[data-v-d30b3142]{margin-bottom:14px;gap:10px}.objective-page .q-index[data-v-d30b3142]{display:none}.objective-page .q-head .flag[data-v-d30b3142]{margin-left:auto;min-height:36px}.objective-page .question-text[data-v-d30b3142]{margin:0;font-size:16px;line-height:1.8;color:var(--obj-ink);overflow-wrap:anywhere}.objective-page .question-gallery[data-v-d30b3142]{margin:18px 0}.objective-page .media-frame[data-v-d30b3142]{margin:0;max-width:100%}.objective-page .question-gallery .media-frame[data-v-d30b3142]{width:fit-content;max-height:none}.objective-page .question-gallery .media-image[data-v-d30b3142]{max-height:none}.objective-answer-heading[data-v-d30b3142]{display:flex;gap:8px;align-items:baseline;justify-content:space-between;flex-wrap:wrap;padding:22px 0 14px}.objective-answer-heading h2[data-v-d30b3142]{margin:0;font-size:17px;color:var(--obj-ink)}.objective-answer-heading>span[data-v-d30b3142]{font-size:12px;color:var(--obj-muted)}.objective-page .options[data-v-d30b3142]{margin:0;gap:12px}.objective-page .option[data-v-d30b3142]{position:relative;display:grid;grid-template-columns:20px 28px minmax(0,1fr);align-items:start;gap:10px;padding:17px 16px;border:1.5px solid transparent;border-radius:13px;background:var(--obj-panel);color:var(--obj-ink);min-height:58px;transition:border-color .15s,background .15s,box-shadow .15s,transform .15s}.objective-page .option[data-v-d30b3142]:hover{background:var(--obj-soft);border-color:#9dbef1}.objective-page .option-selected[data-v-d30b3142]{border-color:var(--obj-blue);background:var(--obj-soft);box-shadow:0 5px 18px #398cff12}.objective-page .option input[data-v-d30b3142]{width:18px;height:18px;margin:3px 0 0;accent-color:var(--obj-blue)}.objective-page .option .key[data-v-d30b3142]{color:var(--obj-blue)}.objective-page .option .content[data-v-d30b3142]{color:var(--obj-ink);line-height:1.65;font-size:15px;grid-column:3}.objective-selected-label[data-v-d30b3142]{grid-column:3;grid-row:2;font-size:12px;color:var(--obj-blue);font-weight:700}.objective-page .option .option-gallery[data-v-d30b3142],.objective-page .option-explanation[data-v-d30b3142],.objective-page .option-explanation-editor[data-v-d30b3142]{grid-column:3;min-width:0}.objective-page .option .option-gallery .media-frame[data-v-d30b3142]{width:100%;min-width:0}.objective-page .option-code[data-v-d30b3142]{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:14px}.objective-page .judgement[data-v-d30b3142]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.objective-page .judgement .option[data-v-d30b3142]{min-height:86px;align-content:center}.objective-page .judgement .option .content[data-v-d30b3142]{font-size:18px;font-weight:700}.objective-page .judgement .option[data-v-d30b3142]:not(:has(.key)){grid-template-columns:20px 0 minmax(0,1fr)}.objective-page.objective-split .question-card[data-v-d30b3142]{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:22px;padding:0 18px 0 22px;overflow:hidden;scrollbar-gutter:auto;background:transparent}.objective-page.objective-split .question-prompt[data-v-d30b3142],.objective-page.objective-split .question-response[data-v-d30b3142]{height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:10px 4px 16px 0;border-radius:0;background:transparent}.objective-page.objective-split .question-response[data-v-d30b3142]{border-left:0;background:linear-gradient(135deg,color-mix(in srgb,var(--obj-soft) 80%,var(--obj-panel)),color-mix(in srgb,var(--obj-soft) 45%,var(--obj-panel)));padding:20px 16px;border-radius:14px;height:auto;max-height:100%;align-self:start}.objective-page.objective-split .objective-answer-heading[data-v-d30b3142]{padding-top:0}.objective-page.objective-split .judgement[data-v-d30b3142]{grid-template-columns:1fr}.objective-navigation[data-v-d30b3142]{grid-column:1;order:4;display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:0 20px 18px}.objective-navigation>button[data-v-d30b3142]{min-height:46px;min-width:116px;border-radius:14px;padding:12px 20px;font-weight:700}.objective-navigation .ghost[data-v-d30b3142]{margin-right:auto;background:var(--obj-soft);color:var(--obj-blue);border:1px solid transparent}.objective-navigation .primary[data-v-d30b3142]{background:linear-gradient(115deg,#398cff,#316be9);color:#fff;border:0}.objective-navigation-submit[data-v-d30b3142]{display:none}.objective-navigation span[data-v-d30b3142]{color:var(--obj-muted);font-size:12px;text-align:center}.objective-page button[data-v-d30b3142]:disabled{opacity:.45;cursor:not-allowed}.objective-page .aside-right[data-v-d30b3142]{grid-column:2;grid-row:2 / 5;order:3;width:100%;min-height:0;height:100%;display:flex;flex-direction:column;gap:10px;margin:0}.objective-page .aside-right .score-card[data-v-d30b3142]{flex-shrink:0;max-height:30%;overflow:auto}.objective-page[data-v-d30b3142] .answer-sheet{--text-primary: var(--obj-ink);--text-secondary: var(--obj-muted);--border-color: var(--obj-line);width:100%;flex:1;min-height:0;overflow:hidden;background:var(--obj-panel);color:var(--obj-ink);border:0;border-radius:20px;box-shadow:none}.objective-page[data-v-d30b3142] .card-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:16px}.objective-page[data-v-d30b3142] .card-header,.objective-page[data-v-d30b3142] .card-footer{flex-shrink:0;padding:16px}.objective-page[data-v-d30b3142] .section-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.objective-page[data-v-d30b3142] .question-number{width:100%;height:auto;aspect-ratio:1;border-radius:50%;border-color:var(--obj-line);background:var(--obj-panel);font-size:12px}.objective-page[data-v-d30b3142] .question-number.active{border-color:var(--obj-blue);background:#327df5;color:#fff}.objective-page[data-v-d30b3142] .question-number.answered,.objective-page[data-v-d30b3142] .question-number.correct{background:#e0f4e9;color:#24744e}.objective-page[data-v-d30b3142] .question-number.wrong{background:#fbe5e7;color:#a83040}.objective-page[data-v-d30b3142] .submit-button{border-radius:13px;background:linear-gradient(115deg,#398cff,#316be9);color:#fff}.objective-sheet-toggle[data-v-d30b3142],.objective-sheet-close[data-v-d30b3142]{display:none}.objective-page .topic-generator[data-v-d30b3142]{grid-column:1 / -1;order:6;margin:0;padding:0;border:0;background:transparent}.objective-page .topic-tool-summary-row[data-v-d30b3142]{padding:10px}.objective-page .topic-tool-summary-row h3[data-v-d30b3142]{font-size:12px;color:var(--obj-muted)}.objective-page .topic-tool-body[data-v-d30b3142]{background:var(--obj-panel);border-radius:18px;padding:20px}.objective-page button[data-v-d30b3142]:focus-visible,.objective-page input[data-v-d30b3142]:focus-visible,.objective-page [tabindex="0"][data-v-d30b3142]:focus-visible{outline:3px solid #4b8be7;outline-offset:3px}.objective-page .option[data-v-d30b3142]:focus-within{outline:2px solid var(--obj-blue);outline-offset:2px}@media(max-width:1200px){.objective-page .quiz-shell[data-v-d30b3142]:has(.objective-sheet-open){position:relative;z-index:1300}.objective-sheet-backdrop[data-v-d30b3142]{position:fixed;inset:0;background:#14274755;z-index:1299}.objective-page .quiz-shell[data-v-d30b3142]{grid-template-columns:minmax(0,1fr)}.objective-page .quiz-shell[data-v-d30b3142]:has(.objective-navigation){padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}.objective-sheet-toggle[data-v-d30b3142]{display:inline-block;color:var(--obj-blue);background:var(--obj-panel);min-height:40px}.objective-page .aside-right[data-v-d30b3142]{display:none}.objective-page .objective-navigation-submit[data-v-d30b3142]{display:inline-flex;align-items:center;justify-content:center}.objective-page .objective-navigation[data-v-d30b3142]{position:fixed;left:0;right:0;bottom:0;z-index:10;box-sizing:border-box;padding:14px 20px calc(16px + env(safe-area-inset-bottom,0px));background:var(--obj-panel);border-top:1px solid var(--obj-line)}.objective-page .aside-right.objective-sheet-open[data-v-d30b3142]{display:flex;position:fixed;right:12px;top:12px;bottom:12px;width:min(340px,calc(100vw - 24px));height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);box-sizing:border-box;overflow:hidden;z-index:1300;padding:12px;border-radius:22px;background:var(--obj-panel);box-shadow:0 14px 70px #14274755;border:1px solid var(--obj-line)}.objective-sheet-close[data-v-d30b3142]{display:block;text-align:right;color:var(--obj-blue);flex-shrink:0}.objective-hint[data-v-d30b3142]{display:none}}@media(max-width:600px){.objective-page .top-bar[data-v-d30b3142]{flex-wrap:wrap}.objective-page .top-bar .meta[data-v-d30b3142]{width:100%;justify-content:flex-end}.objective-page .question-card[data-v-d30b3142]{padding:16px;border-radius:18px}.objective-page .judgement[data-v-d30b3142]{grid-template-columns:1fr}.objective-navigation .objective-flag[data-v-d30b3142]{display:none}.objective-navigation>button[data-v-d30b3142]{flex:1;min-width:0}.objective-navigation[data-v-d30b3142]{gap:6px;padding-right:10px;padding-left:10px}.objective-navigation>button[data-v-d30b3142]{padding:10px 7px;font-size:13px}.objective-page .option[data-v-d30b3142]{padding:14px 10px;gap:7px;grid-template-columns:18px 22px minmax(0,1fr)}}:root[data-theme=dark] .app-container:has(.objective-page){background:#142032}:root[data-theme=dark] .objective-page{--obj-ink: #e6efff;--obj-muted: #a7bad4;--obj-panel: #1c2c42;--obj-soft: #243b58;--obj-line: #354963;--obj-blue: #9dc5ff;color-scheme:dark}:root[data-theme=dark] .scratch-project-page .objective-type{color:#ffbc82}@media(prefers-reduced-motion:reduce){.objective-page .option[data-v-d30b3142]{transition:none}}@media(prefers-reduced-motion:reduce){.objective-page[data-v-d30b3142] *,.objective-page[data-v-d30b3142] *:before,.objective-page[data-v-d30b3142] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.objective-page .option[data-v-d30b3142]:active{transform:scale(.99)}.objective-page .objective-selected-label[data-v-d30b3142]{animation:objective-choice-in-d30b3142 .22s ease-out}@keyframes objective-choice-in-d30b3142{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.objective-page .objective-selected-label[data-v-d30b3142]{animation:none}.objective-page .option[data-v-d30b3142]:active{transform:none}}.objective-flag[data-v-d30b3142]{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--obj-line);border-radius:11px;background:var(--obj-panel);padding:8px 12px;color:var(--obj-muted);cursor:pointer;font-size:12px}.objective-flag[data-v-d30b3142]:before{content:"";width:9px;height:13px;border:1.5px solid currentColor;clip-path:polygon(0 0,100% 0,100% 100%,50% 76%,0 100%)}.objective-flag[aria-pressed=true][data-v-d30b3142]{color:#a35e08;background:#fff4df;border-color:#f1d399}.objective-toolbar .objective-flag[data-v-d30b3142]{border:0;background:transparent}.scratch-project-page .objective-type[data-v-d30b3142]{color:#b45d14}.scratch-project-page .objective-type svg[data-v-d30b3142]{background:#fa9133}.scratch-project-page .question-card[data-v-d30b3142]{height:auto;overflow:visible}.scratch-project-page.objective-split .question-card[data-v-d30b3142]{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);grid-template-rows:clamp(320px,calc(var(--objective-height) * .75),560px) auto;gap:24px}.scratch-project-page.objective-split .question-prompt[data-v-d30b3142],.scratch-project-page.objective-split .scratch-reference-region[data-v-d30b3142]{height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.scratch-project-page .scratch-reference-region[data-v-d30b3142]{min-width:0;padding:14px;border-radius:14px;background:var(--obj-soft)}.scratch-region-title[data-v-d30b3142]{display:flex;align-items:center;gap:12px;font-size:16px;color:var(--obj-ink);margin:0 0 16px}.scratch-region-title span[data-v-d30b3142]{font-size:12px;font-weight:400;color:var(--obj-muted)}.scratch-no-reference[data-v-d30b3142]{color:var(--obj-muted);font-size:13px;line-height:1.8}.scratch-project-page .scratch-reference-region figcaption[data-v-d30b3142]{padding:8px 4px;font-size:11px;color:var(--obj-muted)}.scratch-project-page.objective-split .question-response[data-v-d30b3142],.scratch-project-page .question-response[data-v-d30b3142]{grid-column:1 / -1;height:auto;max-height:none;overflow:visible;margin-top:20px;padding:22px;border-radius:16px;background:linear-gradient(150deg,var(--obj-soft),color-mix(in srgb,var(--obj-panel) 90%,var(--obj-soft)))}.scratch-project-page.objective-split .question-response[data-v-d30b3142]{margin-top:0}.scratch-project-page .aside-right[data-v-d30b3142]{position:sticky;top:16px;height:calc(100svh - 100px);max-height:800px}.scratch-project-page .scratch-reference-region[data-v-d30b3142]:focus-visible{outline:3px solid var(--obj-blue);outline-offset:2px}@media(max-width:879px){.scratch-project-page .question-prompt[data-v-d30b3142]{margin-bottom:20px}.scratch-project-page .scratch-reference-region[data-v-d30b3142]{max-height:52svh;overflow:auto}}.scratch-project-page .question-gallery[data-v-d30b3142]{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.scratch-project-page .question-gallery .media-frame[data-v-d30b3142]{width:100%}.scratch-project-page .question-gallery .media-image[data-v-d30b3142]{max-width:100%;max-height:340px;object-fit:contain}.scratch-pending-note[data-v-d30b3142]{color:#b45d14;font-size:12px}.objective-page[data-v-d30b3142] .card-header{border-bottom:0}.objective-page[data-v-d30b3142] .card-header .header-line{color:var(--obj-ink)}.objective-page[data-v-d30b3142] .card-body{padding-top:4px}.objective-page[data-v-d30b3142] .section-header{font-size:12px}.objective-page[data-v-d30b3142] .card-footer{border-top:0}.objective-page .option-selected[data-v-d30b3142]{border-color:#5189ff;background:#e9f2ff}:root[data-theme=dark]{background:var(--obj-soft)}@media(max-width:600px){.objective-toolbar[data-v-d30b3142]{margin:12px 12px 0;padding:8px;gap:6px}.objective-location[data-v-d30b3142]{gap:8px}.objective-location strong[data-v-d30b3142]{padding-left:8px}.objective-type[data-v-d30b3142]{font-size:12px}.objective-type svg[data-v-d30b3142]{display:none}.objective-toolbar .objective-flag[data-v-d30b3142]{padding:6px}.objective-navigation[data-v-d30b3142]{padding:0 12px 14px}.objective-page .top-bar .meta[data-v-d30b3142]{flex-wrap:wrap;gap:6px}}.scratch-safeoff-page .quiz-shell[data-v-d30b3142]{min-height:0}.scratch-safeoff-page .content-main[data-v-d30b3142],.scratch-safeoff-page .content-wrapper[data-v-d30b3142]{min-height:0;height:auto}.scratch-safeoff-page .question-card[data-v-d30b3142]{flex:0 0 auto;height:auto;min-height:0;overflow:visible}.scratch-safeoff-page.objective-split.scratch-has-references .question-card[data-v-d30b3142]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);grid-template-rows:clamp(320px,calc(var(--objective-height) * .75),560px) auto;gap:24px;padding:0 18px 0 22px;overflow:visible;background:transparent}.scratch-safeoff-page.objective-split.scratch-has-references .question-prompt[data-v-d30b3142],.scratch-safeoff-page.objective-split.scratch-has-references .scratch-reference-region[data-v-d30b3142]{height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.scratch-safeoff-page.objective-split.scratch-has-references .question-response[data-v-d30b3142]{grid-column:1 / -1;height:auto;max-height:none;overflow:visible;align-self:start;margin-top:0}.scratch-safeoff-page.objective-split:not(.scratch-has-references) .question-card[data-v-d30b3142]{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;gap:0;overflow:visible}.scratch-safeoff-page.objective-split:not(.scratch-has-references) .question-prompt[data-v-d30b3142]{height:auto;overflow:visible}.scratch-safeoff-page.objective-split:not(.scratch-has-references) .question-response[data-v-d30b3142]{grid-column:1;height:auto;max-height:none;overflow:visible;margin-top:20px;padding:22px;border-radius:16px;background:linear-gradient(150deg,var(--obj-soft),color-mix(in srgb,var(--obj-panel) 90%,var(--obj-soft)))}.selection-page[data-v-6f939e42]{--ink: #142747;--muted: #5c6e89;--panel: #ffffff;--soft: #eff5fd;--line: #e3ebf6;--accent: #2877ed;--accent-end: #4798ff;--accent-text: #2465c5;--tint: #eaf3ff;width:100%;max-width:1400px;color:var(--ink);margin:0 auto;isolation:isolate;font-family:AlibabaPuHuiTi,Noto Sans TC,Microsoft JhengHei,sans-serif}.selection-page[data-v-6f939e42] *,.selection-page[data-v-6f939e42] *:before,.selection-page[data-v-6f939e42] *:after{box-sizing:border-box}.selection-page button[data-v-6f939e42],.selection-page input[data-v-6f939e42]{font:inherit}.selection-page button[data-v-6f939e42]{cursor:pointer;-webkit-tap-highlight-color:transparent}.selection-page button[data-v-6f939e42]:focus-visible,.selection-page input[data-v-6f939e42]:focus-visible{outline:3px solid #327bea;outline-offset:4px}.selection-page button[data-v-6f939e42]:disabled{cursor:not-allowed;opacity:.62;transform:none}.theme-scratch[data-v-6f939e42]{--accent: #f87625;--accent-end: #ff9b40;--accent-text: #be4c0a;--tint: #fff1e5}.theme-python[data-v-6f939e42]{--accent: #2877ed;--accent-end: #4798ff;--accent-text: #2465c5;--tint: #eaf3ff}.theme-cpp[data-v-6f939e42]{--accent: #7d4ce8;--accent-end: #a177fb;--accent-text: #7242ce;--tint: #f1eaff}.selection-hero[data-v-6f939e42]{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:0;padding:20px 0 18px;gap:20px}.eyebrow[data-v-6f939e42]{font-size:12px;color:var(--muted);font-weight:700;letter-spacing:5px;margin:0 0 13px}.eyebrow span[data-v-6f939e42]{color:#ffbd28;font-size:22px;margin-left:8px}.selection-hero h1[data-v-6f939e42]{font-size:clamp(28px,2.8vw,40px);line-height:1.24;letter-spacing:1px;margin:0;font-weight:900}.title-spark[data-v-6f939e42]{display:inline-block;margin-left:14px;color:#ffb521;font-size:.75em;vertical-align:top;transform:rotate(12deg)}.hero-description[data-v-6f939e42]{margin:12px 0 0;color:var(--muted);font-size:17px;line-height:1.7}.hero-copy[data-v-6f939e42]{min-width:0;flex:1}.hero-heading-row[data-v-6f939e42]{display:flex;align-items:center;justify-content:space-between;gap:24px}.selection-heading-row[data-v-6f939e42]{justify-content:flex-start;flex-wrap:wrap;gap:16px}.selection-heading-row .paper-search[data-v-6f939e42]{margin-left:auto}.heading-text[data-v-6f939e42]{min-width:0}.is-course-stage .hero-cheer[data-v-6f939e42]{display:none}.selection-hero.is-course-stage[data-v-6f939e42]:before{display:none}.hero-cheer[data-v-6f939e42]{position:relative;display:flex;align-items:center;gap:20px;padding-right:28px;transform:rotate(-5deg);flex-shrink:0}.cheer-code[data-v-6f939e42]{font-size:72px;font-weight:900;color:#83b3f0;letter-spacing:-7px;white-space:nowrap;text-shadow:0 5px 0 #dceafd}.cheer-code b[data-v-6f939e42]{font-size:45px;color:#ffbf3f;display:inline-block;transform:rotate(12deg)}.hero-cheer p[data-v-6f939e42]{margin:0;color:var(--muted);font-size:18px;line-height:1.85;letter-spacing:2px}.hero-cheer strong[data-v-6f939e42]{color:var(--ink)}.cheer-star[data-v-6f939e42]{position:absolute;font-size:35px;top:-15px;right:15px;color:#ffba23}.cheer-orbit[data-v-6f939e42]{position:absolute;width:25px;height:25px;border:5px solid #c4e0ff;border-radius:50%;bottom:-20px;left:20px}.breadcrumbs[data-v-6f939e42]{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px;margin-bottom:8px}.breadcrumbs button[data-v-6f939e42],.subject-switch button[data-v-6f939e42],.status-note button[data-v-6f939e42],.text-button[data-v-6f939e42]{padding:0;border:0;background:none;color:inherit}.breadcrumbs button[data-v-6f939e42]:hover,.status-note button[data-v-6f939e42]:hover,.text-button[data-v-6f939e42]:hover{text-decoration:underline}.subject-switch[data-v-6f939e42]{display:inline-flex;flex-shrink:0;align-items:center;gap:14px;margin-top:0;padding:8px 12px 8px 18px;background:var(--panel);border:1px solid var(--line);border-radius:30px;box-shadow:0 5px 18px #365b8910}.subject-dot[data-v-6f939e42]{height:11px;width:11px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px var(--tint)}.switch-divider[data-v-6f939e42]{width:1px;height:22px;background:var(--line)}.subject-switch button[data-v-6f939e42]{border-radius:20px;padding:7px 17px;background:var(--panel);color:var(--accent-text);font-size:14px;font-weight:700}.card-grid[data-v-6f939e42]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.practice-card[data-v-6f939e42]{min-width:0;display:flex;flex-direction:column;border:0;border-radius:30px;background:linear-gradient(180deg,transparent 38%,color-mix(in srgb,var(--panel) 65%,transparent) 80%,color-mix(in srgb,var(--panel) 30%,transparent));box-shadow:none;overflow:hidden;transition:transform .28s ease,box-shadow .28s ease}.practice-card[data-v-6f939e42],.assignment-list li[data-v-6f939e42]:not(.assignment-blocked){cursor:pointer}.practice-card[data-v-6f939e42]:has(.practice-button:disabled),.assignment-list li[data-v-6f939e42]:has(button:disabled){cursor:default}.practice-card[data-v-6f939e42]:focus-within,.assignment-list li[data-v-6f939e42]:focus-within{box-shadow:0 0 0 3px var(--accent),0 12px 30px #305e961a}.card-art[data-v-6f939e42]{position:relative;height:clamp(190px,18vw,265px);background:transparent;overflow:hidden}.card-art img[data-v-6f939e42]{display:block;width:100%;height:100%;object-fit:cover;object-position:center 46%;transition:transform .45s ease;-webkit-mask-image:linear-gradient(to bottom,#000 62%,transparent 100%),linear-gradient(to right,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(to bottom,#000 62%,transparent 100%),linear-gradient(to right,transparent,#000 5%,#000 95%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}.course-card .card-art[data-v-6f939e42]{height:clamp(215px,20vw,295px)}.course-card .card-body[data-v-6f939e42]{margin-top:-25px;position:relative}.card-body[data-v-6f939e42]{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}.course-heading[data-v-6f939e42]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.course-heading h2[data-v-6f939e42]{font-size:34px;color:var(--accent-text);font-weight:900;margin:0;letter-spacing:-.5px}.subject-badge[data-v-6f939e42]{font-size:11px;font-weight:700;color:var(--accent-text);padding:6px 10px;border-radius:20px;background:var(--tint);white-space:nowrap}.course-description[data-v-6f939e42]{font-size:16px;line-height:1.7;margin:10px 0 0;color:var(--muted)}.course-invitation[data-v-6f939e42]{background:none;margin:17px 0 22px;padding:0;color:var(--muted);font-size:12px;line-height:1.7}.course-invitation span[data-v-6f939e42]{color:var(--accent-text);font-size:17px;margin-right:5px}.practice-button[data-v-6f939e42]{display:flex;justify-content:center;align-items:center;gap:12px;width:100%;min-height:52px;padding:11px 18px;margin-top:auto;border-radius:30px;border:0;background:linear-gradient(110deg,var(--accent-end),var(--accent));color:#fff;font-weight:700!important;font-size:17px!important;box-shadow:0 6px 13px color-mix(in srgb,var(--accent) 18%,transparent);transition:transform .15s,box-shadow .2s,filter .2s}.play-icon[data-v-6f939e42]{font-size:11px;width:24px;height:24px;display:inline-grid;place-items:center;padding-left:2px;background:#fff;color:var(--accent-text);border-radius:50%}.button-arrow[data-v-6f939e42]{margin-left:6px;font-family:sans-serif;font-size:23px;transition:transform .2s}.practice-button[data-v-6f939e42]:active:not(:disabled),.small-button[data-v-6f939e42]:active:not(:disabled){transform:scale(.96)}.compact-art[data-v-6f939e42]{height:160px;margin:0;border-radius:26px 26px 0 0}.level-card .card-body[data-v-6f939e42],.paper-card .card-body[data-v-6f939e42]{position:relative;margin-top:-16px}.compact-art img[data-v-6f939e42]{object-position:center 40%}.paper-card .compact-art img[data-v-6f939e42]{object-position:50% 36%}.card-kicker[data-v-6f939e42]{color:var(--accent-text);font-size:12px;font-weight:700;margin:0 0 6px}.level-card h2[data-v-6f939e42]{margin:0 0 8px;font-size:24px}.card-description[data-v-6f939e42]{font-size:12px;line-height:1.7;color:var(--muted);margin:0}.level-card .practice-button[data-v-6f939e42]{margin-top:20px}.paper-count[data-v-6f939e42]{margin:0;font-size:16px;font-weight:700}.paper-count span[data-v-6f939e42]{margin-left:9px;padding:4px 9px;background:var(--panel);color:var(--muted);border-radius:15px;font-size:12px;font-weight:500}.paper-search[data-v-6f939e42]{display:flex;align-items:center;gap:10px;padding:9px 15px;border:1px solid var(--line);background:var(--panel);border-radius:13px;color:var(--muted)}.paper-search>span[data-v-6f939e42]{font-size:24px;line-height:1}.paper-search input[data-v-6f939e42]{border:0;padding:2px;background:none;color:var(--ink);width:190px;font-size:13px}.paper-search input[data-v-6f939e42]::placeholder{color:var(--muted)}.paper-card .card-body[data-v-6f939e42]{padding:16px 18px 18px}.paper-card h2[data-v-6f939e42]{font-size:17px;line-height:1.65;margin:0 0 10px;overflow-wrap:anywhere}.paper-meta[data-v-6f939e42]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:15px}.paper-card .practice-button[data-v-6f939e42]{min-height:43px;font-size:14px!important;padding:8px 15px}.paper-art-label[data-v-6f939e42]{position:absolute;top:12px;left:14px;padding:5px 10px;border-radius:20px;background:#ffffffd9;color:#23395c;font-size:11px;font-weight:700}.status-badge[data-v-6f939e42]{display:inline-flex;align-items:center;white-space:nowrap;font-size:11px;font-weight:700;padding:5px 9px;border-radius:20px}.status-badge.complete[data-v-6f939e42]{color:#167847;background:#e1f7ea}.status-badge.draft[data-v-6f939e42]{color:#205cbd;background:#e7f0ff}.status-badge.pending[data-v-6f939e42]{color:#8a570f;background:#fff0cf}.status-note[data-v-6f939e42]{font-size:12px;color:var(--muted);line-height:1.9;margin:20px 4px}.status-note button[data-v-6f939e42]{color:var(--accent-text);margin-left:5px;font-weight:700}.assigned-block[data-v-6f939e42]{margin-top:34px;background:linear-gradient(115deg,color-mix(in srgb,var(--panel) 65%,transparent),transparent);border:0;border-radius:28px;padding:24px}.assigned-heading[data-v-6f939e42]{display:flex;justify-content:space-between;align-items:center;gap:12px}.assigned-heading h2[data-v-6f939e42]{font-size:16px;margin:0}.assigned-caption[data-v-6f939e42]{font-size:12px;color:var(--muted)}.assignment-empty[data-v-6f939e42]{font-size:13px;color:var(--muted);margin:13px 0 0}.assignment-list[data-v-6f939e42]{margin:14px 0 0;padding:0;list-style:none}.assignment-list li[data-v-6f939e42]{display:flex;gap:16px;align-items:center;padding:15px 0;border-top:1px solid color-mix(in srgb,var(--line) 60%,transparent)}.assignment-info[data-v-6f939e42]{min-width:0;flex:1}.assignment-info h3[data-v-6f939e42]{margin:4px 0 6px;font-size:14px;overflow-wrap:anywhere}.assignment-info p[data-v-6f939e42]{font-size:12px;margin:0;color:var(--muted)}.assigned-error[data-v-6f939e42],.error-notice[data-v-6f939e42]{color:#b34233!important;font-size:13px;line-height:1.7}.text-button[data-v-6f939e42]{font-weight:700!important;text-decoration:underline}.small-button[data-v-6f939e42]{border:0;border-radius:18px;background:var(--soft);color:var(--accent-text);padding:10px 16px;font-size:13px!important;font-weight:700!important;transition:transform .15s,background .2s}.loading-state[data-v-6f939e42],.empty-state[data-v-6f939e42]{text-align:center;background:var(--panel);border-radius:24px;padding:54px 24px;color:var(--muted)}.empty-state h2[data-v-6f939e42]{font-size:21px;color:var(--ink)}.empty-state p[data-v-6f939e42]{line-height:1.7}.empty-icon[data-v-6f939e42]{font-size:48px;color:#7cb2f8}.loading-state[data-v-6f939e42]{display:flex;align-items:center;justify-content:center;gap:14px;min-height:250px}.spinner[data-v-6f939e42]{display:inline-block;width:19px;height:19px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin-6f939e42 .8s linear infinite}.art-fallback[data-v-6f939e42]{display:grid;place-items:center;height:100%;color:var(--accent-text);font-size:64px;font-weight:900}.encouragement[data-v-6f939e42]{margin:24px 5% 0;display:flex;align-items:center;gap:16px;padding:16px 22px;background:none;border:0;color:var(--muted)}.footer-trophy[data-v-6f939e42]{font-size:29px}.encouragement p[data-v-6f939e42]{margin:0;font-size:13px;line-height:1.8}.footer-note[data-v-6f939e42]{margin-left:auto;font-size:15px;color:#347eef;font-style:italic;transform:rotate(-4deg);white-space:nowrap}.footer-note b[data-v-6f939e42]{color:#ffbf2e;font-size:26px;margin-left:10px}@media(hover:hover){.practice-card[data-v-6f939e42]:hover{transform:translateY(-4px);box-shadow:0 18px 40px #305e9609}.practice-card:hover .card-art img[data-v-6f939e42]{transform:scale(1.035)}.practice-button[data-v-6f939e42]:hover:not(:disabled){filter:brightness(1.05);box-shadow:0 9px 19px color-mix(in srgb,var(--accent) 28%,transparent)}.practice-button:hover .button-arrow[data-v-6f939e42]{transform:translate(5px)}.small-button[data-v-6f939e42]:hover:not(:disabled){background:var(--tint)}}@media(max-width:1190px){.hero-cheer[data-v-6f939e42]{gap:10px;padding-right:0}.cheer-code[data-v-6f939e42]{font-size:54px}.hero-cheer p[data-v-6f939e42]{font-size:15px}.course-heading h2[data-v-6f939e42]{font-size:30px}.card-body[data-v-6f939e42]{padding:17px}.course-description[data-v-6f939e42]{font-size:14px}.subject-badge[data-v-6f939e42]{padding:5px 8px}}@media(max-width:900px){.card-grid[data-v-6f939e42]{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.selection-hero[data-v-6f939e42]{padding:18px 0 16px}.hero-cheer[data-v-6f939e42]{display:none}.course-card .card-art[data-v-6f939e42]{height:225px}}@media(max-width:600px){.app-container:has(.selection-page){padding:12px 14px 40px}.selection-hero[data-v-6f939e42]{padding:16px 0 14px}.selection-hero[data-v-6f939e42]:before{display:none}.selection-hero h1[data-v-6f939e42]{font-size:32px}.title-spark[data-v-6f939e42]{margin-left:8px}.hero-description[data-v-6f939e42]{font-size:14px}.hero-heading-row[data-v-6f939e42]{gap:12px;align-items:flex-start}.is-course-stage h1[data-v-6f939e42]{font-size:28px}.is-course-stage .title-spark[data-v-6f939e42]{display:none}.subject-switch[data-v-6f939e42]{padding:0;margin-top:3px;background:none;border:0;box-shadow:none}.subject-switch>strong[data-v-6f939e42],.subject-switch>.subject-dot[data-v-6f939e42],.subject-switch>.switch-divider[data-v-6f939e42]{display:none}.subject-switch button[data-v-6f939e42]{padding:9px 11px;font-size:12px;white-space:nowrap}.eyebrow[data-v-6f939e42]{font-size:10px;letter-spacing:4px;margin-bottom:10px}.card-grid[data-v-6f939e42]{grid-template-columns:minmax(0,1fr);gap:19px}.course-card .card-art[data-v-6f939e42]{height:auto;aspect-ratio:1.8}.course-heading h2[data-v-6f939e42]{font-size:32px}.course-card .card-body[data-v-6f939e42]{padding:17px 19px 20px}.course-invitation[data-v-6f939e42]{margin:15px 0}.compact-art[data-v-6f939e42]{height:130px}.paper-search[data-v-6f939e42]{width:100%}.paper-search input[data-v-6f939e42]{width:100%;min-width:0}.assigned-block[data-v-6f939e42]{padding:18px}.assigned-caption[data-v-6f939e42]{display:none}.assignment-list li[data-v-6f939e42]{flex-wrap:wrap;gap:10px}.assignment-info[data-v-6f939e42]{flex:1 0 100%}.assignment-list .small-button[data-v-6f939e42]{margin-left:auto}.encouragement[data-v-6f939e42]{margin:20px 0 0;padding:13px;gap:10px}.encouragement p[data-v-6f939e42]{font-size:12px}.footer-note[data-v-6f939e42]{display:none}.status-note[data-v-6f939e42]{font-size:11px}}:root[data-theme=dark] .selection-page[data-v-6f939e42]{--ink: #e9f1ff;--muted: #aebdd2;--panel: #1c2a40;--soft: #25374f;--line: #32445f}:root[data-theme=dark] .theme-scratch[data-v-6f939e42]{--accent-text: #ffb676;--tint: #493426}:root[data-theme=dark] .theme-python[data-v-6f939e42],:root[data-theme=dark] .theme-general[data-v-6f939e42]{--accent-text: #9ec7ff;--tint: #263e5d}:root[data-theme=dark] .theme-cpp[data-v-6f939e42]{--accent-text: #c9aeff;--tint: #3a2d56}:root[data-theme=dark] .selection-hero[data-v-6f939e42]:before{opacity:.08}:root[data-theme=dark] .card-art img[data-v-6f939e42]{filter:brightness(.88)}:root[data-theme=dark] .assigned-error[data-v-6f939e42],:root[data-theme=dark] .error-notice[data-v-6f939e42]{color:#ffb5a7!important}@keyframes spin-6f939e42{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.selection-page[data-v-6f939e42] *,.selection-page[data-v-6f939e42] *:before,.selection-page[data-v-6f939e42] *:after{animation:none!important;transition:none!important}.practice-card[data-v-6f939e42]:hover,.practice-card:hover .card-art img[data-v-6f939e42],.practice-button[data-v-6f939e42]:active:not(:disabled),.small-button[data-v-6f939e42]:active:not(:disabled){transform:none}}.question-bank-page[data-v-511c6e60]{width:min(1200px,100%);display:flex;flex-direction:column;gap:1rem}.page-header[data-v-511c6e60]{display:flex;justify-content:space-between;align-items:center}.eyebrow[data-v-511c6e60]{margin:0;color:var(--text-secondary)}h1[data-v-511c6e60]{margin:.2rem 0 0}.filter-card[data-v-511c6e60]{background:var(--surface);border:1px solid var(--border-color);border-radius:12px;padding:1rem}.filter-grid[data-v-511c6e60]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}label[data-v-511c6e60]{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:var(--text-secondary)}input[data-v-511c6e60],select[data-v-511c6e60]{border:1px solid var(--border-color);border-radius:8px;padding:.5rem .6rem;background:var(--surface);color:var(--text-primary)}.filter-actions[data-v-511c6e60]{margin-top:.9rem;display:flex;gap:.6rem}.primary-button[data-v-511c6e60],.secondary-button[data-v-511c6e60]{border:1px solid var(--border-color);border-radius:8px;padding:.45rem .8rem;cursor:pointer}.primary-button[data-v-511c6e60]{background:var(--primary-color);color:var(--text-on-primary);border-color:transparent}.secondary-button[data-v-511c6e60]{background:var(--surface);color:var(--text-primary)}.pager[data-v-511c6e60]{display:flex;gap:.6rem}.table-wrap[data-v-511c6e60]{overflow-x:auto;background:var(--surface);border:1px solid var(--border-color);border-radius:12px}.question-table[data-v-511c6e60]{width:100%;border-collapse:collapse}th[data-v-511c6e60],td[data-v-511c6e60]{text-align:left;border-bottom:1px solid var(--border-color);padding:.7rem;vertical-align:top}.tag[data-v-511c6e60]{display:inline-block;background:var(--surface-muted);border-radius:999px;border:1px solid var(--border-color);padding:.1rem .45rem}.link-button[data-v-511c6e60]{border:1px solid var(--border-color);background:var(--surface);color:var(--text-primary);border-radius:8px;padding:.25rem .55rem;cursor:pointer;font-size:.8rem}.hint-text[data-v-511c6e60]{color:var(--text-secondary)}.error-text[data-v-511c6e60]{color:var(--error-text)}.tests-card[data-v-e4bb5670]{display:flex;flex-direction:column;gap:.8rem;border:1px solid var(--border-color);border-radius:12px;padding:.9rem}.tests-header[data-v-e4bb5670]{display:flex;justify-content:space-between;gap:.8rem;align-items:flex-start}.tests-header h2[data-v-e4bb5670]{margin:0;font-size:1.05rem}.count-text[data-v-e4bb5670]{margin:.2rem 0 0;color:var(--text-secondary);font-size:.9rem}.tests-actions[data-v-e4bb5670]{display:flex;gap:.5rem}.tests-grid[data-v-e4bb5670]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.8rem}.tests-column[data-v-e4bb5670]{border:1px solid var(--border-color);border-radius:10px;padding:.7rem;display:flex;flex-direction:column;gap:.6rem}.column-header[data-v-e4bb5670]{display:flex;align-items:center;justify-content:space-between}.column-header h3[data-v-e4bb5670]{margin:0;font-size:.98rem}.test-item[data-v-e4bb5670]{border:1px dashed var(--border-color);border-radius:8px;padding:.6rem;display:flex;flex-direction:column;gap:.45rem}.test-title-row[data-v-e4bb5670]{display:flex;justify-content:space-between;align-items:center}label[data-v-e4bb5670]{display:flex;flex-direction:column;gap:.3rem;color:var(--text-secondary);font-size:.9rem}textarea[data-v-e4bb5670]{border:1px solid var(--border-color);border-radius:8px;padding:.5rem .6rem;background:var(--surface);color:var(--text-primary);font:inherit}.primary-button[data-v-e4bb5670],.secondary-button[data-v-e4bb5670],.danger-button[data-v-e4bb5670]{border:1px solid var(--border-color);border-radius:8px;padding:.35rem .7rem;cursor:pointer}.primary-button[data-v-e4bb5670]{background:var(--primary-color);color:var(--text-on-primary);border-color:transparent}.secondary-button[data-v-e4bb5670]{background:var(--surface);color:var(--text-primary)}.danger-button[data-v-e4bb5670]{background:transparent;color:#c14242}.hint-text[data-v-e4bb5670]{margin:0;color:var(--text-secondary);font-size:.88rem}.success-text[data-v-e4bb5670]{margin:0;color:#2f8f55}.error-text[data-v-e4bb5670]{margin:0;color:#c14242}.log-card[data-v-b8d6c480]{border:1px solid var(--border-color);border-radius:12px;padding:.9rem;display:flex;flex-direction:column;gap:.8rem}.log-header[data-v-b8d6c480]{display:flex;justify-content:space-between;gap:.8rem;align-items:flex-start}.log-header h2[data-v-b8d6c480]{margin:0;font-size:1.05rem}.log-list[data-v-b8d6c480]{display:flex;flex-direction:column;gap:.7rem}.log-item[data-v-b8d6c480]{border:1px solid var(--border-color);border-radius:10px;padding:.75rem;display:flex;flex-direction:column;gap:.6rem;background:color-mix(in oklab,var(--surface) 94%,transparent)}.log-meta[data-v-b8d6c480]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.35rem .6rem}.log-meta p[data-v-b8d6c480]{margin:0;font-size:.88rem}.json-grid[data-v-b8d6c480]{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.65rem}.json-grid h3[data-v-b8d6c480]{margin:0 0 .4rem;font-size:.9rem}pre[data-v-b8d6c480]{margin:0;padding:.55rem;border:1px solid var(--border-color);border-radius:8px;background:color-mix(in oklab,var(--surface) 90%,black 10%);max-height:260px;overflow:auto;font-size:.82rem;line-height:1.35}.clear-state[data-v-b8d6c480]{margin:0;color:var(--text-secondary);font-size:.88rem}.secondary-button[data-v-b8d6c480]{border:1px solid var(--border-color);border-radius:8px;padding:.45rem .8rem;cursor:pointer;background:var(--surface);color:var(--text-primary)}.question-editor-page[data-v-63f4d443]{width:min(920px,100%);display:flex;flex-direction:column;gap:1rem}.page-header[data-v-63f4d443]{display:flex;justify-content:space-between;align-items:center}.eyebrow[data-v-63f4d443]{margin:0;color:var(--text-secondary)}h1[data-v-63f4d443]{margin:.2rem 0 0}.editor-card[data-v-63f4d443]{display:flex;flex-direction:column;gap:.8rem;background:var(--surface);border:1px solid var(--border-color);border-radius:12px;padding:1rem}label[data-v-63f4d443]{display:flex;flex-direction:column;gap:.35rem;color:var(--text-secondary);font-size:.92rem}input[data-v-63f4d443],textarea[data-v-63f4d443]{border:1px solid var(--border-color);border-radius:8px;padding:.55rem .65rem;background:var(--surface);color:var(--text-primary);font:inherit}.row-grid[data-v-63f4d443]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.actions[data-v-63f4d443]{display:flex;align-items:center;gap:.6rem}.primary-button[data-v-63f4d443],.secondary-button[data-v-63f4d443]{border:1px solid var(--border-color);border-radius:8px;padding:.45rem .8rem;cursor:pointer}.primary-button[data-v-63f4d443]{background:var(--primary-color);color:var(--text-on-primary);border-color:transparent}.secondary-button[data-v-63f4d443]{background:var(--surface);color:var(--text-primary)}.success-text[data-v-63f4d443]{color:#2f8f55}.bulk-clear-panel[data-v-043cff95]{display:grid;gap:10px;padding-top:10px}.bulk-clear-panel h3[data-v-043cff95]{margin:0;font-size:15px}.bulk-clear-panel p[data-v-043cff95]{margin:0;line-height:1.7}.bulk-clear-warning[data-v-043cff95]{color:#9d2e38;font-weight:600}.bulk-clear-list[data-v-043cff95]{max-height:240px;overflow:auto;margin:0;padding:10px 12px 10px 32px;border:1px solid #f0c8cb;border-radius:10px;background:#fff8f8}.bulk-clear-list li[data-v-043cff95]{display:flex;justify-content:space-between;gap:12px;padding:4px 0;overflow-wrap:anywhere}.bulk-clear-list li span[data-v-043cff95]{color:var(--muted);font-size:12px}.bulk-clear-confirm-label[data-v-043cff95]{display:grid;gap:6px}.bulk-clear-confirm-label code[data-v-043cff95]{width:fit-content;padding:3px 6px;border-radius:4px;background:#f7e6e7;color:#8f2631}.bulk-clear-confirm-label input[data-v-043cff95]{min-height:40px;width:100%}.bulk-clear-results[data-v-043cff95]{display:grid;gap:4px;padding-top:4px}.bulk-clear-results p[data-v-043cff95]{font-size:12px}.bulk-clear-result-list[data-v-043cff95]{display:grid;gap:4px;margin:0;padding:0;list-style:none}.bulk-clear-result-list li[data-v-043cff95]{display:flex;justify-content:space-between;gap:12px;font-size:12px}.bulk-clear-result-list li span[data-v-043cff95]{color:var(--muted)}@media(prefers-reduced-motion:reduce){.bulk-clear-panel[data-v-043cff95] *{scroll-behavior:auto;transition:none}}.management-page{max-width:1560px}.management-page .management-intro{display:grid;grid-template-columns:minmax(300px,1.05fr) minmax(0,2.4fr);align-items:stretch;gap:22px;margin-top:20px}.management-page .management-layout{display:grid;grid-template-columns:176px minmax(0,1fr);gap:22px;margin-top:20px;align-items:stretch}.management-page .management-sidebar{border-radius:24px;padding:12px;background:linear-gradient(170deg,var(--panel),color-mix(in srgb,var(--panel) 58%,transparent));min-height:690px;display:flex;flex-direction:column}.management-page .management-sidebar nav{display:flex;flex-direction:column;gap:8px}.management-page .management-sidebar button{display:flex;align-items:center;gap:10px;padding:13px 10px;color:var(--muted);font-size:13px;font-weight:700;background:transparent;border:0;border-radius:13px;text-align:left;min-height:46px}.management-page .management-sidebar button:hover,.management-page .management-sidebar button.active{background:var(--soft);color:#2877ed}.management-page .management-sidebar svg{width:22px;height:22px}.management-page .management-sidebar button{white-space:nowrap;font-size:12px}.management-page .sidebar-cheer{margin-top:auto;padding-top:90px;text-align:center;overflow:hidden}.management-page .sidebar-cheer p{color:var(--muted);font-size:14px;line-height:1.9;transform:rotate(-6deg)}.management-page .management-main{min-width:0;display:flex;flex-direction:column}.management-page .management-stage{display:flex;flex-direction:column;flex:1}.management-page .management-hero{min-width:0;display:flex;align-items:center;gap:17px}.management-page .management-hero h1{font-size:clamp(26px,2.6vw,38px);margin:0;letter-spacing:.5px}.management-page .hero-icon,.management-page .panel-icon,.management-page .stat-icon{display:grid;place-items:center;border-radius:16px;background:#e7efff;color:#3279f0;flex-shrink:0}.management-page .hero-icon{width:62px;height:62px}.management-page .hero-icon svg{width:38px;height:38px}.management-page .management-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:0}.management-page .management-stat{min-width:0;min-height:114px;display:flex;align-items:center;gap:14px;padding:17px;background:color-mix(in srgb,var(--panel) 88%,transparent);border-radius:23px}.management-page .stat-icon{width:56px;height:64px}.management-page .stat-icon svg{width:32px;height:32px}.management-page .management-stat p{margin:0 0 8px;color:var(--muted);font-size:12px}.management-page .management-stat strong{font-size:32px;line-height:1}.management-page .management-stat small{display:block;color:var(--muted);font-size:10px;margin-top:7px}.management-page .warm .stat-icon{background:#fff0cc;color:#e7a022}.management-page .mint .stat-icon{background:#dff7ec;color:#27af7d}.management-page .management-workspace{display:grid;grid-template-columns:minmax(250px,.85fr) minmax(0,1.65fr);gap:18px;align-items:stretch;flex:1}.management-page .management-workspace.roster-only{grid-template-columns:minmax(0,1fr)}.management-page .management-panel{min-width:0;background:color-mix(in srgb,var(--panel) 92%,transparent);border-radius:24px;padding:22px;box-shadow:0 10px 28px #436da405}.management-page .panel-heading{display:flex;align-items:center;gap:11px;margin-bottom:20px}.management-page .panel-heading>div{min-width:0}.management-page .panel-heading>button:last-child{margin-left:auto}.management-page .panel-heading h2{font-size:19px;line-height:1.5;margin:0;overflow-wrap:anywhere}.management-page .panel-heading p{font-size:11px;color:var(--muted);margin:4px 0 0;line-height:1.7}.management-page .panel-icon{width:44px;height:44px}.management-page .panel-heading .eyebrow{margin-bottom:6px;font-size:10px;letter-spacing:2px}.management-page fieldset{padding:0;border:0;margin:0;min-width:0}.management-page label{display:block;color:var(--muted);font-size:12px;line-height:1.6}.management-page input:not([type=checkbox]),.management-page select,.management-page textarea{display:block;width:100%;min-width:0;border:1px solid var(--line);border-radius:11px;padding:10px 12px;color:var(--ink);background:color-mix(in srgb,var(--panel) 94%,var(--soft));font:inherit;font-size:13px;min-height:44px;margin:5px 0 12px}.management-page textarea{resize:vertical;line-height:1.8}.management-page input[type=checkbox]{width:18px;height:18px;accent-color:#2877ed;flex-shrink:0;cursor:pointer}.management-page select:focus-visible,.management-page textarea:focus-visible{outline:3px solid #327bea;outline-offset:3px}.management-page .step-label{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;color:var(--ink);margin:17px 0 12px}.management-page .step-label b{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#2877ed;color:#fff}.management-page .field-hint{color:var(--muted);font-size:11px;line-height:1.8;margin:8px 0 12px}.management-page .password-field{display:flex;align-items:center;gap:6px}.management-page .password-field input{flex:1}.management-page .password-field button{background:none;color:var(--accent-text);border:0;font-size:12px;min-height:44px;padding:6px}.management-page .primary-action,.management-page .secondary-action,.management-page .danger-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:10px;padding:9px 13px;min-height:44px;font-size:12px;font-weight:700;line-height:1.5;border:1px solid transparent;cursor:pointer;transition:background .16s,transform .16s}.management-page .primary-action{background:linear-gradient(110deg,#3684ff,#4b89f6);color:#fff;box-shadow:0 5px 12px #327bea15}.management-page .secondary-action{background:var(--soft);color:var(--accent-text);border-color:var(--line)}.management-page .primary-action:hover{background:#246ce7}.management-page .secondary-action:hover{background:var(--tint)}.management-page button:active:not(:disabled){transform:scale(.98)}.management-page .full-width{width:100%;margin-top:8px}.management-page .inline-preview{padding:14px;border-radius:14px;background:var(--soft);margin-top:16px;font-size:12px}.management-page .inline-preview ul{padding-left:18px;overflow-wrap:anywhere}.management-page .form-error{color:#b33a31;font-size:12px;line-height:1.9}.management-page .form-success{color:#19764b;font-size:13px;line-height:1.9}.management-page .icon-refresh{min-width:44px;min-height:44px;border:0;border-radius:12px;background:var(--soft);color:var(--accent-text);font-size:22px}.management-page .roster-filters{display:grid;grid-template-columns:minmax(130px,1.35fr) repeat(3,minmax(80px,1fr));gap:9px}.management-page .roster-filters input,.management-page .roster-filters select{font-size:12px;padding:9px;margin-bottom:0}.management-page .selection-bar{padding:6px 12px;margin:12px 0;background:color-mix(in srgb,var(--soft) 70%,transparent);border-radius:13px}.management-page .check-label{display:flex;align-items:center;gap:8px;min-height:44px}.management-page .action-row{display:flex;flex-wrap:wrap;gap:8px}.management-page .selection-bar .action-row{margin-top:6px}.management-page .roster-table-head,.management-page .student-row{display:grid;grid-template-columns:minmax(115px,1.1fr) minmax(110px,1fr) minmax(94px,auto);gap:12px;align-items:center}.management-page .roster-table-head{padding:12px 8px;border-radius:12px;background:var(--soft);color:var(--muted);font-size:11px}.management-page .student-row{padding:12px 8px;border-bottom:1px solid var(--line);min-height:83px}.management-page .student-row.selected{background:color-mix(in srgb,var(--soft) 75%,transparent)}.management-page .student-identity{display:flex;align-items:center;gap:8px;min-width:0}.management-page .student-identity img{border-radius:50%;flex-shrink:0}.management-page .student-identity strong{font-size:12px;overflow-wrap:anywhere;min-width:0}.management-page .student-subjects{display:flex;flex-wrap:wrap;gap:5px}.management-page .level-chip{display:inline-block;color:var(--accent-text);background:var(--tint);font-size:10px;border-radius:8px;padding:4px 6px}.management-page .student-actions{display:flex;gap:6px;flex-wrap:wrap}.management-page .student-actions button{font-size:11px;padding:7px 10px}.management-page .roster-pagination{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:9px;margin-top:18px;font-size:11px;color:var(--muted)}.management-page .roster-pagination>span:first-child{margin-right:auto}.management-page .roster-pagination label{display:flex;align-items:center;gap:5px}.management-page .roster-pagination select{width:auto;margin:0}.management-page .panel-empty{padding:42px 10px;text-align:center;color:var(--muted);font-size:14px}.management-page .form-grid{display:flex;flex-wrap:wrap;gap:14px;align-items:end}.management-page .form-grid>label{flex:1;min-width:140px}.management-page .form-grid>button{margin-bottom:12px}.management-page .preview-list{max-height:400px;overflow-y:auto;background:var(--soft);padding:8px 16px;border-radius:14px}.management-page .preview-list>div{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--line);font-size:14px}.management-page .preview-list strong{overflow-wrap:anywhere;min-width:0}.management-page .preview-list em{color:#b33a31;font-size:12px}.management-page .summary-chips{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 4px}.management-page .summary-chips .level-chip{font-size:11px}.management-page .student-record-row{display:grid;grid-template-columns:minmax(0,1fr) 150px 120px;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.management-page .student-record-row h3{margin:0;font-size:15px;overflow-wrap:anywhere}.management-page .record-score,.management-page .record-row-actions{display:flex;flex-direction:column;gap:7px;font-size:12px}.management-page .record-score strong{font-size:20px;color:var(--accent-text)}.management-page .danger-area{margin-top:40px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.8}.management-page .danger-area summary{cursor:pointer;min-height:44px}.management-page .danger-action{background:#fff0ef;color:#b33a31;border-color:#f5cfca}:root[data-theme=dark] .management-page .hero-icon,:root[data-theme=dark] .management-page .panel-icon,:root[data-theme=dark] .management-page .stat-icon{background:#253e60;color:#a1c6ff}:root[data-theme=dark] .management-page .form-error{color:#ffb4a4}:root[data-theme=dark] .management-page .form-success{color:#8bddb0}@media(max-width:1300px){.management-page .management-intro{gap:16px}.management-page .management-stat{gap:10px;padding:14px 12px}.management-page .stat-icon{width:40px;height:48px}.management-page .management-layout{grid-template-columns:150px minmax(0,1fr);gap:16px}.management-page .management-sidebar{padding:8px}.management-page .management-workspace{grid-template-columns:minmax(230px,.8fr) minmax(0,1.5fr);gap:14px}.management-page .management-panel{padding:17px}.management-page .roster-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.management-page .student-actions{flex-direction:column}.management-page .student-identity img{display:none}}@media(max-width:1000px){.management-page .management-intro,.management-page .management-layout{grid-template-columns:minmax(0,1fr)}.management-page .management-sidebar{min-height:0}.management-page .management-sidebar nav{flex-direction:row;flex-wrap:wrap;gap:4px}.management-page .management-sidebar button{font-size:12px;padding:10px}.management-page .sidebar-cheer{display:none}}@media(max-width:700px){.management-page .management-workspace{display:flex;flex-direction:column}.management-page .management-workspace>*{width:100%}.management-page .create-panel{order:2}.management-page .management-hero{gap:12px}.management-page .hero-icon{width:45px;height:45px}.management-page .management-hero h1{font-size:26px}.management-page .management-stats{gap:8px}.management-page .management-stat{padding:13px 9px;display:block}.management-page .stat-icon{display:none}.management-page .management-stat p{font-size:10px;min-height:30px}.management-page .management-stat strong{font-size:27px}.management-page .student-row{grid-template-columns:minmax(0,1fr);gap:9px}.management-page .roster-table-head{display:none}.management-page .student-identity img{display:block}.management-page .student-actions{flex-direction:row}.management-page .student-identity strong{font-size:14px}.management-page .student-subjects{padding-left:27px}.management-page .roster-pagination{justify-content:flex-start}.management-page .student-record-row{grid-template-columns:minmax(0,1fr);gap:10px}.management-page .record-row-actions{flex-direction:row;flex-wrap:wrap}.management-page .panel-heading{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.management-page *{transition:none!important}}.selection-page[data-v-5968a44c]{--ink: #142747;--muted: #5c6e89;--panel: #ffffff;--soft: #eff5fd;--line: #e3ebf6;--accent: #2877ed;--accent-end: #4798ff;--accent-text: #2465c5;--tint: #eaf3ff;width:100%;max-width:1400px;color:var(--ink);margin:0 auto;isolation:isolate;font-family:AlibabaPuHuiTi,Noto Sans TC,Microsoft JhengHei,sans-serif}.selection-page[data-v-5968a44c] *,.selection-page[data-v-5968a44c] *:before,.selection-page[data-v-5968a44c] *:after{box-sizing:border-box}.selection-page button[data-v-5968a44c],.selection-page input[data-v-5968a44c]{font:inherit}.selection-page button[data-v-5968a44c]{cursor:pointer;-webkit-tap-highlight-color:transparent}.selection-page button[data-v-5968a44c]:focus-visible,.selection-page input[data-v-5968a44c]:focus-visible{outline:3px solid #327bea;outline-offset:4px}.selection-page button[data-v-5968a44c]:disabled{cursor:not-allowed;opacity:.62;transform:none}.theme-scratch[data-v-5968a44c]{--accent: #f87625;--accent-end: #ff9b40;--accent-text: #be4c0a;--tint: #fff1e5}.theme-python[data-v-5968a44c]{--accent: #2877ed;--accent-end: #4798ff;--accent-text: #2465c5;--tint: #eaf3ff}.theme-cpp[data-v-5968a44c]{--accent: #7d4ce8;--accent-end: #a177fb;--accent-text: #7242ce;--tint: #f1eaff}.selection-hero[data-v-5968a44c]{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:0;padding:20px 0 18px;gap:20px}.eyebrow[data-v-5968a44c]{font-size:12px;color:var(--muted);font-weight:700;letter-spacing:5px;margin:0 0 13px}.eyebrow span[data-v-5968a44c]{color:#ffbd28;font-size:22px;margin-left:8px}.selection-hero h1[data-v-5968a44c]{font-size:clamp(28px,2.8vw,40px);line-height:1.24;letter-spacing:1px;margin:0;font-weight:900}.title-spark[data-v-5968a44c]{display:inline-block;margin-left:14px;color:#ffb521;font-size:.75em;vertical-align:top;transform:rotate(12deg)}.hero-description[data-v-5968a44c]{margin:12px 0 0;color:var(--muted);font-size:17px;line-height:1.7}.hero-copy[data-v-5968a44c]{min-width:0;flex:1}.hero-heading-row[data-v-5968a44c]{display:flex;align-items:center;justify-content:space-between;gap:24px}.selection-heading-row[data-v-5968a44c]{justify-content:flex-start;flex-wrap:wrap;gap:16px}.selection-heading-row .paper-search[data-v-5968a44c]{margin-left:auto}.heading-text[data-v-5968a44c]{min-width:0}.is-course-stage .hero-cheer[data-v-5968a44c]{display:none}.selection-hero.is-course-stage[data-v-5968a44c]:before{display:none}.hero-cheer[data-v-5968a44c]{position:relative;display:flex;align-items:center;gap:20px;padding-right:28px;transform:rotate(-5deg);flex-shrink:0}.cheer-code[data-v-5968a44c]{font-size:72px;font-weight:900;color:#83b3f0;letter-spacing:-7px;white-space:nowrap;text-shadow:0 5px 0 #dceafd}.cheer-code b[data-v-5968a44c]{font-size:45px;color:#ffbf3f;display:inline-block;transform:rotate(12deg)}.hero-cheer p[data-v-5968a44c]{margin:0;color:var(--muted);font-size:18px;line-height:1.85;letter-spacing:2px}.hero-cheer strong[data-v-5968a44c]{color:var(--ink)}.cheer-star[data-v-5968a44c]{position:absolute;font-size:35px;top:-15px;right:15px;color:#ffba23}.cheer-orbit[data-v-5968a44c]{position:absolute;width:25px;height:25px;border:5px solid #c4e0ff;border-radius:50%;bottom:-20px;left:20px}.breadcrumbs[data-v-5968a44c]{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px;margin-bottom:8px}.breadcrumbs button[data-v-5968a44c],.subject-switch button[data-v-5968a44c],.status-note button[data-v-5968a44c],.text-button[data-v-5968a44c]{padding:0;border:0;background:none;color:inherit}.breadcrumbs button[data-v-5968a44c]:hover,.status-note button[data-v-5968a44c]:hover,.text-button[data-v-5968a44c]:hover{text-decoration:underline}.subject-switch[data-v-5968a44c]{display:inline-flex;flex-shrink:0;align-items:center;gap:14px;margin-top:0;padding:8px 12px 8px 18px;background:var(--panel);border:1px solid var(--line);border-radius:30px;box-shadow:0 5px 18px #365b8910}.subject-dot[data-v-5968a44c]{height:11px;width:11px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px var(--tint)}.switch-divider[data-v-5968a44c]{width:1px;height:22px;background:var(--line)}.subject-switch button[data-v-5968a44c]{border-radius:20px;padding:7px 17px;background:var(--panel);color:var(--accent-text);font-size:14px;font-weight:700}.card-grid[data-v-5968a44c]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.practice-card[data-v-5968a44c]{min-width:0;display:flex;flex-direction:column;border:0;border-radius:30px;background:linear-gradient(180deg,transparent 38%,color-mix(in srgb,var(--panel) 65%,transparent) 80%,color-mix(in srgb,var(--panel) 30%,transparent));box-shadow:none;overflow:hidden;transition:transform .28s ease,box-shadow .28s ease}.practice-card[data-v-5968a44c],.assignment-list li[data-v-5968a44c]:not(.assignment-blocked){cursor:pointer}.practice-card[data-v-5968a44c]:has(.practice-button:disabled),.assignment-list li[data-v-5968a44c]:has(button:disabled){cursor:default}.practice-card[data-v-5968a44c]:focus-within,.assignment-list li[data-v-5968a44c]:focus-within{box-shadow:0 0 0 3px var(--accent),0 12px 30px #305e961a}.card-art[data-v-5968a44c]{position:relative;height:clamp(190px,18vw,265px);background:transparent;overflow:hidden}.card-art img[data-v-5968a44c]{display:block;width:100%;height:100%;object-fit:cover;object-position:center 46%;transition:transform .45s ease;-webkit-mask-image:linear-gradient(to bottom,#000 62%,transparent 100%),linear-gradient(to right,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(to bottom,#000 62%,transparent 100%),linear-gradient(to right,transparent,#000 5%,#000 95%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}.course-card .card-art[data-v-5968a44c]{height:clamp(215px,20vw,295px)}.course-card .card-body[data-v-5968a44c]{margin-top:-25px;position:relative}.card-body[data-v-5968a44c]{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}.course-heading[data-v-5968a44c]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.course-heading h2[data-v-5968a44c]{font-size:34px;color:var(--accent-text);font-weight:900;margin:0;letter-spacing:-.5px}.subject-badge[data-v-5968a44c]{font-size:11px;font-weight:700;color:var(--accent-text);padding:6px 10px;border-radius:20px;background:var(--tint);white-space:nowrap}.course-description[data-v-5968a44c]{font-size:16px;line-height:1.7;margin:10px 0 0;color:var(--muted)}.course-invitation[data-v-5968a44c]{background:none;margin:17px 0 22px;padding:0;color:var(--muted);font-size:12px;line-height:1.7}.course-invitation span[data-v-5968a44c]{color:var(--accent-text);font-size:17px;margin-right:5px}.practice-button[data-v-5968a44c]{display:flex;justify-content:center;align-items:center;gap:12px;width:100%;min-height:52px;padding:11px 18px;margin-top:auto;border-radius:30px;border:0;background:linear-gradient(110deg,var(--accent-end),var(--accent));color:#fff;font-weight:700!important;font-size:17px!important;box-shadow:0 6px 13px color-mix(in srgb,var(--accent) 18%,transparent);transition:transform .15s,box-shadow .2s,filter .2s}.play-icon[data-v-5968a44c]{font-size:11px;width:24px;height:24px;display:inline-grid;place-items:center;padding-left:2px;background:#fff;color:var(--accent-text);border-radius:50%}.button-arrow[data-v-5968a44c]{margin-left:6px;font-family:sans-serif;font-size:23px;transition:transform .2s}.practice-button[data-v-5968a44c]:active:not(:disabled),.small-button[data-v-5968a44c]:active:not(:disabled){transform:scale(.96)}.compact-art[data-v-5968a44c]{height:160px;margin:0;border-radius:26px 26px 0 0}.level-card .card-body[data-v-5968a44c],.paper-card .card-body[data-v-5968a44c]{position:relative;margin-top:-16px}.compact-art img[data-v-5968a44c]{object-position:center 40%}.paper-card .compact-art img[data-v-5968a44c]{object-position:50% 36%}.card-kicker[data-v-5968a44c]{color:var(--accent-text);font-size:12px;font-weight:700;margin:0 0 6px}.level-card h2[data-v-5968a44c]{margin:0 0 8px;font-size:24px}.card-description[data-v-5968a44c]{font-size:12px;line-height:1.7;color:var(--muted);margin:0}.level-card .practice-button[data-v-5968a44c]{margin-top:20px}.paper-count[data-v-5968a44c]{margin:0;font-size:16px;font-weight:700}.paper-count span[data-v-5968a44c]{margin-left:9px;padding:4px 9px;background:var(--panel);color:var(--muted);border-radius:15px;font-size:12px;font-weight:500}.paper-search[data-v-5968a44c]{display:flex;align-items:center;gap:10px;padding:9px 15px;border:1px solid var(--line);background:var(--panel);border-radius:13px;color:var(--muted)}.paper-search>span[data-v-5968a44c]{font-size:24px;line-height:1}.paper-search input[data-v-5968a44c]{border:0;padding:2px;background:none;color:var(--ink);width:190px;font-size:13px}.paper-search input[data-v-5968a44c]::placeholder{color:var(--muted)}.paper-card .card-body[data-v-5968a44c]{padding:16px 18px 18px}.paper-card h2[data-v-5968a44c]{font-size:17px;line-height:1.65;margin:0 0 10px;overflow-wrap:anywhere}.paper-meta[data-v-5968a44c]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:15px}.paper-card .practice-button[data-v-5968a44c]{min-height:43px;font-size:14px!important;padding:8px 15px}.paper-art-label[data-v-5968a44c]{position:absolute;top:12px;left:14px;padding:5px 10px;border-radius:20px;background:#ffffffd9;color:#23395c;font-size:11px;font-weight:700}.status-badge[data-v-5968a44c]{display:inline-flex;align-items:center;white-space:nowrap;font-size:11px;font-weight:700;padding:5px 9px;border-radius:20px}.status-badge.complete[data-v-5968a44c]{color:#167847;background:#e1f7ea}.status-badge.draft[data-v-5968a44c]{color:#205cbd;background:#e7f0ff}.status-badge.pending[data-v-5968a44c]{color:#8a570f;background:#fff0cf}.status-note[data-v-5968a44c]{font-size:12px;color:var(--muted);line-height:1.9;margin:20px 4px}.status-note button[data-v-5968a44c]{color:var(--accent-text);margin-left:5px;font-weight:700}.assigned-block[data-v-5968a44c]{margin-top:34px;background:linear-gradient(115deg,color-mix(in srgb,var(--panel) 65%,transparent),transparent);border:0;border-radius:28px;padding:24px}.assigned-heading[data-v-5968a44c]{display:flex;justify-content:space-between;align-items:center;gap:12px}.assigned-heading h2[data-v-5968a44c]{font-size:16px;margin:0}.assigned-caption[data-v-5968a44c]{font-size:12px;color:var(--muted)}.assignment-empty[data-v-5968a44c]{font-size:13px;color:var(--muted);margin:13px 0 0}.assignment-list[data-v-5968a44c]{margin:14px 0 0;padding:0;list-style:none}.assignment-list li[data-v-5968a44c]{display:flex;gap:16px;align-items:center;padding:15px 0;border-top:1px solid color-mix(in srgb,var(--line) 60%,transparent)}.assignment-info[data-v-5968a44c]{min-width:0;flex:1}.assignment-info h3[data-v-5968a44c]{margin:4px 0 6px;font-size:14px;overflow-wrap:anywhere}.assignment-info p[data-v-5968a44c]{font-size:12px;margin:0;color:var(--muted)}.assigned-error[data-v-5968a44c],.error-notice[data-v-5968a44c]{color:#b34233!important;font-size:13px;line-height:1.7}.text-button[data-v-5968a44c]{font-weight:700!important;text-decoration:underline}.small-button[data-v-5968a44c]{border:0;border-radius:18px;background:var(--soft);color:var(--accent-text);padding:10px 16px;font-size:13px!important;font-weight:700!important;transition:transform .15s,background .2s}.loading-state[data-v-5968a44c],.empty-state[data-v-5968a44c]{text-align:center;background:var(--panel);border-radius:24px;padding:54px 24px;color:var(--muted)}.empty-state h2[data-v-5968a44c]{font-size:21px;color:var(--ink)}.empty-state p[data-v-5968a44c]{line-height:1.7}.empty-icon[data-v-5968a44c]{font-size:48px;color:#7cb2f8}.loading-state[data-v-5968a44c]{display:flex;align-items:center;justify-content:center;gap:14px;min-height:250px}.spinner[data-v-5968a44c]{display:inline-block;width:19px;height:19px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin-5968a44c .8s linear infinite}.art-fallback[data-v-5968a44c]{display:grid;place-items:center;height:100%;color:var(--accent-text);font-size:64px;font-weight:900}.encouragement[data-v-5968a44c]{margin:24px 5% 0;display:flex;align-items:center;gap:16px;padding:16px 22px;background:none;border:0;color:var(--muted)}.footer-trophy[data-v-5968a44c]{font-size:29px}.encouragement p[data-v-5968a44c]{margin:0;font-size:13px;line-height:1.8}.footer-note[data-v-5968a44c]{margin-left:auto;font-size:15px;color:#347eef;font-style:italic;transform:rotate(-4deg);white-space:nowrap}.footer-note b[data-v-5968a44c]{color:#ffbf2e;font-size:26px;margin-left:10px}@media(hover:hover){.practice-card[data-v-5968a44c]:hover{transform:translateY(-4px);box-shadow:0 18px 40px #305e9609}.practice-card:hover .card-art img[data-v-5968a44c]{transform:scale(1.035)}.practice-button[data-v-5968a44c]:hover:not(:disabled){filter:brightness(1.05);box-shadow:0 9px 19px color-mix(in srgb,var(--accent) 28%,transparent)}.practice-button:hover .button-arrow[data-v-5968a44c]{transform:translate(5px)}.small-button[data-v-5968a44c]:hover:not(:disabled){background:var(--tint)}}@media(max-width:1190px){.hero-cheer[data-v-5968a44c]{gap:10px;padding-right:0}.cheer-code[data-v-5968a44c]{font-size:54px}.hero-cheer p[data-v-5968a44c]{font-size:15px}.course-heading h2[data-v-5968a44c]{font-size:30px}.card-body[data-v-5968a44c]{padding:17px}.course-description[data-v-5968a44c]{font-size:14px}.subject-badge[data-v-5968a44c]{padding:5px 8px}}@media(max-width:900px){.card-grid[data-v-5968a44c]{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.selection-hero[data-v-5968a44c]{padding:18px 0 16px}.hero-cheer[data-v-5968a44c]{display:none}.course-card .card-art[data-v-5968a44c]{height:225px}}@media(max-width:600px){.app-container:has(.selection-page){padding:12px 14px 40px}.selection-hero[data-v-5968a44c]{padding:16px 0 14px}.selection-hero[data-v-5968a44c]:before{display:none}.selection-hero h1[data-v-5968a44c]{font-size:32px}.title-spark[data-v-5968a44c]{margin-left:8px}.hero-description[data-v-5968a44c]{font-size:14px}.hero-heading-row[data-v-5968a44c]{gap:12px;align-items:flex-start}.is-course-stage h1[data-v-5968a44c]{font-size:28px}.is-course-stage .title-spark[data-v-5968a44c]{display:none}.subject-switch[data-v-5968a44c]{padding:0;margin-top:3px;background:none;border:0;box-shadow:none}.subject-switch>strong[data-v-5968a44c],.subject-switch>.subject-dot[data-v-5968a44c],.subject-switch>.switch-divider[data-v-5968a44c]{display:none}.subject-switch button[data-v-5968a44c]{padding:9px 11px;font-size:12px;white-space:nowrap}.eyebrow[data-v-5968a44c]{font-size:10px;letter-spacing:4px;margin-bottom:10px}.card-grid[data-v-5968a44c]{grid-template-columns:minmax(0,1fr);gap:19px}.course-card .card-art[data-v-5968a44c]{height:auto;aspect-ratio:1.8}.course-heading h2[data-v-5968a44c]{font-size:32px}.course-card .card-body[data-v-5968a44c]{padding:17px 19px 20px}.course-invitation[data-v-5968a44c]{margin:15px 0}.compact-art[data-v-5968a44c]{height:130px}.paper-search[data-v-5968a44c]{width:100%}.paper-search input[data-v-5968a44c]{width:100%;min-width:0}.assigned-block[data-v-5968a44c]{padding:18px}.assigned-caption[data-v-5968a44c]{display:none}.assignment-list li[data-v-5968a44c]{flex-wrap:wrap;gap:10px}.assignment-info[data-v-5968a44c]{flex:1 0 100%}.assignment-list .small-button[data-v-5968a44c]{margin-left:auto}.encouragement[data-v-5968a44c]{margin:20px 0 0;padding:13px;gap:10px}.encouragement p[data-v-5968a44c]{font-size:12px}.footer-note[data-v-5968a44c]{display:none}.status-note[data-v-5968a44c]{font-size:11px}}:root[data-theme=dark] .selection-page[data-v-5968a44c]{--ink: #e9f1ff;--muted: #aebdd2;--panel: #1c2a40;--soft: #25374f;--line: #32445f}:root[data-theme=dark] .theme-scratch[data-v-5968a44c]{--accent-text: #ffb676;--tint: #493426}:root[data-theme=dark] .theme-python[data-v-5968a44c],:root[data-theme=dark] .theme-general[data-v-5968a44c]{--accent-text: #9ec7ff;--tint: #263e5d}:root[data-theme=dark] .theme-cpp[data-v-5968a44c]{--accent-text: #c9aeff;--tint: #3a2d56}:root[data-theme=dark] .selection-hero[data-v-5968a44c]:before{opacity:.08}:root[data-theme=dark] .card-art img[data-v-5968a44c]{filter:brightness(.88)}:root[data-theme=dark] .assigned-error[data-v-5968a44c],:root[data-theme=dark] .error-notice[data-v-5968a44c]{color:#ffb5a7!important}@keyframes spin-5968a44c{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.selection-page[data-v-5968a44c] *,.selection-page[data-v-5968a44c] *:before,.selection-page[data-v-5968a44c] *:after{animation:none!important;transition:none!important}.practice-card[data-v-5968a44c]:hover,.practice-card:hover .card-art img[data-v-5968a44c],.practice-button[data-v-5968a44c]:active:not(:disabled),.small-button[data-v-5968a44c]:active:not(:disabled){transform:none}}.teacher-weekly-goals[data-v-09577af9]{border-top:1px solid var(--border-color);margin-top:18px;padding-top:12px}form[data-v-09577af9]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}label[data-v-09577af9]{display:flex;flex-direction:column;gap:6px}input[data-v-09577af9],select[data-v-09577af9],button[data-v-09577af9]{padding:10px;border:1px solid var(--border-color);border-radius:8px;background:var(--card-bg);color:var(--text-primary)}button[data-v-09577af9]{cursor:pointer}article[data-v-09577af9]{border:1px solid var(--border-color);border-radius:12px;padding:14px;margin-top:14px}li[data-v-09577af9]{line-height:2}@media(max-width:600px){form[data-v-09577af9]{grid-template-columns:1fr}}.teacher-classroom-page[data-v-985e4e68]{padding:1.2rem}.panel[data-v-985e4e68]{border:1px solid #dcdcdc;border-radius:10px;padding:12px;margin-bottom:12px}.sub-panel[data-v-985e4e68]{margin-top:10px}.inline-form[data-v-985e4e68]{display:flex;gap:8px;margin-top:8px}.error[data-v-985e4e68]{color:#c62828}.top-actions[data-v-985e4e68]{margin-bottom:10px}.link-btn[data-v-985e4e68]{margin:6px 0}.gradebook-page[data-v-ac424a69]{padding:1rem}.page-header[data-v-ac424a69]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.summary-grid[data-v-ac424a69]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-bottom:12px}.summary-card[data-v-ac424a69]{border:1px solid #ddd;border-radius:10px;padding:10px;background:#fff}.summary-card .label[data-v-ac424a69]{color:#555;margin:0;font-size:12px}.summary-card .value[data-v-ac424a69]{font-size:18px;font-weight:700;margin:4px 0 0}.panel[data-v-ac424a69]{border:1px solid #ddd;border-radius:10px;padding:12px;margin-bottom:12px;background:#fff}.error[data-v-ac424a69]{color:#b42318}.chips[data-v-ac424a69]{display:flex;gap:8px;flex-wrap:wrap}.chip[data-v-ac424a69]{border-radius:999px;background:#eef4ff;color:#1d4ed8;padding:4px 10px;font-size:12px}.table-wrap[data-v-ac424a69]{overflow-x:auto}table[data-v-ac424a69]{width:100%;border-collapse:collapse}th[data-v-ac424a69],td[data-v-ac424a69]{border-bottom:1px solid #eee;padding:8px;text-align:left;vertical-align:top}.ghost[data-v-ac424a69]{border:1px solid #ddd;background:transparent;border-radius:8px;padding:6px 10px;cursor:pointer}.ops-page[data-v-6f1f853c]{padding:1rem}.header[data-v-6f1f853c]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.grid[data-v-6f1f853c]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-bottom:12px}.card[data-v-6f1f853c]{border:1px solid #ddd;border-radius:10px;padding:10px;background:#fff}.label[data-v-6f1f853c]{color:#555;margin:0}.value[data-v-6f1f853c]{font-size:20px;font-weight:700;margin:4px 0 0}.error[data-v-6f1f853c]{color:#b42318}.timestamp[data-v-6f1f853c]{color:#666;font-size:12px}.ghost[data-v-6f1f853c]{border:1px solid #ddd;background:transparent;border-radius:8px;padding:6px 10px;cursor:pointer}.app-container:has(.selection-page){box-sizing:border-box;padding:22px clamp(18px,4.5vw,76px) 48px;background:radial-gradient(ellipse at 8% 44%,#e0f2fd 0,transparent 48%),radial-gradient(ellipse at 92% 85%,#e5f5ed 0,transparent 35%),#f1f6fe;min-height:100svh}.selection-page[data-v-b0be20f4]{--ink: #142747;--muted: #5c6e89;--panel: #ffffff;--soft: #eff5fd;--line: #e3ebf6;--accent: #2877ed;--accent-end: #4798ff;--accent-text: #2465c5;--tint: #eaf3ff;width:100%;max-width:1400px;color:var(--ink);margin:0 auto;isolation:isolate;font-family:AlibabaPuHuiTi,Noto Sans TC,Microsoft JhengHei,sans-serif}.selection-page[data-v-b0be20f4] *,.selection-page[data-v-b0be20f4] *:before,.selection-page[data-v-b0be20f4] *:after{box-sizing:border-box}.selection-page button[data-v-b0be20f4],.selection-page input[data-v-b0be20f4]{font:inherit}.selection-page button[data-v-b0be20f4]{cursor:pointer;-webkit-tap-highlight-color:transparent}.selection-page button[data-v-b0be20f4]:focus-visible,.selection-page input[data-v-b0be20f4]:focus-visible{outline:3px solid #327bea;outline-offset:4px}.selection-page button[data-v-b0be20f4]:disabled{cursor:not-allowed;opacity:.62;transform:none}.theme-scratch[data-v-b0be20f4]{--accent: #f87625;--accent-end: #ff9b40;--accent-text: #be4c0a;--tint: #fff1e5}.theme-python[data-v-b0be20f4]{--accent: #2877ed;--accent-end: #4798ff;--accent-text: #2465c5;--tint: #eaf3ff}.theme-cpp[data-v-b0be20f4]{--accent: #7d4ce8;--accent-end: #a177fb;--accent-text: #7242ce;--tint: #f1eaff}.selection-hero[data-v-b0be20f4]{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:0;padding:20px 0 18px;gap:20px}.eyebrow[data-v-b0be20f4]{font-size:12px;color:var(--muted);font-weight:700;letter-spacing:5px;margin:0 0 13px}.eyebrow span[data-v-b0be20f4]{color:#ffbd28;font-size:22px;margin-left:8px}.selection-hero h1[data-v-b0be20f4]{font-size:clamp(28px,2.8vw,40px);line-height:1.24;letter-spacing:1px;margin:0;font-weight:900}.title-spark[data-v-b0be20f4]{display:inline-block;margin-left:14px;color:#ffb521;font-size:.75em;vertical-align:top;transform:rotate(12deg)}.hero-description[data-v-b0be20f4]{margin:12px 0 0;color:var(--muted);font-size:17px;line-height:1.7}.hero-copy[data-v-b0be20f4]{min-width:0;flex:1}.hero-heading-row[data-v-b0be20f4]{display:flex;align-items:center;justify-content:space-between;gap:24px}.selection-heading-row[data-v-b0be20f4]{justify-content:flex-start;flex-wrap:wrap;gap:16px}.selection-heading-row .paper-search[data-v-b0be20f4]{margin-left:auto}.heading-text[data-v-b0be20f4]{min-width:0}.is-course-stage .hero-cheer[data-v-b0be20f4]{display:none}.selection-hero.is-course-stage[data-v-b0be20f4]:before{display:none}.hero-cheer[data-v-b0be20f4]{position:relative;display:flex;align-items:center;gap:20px;padding-right:28px;transform:rotate(-5deg);flex-shrink:0}.cheer-code[data-v-b0be20f4]{font-size:72px;font-weight:900;color:#83b3f0;letter-spacing:-7px;white-space:nowrap;text-shadow:0 5px 0 #dceafd}.cheer-code b[data-v-b0be20f4]{font-size:45px;color:#ffbf3f;display:inline-block;transform:rotate(12deg)}.hero-cheer p[data-v-b0be20f4]{margin:0;color:var(--muted);font-size:18px;line-height:1.85;letter-spacing:2px}.hero-cheer strong[data-v-b0be20f4]{color:var(--ink)}.cheer-star[data-v-b0be20f4]{position:absolute;font-size:35px;top:-15px;right:15px;color:#ffba23}.cheer-orbit[data-v-b0be20f4]{position:absolute;width:25px;height:25px;border:5px solid #c4e0ff;border-radius:50%;bottom:-20px;left:20px}.breadcrumbs[data-v-b0be20f4]{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px;margin-bottom:8px}.breadcrumbs button[data-v-b0be20f4],.subject-switch button[data-v-b0be20f4],.status-note button[data-v-b0be20f4],.text-button[data-v-b0be20f4]{padding:0;border:0;background:none;color:inherit}.breadcrumbs button[data-v-b0be20f4]:hover,.status-note button[data-v-b0be20f4]:hover,.text-button[data-v-b0be20f4]:hover{text-decoration:underline}.subject-switch[data-v-b0be20f4]{display:inline-flex;flex-shrink:0;align-items:center;gap:14px;margin-top:0;padding:8px 12px 8px 18px;background:var(--panel);border:1px solid var(--line);border-radius:30px;box-shadow:0 5px 18px #365b8910}.subject-dot[data-v-b0be20f4]{height:11px;width:11px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px var(--tint)}.switch-divider[data-v-b0be20f4]{width:1px;height:22px;background:var(--line)}.subject-switch button[data-v-b0be20f4]{border-radius:20px;padding:7px 17px;background:var(--panel);color:var(--accent-text);font-size:14px;font-weight:700}.card-grid[data-v-b0be20f4]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.practice-card[data-v-b0be20f4]{min-width:0;display:flex;flex-direction:column;border:0;border-radius:30px;background:linear-gradient(180deg,transparent 38%,color-mix(in srgb,var(--panel) 65%,transparent) 80%,color-mix(in srgb,var(--panel) 30%,transparent));box-shadow:none;overflow:hidden;transition:transform .28s ease,box-shadow .28s ease}.practice-card[data-v-b0be20f4],.assignment-list li[data-v-b0be20f4]:not(.assignment-blocked){cursor:pointer}.practice-card[data-v-b0be20f4]:has(.practice-button:disabled),.assignment-list li[data-v-b0be20f4]:has(button:disabled){cursor:default}.practice-card[data-v-b0be20f4]:focus-within,.assignment-list li[data-v-b0be20f4]:focus-within{box-shadow:0 0 0 3px var(--accent),0 12px 30px #305e961a}.card-art[data-v-b0be20f4]{position:relative;height:clamp(190px,18vw,265px);background:transparent;overflow:hidden}.card-art img[data-v-b0be20f4]{display:block;width:100%;height:100%;object-fit:cover;object-position:center 46%;transition:transform .45s ease;-webkit-mask-image:linear-gradient(to bottom,#000 62%,transparent 100%),linear-gradient(to right,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(to bottom,#000 62%,transparent 100%),linear-gradient(to right,transparent,#000 5%,#000 95%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}.course-card .card-art[data-v-b0be20f4]{height:clamp(215px,20vw,295px)}.course-card .card-body[data-v-b0be20f4]{margin-top:-25px;position:relative}.card-body[data-v-b0be20f4]{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}.course-heading[data-v-b0be20f4]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.course-heading h2[data-v-b0be20f4]{font-size:34px;color:var(--accent-text);font-weight:900;margin:0;letter-spacing:-.5px}.subject-badge[data-v-b0be20f4]{font-size:11px;font-weight:700;color:var(--accent-text);padding:6px 10px;border-radius:20px;background:var(--tint);white-space:nowrap}.course-description[data-v-b0be20f4]{font-size:16px;line-height:1.7;margin:10px 0 0;color:var(--muted)}.course-invitation[data-v-b0be20f4]{background:none;margin:17px 0 22px;padding:0;color:var(--muted);font-size:12px;line-height:1.7}.course-invitation span[data-v-b0be20f4]{color:var(--accent-text);font-size:17px;margin-right:5px}.practice-button[data-v-b0be20f4]{display:flex;justify-content:center;align-items:center;gap:12px;width:100%;min-height:52px;padding:11px 18px;margin-top:auto;border-radius:30px;border:0;background:linear-gradient(110deg,var(--accent-end),var(--accent));color:#fff;font-weight:700!important;font-size:17px!important;box-shadow:0 6px 13px color-mix(in srgb,var(--accent) 18%,transparent);transition:transform .15s,box-shadow .2s,filter .2s}.play-icon[data-v-b0be20f4]{font-size:11px;width:24px;height:24px;display:inline-grid;place-items:center;padding-left:2px;background:#fff;color:var(--accent-text);border-radius:50%}.button-arrow[data-v-b0be20f4]{margin-left:6px;font-family:sans-serif;font-size:23px;transition:transform .2s}.practice-button[data-v-b0be20f4]:active:not(:disabled),.small-button[data-v-b0be20f4]:active:not(:disabled){transform:scale(.96)}.compact-art[data-v-b0be20f4]{height:160px;margin:0;border-radius:26px 26px 0 0}.level-card .card-body[data-v-b0be20f4],.paper-card .card-body[data-v-b0be20f4]{position:relative;margin-top:-16px}.compact-art img[data-v-b0be20f4]{object-position:center 40%}.paper-card .compact-art img[data-v-b0be20f4]{object-position:50% 36%}.card-kicker[data-v-b0be20f4]{color:var(--accent-text);font-size:12px;font-weight:700;margin:0 0 6px}.level-card h2[data-v-b0be20f4]{margin:0 0 8px;font-size:24px}.card-description[data-v-b0be20f4]{font-size:12px;line-height:1.7;color:var(--muted);margin:0}.level-card .practice-button[data-v-b0be20f4]{margin-top:20px}.paper-count[data-v-b0be20f4]{margin:0;font-size:16px;font-weight:700}.paper-count span[data-v-b0be20f4]{margin-left:9px;padding:4px 9px;background:var(--panel);color:var(--muted);border-radius:15px;font-size:12px;font-weight:500}.paper-search[data-v-b0be20f4]{display:flex;align-items:center;gap:10px;padding:9px 15px;border:1px solid var(--line);background:var(--panel);border-radius:13px;color:var(--muted)}.paper-search>span[data-v-b0be20f4]{font-size:24px;line-height:1}.paper-search input[data-v-b0be20f4]{border:0;padding:2px;background:none;color:var(--ink);width:190px;font-size:13px}.paper-search input[data-v-b0be20f4]::placeholder{color:var(--muted)}.paper-card .card-body[data-v-b0be20f4]{padding:16px 18px 18px}.paper-card h2[data-v-b0be20f4]{font-size:17px;line-height:1.65;margin:0 0 10px;overflow-wrap:anywhere}.paper-meta[data-v-b0be20f4]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:15px}.paper-card .practice-button[data-v-b0be20f4]{min-height:43px;font-size:14px!important;padding:8px 15px}.paper-art-label[data-v-b0be20f4]{position:absolute;top:12px;left:14px;padding:5px 10px;border-radius:20px;background:#ffffffd9;color:#23395c;font-size:11px;font-weight:700}.status-badge[data-v-b0be20f4]{display:inline-flex;align-items:center;white-space:nowrap;font-size:11px;font-weight:700;padding:5px 9px;border-radius:20px}.status-badge.complete[data-v-b0be20f4]{color:#167847;background:#e1f7ea}.status-badge.draft[data-v-b0be20f4]{color:#205cbd;background:#e7f0ff}.status-badge.pending[data-v-b0be20f4]{color:#8a570f;background:#fff0cf}.status-note[data-v-b0be20f4]{font-size:12px;color:var(--muted);line-height:1.9;margin:20px 4px}.status-note button[data-v-b0be20f4]{color:var(--accent-text);margin-left:5px;font-weight:700}.assigned-block[data-v-b0be20f4]{margin-top:34px;background:linear-gradient(115deg,color-mix(in srgb,var(--panel) 65%,transparent),transparent);border:0;border-radius:28px;padding:24px}.assigned-heading[data-v-b0be20f4]{display:flex;justify-content:space-between;align-items:center;gap:12px}.assigned-heading h2[data-v-b0be20f4]{font-size:16px;margin:0}.assigned-caption[data-v-b0be20f4]{font-size:12px;color:var(--muted)}.assignment-empty[data-v-b0be20f4]{font-size:13px;color:var(--muted);margin:13px 0 0}.assignment-list[data-v-b0be20f4]{margin:14px 0 0;padding:0;list-style:none}.assignment-list li[data-v-b0be20f4]{display:flex;gap:16px;align-items:center;padding:15px 0;border-top:1px solid color-mix(in srgb,var(--line) 60%,transparent)}.assignment-info[data-v-b0be20f4]{min-width:0;flex:1}.assignment-info h3[data-v-b0be20f4]{margin:4px 0 6px;font-size:14px;overflow-wrap:anywhere}.assignment-info p[data-v-b0be20f4]{font-size:12px;margin:0;color:var(--muted)}.assigned-error[data-v-b0be20f4],.error-notice[data-v-b0be20f4]{color:#b34233!important;font-size:13px;line-height:1.7}.text-button[data-v-b0be20f4]{font-weight:700!important;text-decoration:underline}.small-button[data-v-b0be20f4]{border:0;border-radius:18px;background:var(--soft);color:var(--accent-text);padding:10px 16px;font-size:13px!important;font-weight:700!important;transition:transform .15s,background .2s}.loading-state[data-v-b0be20f4],.empty-state[data-v-b0be20f4]{text-align:center;background:var(--panel);border-radius:24px;padding:54px 24px;color:var(--muted)}.empty-state h2[data-v-b0be20f4]{font-size:21px;color:var(--ink)}.empty-state p[data-v-b0be20f4]{line-height:1.7}.empty-icon[data-v-b0be20f4]{font-size:48px;color:#7cb2f8}.loading-state[data-v-b0be20f4]{display:flex;align-items:center;justify-content:center;gap:14px;min-height:250px}.spinner[data-v-b0be20f4]{display:inline-block;width:19px;height:19px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin-b0be20f4 .8s linear infinite}.art-fallback[data-v-b0be20f4]{display:grid;place-items:center;height:100%;color:var(--accent-text);font-size:64px;font-weight:900}.encouragement[data-v-b0be20f4]{margin:24px 5% 0;display:flex;align-items:center;gap:16px;padding:16px 22px;background:none;border:0;color:var(--muted)}.footer-trophy[data-v-b0be20f4]{font-size:29px}.encouragement p[data-v-b0be20f4]{margin:0;font-size:13px;line-height:1.8}.footer-note[data-v-b0be20f4]{margin-left:auto;font-size:15px;color:#347eef;font-style:italic;transform:rotate(-4deg);white-space:nowrap}.footer-note b[data-v-b0be20f4]{color:#ffbf2e;font-size:26px;margin-left:10px}@media(hover:hover){.practice-card[data-v-b0be20f4]:hover{transform:translateY(-4px);box-shadow:0 18px 40px #305e9609}.practice-card:hover .card-art img[data-v-b0be20f4]{transform:scale(1.035)}.practice-button[data-v-b0be20f4]:hover:not(:disabled){filter:brightness(1.05);box-shadow:0 9px 19px color-mix(in srgb,var(--accent) 28%,transparent)}.practice-button:hover .button-arrow[data-v-b0be20f4]{transform:translate(5px)}.small-button[data-v-b0be20f4]:hover:not(:disabled){background:var(--tint)}}@media(max-width:1190px){.hero-cheer[data-v-b0be20f4]{gap:10px;padding-right:0}.cheer-code[data-v-b0be20f4]{font-size:54px}.hero-cheer p[data-v-b0be20f4]{font-size:15px}.course-heading h2[data-v-b0be20f4]{font-size:30px}.card-body[data-v-b0be20f4]{padding:17px}.course-description[data-v-b0be20f4]{font-size:14px}.subject-badge[data-v-b0be20f4]{padding:5px 8px}}@media(max-width:900px){.card-grid[data-v-b0be20f4]{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.selection-hero[data-v-b0be20f4]{padding:18px 0 16px}.hero-cheer[data-v-b0be20f4]{display:none}.course-card .card-art[data-v-b0be20f4]{height:225px}}@media(max-width:600px){.app-container:has(.selection-page){padding:12px 14px 40px}.selection-hero[data-v-b0be20f4]{padding:16px 0 14px}.selection-hero[data-v-b0be20f4]:before{display:none}.selection-hero h1[data-v-b0be20f4]{font-size:32px}.title-spark[data-v-b0be20f4]{margin-left:8px}.hero-description[data-v-b0be20f4]{font-size:14px}.hero-heading-row[data-v-b0be20f4]{gap:12px;align-items:flex-start}.is-course-stage h1[data-v-b0be20f4]{font-size:28px}.is-course-stage .title-spark[data-v-b0be20f4]{display:none}.subject-switch[data-v-b0be20f4]{padding:0;margin-top:3px;background:none;border:0;box-shadow:none}.subject-switch>strong[data-v-b0be20f4],.subject-switch>.subject-dot[data-v-b0be20f4],.subject-switch>.switch-divider[data-v-b0be20f4]{display:none}.subject-switch button[data-v-b0be20f4]{padding:9px 11px;font-size:12px;white-space:nowrap}.eyebrow[data-v-b0be20f4]{font-size:10px;letter-spacing:4px;margin-bottom:10px}.card-grid[data-v-b0be20f4]{grid-template-columns:minmax(0,1fr);gap:19px}.course-card .card-art[data-v-b0be20f4]{height:auto;aspect-ratio:1.8}.course-heading h2[data-v-b0be20f4]{font-size:32px}.course-card .card-body[data-v-b0be20f4]{padding:17px 19px 20px}.course-invitation[data-v-b0be20f4]{margin:15px 0}.compact-art[data-v-b0be20f4]{height:130px}.paper-search[data-v-b0be20f4]{width:100%}.paper-search input[data-v-b0be20f4]{width:100%;min-width:0}.assigned-block[data-v-b0be20f4]{padding:18px}.assigned-caption[data-v-b0be20f4]{display:none}.assignment-list li[data-v-b0be20f4]{flex-wrap:wrap;gap:10px}.assignment-info[data-v-b0be20f4]{flex:1 0 100%}.assignment-list .small-button[data-v-b0be20f4]{margin-left:auto}.encouragement[data-v-b0be20f4]{margin:20px 0 0;padding:13px;gap:10px}.encouragement p[data-v-b0be20f4]{font-size:12px}.footer-note[data-v-b0be20f4]{display:none}.status-note[data-v-b0be20f4]{font-size:11px}}:root[data-theme=dark] .app-container:has(.selection-page){background:radial-gradient(ellipse at 15% 30%,#1b304b,transparent 60%),#101b2d}:root[data-theme=dark] .selection-page[data-v-b0be20f4]{--ink: #e9f1ff;--muted: #aebdd2;--panel: #1c2a40;--soft: #25374f;--line: #32445f}:root[data-theme=dark] .theme-scratch[data-v-b0be20f4]{--accent-text: #ffb676;--tint: #493426}:root[data-theme=dark] .theme-python[data-v-b0be20f4],:root[data-theme=dark] .theme-general[data-v-b0be20f4]{--accent-text: #9ec7ff;--tint: #263e5d}:root[data-theme=dark] .theme-cpp[data-v-b0be20f4]{--accent-text: #c9aeff;--tint: #3a2d56}:root[data-theme=dark] .selection-hero[data-v-b0be20f4]:before{opacity:.08}:root[data-theme=dark] .card-art img[data-v-b0be20f4]{filter:brightness(.88)}:root[data-theme=dark] .assigned-error[data-v-b0be20f4],:root[data-theme=dark] .error-notice[data-v-b0be20f4]{color:#ffb5a7!important}@keyframes spin-b0be20f4{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.selection-page[data-v-b0be20f4] *,.selection-page[data-v-b0be20f4] *:before,.selection-page[data-v-b0be20f4] *:after{animation:none!important;transition:none!important}.practice-card[data-v-b0be20f4]:hover,.practice-card:hover .card-art img[data-v-b0be20f4],.practice-button[data-v-b0be20f4]:active:not(:disabled),.small-button[data-v-b0be20f4]:active:not(:disabled){transform:none}}.records-hero[data-v-b0be20f4]{padding-bottom:18px}.records-hero[data-v-b0be20f4]:before{left:70%}.records-back[data-v-b0be20f4]{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:13px 22px;color:#2868c7;background:#e4efff;border:0;border-radius:26px;font-size:14px!important;font-weight:700!important;white-space:nowrap;transition:transform .18s,background .18s}.records-back[data-v-b0be20f4]:hover{background:#d9e9ff;transform:translateY(-2px)}.records-back[data-v-b0be20f4]:active{transform:scale(.96)}.records-section-heading[data-v-b0be20f4]{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px}.records-section-heading h2[data-v-b0be20f4]{display:flex;align-items:center;gap:10px;margin:0;font-size:17px}.records-section-heading h2[data-v-b0be20f4] svg{color:#4389ed}.records-section-heading>span[data-v-b0be20f4]{font-size:12px;color:var(--muted)}.records-grid[data-v-b0be20f4]{display:flex;flex-direction:column;gap:15px}.record-card[data-v-b0be20f4]{display:grid;grid-template-columns:136px minmax(200px,1fr) 190px 140px;gap:24px;align-items:center;padding:23px 27px 23px 12px;position:relative;border-radius:28px;background:linear-gradient(105deg,color-mix(in srgb,var(--panel) 20%,transparent),color-mix(in srgb,var(--panel) 82%,transparent) 28%,color-mix(in srgb,var(--panel) 48%,transparent));transition:background .2s,transform .2s;cursor:pointer}.record-card[data-v-b0be20f4]:hover{transform:translateY(-2px);background-color:color-mix(in srgb,var(--panel) 35%,transparent)}.record-card[data-v-b0be20f4]:focus-within{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:3px}.record-card.loading[data-v-b0be20f4]{opacity:.75}.record-thumb[data-v-b0be20f4]{display:flex;align-items:center;justify-content:center;height:112px;overflow:hidden;border-radius:26px}.record-thumb img[data-v-b0be20f4]{width:100%;height:100%;object-fit:cover;-webkit-mask-image:radial-gradient(ellipse 68% 67% at center,#000 48%,transparent 80%);mask-image:radial-gradient(ellipse 68% 67% at center,#000 48%,transparent 80%)}.record-thumb[data-v-b0be20f4] svg{width:58px;height:58px;color:var(--accent-text)}.record-main[data-v-b0be20f4]{min-width:0}.record-labels[data-v-b0be20f4]{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-bottom:9px}.record-subject[data-v-b0be20f4]{color:var(--accent-text);font-size:12px;font-weight:700}.review-kind[data-v-b0be20f4]{font-size:11px;color:var(--muted)}.paper-name[data-v-b0be20f4]{font-size:17px;line-height:1.6;margin:0 0 7px;overflow-wrap:anywhere}.record-date[data-v-b0be20f4]{display:flex;gap:6px;align-items:center;color:var(--muted);font-size:11px;margin:0 0 7px}.record-date[data-v-b0be20f4] svg{width:15px;height:15px}.wrong-summary[data-v-b0be20f4]{font-size:12px;color:var(--muted);margin:0;line-height:1.8}.incomplete-note[data-v-b0be20f4]{font-size:11px;color:var(--muted);margin:5px 0 0;line-height:1.8}.record-metrics[data-v-b0be20f4]{display:flex;justify-content:space-around;gap:20px}.detail-item[data-v-b0be20f4]{display:flex;flex-direction:column;gap:7px}.detail-item .label[data-v-b0be20f4]{color:var(--muted);font-size:11px}.value[data-v-b0be20f4]{font-size:25px;font-weight:800;white-space:nowrap}.value small[data-v-b0be20f4]{font-size:12px;font-weight:500;color:var(--muted)}.value.score[data-v-b0be20f4]{color:var(--accent-text)}.value.accuracy[data-v-b0be20f4]{color:#21815b}.accuracy-pending[data-v-b0be20f4]{color:var(--muted);font-size:16px;margin-top:3px}.record-actions[data-v-b0be20f4]{display:flex;flex-direction:column;align-items:stretch;gap:9px}.playback-button[data-v-b0be20f4],.review-button[data-v-b0be20f4]{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:22px;padding:10px 13px;font-size:13px!important;font-weight:700!important;white-space:nowrap;transition:transform .16s,background .16s}.playback-button[data-v-b0be20f4]{color:var(--accent-text);background:var(--tint)}.review-button[data-v-b0be20f4]{color:var(--muted);background:transparent}.record-actions[data-v-b0be20f4] svg{width:20px;height:20px}.playback-button[data-v-b0be20f4]:hover:not(:disabled),.review-button[data-v-b0be20f4]:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 16%,var(--panel))}.playback-button[data-v-b0be20f4]:active:not(:disabled),.review-button[data-v-b0be20f4]:active:not(:disabled){transform:scale(.96)}.review-button[data-v-b0be20f4]:disabled{opacity:.4}.review-owner-hint[data-v-b0be20f4]{color:var(--muted);font-size:11px;line-height:1.6;text-align:center}.loading-mask[data-v-b0be20f4]{position:absolute;inset:0;display:grid;place-items:center;background:color-mix(in srgb,var(--panel) 85%,transparent);border-radius:inherit;color:var(--accent-text);font-size:14px}.records-notice[data-v-b0be20f4]{display:flex;align-items:center;justify-content:center;gap:14px;padding:20px;color:var(--muted);font-size:14px}.records-notice p[data-v-b0be20f4]{font-size:12px;margin-bottom:0}.no-records[data-v-b0be20f4]{padding:42px 18px 60px;text-align:center}.empty-record-art[data-v-b0be20f4]{width:130px;height:130px;display:grid;place-items:center;margin:0 auto 20px;position:relative;background:radial-gradient(circle,#dcecff,transparent 70%)}.empty-record-art[data-v-b0be20f4] svg{width:76px;height:76px;color:#5994e1;transform:rotate(-9deg)}.empty-record-art>span[data-v-b0be20f4]{position:absolute;right:0;top:8px;color:#ffc347;font-size:32px}.no-records h2[data-v-b0be20f4]{font-size:23px;margin:0 0 10px}.no-records p[data-v-b0be20f4]{color:var(--muted);font-size:14px;line-height:1.9;margin:0 0 24px}.pagination[data-v-b0be20f4]{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:18px;margin-top:30px}.pagination>span[data-v-b0be20f4]{font-size:12px;color:var(--muted)}:root[data-theme=dark] .records-back[data-v-b0be20f4]{background:#253e5e;color:#b3d4ff}:root[data-theme=dark] .records-back[data-v-b0be20f4]:hover{background:#314e73}:root[data-theme=dark] .value.accuracy[data-v-b0be20f4]{color:#88d8b8}@media(max-width:1100px){.record-card[data-v-b0be20f4]{grid-template-columns:95px minmax(180px,1fr) 155px 125px;gap:16px;padding-right:20px}.record-thumb[data-v-b0be20f4]{height:98px}.record-metrics[data-v-b0be20f4]{gap:12px}.value[data-v-b0be20f4]{font-size:23px}}@media(max-width:850px){.record-card[data-v-b0be20f4]{grid-template-columns:78px minmax(0,1fr) 155px;gap:12px 16px;padding:20px}.record-actions[data-v-b0be20f4]{grid-column:2 / -1;flex-direction:row;justify-content:flex-end}.record-actions button[data-v-b0be20f4]{min-width:130px}.paper-name[data-v-b0be20f4]{font-size:16px}}@media(max-width:600px){.records-hero h1[data-v-b0be20f4]{font-size:28px}.records-hero .title-spark[data-v-b0be20f4]{display:none}.records-hero .eyebrow[data-v-b0be20f4]{letter-spacing:2px;font-size:9px}.records-back[data-v-b0be20f4]{padding:10px 12px;gap:5px;font-size:12px!important;margin-top:2px}.records-back[data-v-b0be20f4] svg{width:18px;height:18px}.records-section-heading[data-v-b0be20f4]{margin:5px 0 14px}.records-section-heading h2[data-v-b0be20f4]{font-size:15px}.record-card[data-v-b0be20f4]{grid-template-columns:58px minmax(0,1fr);gap:12px 10px;padding:18px 14px;border-radius:24px}.record-thumb[data-v-b0be20f4]{height:70px;align-self:start}.record-labels[data-v-b0be20f4]{gap:6px}.paper-name[data-v-b0be20f4]{font-size:15px}.record-metrics[data-v-b0be20f4]{grid-column:1 / -1;justify-content:flex-start;padding-left:68px;gap:34px}.value[data-v-b0be20f4]{font-size:24px}.record-actions[data-v-b0be20f4]{grid-column:1 / -1;justify-content:flex-start;padding-left:0}.record-actions button[data-v-b0be20f4]{min-width:0;flex:1}.pagination[data-v-b0be20f4]{gap:12px}}.wrong-toolbar[data-v-b0be20f4]{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 24px}.wrong-caption[data-v-b0be20f4]{margin:9px 0 0;color:var(--muted);font-size:12px;line-height:1.7}.wrong-filters[data-v-b0be20f4]{display:flex;flex-wrap:wrap;gap:8px}.filter-button[data-v-b0be20f4]{display:flex;align-items:center;gap:7px;padding:10px 15px;border:0;border-radius:24px;background:transparent;color:var(--muted);font-size:13px!important;transition:background .18s,transform .18s}.filter-button[aria-pressed=true][data-v-b0be20f4],.filter-button[data-v-b0be20f4]:hover{background:var(--tint);color:var(--accent-text)}.filter-button[aria-pressed=true][data-v-b0be20f4]{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent);font-weight:700}.filter-button[data-v-b0be20f4]:active{transform:scale(.96)}.filter-dot[data-v-b0be20f4]{width:7px;height:7px;border-radius:50%;background:var(--accent)}.wrong-card .practice-button[data-v-b0be20f4] svg{width:23px;height:23px}.wrong-card .art-fallback[data-v-b0be20f4] svg{width:65px;height:65px}.wrong-notice[data-v-b0be20f4]{min-height:230px;flex-wrap:wrap}@media(max-width:850px){.wrong-toolbar[data-v-b0be20f4]{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.wrong-page .selection-hero h1[data-v-b0be20f4]{font-size:27px}.wrong-toolbar[data-v-b0be20f4]{margin:0 0 19px;gap:14px}.wrong-filters[data-v-b0be20f4]{gap:3px}.filter-button[data-v-b0be20f4]{padding:9px 10px;font-size:12px!important;gap:5px}}
