.atlas{gap:var(--sp-3) var(--sp-5);min-width:0;padding-left:var(--gutter-l);padding-right:var(--gutter-r);grid-template-columns:minmax(0,1fr);grid-template-areas:"head""stage""rail""list";display:grid;position:relative}.atlas-head{flex-wrap:wrap;grid-area:head;justify-content:space-between;align-items:center;gap:6px 16px;min-width:0;display:flex}.atlas-title{font:400 var(--fs-h3)/1.15 var(--f-display);color:var(--ink);flex-wrap:wrap;align-items:baseline;gap:2px 14px;min-width:0;display:flex}.atlas-title__meta{font:500 var(--fs-meta)/1.4 var(--f-mono);letter-spacing:.06em;color:var(--ink-3)}.atlas-viewswitch .seg label{min-height:32px;padding:5px 14px}.atlas-mini{display:none}.atlas-rail{gap:var(--sp-5);flex-direction:column;grid-area:rail;min-width:0;display:flex}.atlas-stage{grid-area:stage;min-width:0;min-height:0;position:relative}.atlas-list{grid-area:list;min-width:0;display:none}.atlas[data-view=list] .atlas-list{display:block}@media (min-width:760px){.atlas[data-view=map]{height:calc(100dvh - var(--topbar-h) - var(--sp-5) - var(--sp-4));min-height:520px;margin-bottom:calc(var(--sp-4) - var(--sp-7));grid-template-rows:auto minmax(0,1fr)}}@media (min-width:1280px){.atlas{grid-template:"head head""rail stage"minmax(0,1fr)/minmax(270px,320px) minmax(0,1fr)}.atlas[data-view=list]{grid-template-areas:"head head""rail list";align-items:start}.atlas-rail{overscroll-behavior:contain;scrollbar-width:thin;margin:-14px -8px 0 -4px;padding:14px 8px 18px 4px;overflow-y:auto}.atlas[data-view=list] .atlas-rail{top:calc(var(--topbar-h) + var(--sp-3));max-height:calc(100dvh - var(--topbar-h) - var(--sp-5));position:sticky}}@media (min-width:760px) and (max-width:1279.98px){.atlas[data-view=list]{grid-template-areas:"head""rail""list"}.atlas[data-view=list] .atlas-rail,.atlas[data-view=map] .atlas-rail{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));align-items:start;padding-top:12px;display:grid}.atlas[data-view=map] .map-legend{max-width:calc(100% - 60px);top:14px;bottom:auto;left:38px}}@media (min-width:760px) and (max-width:1279.98px) and (max-aspect-ratio:1){.atlas[data-view=map]{grid-template-rows:auto auto auto;grid-template-areas:"head""stage""rail";height:auto;margin-bottom:0}.atlas[data-view=map] .atlas-stage{height:min(64vh, calc(100vw - 2 * var(--gutter)));min-height:420px}}@media (min-width:760px) and (max-width:1279.98px) and (min-aspect-ratio:1){.atlas[data-view=map]{grid-template-areas:"head""stage"}.atlas[data-view=map] .atlas-rail{z-index:5;overscroll-behavior:contain;scrollbar-width:thin;place-self:end start;gap:var(--sp-3);grid-area:stage;width:min(320px,100% - 130px);max-height:calc(100% - 28px);margin:0 0 14px 34px;padding:14px 6px 6px;display:flex;position:relative;overflow-y:auto}.atlas[data-view=map] .atlas-cont__trail{display:none}.atlas[data-view=map] .atlas-start__body{font-size:var(--fs-sm)}}@media (max-width:759.98px){.atlas{gap:var(--sp-4);flex-direction:column;display:flex}.atlas-title{font-size:var(--fs-h4)}.atlas-mini{display:block}.atlas-stage,.atlas-stage[hidden]{display:none!important}.atlas-list{display:block}.atlas-rail{padding-top:10px}}.atlas-card{min-width:0}.atlas-cont{--tilt:-.7deg}.atlas-cont__trail{font-size:var(--fs-sm);color:var(--ink-2);line-height:1.45}.atlas-cont__trail b{color:var(--ink);box-shadow:inset 0 -2px 0 var(--pen);font-weight:700}.atlas-cont .index-card__actions .btn--sm{min-height:40px}.atlas-review{background:var(--paper-hi);border:1px solid var(--rule);border-radius:var(--r-1);box-shadow:var(--shadow);padding:12px 12px 10px}.atlas-review__h{font:700 var(--fs-hand-lg)/1 var(--f-hand);color:var(--ink-2);align-items:center;gap:10px;padding:0 4px 8px;display:flex}.atlas-review__list{border-top:1px solid var(--rule);gap:2px;padding-top:6px;display:grid}.atlas-review__empty{font:600 var(--fs-hand)/1.2 var(--f-hand);color:var(--ink-3);padding:4px}.atlas-review__sample{font:600 .625rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-left:auto}.atlas-row{border-radius:var(--r-3);min-height:44px;color:var(--ink-2);grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 6px;text-decoration:none;display:grid}.atlas-row:hover{background:var(--pen-soft);color:var(--ink)}.atlas-row__main{gap:1px;min-width:0;display:grid}.atlas-row__name{font-size:var(--fs-ui);color:var(--ink);font-weight:700;line-height:1.25}.atlas-row__meta{font-size:var(--fs-sm);color:var(--ink-2);line-height:1.3}.atlas-row__code{font:500 var(--fs-meta)/1 var(--f-mono);color:var(--ink-3)}.atlas-start{--tilt:.5deg;padding-right:44px}.atlas-start__x{border:1.5px solid var(--rule-strong);border-radius:var(--r-4);width:36px;height:36px;color:var(--ink-2);background:0 0;place-items:center;display:grid;position:absolute;top:8px;right:8px}.atlas-start__x:hover{border-color:var(--ink);color:var(--ink)}.atlas-start__x svg{width:12px;height:12px}.atlas-start__body{font-size:var(--fs-ui);color:var(--ink-2);line-height:1.45}.atlas-start .index-card__actions{margin-right:-32px}.map-frame{background:var(--paper);border:1px solid var(--rule-strong);border-radius:var(--r-2);height:100%;min-height:0;box-shadow:var(--shadow);position:relative;overflow:hidden}.map-frame:after{content:"";z-index:4;pointer-events:none;background:radial-gradient(circle, var(--hole) 0 4px, var(--rule-strong) 4px 5px, transparent 5.6px) center top 40px / 14px 104px repeat-y;width:14px;position:absolute;top:0;bottom:0;left:8px}.map-canvas{touch-action:none;cursor:grab;width:100%;max-width:none;height:100%;display:block;position:absolute;inset:0}.map-canvas[data-gestures=tap]{touch-action:pan-y;cursor:default}.map-canvas.is-dragging{cursor:grabbing}.map-canvas.is-pointing,.map-canvas.is-over-cluster{cursor:pointer}.map-canvas:focus-visible{outline:2.5px solid var(--focus);outline-offset:-5px;border-radius:var(--r-2)}.map-tip{z-index:6;background:var(--paper-hi) linear-gradient(var(--red), var(--red)) no-repeat 0 30px / 100% 1px;border:1px solid var(--rule-strong);border-radius:var(--r-1);width:max-content;max-width:290px;box-shadow:var(--shadow);pointer-events:none;font-size:var(--fs-sm);color:var(--ink-2);opacity:0;visibility:hidden;padding:9px 14px 12px;line-height:1.4;transition:opacity .15s,transform .15s;position:absolute;top:0;left:0;transform:translateY(4px)}.map-tip.is-shown{opacity:1;visibility:visible;transform:none}.map-tip__code{font:600 .65625rem/1.6 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;padding-bottom:6px;overflow:hidden}.map-tip__name{font:400 1.0625rem/1.2 var(--f-display);color:var(--ink);margin:6px 0 4px}.map-tip__row{font-size:.78125rem}.map-tip__row b{color:var(--ink);font-weight:700}.map-tip__go{font:600 1.125rem/1.1 var(--f-hand);color:var(--pen);margin-top:6px}.map-zoom{z-index:3;background:var(--paper-hi);border:1.5px solid var(--ink);border-radius:var(--r-3);flex-direction:column;display:flex;position:absolute;bottom:16px;right:16px;overflow:hidden}.map-zoom button{width:40px;height:38px;color:var(--ink);background:0 0;border:0;place-items:center;display:grid}.map-zoom button+button{border-top:1px solid var(--rule-strong)}.map-zoom button:hover{background:var(--pen-soft)}.map-zoom button:focus-visible{outline-offset:-4px}.map-zoom svg{width:14px;height:14px}.map-legend{z-index:3;background:var(--paper-hi);border:1px solid var(--rule);border-radius:var(--r-1);max-width:calc(100% - 140px);color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:6px 14px;padding:8px 12px;font-size:.78125rem;line-height:1.3;display:flex;position:absolute;bottom:16px;left:38px}.map-legend .lg{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.map-legend .lg-sample{font:600 .625rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--red);border-left:1px solid var(--rule);padding-left:12px}.map-hint{z-index:3;pointer-events:none;max-width:280px;font:500 var(--fs-meta)/1.7 var(--f-mono);color:var(--ink-3);text-align:right;position:absolute;top:14px;right:16px}@media (max-width:1099.98px){.map-hint{display:none}}.atlas-glyph .g-hl{fill:var(--hl)}.atlas-glyph .g-h{fill-opacity:1}.atlas-glyph .pat-line--light{stroke:var(--ink-2);stroke-width:.9px}.atlas-glyph .g-at{fill:none;stroke:var(--ink-3);stroke-width:.9px;opacity:.45}.atlas-glyph .g-a{fill:none;stroke:var(--pen);stroke-width:1.7px;stroke-linecap:round}.atlas-mini{background:var(--paper);border:1px solid var(--rule-strong);border-radius:var(--r-2);height:220px;box-shadow:var(--shadow);margin:0;position:relative;overflow:hidden}.atlas-mini__canvas{cursor:pointer;width:100%;max-width:none;height:100%;position:absolute;inset:0}.atlas-mini figcaption{font:600 1.0625rem/1 var(--f-hand);color:var(--ink-3);pointer-events:none;position:absolute;bottom:8px;left:12px}.l-sessions{gap:18px;display:grid}.l-sess{gap:8px;display:grid}.l-sess__h{font:600 .65625rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);padding:4px 2px 0}.lec{background:var(--paper-hi);border:1px solid var(--rule);border-radius:var(--r-1);scroll-margin-top:calc(var(--topbar-h) + 12px)}.lec>summary{cursor:pointer;border-radius:var(--r-1);grid-template-columns:2.8em minmax(0,1fr) auto;align-items:baseline;gap:10px;min-height:48px;padding:12px 14px;list-style:none;display:grid}.lec>summary::-webkit-details-marker{display:none}.lec>summary:focus-visible{outline-offset:-3px}.lec>summary:hover{background:var(--pen-soft)}.lec__code{font:400 1.25rem/1 var(--f-display);color:var(--ink)}.lec__title{font-size:var(--fs-ui);color:var(--ink-2);font-weight:700;line-height:1.3}.lec__count{font:500 var(--fs-meta)/1 var(--f-mono);color:var(--ink-3);white-space:nowrap}.lec ul{border-top:1px solid var(--rule);margin:0;padding:4px 6px 6px;list-style:none}.lec__foot{font-size:var(--fs-sm);padding:4px 14px 12px}.l-topic{border-radius:var(--r-3);min-height:44px;font-size:var(--fs-ui);color:var(--ink-2);grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px;line-height:1.3;text-decoration:none;display:grid}.l-topic:hover{background:var(--pen-soft);color:var(--ink)}.l-topic.is-current{color:var(--ink);font-weight:700}.l-topic__st{font:500 .65625rem/1.2 var(--f-mono);color:var(--ink-3);text-align:right;white-space:nowrap}.l-topic__st.is-review{color:var(--red)}.l-topic.is-current .l-topic__st{color:var(--pen)}.atlas-ex{font:600 .625rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--red);white-space:nowrap}.l-topic__st .atlas-ex,.sheet-topic__st .atlas-ex{margin-top:3px;display:block}.lec.is-flash{animation:1.2s ease-out atlasFlash}@keyframes atlasFlash{25%{background-color:var(--pen-soft)}}@media (max-width:420px){.lec>summary{grid-template-columns:2.6em minmax(0,1fr)}.lec__count{grid-column:2}}.lecture{gap:var(--sp-4) var(--sp-5);min-width:0;padding-left:var(--gutter-l);padding-right:var(--gutter-r);grid-template-columns:minmax(0,1fr);grid-template-areas:"stage""sheet";display:grid}.lecture-stage{grid-area:stage;min-width:0;height:clamp(300px,52vh,460px);position:relative}.lecture-sheet{grid-area:sheet;min-width:0}@media (min-width:1000px){.lecture{height:calc(100dvh - var(--topbar-h) - var(--sp-5) - var(--sp-4));min-height:520px;margin-bottom:calc(var(--sp-4) - var(--sp-7));grid-template-columns:minmax(0,1fr) minmax(360px,40%);grid-template-areas:"stage sheet"}.lecture-stage{height:auto;min-height:0}.lecture-sheet{overscroll-behavior:contain;scrollbar-width:thin;margin-top:-12px;padding:12px 4px 4px;overflow-y:auto}}@media (max-width:759.98px){.lecture{gap:var(--sp-4)}.lecture-stage{height:260px}.lecture-stage .map-frame:after,.lecture-stage .map-zoom{display:none}}.lecture .sheet{padding:22px 24px 28px}.lecture .sheet .page-head{margin-bottom:14px}.sheet-nav{font:500 var(--fs-xs)/1.4 var(--f-mono);flex-wrap:wrap;justify-content:space-between;gap:8px 16px;display:flex}.sheet-nav a{color:var(--ink-2);padding:6px 2px;text-decoration:none}.sheet-nav a:hover{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.sheet-sec{border-top:1px solid var(--rule);margin-top:22px;padding-top:16px}.sheet-sec:first-of-type{border-top:0;margin-top:0;padding-top:0}.sheet-sec__h{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin-bottom:8px;display:flex}.sheet-sec__h h2{font:400 var(--fs-h4)/1.2 var(--f-display);color:var(--ink)}.sheet-objectives{font-size:var(--fs-ui);color:var(--ink);gap:4px;margin:0;padding-left:1.3em;line-height:1.45;display:grid}.sheet-objectives li::marker{color:var(--pen);font-weight:700}.sheet-desc{font-size:var(--fs-ui);color:var(--ink-2);max-width:var(--measure);line-height:1.5}.sheet-topics{border-top:1px solid var(--rule);margin:0;padding:0;list-style:none}.sheet-topics li{border-bottom:1px solid var(--rule)}.sheet-topic{min-height:48px;color:var(--ink-2);border-radius:var(--r-3);grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 6px;text-decoration:none;display:grid}.sheet-topic:hover{background:var(--pen-soft);color:var(--ink)}.sheet-topic__name{min-width:0;font-size:var(--fs-ui);color:var(--ink);gap:1px;font-weight:700;line-height:1.3;display:grid}.sheet-topic__name small{font:500 var(--fs-meta)/1.3 var(--f-mono);color:var(--ink-3)}.sheet-topic__st{font:500 .65625rem/1.2 var(--f-mono);color:var(--ink-3);text-align:right;white-space:nowrap}.sheet-topic__st.is-review{color:var(--red)}.sheet-practice{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:10px;display:grid}.sheet-link{border:1px solid var(--rule-strong);border-radius:var(--r-2);background:var(--paper-hi);color:var(--ink-2);font-size:var(--fs-sm);gap:4px;padding:12px 14px;line-height:1.35;text-decoration:none;display:grid}.sheet-link:hover{border-color:var(--ink);background:var(--pen-soft)}.sheet-link b{font:400 var(--fs-h4)/1.15 var(--f-display);color:var(--ink)}.sheet-link--hl{background:var(--paper-hi) linear-gradient(var(--hl), var(--hl)) no-repeat 0 100% / 100% 6px}.sheet-link--none{color:var(--ink-3);border-style:dashed}.sheet-link--none b{color:var(--ink-2)}.errata{gap:14px;margin:0;padding:0;list-style:none;display:grid}.erratum{border-left:2px solid var(--red);padding:2px 0 2px 14px;position:relative}.erratum__where{font:600 var(--fs-meta)/1.4 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--red)}.erratum__issue{font-size:var(--fs-sm);color:var(--ink-2);margin-top:2px;line-height:1.45}.erratum__exam{font:600 var(--fs-hand)/1.15 var(--f-hand);color:var(--red);margin-top:6px}.erratum__exam span{font:400 var(--fs-sm)/1.45 var(--f-body);color:var(--ink);display:block}.erratum__ruling{font-size:var(--fs-sm);color:var(--ink);margin-top:6px;line-height:1.45}.erratum__topics{font:500 var(--fs-meta)/1.4 var(--f-mono);color:var(--ink-3);margin-top:4px}@media (max-width:759.98px){.lecture .sheet{padding:20px 16px 24px}}
