.course-launch{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.course-launch button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:18px;gap:5px;border:1px solid var(--line,#ccc);border-radius:12px;background:transparent;color:inherit}.course-launch span{font-size:13px;opacity:.7}
.course-shell{--c-bg:#f5f5f4;--c-card:#fff;--c-text:#202020;--c-muted:#626262;--c-line:#d4d4d4;--c-fill:#e6e6e6;background:var(--c-bg);color:var(--c-text);min-height:100vh;padding:24px max(20px,calc((100vw - 1440px)/2));font-size:16px;line-height:1.6}
[data-theme=dark] .course-shell{--c-bg:#111;--c-card:#1c1c1c;--c-text:#eee;--c-muted:#b5b5b5;--c-line:#444;--c-fill:#343434}
.course-shell *{box-sizing:border-box}.course-shell button,.course-shell input,.course-shell select,.course-shell textarea{font:inherit;color:var(--c-text);border:1px solid var(--c-line);background:var(--c-card);border-radius:8px;padding:9px 12px;min-height:44px}.course-shell button{cursor:pointer}.course-shell button:hover{background:var(--c-fill)}.course-shell button:disabled{opacity:.5;cursor:default}.course-shell .primary,.course-shell .selected{background:var(--c-text);color:var(--c-card);border-color:var(--c-text)}.course-shell :focus-visible{outline:3px solid #7e91ae;outline-offset:3px}.course-shell input[aria-invalid=true]{border:2px solid #b95757}.course-shell input[aria-invalid=false]{border:2px solid var(--c-text)}.course-shell h1{font-size:clamp(28px,4vw,46px);line-height:1.15;margin:12px 0}.course-shell h2{font-size:23px;line-height:1.3;margin:0 0 20px}.course-shell h3{font-size:18px;margin:16px 0 8px}.course-shell p{margin:8px 0 16px}.course-shell label{display:flex;flex-direction:column;gap:5px;font-weight:500}.course-shell pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;font-family:ui-monospace,monospace;line-height:1.8;background:var(--c-fill);border-radius:8px;padding:14px}.course-header,.course-header-actions,.course-controls,.course-actions,.course-mode,.course-group-nav{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.course-header{justify-content:space-between;padding-bottom:24px;border-bottom:1px solid var(--c-line)}.course-header .course-volume{font-size:12px;gap:0}.course-volume input{padding:0;min-height:24px;width:100px;accent-color:var(--c-text)}.course-title{padding:32px 0 24px}.course-title>span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--c-muted)}.course-title p{color:var(--c-muted)}.course-group-nav{margin-bottom:24px}.course-layout{display:grid;grid-template-columns:225px minmax(0,1fr);gap:24px}.course-topic-nav{display:flex;flex-direction:column;gap:8px;align-self:start}.course-topic-nav button{text-align:left;font-size:14px}.course-main{padding:0;margin:0;width:100%;max-width:none;min-width:0}.course-mode{margin-bottom:20px}.course-controls{justify-content:space-between;margin-bottom:18px}.course-controls label{flex-direction:row;align-items:center}.course-columns{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:20px}.course-columns>div{min-width:0}.course-card{padding:24px;border:1px solid var(--c-line);border-radius:14px;background:var(--c-card);min-width:0}.course-reference{align-self:start;font-size:14px;color:var(--c-muted)}.course-reference pre{font-size:13px;color:var(--c-text)}.course-reference hr{border:0;border-top:1px solid var(--c-line);margin:24px 0}.course-given{padding-bottom:12px;border-bottom:1px solid var(--c-line)}.course-given p{font-family:ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.course-step{margin:24px 0}.course-step-meta{display:flex;align-items:center;gap:16px;font-size:13px;color:var(--c-muted)}.course-step-meta progress{width:130px;height:7px;accent-color:var(--c-text)}.course-fields{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 10px}.course-fields label{flex:1 1 130px;min-width:0}.course-fields input,.course-fields select{width:100%;min-width:0}.entry-feedback{font-size:12px;min-height:19px}.course-format{font-size:12px;color:var(--c-muted)}#course-feedback{margin:12px 0;font-weight:600}.course-hint{border-left:3px solid var(--c-text);padding:4px 16px;margin:18px 0;background:var(--c-fill)}.course-set{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}.course-set button{min-width:40px}.worked-course{margin-top:24px}.worked-course ol{padding-left:24px}.worked-course li{margin:24px 0}.course-shell footer{padding:32px 0 12px;font-size:12px;color:var(--c-muted)}.course-graph{margin:18px auto;max-width:440px}.course-graph svg{width:100%;display:block;color:var(--c-text)}.course-graph text{font:11px ui-monospace,monospace;fill:var(--c-text)}.course-graph .grid-line{stroke:var(--c-line);stroke-width:.5;fill:none}.course-graph .axis{stroke:var(--c-text);stroke-width:1.3;fill:none}.course-graph .boundary{stroke:var(--c-muted);stroke-width:1.5}.course-graph .feasible{fill:var(--c-text);fill-opacity:.15}.course-graph .vertex{fill:var(--c-text)}.course-graph .vector-line{stroke:var(--c-text);stroke-width:2.5}.course-graph .dashed{stroke-dasharray:6 4}.course-graph figcaption{font-size:12px;color:var(--c-muted);margin-top:8px}.course-shell textarea{width:100%;resize:vertical;font-family:ui-monospace,monospace}.course-table-scroll{overflow:auto}.course-shell table{width:100%;border-collapse:collapse;margin:18px 0}.course-shell td,.course-shell th{text-align:left;border-bottom:1px solid var(--c-line);padding:8px}.course-error{border-left:3px solid #b95757;padding:12px}
@media(max-width:1150px){.course-columns{grid-template-columns:minmax(0,1fr)}.course-reference{font-size:14px}.course-layout{grid-template-columns:195px minmax(0,1fr)}}
@media(max-width:700px){.course-shell{padding:14px}.course-header{gap:15px}.course-header-actions{gap:6px}.course-header-actions button{font-size:13px}.course-layout{display:block}.course-topic-nav{display:grid;grid-template-columns:1fr 1fr;margin-bottom:22px}.course-topic-nav button{font-size:13px;padding:10px}.course-card{padding:18px}.course-controls label{flex-direction:column;align-items:start}.course-launch{grid-template-columns:1fr}.course-title{padding-top:22px}.course-group-nav button{flex:1;font-size:14px}.course-shell input,.course-shell select,.course-shell textarea{font-size:16px}.course-fields label{flex-basis:110px}.course-mode button{flex:1;font-size:14px}}
@media print{#course-root .course-header,#course-root .course-topic-nav,#course-root .course-group-nav,#course-root .course-mode,#course-root .course-controls,#course-root .course-set,#course-root button,#course-root footer{display:none!important}.course-shell{background:#fff;color:#000;padding:0}.course-layout,.course-columns{display:block}.course-reference{display:none}.course-card{border:0}.course-step{display:none}.worked-course li{break-inside:avoid}}
