:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f5f7f8;--surface:#fff;--surface-soft:#eef3f2;--ink:#182b32;--muted:#596b73;--line:#dbe4e5;--brand:#0f766e;--brand-deep:#0b5b56;--brand-tint:#e7f4ef;--on-brand:#fff;--error:#a62537;--error-tint:#fff0f1;--warning:#785017;--warning-tint:#fff5df;--shadow:0 10px 35px #1635370a;background:var(--page);color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Yu Gothic UI,Hiragino Kaku Gothic ProN,Noto Sans JP,system-ui,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#111a20;--surface:#1b272f;--surface-soft:#25353d;--ink:#e4edf0;--muted:#adbec5;--line:#3b4d56;--brand:#71dac4;--brand-deep:#9ee9da;--brand-tint:#203f3c;--on-brand:#12312e;--error:#ffb1b8;--error-tint:#472a33;--warning:#f3d18b;--warning-tint:#3c3426;--shadow:none}*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.75}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.62}a{color:var(--brand-deep);text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--brand);outline-offset:4px}input,select,textarea{min-width:0}figure,p,h1,h2,h3,dl{margin-top:0}h1,h2,h3{font-weight:600;line-height:1.5}h1{letter-spacing:.015em;margin-bottom:.5rem;font-size:clamp(1.6rem,3vw,2rem)}h2{margin-bottom:1rem;font-size:1.18rem}h3{font-size:1rem}[hidden]{display:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.app-shell{grid-template-columns:230px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:var(--surface);padding:34px 22px}.brand{color:var(--ink);letter-spacing:.03em;align-items:center;gap:11px;font-weight:600;text-decoration:none;display:flex}.brand-symbol{width:36px;height:40px;color:var(--brand);place-items:center;font-size:1.9rem;font-weight:400;display:grid}.brand-caption{color:var(--muted);letter-spacing:.13em;font-size:.67rem;font-weight:400;display:block}.side-nav{gap:7px;margin-top:48px;display:grid}.nav-item{min-height:48px;color:var(--muted);border-radius:10px;align-items:center;gap:13px;padding:11px 14px;font-size:.9rem;text-decoration:none;display:flex}.nav-item:hover{background:var(--surface-soft);color:var(--ink)}.nav-item[aria-current=page]{color:var(--brand-deep);background:var(--brand-tint);font-weight:600}.nav-symbol{text-align:center;width:22px;font-size:1.2rem;font-weight:400}.sidebar-note{border-top:1px solid var(--line);color:var(--muted);margin:40px 14px 0;padding-top:20px;font-size:.74rem}.workspace{min-width:0}.topbar{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:20px;padding:20px 42px;font-size:.78rem;display:flex}.topbar-label{letter-spacing:.08em}.topbar-state{align-items:center;gap:7px;display:flex}.status-dot{background:var(--brand);border-radius:50%;width:7px;height:7px}.status-dot.offline{background:var(--warning)}.content{max-width:1120px;margin:0 auto;padding:36px 44px 64px}.page-heading{margin-bottom:28px}.eyebrow{color:var(--brand-deep);letter-spacing:.12em;margin-bottom:8px;font-size:.72rem;font-weight:600}.page-lead{color:var(--muted);max-width:66ch;margin-bottom:0;font-size:.92rem}.heading-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.button{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:.9rem;font-weight:500;line-height:1.5;text-decoration:none;display:inline-flex}.button:hover{border-color:var(--brand)}.button-primary{color:var(--on-brand);background:var(--brand);border-color:var(--brand)}.button-secondary{color:var(--brand-deep);background:var(--brand-tint);border-color:#0000}.button-small{min-height:44px;padding:8px 13px;font-size:.8rem}.button-quiet{background:0 0}.button-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px;display:flex}.panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;min-width:0;padding:26px}.panel+.panel{margin-top:22px}.intro-panel{background:var(--brand-tint);border-color:#0000}.intro-label{color:var(--brand-deep);margin-bottom:8px;font-size:.8rem;font-weight:600}.intro-panel h2{margin-bottom:10px;font-size:1.4rem}.intro-panel p{max-width:65ch;color:var(--ink);margin-bottom:0;font-size:.92rem}.section-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:32px 0 14px;display:flex}.section-row h2{margin-bottom:0}.muted{color:var(--muted)}.small{font-size:.8rem}.course-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:18px;display:grid}.course-card{flex-direction:column;gap:14px;padding:25px;display:flex}.course-card h3{margin-bottom:0;font-size:1.1rem}.course-card p{color:var(--muted);margin-bottom:0;font-size:.86rem}.course-card .button{align-self:flex-start;margin-top:auto}.course-labels{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.badge{color:var(--brand-deep);background:var(--brand-tint);border-radius:20px;padding:3px 10px;font-size:.7rem;font-weight:500;display:inline-block}.badge-neutral{color:var(--muted);background:var(--surface-soft)}.badge-error{color:var(--error);background:var(--error-tint)}.badge-warning{color:var(--warning);background:var(--warning-tint)}.metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px;display:grid}.metric{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px 20px}.metric-label{color:var(--muted);font-size:.75rem;display:block}.metric-value{font-variant-numeric:tabular-nums;margin-top:4px;font-size:1.5rem;font-weight:600;display:block}.notice{background:var(--brand-tint);color:var(--ink);overflow-wrap:anywhere;border-radius:10px;margin-bottom:20px;padding:13px 17px;font-size:.86rem}.notice-error{background:var(--error-tint);color:var(--error)}.notice-warning{background:var(--warning-tint);color:var(--warning)}.notice p:last-child{margin-bottom:0}.global-notice:empty{display:none}.update-banner{background:var(--warning-tint);border-radius:10px;flex-wrap:wrap;align-items:center;gap:14px;margin:16px 42px 0;padding:12px 18px;font-size:.85rem;display:flex}.update-banner span{flex:1;min-width:160px}.filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:24px;display:grid}.field{margin-bottom:18px}.field-label{margin-bottom:7px;font-size:.82rem;font-weight:500;display:block}.field-hint{color:var(--muted);margin:7px 0 0;font-size:.75rem}.select,.input,.textarea{border:1px solid var(--line);background:var(--surface);min-height:46px;color:var(--ink);border-radius:8px;width:100%;max-width:100%;padding:11px 13px}.textarea{resize:vertical;min-height:150px;font-family:ui-monospace,monospace;font-size:.8rem}.lesson-list{gap:14px;display:grid}.lesson-list-item{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:20px 23px;display:grid}.lesson-list-item h3{margin-bottom:5px}.lesson-list-item p{color:var(--muted);margin-bottom:0;font-size:.78rem}.breadcrumbs{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:20px;font-size:.76rem;display:flex}.breadcrumbs a{color:var(--muted)}.lesson-layout{max-width:800px}.source-line{color:var(--muted);overflow-wrap:anywhere;margin:15px 0 24px;font-size:.73rem}.lesson-section{margin:25px 0}.lesson-section:first-child{margin-top:0}.section-heading{border-left:3px solid var(--brand);margin-bottom:12px;padding-left:11px;font-size:.98rem}.lesson-paragraph{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:15px;font-size:.97rem;line-height:1.95}.section-formula{background:var(--brand-tint);border-radius:12px;padding:20px}.formula-display{overflow-wrap:anywhere;padding:12px 0;font-family:Cambria Math,Georgia,serif;font-size:1.15rem}.formula-display .katex-display{white-space:normal;overflow-wrap:anywhere;margin:.5em 0}.formula-display .katex{white-space:normal;font-size:1.05em}.formula-meaning{color:var(--muted);white-space:pre-wrap;margin:8px 0 0;font-size:.83rem}.formula-source{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8rem}.formula-fallback{font-family:inherit;font-size:.85rem}.solution-steps{counter-reset:step;margin:16px 0 0;padding:0;list-style:none}.solution-step{counter-increment:step;padding:3px 0 17px 43px;position:relative}.solution-step:before{content:counter(step);background:var(--brand-tint);width:28px;height:28px;color:var(--brand-deep);border-radius:50%;place-items:center;font-size:.75rem;display:grid;position:absolute;top:0;left:0}.solution-step p{color:var(--muted);white-space:pre-wrap;margin:5px 0 0}.lesson-diagram{margin:16px 0}.diagram-items{flex-wrap:wrap;align-items:stretch;gap:10px;display:flex}.diagram-item{background:var(--surface-soft);text-align:center;border-radius:10px;flex:120px;min-width:0;padding:16px}.diagram-label{font-size:.88rem;display:block}.diagram-detail{color:var(--muted);white-space:pre-wrap;margin-top:7px;font-size:.78rem;display:block}.diagram-arrow{color:var(--brand);flex:0 0 24px;align-self:center}.diagram-comparison{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));display:grid}.diagram-bars{grid-template-columns:1fr;display:grid}.diagram-bars .diagram-item{text-align:left}.diagram-bar{width:100%;height:16px;margin-top:12px;display:block}.bar-track{fill:var(--line)}.bar-value{fill:var(--brand)}.diagram-number{color:var(--ink);margin-top:4px;font-size:.82rem;display:block}.diagram-caption{color:var(--ink);margin-top:10px;font-size:.8rem}.diagram-alt{color:var(--muted);margin:6px 0 0;font-size:.75rem}.practice-links{gap:9px;display:grid}.practice-link{background:var(--brand-tint);border-radius:8px;padding:12px 16px;font-size:.88rem;text-decoration:none;display:block}.question-card{max-width:780px}.question-prompt{white-space:pre-wrap;overflow-wrap:anywhere;margin:18px 0 25px;font-size:1.05rem;line-height:1.9}.question-options{border:0;min-width:0;margin:0 0 26px;padding:0}.choice-option{border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:flex-start;gap:12px;min-height:52px;margin:10px 0;padding:15px 17px;display:flex}.choice-option:has(input:checked){background:var(--brand-tint);border-color:var(--brand)}.choice-option input{accent-color:var(--brand);flex:none;margin:7px 0 0}.choice-letter{min-width:20px;color:var(--brand-deep);padding-top:2px;font-size:.8rem;font-weight:600}.choice-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.93rem}.numeric-row{align-items:center;gap:10px;max-width:470px;display:flex}.numeric-row .input{font-variant-numeric:tabular-nums;flex:1;font-size:1.2rem}.numeric-unit{color:var(--muted);flex-shrink:0}.self-assessment{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:18px;margin-top:25px;padding-top:20px;display:grid}.result-symbol{background:var(--brand-tint);width:48px;height:48px;color:var(--brand-deep);border-radius:50%;place-items:center;font-size:1.5rem;display:grid}.result-symbol.incorrect{background:var(--error-tint);color:var(--error)}.result-title-row{align-items:center;gap:15px;margin-bottom:20px;display:flex}.result-title-row h2{margin:0}.answer-summary{grid-template-columns:1fr 1fr;gap:15px;margin:20px 0;display:grid}.answer-box{background:var(--surface-soft);overflow-wrap:anywhere;border-radius:9px;padding:16px}.answer-box dt{color:var(--muted);font-size:.75rem}.answer-box dd{margin:6px 0 0;font-size:1.1rem;font-weight:500}.result-explanations{border-top:1px solid var(--line);margin-top:28px;padding-top:22px}.explanation-label{color:var(--muted);margin-bottom:17px;font-size:.75rem}.data-layout{grid-template-columns:1fr 1fr;align-items:start;gap:22px;display:grid}.data-layout .panel+.panel{margin-top:0}.data-wide{grid-column:1/-1}.checkbox-label{align-items:flex-start;gap:10px;min-height:44px;font-size:.85rem;display:flex}.checkbox-label input{accent-color:var(--brand);margin-top:6px}.key-state{color:var(--muted);font-size:.82rem}.feed-advanced{margin:16px 0;font-size:.82rem}.feed-advanced summary{min-height:44px;color:var(--muted);cursor:pointer;padding:10px 0}.data-line{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:12px;padding:12px 0;font-size:.85rem;display:flex}.data-line strong{font-weight:500}.data-line span{color:var(--muted)}.capacity-track{background:var(--line);border-radius:8px;height:8px;margin-top:12px;overflow:hidden}.capacity-value{background:var(--brand);height:100%}.preview-panel{background:var(--surface-soft);border-radius:10px;margin-top:18px;padding:18px}.preview-panel h3{margin-bottom:7px}.preview-panel dl{margin-bottom:0}.preview-panel dt{color:var(--muted);font-size:.75rem}.preview-panel dd{margin:0 0 10px;font-size:.86rem}.empty-state{text-align:center;border:1px dashed var(--line);border-radius:14px;padding:30px 24px}.empty-state h2{margin-bottom:8px}.empty-state p{color:var(--muted);margin-bottom:0;font-size:.88rem}.empty-state .button{margin-top:18px}.row-list{gap:12px;display:grid}.record-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:18px 20px;display:grid}.record-row h3{margin:0 0 5px}.record-row p{color:var(--muted);margin:0;font-size:.77rem}.topic-status{border-bottom:1px solid var(--line);justify-content:space-between;gap:14px;padding:13px 0;font-size:.86rem;display:flex}.topic-status:last-child{border-bottom:0}.topic-status span{flex-shrink:0}.history-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.history-pagination{margin-top:20px}.footer-note{color:var(--muted);margin-top:30px;font-size:.72rem}.mobile-nav{display:none}.text-link{font-size:.85rem}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#111a20;--surface:#1b272f;--surface-soft:#25353d;--ink:#e4edf0;--muted:#adbec5;--line:#3b4d56;--brand:#71dac4;--brand-deep:#9ee9da;--brand-tint:#203f3c;--on-brand:#12312e;--error:#ffb1b8;--error-tint:#472a33;--warning:#f3d18b;--warning-tint:#3c3426;--shadow:none}}@media (width<=1000px){.app-shell{grid-template-columns:190px minmax(0,1fr)}.sidebar{padding-left:15px;padding-right:15px}.topbar,.content{padding-left:28px;padding-right:28px}.data-layout{grid-template-columns:1fr}}@media (width<=700px){.app-shell{display:block}.sidebar{display:none}.topbar{padding:14px 20px}.topbar-label{letter-spacing:.03em;font-size:.74rem}.content{padding:26px 20px calc(110px + env(safe-area-inset-bottom))}.page-heading{margin-bottom:23px}.panel{border-radius:13px;padding:21px}.metrics{gap:9px}.metric{padding:14px 12px}.metric-value{font-size:1.25rem}.metric-label{font-size:.7rem}.filters{grid-template-columns:1fr;gap:0}.lesson-list-item{grid-template-columns:1fr;gap:14px;padding:17px}.lesson-list-item .button{justify-self:start}.mobile-nav{z-index:10;background:var(--surface);border-top:1px solid var(--line);padding:7px 8px calc(7px + env(safe-area-inset-bottom));grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav .nav-item{border-radius:9px;flex-direction:column;gap:0;min-height:50px;padding:5px 2px;font-size:.65rem}.mobile-nav .nav-symbol{font-size:1.1rem}.self-assessment{grid-template-columns:1fr;gap:0}.answer-summary{gap:10px}.answer-box{padding:13px}.record-row{grid-template-columns:1fr;gap:12px;padding:16px}.record-row .button{justify-self:start}.update-banner{margin:12px 20px 0}.diagram-flow{grid-template-columns:1fr;display:grid}.diagram-flow .diagram-arrow{justify-self:center;transform:rotate(90deg)}.diagram-item{padding:14px}}@media (width<=380px){.content,.topbar{padding-left:14px;padding-right:14px}.panel{padding:17px}.numeric-row{flex-wrap:wrap}.numeric-row .input{min-width:120px}.answer-summary{grid-template-columns:1fr}.topbar-state{font-size:.68rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
