.map-page{padding:42px 0 80px}.map-intro{max-width:850px;margin:0 auto 30px;text-align:center}.map-intro h1{font:800 clamp(34px,5vw,58px)/1.08 Manrope,sans-serif;letter-spacing:-.05em;margin:10px 0 16px}.map-intro h1 span{display:block;font-size:.56em;color:var(--blue);margin-top:9px}.map-intro .lead{margin:0 auto;font-size:16px;max-width:760px}.map-kicker{font-size:10px;letter-spacing:.22em;color:var(--blue);font-weight:700}.map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px}.map-toolbar p{margin:0;color:var(--muted);font-size:11px}.view-switch{display:flex;gap:5px;padding:4px;border:1px solid var(--line);border-radius:10px;background:#ffffff08}.view-switch button{border:0;border-radius:7px;padding:7px 12px;background:transparent;color:#aab9d2;font:600 11px 'DM Sans',sans-serif;cursor:pointer}.view-switch button[aria-pressed=true]{background:#253b5d;color:#fff}.map-shell{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.8fr);gap:18px;align-items:stretch}.universe{position:relative;min-height:650px;overflow:hidden;border:1px solid rgba(133,164,230,.25);border-radius:26px;background:radial-gradient(ellipse at 50% 50%,rgba(65,105,190,.2),transparent 32%),radial-gradient(ellipse at 18% 18%,rgba(118,82,210,.13),transparent 34%),linear-gradient(145deg,#0b1529,#070c18 72%);isolation:isolate}.starfield{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(1px 1px at 12% 20%,#dce9ff99 50%,transparent 100%),radial-gradient(1px 1px at 76% 13%,#dce9ff88 50%,transparent 100%),radial-gradient(1.5px 1.5px at 82% 74%,#b7caff88 50%,transparent 100%),radial-gradient(1px 1px at 29% 82%,#dce9ff77 50%,transparent 100%);opacity:.7}.sector-label{position:absolute;top:24px;left:28px;z-index:5}.sector-label strong{display:block;font:800 12px Manrope;letter-spacing:.18em;color:#76baff}.sector-label span{font-size:10px;color:#9eacc5}.orbit-guides,.orbit-layer{position:absolute;inset:0;pointer-events:none}.orbit-guide{position:absolute;left:50%;top:51%;border:1px solid rgba(120,165,245,.19);border-radius:50%;transform:translate(-50%,-50%) rotate(var(--tilt))}.orbit-track{position:absolute;left:50%;top:51%;border:1px solid color-mix(in srgb,var(--orbit-color) 42%,transparent);border-radius:50%;transform:translate(-50%,-50%) rotate(var(--tilt));animation:orbit-spin var(--orbit-duration) linear infinite;pointer-events:none}.orbit-track:has(.planet-point:hover),.orbit-track:has(.planet-point:focus-visible){animation-play-state:paused}.planet-point{position:absolute;pointer-events:auto;left:var(--planet-x);top:var(--planet-y);transform:translate(-50%,-50%);width:78px;height:78px;padding:0;border:0;background:transparent;color:#fff;cursor:pointer;border-radius:50%;z-index:2}.planet-face{width:100%;height:100%;display:grid;place-items:center;animation:counter-spin var(--orbit-duration) linear infinite}.orbit-track:has(.planet-point:hover) .planet-face,.orbit-track:has(.planet-point:focus-visible) .planet-face{animation-play-state:paused}.planet-core{position:relative;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 30% 25%,color-mix(in srgb,var(--planet-color) 30%,white),var(--planet-color) 42%,color-mix(in srgb,var(--planet-color) 48%,#10152c) 78%,#111629);border:1px solid color-mix(in srgb,var(--planet-color) 75%,white);box-shadow:0 0 17px color-mix(in srgb,var(--planet-color) 65%,transparent),0 0 42px color-mix(in srgb,var(--planet-color) 36%,transparent),inset -7px -9px 16px #090e2488;transition:transform .25s,box-shadow .25s}.planet-core:after{content:"";position:absolute;inset:8px 13px 28px 11px;border-radius:50%;background:linear-gradient(140deg,#ffffff80,transparent);filter:blur(3px)}.planet-code{position:relative;z-index:1;font:800 11px Manrope;text-shadow:0 1px 4px #10152c}.planet-point:hover .planet-core,.planet-point:focus-visible .planet-core,.planet-point[aria-pressed=true] .planet-core{transform:scale(1.15);box-shadow:0 0 25px var(--planet-color),0 0 62px color-mix(in srgb,var(--planet-color) 60%,transparent)}.planet-tooltip{position:absolute;left:50%;top:calc(100% + 5px);transform:translateX(-50%) translateY(5px);width:max-content;max-width:min(260px,70vw);padding:10px 12px;border:1px solid color-mix(in srgb,var(--planet-color) 60%,#66758f);border-radius:12px;background:#101a2df5;box-shadow:0 12px 35px #0009;color:#eef3ff;text-align:left;opacity:0;visibility:hidden;transition:opacity .18s,transform .18s;z-index:20;white-space:normal;overflow-wrap:anywhere;pointer-events:none}.planet-tooltip b{display:block;color:var(--planet-color);font:800 10px Manrope;letter-spacing:.1em;margin-bottom:4px}.planet-tooltip span{display:block;font:600 12px/1.45 'DM Sans',sans-serif}.planet-point:hover .planet-tooltip,.planet-point:focus-visible .planet-tooltip,.planet-point[aria-pressed=true] .planet-tooltip{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.map-center{position:absolute;left:50%;top:51%;transform:translate(-50%,-50%);width:100px;height:100px;border-radius:50%;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 34% 28%,#e0f2ff,#70aef0 28%,#315eaa 62%,#15284d);box-shadow:0 0 30px #65aaff99,0 0 100px #397be955;border:1px solid #c8e5ff88}.map-center span{font:900 18px Manrope;color:#07152c;letter-spacing:.12em}.map-center small{font:700 7px Manrope;color:#10254a;letter-spacing:.08em;margin-top:2px}.map-legend{position:absolute;bottom:20px;left:25px;z-index:5;display:flex;gap:16px;flex-wrap:wrap;color:#91a2bf;font-size:10px}.legend-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;background:#64b7ff;box-shadow:0 0 10px #64b7ff}.map-loading{position:absolute;left:50%;top:70%;transform:translateX(-50%);color:#9eacc5;font-size:12px}.map-side{border:1px solid var(--line);border-radius:24px;background:linear-gradient(155deg,#14223a,#0d1628);padding:26px;display:flex;flex-direction:column;min-height:650px}.side-tag{font-size:10px;letter-spacing:.16em;color:#a78bfa;font-weight:700}.map-side h2{font:800 clamp(25px,3vw,34px)/1.12 Manrope;margin:24px 0 12px;letter-spacing:-.035em;color:#f2f6ff}.side-desc{color:#b5c3da;font-size:14px;line-height:1.75}.side-divider{height:1px;background:var(--line);margin:18px 0}.side-heading{font-size:10px;letter-spacing:.12em;color:#8fa4c6;font-weight:700;text-transform:uppercase}.side-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto;padding-top:20px}.meta-item{padding:11px;border-radius:12px;background:#ffffff08;border:1px solid var(--line)}.meta-item small{display:block;color:#899bb8;font-size:9px;letter-spacing:.1em;text-transform:uppercase}.meta-item strong{display:block;margin-top:4px;font-size:12px;color:#e4edff}.side-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.side-actions .button{justify-content:center;flex:1;min-width:130px;font-size:12px}.lesson-status{font-size:10px;font-weight:700;color:#8fd7b2}.lesson-status.review{color:#f0c878}.list-view{display:none;border:1px solid var(--line);border-radius:18px;padding:20px;background:#101a2d}.list-view.active{display:block}.list-entry{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.list-entry:last-child{border-bottom:0}.list-entry strong{display:block;font-size:14px}.list-entry small{color:var(--muted);font-size:11px}.list-actions{display:flex;gap:8px;flex-wrap:wrap}.list-actions button{border:1px solid #9879dc88;background:#a78bfa18;color:#e7dcff;border-radius:9px;padding:9px 12px;cursor:pointer;font:600 11px 'DM Sans',sans-serif}.list-note,.map-note{margin-top:16px;padding:14px 17px;border:1px solid var(--line);border-radius:14px;color:#9eacc5;font-size:11px;line-height:1.7}.planet-empty{color:#9eacc5;text-align:center;padding:40px 20px}.planet-point:focus-visible{outline:2px solid #fff;outline-offset:4px}@keyframes orbit-spin{from{transform:translate(-50%,-50%) rotate(var(--tilt))}to{transform:translate(-50%,-50%) rotate(calc(var(--tilt) + 360deg))}}@keyframes counter-spin{from{transform:rotate(0)}to{transform:rotate(-360deg)}}@media(max-width:1000px){.map-shell{grid-template-columns:1fr}.map-side{min-height:unset}.universe{min-height:650px}}@media(max-width:650px){.map-page{padding-top:25px}.map-intro{text-align:left}.map-intro .lead{font-size:14px}.map-toolbar{align-items:flex-start;flex-direction:column}.universe{min-height:530px;border-radius:18px}.map-side{padding:20px}.planet-point{width:66px;height:66px}.planet-core{width:54px;height:54px}.planet-tooltip{max-width:min(230px,68vw)}.map-legend{left:16px;bottom:15px;gap:10px}.list-entry{align-items:flex-start;flex-direction:column;gap:10px}}@media(prefers-reduced-motion:reduce){.orbit-track,.planet-face{animation:none!important}.planet-core,.planet-tooltip{transition:none}}.planet-point.tooltip-above .planet-tooltip{top:auto;bottom:calc(100% + 5px)}.planet-point.tooltip-left .planet-tooltip{left:0;right:auto;transform:translateY(5px)}.planet-point.tooltip-left:hover .planet-tooltip,.planet-point.tooltip-left:focus-visible .planet-tooltip,.planet-point.tooltip-left[aria-pressed=true] .planet-tooltip{transform:translateY(0)}.planet-point.tooltip-right .planet-tooltip{left:auto;right:0;transform:translateY(5px)}.planet-point.tooltip-right:hover .planet-tooltip,.planet-point.tooltip-right:focus-visible .planet-tooltip,.planet-point.tooltip-right[aria-pressed=true] .planet-tooltip{transform:translateY(0)}
.planet-review .planet-core{border-style:dashed;opacity:.9}.planet-review .planet-tooltip b{color:#f0c878}
.orbit{position:absolute;left:50%;top:51%;border:1px solid rgba(120,165,245,.10);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.orbit.o1{width:38%;height:29%}.orbit.o2{width:61%;height:56%}.orbit.o3{width:84%;height:78%;border-style:dashed;opacity:.55}
