:root{font-family:Instrument Sans,Avenir Next,system-ui,sans-serif;color:#1f2921;background:#f7f8f3;font-synthesis:none;--ink: #1f2921;--muted: #58655c;--line: #e1e7db;--white: #fff;--canvas: #f7f8f3;--accent: #1c5a41;--accent-soft: #e5f0e5;--shadow: 0 2px 4px #1d3c2807, 0 10px 22px #1d3c2805}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:300px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{opacity:.59;cursor:default}a{color:var(--accent)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex="0"]:focus-visible{outline:2px solid #168457;outline-offset:3px}button,a{touch-action:manipulation}h1,h2,h3,p,blockquote{margin:0}h2,h3,strong{font-weight:700}h2{font-size:17px;letter-spacing:-.025em}h3{font-size:16px}p{line-height:1.55}small,.muted{color:var(--muted)}svg{flex-shrink:0}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link:focus{position:fixed;top:10px;left:10px;z-index:10;padding:10px;background:var(--white)}.app-shell{min-height:100vh;display:grid;grid-template-columns:222px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;padding:24px 14px 14px;border-right:1px solid var(--line);background:var(--white)}.brand{display:flex;gap:10px;align-items:center;padding:0 8px;margin-bottom:42px;width:max-content;text-decoration:none;color:var(--ink);font-size:20px;font-weight:700;letter-spacing:-.06em}.brand-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#1e5a42;color:#e6f9b9}.sidebar-body{flex:1;overflow:auto;padding:3px;margin:-3px}.sidebar-label{display:flex;align-items:center;font-size:10px;font-weight:700;letter-spacing:.14em;color:var(--muted);padding:0 10px;margin:0 0 8px}.courses-label{margin-top:28px;justify-content:space-between}.sidebar button{display:flex;align-items:center;width:100%;gap:9px;min-height:39px;padding:7px 10px;border:0;border-radius:8px;background:transparent;text-align:left;font-size:13px;font-weight:600;color:var(--muted)}.sidebar button:hover{background:var(--canvas);color:var(--ink)}.sidebar button[aria-current]{color:#174b37;background:var(--accent-soft);font-weight:700}.sidebar .icon-button{width:26px;height:26px;min-height:26px;padding:0;justify-content:center}.nav-indicator{width:5px;height:5px;margin-left:auto;background:var(--accent);border-radius:50%}.course-icon{width:25px;height:25px;display:grid;place-items:center;border-radius:6px;background:#edf0e5;color:var(--accent)}.course-exam{margin-left:17px;padding-left:9px;border-left:1px solid var(--line)}.course-exam button{min-height:33px;padding:5px 7px}.course-exam .course-module{margin-left:8px;width:calc(100% - 8px)}.course-dot{width:6px;height:6px;margin:0 3px;border-radius:50%;background:currentColor}.sidebar-foot{border-top:1px solid var(--line);padding-top:12px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--white);border-bottom:1px solid var(--line);min-height:69px;padding:10px 30px}.breadcrumbs{display:flex;gap:9px;align-items:center;font-size:13px;color:var(--muted);min-width:0}.breadcrumbs span,.breadcrumbs strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumbs strong{color:var(--ink);font-weight:600}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.topbar .actions{flex-wrap:nowrap}.demo-badge,.tag{display:inline-flex;width:fit-content;align-items:center;gap:6px;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:600;color:var(--accent);background:var(--accent-soft);white-space:nowrap}.demo-badge span{background:#378057;width:6px;height:6px;border-radius:50%}.button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:7px 12px;border:1px solid var(--line);background:var(--white);border-radius:8px;font-weight:650;font-size:13px;text-decoration:none;width:fit-content;color:var(--ink)}.button:hover:not(:disabled),.icon-button:hover:not(:disabled){background:var(--canvas)}.icon-button{background:transparent;border-color:transparent;width:35px;min-height:35px;padding:0;color:var(--muted)}.button.primary{color:#fff;border-color:var(--accent);background:var(--accent)}.button.primary:hover:not(:disabled){background:#174b37}.button.compact{min-height:31px;font-size:12px;padding:4px 9px}.button.wide{width:100%}.main{padding:26px 30px 36px;max-width:1500px;margin:0 auto}.hero{isolation:isolate;position:relative;overflow:hidden;min-height:203px;border-radius:16px;padding:25px 28px 28px;background:linear-gradient(110deg,#123a2d 12%,#18523b 74%,#226247);color:#fff;box-shadow:var(--shadow)}.hero-content{position:relative;z-index:1;width:fit-content;max-width:100%}.eyebrow{display:flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.13em;color:#d6e9d0;font-weight:700;min-height:18px}.hero h1{font-size:clamp(33px,4.5vw,56px);font-weight:700;letter-spacing:-.065em;line-height:1.05;margin:8px 0 5px;overflow-wrap:anywhere}.hero p{color:#e2ede2;font-size:14px}.hero p span{margin:0 3px}.hero-actions{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}.button.hero-primary{background:#dcf3ab;border-color:#dcf3ab;color:#213724}.button.hero-primary:hover:not(:disabled){background:#f0ffc9}.button.hero-secondary{color:#fff;background:#245440;border-color:#68917b}.button.hero-secondary:hover:not(:disabled){background:#326a51}.hero-pattern{position:absolute;z-index:-1;inset:0 0 0 38%;background-image:radial-gradient(#b9e0b84a 1px,transparent 1px);background-size:18px 18px;-webkit-mask-image:linear-gradient(90deg,transparent,black);mask-image:linear-gradient(90deg,transparent,black)}.hero-emblem{display:grid;place-items:center;position:absolute;z-index:-1;top:50%;right:12%;width:154px;height:154px;transform:translateY(-50%);color:#d4ef9e}.hero-emblem div{position:absolute;inset:0;border:1px solid #d0ee9f55;border-radius:50%}.hero-emblem div:nth-child(2){inset:-21px;border-style:dashed}.hero-emblem div:nth-child(3){inset:-49px;border-color:#d0ee9f39}.stats{margin:16px 0;display:grid;gap:13px;grid-template-columns:repeat(4,minmax(0,1fr))}.stat{border:1px solid var(--line);border-radius:12px;background:var(--white);box-shadow:var(--shadow);padding:13px 15px;display:flex;align-items:center;gap:11px;min-width:0}.stat div{display:flex;flex-direction:column;font-size:12px;color:var(--muted)}.stat strong{color:var(--ink);font-size:23px;line-height:1.12;letter-spacing:-.05em;margin-top:2px;font-variant-numeric:tabular-nums}.tile-icon{display:inline-grid;flex-shrink:0;place-items:center;width:37px;height:37px;border-radius:9px;color:#286044;background:#ebf3e7}.tile-icon.blue{color:#2f6080;background:#e8f2f8}.tile-icon.amber{color:#7a5812;background:#fff2d7}.tile-icon.violet{color:#634b8d;background:#f0eaf9}.workspace-grid{display:grid;gap:15px;grid-template-columns:minmax(0,2.25fr) minmax(245px,1fr);align-items:start}.workspace-main,.workspace-side{min-width:0;display:grid;gap:14px}.panel{min-width:0;border:1px solid var(--line);border-radius:13px;background:var(--white);box-shadow:var(--shadow);overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding:16px}.panel-title{display:flex;align-items:center;gap:9px;min-width:0}.panel-title p{color:var(--muted);font-size:12px}.panel-body{padding:4px 17px 18px}.segmented{display:flex;width:fit-content;max-width:100%;gap:2px;padding:3px;border-radius:8px;background:#eff2eb}.segmented button{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;padding:5px 7px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--muted);font-size:11px;font-weight:650}.segmented button[aria-pressed=true]{border-color:var(--line);background:var(--white);color:var(--accent);box-shadow:0 1px 2px #102d1714}.map-frame{position:relative;min-height:345px;background:radial-gradient(#cbd6c8 1px,transparent 1px) #f8faf5;background-size:17px 17px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.map-scroll{width:100%;min-height:345px;height:345px;overflow:auto}.map-scroll:focus-visible{outline-offset:-3px}.map-fit{position:relative;margin:0 auto}.map-inner{position:absolute;transform-origin:top left}.map-links{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#849688;stroke-width:1.7px;pointer-events:none}.map-links path[data-type=extends]{stroke:#5d739a;stroke-dasharray:6 4}.map-links path[data-type=contrasts]{stroke:#925e8d;stroke-dasharray:3 5}.map-links path.trace-edge{stroke:#af3037;stroke-width:2.7px}.map-node{position:absolute;z-index:1;background:var(--white);border:1px solid #dce4da;border-radius:10px;box-shadow:0 3px 9px #16332210}.concept-node{width:180px;height:77px;display:grid;gap:6px;padding:10px;text-align:left;border-left-width:4px;border-left-color:#a2a9a5}.concept-node.developing{border-left-color:#b58220}.concept-node.strong{border-left-color:#468968}.concept-node.weak{border-left-color:#c05756}.concept-node.cleared{border-left-color:#be8a08}.concept-node.trace-node{border-color:#b73940;box-shadow:0 0 0 2px #f6cacb}.node-name,.node-caption{display:flex;align-items:center;justify-content:space-between;gap:4px}.node-name{font-size:12px;font-weight:700}.node-name svg{color:var(--muted)}.node-caption{color:var(--muted);font-size:11px;font-weight:600}.edge-button{position:absolute;z-index:2;transform:translate(-50%,-50%);border:1px solid #dbe5d8;border-radius:999px;background:var(--white);color:var(--muted);padding:2px 6px;font-size:9px;font-weight:650}.edge-button:hover,.map-node:hover{border-color:var(--accent)}.branch-node{display:flex;align-items:center;width:177px;height:50px;color:var(--accent)}.branch-node>button{display:flex;align-items:center;gap:6px;height:100%;background:transparent;border:0;border-radius:8px;font-weight:650;font-size:11px;min-width:0;padding:0 7px;text-align:left}.branch-node>button:first-child{flex:1}.branch-node>button:first-child span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.branch-node>.icon-button{width:24px;min-width:24px}.zoom{display:flex;flex-direction:column;position:absolute;bottom:10px;right:10px;padding:2px;border:1px solid var(--line);border-radius:7px;background:var(--white);box-shadow:var(--shadow)}.zoom button{border:0;border-radius:4px;background:transparent;display:grid;place-items:center;padding:6px}.zoom button:hover:not(:disabled){background:var(--canvas)}.map-legend{display:flex;padding:10px 15px;align-items:center;flex-wrap:wrap;gap:7px}.state{display:inline-flex;align-items:center;white-space:nowrap;gap:4px;border-radius:999px;font-weight:700;padding:3px 7px;font-size:10px;color:#4e5b51;background:#eef1ed}.state.weak{color:#8d2d36;background:#fce8e9}.state.developing{color:#735313;background:#fdf0d7}.state.strong{color:#216345;background:#e4f3e8}.state.cleared{color:#725500;background:#fff0b5}.outline{min-height:330px;max-height:470px;overflow:auto;padding:12px;border-top:1px solid var(--line)}.outline button{display:flex;align-items:center;gap:8px;max-width:calc(100% - 68px);border:0;border-radius:7px;background:var(--white);text-align:left;padding:9px}.outline button:hover,.outline button:focus{background:var(--accent-soft)}.outline-indent{width:14px}.trace-return{border:0;background:var(--white);color:#902e35;display:inline-flex;gap:4px;align-items:center;margin:0 0 8px 16px;font-size:13px;font-weight:650}.source-list{display:grid;padding:0 11px}.source-row{min-width:0;display:grid;grid-template-columns:32px minmax(0,1fr) 15px;align-items:center;padding:8px 4px;gap:8px;text-align:left;background:transparent;border:0;border-bottom:1px solid #edf0ea}.source-row:last-child{border-bottom:0}.source-row:hover{background:var(--canvas)}.source-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:7px;color:#286044;background:#eef4e9}.source-icon.web{color:#2b6485;background:#e9f4f9}.source-icon.youtube{color:#a23b42;background:#fbecec}.source-row strong{display:block;overflow-wrap:anywhere;font-size:12px}.source-row small{font-size:10px}.source-row>svg{color:var(--muted)}.panel-footer{padding:12px 14px 14px}.plan-card{display:flex;gap:10px;border:1px solid #dce9d9;border-radius:12px;background:#eff5ea;padding:13px}.plan-card p{color:var(--muted);font-size:12px;margin:2px 0 6px}.plan-card button{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:var(--accent);padding:0;font-size:12px;font-weight:700}.workspace-form{display:grid;gap:13px}.workspace-form>.button{justify-self:start}.workspace-form p{overflow-wrap:anywhere}.workspace-form label{display:grid;gap:5px;font-size:13px;font-weight:650}.workspace-form input:not([type=checkbox]),.workspace-form select,.workspace-form textarea{min-width:0;width:100%;background:var(--white);border:1px solid #bbc8bd;border-radius:7px;padding:8px 10px;color:var(--ink)}.workspace-form textarea{resize:vertical;min-height:90px}.workspace-form select{max-width:300px}.empty{display:grid;justify-items:center;gap:9px;padding:20px;color:var(--muted);text-align:center;font-size:14px}.empty h1,.empty h3{color:var(--ink)}.map-empty{min-height:345px;align-content:center}.start-empty{min-height:390px;align-content:center}.error-banner{display:flex;gap:10px;align-items:center;padding:10px 12px;margin-bottom:12px;border:1px solid #f2b7bc;border-radius:8px;background:#fff2f2;color:#822b34;font-size:13px}.error-banner span{flex:1}.error-banner .icon-button{color:inherit;min-height:28px;width:28px}.gap-panel{border-color:#e9b9b9}.gap-panel .panel-head{background:#fff5f4}.gap-icon{color:#9b3039;background:#fce1e2}.gap-panel .panel-body{padding-top:12px}blockquote{border-left:3px solid #a4c09f;padding-left:10px;line-height:1.5;font-size:14px}.gap-panel blockquote{border-color:#e0a0a0}.quote-card{display:grid;gap:8px}.citation-list{display:flex;flex-wrap:wrap;gap:7px}.citation{display:inline-flex;align-items:center;gap:6px;width:fit-content;max-width:100%;background:var(--accent-soft);color:var(--accent);border:1px solid #cbdcca;border-radius:7px;text-align:left;font-size:12px;font-weight:650;min-height:31px;padding:5px 8px}.citation:hover{border-color:var(--accent)}.dialog{border:1px solid var(--line);width:min(540px,calc(100% - 28px));padding:0;max-height:calc(100dvh - 28px);overflow:auto;background:var(--white);color:var(--ink);border-radius:14px;box-shadow:0 20px 80px #102b3960}.dialog::backdrop{background:#12281da0}.dialog-head{position:sticky;top:0;background:var(--white);z-index:2;display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:10px 15px}.dialog-head h2{font-size:18px}.dialog-body{padding:16px}.dropzone{position:relative;padding:22px;border:1px dashed #a8baaa;border-radius:9px;background:var(--canvas);justify-items:center;text-align:center;overflow-wrap:anywhere}.dropzone:hover,.dropzone:focus-within{border-color:var(--accent);background:var(--accent-soft)}.dropzone input{position:absolute;inset:0;opacity:0;cursor:pointer}.dropzone span:last-of-type{font-size:12px;color:var(--muted)}.setting{grid-template-columns:1fr auto;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.setting small{display:block;margin-top:3px;font-weight:400}.setting input{width:18px;height:18px;accent-color:var(--accent)}.source-text,.answer-text{white-space:pre-wrap;font-size:14px}.battle-status{display:flex;align-items:center;gap:13px;flex-wrap:wrap;padding:11px 12px;border-radius:9px;background:var(--canvas)}.hearts{display:flex;gap:5px;color:#a93343}.health-bar{flex:1;min-width:100px}progress{width:100%;accent-color:var(--accent);height:9px}.question-head{display:flex;justify-content:space-between;gap:7px;align-items:center}.question{font-size:21px;line-height:1.3}.options,.corrections{display:grid;gap:7px}.options button{display:flex;align-items:center;gap:10px;width:100%;background:var(--white);font-size:14px;min-height:43px;text-align:left;padding:6px 10px;border:1px solid var(--line);border-radius:8px}.options button>span{width:26px;height:26px;display:grid;place-items:center;flex-shrink:0;border-radius:5px;font-weight:700;background:var(--canvas);color:var(--muted)}.options button:hover:not(:disabled),.options button.correct-option{background:var(--accent-soft);border-color:#86aa8b;opacity:1}.feedback,.panel-note{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;font-size:13px}.feedback.positive{background:#e5f4e7;color:#205b3e}.feedback.negative{background:#feecec;color:#862e38}.panel-note{background:var(--canvas)}.work-panel audio{width:100%}.transcript{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px;line-height:1.6;padding:13px;border-radius:8px;background:var(--canvas)}.transcript mark{padding:0 2px;color:#6b4f1c;background:#ffedbd;border-radius:3px}.correction{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:7px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}.correction small{display:flex;align-items:center;gap:5px;font-size:11px}.edit-caption{padding:10px;background:var(--canvas);border-radius:8px}.plan-list,.revision-path{margin:0;padding-inline-start:24px}.plan-list li{padding:0 0 5px 3px}.plan-list button{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;background:var(--white);border:1px solid var(--line);border-radius:8px;padding:8px 10px;text-align:left;font-size:13px}.plan-list button:hover{border-color:var(--accent)}.plan-list button span{display:inline-flex;align-items:center;color:var(--accent);gap:5px;white-space:nowrap}html[data-readable=true]{font-family:Atkinson Hyperlegible Next,Verdana,sans-serif;letter-spacing:.02em;word-spacing:.04em}html[data-readable=true] p{line-height:1.65}html[data-contrast=true]{--ink: #0a120d;--muted: #28382e;--line: #748779;--accent: #10432d;--canvas: #fff;color:var(--ink);background:var(--canvas)}html[data-contrast=true] button:focus-visible,html[data-contrast=true] a:focus-visible{outline-width:3px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}html[data-motion=true] *,html[data-motion=true] *:before,html[data-motion=true] *:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}@media(max-width:1120px){.app-shell{grid-template-columns:190px minmax(0,1fr)}.main,.topbar{padding-inline:20px}.workspace-grid{grid-template-columns:minmax(0,1fr)}.workspace-side{grid-template-columns:1fr 1fr;align-items:start}}@media(max-width:720px){.app-shell{display:block}.sidebar{position:static;height:auto;border:0;border-bottom:1px solid var(--line);padding:9px 12px;display:grid;grid-template-columns:1fr auto;align-items:center}.brand{margin:0;padding-left:0;font-size:18px}.brand-icon{width:32px;height:32px}.sidebar-body{grid-column:1 / -1;grid-row:2;margin:0;overflow:visible}.sidebar-label{display:none}.sidebar-body nav:first-of-type{display:flex;gap:3px;flex-wrap:wrap;margin-top:6px}.sidebar-body nav:first-of-type button{width:auto;min-height:31px;font-size:11px;gap:4px;padding:5px 7px}.sidebar-body nav:first-of-type svg{width:14px}.sidebar-body .courses-label{display:flex;margin:3px 0 0;padding:0 5px}.course-nav{display:flex;gap:7px;flex-wrap:wrap}.course-nav>div{display:flex;align-items:center;flex-wrap:wrap}.course-nav button{width:auto;min-height:29px;padding:3px 5px;font-size:11px}.course-exam{display:flex;align-items:center;margin-left:3px;padding-left:3px}.course-exam .course-module{margin-left:1px;width:auto}.sidebar-foot{padding:0;border:0;grid-column:2;grid-row:1}.sidebar-foot button{padding:4px;min-height:32px;font-size:11px}.nav-indicator{display:none}.main,.topbar{padding-inline:12px}.main{padding-top:12px}.topbar{min-height:47px;padding-block:5px}.topbar .actions{gap:2px}.breadcrumbs span:first-of-type,.breadcrumbs>svg:first-child{display:none}.breadcrumbs{gap:3px;font-size:11px}.top-add{white-space:nowrap;min-height:32px;padding:4px 7px;font-size:11px}.demo-badge{font-size:10px;padding:3px 5px}.hero{padding:17px;min-height:160px}.hero-emblem{opacity:.35;right:8%;width:90px;height:90px}.hero-emblem svg{width:47px}.hero-actions{margin-top:11px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));margin:10px 0;gap:7px}.stat{padding:7px;gap:6px}.stat strong{font-size:18px}.tile-icon{width:31px;height:31px}.workspace-side{grid-template-columns:1fr}.panel-head{padding:12px}.map-scroll{height:320px}}@media(max-width:540px){.concept-node .node-name{font-size:13px}.concept-node .node-caption,.concept-node .state{font-size:12px}.edge-button{font-size:11px}.map-frame,.map-scroll,.map-empty{min-height:310px}}
