.achievement-summary{justify-content:space-between;align-items:center;gap:1rem;padding:1.4rem 0;display:flex}.achievement-summary h2,.achievement-summary p{margin:0 0 .4rem}.achievement-overview{flex-wrap:wrap;align-items:baseline;gap:.75rem;padding:.5rem 0 .75rem;display:flex}.achievement-overview strong{letter-spacing:-.04em;font-size:2.2rem;font-weight:650}.achievement-overview p{color:var(--p05-muted);flex-basis:100%;margin:0}.achievement-list{margin:1rem 0;padding:0;list-style:none}.achievement-item{border-top:1px solid var(--p05-border);align-items:flex-start;gap:1.5rem;padding:1.25rem 0;display:flex}.achievement-emblem{height:3.25rem;color:var(--p05-muted);border:1px solid;border-radius:50%;flex:0 0 3.25rem;place-items:center;font-size:1.25rem;display:grid}.achievement-item[data-unlocked=true] .achievement-emblem{color:var(--p05-accent);border-width:2px}.achievement-body{flex:1;min-width:0}.achievement-title{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.achievement-title h2{margin:0;font-size:1.4rem}.achievement-state,.achievement-source-state,.achievement-date,.achievement-note{color:var(--p05-muted)}.achievement-body>p{margin:.75rem 0 1rem;line-height:1.7}.achievement-requirements{gap:.85rem;padding:0;list-style:none;display:grid}.achievement-requirements li{flex-wrap:wrap;align-items:baseline;gap:.4rem .9rem;display:flex}.achievement-source-state{flex:0 0 3.5rem;font-size:.85rem}.achievement-requirements a{text-underline-offset:3px;overflow-wrap:anywhere;text-decoration:underline}.achievement-requirements time{color:var(--p05-muted);font-size:.85rem}.achievement-note{max-width:65ch;line-height:1.7}.observation-confirm{border-top:1px solid var(--p05-border);margin:1.25rem 0;padding:1.25rem 0}.observation-confirm h2{margin:0 0 .65rem;font-size:1.2rem}@media (width<=600px){.achievement-item{gap:.9rem;padding:1.5rem 0}.achievement-emblem{flex-basis:2.5rem;height:2.5rem;font-size:1rem}.achievement-title{display:block}.achievement-state{margin-top:.5rem;display:block}.achievement-summary{flex-direction:column;align-items:flex-start}}.review-summary{background:var(--p05-surface);border:1px solid var(--p05-border);border-radius:22px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:0;padding:20px 24px;display:flex}.review-summary h2,.review-summary p{margin:0}.review-layout{grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);align-items:start;gap:24px;display:grid}.review-page{min-width:0}.review-page p,.review-detail h2{overflow-wrap:anywhere}.review-counts,.review-date,.review-detail{font-variant-numeric:tabular-nums}.review-group+.review-group{margin-top:24px}.review-group ul{margin:0;padding:0;list-style:none}.review-select{text-align:left;width:100%;min-height:64px;color:var(--p05-ink);background:0 0;border:1px solid #0000;border-radius:8px;gap:4px;padding:12px;display:grid}.review-select[aria-pressed=true]{background:var(--p05-raised);border-color:var(--p05-border)}.review-select small{color:var(--p05-muted)}.review-ratings{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0;display:grid}.review-ratings button{gap:4px;min-height:64px;display:grid}.review-correction{border-top:1px solid var(--p05-border);margin:24px 0;padding-top:20px}.review-correction label{gap:8px;margin-bottom:12px;display:grid}.review-correction select{width:100%;min-height:44px;color:var(--p05-ink);background:var(--p05-surface);border:1px solid var(--p05-border);border-radius:8px;padding:8px}.review-detail .text-link{min-height:44px}.review-rule{margin-top:24px}.review-rule summary{cursor:pointer;min-height:44px}@media (width<=900px){.review-layout{grid-template-columns:minmax(0,1fr)}.review-summary{flex-direction:column;align-items:start;gap:8px}}.review-summary{grid-column:1/-1}.p05-app .review-detail .review-back{display:none}@media (width<=900px){.review-layout[data-mobile-detail=false] .review-detail,.review-layout[data-mobile-detail=true]>section:first-child{display:none}.p05-app .review-detail .review-back{display:inline-flex}}.daily-goal-summary h3,.goal-settings h3{margin:16px 0;font-size:18px}.goal-date,.goal-count{font-variant-numeric:tabular-nums}.goal-progress-list{margin:16px 0;padding:0;list-style:none}.goal-progress-list li{grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;margin-block:14px;display:grid}.goal-progress-list progress{width:100%;height:8px;accent-color:var(--green);grid-column:1/-1}.goal-count{text-align:right}.goal-settings{margin-top:28px}.goal-settings fieldset{border:0;min-width:0;margin:20px 0;padding:0}.goal-settings legend{margin-bottom:16px}.goal-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px;display:grid}.goal-fields label{gap:8px;display:grid}.goal-fields input{border:1px solid var(--line);width:100%;min-width:0;min-height:44px;font:inherit;font-variant-numeric:tabular-nums;color:var(--text-tone,#23372f);background:var(--surface-tone,#fff);border-radius:6px;padding:8px 12px}.goal-fields input:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.goal-fields .muted{font-size:12px;line-height:1.6}.goal-history-list li{gap:6px;padding-block:14px;display:grid}@media (width<=540px){.goal-fields{grid-template-columns:1fr}}.profile-summary{margin-block:8px 24px}.profile-identity{align-items:center;gap:20px;display:flex}.profile-avatar{width:76px;height:76px;color:var(--ink);background:var(--surface-tone,#f1f4ed);border-radius:12px;flex:none;place-items:center;display:grid}.profile-avatar svg{width:48px;height:48px;display:block}.profile-avatar-unavailable{text-align:center;border:1px solid var(--line);font-size:12px;line-height:1.5}.profile-identity-copy{min-width:0}.profile-level{font-variant-numeric:tabular-nums;margin-bottom:8px;font-size:20px;font-weight:600}.profile-level-progress{font-variant-numeric:tabular-nums;margin-top:20px}.profile-level-progress progress{width:100%;height:8px;accent-color:var(--green)}.profile-level-progress p{margin-block:8px}.profile-level-progress .muted{font-size:12px}.profile-retry{font:inherit;background:0 0;border:0;margin-top:14px;padding:0}.avatar-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.avatar-options label{border:1px solid var(--line);cursor:pointer;border-radius:8px;justify-items:center;gap:8px;min-width:0;padding:12px 8px;display:grid}.avatar-options label:has(input:checked){border-color:var(--ink)}.avatar-options label:focus-within{outline:3px solid var(--focus);outline-offset:3px}.avatar-options .profile-avatar{background:0 0;width:52px;height:52px}.avatar-options .profile-avatar svg{width:36px;height:36px}.avatar-options input{accent-color:var(--green);margin:0}.avatar-choice-group{border:0;min-width:0;margin:0;padding:0}.avatar-choice-group legend{margin-bottom:14px}.profile-avatar-standalone{margin-bottom:18px}@media (width<=540px){.avatar-options{grid-template-columns:repeat(2,minmax(0,1fr))}}.reward-rules{background:var(--surface-tone,#f1f5f4);color:var(--text-tone,#23372f);margin-bottom:24px;padding:16px}.reward-rules h3{margin:0 0 12px;font-size:18px}.reward-rules p{line-height:1.6}.reward-entry-value{font-variant-numeric:tabular-nums;justify-self:end}.reward-ledger{margin-block:20px;padding:0;list-style:none}.reward-ledger li{grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;padding-block:14px;display:grid}.reward-ledger li strong{grid-area:1/1}.reward-ledger li>span:nth-child(2){grid-area:2/1}.reward-ledger .reward-entry-value{grid-area:1/2}.reward-ledger li>.muted{grid-area:2/2;justify-self:end}[data-page-id=PAGE-01] .metric-value{font-variant-numeric:tabular-nums}.case-view-confirmation{background:var(--surface-tone,#f1f5f4);margin-top:20px;padding:16px}.case-view-confirmation h3{margin-top:0;font-size:18px}.case-view-confirmation p{line-height:1.6}@media (width<=640px){.reward-entry-value{justify-self:start}}@media (width<=480px){.reward-ledger li{grid-template-columns:minmax(0,1fr)}.reward-ledger li strong,.reward-ledger li>span:nth-child(2),.reward-ledger .reward-entry-value,.reward-ledger li>.muted{grid-area:auto/1;justify-self:start}}:root{color:var(--text-tone,#23372f);background:var(--surface-tone,#f5f6f0);font-synthesis:none;text-rendering:optimizelegibility;--ink:#23372f;--muted:#657169;--green:#315d49;--green-dark:#193e31;--line:#dce2d9;--lime:#eaf1d5;--amber:#855814;--focus:#b56b19;--radius:14px;font-family:Microsoft YaHei,PingFang SC,system-ui,sans-serif;font-size:15px}*{box-sizing:border-box}body{min-width:320px;margin:0;line-height:1.65}.nav-group{gap:3px;display:grid}.nav-group+.nav-group{margin-top:16px}.nav-group-label{color:var(--p05-muted,var(--muted));margin:6px 14px;font-size:12px}[data-sidebar=collapsed] .nav-group-label{display:none}h1[tabindex="-1"]:focus{outline:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled,input:disabled,select:disabled{cursor:not-allowed}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.45}svg{flex-shrink:0}::selection{color:var(--text-tone,#183e2f);background:var(--surface-tone,#dcebb3)}.screen-reader-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;color:var(--green-dark);background:var(--surface-tone,#fff);border:2px solid var(--green);border-radius:8px;padding:10px 18px;position:fixed;top:12px;left:12px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.app-shell{grid-template-columns:216px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#e6eee5;background:var(--green-dark);flex-direction:column;width:216px;height:100vh;padding:29px 18px 24px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:11px;margin-bottom:12px;padding:0 9px;display:flex}.brand-mark{color:#cfe6a4;background:#2d5441;border:1px solid #456751;border-radius:11px;flex:0 0 38px;place-items:center;width:38px;height:40px;font:700 19px ui-monospace,monospace;display:grid}.brand-text{letter-spacing:.025em;font-size:17px;font-weight:700;line-height:1.5}.brand-text small{color:#c0d0bf;letter-spacing:0;font-size:10px;font-weight:400;display:block}.sidebar-note{color:#c2d1bf;margin:0 9px 29px;font-size:11px;line-height:1.9}.sidebar nav{gap:8px;display:grid}.nav-link{color:#d6e2d5;border:1px solid #0000;border-radius:9px;align-items:center;gap:12px;min-height:47px;padding:10px 14px;font-size:14px;transition:background-color .15s,color .15s;display:flex}.nav-link svg{width:19px;height:19px}.nav-link:hover{color:#fff;background:#2a5140}.nav-link.active,.nav-link[aria-current=page]{color:#193e31;background:#dfedc3;border-color:#dfedc3;font-weight:700}.sidebar-footer{color:#c2d1bf;margin-top:auto;padding:26px 9px 0;font-size:11px;line-height:1.9}.sidebar-footer>svg{color:#cee2aa;width:22px;height:22px;margin-bottom:7px}.sidebar-footer strong{color:#e6efd9;font-size:12px;display:block}.sidebar-footer p{margin:8px 0 13px}.sidebar-footer a{color:#e1edcf;align-items:center;gap:6px;display:inline-flex}.sidebar-footer a:hover{text-underline-offset:4px;text-decoration:underline}.sidebar-footer a svg{width:13px;height:13px}.app-content{min-width:0}.topbar{background:var(--surface-tone,#fafbf6);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;min-height:76px;padding:18px 36px;display:flex}.topbar-title{margin:0;font-size:14px;font-weight:600}.local-note{color:var(--muted);flex-wrap:wrap;align-items:center;gap:18px;font-size:12px;display:flex}.local-note a{align-items:center;gap:7px;display:inline-flex}.local-note a:hover{color:var(--green);text-underline-offset:4px;text-decoration:underline}.local-note svg{width:15px;height:15px}.preview-badge,.badge{width:fit-content;color:var(--text-tone,#315d49);background:var(--surface-tone,#eaf1df);border:1px solid var(--border-tone,#d8e3ce);border-radius:6px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:600;line-height:1.55;display:inline-flex}.main-content{width:min(100%,1280px);min-width:0;margin:0 auto;padding:30px 36px 48px}.page-heading{margin-bottom:27px}.page-kicker{color:var(--text-tone,#657c5c);letter-spacing:.11em;margin-bottom:7px;font-size:11px;font-weight:700}.page-title{letter-spacing:-.04em;margin-bottom:8px;font-size:clamp(25px,2.2vw,32px);font-weight:700}.page-title[tabindex="-1"]:focus{outline:none}.page-description{max-width:780px;color:var(--muted);margin-bottom:0;font-size:14px;line-height:1.8}.breadcrumbs{color:var(--muted);margin:0 0 18px;font-size:12px}.breadcrumbs ol{flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs li{align-items:center;gap:8px;display:flex}.breadcrumbs svg{width:12px;height:12px;color:var(--text-tone,#8a9883)}.breadcrumbs a:hover,.text-link:hover,.card-link:hover{text-underline-offset:4px;text-decoration:underline}.button{min-height:43px;color:var(--text-tone,#365440);background:var(--surface-tone,#fff);border:1px solid var(--border-tone,#cfd9ca);text-align:center;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 17px;font-size:13px;font-weight:600;line-height:1.5;transition:background-color .15s,border-color .15s;display:inline-flex}.button svg{width:16px;height:16px}.button-primary{color:#fff;background:var(--green);border-color:var(--green)}.button-primary:hover:not(:disabled){border-color:var(--border-tone,#254c3b);background:#254c3b}.button-secondary:hover:not(:disabled){background:var(--surface-tone,#f0f4e8);border-color:var(--border-tone,#9caf91)}.button-small{min-height:35px;padding:7px 12px;font-size:12px}.button:disabled{color:var(--text-tone,#748076);background:var(--surface-tone,#edf0e9);border-color:var(--border-tone,#dce2d6)}.text-link,.card-link{color:var(--text-tone,#315d49);align-items:center;gap:7px;font-size:13px;font-weight:600;display:inline-flex}.text-link svg,.card-link svg{width:15px;height:15px}.hero{background:var(--surface-tone,#eaf0dd);border:1px solid var(--border-tone,#d5e0c7);border-radius:17px;grid-template-columns:minmax(0,1.35fr) minmax(260px,.8fr);align-items:center;gap:32px;min-height:286px;margin-bottom:24px;padding:32px 36px;display:grid}.hero-copy{min-width:0}.hero-copy .page-heading{margin-bottom:0}.hero-copy .page-title{letter-spacing:-.045em;margin-bottom:14px;font-size:clamp(25px,2.65vw,36px);line-height:1.45}.hero-copy .page-description{color:var(--text-tone,#607055);font-size:13px;line-height:1.9}.hero-copy>.hero-label{margin:18px 0 0;font-size:11px;font-weight:400}.hero-visual{background:var(--surface-tone,#f6f9ee);border:1px solid var(--border-tone,#d2ddc6);border-radius:12px;padding:20px 23px}.hero-label{color:var(--text-tone,#67785c);letter-spacing:.03em;margin-bottom:17px;font-size:11px;font-weight:600;display:block}.hero-step{color:var(--text-tone,#345943);background:var(--surface-tone,#e6edd6);border:1px solid var(--border-tone,#d2dcc4);border-radius:7px;align-items:center;gap:10px;padding:10px 12px;font-size:12px;font-weight:600;display:flex;position:relative}.hero-step+.hero-step{margin-top:10px}.hero-step>span:first-child{color:var(--text-tone,#547744);font:600 11px ui-monospace,monospace}.hero-step svg{width:15px;height:15px}.hero-step strong{font-weight:600}.hero-step-line{background:#a7b69b;width:1px;height:11px;position:absolute;top:100%;left:23px}.home-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,1fr);gap:24px;display:grid}.course-grid+.home-grid{margin-top:24px}.card,.chapter-card,.section-card,.case-card,.settings-panel{background:var(--surface-tone,#fff);border:1px solid var(--line);border-radius:var(--radius);min-width:0;padding:24px}.card-header,.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.card-title,.section-heading h2{margin-bottom:0;font-size:17px;font-weight:700}.card-header>svg{width:20px;height:20px;color:var(--text-tone,#688153)}.muted{color:var(--muted);font-size:13px;line-height:1.8}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:4px 0 20px;display:grid}.metric{background:var(--surface-tone,#f6f7f2);border:1px solid var(--border-tone,#e4e8de);text-align:center;border-radius:9px;padding:15px 12px}.metric-value{color:var(--text-tone,#305941);margin-bottom:4px;font-size:25px;font-weight:700;line-height:1.35;display:block}.metric-label{color:var(--muted);font-size:11px}.course-teaser{flex-direction:column;align-items:flex-start;padding:23px;display:flex}.course-teaser:hover{background:var(--surface-tone,#fcfdf8);border-color:var(--border-tone,#b1c69f)}.course-teaser h3{margin:17px 0 7px;font-size:16px}.course-teaser p{margin-bottom:17px}.course-teaser .card-link{margin-top:auto}.course-symbol,.case-icon{width:42px;height:42px;color:var(--text-tone,#456244);background:var(--surface-tone,#edf2e3);border:1px solid var(--border-tone,#e1e8d5);border-radius:10px;flex:0 0 42px;place-items:center;font:600 17px ui-monospace,monospace;display:grid}.badge-muted{color:var(--text-tone,#667367);background:var(--surface-tone,#f2f4ee);border-color:var(--border-tone,#e2e7db)}.badge-amber{color:var(--amber);background:var(--surface-tone,#fff3d8);border-color:var(--border-tone,#ecdfbe)}.section-heading{margin-top:28px}.section-heading .page-kicker{margin-bottom:4px}.course-grid,.case-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.chapter-number{color:var(--text-tone,#637d52);letter-spacing:.03em;font:600 17px ui-monospace,monospace;display:block}.chapter-card h2,.case-card h2,.case-card h3{margin-bottom:9px;font-size:18px}.chapter-card>p{min-height:48px;margin-bottom:22px}.lesson-list{gap:9px;margin:0;padding:0;list-style:none;display:grid}.lesson-link{background:var(--surface-tone,#f6f8f2);border:1px solid var(--border-tone,#e5eadd);border-radius:8px;align-items:center;gap:10px;min-height:72px;padding:12px;display:flex}.lesson-link:hover{background:var(--surface-tone,#edf3e3);border-color:var(--border-tone,#bfd0ae)}.lesson-link>svg{width:13px;height:13px;color:var(--text-tone,#6c8261);margin-left:auto}.lesson-order{color:var(--text-tone,#637e55);flex:0 0 15px;font:600 12px ui-monospace,monospace}.lesson-copy{min-width:0}.lesson-title{margin-bottom:3px;font-size:13px;font-weight:600;display:block}.lesson-status{color:var(--muted);font-size:11px;display:block}.lesson-layout{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:24px;display:grid}.lesson-main{gap:20px;min-width:0;display:grid}.lesson-aside{gap:18px;display:grid}.section-card h2{margin-bottom:14px;font-size:17px}.section-label{color:var(--text-tone,#647c54);letter-spacing:.06em;margin-bottom:8px;font-size:11px;font-weight:600;display:block}.pending-lines{color:var(--muted);gap:9px;margin:20px 0;font-size:13px;display:grid}.pending-lines span{background:var(--surface-tone,#f7f9f3);border:1px dashed var(--border-tone,#d9e1cf);border-radius:7px;padding:11px 14px}.inline-actions,.state-actions{flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:20px;display:flex}.case-card{flex-direction:column;align-items:flex-start;display:flex}.case-icon{margin-bottom:18px}.case-icon svg{width:22px;height:22px}.case-card .muted,.case-card .badge{margin-bottom:18px}.case-card .card-link{margin-top:auto}.case-card .notice{margin:0 0 16px}.workbench-header{background:var(--surface-tone,#edf2e5);border-color:var(--border-tone,#d7e0cc);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px 24px;margin-bottom:20px;padding:16px 20px;display:flex}.workbench-header .muted{margin-bottom:0;font-size:12px}.workbench-header .inline-actions{margin-top:0}.workbench-header .section-label{margin-bottom:5px}.workbench-caption{color:var(--muted);margin-bottom:0;font-size:11px;line-height:1.85}.workbench-layout,.visualization-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:20px;display:grid}.workbench-layout+.section-card{margin-top:20px}.workbench-panel{background:var(--surface-tone,#fff);border:1px solid var(--line);border-radius:12px;flex-direction:column;min-width:0;min-height:430px;display:flex;overflow:hidden}.panel-heading{background:var(--surface-tone,#fff);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:9px;min-height:60px;padding:15px 18px;display:flex}.panel-title{align-items:center;gap:8px;margin:0;font-size:14px;font-weight:600;display:inline-flex}.panel-title svg{width:17px;height:17px;color:var(--text-tone,#618251)}.panel-body{flex-direction:column;flex:1;min-width:0;padding:20px;display:flex}.workspace-empty,.trace-empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:11px;min-height:310px;padding:32px 24px;display:flex}.dot-grid{background-color:var(--surface-tone,#f8faf4);background-image:radial-gradient(#d8e0ce 1px,#0000 1px);background-size:18px 18px}.empty-icon{width:48px;height:48px;color:var(--text-tone,#658356);background:var(--surface-tone,#edf3e3);border:1px solid var(--border-tone,#d9e4cc);border-radius:12px;place-items:center;margin-bottom:3px;display:grid}.empty-icon svg{width:25px;height:25px}.code-pane{background:var(--surface-tone,#f7f9f3)}.code-toolbar{min-height:41px;color:var(--text-tone,#697767);background:var(--surface-tone,#f1f4ea);border-bottom:1px solid var(--border-tone,#e1e7d8);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:9px 16px;font:11px ui-monospace,Microsoft YaHei,monospace;display:flex}.code-body{flex-direction:row;align-items:stretch;padding:0}.code-area{width:100%;min-width:0;min-height:300px;color:var(--text-tone,#344b3b);background:var(--surface-tone,#f7f9f3);resize:vertical;tab-size:4;white-space:pre;border:0;border-radius:0;flex:1;margin:0;padding:19px 17px;font:13px/1.95 Cascadia Code,Consolas,ui-monospace,Microsoft YaHei,monospace;display:block;overflow:auto}.code-area::placeholder{color:var(--text-tone,#728269);opacity:1;white-space:normal}.code-area:focus-visible{outline-offset:-4px}.code-gutter{color:var(--text-tone,#7b8a76);background:var(--surface-tone,#eff3e8);border-right:1px solid var(--border-tone,#e0e6d6);text-align:right;-webkit-user-select:none;user-select:none;flex:0 0 35px;padding:19px 8px;font:13px/1.95 Consolas,ui-monospace,monospace}.workbench-panel>.workbench-caption{background:var(--surface-tone,#fff);border-top:1px solid var(--line);padding:13px 17px}.visualization-layout{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)}.trace-stage{background:var(--surface-tone,#fafbf7)}.trace-panels{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.trace-panel{background:var(--surface-tone,#fff);border:1px solid var(--line);border-radius:9px;min-width:0;min-height:87px;padding:13px 15px}.trace-panel h2{margin-bottom:6px;font-size:12px}.trace-panel p{color:var(--muted);margin-bottom:0;font-size:12px}.player-controls{background:var(--surface-tone,#fff);border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:15px 18px;display:flex}.control-group{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.player-controls select{min-height:34px;color:var(--text-tone,#52654a);background:var(--surface-tone,#f5f7f0);border:1px solid var(--border-tone,#d6dfcd);border-radius:6px;padding:5px 9px;font-size:12px}.state-panel{background:var(--surface-tone,#fff);border:1px solid var(--line);border-radius:11px;align-items:flex-start;gap:17px;margin:20px 0;padding:23px;display:flex}.state-icon{width:39px;height:39px;color:var(--text-tone,#527346);background:var(--surface-tone,#edf3e3);border:1px solid var(--border-tone,#dce6d0);border-radius:10px;flex:0 0 39px;place-items:center;display:grid}.state-icon svg{width:20px;height:20px}.state-copy{min-width:0}.state-title{margin-bottom:7px;font-size:15px;font-weight:600}.state-description{max-width:700px;color:var(--muted);margin-bottom:0;font-size:13px;line-height:1.85}.state-actions{margin-top:13px}.state-loading{background:var(--surface-tone,#f4f7ec);border-style:dashed;border-color:var(--border-tone,#9eaf8b)}.state-empty{background:var(--surface-tone,#fafbf7)}.state-error{background:var(--surface-tone,#fff8ea);border-color:var(--border-tone,#e2c998)}.state-error .state-icon{color:var(--text-tone,#855814);background:var(--surface-tone,#ffefcc);border-color:var(--border-tone,#e9d5a8)}.state-error .state-title{color:var(--text-tone,#7a551f)}.workspace-empty .state-panel,.trace-empty .state-panel{background:0 0;border:0;max-width:340px;margin:0;padding:0}.workspace-empty .state-icon,.trace-empty .state-icon{display:none}.workspace-empty .state-title,.trace-empty .state-title{font-size:15px}.workspace-empty .state-description,.trace-empty .state-description{font-size:12px}.card>.state-panel{padding:18px}.settings-layout{grid-template-columns:200px minmax(0,1fr);align-items:start;gap:24px;display:grid}.settings-nav{background:var(--surface-tone,#fff);border:1px solid var(--line);border-radius:10px;gap:6px;padding:10px;display:grid}.settings-tab{width:100%;color:var(--text-tone,#5d6f55);text-align:left;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:space-between;align-items:center;gap:12px;padding:12px 13px;font-size:13px;display:flex}.settings-tab svg{width:13px;height:13px}.settings-tab:hover{background:var(--surface-tone,#f4f7ec)}.settings-tab.active,.settings-tab[aria-selected=true],.settings-tab[aria-current=page]{color:var(--text-tone,#315d49);background:var(--surface-tone,#edf3e1);border-color:var(--border-tone,#dbe5cc);font-weight:700}.settings-panel h2{margin-bottom:17px;font-size:18px}.settings-panel h3{margin-top:23px;font-size:15px}.info-list{margin:0;padding:0}.info-item{border-top:1px solid var(--border-tone,#e7ebe1);grid-template-columns:90px minmax(0,1fr);gap:10px 26px;padding:17px 0;font-size:13px;display:grid}.info-item:first-child{border-top:0}.info-item dt{font-weight:600}.info-item dd{color:var(--muted);margin:0;line-height:1.8}.notice{color:var(--text-tone,#725528);background:var(--surface-tone,#fff7e7);border:1px solid var(--border-tone,#ecdfc5);border-radius:8px;margin:20px 0;padding:14px 17px;font-size:12px;line-height:1.9}.notice p:last-child{margin-bottom:0}.avatar-preview{width:66px;height:66px;color:var(--text-tone,#526f44);background:var(--surface-tone,#eaf0db);border:1px solid var(--border-tone,#d4dfc4);border-radius:19px;place-items:center;margin:8px 0 20px;display:grid}.avatar-preview svg{width:32px;height:32px}.not-found{max-width:620px;margin:0 auto;padding:48px 0}.modal{width:min(560px,100vw - 32px);max-height:calc(100dvh - 48px);color:var(--ink);background:var(--surface-tone,#fff);border:1px solid var(--border-tone,#cdd8c5);border-radius:14px;padding:0;overflow:auto;box-shadow:0 18px 70px #193e3129}.modal::backdrop{background:#17332966}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;display:flex}.modal-header h2{margin:0;font-size:18px}.modal-body{padding:24px}.modal-body>.state-panel{margin:0}.modal-close{width:32px;height:32px;color:var(--text-tone,#5b6f50);background:var(--surface-tone,#f1f5e9);border:1px solid var(--border-tone,#dbe4ce);border-radius:7px;flex:0 0 32px;place-items:center;padding:0;display:grid}.modal-close svg{width:17px;height:17px}.modal-close:hover{background:var(--surface-tone,#e4edd6)}@media (width<=1200px){.main-content,.topbar{padding-left:26px;padding-right:26px}.hero{grid-template-columns:minmax(0,1fr) 260px;gap:22px;padding:28px}.home-grid{grid-template-columns:minmax(0,1.15fr) minmax(250px,1fr);gap:20px}.course-grid,.case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-layout{grid-template-columns:minmax(0,1fr) 230px;gap:20px}.card,.chapter-card,.section-card,.case-card,.settings-panel{padding:20px}}@media (width<=1024px){.hero{grid-template-columns:minmax(0,1fr)}.hero-visual{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px;display:grid}.hero-visual>.hero-label{grid-column:1/-1;margin-bottom:0}.hero-step{gap:7px;padding:8px;font-size:11px}.hero-step+.hero-step{margin-top:0}.hero-step-line{display:none}.home-grid,.lesson-layout,.settings-layout{grid-template-columns:minmax(0,1fr)}.lesson-aside{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-nav{flex-wrap:wrap;display:flex}.settings-tab{width:auto}.panel-heading{padding:12px 14px}.panel-body{padding:14px}.code-body{padding:0}.workspace-empty,.trace-empty{padding:28px 16px}.metric{padding:13px 9px}}@media (width<=768px){.app-shell{display:block}.sidebar{width:100%;height:auto;padding:17px 22px 14px;position:static;overflow:visible}.brand{margin-bottom:5px;padding:0}.sidebar-note{margin:0 0 15px;font-size:11px}.sidebar nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.nav-link{justify-content:center;gap:7px;min-height:43px;padding:8px;font-size:12px}.nav-link svg{width:16px;height:16px}.sidebar-footer{border-top:1px solid var(--border-tone,#40614d);margin-top:14px;padding:12px 0 0;font-size:10px}.sidebar-footer>svg{display:none}.sidebar-footer strong{margin-right:9px;font-size:10px;display:inline}.sidebar-footer p{margin:0 9px 0 0;display:inline}.topbar{min-height:65px;padding:15px 24px}.main-content{padding:25px 24px 40px}.page-heading{margin-bottom:22px}.page-title{font-size:27px}.workbench-layout,.visualization-layout{grid-template-columns:minmax(0,1fr);gap:18px}.hero{padding:26px}.hero-copy .page-title{font-size:29px}.hero-visual{padding:17px}}@media (width<=480px){.sidebar{padding:16px 16px 12px}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-link{justify-content:flex-start;padding-left:12px}.topbar{gap:10px;padding:14px 17px}.topbar-title{font-size:13px}.local-note{gap:12px;font-size:11px}.main-content{padding:22px 16px 32px}.page-title{font-size:25px}.page-description{font-size:13px}.hero{gap:20px;padding:23px 20px}.hero-copy .page-title{font-size:27px}.hero-visual{padding:17px;display:block}.hero-visual>.hero-label{margin-bottom:13px}.hero-step{padding:9px 11px;font-size:12px}.hero-step+.hero-step{margin-top:10px}.hero-step-line{display:block}.home-grid,.course-grid,.case-grid,.lesson-aside{grid-template-columns:minmax(0,1fr);gap:16px}.metric-grid{gap:7px}.metric{padding:12px 6px}.metric-value{font-size:22px}.metric-label{font-size:10px}.card,.chapter-card,.section-card,.case-card,.settings-panel{padding:18px}.workbench-header{padding:15px 16px}.trace-panels{grid-template-columns:minmax(0,1fr)}.player-controls{padding:14px}.state-panel{gap:12px;padding:19px 16px}.state-icon{border-radius:8px;flex-basis:32px;width:32px;height:32px}.state-icon svg{width:17px;height:17px}.info-item{grid-template-columns:minmax(0,1fr);gap:5px}.button{min-height:42px;padding:10px 14px}.button-small{min-height:34px;padding:7px 10px}.modal-header,.modal-body{padding:18px}}:root[data-reduced-motion=on] *,:root[data-reduced-motion=on] :before,:root[data-reduced-motion=on] :after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}@media (forced-colors:active){.nav-link.active,.nav-link[aria-current=page],.settings-tab.active,.settings-tab[aria-selected=true]{border-color:highlight}}.sample-source{background:var(--surface-tone,#f1f4f0);tab-size:4;border-radius:.75rem;padding:1rem;font-size:.875rem;line-height:1.6;overflow:auto}.preserve-lines{white-space:pre-wrap}.sample-teaching h3{margin-top:1.5rem}.sample-teaching ul{padding-left:1.5rem;line-height:1.8}.sample-label{font-weight:700}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#e2ede4;--ink:#e2ede4;--muted:#b0c1b4;--green:#8bc39a;--line:#455e4d;--lime:#2d4435;--amber:#edca86;--focus:#efc478;--text-tone:#d8e8da;--surface-tone:#24392d;--border-tone:#455e4d;background:#14231c}:root[data-theme=dark] .button-primary{color:#142a1b}:root[data-theme=dark] .button-primary:not(:disabled):hover{background:#acd9b7;border-color:#acd9b7}:root[data-theme=dark] .button-primary:disabled{color:var(--muted);opacity:.65}:root[data-theme=dark] .skip-link{color:var(--ink)}.settings-form{gap:18px;max-width:600px;display:grid}.settings-field{gap:7px;font-weight:600;display:grid}.settings-field select,.settings-field input{width:100%;min-height:44px;color:var(--ink);background:var(--surface-tone,#fff);border:1px solid var(--line);border-radius:8px;padding:9px 12px}.settings-field input[type=color]{max-width:150px;height:48px;padding:5px}.learning-subject-status{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.learning-subject-status p:last-child{margin-bottom:0}.learning-history-list{overflow-wrap:anywhere;padding-left:22px}.learning-history-list li{padding-block:6px}.metric-value{overflow-wrap:anywhere}.avatar-preview{color:var(--avatar-accent,#168a72)}.input-panel{margin-block:18px}.input-fields{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px;margin-block:16px;display:grid}.input-field{min-width:0}.input-field label{margin-bottom:8px;font-weight:600;display:block}.input-field input,.input-field textarea{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);background:var(--surface-tone,#fff);font:inherit;box-sizing:border-box;border-radius:8px;padding:10px 12px}.input-field textarea{resize:vertical}.input-field [aria-invalid=true]{border-color:var(--danger,#a43d32)}.input-panel [role=alert]{color:var(--danger,#a43d32)}[data-testid=execution-input]{overflow-wrap:anywhere}.player-workspace:focus-visible{outline:3px solid var(--accent,#52763e);outline-offset:5px;border-radius:10px}.player-progress{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:10px;font-size:12px;display:flex}.player-help{flex-basis:100%;margin:0;font-size:12px}.basic-trace-view{border-bottom:1px solid var(--line);min-width:0;padding:18px}.step-summary{margin:0 0 12px;font-weight:600}.step-counters{color:var(--muted);flex-wrap:wrap;gap:6px 14px;font-size:12px;display:flex}.step-section{min-width:0;margin-top:18px}.step-section h4{margin:0 0 9px;font-size:13px}.step-section p,.step-section ul,.retired-objects,.trace-stop{font-size:12px}.variable-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px;padding:0;list-style:none;display:grid}.variable-value{background:var(--surface-tone,#f5f8f2);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:7px;padding:9px 11px;display:flex}.variable-value small,.trace-array small{color:var(--muted);font-size:10px;font-weight:400}.variable-value[data-write=true],.array-cell[data-write=true]{border:2px solid #b67523}.variable-value[data-read=true],.array-cell[data-read=true]{background:var(--surface-tone,#eaf1f6)}.access-label{min-height:16px;color:var(--text-tone,#72603d);font-size:10px}.array-chart-scroll{border:1px solid var(--line);border-radius:8px;max-width:100%;padding:10px 6px;overflow-x:auto}.array-chart{gap:4px;width:max-content;min-width:100%;margin:0;padding:0;list-style:none;display:flex}.array-cell{border:2px solid #0000;border-radius:5px;flex-direction:column;align-items:center;min-width:46px;padding:3px;display:flex}.array-value{font-variant-numeric:tabular-nums;min-height:18px;font-size:11px}.array-index{color:var(--muted);font-size:10px}.bar-plot{width:100%;height:96px;display:block;position:relative}.bar-plot:before{content:"";background:#93a28a;height:1px;position:absolute;top:50%;left:-5px;right:-5px}.value-bar{background:#70965a;border-radius:3px;width:84%;display:block;position:absolute;left:8%}.value-positive{bottom:50%}.value-negative{background:#788fae;top:50%}.value-unknown{background:repeating-linear-gradient(45deg,#c7cebf,#c7cebf 3px,#0000 3px 6px);border:1px dashed #7a8570;bottom:50%}.step-output{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface-tone,#f0f4ef);border-radius:7px;min-height:42px;margin:0;padding:11px;font-size:12px}.retired-objects{color:var(--muted)}.trace-stop{background:var(--surface-tone,#fff2ea);border-left:3px solid #a95644;padding:10px}.source-view{height:460px;min-height:320px;max-height:65vh;position:sticky;top:12px;overflow:hidden}.source-highlight,.source-copyarea{box-sizing:border-box;letter-spacing:normal;tab-size:4;white-space:pre;overflow-wrap:normal;word-break:normal;border:0;width:100%;height:100%;margin:0;padding:18px;font:13px/24px ui-monospace,Consolas,Microsoft YaHei,monospace}.source-highlight{pointer-events:none;background:0 0;position:absolute;inset:0;overflow:hidden}.source-highlight-text{width:max-content;min-width:100%;font:inherit;color:var(--text-tone,#28422d);display:block}.source-copyarea{resize:none;color:#0000;caret-color:var(--text-tone,#28422d);outline-offset:-3px;background:0 0;display:block;position:relative;overflow:auto}.source-copyarea::selection{color:#162b1d;background:#c9dfb7}.source-step-mark{color:inherit;background:color-mix(in srgb, var(--p05-accent,var(--green)) 18%, transparent);border:0;outline:0;min-width:100%;display:inline-block}.code-line-highlight,.memory-source mark.code-line-highlight,.sort-source mark.code-line-highlight{min-width:100%;color:inherit;background:color-mix(in srgb, var(--p05-accent,var(--green)) 18%, transparent);box-shadow:none;border:0;outline:0;display:inline-block}.source-terminal-mark{color:#5d2517;background:#f8d8cd;-webkit-text-decoration:underline wavy #aa4e39;text-decoration:underline wavy #aa4e39}.source-point-mark{vertical-align:text-bottom;border-left:2px solid #aa4e39;width:0;height:1em;display:inline-block}.source-position{border-top:1px solid var(--line);overflow-wrap:anywhere;margin:0;padding:9px 16px;font-size:12px}.practice-editor-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:20px;margin:20px 0;display:grid}.practice-editor-layout>*,.practice-generated-code{min-width:0}.practice-code-empty{min-height:440px;padding:20px}.practice-inline-player{min-width:0;margin-top:16px}@media (width<=1100px){.practice-editor-layout{grid-template-columns:minmax(0,1fr)}}@media (width<=700px){.source-view{height:360px;position:relative}}.points-toggle{white-space:nowrap;font-variant-numeric:tabular-nums;min-height:36px;padding:6px 12px;font-size:13px}.topbar-more{display:contents}.topbar-more>summary{display:none}.topbar-tools{align-items:center;gap:16px;display:flex}@media (width<=1100px){:root[data-appearance] .p05-app .topbar{flex-wrap:nowrap;gap:10px;height:64px;min-height:64px}.p05-app .topbar-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.p05-app .local-note{flex:none;gap:8px}.topbar-more{display:block;position:relative}.topbar-more>summary{cursor:pointer;border:1px solid var(--p05-border);border-radius:10px;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:0 8px;list-style:none;display:flex}.topbar-more>summary::-webkit-details-marker{display:none}.topbar-tools{z-index:20;border:1px solid var(--p05-border);background:var(--p05-surface);min-width:176px;color:var(--p05-text);border-radius:10px;gap:16px;padding:16px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.topbar-tools .preview-badge{display:inline}.topbar-tools>a{min-height:44px}}:root[data-appearance]{color:var(--p05-text);background:var(--p05-ground);--border-tone:var(--p05-border);font-family:Microsoft YaHei UI,Microsoft YaHei,system-ui,sans-serif}[data-appearance] body{background:var(--p05-ground);color:var(--p05-text)}[data-appearance] .main-content{width:100%;max-width:none;margin:0;padding:28px 32px 40px}[data-appearance] .app-content{min-width:0}:root[data-appearance] .p05-app .theme-mode-toggle{width:44px;height:44px;min-height:44px;color:var(--p05-accent);background:var(--p05-surface);border:1px solid var(--p05-control);border-radius:50%;flex:0 0 44px;justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-mode-toggle svg{width:21px;height:21px}.theme-mode-error{z-index:45;max-width:min(360px,100vw - 32px);padding:12px 16px;font-size:13px;position:absolute;top:66px;right:16px}.theme-mode-error a{text-decoration:underline}[data-appearance] .sidebar{color:var(--p05-text);background:var(--p05-surface);border-right:1px solid var(--p05-border);width:auto}[data-appearance] .brand-mark{color:var(--p05-accent);white-space:nowrap;background:0 0;border:0;flex-shrink:0;font-weight:400}[data-appearance] .brand-text{letter-spacing:-.035em;font-weight:600}[data-appearance] .brand-text small,[data-appearance] .sidebar-note,[data-appearance] .sidebar-footer,[data-appearance] .sidebar-footer p{color:var(--p05-muted)}[data-appearance] .brand-text small{font-size:11px}[data-appearance] .nav-link{color:var(--p05-muted);min-height:44px;font-size:13px}[data-appearance] .nav-link.active,[data-appearance] .nav-link:hover{color:var(--p05-accent);background:var(--p05-active);border-color:#0000}[data-appearance] .sidebar-footer{border-color:var(--p05-border);font-size:12px}[data-appearance] .topbar{border-bottom:1px solid var(--p05-border);height:68px;color:var(--p05-muted);background:0 0;padding:16px 30px}[data-appearance] .topbar-title,[data-appearance] .local-note{font-size:12px}[data-appearance] .topbar-brand{display:none}[data-appearance] .nav-toggle{min-width:40px;min-height:40px;padding:7px;display:none}[data-appearance] .preview-badge{color:var(--p05-muted);background:0 0;border:0;padding:0}[data-appearance] .page-title,[data-appearance] h1{letter-spacing:-.035em;font-size:29px;font-weight:500}[data-appearance] .page-description,[data-appearance] .page-kicker,[data-appearance] .muted{color:var(--p05-muted)}[data-appearance] .card,[data-appearance] .panel,[data-appearance] .settings-panel{background:var(--p05-surface);color:var(--p05-text);border-color:var(--p05-border);box-shadow:none;border-radius:22px}[data-appearance] .card-title,[data-appearance] .panel-title{color:var(--p05-text);font-size:17px;font-weight:500}[data-appearance] .button{border-radius:13px;min-height:40px;padding:8px 16px;font-size:13px;font-weight:400}:root[data-appearance] .button-primary{background:var(--p05-accent);border-color:var(--p05-accent);color:var(--p05-accent-on)}:root[data-appearance] .button-primary:not(:disabled):hover{background:var(--p05-accent);border-color:var(--p05-accent);filter:none;color:var(--p05-accent-on)}:root[data-appearance] .button-primary:disabled{color:var(--p05-accent-on)}[data-appearance] .button-secondary{color:var(--p05-text);background:var(--p05-surface);border-color:var(--p05-control)}[data-appearance] .button:disabled{opacity:.6}[data-appearance] .text-link,[data-appearance] .card-link{color:var(--p05-accent)}[data-appearance] button.text-link{cursor:pointer;background:0 0;border:0;padding:6px 0}[data-appearance] .badge{color:var(--p05-muted);background:var(--p05-raised);border-color:var(--p05-border);font-weight:400}[data-appearance] .settings-tab{color:var(--p05-muted);background:0 0;border-color:#0000}[data-appearance] .settings-tab.active{background:var(--p05-active);color:var(--p05-text)}[data-appearance] .state-panel{color:var(--p05-muted);background:var(--p05-raised);border-color:var(--p05-border);border-radius:14px}[data-appearance] .state-panel h2,[data-appearance] .state-panel h3{color:var(--p05-text)}[data-appearance] input,[data-appearance] select,[data-appearance] textarea{color:var(--p05-text);background:var(--p05-surface);border-color:var(--p05-control)}[data-appearance] .code-panel,[data-appearance] .source-code,[data-appearance] .code-editor,[data-appearance] pre,[data-appearance] .cm-editor,[data-appearance] .cm-scroller{color:var(--p05-text);background:var(--p05-raised)}[data-appearance] .cm-gutters{color:var(--p05-muted);background:var(--p05-surface);border-color:var(--p05-border)}[data-appearance] .cm-activeLine,[data-appearance] .cm-activeLineGutter{background:var(--p05-active)}[data-appearance] .cm-cursor{border-color:var(--p05-accent)}[data-appearance] .code-line-active,[data-appearance] .source-line-active{background:var(--p05-active);border-color:var(--p05-accent)}[data-appearance] .block-canvas,[data-appearance] .block-accessible{color:var(--p05-text);background:var(--p05-raised);border-color:var(--p05-border);border-radius:18px}[data-appearance] .block-workspace input,[data-appearance] .block-workspace select,[data-appearance] .block-workspace textarea{color:var(--p05-text);background:var(--p05-surface);border-color:var(--p05-control)}[data-appearance] .blocklyToolboxDiv{color:var(--p05-text);background:var(--p05-raised)}[data-appearance] .trace-array,[data-appearance] .variable-value,[data-appearance] .step-counters,[data-appearance] .trace-output{color:var(--p05-text);background:var(--p05-raised);border-color:var(--p05-border)}[data-appearance] .array-cell,[data-appearance] .trace-array-cell{color:var(--p05-text);background:var(--p05-surface);border-color:var(--p05-control)}[data-appearance] .array-bar,[data-appearance] .value-bar{background:var(--p05-accent)}[data-appearance] .value-negative{background:color-mix(in srgb, var(--p05-accent) 55%, var(--p05-muted))}[data-appearance] .value-unknown{background:repeating-linear-gradient(45deg, var(--p05-active), var(--p05-active) 3px, transparent 3px, transparent 6px);border-color:var(--p05-control)}[data-appearance] .bar-plot:before{background:var(--p05-control)}[data-appearance] .array-cell[data-write=true],[data-appearance] .variable-value[data-write=true]{border-color:var(--p05-warning)}[data-appearance] .array-cell[data-read=true],[data-appearance] .variable-value[data-read=true]{background:var(--p05-active)}[data-appearance] .access-label,[data-appearance] .array-index,[data-appearance] .variable-value small,[data-appearance] .trace-array small{color:var(--p05-muted);font-size:11px}[data-appearance] .array-value{font-size:13px}[data-appearance] .source-view,[data-appearance] .source-code,[data-appearance] .code-area,[data-appearance] .code-gutter,[data-appearance] .source-view pre,[data-appearance] .code-body{color:var(--p05-text);background:var(--p05-raised)}[data-appearance] .source-line[data-active=true],[data-appearance] .source-line-active{background:var(--p05-active)}[data-appearance] .modal{color:var(--p05-text);background:var(--p05-surface);border-color:var(--p05-border);border-radius:24px}[data-appearance] .modal::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#11182755}.appearance-preview-note{border-bottom:1px solid var(--p05-border);background:var(--p05-active);flex-wrap:wrap;align-items:center;gap:20px;padding:9px 30px;font-size:12px;display:flex}.appearance-preview-note a{color:var(--p05-accent);text-decoration:underline}.appearance-preview-note .text-link{margin-left:auto}.appearance-heading{justify-content:space-between;align-items:start;gap:24px;margin-bottom:24px;display:flex}.appearance-heading h2{font-weight:500}.appearance-heading .badge{flex-shrink:0}.theme-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.theme-option{text-align:left;min-width:0;color:var(--p05-text);background:var(--p05-surface);border:1px solid var(--p05-border);border-radius:20px;padding:14px}.theme-option[aria-pressed=true]{outline:2px solid var(--p05-accent);outline-offset:3px}.theme-option strong,.theme-option small{display:block}.theme-option strong{margin:14px 0 5px;font-size:14px;font-weight:500}.theme-option small{color:var(--p05-muted);font-size:12px}.theme-diagram{background:#f3f5f7;border:1px solid #dfe4e9;border-radius:12px;height:92px;display:block;position:relative;overflow:hidden}.theme-diagram i,.theme-diagram b,.theme-diagram em{background:#eaf0fa;border:1px solid #d8dee8;display:block;position:absolute}.theme-diagram i{background:#fff;width:15%;height:80%;top:10%;left:5%}.theme-diagram b{width:25%;height:80%;top:10%;left:27%}.theme-diagram em{width:35%;height:80%;top:10%;left:59%}.mini-cute .theme-diagram{background:#fbe6f0}.mini-cute .theme-diagram i{background:#fff;border:0;border-radius:12px}.mini-cute .theme-diagram b,.mini-cute .theme-diagram em{width:35%;left:59%}.mini-cute .theme-diagram b{width:25%;left:27%}.mini-cute .theme-diagram em{width:35%;left:58%}.mini-glass .theme-diagram{background:linear-gradient(135deg,#dce5eb,#e7deec)}.mini-glass .theme-diagram i,.mini-glass .theme-diagram b,.mini-glass .theme-diagram em{background:#ffffffa0;border:1px solid #fff;border-radius:10px}.mini-soft .theme-diagram{background:#ebeae6;border:0;box-shadow:inset 3px 3px 6px #cbcac2,inset -3px -3px 6px #fff}.mini-soft .theme-diagram i{width:15%;height:80%;top:10%;left:5%}.mini-soft .theme-diagram b{width:25%;height:80%;top:10%;left:27%}.mini-soft .theme-diagram em{width:35%;height:80%;top:10%;left:59%}.mini-soft .theme-diagram i,.mini-soft .theme-diagram b,.mini-soft .theme-diagram em{background:#ebeae6;border:0;border-radius:12px;box-shadow:3px 3px 6px #cbcac2,-3px -3px 6px #fff}.mini-cool .theme-diagram{background:#0f1326}.mini-cool .theme-diagram i{background:#131a30;border:0;width:18%;height:100%;top:0;left:0}.mini-cool .theme-diagram b,.mini-cool .theme-diagram em{background:#1c2748;border-color:#617bc5;border-radius:10px;width:69%;left:24%;box-shadow:inset 0 -3px 8px #6c83e244}.mini-cool .theme-diagram b{height:48%;top:12%}.mini-cool .theme-diagram em{height:18%;top:72%}.mini-tech .theme-diagram{background:#eef0f7}.mini-tech .theme-diagram i,.mini-tech .theme-diagram b,.mini-tech .theme-diagram em{background:#eef0f7;border:0;border-radius:12px;box-shadow:3px 3px 6px #cdd3e1,-3px -3px 6px #fff}.appearance-color-row{flex-wrap:wrap;align-items:end;gap:20px;margin-top:28px;display:flex}.appearance-color-row label{gap:7px;font-size:13px;display:grid}.appearance-color-row input{border:1px solid var(--p05-control);border-radius:10px;min-width:70px;height:42px;padding:7px}.appearance-color-row input[type=text]{width:140px;font-family:Consolas,monospace}.appearance-hint{margin:12px 0 24px;font-size:12px}.appearance-mode{max-width:300px}.appearance-material{background:var(--p05-raised);border-radius:22px;grid-template-columns:1fr 1fr;align-items:center;gap:28px;margin:32px 0;padding:24px;display:grid}.appearance-material h3{font-size:17px;font-weight:500}.material-window{background:var(--p05-surface);border:1px solid var(--p05-border);border-radius:18px;gap:18px;padding:22px;display:grid}.material-window>span{color:var(--p05-muted);font-size:12px}.material-window code{color:var(--p05-accent)}.material-window .button{justify-self:start}.appearance-actions{margin-top:28px}.appearance-actions>.text-link{margin-left:auto;font-size:12px}.home-heading{margin:5px 0 28px}.p05-home>[data-testid=learning-save-status][data-save-status=ready]{display:none}.home-heading{justify-content:space-between;align-items:center;gap:24px;display:flex}.home-heading .page-heading{margin-bottom:0}.home-archive-label{color:var(--p05-muted);border:1px solid var(--p05-border);white-space:nowrap;border-radius:20px;padding:5px 10px;font-size:11px}.study-feature{grid-template-rows:1fr auto;align-content:space-between}.study-feature .feature-copy{align-self:start}.study-feature .feature-meta{margin:16px 0 0;font-size:12px;line-height:1.8}.study-feature .eyeline{color:var(--p05-muted);font-size:12px}.study-feature .eyeline>span{margin-left:12px}.study-progress>.muted{margin-bottom:12px;font-size:11px;line-height:1.75}.study-progress>.card-link{font-size:12px}.study-progress .module-title{margin-bottom:12px}.study-progress .progress-dial{width:136px;height:136px;margin:12px auto}.study-progress .profile-summary{margin:8px 0 0;padding-top:8px}.study-progress .profile-identity{gap:12px}.study-progress .profile-avatar svg{width:28px;height:28px}.study-progress .profile-level{margin-bottom:4px}.study-progress .profile-identity .text-link{font-size:12px}.study-progress .metric-grid{margin:12px 0;padding-top:12px}.p05-app [data-page-id=PAGE-07]>[data-testid=learning-save-status][data-save-status=ready] .state-panel{gap:12px;padding:10px 16px}.p05-app [data-page-id=PAGE-07]>[data-testid=learning-save-status][data-save-status=ready] .state-title{font-size:14px}.p05-app [data-page-id=PAGE-07]>[data-testid=learning-save-status][data-save-status=ready] .state-description{font-size:12px}[data-appearance=minimal] .study-feature{background:color-mix(in srgb, var(--p05-accent-raw) 7%, var(--p05-surface))!important}[data-appearance=soft] .study-feature,[data-appearance=tech] .study-feature{background:var(--p05-surface)!important}.home-composition .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-composition .metric{background:0 0;border:0;padding:0}[data-appearance] .sidebar-footer strong,[data-appearance] .sidebar-footer a,[data-appearance] .sidebar-footer svg{color:var(--p05-muted)}.home-heading h1{margin:0 0 8px}.home-heading p{color:var(--p05-muted)}.home-composition{grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;display:grid}.home-composition>section{background:var(--p05-surface);border:0;border-radius:24px;min-width:0;margin:0;padding:26px}.study-feature{grid-column:span 8;grid-template-columns:1.5fr 1fr;align-items:center;display:grid;background:var(--p05-raised)!important}.study-feature h2{margin:12px 0;font-size:28px;font-weight:500;line-height:1.55}.study-feature p{color:var(--p05-muted);font-size:14px}.study-feature .button{margin-top:12px}.feature-code{border-top:1px solid var(--p05-border);flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;gap:14px;margin-top:24px;padding-top:16px;font-size:12px;display:flex}.feature-code code{color:var(--p05-accent)}.concept-object{justify-content:center;align-items:center;gap:10px;min-width:0;display:flex}.concept-brace{color:var(--p05-accent);opacity:.35;font:300 110px/1 Segoe UI,sans-serif}.concept-object>div{align-items:center;gap:8px;height:100px;display:flex;transform:rotate(-10deg)}.concept-object i{background:var(--p05-accent);opacity:.5;border-radius:8px;width:22px;height:50px;box-shadow:inset 3px 3px 6px #ffffff70,5px 8px 12px #00000012}.concept-object i:nth-child(2){opacity:.8;height:80px}.concept-object i:nth-child(3){height:65px}.study-progress{grid-column:span 4}.study-today{grid-column:span 4;align-self:start}.study-path{grid-column:span 8}.study-explore{grid-column:1/-1}.home-composition h2.card-title,.home-composition .module-title h2{font-size:16px;font-weight:500}.module-title{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.module-title h2{margin:0}.module-title a{color:var(--p05-muted);font-size:12px}.progress-dial{background:conic-gradient(var(--p05-accent) 0 var(--progress), var(--p05-active) var(--progress) 100%);border-radius:50%;place-items:center;width:164px;height:164px;margin:24px auto;padding:8px;display:grid;position:relative}.progress-dial svg{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.progress-dial circle{fill:none;stroke:var(--p05-active);stroke-width:8px}.progress-dial circle:last-child{stroke:var(--p05-accent);stroke-linecap:round}.progress-dial>div{text-align:center;background:var(--p05-surface);border-radius:50%;align-content:center;gap:6px;width:100%;height:100%;display:grid}.progress-dial strong{font-size:31px;font-weight:400}.progress-dial small{font-size:14px}.progress-dial span{color:var(--p05-muted);font-size:12px}.home-composition .metric-grid{border-top:1px solid var(--p05-border);margin:18px 0;padding-top:18px}.home-composition .metric-value{color:var(--p05-text);font-size:22px}.home-composition .metric-label{font-size:12px}.home-composition .profile-summary{border-top:1px solid var(--p05-border);margin:20px 0 0;padding:16px 0 0}.home-composition .profile-level-progress{min-width:150px;max-width:300px;margin:0}.home-composition .profile-avatar{width:38px;height:38px}.home-composition .profile-level{font-size:13px}.home-composition .chapter-rows{gap:8px;display:grid}.home-composition .chapter-row{border-radius:16px;align-items:center;gap:16px;padding:17px 12px;display:flex}.home-composition .chapter-row:hover,.home-composition .chapter-row.is-current{background:var(--p05-raised)}.chapter-number{background:var(--p05-active);width:38px;height:38px;color:var(--p05-accent);border-radius:12px;flex:none;place-items:center;font-size:12px;display:grid}.chapter-text{gap:4px;min-width:0;display:grid}.chapter-text strong{font-size:14px;font-weight:500}.chapter-text small{color:var(--p05-muted);font-size:12px}.chapter-status{color:var(--p05-muted);margin-left:auto;font-size:12px}.study-explore .explore-links{justify-content:space-between;align-items:center;gap:24px;display:flex}.study-explore h2{font-size:21px;font-weight:500}.study-explore p{color:var(--p05-muted);font-size:13px}.p05-home>.learning-status{margin:20px 0}[data-appearance=minimal] .topbar{background:var(--p05-surface);border:0}[data-appearance=minimal] .sidebar{padding:28px 16px}[data-appearance=minimal] .card,[data-appearance=minimal] .settings-panel{border:0}[data-appearance=cute] body{background:linear-gradient(135deg, var(--p05-ground), color-mix(in srgb, var(--p05-accent-raw) 8%, var(--p05-ground)))}[data-appearance=cute] .sidebar{background:var(--p05-surface);box-shadow:inset -1px 0 #ffffff90}[data-appearance=cute] .sidebar>.brand,[data-appearance=cute] .sidebar-note,[data-appearance=cute] .sidebar-footer{display:none}.p05-app .nav-link{white-space:nowrap}[data-appearance=cute] .nav-link{border-radius:30px;min-height:42px;font-size:12px}.p05-app .topbar .brand{margin:0}[data-appearance=cute] .topbar{border:0}.p05-app .topbar-brand{padding:0}[data-appearance=cute] .topbar-brand{display:flex}[data-appearance=cute] .topbar-title{display:none}[data-appearance=cute] .main-content{padding:16px 32px 40px}[data-appearance=cute] .card,[data-appearance=cute] .settings-panel,[data-appearance=cute] .home-composition>section{background:color-mix(in srgb, var(--p05-surface) 88%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid #ffffffb0;border-radius:28px;box-shadow:0 13px 24px #bd6a8a0a,inset 0 1px #ffffffd0}[data-appearance=cute] .study-feature{border-radius:50px 50px 28px 28px}.p05-app .appearance-heading h2{margin-bottom:10px}[data-appearance=cute] .button{border-radius:30px}:root[data-appearance=cute] .button-primary{background:var(--p05-accent);box-shadow:inset 0 2px 3px #ffffff60, 0 4px 0 color-mix(in srgb, var(--p05-accent) 65%, transparent)}[data-appearance=cute] .progress-dial{background:var(--p05-surface);border-radius:50%;padding:12px;box-shadow:0 7px 20px #b146741f,inset 0 2px 3px #fff}[data-appearance=glass] body{background:linear-gradient(135deg, var(--p05-ground), color-mix(in srgb, var(--p05-accent-raw) 10%, var(--p05-ground)), var(--p05-raised))}[data-appearance=glass] .app-shell{background:color-mix(in srgb, var(--p05-surface) 32%, transparent)}[data-appearance=glass] .sidebar{background:0 0}[data-appearance=glass] .nav-link.active{color:var(--p05-text);background:var(--p05-surface);box-shadow:0 5px 12px #23314c09}[data-appearance=glass] .topbar{border:0}[data-appearance=glass] .card,[data-appearance=glass] .settings-panel,[data-appearance=glass] .home-composition>section{background:color-mix(in srgb, var(--p05-surface) 88%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid #ffffff70;border-radius:26px}[data-appearance=glass] .button{border-radius:25px}[data-appearance=soft]{--relief-hi:#fff;--relief-low:#cdcbc1}[data-appearance=soft][data-theme=dark]{--relief-hi:#34404f;--relief-low:#13171e}[data-appearance=soft] .sidebar{background:var(--p05-surface);box-shadow:inset -5px 0 12px var(--relief-low), inset 1px 0 0 var(--relief-hi)}[data-appearance=soft] .sidebar>.brand,[data-appearance=soft] .sidebar-note,[data-appearance=soft] .sidebar-footer{display:none}[data-appearance=soft] .nav-link{border-radius:20px}[data-appearance=soft] .nav-link.active{background:var(--p05-surface);box-shadow:inset 4px 4px 9px var(--relief-low), inset -4px -4px 9px var(--relief-hi)}[data-appearance=soft] .topbar{border:0}[data-appearance=soft] .topbar-brand{display:flex}[data-appearance=soft] .topbar-title{display:none}[data-appearance=soft] .card,[data-appearance=soft] .settings-panel,[data-appearance=soft] .home-composition>section{background:var(--p05-surface);box-shadow:8px 8px 20px var(--relief-low), -8px -8px 20px var(--relief-hi);border:0;border-radius:28px}[data-appearance=soft] .button{background:var(--p05-surface);box-shadow:4px 4px 8px var(--relief-low), -4px -4px 8px var(--relief-hi);border:0;border-radius:16px}:root[data-appearance=soft] .button-primary,:root[data-appearance=soft] .button-primary:disabled{background:var(--p05-accent-raw);color:var(--p05-material-on);box-shadow:4px 4px 9px var(--relief-low), -4px -4px 9px var(--relief-hi), inset 0 2px 3px #ffffff90}:root[data-appearance=soft] .button-primary:not(:disabled):hover{background:var(--p05-accent-raw);color:var(--p05-material-on)}[data-appearance=soft] input,[data-appearance=soft] select,[data-appearance=soft] .material-window{background:var(--p05-surface);box-shadow:inset 3px 3px 7px var(--relief-low), inset -3px -3px 7px var(--relief-hi)}[data-appearance=soft] .progress-dial{background:var(--p05-surface);box-shadow:7px 7px 16px var(--relief-low), -7px -7px 16px var(--relief-hi);border-radius:50%}[data-appearance=cool] .sidebar{background:var(--p05-surface);padding:24px 16px}[data-appearance=cool] .sidebar-note{display:none}[data-appearance=cool] .nav-link{border-radius:20px}[data-appearance=cool] .nav-link.active{background:var(--p05-raised);box-shadow:inset 2px 1px 4px color-mix(in srgb, var(--p05-accent) 35%, transparent), 0 0 15px color-mix(in srgb, var(--p05-accent) 12%, transparent)}[data-appearance=cool] .card,[data-appearance=cool] .settings-panel,[data-appearance=cool] .home-composition>section{border:1px solid var(--p05-border);background:var(--p05-surface);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--p05-accent) 12%, transparent);border-radius:22px}[data-appearance=cool] .study-feature{box-shadow:inset 0 -4px 30px color-mix(in srgb, var(--p05-accent) 10%, transparent)}:root[data-appearance=cool] .button-primary,:root[data-appearance=cool] .button-primary:disabled{background:var(--p05-raised);color:var(--p05-accent);border-color:var(--p05-border);box-shadow:inset 0 2px 8px color-mix(in srgb, var(--p05-accent) 35%, transparent), 0 0 18px color-mix(in srgb, var(--p05-accent) 12%, transparent)}[data-appearance=cool] .progress-dial{box-shadow:0 0 24px color-mix(in srgb, var(--p05-accent) 15%, transparent);border-radius:50%}[data-appearance=tech]{--mist-hi:#fff;--mist-low:#cdd3e1}[data-appearance=tech][data-theme=dark]{--mist-hi:#36434d;--mist-low:#10181d}[data-appearance=tech] .app-shell{background:var(--p05-surface)}[data-appearance=tech] .sidebar{border-color:color-mix(in srgb, var(--p05-border) 50%, transparent);background:0 0}[data-appearance=tech] .sidebar .brand{justify-content:center;padding:0}[data-appearance=tech] .brand-text,[data-appearance=tech] .sidebar-note,[data-appearance=tech] .sidebar-footer{display:none}[data-appearance=tech] .sidebar nav{gap:20px;margin-top:32px}[data-appearance=tech] .nav-link{border-radius:18px;flex-direction:column;gap:7px;padding:12px 2px;font-size:11px}[data-appearance=tech] .nav-link.active{background:var(--p05-surface);box-shadow:5px 5px 12px var(--mist-low), -5px -5px 12px var(--mist-hi)}[data-appearance=tech] .topbar{border:0}[data-appearance=tech] .card,[data-appearance=tech] .settings-panel,[data-appearance=tech] .home-composition>section{background:var(--p05-surface);box-shadow:7px 7px 18px var(--mist-low), -7px -7px 18px var(--mist-hi);border:0;border-radius:24px}[data-appearance=tech] .button{box-shadow:4px 4px 9px var(--mist-low), -4px -4px 9px var(--mist-hi);border:0;border-radius:16px}[data-appearance=tech] .study-feature .button{background:var(--p05-surface);color:var(--p05-accent);border-radius:22px}[data-appearance=tech] .progress-dial{background:var(--p05-surface);box-shadow:5px 5px 12px var(--mist-low), -5px -5px 12px var(--mist-hi);border-radius:50%}[data-appearance=tech] .concept-brace,[data-appearance=tech] .concept-object i{display:none}[data-appearance=tech] .concept-object>div{background:radial-gradient(circle at 32% 23%, #fffffff0, color-mix(in srgb, var(--p05-accent) 10%, var(--p05-surface)) 45%, color-mix(in srgb, var(--p05-accent) 38%, var(--p05-surface)) 72%, #ffffffe0);width:110px;height:110px;box-shadow:7px 10px 20px var(--mist-low), -6px -6px 20px var(--mist-hi);border-radius:50%;transform:none}@media (width>=1101px){[data-appearance=cute] .study-feature,[data-appearance=cute] .study-path{grid-column:span 7}[data-appearance=cute] .study-progress,[data-appearance=cute] .study-today{grid-column:span 5}[data-appearance=glass] .study-feature{grid-column:1/-1}[data-appearance=glass] .study-progress{grid-area:2/1/auto/5}[data-appearance=glass] .study-path{grid-area:2/5/auto/-1}[data-appearance=glass] .study-today{grid-column:1/5}[data-appearance=glass] .study-explore{grid-column:5/-1}[data-appearance=soft] .study-path{grid-column:1/-1}[data-appearance=soft] .chapter-rows{grid-template-columns:repeat(3,minmax(0,1fr))}[data-appearance=soft] .chapter-row{flex-wrap:wrap}[data-appearance=soft] .chapter-text{width:100%}[data-appearance=soft] .chapter-status{margin:0}[data-appearance=soft] .study-today{grid-column:span 5}[data-appearance=soft] .study-explore{grid-column:span 7;align-self:start}[data-appearance=cool] .study-feature{grid-area:1/1/auto/9}[data-appearance=cool] .study-today{grid-area:1/9/auto/-1;align-self:start}[data-appearance=cool] .study-path{grid-area:2/1/auto/9}[data-appearance=cool] .study-progress{grid-area:2/9/auto/-1}[data-appearance=tech] .study-progress{grid-area:1/1/auto/6}[data-appearance=tech] .study-feature{grid-area:1/6/auto/-1}[data-appearance=tech] .study-path{grid-column:1/-1}[data-appearance=tech] .chapter-rows{grid-template-columns:repeat(3,minmax(0,1fr))}[data-appearance=tech] .chapter-row{flex-wrap:wrap}[data-appearance=tech] .chapter-text{width:100%}[data-appearance=tech] .chapter-status{margin:0}[data-appearance=tech] .study-today{grid-column:span 5}[data-appearance=tech] .study-explore{grid-column:span 7}}:root[data-appearance] .p05-app{border:0;border-radius:0;grid-template-columns:216px minmax(0,1fr);min-height:100dvh;margin:0;padding:0;display:grid;overflow:visible}:root[data-appearance] .p05-app .sidebar{border-right:1px solid var(--p05-border);z-index:30;border-radius:0;flex-direction:column;order:0;align-self:start;width:216px;max-width:none;height:100dvh;margin:0;padding:28px 16px 24px;display:flex;position:sticky;top:0;bottom:auto;left:0;overflow-y:auto;transform:none}:root[data-appearance] .p05-app .sidebar>.brand{justify-content:start;padding:0 9px;display:flex}:root[data-appearance] .p05-app .sidebar .brand-text,:root[data-appearance] .p05-app .sidebar-note,:root[data-appearance] .p05-app .sidebar-footer{display:block}:root[data-appearance] .p05-app .sidebar nav{grid-template-columns:minmax(0,1fr);gap:8px;margin:0;display:grid}:root[data-appearance] .p05-app .sidebar .nav-link{flex-direction:row;gap:12px;min-height:44px;padding:10px 14px;font-size:13px}:root[data-appearance] .p05-app .app-content{order:0;width:100%;min-width:0;padding-bottom:0}:root[data-appearance] .p05-app .topbar{height:68px;padding:16px 30px}:root[data-appearance] .p05-app .topbar-brand{display:none}:root[data-appearance] .p05-app .topbar-title{display:inline}.sidebar-close,.nav-backdrop{display:none}@media (width>=1900px){.theme-options{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (width<=1100px){:root[data-appearance] .p05-app{grid-template-columns:minmax(0,1fr)}:root[data-appearance] .p05-app .sidebar{background:var(--p05-surface);z-index:60;overscroll-behavior:contain;display:none;position:fixed;top:0;bottom:0;left:0}:root[data-appearance] .p05-app[data-nav-open=true] .sidebar{display:flex}.p05-app .sidebar-close{align-self:end;margin-bottom:16px;display:inline-flex}.p05-app .nav-backdrop{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#10182766;border:0;display:block;position:fixed;inset:0}:root:has(.p05-app[data-nav-open=true]){overflow:hidden}[data-appearance] .app-shell{flex-direction:column;display:flex}[data-appearance] .sidebar{border:0;order:0;width:100%;height:auto;margin:0;padding:12px 20px;display:none;position:static}[data-appearance] .sidebar>.brand,[data-appearance] .sidebar-note,[data-appearance] .sidebar-footer{display:none}[data-appearance] .sidebar nav{flex-wrap:wrap;gap:8px;margin:0;display:flex}[data-appearance] .app-shell[data-nav-open=true] .sidebar{display:block}[data-appearance] .nav-toggle{justify-content:center;align-items:center;display:flex}[data-appearance] .topbar{gap:14px;padding:16px 24px}[data-appearance] .local-note{margin-left:auto}[data-appearance=tech] .nav-link{flex-direction:row;padding:10px 14px;font-size:12px}[data-appearance=cute] .sidebar{border-radius:24px;align-self:stretch}[data-appearance=soft] .sidebar{border-radius:24px;order:-1;margin:0;position:sticky;top:0;bottom:auto;left:auto;transform:none}[data-appearance=soft] .app-content{padding-bottom:0}.study-feature,.study-path{grid-column:span 7}.study-progress,.study-today{grid-column:span 5}.study-feature{grid-template-columns:1fr}.concept-object{display:none}.theme-options{grid-template-columns:repeat(2,minmax(0,1fr))}.appearance-heading{flex-direction:column;gap:10px}.appearance-material,.p05-app .settings-layout{grid-template-columns:1fr}.p05-app .settings-nav{flex-wrap:wrap;gap:8px;display:flex}}@media (width<=640px){[data-appearance] .main-content{padding:22px 18px 32px}[data-appearance] .topbar{height:64px;padding:14px 18px}.p05-app .local-note .preview-badge{display:none}[data-appearance] h1,[data-appearance] .page-title{font-size:24px}[data-appearance=cute] .app-shell,[data-appearance=glass] .app-shell,[data-appearance=tech] .app-shell{border-radius:28px;min-height:calc(100vh - 20px);margin:10px}[data-appearance=soft] .app-shell{padding:0 10px 22px}[data-appearance=cute] .main-content,[data-appearance=tech] .main-content{padding:20px 16px}[data-appearance=cute] .topbar-title,[data-appearance=soft] .topbar-title{display:none}[data-appearance=cute] .topbar-brand,[data-appearance=soft] .topbar-brand{margin-right:auto}.topbar-brand small{display:none}.p05-app .topbar-brand .brand-text{display:block}.p05-app .topbar-brand .brand-mark{flex-basis:28px;width:28px}.p05-app .topbar-brand .brand-text{font-size:15px}.appearance-preview-note{gap:8px 14px;padding:10px 18px}.appearance-preview-note .text-link{margin-left:0}.home-composition{grid-template-columns:minmax(0,1fr);gap:22px}[data-appearance] .home-composition>section{grid-column:1/-1;padding:22px}.study-feature h2{font-size:24px}.chapter-status{display:none}.home-composition .metric-grid{gap:12px}.home-composition .metric-value{font-size:19px}.theme-options{gap:12px}.theme-option{border-radius:16px;padding:10px}.theme-diagram{height:72px}.theme-option strong{font-size:12px}.theme-option small{font-size:11px}.appearance-color-row{gap:14px}.appearance-material{padding:16px}.appearance-actions>.text-link{margin-left:0}}@keyframes p05-press{0%,to{transform:translateY(0)}50%{transform:translateY(2px)scale(.98)}}@keyframes p05-spring{0%,to{transform:scale(1)}35%{transform:scale(.95)}70%{transform:scale(1.025)}}@keyframes p05-glow{50%{box-shadow:0 0 18px color-mix(in srgb, var(--p05-accent) 35%, transparent)}}.material-feedback{animation:.22s p05-press}[data-appearance=cute] .material-feedback{animation:.38s p05-spring}[data-appearance=cool] .material-feedback{animation:.2s p05-glow}[data-reduced-motion=on] .material-feedback{animation:none!important}@media (prefers-reduced-motion:reduce){.material-feedback{animation:none!important}}[data-appearance] .block-canvas{--block-program:#dce7f5;--block-variable:#ddece5;--block-number:#e6e8f7;--block-control:#f2e6d3;--block-logic:#eae0f2;--block-output:#f2dfea;--block-ink:#24344c;--block-edge:#708095;--block-field:#fff;--block-field-ink:#24344c;--block-field-edge:#8292aa;--block-field-radius:4px;--block-arrow-filter:brightness(0);--block-ui-filter:none;--block-filter:none;--block-stroke:1px;--block-canvas:var(--p05-surface);--block-tool-surface:var(--p05-raised);--block-tool-ink:var(--p05-text);--block-tool-active:var(--p05-active);--block-tool-radius:5px;--block-tool-shadow:none;--block-selection:var(--p05-accent);--block-selection-filter:none}[data-appearance=cute] .block-canvas{--block-program:#eddded;--block-variable:#ddebe4;--block-number:#e5e1f5;--block-control:#f3e4d0;--block-logic:#ebdcf1;--block-output:#f3dae6;--block-ink:#513445;--block-edge:#96667f;--block-field-edge:#a47c91;--block-field-ink:#513445;--block-field-radius:10px;--block-filter:drop-shadow(0 -1px 0 #fff) drop-shadow(0 2px 2px #b982a74a);--block-stroke:1.4px;--block-tool-radius:15px;--block-tool-shadow:inset 0 1px 0 #fff;--block-selection-filter:drop-shadow(0 0 3px #be185d45)}[data-appearance=glass] .block-canvas{--block-program:#e1e8ed;--block-variable:#e0e9e5;--block-number:#e4e6ef;--block-control:#ede6dc;--block-logic:#e8e2ec;--block-output:#ece1e8;--block-ink:#343e4c;--block-edge:#6b7c8a;--block-field-ink:#343e4c;--block-field-edge:#84929e;--block-field-radius:7px;--block-filter:drop-shadow(0 -1px 0 #fff) drop-shadow(0 2px 1px #6d7c8c24);--block-tool-radius:9px;--block-tool-shadow:inset 0 1px 0 #ffffffb3}[data-appearance=soft] .block-canvas{--block-program:#e5dfd4;--block-variable:#dee3d8;--block-number:#e0dfe8;--block-control:#ece1c9;--block-logic:#e5dde5;--block-output:#eadbd9;--block-ink:#403d35;--block-edge:#7a776d;--block-field:#faf8f3;--block-field-ink:#403d35;--block-field-edge:#8d887c;--block-field-radius:6px;--block-filter:drop-shadow(-1px -1px 0 #fff) drop-shadow(1px 2px 0 #9b928569);--block-tool-radius:12px;--block-tool-shadow:inset 2px 2px 4px #b1aa9f66, inset -2px -2px 4px #fff}[data-appearance=cool] .block-canvas{--block-program:#25354a;--block-variable:#29413f;--block-number:#303c5c;--block-control:#473f34;--block-logic:#433653;--block-output:#493549;--block-ink:#e7eefc;--block-edge:#8cace1;--block-field:#172236;--block-field-ink:#edf3ff;--block-field-edge:#8ba1bc;--block-field-radius:5px;--block-canvas:#111b2b;--block-arrow-filter:brightness(0) invert(1);--block-ui-filter:invert(1) brightness(1.6);--block-tool-surface:#172236;--block-tool-ink:#e7eefc;--block-tool-active:#2a3d62;--block-tool-radius:7px;--block-tool-shadow:inset 0 1px 0 #96baff40;--block-filter:drop-shadow(0 0 2px #6a94ff26);--block-stroke:1.2px;--block-selection:#b7ceff;--block-selection-filter:drop-shadow(0 0 4px #7a9bff99)}[data-appearance=tech] .block-canvas{--block-program:#e3e9f1;--block-variable:#e3ece9;--block-number:#e8e6f0;--block-control:#ece8dc;--block-logic:#e9e3ed;--block-output:#ece3e8;--block-ink:#394759;--block-edge:#748193;--block-field:#f9fbff;--block-field-ink:#394759;--block-field-edge:#8592a4;--block-field-radius:8px;--block-filter:drop-shadow(0 -1px 0 #fff) drop-shadow(0 2px 3px #a0aec44d);--block-tool-radius:12px;--block-tool-shadow:2px 3px 5px #b6c0d355, -2px -2px 4px #fff}[data-appearance][data-theme=dark] .block-canvas{--block-arrow-filter:brightness(0) invert(1);--block-ui-filter:invert(1) brightness(1.6);--block-program:#29364b;--block-variable:#283d38;--block-number:#30364e;--block-control:#443c2d;--block-logic:#3d3049;--block-output:#473343;--block-ink:#eaf0fc;--block-edge:#9baac2;--block-field:#192234;--block-field-ink:#eaf0fc;--block-field-edge:#8ba1bc}[data-appearance=cute][data-theme=dark] .block-canvas{--block-program:#433444;--block-variable:#2f413b;--block-number:#3d3550;--block-control:#4b3d33;--block-logic:#44324d;--block-output:#4e3244;--block-ink:#f9eaf2;--block-edge:#c7a0ba;--block-filter:drop-shadow(0 -1px 0 #f9eaf233) drop-shadow(0 2px 2px #07050b66);--block-tool-shadow:inset 0 1px 0 #f9eaf224}[data-appearance=glass][data-theme=dark] .block-canvas{--block-program:#303c49;--block-variable:#30413f;--block-number:#383e50;--block-control:#464039;--block-logic:#433b4a;--block-output:#473d46;--block-ink:#edf0f6;--block-edge:#a7b5c2;--block-filter:drop-shadow(0 -1px 0 #ffffff2e) drop-shadow(0 2px 1px #03050a55);--block-tool-shadow:inset 0 1px 0 #ffffff24}[data-appearance=soft][data-theme=dark] .block-canvas{--block-program:#393830;--block-variable:#343b32;--block-number:#393941;--block-control:#443e2e;--block-logic:#403641;--block-output:#443534;--block-ink:#f0ede5;--block-field:#25251f;--block-field-ink:#f0ede5;--block-edge:#b4ad9b;--block-filter:drop-shadow(-1px -1px 0 #f0ede524) drop-shadow(1px 2px 0 #07070488);--block-tool-shadow:inset 2px 2px 4px #090b0d77, inset -2px -2px 4px #f0ede51a}[data-appearance=cool][data-theme=dark] .block-canvas{--block-program:#25354a;--block-variable:#29413f;--block-number:#303c5c;--block-control:#473f34;--block-logic:#433653;--block-output:#493549;--block-edge:#8cace1}[data-appearance=tech][data-theme=dark] .block-canvas{--block-filter:drop-shadow(0 -1px 0 #ffffff21) drop-shadow(0 2px 3px #02050a88);--block-tool-shadow:2px 3px 5px #02050a66, -1px -1px 3px #ffffff12}[data-appearance] .block-canvas .blocklyMainBackground,[data-appearance] .block-canvas .blocklyFlyoutBackground{fill-opacity:1;fill:var(--block-canvas)!important}[data-appearance] .block-canvas .blocklyToolbox{color:var(--block-tool-ink);border-right:1px solid var(--p05-border);padding:12px 0;background:var(--block-tool-surface)!important}[data-appearance] .block-canvas .blocklyToolboxCategory{border-radius:var(--block-tool-radius);box-sizing:content-box;height:28px;margin:3px 7px 7px;padding:5px 8px 5px 3px;line-height:28px;border-left-width:3px!important}[data-appearance] .block-canvas .blocklyToolboxCategoryLabel{color:var(--block-tool-ink);font-family:Microsoft YaHei UI,Microsoft YaHei,system-ui,sans-serif;font-size:13px}[data-appearance] .block-canvas .blocklyToolboxCategory.blocklyToolboxSelected,[data-appearance] .block-canvas .blocklyToolboxCategory:not(.blocklyToolboxSelected):hover{box-shadow:var(--block-tool-shadow);background:var(--block-tool-active)!important}[data-appearance] .block-canvas .blocklyToolboxCategory.blocklyToolboxSelected .blocklyToolboxCategoryLabel{color:var(--block-tool-ink);font-weight:600}[data-appearance] .block-canvas .blocklyBlock:has(>.blocklyPath[fill=\#5ba5a5]){--block-fill:var(--block-program)}[data-appearance] .block-canvas .blocklyBlock:has(>.blocklyPath[fill=\#5ba586]){--block-fill:var(--block-variable)}[data-appearance] .block-canvas .blocklyBlock:has(>.blocklyPath[fill=\#5b67a5]){--block-fill:var(--block-number)}[data-appearance] .block-canvas .blocklyBlock:has(>.blocklyPath[fill=\#a5865b]){--block-fill:var(--block-control)}[data-appearance] .block-canvas .blocklyBlock:has(>.blocklyPath[fill=\#865ba5]){--block-fill:var(--block-logic)}[data-appearance] .block-canvas .blocklyBlock:has(>.blocklyPath[fill=\#a55ba5]){--block-fill:var(--block-output)}[data-appearance] .block-canvas .blocklyBlock:not(.blocklyInsertionMarker,.blocklyDisabled)>.blocklyPath:not(.blocklyPathSelected){fill:var(--block-fill,var(--block-program));stroke:var(--block-edge);stroke-width:var(--block-stroke);filter:var(--block-filter)}[data-appearance] .block-canvas .blocklyBlock>.blocklyLabelField>.blocklyText{fill:var(--block-ink)}[data-appearance] .block-canvas .blocklyBlock .blocklyField>.blocklyFieldRect{fill:var(--block-field);fill-opacity:1;stroke:var(--block-field-edge);stroke-width:1px;rx:var(--block-field-radius);ry:var(--block-field-radius)}[data-appearance] .block-canvas .blocklyField:not(.blocklyLabelField) .blocklyText,[data-appearance] .block-canvas .blocklyDropdownText{fill:var(--block-field-ink)!important}[data-appearance] .block-canvas .blocklyDropdownField>image{filter:var(--block-arrow-filter)}[data-appearance] .block-canvas .blocklyZoom image,[data-appearance] .block-canvas .blocklyTrash image{filter:var(--block-ui-filter)}[data-appearance] .block-canvas .blocklyDropdownArrow{fill:var(--block-field-ink)}[data-appearance] .block-canvas .blocklyEditableText:hover>.blocklyFieldRect,[data-appearance] .block-canvas .blocklyField.blocklyActiveFocus>.blocklyFieldRect{stroke:var(--block-selection);stroke-width:2px}[data-appearance] .block-canvas .blocklyBlock.blocklySelected>.blocklyPath{stroke:var(--block-selection);stroke-width:2.5px;filter:var(--block-selection-filter)}[data-appearance] .block-canvas .blocklyBlock>.blocklyPathSelected{fill:none}[data-appearance] .block-canvas .blocklyBlock.blocklyHighlighted>.blocklyPath{stroke:var(--block-selection);stroke-width:3px;stroke-dasharray:6 3;filter:var(--block-selection-filter)}[data-appearance] .block-canvas .blocklyHighlightedConnectionPathVisible{stroke:var(--block-selection);stroke-width:4px}[data-appearance] .block-canvas .blocklyInsertionMarker>.blocklyPath{fill:var(--block-selection);fill-opacity:.3;stroke:var(--block-selection);stroke-width:1.5px}[data-appearance] .blocklyWidgetDiv .blocklyHtmlInput{color:var(--p05-text);background:var(--p05-surface);border-color:var(--p05-accent)}@media (prefers-contrast:more){[data-appearance][data-theme] .block-canvas{--block-stroke:2px;--block-filter:none;--block-selection-filter:none}}:root[data-appearance] .p05-app .sidebar-collapse{align-self:end;align-items:center;gap:8px;min-height:36px;margin:-12px 0 20px;padding:6px 10px;font-size:12px;display:inline-flex}@media (width>=1101px){:root[data-appearance] .p05-app[data-sidebar=collapsed]{grid-template-columns:60px minmax(0,1fr)}:root[data-appearance] .p05-app[data-sidebar=collapsed] .sidebar{align-items:center;width:60px;padding:20px 8px}:root[data-appearance] .p05-app[data-sidebar=collapsed] .sidebar-collapse{align-self:center;min-width:44px;min-height:44px;margin:0 0 20px;padding:10px}:root[data-appearance] .p05-app[data-sidebar=collapsed] .sidebar .brand{margin-bottom:28px;padding:0}:root[data-appearance] .p05-app[data-sidebar=collapsed] .sidebar .brand-mark{width:36px;height:36px;font-size:16px}:root[data-appearance] .p05-app[data-sidebar=collapsed] .sidebar .brand-text,:root[data-appearance] .p05-app[data-sidebar=collapsed] .sidebar-note,:root[data-appearance] .p05-app[data-sidebar=collapsed] .sidebar-footer,:root[data-appearance] .p05-app[data-sidebar=collapsed] .nav-link span,:root[data-appearance] .p05-app[data-sidebar=collapsed] .sidebar-collapse span{display:none}:root[data-appearance] .p05-app[data-sidebar=collapsed] .sidebar nav{width:44px}:root[data-appearance] .p05-app[data-sidebar=collapsed] .nav-link{justify-content:center;width:44px;min-height:44px;padding:10px}}.p05-app .workbench-focus-toggle{white-space:nowrap;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:8px 12px;display:inline-flex}.p05-app[data-workbench-mode=focus] .main-content{padding:16px}.p05-app[data-workbench-mode=focus] .page-heading{margin-bottom:16px}.p05-app[data-workbench-mode=focus] .page-title{font-size:22px}.p05-app[data-workbench-mode=focus] .page-kicker,.p05-app[data-workbench-mode=focus] .page-description{display:none}.p05-app .layout-save-notice{flex-wrap:wrap;gap:8px 20px;margin:12px 24px;display:flex}.workspace-context-toggle{margin:4px 0 16px}.workspace-context>[hidden],.adaptive-workbench [hidden]{display:none!important}.adaptive-workbench{width:100%;min-width:0;margin-top:16px;container-type:inline-size}.workbench-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:44px;margin-bottom:8px;display:flex}.workbench-tools .text-link,.workbench-resize-hint{font-size:12px}.workbench-resize-hint{color:var(--p05-muted)}.workbench-split{grid-template-columns:clamp(var(--pane-first-min), calc((100% - var(--pane-gutter)) * var(--split-ratio) / 100), calc(100% - var(--pane-gutter) - var(--pane-second-min))) var(--pane-gutter) minmax(0, 1fr);align-items:stretch;min-width:0;display:grid}.workbench-region{min-width:0}.workbench-region-heading{justify-content:space-between;align-items:center;gap:8px;min-height:44px;margin-bottom:8px;font-size:13px;font-weight:600;display:flex}.workbench-region-heading .pane-expand{align-items:center;gap:6px;min-height:36px;padding:5px 10px;font-size:12px;display:inline-flex}.pane-expand svg{width:16px;height:16px}.workbench-region-content{min-width:0}.workbench-region-content>.workbench-panel,.workbench-region-content>.practice-generated-code>.workbench-panel{min-height:520px}.workbench-region-content>.practice-generated-code{min-width:0}.adaptive-workbench .block-canvas{height:clamp(440px,58dvh,720px)}.workbench-divider{touch-action:none;cursor:col-resize;outline-offset:-3px;border-radius:6px;justify-content:center;align-items:stretch;display:flex;position:relative}.workbench-divider span{background:var(--p05-border);border-radius:4px;align-self:center;width:4px;height:48px}.workbench-divider:hover,.workbench-divider:focus-visible{background:var(--p05-active)}.workbench-divider:hover span,.workbench-divider:focus-visible span{background:var(--p05-accent)}.workbench-divider[aria-disabled=true]{cursor:default}.adaptive-workbench[data-expanded=first] .workbench-split,.adaptive-workbench[data-expanded=second] .workbench-split,.adaptive-workbench[data-single-pane=true] .workbench-split,.adaptive-workbench[data-narrow=true] .workbench-split{grid-template-columns:minmax(0,1fr)}.workbench-tabs{background:var(--p05-active);border-radius:12px;gap:4px;width:100%;padding:4px;display:flex}.workbench-tabs button{min-width:0;min-height:44px;font:inherit;cursor:pointer;color:var(--p05-text);background:0 0;border:0;border-radius:8px;flex:1;padding:9px 12px;font-size:13px}.workbench-tabs [aria-selected=true]{background:var(--p05-surface);color:var(--p05-accent);font-weight:600}.lesson-main .section-card>p,.lesson-main .section-card>ul,.lesson-main .section-card>ol{max-width:76ch}@media (width<=1100px){:root[data-appearance] .p05-app .sidebar-collapse{display:none}}@media (width<=600px){:root[data-appearance] .p05-app .topbar{gap:8px;height:auto;min-height:68px;padding:12px 16px}.p05-app .topbar-title,.p05-app .local-note .preview-badge,.p05-app .workbench-focus-toggle span{display:none}.p05-app .local-note{gap:8px}.workbench-region-content>.workbench-panel{min-height:420px}}
