:root{color-scheme:dark;--ink:#eee8da;--ink-soft:#b5b8a4;--muted:#9c9a90;--tip:#7f8c81;--bg:#101311;--bg-mid:#172019;--bg-glow:#35483b;--panel:#171c19;--panel2:#1c2420;--surface-a:rgba(29,38,33,.96);--surface-b:rgba(19,25,22,.96);--field:#101411;--well:#111713;--inset-bg:#202c24;--line:#354039;--control-line:#6f8072;--gold:#dbb56e;--gold-glow:rgba(219,181,110,.24);--gold-ring:rgba(219,181,110,.12);--gold-line:rgba(219,181,110,.22);--selected-line:#627451;--selected-a:#25332a;--selected-b:#222d27;--action-bg:#292219;--action-bg-deep:#211d16;--action-line:#7d6640;--action-active-bg:#5d4826;--action-hover-bg:#4a3920;--action-hover-ink:#fff;--primary-bg:#65502c;--primary-line:#a68248;--primary-ink:#fff8e6;--pressed-bg:#63794a;--pressed-ink:#fff;--pressed-line:#d4bd7a;--status-unsaved:#aa6b58;--status-saved:#779b75;--success-line:#5b754f;--success-bg:rgba(52,79,50,.22);--success-ink:#a8c19d;--danger-ink:#bd8d7c;--tool-a:rgba(39,45,35,.42);--tool-b:rgba(22,28,24,.1);--shadow-soft:rgba(0,0,0,.18);--elev-1:0 1px 2px rgba(0,0,0,.34);--elev-2:0 2px 6px rgba(0,0,0,.3),0 1px 2px rgba(0,0,0,.22);--elev-3:0 8px 22px rgba(0,0,0,.36),0 2px 6px rgba(0,0,0,.22);--elev-4:0 18px 48px rgba(0,0,0,.5),0 4px 14px rgba(0,0,0,.3);--elev-edge:inset 0 1px 0 rgba(255,244,214,.06);--elev-inset:inset 0 1px 3px rgba(0,0,0,.42);--plate-blend:normal;--plate-filter:brightness(.78) saturate(.86) contrast(1.06);--shimmer:rgba(255,244,214,.07);--print-ink:#1f2a23;--print-paper:#fffdf8;--print-rule:#cfc5ab;--print-accent:#7d500c;--ley-accent:#6fe3da;--ley-accent-soft:rgba(111,227,218,.14);--ley-accent-line:rgba(111,227,218,.42);--ley-flow:9s;--ley-breathe:5.2s}:root[data-theme=light]{color-scheme:light;--ink:#1f2a23;--ink-soft:#3f4a41;--muted:#565d54;--tip:#566158;--bg:#f4efe3;--bg-mid:#efe8d6;--bg-glow:#e2d6b8;--panel:#fbf8f0;--panel2:#f0eadb;--surface-a:rgba(253,250,243,.97);--surface-b:rgba(247,241,228,.97);--field:#fffdf8;--well:#efe8d6;--inset-bg:#ece5d2;--line:#cfc5ab;--control-line:#857c64;--gold:#7d500c;--gold-glow:rgba(125,80,12,.3);--gold-ring:rgba(125,80,12,.2);--gold-line:rgba(125,80,12,.35);--selected-line:#6d8457;--selected-a:#e2ebd3;--selected-b:#edf2e1;--action-bg:#f3e6c8;--action-bg-deep:#efe0bd;--action-line:#8a6d33;--action-active-bg:#e3c98c;--action-hover-bg:#e6d2a3;--action-hover-ink:#1a1408;--primary-bg:#7a5a1e;--primary-line:#5a4010;--primary-ink:#fff8e6;--pressed-bg:#55703f;--pressed-ink:#fff;--pressed-line:#3d5230;--status-unsaved:#a8503a;--status-saved:#4c7a4a;--success-line:#5b8a4f;--success-bg:rgba(91,138,79,.14);--success-ink:#2f5a2a;--danger-ink:#9a3f2a;--tool-a:rgba(125,80,12,.09);--tool-b:rgba(125,80,12,.02);--shadow-soft:rgba(60,45,20,.12);--elev-1:0 1px 2px rgba(60,45,20,.14);--elev-2:0 2px 6px rgba(60,45,20,.13),0 1px 2px rgba(60,45,20,.1);--elev-3:0 8px 22px rgba(60,45,20,.15),0 2px 6px rgba(60,45,20,.09);--elev-4:0 18px 48px rgba(60,45,20,.22),0 4px 14px rgba(60,45,20,.12);--elev-edge:inset 0 1px 0 rgba(255,253,246,.7);--elev-inset:inset 0 1px 3px rgba(60,45,20,.2);--plate-blend:multiply;--plate-filter:none;--shimmer:rgba(255,253,246,.8);--print-ink:#1f2a23;--print-paper:#fffdf8;--print-rule:#cfc5ab;--print-accent:#7d500c;--ley-accent:#1d7a74;--ley-accent-soft:rgba(29,122,116,.1);--ley-accent-line:rgba(29,122,116,.38);--ley-flow:9s;--ley-breathe:5.2s}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){color-scheme:light;--ink:#1f2a23;--ink-soft:#3f4a41;--muted:#565d54;--tip:#566158;--bg:#f4efe3;--bg-mid:#efe8d6;--bg-glow:#e2d6b8;--panel:#fbf8f0;--panel2:#f0eadb;--surface-a:rgba(253,250,243,.97);--surface-b:rgba(247,241,228,.97);--field:#fffdf8;--well:#efe8d6;--inset-bg:#ece5d2;--line:#cfc5ab;--control-line:#857c64;--gold:#7d500c;--gold-glow:rgba(125,80,12,.3);--gold-ring:rgba(125,80,12,.2);--gold-line:rgba(125,80,12,.35);--selected-line:#6d8457;--selected-a:#e2ebd3;--selected-b:#edf2e1;--action-bg:#f3e6c8;--action-bg-deep:#efe0bd;--action-line:#8a6d33;--action-active-bg:#e3c98c;--action-hover-bg:#e6d2a3;--action-hover-ink:#1a1408;--primary-bg:#7a5a1e;--primary-line:#5a4010;--primary-ink:#fff8e6;--pressed-bg:#55703f;--pressed-ink:#fff;--pressed-line:#3d5230;--status-unsaved:#a8503a;--status-saved:#4c7a4a;--success-line:#5b8a4f;--success-bg:rgba(91,138,79,.14);--success-ink:#2f5a2a;--danger-ink:#9a3f2a;--tool-a:rgba(125,80,12,.09);--tool-b:rgba(125,80,12,.02);--shadow-soft:rgba(60,45,20,.12);--elev-1:0 1px 2px rgba(60,45,20,.14);--elev-2:0 2px 6px rgba(60,45,20,.13),0 1px 2px rgba(60,45,20,.1);--elev-3:0 8px 22px rgba(60,45,20,.15),0 2px 6px rgba(60,45,20,.09);--elev-4:0 18px 48px rgba(60,45,20,.22),0 4px 14px rgba(60,45,20,.12);--elev-edge:inset 0 1px 0 rgba(255,253,246,.7);--elev-inset:inset 0 1px 3px rgba(60,45,20,.2);--plate-blend:multiply;--plate-filter:none;--shimmer:rgba(255,253,246,.8);--print-ink:#1f2a23;--print-paper:#fffdf8;--print-rule:#cfc5ab;--print-accent:#7d500c;--ley-accent:#1d7a74;--ley-accent-soft:rgba(29,122,116,.1);--ley-accent-line:rgba(29,122,116,.38);--ley-flow:9s;--ley-breathe:5.2s}}:root{--dur-press:90ms;--dur-quick:160ms;--dur-panel:260ms;--dur-toast:320ms;--ease-out:cubic-bezier(.2,.8,.2,1);--ease-in-out:cubic-bezier(.65,0,.35,1);--ease-spring:cubic-bezier(.34,1.56,.64,1);--press-scale:.96;--press-scale-wide:.985;--press-y:1px;--tap-min:44px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-pill:999px;--kit-sheet-lift:0px;--kit-bar-lift:0px;--canvas-zoom:1;--land:#839d72;--water:#294d5d;--snow:#d4e1dc;--sand:#b89a61;--forest:#3f704f;--stone:#707873;--grassland:#76965b;--farmland:#9d8a4c;--dirt:#805c42;--cobblestone:#69645b;--paving:#989181;--metal:#4d5d5f;--swamp:#647a54;--ash:#875444;--terrain-chip-ink:#fff;--terrain-chip-ink-dark:#26332f;--onmap-bg:#253326;--onmap-ink:#f5e5b8;--onmap-line:#9a895b;--onmap-banner-bg:#152d26ed;--onmap-accent-bg:#e1cc8e;--onmap-accent-ink:#26322b;--onmap-handle-bg:#6b4b25;--onmap-handle-ink:#fff7df;--onmap-handle-shadow:#17211d99;--onmap-handle-focus:#243e58;--onmap-guide-shadow:#17211d;--onmap-sun:#f4c65a;--onmap-sun-ray:#fbe2a0;--onmap-moon:#e6ecf8;--onmap-moon-halo:#b9c8ee55;--onmap-blood-moon:#c73a2c;--onmap-blood-halo:#ff5a3a55;--onmap-dial-line:#fff7df;--onmap-select-halo:#f3d48a;--onmap-select-glow:rgba(243,212,138,.3);--onmap-select-hover:rgba(255,241,204,.62);--onmap-select-ink:#4a3212;--onmap-lock-hatch:rgba(74,50,18,.5);--onmap-lock-hatch-lit:rgba(255,241,204,.38);--onmap-lock-edge:#8a5a2b;--onmap-hidden-line:rgba(255,241,204,.78);--onmap-hidden-shadow:rgba(23,33,29,.6);--onmap-select-wash:rgba(243,212,138,.24);--onmap-flash:rgba(196,74,44,.42);--onmap-flash-edge:#d9623b;--onmap-label-clash:#e0703f;--onmap-label-clash-wash:rgba(224,112,63,.3);--onmap-label-snap:#7fb7c9;--onmap-label-hint-bg:#f6ecd0f0;--onmap-label-hint-ink:#3b2c1a;--onmap-label-hint-warn:#9a3f1f;--map-mark-plate:#f1e4c0;--map-mark-line:#8a6f43;--map-mark-ink:#3b2d1c;--map-canvas-bg:#213b42;--map-canvas-border:#202c26;--map-canvas-shadow-1:rgba(0,0,0,.35);--map-canvas-shadow-2:rgba(0,0,0,.24);--map-cell-shadow:rgba(255,255,255,.025);--map-cell-land-bg-1:#93a97d;--map-cell-land-bg-2:#728d66;--map-cell-water-bg-1:#356276;--map-cell-water-bg-2:#244653;--map-cell-snow-bg-1:#e0ebe6;--map-cell-snow-bg-2:#bacfc8;--map-cell-sand-bg-1:#d0b77b;--map-cell-sand-bg-2:#a98951;--map-cell-forest-bg-1:#548262;--map-cell-forest-bg-2:#315b42;--map-cell-stone-bg-1:#8b928f;--map-cell-stone-bg-2:#626b68;--map-pin-glow:#111;--map-route-mark-ink:#f2c778;--map-route-mark-glow:#182b2b;--map-cell-grassland-bg-1:#aeb978;--map-cell-grassland-bg-2:#6f955c;--map-cell-farmland-bg-1:#c4ae6f;--map-cell-farmland-bg-2:#8c824d;--map-cell-dirt-bg-1:#b28d65;--map-cell-dirt-bg-2:#76563c;--map-cell-cobblestone-bg-1:rgba(255,255,255,.08);--map-cell-cobblestone-bg-2:#9b9279;--map-cell-cobblestone-bg-3:#5e5b54;--map-cell-paving-bg-1:rgba(75,69,56,.2);--map-cell-paving-bg-2:rgba(75,69,56,.2);--map-cell-paving-bg-3:#c7c0a7;--map-cell-paving-bg-4:#817b6d;--map-cell-metal-bg-1:rgba(255,255,255,.08);--map-cell-metal-bg-2:#818b88;--map-cell-metal-bg-3:#404d4f;--map-terrain-shapes-land-fill:#b6ad72;--map-terrain-shapes-water-fill:#4b7d82;--map-terrain-shapes-snow-fill:#e9ead1;--map-terrain-shapes-sand-fill:#c8a65f;--map-terrain-shapes-forest-fill:#4f744a;--map-terrain-shapes-stone-fill:#77786d;--map-terrain-shapes-grassland-fill:#8ea663;--map-terrain-shapes-farmland-fill:#ad9a60;--map-terrain-shapes-dirt-fill:#8b6248;--map-terrain-shapes-cobblestone-fill:#777267;--map-terrain-shapes-paving-fill:#aaa28d;--map-terrain-shapes-metal-fill:#596668;--map-route-overlay-line-stroke:#f2c778;--map-route-overlay-line-shadow:#15201a;--map-canvas-bg-v2:#d9c48f;--map-canvas-border-v2:#263229;--map-canvas-shadow-1-v2:#8d7950;--map-canvas-shadow-2-v2:rgba(65,49,25,.28);--map-canvas-shadow-3:rgba(0,0,0,.3);--map-canvas-bg-1:rgba(255,248,207,.4);--map-canvas-bg-2:rgba(80,56,25,.22);--map-canvas-bg-3:rgba(89,69,35,.08);--map-cell-shadow-1:rgba(48,65,55,.16);--map-cell-shadow-2:rgba(255,255,255,.08);--map-cell-land-bg-1-v2:rgba(236,218,159,.55);--map-cell-land-bg-2-v2:#a8b47d;--map-cell-land-bg-3:#829c6d;--map-cell-water-bg-1-v2:rgba(157,190,174,.22);--map-cell-water-bg-2-v2:rgba(205,228,200,.1);--map-cell-water-bg-3:#5f8c87;--map-cell-water-bg-4:#3e6e76;--map-cell-forest-bg-1-v2:#47774d;--map-cell-forest-bg-2-v2:#37633f;--map-cell-forest-bg-3:#799765;--map-cell-forest-bg-4:#4d784d;--map-cell-sand-bg-1-v2:rgba(115,80,38,.1);--map-cell-sand-bg-2-v2:#d5bc7c;--map-cell-sand-bg-3:#b4975a;--map-cell-snow-bg-1-v2:#e8e5c9;--map-cell-snow-bg-2-v2:#b6c6b4;--map-cell-stone-bg-1-v2:rgba(55,61,54,.14);--map-cell-stone-bg-2-v2:#a2a28d;--map-cell-stone-bg-3:#747b70;--map-terrain-paint-rect-land-fill:#a6b47f;--map-terrain-paint-rect-water-fill:#54848a;--map-terrain-paint-rect-snow-fill:#d7dfd0;--map-terrain-paint-rect-sand-fill:#c7a968;--map-terrain-paint-rect-forest-fill:#5d855a;--map-terrain-paint-rect-stone-fill:#858b7b;--map-coastlines-stroke:#65573a;--map-shoal-near:#cfe0c4;--map-shoal-far:#a8cabf;--map-finish-ink:#3b2c1a;--map-finish-halo:#f4e8c8;--map-finish-paper:#efe3c2;--map-finish-line:#7a5f36;--map-finish-grain:#3a2a17;--map-finish-vignette:#2b1d0f;--map-finish-fibre:#b89b6a;--map-label-leader:#2e2418;--map-road-ink:#57412d;--map-road-paper:#f0e0ba;--map-road-edge-highway:#4a3423;--map-road-fill-cobblestone:#e8d5a9;--map-road-fill-dirt:#dfc796;--map-road-fill-footpath:#eadaae;--map-road-fill-steel:#e0d9c3;--map-road-line-dirt:#654527;--map-road-line-footpath:#72532f;--map-road-line-paved:#4d3826;--map-road-line-steel:#3e3b34;--map-road-selected:#b7683f;--map-contours-stroke:#736746;--map-route-lines-line-stroke:#a54e32;--map-route-lines-line-selected-route-stroke:#f8df9d;--map-map-labels-fill:#3e3828;--map-map-labels-glow:rgba(239,221,165,.7);--map-map-labels-circle-fill:#5b3c2e;--map-map-labels-circle-stroke:#f0d894;--map-compass-rose-stroke:#4d4430;--map-compass-rose-path-fill:#80633e;--map-compass-rose-text-fill:#4d4430;--map-route-mark-ink-v2:#f7dc8e;--map-terrain-washes-circle-land-fill:#a6b47f;--map-terrain-washes-circle-water-fill:#54848a;--map-terrain-washes-circle-snow-fill:#d7dfd0;--map-terrain-washes-circle-sand-fill:#c7a968;--map-terrain-washes-circle-forest-fill:#5d855a;--map-terrain-washes-circle-stone-fill:#858b7b;--map-coastlines-path-stroke:#66583a;--map-contours-path-stroke:#756943;--map-rivers-path-stroke:#5d9c9a;--map-rivers-path-shadow:#f0dfaa;--map-feature-tree-fill:#31583d;--map-feature-tree-stroke:#26442f;--map-feature-tree-path-stroke:#5b4c30;--map-feature-mountain-fill:#756b56;--map-feature-mountain-stroke:#4d493b;--map-feature-mountain-path-stroke:#d6c99d;--map-feature-mountain-peak-fill:#9da99b;--map-feature-dune-stroke:#876d3c;--map-feature-wave-stroke:#d6e0bd;--map-map-labels-text-fill:#493f2b;--map-map-labels-text-stroke:#d8c896;--map-map-labels-circle-fill-v2:#9d4f35;--map-map-labels-circle-stroke-v2:#f0d99a;--map-compass-rose-circle-fill:#d9c48f;--map-compass-rose-circle-stroke:#544a32;--map-compass-rose-path-fill-v2:#544a32;--map-compass-rose-text-fill-v2:#544a32;--map-map-frame-stroke:#56452d;--map-map-frame-rect-rect-stroke:#a78b55;--map-map-scale-fill:#3b2d1c;--map-map-scale-stroke:#3b2d1c;--map-map-scale-text-fill:#3b2d1c;--map-map-scale-plate-fill:rgba(241,228,192,.9);--map-map-scale-plate-stroke:#8a6f43;--map-feature-mountain-mountain-shadow-fill:#504b3e;--map-feature-mountain-mountain-snow-fill:#e7dfc0;--map-feature-mountain-mountain-snow-stroke:#6e6651;--map-feature-mountain-mountain-ink-stroke:#403d35;--map-feature-raster-shadow:rgba(55,42,26,.32);--map-event-raster-shadow:rgba(47,32,19,.46);--map-seasonal-raster-shadow:rgba(54,38,21,.3);--map-settlement-stamp-shadow:rgba(47,32,19,.5);--map-landmass-contours-fill:#c5bd83;--map-landmass-contours-stroke:#5d5138;--map-landmass-contours-shadow:rgba(46,36,23,.35);--map-rivers-river-shadow-stroke:#284e55;--map-coastlines-stroke-v2:#5f4c31;--map-coastlines-shadow:rgba(49,37,22,.35);--map-coast-details-path-stroke:#8b7650;--map-route-lines-path-stroke:#8e4932;--map-route-lines-path-shadow:rgba(49,37,22,.34);--map-route-lines-path-route-bed-stroke:#d2ae69;--map-route-lines-path-selected-route-stroke:#f8df9d;--map-location-label-circle-shadow:rgba(54,35,20,.45);--map-relief-contours-path-stroke:#5f5139;--map-compass-raster-shadow:rgba(47,32,19,.42);--map-settlement-footprint-shadow:rgba(47,32,19,.42);--map-landmass-contours-fill-v2:#c8bd80;--map-landmass-contours-fill-v3:#c0b477;--map-landmass-contours-stroke-v2:#806e46;--map-pubmap-bg:#6c9290;--map-pub-map-water-fill:#6c9290;--map-pub-landmass-contours-fill:#c8bd80;--map-terrain-regions-forest-fill:#496b42;--map-terrain-regions-stone-fill:#6f654e;--map-terrain-regions-snow-fill:#e8e5cf;--map-terrain-regions-grassland-fill:#87975c;--map-terrain-regions-farmland-fill:#a3945d;--map-terrain-regions-sand-fill:#b38c50;--map-terrain-regions-dirt-fill:#7e5a40;--map-landmass-contours-shadow-v2:rgba(46,36,23,.28);--map-terrain-regions-land-fill:#b8ad74;--map-region-labels-fill:#4f4936;--map-region-labels-stroke:#d7c994;--map-pub-smooth-contours-stroke:#84764d;--map-pub-relief-contours-stroke:#62533a;--map-pub-coastlines-stroke:#4f432d;--map-pub-river-lines-stroke:#4f8d91;--map-pub-river-lines-shadow:rgba(42,39,25,.4);--map-pub-feature-stamps-image-shadow:rgba(48,34,20,.42);--map-detail-raster-shadow:rgba(48,34,20,.34);--map-pub-route-overlay-line-stroke:#944c31;--map-pub-route-overlay-line-shadow:rgba(42,39,25,.35);--map-pub-publication-locations-image-shadow:rgba(48,34,20,.5);--map-pub-map-labels-fill:#493f2b;--map-pub-map-labels-stroke:#d8c896;--map-cell-outline:#fff1ad;--map-rivers-river-shadow-stroke-v2:#244e56;--map-shape-overlay-shadow:rgba(30,24,15,.28);--map-shape-overlay-path-fill:#dcb66c;--map-shape-overlay-path-stroke:#f0d28f;--map-shape-overlay-circle-fill:#f0d28f;--map-shape-overlay-circle-stroke:#493820;--map-coastlines-path-stroke-v2:#65573a;--map-feature-raster-shadow-v2:rgba(48,40,24,.25);--map-coastlines-path-stroke-v3:#716247;--map-region-labels-fill-v2:#544c38;--map-region-labels-stroke-v2:#e5d9af;--map-map-labels-text-stroke-v2:#eee0b8;--map-route-lines-path-stroke-v2:#8e694b;--map-route-lines-path-route-bed-stroke-v2:#ead3a0;--map-path-guide-fill:rgba(227,185,95,.09);--map-path-guide-stroke:#dfb66f;--map-path-anchor-stroke:#231f17;--map-path-anchor-fill:#f4d79a;--map-path-anchor-selected-fill:#fff6d9;--map-path-anchor-selected-stroke:#b05a31;--map-bend-handle-fill:#90c8c8;--map-insert-anchor-fill:#fff5d2;--map-handle-arm-stroke:#90c8c8;--map-path-anchor-stroke-v2:#fff;--map-fine-relief-editor-outline:#dbb56e;--map-brush-shadow-stroke:#182c32;--map-brush-erase-stroke:#ffe1a2;--map-brush-restore-stroke:#baf3cd;--map-relief-stroke:#ead094;--map-relief-cursor-stroke:#fff2bb;--map-flood-soft:#302a1d;--map-flood-sun:#3a2819;--map-sun-stop-warm:#fff0b3;--map-sun-stop-shade:#4a3422;--map-border-ink:#614c34;--map-border-draft-stroke:#edbd79;--map-authored-water-fill:#4b91a2;--map-authored-water-stroke:#2f7082;--map-authored-land-fill:#e4c47a;--map-authored-land-stroke:#8c632b;--map-cell-farmland-row:rgba(83,74,37,.2)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 75% -10%,var(--bg-glow) 0,var(--bg-mid) 30%,var(--bg) 68%);color:var(--ink);font-family:Georgia,serif}.shell{max-width:1440px;margin:auto;padding:28px 5vw 80px}.topbar{justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:20px;font-family:ui-sans-serif,system-ui}.brand,.topbar{display:flex;align-items:center}.brand{gap:10px;letter-spacing:.18em;font-size:13px;font-weight:800}.brand-mark{color:var(--gold);font-size:22px}.top-actions{gap:22px}.save-state,.top-actions{display:flex;align-items:center}.save-state{color:var(--muted);font-size:11px;gap:7px}.save-state i{width:6px;height:6px;border-radius:50%;background:var(--status-unsaved)}.save-state.is-saved i{background:var(--status-saved)}.ghost-button,.tool-button{background:transparent;color:var(--muted);border:1px solid var(--control-line);border-radius:6px;padding:8px 11px;cursor:pointer;font:11px ui-sans-serif,system-ui}.hero{padding:62px 0 42px;max-width:720px}.canvas-kicker,.eyebrow,.panel-label{font:700 10px/1.4 ui-sans-serif,system-ui;letter-spacing:.19em;color:var(--gold)}h1{font-size:clamp(43px,6vw,78px);line-height:.97;font-weight:400;margin:17px 0 22px;letter-spacing:-.035em}h1 em{color:var(--gold);font-style:normal}.lede{color:var(--muted);font-size:18px;line-height:1.5;max-width:600px}.studio{display:grid;grid-template-columns:292px 1fr;grid-gap:20px;gap:20px}.canvas-card,.panel{border:1px solid var(--line);background:linear-gradient(145deg,var(--surface-a),var(--surface-b));border-radius:14px;box-shadow:0 16px 50px var(--shadow-soft)}.panel{padding:20px}.panel-section{padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--line)}.panel-label{margin:0 0 12px}.choice{display:grid;grid-template-columns:27px 1fr;width:100%;text-align:left;background:transparent;border:1px solid transparent;border-radius:9px;color:var(--ink);padding:11px 9px;margin-bottom:6px;cursor:pointer}.choice.active{border-color:var(--selected-line);background:linear-gradient(90deg,var(--selected-a),var(--selected-b))}.choice-icon{grid-row:span 2;color:var(--gold);font-size:17px}.choice strong{font:600 13px ui-sans-serif,system-ui}.choice small{color:var(--muted);font:11px/1.4 ui-sans-serif,system-ui;margin-top:3px}.range-label{display:block;color:var(--muted);font:11px ui-sans-serif,system-ui;margin-top:17px}.range-label output{float:right;color:var(--ink)}input[type=range]{display:block;width:100%;margin-top:9px;accent-color:var(--gold)}.toggle{display:grid;grid-template-columns:18px 1fr auto;grid-gap:7px;gap:7px;align-items:center;margin:10px 0;color:var(--ink);font:12px ui-sans-serif,system-ui}.toggle input{accent-color:var(--gold)}.toggle small{color:var(--muted);font-size:10px}.text-input{width:100%;border:1px solid var(--control-line);border-radius:7px;background:var(--field);color:var(--ink);padding:10px;font:12px ui-sans-serif,system-ui;outline:none}.text-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-ring)}.actions button,.small-action{border:1px solid var(--action-line);border-radius:7px;background:var(--action-bg);color:var(--ink);padding:10px 12px;cursor:pointer;font:11px ui-sans-serif,system-ui}.small-action{margin-top:8px;width:100%}.actions button:disabled,.small-action:disabled,.tool-button:disabled{opacity:.35;cursor:not-allowed}.active-action{background:var(--action-active-bg)}.tip{color:var(--tip);font:11px/1.5 ui-sans-serif,system-ui;margin:0}.canvas-card{padding:22px;min-height:560px}.canvas-foot,.canvas-head{display:flex;align-items:center;justify-content:space-between}.canvas-head h2{font-weight:400;margin:7px 0 0;font-size:25px}.map-stats{display:flex;gap:18px;color:var(--muted);font:10px ui-sans-serif,system-ui}.map-stats b{color:var(--gold);font-size:16px;margin-right:4px}.map-toolbar{display:flex;align-items:center;gap:11px;margin-top:24px;padding:9px 10px;background:var(--well);border:1px solid var(--line);border-radius:8px;font:11px ui-sans-serif,system-ui}.tool-group{display:flex;gap:5px}.tool-button{padding:4px 8px;font-size:17px;line-height:1}.tool-divider{height:18px;border-left:1px solid var(--line)}.active-tool{display:flex;align-items:center;gap:7px;color:var(--ink)}.dot{width:9px;height:9px;border-radius:50%;background:var(--land)}.dot.water{background:var(--water)}.dot.snow{background:var(--snow)}.dot.sand{background:var(--sand)}.dot.forest{background:var(--forest)}.dot.stone{background:var(--stone)}.toolbar-spacer{flex:1 1}.seed-readout{color:var(--muted)}.seed-readout b{color:var(--ink);margin-left:4px}.seed-readout button{border:0;background:none;color:var(--gold);font-size:16px;cursor:pointer}.map-canvas{margin:15px 0;display:grid;grid-template-columns:repeat(18,1fr);grid-gap:1px;gap:1px;aspect-ratio:1.65;background:var(--map-canvas-bg);border:9px solid var(--map-canvas-border);border-radius:10px;overflow:hidden;box-shadow:inset 0 0 35px var(--map-canvas-shadow-1),0 7px 25px var(--map-canvas-shadow-2)}.cell{border:0;min-width:0;cursor:crosshair;position:relative;transition:filter .12s,transform .12s;box-shadow:inset 0 0 8px var(--map-cell-shadow)}.cell:hover{filter:brightness(1.3);z-index:1;transform:scale(1.08);border-radius:2px}.cell.land{background:linear-gradient(135deg,var(--map-cell-land-bg-1),var(--map-cell-land-bg-2))}.cell.water{background:linear-gradient(135deg,var(--map-cell-water-bg-1),var(--map-cell-water-bg-2))}.cell.snow{background:linear-gradient(135deg,var(--map-cell-snow-bg-1),var(--map-cell-snow-bg-2))}.cell.sand{background:linear-gradient(135deg,var(--map-cell-sand-bg-1),var(--map-cell-sand-bg-2))}.cell.forest{background:linear-gradient(135deg,var(--map-cell-forest-bg-1),var(--map-cell-forest-bg-2))}.cell.stone{background:linear-gradient(135deg,var(--map-cell-stone-bg-1),var(--map-cell-stone-bg-2))}.pin{color:var(--gold);font-size:14px;line-height:1;text-shadow:0 1px 3px var(--map-pin-glow)}.canvas-foot{color:var(--muted);font:10px ui-sans-serif,system-ui}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}@media(hover:hover){.actions button:hover:not(:disabled),.ghost-button:hover,.small-action:hover:not(:disabled){background:var(--action-hover-bg);color:var(--action-hover-ink)}}.primary-action{background:var(--primary-bg)!important;border-color:var(--primary-line)!important;color:var(--primary-ink)!important}.primary-action span{opacity:.6;margin-left:7px}.location-list{display:flex;gap:8px;flex-wrap:wrap;font:11px ui-sans-serif,system-ui;color:var(--muted);margin-top:12px}.location-list span{border:1px solid var(--line);border-radius:99px;padding:5px 9px}.publication-result{display:flex;align-items:center;gap:12px;margin-top:14px;padding:9px 11px;border:1px solid var(--success-line);border-radius:7px;background:var(--success-bg);font:11px ui-sans-serif,system-ui}.publication-result span{color:var(--success-ink)}.publication-result a{color:var(--gold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:780px){.studio{grid-template-columns:1fr}.hero{padding-top:42px}.canvas-card{padding:14px}.top-actions{gap:10px}.save-state{max-width:150px}.map-toolbar{gap:7px}.seed-readout{font-size:10px}.canvas-foot{gap:10px;align-items:flex-start}.canvas-foot span:last-child{text-align:right}}.route-mark{position:absolute;color:var(--map-route-mark-ink);font-size:1rem;text-shadow:0 0 5px var(--map-route-mark-glow);pointer-events:none}.inline-delete{border:0;background:transparent;color:var(--danger-ink);cursor:pointer;padding:0 .2rem}.snapshot-strip{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.snapshot-strip>span:first-child{color:var(--gold);font-weight:700;text-transform:uppercase;font-size:.68rem;letter-spacing:.12em}.location-editor{display:flex;align-items:flex-end;flex-wrap:wrap}.location-editor label{flex:1 1;min-width:220px}.project-switcher{display:flex;align-items:center;gap:7px;color:var(--muted);font:9px ui-sans-serif,system-ui;letter-spacing:.12em}.project-switcher select{max-width:170px;border:1px solid var(--control-line);border-radius:6px;background:var(--field);color:var(--ink);padding:7px 8px;font:11px ui-sans-serif,system-ui;letter-spacing:0}.project-switcher select:focus{outline:1px solid var(--gold)}@media(max-width:560px){.project-switcher span{display:none}.project-switcher select{max-width:112px}.topbar{align-items:flex-start}.top-actions{flex-wrap:wrap;justify-content:flex-end}}.location-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.75rem;gap:.75rem;align-items:end}.location-editor strong{grid-column:1/-1;color:var(--gold);font:700 10px ui-sans-serif,system-ui;letter-spacing:.14em;text-transform:uppercase}.location-editor label{color:var(--muted);font:10px ui-sans-serif,system-ui}.location-editor textarea{min-height:76px;resize:vertical}.record-provenance{grid-column:1/-1;color:var(--muted);font:10px ui-sans-serif,system-ui}@media(max-width:560px){.location-editor{grid-template-columns:1fr}}.dot.grassland{background:var(--grassland)}.dot.dirt{background:var(--dirt)}.dot.cobblestone{background:var(--cobblestone)}.dot.paving{background:var(--paving)}.dot.metal{background:var(--metal)}.map-canvas .cell.grassland{background:linear-gradient(135deg,var(--map-cell-grassland-bg-1),var(--map-cell-grassland-bg-2))}.map-canvas .cell.dirt{background:linear-gradient(135deg,var(--map-cell-dirt-bg-1),var(--map-cell-dirt-bg-2))}.map-canvas .cell.cobblestone{background:repeating-linear-gradient(135deg,var(--map-cell-cobblestone-bg-1) 0 5px,transparent 5px 10px),linear-gradient(135deg,var(--map-cell-cobblestone-bg-2),var(--map-cell-cobblestone-bg-3))}.map-canvas .cell.paving{background:repeating-linear-gradient(0deg,var(--map-cell-paving-bg-1) 0 1px,transparent 1px 9px),repeating-linear-gradient(90deg,var(--map-cell-paving-bg-2) 0 1px,transparent 1px 13px),linear-gradient(135deg,var(--map-cell-paving-bg-3),var(--map-cell-paving-bg-4))}.map-canvas .cell.metal{background:repeating-linear-gradient(90deg,var(--map-cell-metal-bg-1) 0 1px,transparent 1px 14px),linear-gradient(135deg,var(--map-cell-metal-bg-2),var(--map-cell-metal-bg-3))}.terrain-shapes{display:block;opacity:.34;filter:blur(.62px);mix-blend-mode:multiply;pointer-events:none}.terrain-shapes .land{fill:var(--map-terrain-shapes-land-fill)}.terrain-shapes .water{fill:var(--map-terrain-shapes-water-fill);fill-opacity:0}.terrain-shapes .snow{fill:var(--map-terrain-shapes-snow-fill)}.terrain-shapes .sand{fill:var(--map-terrain-shapes-sand-fill)}.terrain-shapes .forest{fill:var(--map-terrain-shapes-forest-fill)}.terrain-shapes .stone{fill:var(--map-terrain-shapes-stone-fill)}.terrain-shapes .grassland{fill:var(--map-terrain-shapes-grassland-fill)}.terrain-shapes .dirt{fill:var(--map-terrain-shapes-dirt-fill)}.terrain-shapes .cobblestone{fill:var(--map-terrain-shapes-cobblestone-fill)}.terrain-shapes .paving{fill:var(--map-terrain-shapes-paving-fill)}.terrain-shapes .metal{fill:var(--map-terrain-shapes-metal-fill)}.publication-map{position:relative}.route-overlay{position:absolute;inset:9px;z-index:2;width:calc(100% - 18px);height:calc(100% - 18px);pointer-events:none}.route-overlay line,.route-overlay path{stroke:var(--map-route-overlay-line-stroke);stroke-width:.16;stroke-dasharray:.35 .2;fill:none;filter:drop-shadow(0 0 1px var(--map-route-overlay-line-shadow))}.map-canvas{position:relative;gap:0;background:var(--map-canvas-bg-v2);border:11px solid var(--map-canvas-border-v2);box-shadow:inset 0 0 0 2px var(--map-canvas-shadow-1-v2),inset 0 0 42px var(--map-canvas-shadow-2-v2),0 14px 34px var(--map-canvas-shadow-3)}.terrain-surface{inset:11px;z-index:0;display:block}.map-canvas:before,.terrain-surface{position:absolute;pointer-events:none}.map-canvas:before{content:"";inset:0;z-index:1;opacity:.25;background-image:radial-gradient(circle at 15% 20%,var(--map-canvas-bg-1) 0 1px,transparent 1.5px),radial-gradient(circle at 70% 80%,var(--map-canvas-bg-2) 0 1px,transparent 1.6px),repeating-linear-gradient(112deg,transparent 0 13px,var(--map-canvas-bg-3) 14px,transparent 15px)}.map-canvas .cell{border:0;border-radius:0;z-index:0;transition:filter .16s,transform .16s;box-shadow:inset 0 0 0 1px var(--map-cell-shadow-1),inset 0 0 18px var(--map-cell-shadow-2);background:transparent!important;box-shadow:none}.map-canvas .cell:hover{filter:none;transform:none}.map-canvas .cell.land{background:radial-gradient(ellipse at 40% 30%,var(--map-cell-land-bg-1-v2),transparent 52%),linear-gradient(135deg,var(--map-cell-land-bg-2-v2),var(--map-cell-land-bg-3))}.map-canvas .cell.water{background:radial-gradient(ellipse at 25% 15%,var(--map-cell-water-bg-1-v2),transparent 54%),repeating-linear-gradient(8deg,transparent 0 11px,var(--map-cell-water-bg-2-v2) 12px,transparent 13px),linear-gradient(135deg,var(--map-cell-water-bg-3),var(--map-cell-water-bg-4))}.map-canvas .cell.forest{background:radial-gradient(circle at 35% 45%,var(--map-cell-forest-bg-1-v2) 0 16%,transparent 17%),radial-gradient(circle at 70% 65%,var(--map-cell-forest-bg-2-v2) 0 13%,transparent 14%),linear-gradient(135deg,var(--map-cell-forest-bg-3),var(--map-cell-forest-bg-4))}.map-canvas .cell.sand{background:repeating-linear-gradient(28deg,transparent 0 7px,var(--map-cell-sand-bg-1-v2) 8px,transparent 9px),linear-gradient(135deg,var(--map-cell-sand-bg-2-v2),var(--map-cell-sand-bg-3))}.map-canvas .cell.snow{background:linear-gradient(135deg,var(--map-cell-snow-bg-1-v2),var(--map-cell-snow-bg-2-v2))}.map-canvas .cell.stone{background:repeating-linear-gradient(145deg,transparent 0 9px,var(--map-cell-stone-bg-1-v2) 10px,transparent 12px),linear-gradient(135deg,var(--map-cell-stone-bg-2-v2),var(--map-cell-stone-bg-3))}.cartography-overlay{position:absolute;inset:11px;z-index:3;width:calc(100% - 22px);height:calc(100% - 22px);pointer-events:none;overflow:visible}.map-canvas .terrain-paint,.map-canvas .terrain-washes{display:none}.cartography-overlay .terrain-paint rect.land{fill:var(--map-terrain-paint-rect-land-fill)}.cartography-overlay .terrain-paint rect.water{fill:var(--map-terrain-paint-rect-water-fill)}.cartography-overlay .terrain-paint rect.snow{fill:var(--map-terrain-paint-rect-snow-fill)}.cartography-overlay .terrain-paint rect.sand{fill:var(--map-terrain-paint-rect-sand-fill)}.cartography-overlay .terrain-paint rect.forest{fill:var(--map-terrain-paint-rect-forest-fill)}.cartography-overlay .terrain-paint rect.stone{fill:var(--map-terrain-paint-rect-stone-fill)}.cartography-overlay .coastlines{stroke:var(--map-coastlines-stroke);stroke-width:.34;opacity:.68;fill:none}.cartography-overlay .contours{stroke:var(--map-contours-stroke);stroke-width:.22;stroke-dasharray:1.2 1.4;opacity:.34;fill:none}.cartography-overlay .route-lines line{stroke:var(--map-route-lines-line-stroke);stroke-width:.48;stroke-dasharray:1.3 .75;stroke-linecap:round;fill:none}.cartography-overlay .route-lines line.selected-route{stroke:var(--map-route-lines-line-selected-route-stroke);stroke-width:.8;stroke-dasharray:1.8 .55}.cartography-overlay .map-labels{font-family:Georgia,serif;fill:var(--map-map-labels-fill);text-shadow:0 1px var(--map-map-labels-glow)}.cartography-overlay .map-labels circle{fill:var(--map-map-labels-circle-fill);stroke:var(--map-map-labels-circle-stroke);stroke-width:.28}.cartography-overlay .map-labels text{font-size:2.25px;font-weight:600}.cartography-overlay .compass-rose{fill:none;stroke:var(--map-compass-rose-stroke);stroke-width:.3;opacity:.78}.cartography-overlay .compass-rose path{fill:var(--map-compass-rose-path-fill)}.cartography-overlay .compass-rose text{font:700 2px Georgia;fill:var(--map-compass-rose-text-fill);stroke:none}.map-canvas .route-mark{color:var(--map-route-mark-ink-v2);font-size:.7rem;opacity:.8}.cartography-overlay{mix-blend-mode:multiply}.cartography-overlay .terrain-paint{opacity:.18}.cartography-overlay .terrain-washes circle{opacity:.72}.cartography-overlay .terrain-washes circle.land{fill:var(--map-terrain-washes-circle-land-fill)}.cartography-overlay .terrain-washes circle.water{fill:var(--map-terrain-washes-circle-water-fill)}.cartography-overlay .terrain-washes circle.snow{fill:var(--map-terrain-washes-circle-snow-fill)}.cartography-overlay .terrain-washes circle.sand{fill:var(--map-terrain-washes-circle-sand-fill)}.cartography-overlay .terrain-washes circle.forest{fill:var(--map-terrain-washes-circle-forest-fill)}.cartography-overlay .terrain-washes circle.stone{fill:var(--map-terrain-washes-circle-stone-fill)}.cartography-overlay .coastlines path{stroke:var(--map-coastlines-path-stroke);opacity:.14}.cartography-overlay .contours path{fill:none;stroke:var(--map-contours-path-stroke);stroke-width:.24;stroke-dasharray:1.1 .75;opacity:.36}.cartography-overlay .rivers path{fill:none;stroke:var(--map-rivers-path-stroke);stroke-width:.34;stroke-linecap:round;opacity:.58;filter:drop-shadow(0 0 .25px var(--map-rivers-path-shadow))}.cartography-overlay .feature-tree{fill:var(--map-feature-tree-fill);stroke:var(--map-feature-tree-stroke);stroke-width:.22;opacity:.82}.cartography-overlay .feature-tree path:last-child{fill:none;stroke:var(--map-feature-tree-path-stroke);stroke-width:.28}.cartography-overlay .feature-mountain{fill:var(--map-feature-mountain-fill);stroke:var(--map-feature-mountain-stroke);stroke-width:.25;opacity:.78}.cartography-overlay .feature-mountain path:last-child{fill:none;stroke:var(--map-feature-mountain-path-stroke);stroke-width:.34;opacity:.8}.cartography-overlay .feature-mountain.peak{fill:var(--map-feature-mountain-peak-fill)}.cartography-overlay .feature-dune{fill:none;stroke:var(--map-feature-dune-stroke);stroke-width:.28;opacity:.55}.cartography-overlay .feature-wave{fill:none;stroke:var(--map-feature-wave-stroke);stroke-width:.24;stroke-linecap:round;opacity:.58}.cartography-overlay .map-labels text{font-family:Georgia,serif;font-size:2.4px;letter-spacing:.08px;fill:var(--map-map-labels-text-fill);paint-order:stroke;stroke:var(--map-map-labels-text-stroke);stroke-width:.7px;stroke-opacity:.72}.cartography-overlay .map-labels circle{fill:var(--map-map-labels-circle-fill-v2);stroke:var(--map-map-labels-circle-stroke-v2);stroke-width:.35}.cartography-overlay .compass-rose circle{fill:var(--map-compass-rose-circle-fill);fill-opacity:.7;stroke:var(--map-compass-rose-circle-stroke);stroke-width:.28}.cartography-overlay .compass-rose path{fill:var(--map-compass-rose-path-fill-v2);fill-opacity:.88}.cartography-overlay .compass-rose text{font:700 2.6px Georgia,serif;fill:var(--map-compass-rose-text-fill-v2)}.cartography-overlay .compass-rose,.cartography-overlay .map-features,.cartography-overlay .map-labels,.cartography-overlay .map-scale{mix-blend-mode:normal}.cartography-overlay .map-frame{fill:none;stroke:var(--map-map-frame-stroke);stroke-width:.28;opacity:.8}.cartography-overlay .map-frame rect+rect{stroke:var(--map-map-frame-rect-rect-stroke);stroke-width:.12;opacity:.7}.cartography-overlay .map-scale{fill:var(--map-map-scale-fill);stroke:var(--map-map-scale-stroke);stroke-width:.26}.cartography-overlay .map-scale .map-scale-plate{fill:var(--map-map-scale-plate-fill);stroke:var(--map-map-scale-plate-stroke);stroke-width:.14}.cartography-overlay .map-scale text{font:1.65px Georgia,serif;stroke:none;fill:var(--map-map-scale-text-fill)}.cartography-overlay .terrain-paint,.cartography-overlay .terrain-washes{display:none}.cartography-overlay .terrain-paint{display:block;opacity:.13;filter:blur(.78px)}.cartography-overlay .feature-mountain .mountain-shadow{fill:var(--map-feature-mountain-mountain-shadow-fill);opacity:.56;stroke:none}.cartography-overlay .feature-mountain .mountain-snow{fill:var(--map-feature-mountain-mountain-snow-fill);stroke:var(--map-feature-mountain-mountain-snow-stroke);stroke-width:.14;opacity:.92}.cartography-overlay .feature-mountain .mountain-ink{fill:none;stroke:var(--map-feature-mountain-mountain-ink-stroke);stroke-width:.2;opacity:.7}.cartography-overlay .feature-raster{overflow:hidden;opacity:.98;filter:drop-shadow(0 .35px .45px var(--map-feature-raster-shadow));pointer-events:none;shape-rendering:geometricPrecision}.cartography-overlay .event-raster,.cartography-overlay .travel-raster{opacity:.94;filter:drop-shadow(0 .55px .45px var(--map-event-raster-shadow))}.cartography-overlay .feature-mountain>.mountain-raster~path{opacity:.08}.cartography-overlay .feature-mountain>.mountain-raster~.mountain-ink{opacity:.14}.cartography-overlay .feature-tree>.forest-raster~path{opacity:.12}.cartography-overlay .forest-raster{opacity:.94}.cartography-overlay .feature-seasonal{opacity:.78}.cartography-overlay .seasonal-raster{opacity:.82;filter:drop-shadow(0 .45px .35px var(--map-seasonal-raster-shadow))}.cartography-overlay .settlement-stamp{opacity:.96;filter:drop-shadow(0 .8px .65px var(--map-settlement-stamp-shadow))}.cartography-overlay .settlement-raster{opacity:.98}.map-canvas .coastlines{display:none}.cartography-overlay .landmass-contours{fill:var(--map-landmass-contours-fill);fill-opacity:.16;stroke:var(--map-landmass-contours-stroke);stroke-width:.48;stroke-linejoin:round;opacity:.62;filter:drop-shadow(0 .35px .3px var(--map-landmass-contours-shadow))}.cartography-overlay .contours{display:none}.map-canvas .landmass-contours{display:block}.studio{grid-template-columns:minmax(250px,292px) minmax(0,1fr)}.canvas-card{min-width:0}.map-toolbar{flex-wrap:wrap}.map-canvas{touch-action:none}.actions button,.choice,.ghost-button,.small-action,.tool-button{min-height:40px}@media(max-width:980px){.shell{padding-left:24px;padding-right:24px}.studio{grid-template-columns:260px minmax(0,1fr);gap:14px}.canvas-card,.panel{padding:16px}.canvas-head{align-items:flex-start;gap:12px}.map-stats{gap:10px}.map-toolbar{margin-top:18px}.toolbar-spacer{min-width:12px}}@media(max-width:780px){.shell{padding:18px 16px 48px}.topbar{gap:12px}.top-actions{min-width:0}.hero{padding:40px 0 28px}.lede{font-size:16px}.studio{display:flex;flex-direction:column}.panel{order:2}.canvas-card{order:1;padding:12px;border-radius:12px}.canvas-head{flex-wrap:wrap}.canvas-head h2{font-size:22px}.map-stats{margin-left:auto}.map-toolbar{gap:6px;padding:8px}.tool-group{gap:4px}.toolbar-spacer{display:none}.seed-readout{margin-left:auto}.canvas-foot{font-size:10px}.actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.actions button{width:100%;min-height:44px}.panel-section{padding-bottom:16px;margin-bottom:16px}.choice{padding:10px 9px}.text-input{font-size:16px}.toggle{min-height:36px}.map-canvas{margin-top:12px;border-width:8px}}@media(max-width:480px){.topbar{align-items:center}.brand{font-size:11px}.brand-mark{font-size:18px}.top-actions{gap:6px}.save-state{display:none}.ghost-button{min-height:40px;padding:8px}.hero h1{font-size:clamp(39px,13vw,56px)}.hero{padding-top:32px}.map-stats{width:100%;justify-content:flex-start;margin-left:0}.canvas-head h2{margin-top:4px}.map-toolbar{display:grid;grid-template-columns:auto 1fr;align-items:center}.map-toolbar .tool-divider{display:none}.active-tool{min-width:0}.active-tool span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seed-readout{grid-column:2;justify-self:end}.actions{grid-template-columns:1fr}.canvas-foot{flex-direction:column;gap:5px}.canvas-foot span:last-child{text-align:left}}.cartography-overlay .rivers .river-shadow{stroke:var(--map-rivers-river-shadow-stroke);stroke-width:.78;opacity:.34}.cartography-overlay .coastlines{display:block;stroke:var(--map-coastlines-stroke-v2);stroke-width:.42;stroke-linecap:round;stroke-linejoin:round;opacity:.8;filter:drop-shadow(0 .3px .25px var(--map-coastlines-shadow))}.cartography-overlay .coast-details path{fill:none;stroke:var(--map-coast-details-path-stroke);stroke-width:.18;stroke-linecap:round;opacity:.42}.cartography-overlay .route-lines path{fill:none;stroke:var(--map-route-lines-path-stroke);stroke-width:.3;stroke-dasharray:1.05 .82;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 .25px .2px var(--map-route-lines-path-shadow))}.cartography-overlay .route-lines path.route-bed{stroke:var(--map-route-lines-path-route-bed-stroke);stroke-width:.72;stroke-dasharray:none;opacity:.64;filter:none}.cartography-overlay .route-lines path.selected-route{stroke:var(--map-route-lines-path-selected-route-stroke);stroke-width:.65;stroke-dasharray:1.6 .6}.cartography-overlay .location-label text{font-size:2.05px;letter-spacing:.08px}.cartography-overlay .location-label.capital text,.cartography-overlay .location-label.city text{font-size:2.75px;font-weight:700}.cartography-overlay .location-label.town text{font-size:2.4px;font-weight:700}.cartography-overlay .location-label.ruin text{font-style:italic;opacity:.78}.cartography-overlay .location-label circle{filter:drop-shadow(0 .2px .2px var(--map-location-label-circle-shadow))}.cartography-overlay .relief-contours path{fill:none;stroke:var(--map-relief-contours-path-stroke);stroke-width:.2;stroke-linecap:round;opacity:.38}.cartography-overlay .global-sun{pointer-events:none;mix-blend-mode:soft-light;opacity:.58;opacity:.28}.cartography-overlay .compass-raster{opacity:.92;filter:drop-shadow(0 .35px .3px var(--map-compass-raster-shadow));pointer-events:none}.cartography-overlay .settlement-footprint{opacity:.56;filter:drop-shadow(0 .35px .3px var(--map-settlement-footprint-shadow))}.cartography-overlay .settlement-stamp{opacity:.92}.cartography-overlay .landmass-contours{fill-opacity:.48;stroke:none;opacity:.86;filter:none;fill:var(--map-landmass-contours-fill-v3);fill-opacity:.2;stroke-width:.3;stroke-opacity:.62;opacity:.96}.map-canvas>.cartography-overlay{mix-blend-mode:normal}.cartography-overlay .coastlines{stroke-width:.82;opacity:1}.cartography-overlay .coast-details path{opacity:.58}.publication-map{display:block;overflow:hidden;background:var(--map-pubmap-bg)}.publication-map .publication-art{inset:11px;display:block;width:calc(100% - 22px);height:calc(100% - 22px);mix-blend-mode:normal}.publication-art .map-water{fill:var(--map-pub-map-water-fill)}.publication-art .landmass-contours{fill:var(--map-pub-landmass-contours-fill);fill-opacity:.9;stroke:none}.cartography-overlay .terrain-regions{mix-blend-mode:multiply;pointer-events:none}.cartography-overlay .terrain-regions path{stroke:none;filter:blur(.62px)}.cartography-overlay .terrain-regions .forest{fill:var(--map-terrain-regions-forest-fill)}.cartography-overlay .terrain-regions .stone{fill:var(--map-terrain-regions-stone-fill)}.cartography-overlay .terrain-regions .snow{fill:var(--map-terrain-regions-snow-fill)}.cartography-overlay .terrain-regions .grassland{fill:var(--map-terrain-regions-grassland-fill)}.cartography-overlay .terrain-regions .sand{fill:var(--map-terrain-regions-sand-fill)}.cartography-overlay .terrain-regions .dirt{fill:var(--map-terrain-regions-dirt-fill)}.cartography-overlay .terrain-paint{opacity:.035;filter:blur(1.15px);mix-blend-mode:multiply}.cartography-overlay .terrain-shapes{opacity:.52;filter:blur(.42px);mix-blend-mode:multiply}.cartography-overlay .landmass-contours{fill-opacity:.32;stroke-width:.42;stroke-opacity:.72;opacity:.98;fill:var(--map-landmass-contours-fill-v2);fill-opacity:.14;stroke:var(--map-landmass-contours-stroke-v2);stroke-width:.34;stroke-opacity:.78;opacity:.92;mix-blend-mode:multiply;filter:drop-shadow(0 .4px .32px var(--map-landmass-contours-shadow-v2))}.cartography-overlay .terrain-regions path{filter:blur(.42px)}.cartography-overlay .terrain-shapes .land{opacity:.1}.cartography-overlay .terrain-regions .land{fill:var(--map-terrain-regions-land-fill)}.cartography-overlay .region-labels{font-family:Georgia,serif;fill:var(--map-region-labels-fill);fill-opacity:.54;paint-order:stroke;stroke:var(--map-region-labels-stroke);stroke-width:.55px;stroke-opacity:.4;letter-spacing:.18px;text-transform:uppercase;pointer-events:none}.cartography-overlay .region-labels text{font-size:1.72px;font-style:italic}.map-canvas .cell.water{opacity:.72}.map-canvas .cell.land{opacity:.34}.map-canvas .cell.dirt,.map-canvas .cell.grassland,.map-canvas .cell.sand{opacity:.42}.map-canvas .cell.forest,.map-canvas .cell.snow,.map-canvas .cell.stone{opacity:.48}.publication-art .smooth-contours{fill:none;stroke:var(--map-pub-smooth-contours-stroke);stroke-width:.22;stroke-dasharray:1.4 1.5;opacity:.28}.publication-art .relief-contours{fill:none;stroke:var(--map-pub-relief-contours-stroke);stroke-width:.2;opacity:.34}.publication-art .coastlines{fill:none;stroke:var(--map-pub-coastlines-stroke);stroke-width:.82;stroke-linecap:round;stroke-linejoin:round;opacity:1}.publication-art .river-lines{fill:none;stroke:var(--map-pub-river-lines-stroke);stroke-width:.42;stroke-linecap:round;opacity:.74;filter:drop-shadow(0 .25px .2px var(--map-pub-river-lines-shadow))}.publication-art .feature-stamps image{image-rendering:auto;filter:drop-shadow(0 .45px .35px var(--map-pub-feature-stamps-image-shadow))}.cartography-overlay .feature-detail{opacity:.82}.cartography-overlay .detail-raster{filter:drop-shadow(0 .28px .24px var(--map-detail-raster-shadow))}.publication-art .route-overlay{position:static;inset:auto;width:auto;height:auto;display:block}.publication-art .route-overlay line,.publication-art .route-overlay path{stroke:var(--map-pub-route-overlay-line-stroke);stroke-width:.42;stroke-dasharray:1.3 .75;stroke-linecap:round;fill:none;opacity:.9;filter:drop-shadow(0 .25px .2px var(--map-pub-route-overlay-line-shadow))}.publication-art .publication-locations image{image-rendering:auto;filter:drop-shadow(0 .7px .55px var(--map-pub-publication-locations-image-shadow))}.publication-art .publication-locations .event-raster,.publication-art .publication-locations .travel-raster{opacity:.96}.publication-art .map-labels{text-anchor:middle;dominant-baseline:auto;font-family:Georgia,serif;font-size:2.35px;font-weight:600;letter-spacing:.08px;fill:var(--map-pub-map-labels-fill);paint-order:stroke;stroke:var(--map-pub-map-labels-stroke);stroke-width:.7px;stroke-opacity:.72}:where(button,a,input,select,textarea):focus-visible{outline:2px solid var(--gold);outline-offset:3px}.map-canvas .cell:focus-visible{outline:2px solid var(--map-cell-outline);outline-offset:-2px;position:relative;z-index:4}@media(prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.cartography-overlay .feature-wave{opacity:.68}.cartography-overlay .rivers path{stroke-width:.58;opacity:.9}.cartography-overlay .rivers .river-shadow{stroke:var(--map-rivers-river-shadow-stroke-v2);stroke-width:1.12;opacity:.58;filter:none}.shape-overlay{position:absolute;inset:11px;z-index:5;width:calc(100% - 22px);height:calc(100% - 22px);pointer-events:none;overflow:visible;filter:drop-shadow(0 1px 1px var(--map-shape-overlay-shadow))}.shape-overlay path{fill:var(--map-shape-overlay-path-fill);fill-opacity:.055;stroke:var(--map-shape-overlay-path-stroke);stroke-width:.3;stroke-dasharray:1.35 .95;stroke-linecap:round;stroke-linejoin:round}.shape-overlay circle{fill:var(--map-shape-overlay-circle-fill);stroke:var(--map-shape-overlay-circle-stroke);stroke-width:.18}.shape-tool{background:linear-gradient(145deg,var(--tool-a),var(--tool-b));border:1px solid var(--gold-line);border-radius:9px;padding:13px;margin-bottom:16px}.shape-tool-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.shape-tool-heading h3{margin:0;font:600 15px Georgia,serif}.shape-tool-heading span{font:11px ui-sans-serif,system-ui;color:var(--muted)}.shape-tool .tip{margin:7px 0 10px}.shape-draft-actions,.shape-tool-modes{display:flex;gap:6px;flex-wrap:wrap}.shape-tool-modes .tool-button{font-size:11px;min-height:34px}.shape-tool-modes .tool-button[aria-pressed=true]{background:var(--selected-a);border-color:var(--selected-line);color:var(--ink)}.shape-tool .shape-start{width:100%;margin-top:9px;background:var(--action-bg-deep)}.shape-draft-controls{margin-top:9px;padding-top:8px;border-top:1px solid var(--gold-line)}.shape-draft-controls>p[role=status]{font:11px/1.4 ui-sans-serif,system-ui;color:var(--ink);margin:0 0 8px}.shape-draft-actions .small-action{flex:1 1;min-width:74px;padding:7px 6px}.shape-draft-actions .small-action:first-child{background:var(--action-bg-deep)}.shape-draft-controls .tip{font-size:11px;margin-bottom:0}.terrain-shape-preview{position:absolute;inset:11px;z-index:7;width:calc(100% - 22px);height:calc(100% - 22px);pointer-events:none}.terrain-shape-preview rect{fill:var(--map-shape-overlay-path-fill);fill-opacity:.55;stroke:var(--map-shape-overlay-path-stroke);stroke-width:.035;stroke-opacity:.45}.terrain-shape-freehand{position:absolute;inset:11px;z-index:8;width:calc(100% - 22px);height:calc(100% - 22px);pointer-events:none;overflow:visible}.terrain-shape-freehand path{fill:var(--map-shape-overlay-path-fill);fill-opacity:.12;stroke:var(--map-shape-overlay-path-stroke);stroke-width:.1;stroke-dasharray:.25 .13;stroke-linejoin:round}.cartography-overlay .coastlines path{fill:none;stroke:var(--map-coastlines-path-stroke-v2);stroke-width:.3;stroke-opacity:1;opacity:.85;stroke-linecap:round;stroke-linejoin:round}.cartography-overlay .feature-wave{opacity:.4}.map-canvas:before{display:none}.cartography-overlay .map-features,.publication-art .feature-stamps{mix-blend-mode:normal}.cartography-overlay .feature-raster{filter:drop-shadow(0 .16px .1px var(--map-feature-raster-shadow-v2));opacity:1}.cartography-overlay .coastlines{filter:none}.cartography-overlay .coastlines path{stroke:var(--map-coastlines-path-stroke-v3);stroke-width:.2;opacity:.8}.cartography-overlay .region-labels{fill:var(--map-region-labels-fill-v2);fill-opacity:.65;stroke:var(--map-region-labels-stroke-v2);stroke-width:.35px;stroke-opacity:.7;letter-spacing:.12px}.cartography-overlay .region-labels text{font-size:1.38px}.cartography-overlay .map-labels text{stroke:var(--map-map-labels-text-stroke-v2);stroke-width:.42px;stroke-opacity:.9}.cartography-overlay .location-label circle{r:.5px;stroke-width:.18px}.cartography-overlay .route-lines path{stroke-width:.2;stroke:var(--map-route-lines-path-stroke-v2)}.cartography-overlay .route-lines path.route-bed{stroke-width:.42;opacity:.65;stroke:var(--map-route-lines-path-route-bed-stroke-v2)}.cartography-overlay .rivers path{stroke-width:.28;opacity:.85}.cartography-overlay .rivers .river-shadow{stroke-width:.48;opacity:.35}.map-canvas{aspect-ratio:1}.cartography-overlay svg.feature-raster{filter:none}.height-controls{display:flex;flex-wrap:wrap;gap:12px;padding:12px;background:var(--inset-bg);border:1px solid var(--control-line);border-radius:8px;margin-top:16px;font:12px system-ui}.height-tools{display:flex;flex-wrap:wrap;gap:6px;width:100%}.height-tools button[aria-pressed=true]{background:var(--pressed-bg);color:var(--pressed-ink);border-color:var(--pressed-line)}.height-controls label{display:flex;align-items:center;gap:8px}.height-controls input{width:100px;margin:0}.height-controls select{background:var(--field);color:var(--ink);border:1px solid var(--control-line);padding:8px}.height-field-overlay{z-index:6}.height-field-overlay,.path-editor-overlay{position:absolute;inset:11px;width:calc(100% - 22px);height:calc(100% - 22px);pointer-events:none}.path-editor-overlay{z-index:8;overflow:visible}.path-guide{fill:var(--map-path-guide-fill);stroke:var(--map-path-guide-stroke);stroke-width:.035;stroke-dasharray:.12 .08;pointer-events:none}.bend-handle,.insert-anchor,.path-anchor{pointer-events:all;touch-action:none;cursor:grab;stroke:var(--map-path-anchor-stroke);stroke-width:.045;fill:var(--map-path-anchor-fill)}.path-anchor.selected{fill:var(--map-path-anchor-selected-fill);stroke:var(--map-path-anchor-selected-stroke);stroke-width:.065}.bend-handle{fill:var(--map-bend-handle-fill)}.insert-anchor{fill:var(--map-insert-anchor-fill);opacity:.85;cursor:copy}.handle-arm{stroke:var(--map-handle-arm-stroke);stroke-width:.035;stroke-dasharray:.08 .06}.bend-handle:focus,.insert-anchor:focus,.path-anchor:focus{outline:none;stroke:var(--map-path-anchor-stroke-v2);stroke-width:.09}.road-mode{display:flex;align-items:center;gap:.5rem}.road-mode input{width:auto}.road-edit-actions{display:flex;gap:.4rem;flex-wrap:wrap}.road-edit-actions .small-action{width:auto;min-height:40px}.location-editor select{max-width:100%;background:var(--field);color:var(--ink);border:1px solid var(--control-line);border-radius:6px;padding:.5rem}.location-editor .tip{flex-basis:100%}@media(max-width:600px){.path-anchor{r:.36}.bend-handle,.insert-anchor{r:.3}}.river-path-editor .path-guide{stroke-width:.2}.river-path-editor .bend-handle,.river-path-editor .insert-anchor,.river-path-editor .path-anchor{r:1.4;stroke-width:.25}.river-path-editor .handle-arm{stroke-width:.2}.river-path-editor .path-anchor.selected{stroke-width:.36}.river-path-editor .bend-handle:focus,.river-path-editor .insert-anchor:focus,.river-path-editor .path-anchor:focus{stroke-width:.5}.rivers-tool summary{cursor:pointer;font-weight:700;list-style:none}.rivers-tool summary::-webkit-details-marker{display:none}.rivers-subhead{margin-top:16px}.river-row{border:1px solid var(--line);border-radius:9px;padding:10px;margin:8px 0;display:grid;grid-gap:6px;gap:6px}.river-row.active-action{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold-glow)}.river-row-hidden{opacity:.55}.desert-tool .desert-list{display:grid;grid-gap:4px;gap:4px;max-height:20rem;overflow:auto;margin:6px 0}.desert-tool .desert-row{display:grid;grid-gap:6px;gap:6px;padding:4px;border-radius:9px}.desert-tool .desert-row.active-action{border:1px solid var(--gold);box-shadow:0 0 0 1px var(--gold-glow)}.desert-tool .desert-row>.small-action{justify-content:flex-start;text-align:left}.desert-tool summary{cursor:pointer}.override-problem{color:var(--danger-ink)}.river-authored-row .override-controls,.river-row .override-controls{display:grid;grid-gap:2px;gap:2px;margin-top:4px;padding-top:8px;border-top:1px solid var(--line)}.lake-tool .strength-slider-control,.river-authored-row .strength-slider-control,.river-row .strength-slider-control,.terrain-item-tool .strength-slider-control{padding-bottom:0;margin-bottom:0;border-bottom:0}.override-rebuild{margin-top:6px;padding-top:6px;border-top:1px solid var(--gold-line)}.override-rebuild .tip{margin:0 0 6px}.editor-list-heading span,.overrides-summary summary span{border:1px solid var(--line);border-radius:99px;padding:2px 6px;color:var(--muted);font-size:10px;letter-spacing:0;margin-left:6px}.lake-tool .tip,.overrides-summary .tip,.terrain-item-tool .tip{margin:6px 0}.river-list{display:grid;grid-gap:7px;gap:7px;min-width:0;margin:8px 0;padding:0;list-style:none}.river-authored-row .river-row-note,.river-row-inspector{grid-column:1/-1}.river-row-inspector .ii-card{margin:4px 0 6px}.text-input-row{display:grid;grid-gap:4px;gap:4px;font:11px ui-sans-serif,system-ui;color:var(--muted)}.river-change-summary{margin-top:10px}.link-button{background:none;border:0;padding:0;color:var(--gold);text-decoration:underline;cursor:pointer;font:inherit}.river-tool-highlight{fill:none;stroke:var(--map-path-anchor-selected-stroke);stroke-width:.3;stroke-linecap:butt;stroke-dasharray:.9 .6;opacity:.8;pointer-events:none}.river-tool-selected{fill:none;stroke:var(--map-path-anchor-selected-stroke);stroke-width:.2;stroke-linecap:butt;stroke-dasharray:.9 .6;opacity:.75;pointer-events:none}.river-tool-draft{fill:none;stroke:var(--map-path-guide-stroke);stroke-width:.5;stroke-linecap:round;stroke-dasharray:.3 .25;opacity:.9;pointer-events:none}.river-tool-draft-point{fill:var(--map-path-anchor-fill);stroke:var(--map-path-anchor-stroke);stroke-width:.15;pointer-events:none}.border-panel{display:grid;grid-gap:9px;gap:9px;min-width:0;margin:18px 0;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--panel2)}.border-panel-heading{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:space-between}.border-panel-heading h3{margin:0;font:600 15px Georgia,serif}.border-panel-heading h3 span{font:11px ui-sans-serif,system-ui,sans-serif;color:var(--muted)}.border-panel .tip{margin:0}.shoreline-panel-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.shoreline-panel-heading h3{margin:0;font:600 15px Georgia,serif}.shoreline-panel-heading span{color:var(--muted);font:11px ui-sans-serif,system-ui}.shoreline-brush-actions,.shoreline-draft-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.shoreline-brush-actions .tool-button[aria-pressed=true]{background:var(--selected-a);border-color:var(--selected-line);color:var(--ink)}.shoreline-draft-actions span{flex:1 1 100%;color:var(--ink);font:11px ui-sans-serif,system-ui}.shoreline-panel .range-label{margin:2px 0 4px}.shoreline-edit-list{border-top:1px solid var(--line);padding-top:8px;font:11px ui-sans-serif,system-ui}.shoreline-edit-list summary{cursor:pointer}.shoreline-edit-list summary span{color:var(--muted)}.shoreline-edit-list ul{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-gap:4px;gap:4px}.shoreline-edit-list li{display:flex;align-items:center;justify-content:space-between;gap:8px}.shoreline-edit-list li button{min-width:32px;min-height:32px;border:1px solid var(--control-line);border-radius:5px;background:var(--field);color:var(--ink);cursor:pointer}.authored-water-draft{position:absolute;inset:11px;z-index:8;width:calc(100% - 22px);height:calc(100% - 22px);pointer-events:none;overflow:visible}.authored-water-draft-water polyline{stroke:var(--map-authored-water-fill);stroke-opacity:.58}.authored-water-draft-water circle{fill:var(--map-authored-water-fill);fill-opacity:.58}.authored-water-draft-land polyline{stroke:var(--map-authored-land-fill);stroke-opacity:.68}.authored-water-draft-land circle{fill:var(--map-authored-land-fill);fill-opacity:.68}.path-edit-tools{position:absolute;right:18px;top:18px;z-index:9;display:flex;gap:5px}.path-edit-tools button{background:var(--onmap-bg);color:var(--onmap-ink);border:1px solid var(--onmap-line);border-radius:5px;padding:7px 9px;min-height:36px;font-size:12px}.path-edit-tools button:disabled{opacity:.5}.fine-relief-editor{position:absolute;inset:11px;width:calc(100% - 22px);height:calc(100% - 22px);z-index:9;touch-action:none;cursor:crosshair;outline:none}.fine-relief-editor:focus-visible{outline:2px solid var(--map-fine-relief-editor-outline);outline-offset:-2px}.lettering-editor{padding:12px 0;border-bottom:1px solid var(--gold-line);margin-bottom:14px}.lettering-editor summary{cursor:pointer;color:var(--gold);font-size:.9rem}.lettering-controls{display:grid;grid-gap:10px;gap:10px;margin-top:12px}.lettering-controls label{display:grid;grid-gap:5px;gap:5px;font-size:.78rem;color:var(--ink-soft)}.lettering-controls input[type=number],.lettering-controls select{width:100%;min-width:0;background:var(--field);color:var(--ink);border:1px solid var(--control-line);border-radius:5px;padding:7px}.lettering-colors,.lettering-toggles{display:flex;gap:14px;flex-wrap:wrap}.lettering-toggles label{display:flex;align-items:center}.lettering-controls input[type=color]{width:64px;height:34px;background:transparent;border:1px solid var(--control-line)}.lettering-controls button{min-height:36px}.generation-controls{margin-top:12px}.generation-controls summary{cursor:pointer;font-weight:600;padding:10px 0}.generation-controls>label{display:grid;grid-gap:5px;gap:5px;margin:12px 0;font-size:12px}.generation-controls fieldset{margin:14px 0;padding:10px;border:1px solid var(--line);border-radius:6px;min-width:0}.generation-controls legend{font-size:12px;padding:0 5px}.generation-controls .toggle-row{display:flex;align-items:center;gap:9px;min-height:44px;font-size:12px}.generation-controls select{width:100%;min-width:0}.generation-controls>button{width:100%;margin-top:10px}.biome-controls{padding:10px 0}.biome-controls>label{display:grid;grid-gap:6px;gap:6px;margin:14px 0;font-size:12px}.biome-controls fieldset{min-width:0;margin:14px 0;padding:10px;border:1px solid var(--line);border-radius:6px}.biome-controls legend{font-size:12px;padding:0 5px}.biome-controls .toggle-row{display:flex;align-items:center;gap:9px;min-height:44px;font-size:12px}.biome-controls select{width:100%;min-width:0}.erase-controls{display:grid;grid-gap:12px;gap:12px;margin:14px 0}.erase-controls label{display:grid;grid-gap:6px;gap:6px;font-size:12px;color:var(--ink-soft)}.erase-controls input[type=range]{width:100%}.art-eraser{z-index:12}.erase-controls select{width:100%;min-height:40px}.appearance-control{grid-column:1/-1;display:flex;flex-direction:column;gap:8px;padding-top:10px;border-top:1px solid var(--line)}.appearance-label{color:var(--gold);font:700 10px ui-sans-serif,system-ui;letter-spacing:.14em;text-transform:uppercase}.appearance-current{margin:0;color:var(--ink);font:12px/1.5 ui-sans-serif,system-ui}.appearance-modes{display:flex;flex-wrap:wrap;gap:6px}.appearance-modes .tool-button{font-size:11px;padding:8px 10px}.appearance-modes .tool-button[aria-pressed=true]{background:var(--panel2);color:var(--ink);border-color:var(--gold)}.appearance-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));grid-gap:8px;gap:8px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}.appearance-thumb{display:flex;flex-direction:column;align-items:center;gap:4px;border:1px solid var(--control-line);border-radius:7px;background:var(--panel2);color:var(--muted);padding:6px;cursor:pointer;font:10px ui-sans-serif,system-ui;min-height:64px}.appearance-thumb img{width:36px;height:36px;-o-object-fit:contain;object-fit:contain}.appearance-thumb[aria-pressed=true]{border-color:var(--gold);color:var(--ink);box-shadow:0 0 0 1px var(--gold-glow)}@media(max-width:560px){.appearance-options{grid-template-columns:repeat(auto-fill,minmax(52px,1fr))}}.brush-ring-shadow{stroke:var(--map-brush-shadow-stroke)}.brush-ring.erase{stroke:var(--map-brush-erase-stroke)}.brush-ring.restore{stroke:var(--map-brush-restore-stroke)}.relief-stroke{stroke:var(--map-relief-stroke)}.relief-cursor{stroke:var(--map-relief-cursor-stroke)}.flood-soft{flood-color:var(--map-flood-soft)}.flood-sun{flood-color:var(--map-flood-sun)}.sun-stop-warm{stop-color:var(--map-sun-stop-warm)}.sun-stop-shade{stop-color:var(--map-sun-stop-shade)}.theme-toggle{display:flex;align-items:center;gap:7px;color:var(--muted);font:9px ui-sans-serif,system-ui;letter-spacing:.12em}.theme-toggle select{border:1px solid var(--control-line);border-radius:6px;background:var(--field);color:var(--ink);padding:7px 8px;min-height:40px;letter-spacing:0}.status,.theme-toggle select{font:11px ui-sans-serif,system-ui}.status{color:var(--muted)}@media(max-width:560px){.theme-toggle span{display:none}}.shell{max-width:1920px;padding:18px 24px 36px}.topbar{padding-bottom:14px;gap:20px}.top-actions{gap:14px;min-width:0}.save-state{max-width:320px;line-height:1.5}.studio-intro{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px 0 18px}.studio-intro .eyebrow{margin:0 0 7px}.studio-intro h1{font-size:32px;line-height:1.1;margin:0;letter-spacing:-.025em}.studio-intro>.small-action{width:auto;margin:0;min-height:44px}.studio-navigation{border-bottom:1px solid var(--line);margin-bottom:16px;overflow-x:auto}.studio-navigation [role=tablist]{display:flex;gap:6px;min-width:-moz-max-content;min-width:max-content}.studio-navigation [role=tab]{display:flex;gap:9px;align-items:center;min-height:48px;padding:12px 20px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font:600 13px ui-sans-serif,system-ui;cursor:pointer}.studio-navigation [role=tab] span{font-size:19px;color:var(--gold)}.studio-navigation [role=tab][aria-selected=true]{border-bottom-color:var(--gold);background:var(--panel2);color:var(--ink);border-radius:8px 8px 0 0}.studio{grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start}.studio .panel.left{padding:20px;max-height:calc(100dvh - 225px);overflow:auto;scrollbar-width:thin;position:sticky;top:16px}.studio [role=tabpanel][hidden]{display:none}.studio [role=tabpanel]{min-width:0;outline-offset:3px}.studio .canvas-card{padding:18px;min-width:0}.studio .map-toolbar{margin-top:14px}.studio .canvas-head h2{font-size:24px}.studio .panel .hint,.studio .panel .tip{font:12px/1.55 ui-sans-serif,system-ui}.studio .panel select{max-width:100%;min-height:40px}.studio .panel .tool-button{min-height:40px}.studio .panel .location-editor{display:flex;flex-direction:column;padding:16px 0;margin-top:18px;gap:13px;border:0;border-top:1px solid var(--line)}.studio .panel .location-editor label{display:grid;grid-gap:7px;gap:7px}.studio .panel .editor-list{min-width:0;margin:14px 0 0}.studio .panel .editor-list-heading{display:flex;align-items:center;gap:8px;margin:0 0 8px;color:var(--gold);font:700 10px/1.4 ui-sans-serif,system-ui;letter-spacing:.14em;text-transform:uppercase}.studio .panel .editor-list-heading span{border:1px solid var(--line);border-radius:99px;padding:2px 6px;color:var(--muted);font-size:10px;letter-spacing:0}.studio .panel .editor-item-list{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:7px;gap:7px;min-width:0;max-height:min(40dvh,360px);margin:0;padding:0;overflow-y:auto;list-style:none;scrollbar-width:thin}.studio .panel .editor-item-list.location-list span{border:0;border-radius:0;padding:0}.studio .panel .editor-item-row{display:grid;grid-template-columns:minmax(0,1fr) 40px;grid-gap:6px;gap:6px;min-width:0;max-width:100%;margin:0}.studio .panel .editor-item-select{display:block;width:100%;min-width:0;min-height:48px;padding:9px 10px;border:1px solid var(--control-line);border-radius:7px;background:var(--field);color:var(--ink);text-align:left;cursor:pointer;font:12px/1.3 ui-sans-serif,system-ui}.studio .panel .editor-item-select[aria-pressed=true]{border-color:var(--gold);background:var(--selected-a)}.studio .panel .editor-item-meta,.studio .panel .editor-item-name{display:block;min-width:0;white-space:normal;overflow-wrap:anywhere}.studio .panel .editor-item-name{font-weight:600}.studio .panel .editor-item-meta{margin-top:3px;color:var(--muted);font:10px/1.35 ui-sans-serif,system-ui}.studio .panel .editor-item-delete{display:grid;place-items:center;width:40px;min-height:44px;border:1px solid var(--control-line);border-radius:7px;background:var(--field);color:var(--danger-ink);font-size:20px;cursor:pointer}@media(hover:hover){.studio .panel .editor-item-delete:hover,.studio .panel .editor-item-select:hover{border-color:var(--gold)}}.studio .panel .editor-item-delete:focus-visible,.studio .panel .editor-item-select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.studio .panel .panel-section:last-child{border:0;margin-bottom:0}.studio .actions{gap:8px}.studio .actions button{min-height:40px}.studio-badge{border:1px solid var(--line);border-radius:20px;padding:5px 8px;white-space:nowrap;color:var(--muted);font:10px ui-sans-serif,system-ui}.inspector-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.inspector-heading h3{margin:6px 0 12px;font:22px Georgia,serif}.place-timeline{border-top:1px solid var(--line);padding-top:20px;margin-top:8px}.place-timeline .panel-label{margin:0}.story-states{list-style:none;padding:0 0 0 16px;margin:18px 0;border-left:2px solid var(--gold-line);display:grid;grid-gap:10px;gap:10px}.story-states li{border:1px solid var(--line);border-radius:8px;background:var(--panel2);padding:12px;display:grid;grid-gap:5px;gap:5px;font:12px/1.5 ui-sans-serif,system-ui;overflow-wrap:anywhere}.story-states li[data-current=true]{border-color:var(--gold)}.state-date{font-size:10px;color:var(--muted)}.story-states p{margin:0;color:var(--ink-soft)}.state-composer{display:grid;grid-gap:12px;gap:12px;margin:16px 0}.state-composer label{font:12px ui-sans-serif,system-ui}.state-composer [role=alert]{color:var(--danger-ink);font:12px/1.5 ui-sans-serif,system-ui}.story-preview-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;margin-top:12px;background:var(--panel2);border:1px solid var(--gold);border-radius:8px;font:12px/1.5 ui-sans-serif,system-ui}.studio-navigation button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}@media(min-width:1100px){.studio .map-canvas{max-width:min(100%,calc(100dvh - 280px));margin-left:auto;margin-right:auto}}@media(max-width:850px){.shell{padding:14px 14px 30px}.top-actions,.topbar{flex-wrap:wrap}.top-actions{gap:10px}.save-state{max-width:none}.studio{grid-template-columns:minmax(0,1fr)}.studio .canvas-card{grid-row:1}.studio .panel.left{position:static;max-height:none}.studio-navigation [role=tab]{padding:10px 14px;min-height:48px}.studio-intro h1{font-size:28px}.studio .canvas-card{padding:12px}.studio .map-stats{gap:10px}.studio .canvas-head h2{font-size:21px}}.brush-options{display:grid;grid-gap:12px;gap:12px;margin-top:18px}.brush-options label{display:grid;grid-gap:7px;gap:7px;font:12px ui-sans-serif,system-ui;color:var(--ink-soft)}.brush-preview{width:42px;height:42px;flex:none;border:1px solid var(--line);border-radius:7px;background:var(--field);fill:var(--land)}.brush-preview.water{fill:var(--water)}.brush-preview.snow{fill:var(--snow)}.brush-preview.sand{fill:var(--sand)}.brush-preview.forest{fill:var(--forest)}.brush-preview.stone{fill:var(--stone)}.brush-preview.grassland{fill:var(--map-terrain-regions-grassland-fill)}.brush-preview.dirt{fill:var(--map-terrain-regions-dirt-fill)}.brush-preview.cobblestone{fill:var(--map-cell-cobblestone-bg-1,var(--stone))}.brush-preview.paving{fill:var(--stone)}.brush-preview.metal{fill:var(--muted)}.brush-preview.swamp{fill:var(--forest)}.brush-preview.ash{fill:var(--map-terrain-regions-dirt-fill)}.dot.farmland{background:var(--farmland)}.map-canvas .cell.farmland{background:repeating-linear-gradient(21deg,transparent 0 4px,var(--map-cell-farmland-row) 4px 5px),linear-gradient(135deg,var(--map-cell-farmland-bg-1),var(--map-cell-farmland-bg-2))}.terrain-shapes .farmland{fill:var(--map-terrain-shapes-farmland-fill)}.brush-preview.farmland,.cartography-overlay .terrain-regions .farmland{fill:var(--map-terrain-regions-farmland-fill)}.map-action-menu{margin-top:18px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);padding:0 14px}.map-action-menu>summary{padding:14px 0;cursor:pointer;font:600 13px/1.5 ui-sans-serif,system-ui;color:var(--ink);min-height:48px}.map-action-menu>summary span{margin-left:14px;color:var(--muted);font-weight:400;font-size:11px}.map-action-menu .actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin:0 0 14px;grid-gap:10px;gap:10px}.action-with-help{min-width:0}.action-buttons{display:flex;gap:5px}.action-buttons>button:first-child{flex:1 1;text-align:left}.actions .action-help-button{width:44px;min-width:44px;min-height:44px;padding:0;font-size:16px;background:var(--field);color:var(--muted);border-color:var(--line)}.action-help-text{display:none;margin:7px 0 0;padding:10px;border-left:2px solid var(--gold);background:var(--field);color:var(--ink-soft);font:12px/1.6 ui-sans-serif,system-ui}.action-help-text[data-open=true],.action-with-help:has(.action-help-button:focus-visible) .action-help-text{display:block}@media(hover:hover){.action-with-help:has(.action-help-button:hover) .action-help-text{display:block}}.action-help-button:focus-visible,.map-action-menu>summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.recovery-status{font:11px/1.5 ui-sans-serif,system-ui;color:var(--muted);margin:10px 0}.recovery-loading{position:fixed;z-index:100;top:16px;left:50%;transform:translateX(-50%);padding:12px 20px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--ink);font:13px/1.5 ui-sans-serif,system-ui}.brush-quick-actions{display:grid;grid-gap:6px;gap:6px;margin:4px 0 12px;font:11px/1.4 ui-sans-serif,system-ui;color:var(--muted)}.brush-quick-actions button{min-height:44px;text-align:left}.brush-quick-actions button[aria-pressed=true]{background:var(--selected-a);color:var(--ink);border-color:var(--selected-line)}.brush-quick-actions kbd{float:right;border:1px solid var(--line);border-radius:4px;padding:1px 5px;font:10px ui-sans-serif,system-ui}.map-canvas.is-picking .cell{cursor:crosshair}.map-scale-panel .tip{margin:0 0 12px}.scale-edit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:8px;gap:8px;margin-bottom:10px}.scale-edit label{display:grid;grid-gap:5px;gap:5px;font:11px ui-sans-serif,system-ui;color:var(--muted)}.scale-edit input,.scale-edit select{min-width:0}.scale-measure-actions{display:flex;gap:8px;margin-top:10px}.scale-measure-actions button[aria-pressed=true]{background:var(--selected-a);border-color:var(--selected-line)}.measure-readout{min-height:2.7em;margin:9px 0 0;color:var(--muted);font:11px/1.4 ui-sans-serif,system-ui}.map-measurement{pointer-events:none}.map-measurement line{stroke:var(--gold);stroke-width:.35;stroke-dasharray:1.2 .7}.map-measurement circle{fill:var(--gold);stroke:var(--field);stroke-width:.25}.layer-control{border:1px solid var(--line);border-radius:8px;background:var(--surface-a);padding:9px 10px;margin:8px 0;font:12px ui-sans-serif,system-ui}.layer-control-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.layer-control-head label{display:flex;align-items:center;gap:7px}.layer-control-head input{accent-color:var(--gold)}.layer-control-head .tool-button{min-height:30px;padding:4px 8px}.layer-control-head .tool-button[aria-pressed=true]{background:var(--selected-a);border-color:var(--selected-line);color:var(--ink)}.layer-opacity{display:block;margin-top:8px;color:var(--muted);font-size:10px}.layer-opacity output{float:right;color:var(--ink)}.layer-opacity input{margin-top:5px}.selection-tool{margin-top:18px;padding:13px;border:1px solid var(--gold-line);border-radius:9px;background:linear-gradient(145deg,var(--tool-a),var(--tool-b))}.selection-tool .tip{margin:0 0 8px}.selection-tool .tip:last-child{margin:10px 0 0}.selection-tool .small-action[aria-pressed=true]{border-color:var(--selected-line);background:var(--selected-a)}.selection-readout{margin:10px 0 2px;color:var(--ink);font:11px/1.5 ui-sans-serif,system-ui}.map-canvas{grid-template-rows:repeat(18,minmax(0,1fr))}.map-canvas .cell{min-height:0;padding:0}.selection-overlay{position:absolute;inset:0;z-index:7;width:100%;height:100%;pointer-events:none;overflow:visible}.selection-overlay .selection-area{fill:var(--gold);fill-opacity:.12;stroke:var(--gold);stroke-width:.12;stroke-dasharray:.35 .18}.selection-overlay .selection-corner{fill:var(--gold);fill-opacity:.24;stroke:var(--gold);stroke-width:.12}.selection-overlay .selection-lasso{stroke-linejoin:round}.selection-overlay .selection-lasso-draft{fill:none;stroke:var(--gold);stroke-width:.13;stroke-dasharray:.35 .18;stroke-linejoin:round;stroke-linecap:round}.selection-graph-actions{margin:12px 0 4px;padding:11px;border:1px solid var(--line);border-radius:8px;background:var(--field)}.selection-graph-actions .panel-label{margin:0 0 6px}.selection-graph-actions .tip{margin:0 0 8px}.selection-offsets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.selection-offsets label{min-width:0;color:var(--ink-soft);font:10px/1.4 ui-sans-serif,system-ui}.selection-offsets input{margin-top:4px;min-height:36px;padding:7px}.selection-action-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:5px;gap:5px}.selection-action-buttons .small-action{min-width:0;padding:8px 3px}.selection-action-status{margin:8px 0 0;color:var(--ink-soft);font:10px/1.45 ui-sans-serif,system-ui}.local-snapshots{padding:16px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);font:12px/1.5 ui-sans-serif,system-ui;min-width:0}.snapshot-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.snapshot-heading h3{font:600 14px/1.5 ui-sans-serif,system-ui;margin:0}.local-snapshots p,.local-snapshots time,.snapshot-heading span{color:var(--muted)}.snapshot-create{display:flex;align-items:flex-end;gap:8px;margin:14px 0}.snapshot-create label{flex:1 1;min-width:0}.snapshot-create input{display:block;width:100%;margin-top:5px}.local-snapshots button{min-height:44px;min-width:44px}.local-snapshots ul{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.local-snapshots li{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--field)}.local-snapshots li>div{flex:1 1;min-width:0;overflow-wrap:anywhere}.local-snapshots strong,.local-snapshots time{display:block}.local-snapshots time{font-size:10px;margin-top:3px}@media(max-width:480px){.snapshot-create{align-items:stretch;flex-direction:column}.local-snapshots{padding:10px}.local-snapshots li{flex-wrap:wrap}.local-snapshots li>div{flex-basis:100%}.map-action-menu>summary span{display:block;margin:4px 0 0}.map-action-menu .actions{grid-template-columns:1fr}.map-toolbar .active-tool{grid-column:1/-1}.brush-preview{width:36px;height:36px}}.place-art-editor{display:grid;grid-gap:10px;gap:10px;margin:14px 0;padding:13px;border:1px solid var(--line);border-radius:9px;background:var(--panel2)}.place-art-editor .appearance-label{font-weight:700}.place-art-editor .tip{margin:0}.place-art-editor-row{display:flex;align-items:flex-end;gap:7px}.place-art-editor-row>label{display:grid;grid-gap:4px;gap:4px;flex:1 1;min-width:0;color:var(--ink-soft);font:11px ui-sans-serif,system-ui}.place-art-editor-row input{width:100%;min-width:0;min-height:36px;padding:7px;border:1px solid var(--line);border-radius:5px;background:var(--field);color:var(--ink)}.place-art-editor-row .small-action{min-width:56px;min-height:36px;padding:7px}.place-art-size{display:block;color:var(--ink-soft);font:11px ui-sans-serif,system-ui}.place-art-size output{float:right;color:var(--ink)}.place-art-size input{display:block;width:100%;margin-top:6px;accent-color:var(--gold)}.place-art-tints{display:flex;flex-wrap:wrap;gap:6px}.place-art-tints .small-action{min-height:35px;padding:6px 9px}.place-art-tints .small-action[aria-pressed=true]{border-color:var(--selected-line);background:var(--selected-a)}.map-canvas.is-dragging-stamp,.map-canvas.is-dragging-stamp .cell{cursor:grabbing!important;-webkit-user-select:none;-moz-user-select:none;user-select:none}.art-style-control{display:grid;grid-gap:8px;gap:8px;min-width:0}.art-style-control .panel-label{display:block;margin:0}.art-style-control select{display:block;width:100%;min-width:0;min-height:40px;padding:8px 10px;border:1px solid var(--control-line);border-radius:7px;background:var(--field);color:var(--ink);font:12px ui-sans-serif,system-ui}.art-style-control .hint{margin:0;color:var(--muted)}.strength-slider-control .panel-label output{float:right;color:var(--ink);letter-spacing:normal;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.strength-slider-control input[type=range]{margin:0}.strength-slider-control .small-action{margin-top:0}.water-saturation-rebuild{display:grid;grid-gap:6px;gap:6px;padding-top:8px;border-top:1px solid var(--line)}.water-saturation-rebuild .tip{margin:0}.range-ends{display:flex;justify-content:space-between;gap:8px;margin-top:4px;color:var(--muted);font:10px ui-sans-serif,system-ui}.header-utilities{display:flex;align-items:stretch;flex:none;min-height:40px;border:1px solid var(--control-line);border-radius:8px;background:var(--field);overflow:hidden}.header-utilities .theme-toggle{position:relative;gap:4px;min-width:0;padding-left:11px;color:var(--muted);letter-spacing:0}.header-utilities .theme-toggle:before{content:"◐";font:16px/1 ui-sans-serif,system-ui;color:var(--gold)}.header-utilities .theme-toggle span{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.header-utilities .theme-toggle select{min-height:38px;max-width:82px;padding:6px 8px 6px 2px;border:0;border-radius:0;background:transparent;color:var(--ink);font-size:11px;cursor:pointer}.header-new-map:focus-visible,.header-utilities .theme-toggle select:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}.header-gallery-link{display:flex;align-items:center;min-height:38px;padding:6px 11px;color:var(--ink);font:600 11px ui-sans-serif,system-ui;text-decoration:none;white-space:nowrap}.header-gallery-link:hover{color:var(--gold)}.header-gallery-link:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.header-new-map{display:flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap;min-height:38px;padding:6px 11px;border:0;border-left:1px solid var(--control-line);background:transparent;color:var(--ink);font:600 11px ui-sans-serif,system-ui;cursor:pointer}.header-new-map span{font-size:16px;font-weight:400;line-height:1;color:var(--gold)}.header-haptics{display:grid;place-items:center;min-width:38px;min-height:38px;padding:0 9px;border:0;border-left:1px solid var(--control-line);border-radius:0;background:transparent;color:var(--muted);cursor:pointer}.header-haptics[aria-pressed=true]{color:var(--gold)}.header-haptics:disabled{opacity:.5;cursor:not-allowed}.header-haptics:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}@media(hover:hover){.header-haptics:hover:not(:disabled),.header-new-map:hover,.header-utilities .theme-toggle:hover{background:var(--action-hover-bg)}}.topbar .save-state{min-width:0;overflow-wrap:anywhere}.topbar .save-state i{flex:none}@media(max-width:980px){.topbar{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;grid-gap:10px;gap:10px}.topbar .top-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"project utilities" "status status";align-items:center;grid-gap:7px 10px;gap:7px 10px;width:100%;min-width:0}.topbar .project-switcher{grid-area:project;min-width:0}.topbar .project-switcher select{width:min(100%,220px);max-width:100%;min-width:0;min-height:40px}.topbar .header-utilities{grid-area:utilities;justify-self:end}.topbar .save-state{grid-area:status;display:flex;max-width:none;margin:0}}.shoreline-draw-mode{display:flex;gap:4px;padding:3px;margin:10px 0;background:var(--well);border:1px solid var(--line);border-radius:8px}.shoreline-draw-mode .tool-button{flex:1 1;min-height:32px}.shoreline-draw-mode .tool-button[aria-pressed=true]{background:var(--selected-a);border-color:var(--selected-line);color:var(--ink)}.authored-water-draft-outline polygon,.authored-water-draft-outline polyline{stroke-width:.42;stroke-dasharray:1 .55;stroke-linejoin:round}.authored-water-draft-outline circle{stroke:var(--ink);stroke-width:.17;fill-opacity:1}.authored-water-draft-outline.authored-water-draft-water polygon{fill:var(--map-authored-water-fill);fill-opacity:.34;stroke:var(--map-authored-water-stroke)}.authored-water-draft-outline.authored-water-draft-water polyline{stroke:var(--map-authored-water-stroke);stroke-opacity:1}.authored-water-draft-outline.authored-water-draft-land polygon{fill:var(--map-authored-land-fill);fill-opacity:.4;stroke:var(--map-authored-land-stroke)}.authored-water-draft-outline.authored-water-draft-land polyline{stroke:var(--map-authored-land-stroke);stroke-opacity:1}.studio-intro-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.studio-intro-actions .small-action{width:auto;margin:0;min-height:44px}.studio-intro-actions .small-action:first-child{background:var(--action-bg-deep)}.world-start-options{display:grid;grid-gap:8px;gap:8px;margin:9px 0 15px}.world-start-options .choice{width:100%;margin:0;text-align:left}.world-start-options .choice small,.world-start-options .choice strong{display:block}.world-start-options .choice small{line-height:1.35}.shape-fill-picker{display:grid;grid-gap:5px;gap:5px;margin:10px 0 8px;color:var(--ink);font:11px ui-sans-serif,system-ui}.shape-fill-picker select{width:100%;min-height:38px}.shape-field-controls{display:grid;grid-gap:7px;gap:7px;margin:8px 0 10px;padding:9px;border:1px solid var(--line);border-radius:7px;background:var(--well)}.shape-field-controls label{display:grid;grid-template-columns:minmax(85px,1fr) minmax(70px,1fr) 36px;grid-gap:5px;gap:5px;align-items:center;font:11px/1.3 ui-sans-serif,system-ui;color:var(--ink)}.shape-field-controls input{min-width:0;width:100%}.shape-field-controls output{text-align:right;color:var(--muted)}.shape-field-controls .tip{margin:2px 0 0;font-size:11px}.shape-field-controls .shape-field-view{min-height:32px;justify-self:start;font-size:11px}.free-draw-switcher{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0 0 12px;padding:8px;border:1px solid var(--gold-line);border-radius:9px;background:var(--panel2);font:11px ui-sans-serif,system-ui}.free-draw-switcher span{margin:0 7px;color:var(--muted);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.free-draw-switcher button{min-height:36px;padding:7px 10px;border:1px solid var(--control-line);border-radius:6px;background:var(--field);color:var(--ink);cursor:pointer}.free-draw-switcher button[aria-pressed=true]{background:var(--selected-a);border-color:var(--selected-line)}.free-draw-switcher .free-draw-done{margin-left:auto}.generated-island-panel{margin-top:14px;padding:13px;border:1px solid var(--gold-line);border-radius:9px;background:linear-gradient(145deg,var(--tool-a),var(--tool-b))}.generated-island-panel .tip{margin:7px 0 10px}.generated-island-fields{display:grid;grid-gap:8px;gap:8px;margin:11px 0}.generated-island-fields label{display:grid;grid-template-columns:minmax(72px,1fr) minmax(70px,1.4fr) auto;grid-gap:6px;gap:6px;align-items:center;color:var(--ink);font:11px ui-sans-serif,system-ui}.generated-island-fields label:has(select){grid-template-columns:minmax(72px,1fr) minmax(95px,2fr)}.generated-island-fields input{min-width:0;width:100%}.generated-island-fields select,.generated-island-position input{min-width:0;min-height:36px;border:1px solid var(--control-line);border-radius:5px;background:var(--field);color:var(--ink);padding:5px}.generated-island-fields output{min-width:42px;text-align:right;color:var(--muted)}.generated-island-position{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;margin:11px 0}.generated-island-position label{display:grid;grid-gap:4px;gap:4px;color:var(--ink);font:11px ui-sans-serif,system-ui}.generated-island-position input{width:100%}.generated-island-preview polygon{fill:var(--map-authored-land-fill);fill-opacity:.42;stroke:var(--map-authored-land-stroke);stroke-width:.42;stroke-dasharray:1 .55;stroke-linejoin:round}.generated-island-preview circle{fill:var(--map-authored-land-fill);stroke:var(--ink);stroke-width:.18}.dam-highlight circle,.dam-highlight line{fill:none;stroke:var(--gold);stroke-width:2px;vector-effect:non-scaling-stroke}.dam-highlight circle{stroke-dasharray:4 3}.dam-tool .dam-problem{color:var(--danger-ink)}.dam-tool select{max-width:100%;background:var(--field);color:var(--ink);border:1px solid var(--control-line);border-radius:6px;padding:.4rem}@media(max-width:850px){.studio-intro{align-items:flex-start}.studio-intro-actions{justify-content:flex-end}.free-draw-switcher .free-draw-done{margin-left:0}}@media(max-width:560px){.studio-intro{display:block}.studio-intro-actions{justify-content:flex-start;margin-top:14px}.free-draw-switcher span{flex-basis:100%}.free-draw-switcher button{flex:1 1 46%}}.region-list{display:grid;grid-gap:4px;gap:4px;margin:8px 0}.region-list .tool-button{width:100%;min-height:32px;text-align:left;white-space:normal;font:11px/1.3 ui-sans-serif,system-ui}.region-list .tool-button[aria-pressed=true]{background:var(--selected-a);border-color:var(--selected-line);color:var(--ink)}.region-inspector{display:grid;grid-gap:7px;gap:7px;border-top:1px solid var(--line);padding-top:9px}.region-inspector label{display:grid;grid-gap:3px;gap:3px;color:var(--muted);font:10px ui-sans-serif,system-ui}.region-inspector .text-input{width:100%;min-width:0}.region-inspector .shape-draft-actions{margin-top:2px}.region-inspector .tip{margin:0;font-size:10px}.shape-recipe-start{display:grid;grid-gap:7px;gap:7px;margin:8px 0}.shape-recipe-start label{display:grid;grid-gap:4px;gap:4px;font:11px ui-sans-serif,system-ui;color:var(--muted)}.shape-recipe-start label:has(input[type=range]){grid-template-columns:1fr auto}.shape-recipe-start input[type=range]{grid-column:1/-1;width:100%}.shape-recipe-start .tip{margin:0}.region-recipe-controls{display:grid;grid-gap:7px;gap:7px;padding:9px;border:1px solid var(--line);border-radius:8px;background:var(--tool-a)}.region-recipe-advanced label,.region-recipe-controls>label:has(input[type=range]){grid-template-columns:1fr auto}.region-recipe-controls input[type=range]{grid-column:1/-1;width:100%}.region-recipe-controls output{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink)}.region-recipe-seed{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;grid-gap:6px;gap:6px}.region-recipe-seed .tool-button{min-height:36px;white-space:nowrap}.region-recipe-advanced{border-top:1px solid var(--line);padding-top:5px}.region-recipe-advanced summary{cursor:pointer;color:var(--ink);font:11px ui-sans-serif,system-ui}.region-recipe-advanced label{display:grid;grid-gap:3px;gap:3px;margin-top:7px}.region-layer-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:4px;gap:4px}.region-layer-actions .tool-button{min-height:34px;padding:5px 3px;font-size:10px}.region-layer-actions .tool-button:disabled{opacity:.5;cursor:not-allowed}.map-canvas>.map-highlight-overlay{overflow:visible}.map-canvas>.map-finish-overlay,.map-canvas>.map-highlight-overlay{position:absolute;inset:11px;z-index:3;width:calc(100% - 22px);height:calc(100% - 22px);pointer-events:none}.map-canvas>.map-finish-overlay{overflow:hidden}.brush-stroke-preview{position:absolute;inset:0;z-index:4;width:100%;height:100%;pointer-events:none;fill:var(--land);fill-opacity:.5;stroke:var(--gold);stroke-width:.04;stroke-opacity:.7}.brush-stroke-preview.water{fill:var(--water)}.brush-stroke-preview.snow{fill:var(--snow)}.brush-stroke-preview.sand{fill:var(--sand)}.brush-stroke-preview.forest{fill:var(--forest)}.brush-stroke-preview.stone{fill:var(--stone)}.brush-stroke-preview.grassland{fill:var(--grassland)}.brush-stroke-preview.farmland{fill:var(--farmland)}.brush-stroke-preview.dirt{fill:var(--dirt)}.brush-stroke-preview.cobblestone{fill:var(--cobblestone)}.brush-stroke-preview.paving{fill:var(--paving)}.brush-stroke-preview.metal{fill:var(--metal)}.brush-stroke-preview.swamp{fill:var(--swamp)}.brush-stroke-preview.ash{fill:var(--ash)}.brush-stroke-preview.height{fill:var(--gold);fill-opacity:.28}.map-canvas.is-painting .brush-stroke-preview{will-change:transform}.map-canvas>.cell{contain:layout paint style}.editor-item-list{content-visibility:auto;contain-intrinsic-size:auto 240px}.terrain-advanced{border-bottom:0}.terrain-advanced>summary{cursor:pointer;list-style:none}.terrain-advanced>summary::-webkit-details-marker{display:none}.terrain-advanced>summary>span{display:block;margin-top:4px;color:var(--muted);text-transform:none;letter-spacing:normal;font:11px/1.4 ui-sans-serif,system-ui}.terrain-advanced[open]>summary{margin-bottom:14px}.terrain-advanced>.panel-section:last-of-type,.terrain-advanced>.selection-tool{border-bottom:0;margin-bottom:0;padding-bottom:0}