@font-face{font-family:"EB Garamond";font-style:normal;font-weight:400 700;font-display:swap;src:url("fonts/ebgaramond-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"EB Garamond";font-style:normal;font-weight:400 700;font-display:swap;src:url("fonts/ebgaramond-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"EB Garamond";font-style:italic;font-weight:400 700;font-display:swap;src:url("fonts/ebgaramond-italic-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:300 700;font-display:swap;src:url("fonts/IBMPlexSans-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:300 700;font-display:swap;src:url("fonts/IBMPlexSans-latin-ext.woff2") format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* A nautical chart: paper by day, the chart under a night lamp by night. */
:root{
  color-scheme:light;
  --bg:#f3eee2;--surface:#fbf8f0;--surface-2:#e9e3d3;
  --ink:#15181f;--ink-2:#2b303b;--muted:#4a505d;--line:#c9c2b0;--line-soft:#ddd6c5;
  --accent:#a8361a;--accent-ink:#fff;
  --land:#f6f1e4;--land-edge:rgba(40,38,32,.55);--paper-map:#ece5d4;--border:rgba(60,55,45,.55);
  --c-ro:#9a4a27;--c-ua:#1f6f78;--c-court:#14171f;--c-mine:#c8381a;--c-isl:#6c3596;--c-gas:#14171f;
  --hatch:rgba(150,104,24,.55);--disp:rgba(196,150,60,.10);--side-ro:rgba(154,74,39,.20);--side-ua:rgba(31,111,120,.20);
  --band:rgba(108,53,150,.20);--wave-ro:rgba(154,74,39,.9);--wave-ua:rgba(31,111,120,.9);
  --halo:#f6f1e4;--iso:rgba(30,60,90,.28);--iso-200:rgba(20,50,85,.62);--lab:#2a2f38;--lab-halo:rgba(246,241,228,.9);
  --serif:"EB Garamond","Iowan Old Style",Georgia,serif;--sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --topbar:44px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  color-scheme:dark;
  --bg:#0a111d;--surface:#101a29;--surface-2:#172336;
  --ink:#e9edf3;--ink-2:#cdd4df;--muted:#a6afbf;--line:#2a3649;--line-soft:#1b2638;
  --accent:#ff9a6e;--accent-ink:#1a0d06;
  --land:#1a2433;--land-edge:rgba(210,220,235,.35);--paper-map:#0c1422;--border:rgba(210,220,235,.4);
  --c-ro:#f0a27c;--c-ua:#6fd0d6;--c-court:#fbf4e2;--c-mine:#ff7b52;--c-isl:#c9a1ff;--c-gas:#fbf4e2;
  --hatch:rgba(240,196,110,.5);--disp:rgba(240,196,110,.07);--side-ro:rgba(240,162,124,.2);--side-ua:rgba(111,208,214,.18);
  --band:rgba(201,161,255,.22);--wave-ro:rgba(240,162,124,.9);--wave-ua:rgba(111,208,214,.9);
  --halo:#0a111d;--iso:rgba(150,185,220,.2);--iso-200:rgba(170,205,240,.5);--lab:#dfe5ee;--lab-halo:rgba(10,17,29,.85);
}}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0a111d;--surface:#101a29;--surface-2:#172336;
  --ink:#e9edf3;--ink-2:#cdd4df;--muted:#a6afbf;--line:#2a3649;--line-soft:#1b2638;
  --accent:#ff9a6e;--accent-ink:#1a0d06;
  --land:#1a2433;--land-edge:rgba(210,220,235,.35);--paper-map:#0c1422;--border:rgba(210,220,235,.4);
  --c-ro:#f0a27c;--c-ua:#6fd0d6;--c-court:#fbf4e2;--c-mine:#ff7b52;--c-isl:#c9a1ff;--c-gas:#fbf4e2;
  --hatch:rgba(240,196,110,.5);--disp:rgba(240,196,110,.07);--side-ro:rgba(240,162,124,.2);--side-ua:rgba(111,208,214,.18);
  --band:rgba(201,161,255,.22);--wave-ro:rgba(240,162,124,.9);--wave-ua:rgba(111,208,214,.9);
  --halo:#0a111d;--iso:rgba(150,185,220,.2);--iso-200:rgba(170,205,240,.5);--lab:#dfe5ee;--lab-halo:rgba(10,17,29,.85);
}
html{--to-top-bg:var(--bg);--to-top-fg:var(--ink)}
*{box-sizing:border-box}
[hidden]{display:none!important}
svg [hidden]{display:none}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--topbar) + 14px)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit;text-decoration-color:var(--accent);text-underline-offset:.18em;text-decoration-thickness:1.5px}
a:hover{color:var(--accent)}
:focus-visible{outline:2.5px solid var(--accent);outline-offset:3px;border-radius:4px}
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:var(--bg);padding:10px 14px;border-radius:8px;font-weight:600}
.skip-link:focus{top:10px}
h1,h2{font-family:var(--serif);font-weight:600;text-wrap:balance;line-height:1.08;letter-spacing:.003em}
strong{font-weight:600}
.anchor{opacity:0;margin-left:.3em;text-decoration:none;color:var(--muted);font-family:var(--sans);font-size:.5em;vertical-align:middle;display:inline-block;min-width:1.4em}
h2:hover .anchor,.anchor:focus-visible{opacity:1}
@media (pointer:coarse){.anchor{opacity:.55}}

/* ---------- top bar: slim, in the page's own colours */
.topbar{position:fixed;inset:0 0 auto 0;height:var(--topbar);z-index:40;display:flex;align-items:center;gap:6px;padding:0 max(14px,env(safe-area-inset-right)) 0 max(14px,env(safe-area-inset-left));background:var(--bg);color:var(--ink);border-bottom:1px solid var(--line-soft);font-size:14px}
.brand{display:flex;align-items:center;gap:8px;text-decoration:none;font-family:var(--serif);font-size:18px;font-weight:600;white-space:nowrap}
.brand-mark{width:22px;height:22px;color:var(--accent)}
.topnav{display:flex;gap:14px;margin-left:18px;opacity:0;pointer-events:none;transition:opacity .3s}
.past-hero .topnav{opacity:1;pointer-events:auto}
.topnav a{text-decoration:none;color:var(--muted);white-space:nowrap}
.topnav a:hover,.topnav a[aria-current="true"]{color:var(--ink)}
@media (max-width:1100px){.topnav{display:none}}
.spacer{flex:1}
.chip{display:inline-grid;place-items:center;min-width:44px;height:36px;padding:0 8px;border-radius:8px;text-decoration:none;font-weight:600;font-size:13px;color:var(--muted)}
.chip[aria-current="page"]{color:var(--ink);background:var(--surface-2)}
.icon-btn{display:inline-grid;place-items:center;width:44px;height:44px;border:0;background:none;color:inherit;border-radius:8px;cursor:pointer}
.icon-btn:hover{background:var(--surface-2)}
.i-moon{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .i-moon{display:block}:root:not([data-theme="light"]) .i-sun{display:none}}
:root[data-theme="dark"] .i-moon{display:block}:root[data-theme="dark"] .i-sun{display:none}
svg.i-sun[hidden],svg.i-moon[hidden]{display:none}
.progress{position:fixed;left:0;right:0;top:var(--topbar);height:1px;z-index:39;pointer-events:none}
.progress i{display:block;height:100%;background:var(--accent);transform-origin:0 50%;transform:scaleX(0);opacity:.7}
.rail{position:fixed;right:10px;top:50%;transform:translateY(-50%);z-index:30;display:flex;flex-direction:column;gap:12px;opacity:0;pointer-events:none;transition:opacity .4s}
.past-hero .rail{opacity:1;pointer-events:auto}
.rail-dot{position:relative;display:grid;place-items:center;width:18px;height:18px;text-decoration:none}
.rail-dot .dot{width:5px;height:5px;border-radius:50%;background:var(--muted);opacity:.45;transition:transform .2s,opacity .2s}
.rail-dot[aria-current="true"] .dot{opacity:1;background:var(--accent);transform:scale(1.4)}
.rail-label{position:absolute;right:24px;white-space:nowrap;font-size:12.5px;color:var(--ink);background:var(--surface);padding:2px 8px;border-radius:6px;opacity:0;pointer-events:none;transition:opacity .15s}
.rail-dot:hover .rail-label,.rail-dot:focus-visible .rail-label{opacity:1}
@media (max-width:1180px){.rail{display:none}}

/* ---------- layout: the map stays, the text moves */
main{padding-top:var(--topbar)}
.scrolly{display:grid;grid-template-columns:minmax(340px,520px) 1fr;gap:0 clamp(20px,3vw,48px);padding:0 clamp(16px,3vw,40px) 0 clamp(16px,4vw,64px);max-width:1680px;margin:0 auto}
.stage{grid-column:2;grid-row:1;position:sticky;top:calc(var(--topbar) + 12px);height:calc(100vh - var(--topbar) - 24px);height:calc(100svh - var(--topbar) - 24px);align-self:start;display:flex;flex-direction:column}
.steps{grid-column:1;grid-row:1;padding-bottom:30vh}
.step{min-height:88vh;padding:12vh 0 6vh}
.step.hero{min-height:calc(100vh - var(--topbar));padding-top:6vh}
@media (max-width:899px){
  .scrolly{display:block;padding:0}
  .stage{position:sticky;top:var(--topbar);z-index:5;height:40vh;height:40svh;background:var(--paper-map);border-bottom:1px solid var(--line-soft)}
  .steps{padding:0 16px 20vh}
  .step{min-height:0;padding:28px 0 46vh}
  .step.hero{min-height:0;padding:20px 0 34px}
  .revealed .step.hero{padding-bottom:42vh}
  .step:last-child{padding-bottom:20vh}
}

/* ---------- the map */
.map-fig{margin:0;flex:1;display:flex;flex-direction:column;min-height:0}
.map{flex:1;width:100%;min-height:0;display:block;background:var(--paper-map);border-radius:10px;--k:.3;touch-action:pan-y}
@media (max-width:899px){.map{border-radius:0}}
.paper{fill:var(--paper-map)}
.sea-dark{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .sea-dark{display:inline}:root:not([data-theme="light"]) .sea-light{display:none}}
:root[data-theme="dark"] .sea-dark{display:inline}:root[data-theme="dark"] .sea-light{display:none}
.iso{fill:none;stroke:var(--iso);stroke-width:.7;vector-effect:non-scaling-stroke}
.iso200{stroke:var(--iso-200);stroke-width:1.1}
.land{fill:var(--land);stroke:var(--land-edge);stroke-width:.8;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.border{fill:none;stroke:var(--border);stroke-width:1;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}
.hatch-line{stroke:var(--hatch);stroke-width:.55}
.disputed{stroke:none;transition:opacity .6s}
.side{transition:opacity .6s;opacity:0}.side-ro{fill:var(--side-ro)}.side-ua{fill:var(--side-ua)}
.band{fill:var(--band);opacity:0;transition:opacity .6s}
.arc{fill:none;stroke:var(--c-ua);stroke-width:1.2;stroke-dasharray:2 3;vector-effect:non-scaling-stroke;opacity:.75;transition:opacity .6s}
.ln{fill:none;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round;transition:opacity .6s}
.l-ro{stroke:var(--c-ro);stroke-width:2.2;stroke-dasharray:7 5}
.l-ua{stroke:var(--c-ua);stroke-width:2.2;stroke-dasharray:7 5}
.l-court{stroke:var(--c-court);stroke-width:3.4;opacity:0}
.l-prov{stroke:var(--c-court);stroke-width:2.6;opacity:0}
.l-isl{stroke:var(--c-isl);stroke-width:2.6;opacity:0}
.l-mine{stroke:var(--c-mine);stroke-width:3.6}
.halo{stroke:var(--halo);stroke-width:7.5;opacity:0}
.h-mine{opacity:.85}
.map:not([data-scene="draw"]) .h-mine{opacity:0}
.revealed .map[data-scene="draw"] .h-court,.revealed .map[data-scene="claims"] .h-court,.map[data-scene="verdict"] .h-court,.map[data-scene="final"] .h-court,.map[data-scene="under"] .h-court,.map[data-scene="islandzoom"] .h-court{opacity:.85}
.lab{font-size:calc(var(--k) * 12.5px);fill:var(--lab);paint-order:stroke;stroke:var(--lab-halo);stroke-width:calc(var(--k) * 3.5px);stroke-linejoin:round;pointer-events:none}
.lab-country{font-size:calc(var(--k) * 13px);letter-spacing:.08em;text-transform:uppercase;font-weight:600;fill:var(--muted)}
.lab-sea{font-family:var(--serif);font-style:italic;font-size:calc(var(--k) * 17px);fill:var(--muted)}
.lab-isl{font-size:calc(var(--k) * 12px);font-weight:600}
.bp-dot{fill:var(--c-court);stroke:var(--paper-map);stroke-width:1.5;vector-effect:non-scaling-stroke;opacity:0;transition:opacity .5s}
.isl-dot{fill:var(--c-ua);stroke:var(--paper-map);stroke-width:1.2;vector-effect:non-scaling-stroke}
.p1{fill:var(--c-court)}
.tp{opacity:0;transition:opacity .5s}.tp circle{fill:var(--c-court)}.tp text{font-size:calc(var(--k) * 13px);font-weight:700;fill:var(--c-court);paint-order:stroke;stroke:var(--lab-halo);stroke-width:calc(var(--k) * 3px)}
.gas{opacity:0;transition:opacity .5s}.gas-dot{fill:var(--c-gas);stroke:var(--halo);stroke-width:2;vector-effect:non-scaling-stroke}.lab-gas{font-size:calc(var(--k) * 12px);font-weight:600}
.wave{fill:none;stroke-width:1.3;vector-effect:non-scaling-stroke;opacity:0}
.w-ro{stroke:var(--wave-ro)}.w-ua{stroke:var(--wave-ua)}
.handle{cursor:grab;outline:none;touch-action:none}
.handle .hit{fill:transparent}
.handle .dot{fill:#fff;stroke:var(--c-mine);stroke-width:3;vector-effect:non-scaling-stroke;transition:r .15s}
.handle:focus-visible .dot{stroke:var(--ink);stroke-width:4}
.handle.drag{cursor:grabbing}
.handles{transition:opacity .4s}
/* scene by scene */
.map:not([data-scene="draw"]) .handles{opacity:0;pointer-events:none}
.map:not([data-scene="draw"]) .l-mine{opacity:.45;stroke-width:2.2}
.map:not([data-scene="draw"],[data-scene="claims"],[data-scene="final"]) .l-mine{opacity:0}
.revealed .map[data-scene="draw"] .l-court,.revealed .map[data-scene="claims"] .l-court,.map[data-scene="verdict"] .l-court,.map[data-scene="final"] .l-court,.map[data-scene="under"] .l-court,.map[data-scene="islandzoom"] .l-court{opacity:1}
.map[data-scene="waves"] .l-ro,.map[data-scene="waves"] .l-ua,.map[data-scene="island"] .l-ro,.map[data-scene="island"] .l-ua,.map[data-scene="islandzoom"] .l-ro,.map[data-scene="islandzoom"] .l-ua{opacity:0}
.map[data-scene="verdict"] .l-ro,.map[data-scene="verdict"] .l-ua,.map[data-scene="final"] .l-ro,.map[data-scene="final"] .l-ua,.map[data-scene="under"] .l-ro,.map[data-scene="under"] .l-ua{opacity:.55}
.map[data-scene="waves"] .disputed,.map[data-scene="island"] .disputed,.map[data-scene="islandzoom"] .disputed{opacity:.35}
.map[data-scene="waves"] .bp-dot,.map[data-scene="island"] .bp-dot{opacity:1}
.map[data-scene="waves"] .l-prov,.map[data-scene="island"] .l-prov{opacity:1}
.map[data-scene="waves"] .tp{opacity:1}
.map[data-scene="waves"] .wave{display:inline}
.map:not([data-scene="waves"]) .waves{display:none}
.map[data-scene="island"].island-on .l-isl,.map[data-scene="island"].island-on .band{opacity:1}
.map[data-scene="final"] .side,.map[data-scene="verdict"] .side{opacity:1}
.map[data-scene="final"] .disputed,.map[data-scene="verdict"] .disputed{opacity:.5}
.map[data-scene="under"] .gas{opacity:1}
.map[data-scene="under"] .iso200{stroke-width:2.2}
.map[data-scene="under"] .disputed{opacity:.6}
.map:not([data-scene="draw"],[data-scene="claims"],[data-scene="island"],[data-scene="islandzoom"]) .arc{opacity:.35}
.legend{display:flex;flex-wrap:wrap;gap:4px 14px;padding:8px 2px 0;font-size:13px;color:var(--muted);line-height:1.3}
.key{display:none;align-items:center;gap:6px}
.key i{display:inline-block;width:22px;height:0;border-top:2.5px dashed currentColor}
.k-ro i{color:var(--c-ro)}.k-ua i{color:var(--c-ua)}.k-court i{color:var(--c-court);border-top-style:solid;border-top-width:3.5px}.k-mine i{color:var(--c-mine);border-top-style:solid;border-top-width:3.5px}
.k-isl i{color:var(--c-isl);border-top-style:solid}.k-prov i{width:9px;height:9px;border:0;border-radius:50%;background:var(--c-court)}
.k-disp i{height:12px;border:1px solid var(--hatch);background:repeating-linear-gradient(45deg,var(--hatch) 0 1px,transparent 1px 4px)}
.k-gas i{width:10px;height:10px;border:0;border-radius:50%;background:var(--c-gas)}
html:not(.js) .key,[data-scene="draw"] ~ .legend .k-ro{display:inline-flex}
.legend .k-ro,.legend .k-ua,.legend .k-disp{display:inline-flex}
html[data-scene="draw"] .legend .k-mine,html[data-scene="claims"] .legend .k-mine,html[data-scene="final"] .legend .k-mine{display:inline-flex}
html.revealed[data-scene="draw"] .legend .k-court,html.revealed[data-scene="claims"] .legend .k-court,html[data-scene="verdict"] .legend .k-court,html[data-scene="final"] .legend .k-court,html[data-scene="under"] .legend .k-court,html[data-scene="islandzoom"] .legend .k-court{display:inline-flex}
html[data-scene="waves"] .legend .k-prov,html[data-scene="island"] .legend .k-prov{display:inline-flex}
html[data-scene="island"] .legend .k-isl{display:inline-flex}
html[data-scene="under"] .legend .k-gas{display:inline-flex}
html[data-scene="waves"] .legend .k-ro,html[data-scene="waves"] .legend .k-ua,html[data-scene="island"] .legend .k-ro,html[data-scene="island"] .legend .k-ua,html[data-scene="islandzoom"] .legend .k-ro,html[data-scene="islandzoom"] .legend .k-ua{display:none}
html:not(.js) .l-court{opacity:1}
html:not(.js) .legend .k-court{display:inline-flex}
@media (max-width:899px){.legend{position:absolute;left:0;right:0;bottom:0;padding:4px 10px 5px;background:linear-gradient(transparent,var(--paper-map) 40%);font-size:11.5px;gap:2px 10px}.key i{width:16px}}

/* ---------- text */
.kicker{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:600;margin:0 0 10px}
h1{font-size:clamp(40px,5.2vw,66px);margin:0 0 18px}
.lede{font-family:var(--serif);font-size:clamp(20px,1.6vw,23px);line-height:1.45;color:var(--ink-2);margin:0 0 18px}
.task{font-size:16.5px;color:var(--ink);background:var(--surface);border-left:3px solid var(--c-mine);padding:10px 14px;border-radius:0 8px 8px 0;margin:0 0 14px}
.readout{font-size:17px;margin:0 0 12px;min-height:3.2em}
.readout strong{font-variant-numeric:tabular-nums}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 12px}
.btn{font:inherit;font-size:15.5px;font-weight:600;min-height:44px;padding:9px 18px;border-radius:999px;border:1.5px solid var(--ink);background:none;color:var(--ink);cursor:pointer}
.btn.primary{background:var(--ink);color:var(--bg)}
.btn.primary:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn.ghost{border-color:var(--line)}
.btn.toggle[aria-pressed="true"]{background:var(--c-isl);border-color:var(--c-isl);color:#fff}
.verdict-box{background:var(--surface);border:1px solid var(--line-soft);border-radius:12px;padding:14px 16px;margin:6px 0 0}
.verdict-box p{margin:0 0 10px}
.down{font-weight:600;text-decoration:none;color:var(--accent)}
.incoming{font-size:15px;background:var(--surface-2);padding:8px 12px;border-radius:8px}
.chapter h2{font-size:clamp(30px,3vw,40px);margin:0 0 16px}
.chapter p{margin:0 0 16px;max-width:62ch}
.toggle-wrap{margin:4px 0 8px}
.island-note{min-height:1.5em;font-size:15px;color:var(--c-isl);font-weight:600}
.bars{display:grid;gap:14px;margin:6px 0 20px}
.bar-label{margin:0 0 4px!important;font-size:14px;color:var(--muted)}
.bar-track{display:flex;height:34px;border-radius:6px;overflow:hidden;font-size:13.5px;line-height:34px;white-space:nowrap}
.bar-ro{background:var(--side-ro);border-left:4px solid var(--c-ro);padding:0 8px;overflow:hidden}
.bar-ua{flex:1;background:var(--side-ua);border-right:4px solid var(--c-ua);padding:0 8px;text-align:right}
.after{max-width:760px;margin:0 auto;padding:40px 16px 10px}
.method h2{font-size:30px;margin:0 0 14px}
.method p{color:var(--ink-2);font-size:16px}
.sources{padding-left:18px;font-size:14.5px;color:var(--muted)}
.sources li{margin:0 0 6px}
.share{display:flex;flex-direction:column;gap:2px;margin:6px 0 10px}
.share-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.share-label{font-size:13.5px;color:var(--muted);margin-right:4px}
.ic{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;text-decoration:none}
.ic:hover{border-color:var(--accent);color:var(--accent)}
.share-msg{margin:0;font-size:13px;color:var(--muted);min-height:1em}
.site-footer{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:center;font-size:14px;color:var(--muted);padding:28px 20px 60px;border-top:1px solid var(--line-soft);margin-top:30px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.topbar,.rail,.progress,.share,.actions,.stage{display:none}.scrolly{display:block}}
