:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f6f2ea;font-synthesis:none;text-rendering:geometricprecision;-webkit-font-smoothing:antialiased;--bg:#0b0b0c;--panel:#121214c7;--panel-2:#ffffff0e;--panel-3:#ffffff17;--field:#09090bd1;--border:#ffffff21;--border-strong:#ffffff38;--text:#f6f2ea;--muted:#a8a39b;--dim:#8d887e;--accent:#f6f2ea;--accent-soft:#f6f2ea38;--accent-softer:#f6f2ea14;--radius:16px;--ease:cubic-bezier(.2, .7, .2, 1);--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-mono-2:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;background:#0b0b0c;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,Inter,system-ui,Segoe UI,sans-serif}*,:before,:after{corner-shape:squircle;-webkit-corner-shape:squircle}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--panel:#fcfbf8eb;--panel-2:#0000000b;--panel-3:#00000016;--field:#ffffffc7;--border:#0000001a;--border-strong:#0000002e;--text:#18171a;--muted:#4a4742;--dim:#6d6962;--accent:#18171a;--accent-soft:#18171a29;--accent-softer:#18171a0f}output,.range-number,.map-zoom-input{font-variant-numeric:tabular-nums}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--bg);color:var(--text);margin:0;overflow:hidden}button,select,input,textarea{font:inherit}button{color:inherit}.lucide{stroke-width:1.75px;flex:none;display:block}.app-shell{background:var(--preview-bg,var(--bg));min-height:100svh;padding:12px;position:relative;overflow:hidden}.app-shell.has-preset-detail{overflow:hidden visible}.preset-detail{z-index:5;max-width:720px;color:var(--text);background:linear-gradient(180deg, transparent 0%, var(--bg) 18%);margin:100svh auto 0;padding:64px 32px 96px;font:15px/1.65 -apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;position:relative}.preset-detail-header{border-bottom:1px solid var(--border);margin-bottom:32px;padding-bottom:24px}.preset-detail-title{letter-spacing:-.02em;margin:0 0 8px;font-size:28px;font-weight:600;line-height:1.2}.preset-detail-blurb{color:var(--muted);margin:0;font-size:15px}.preset-detail-body{flex-direction:column;gap:32px;display:flex}.preset-detail-description{color:var(--text);margin:0}.preset-detail-subtitle{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 12px;font-size:13px;font-weight:600}.preset-detail-use-cases ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.preset-detail-use-cases li{color:var(--text);padding-left:22px;position:relative}.preset-detail-use-cases li:before{content:"→";color:var(--muted);position:absolute;left:0}.preset-detail-footer{border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:40px;padding-top:24px;font-size:13px;display:flex}.preset-detail-back{color:var(--text);border-bottom:1px solid;padding-bottom:2px;text-decoration:none}.preset-detail-back:hover{border-bottom-color:var(--accent)}.preset-detail-share code{background:var(--panel-2);color:var(--muted);border-radius:4px;padding:2px 6px;font:12px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}@media (width<=600px){.preset-detail{padding:48px 20px 64px}.preset-detail-title{font-size:24px}}.embed-view{background:var(--bg);position:fixed;inset:0;overflow:hidden}.embed-view-placeholder{background:radial-gradient(circle at 60% 50%, #788cc80a 0%, transparent 38%), var(--bg);position:fixed;inset:0}.embed-view-fallback{background:var(--bg);color:var(--text);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:32px;font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;display:flex;position:fixed;inset:0}.embed-view-fallback a{color:var(--text);text-decoration:underline}.app-shell:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(90deg,#0b0b0c94,#0b0b0c24 24%,#0000 42% 58%,#0b0b0c29 76%,#0b0b0c9e),linear-gradient(#0b0b0c14,#0b0b0c47);position:fixed;inset:0}.map-background{z-index:0;background:var(--preview-bg,var(--bg));cursor:grab;perspective:var(--map-perspective,1000px);perspective-origin:50%;touch-action:none;-webkit-user-select:none;user-select:none;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.globe-background{z-index:0;background:var(--preview-bg,var(--bg));cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;position:fixed;inset:0;overflow:hidden}.map-background-placeholder{z-index:0;background:radial-gradient(circle at 60% 50%, #788cc80a 0%, transparent 38%), var(--preview-bg,var(--bg));position:fixed;inset:0}.perf-monitor{color:#d3e4ff;letter-spacing:.02em;pointer-events:none;z-index:10;-webkit-backdrop-filter:blur(6px);-webkit-user-select:none;user-select:none;background:#080a0ec7;border:1px solid #ffffff14;border-radius:6px;grid-template-columns:auto auto;gap:2px 8px;padding:6px 9px;font:500 10px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;display:grid;position:absolute;top:12px;right:12px}.perf-monitor-row{display:contents}.perf-monitor-label{color:#d3e4ff8c;text-transform:uppercase;align-self:center;font-size:9px}.perf-monitor-value{font-variant-numeric:tabular-nums;text-align:right;color:#f4f8ff}.map-background-placeholder:after{content:"";background:radial-gradient(circle at 35% 35%,#ffffff0a,#0000 60%);border:1px solid #ffffff0f;border-radius:50%;width:22vmin;height:22vmin;margin:-11vmin 0 0 -11vmin;animation:2.4s ease-in-out infinite globe-shimmer;position:absolute;top:50%;left:60%}@keyframes globe-shimmer{0%,to{opacity:.4}50%{opacity:.8}}.map-background-error{z-index:0;text-align:center;background:var(--preview-bg,var(--bg));color:var(--text,#e8e8ea);align-content:center;place-items:center;gap:12px;padding:24px;font-size:14px;display:grid;position:fixed;inset:0}.map-background-error p{opacity:.78;max-width:320px;margin:0}.map-background-error-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.button-ghost{text-decoration:none;border-color:var(--border)!important;background:0 0!important;font-weight:500!important}.button-ghost:hover{background:var(--panel-2)!important;border-color:var(--border-strong)!important}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--panel);color:var(--text);border:1px solid var(--border-strong);transition:transform .18s var(--ease);border-radius:12px;padding:10px 14px;font-size:13px;font-weight:500;text-decoration:none;position:fixed;top:8px;left:8px;transform:translateY(-200%);box-shadow:0 14px 36px #00000052}.skip-link:focus,.skip-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;transform:translateY(0)}.globe-background:before{content:"";pointer-events:none;background:radial-gradient(circle at 50% 48%, #dbe8b507, transparent calc(var(--globe-glow-spread,50%) * .7)), radial-gradient(circle at 50% 48%, #ffffff0b, transparent var(--globe-glow-spread,50%));opacity:var(--globe-bg-glow-opacity,.54);filter:blur(var(--globe-glow-blur,0px));position:absolute;inset:0}.globe-background.look-borderless:before{background:radial-gradient(circle at 56% 42%, #77deff29, transparent calc(var(--globe-glow-spread,50%) * .55)), radial-gradient(circle at 46% 56%, #a885ff21, transparent calc(var(--globe-glow-spread,50%) * .75)), radial-gradient(circle at 50% 50%, #ffffff0e, transparent calc(var(--globe-glow-spread,50%) * 1.05));mix-blend-mode:screen}.globe-background canvas{z-index:1;transform-origin:50%;will-change:transform;outline:none;width:100%;height:100%;transition:transform .32s cubic-bezier(.34,1.56,.64,1);display:block;position:relative}.globe-background.is-dragging canvas{transition:transform .18s cubic-bezier(.2,.7,.2,1);transform:scale(1.05)}@media (prefers-reduced-motion:reduce){.globe-background canvas,.globe-background.is-dragging canvas{transition:none;transform:none}}.globe-background canvas:focus-visible{outline:2px solid var(--accent,#f6f2ea);outline-offset:-4px;border-radius:4px}@media (prefers-reduced-transparency:reduce){.control-rail,.panel-toggle,.social-link,.map-zoom-controls,.view-mode-switch{-webkit-backdrop-filter:none!important;background:#0c0c0eeb!important}}.globe-background.look-borderless canvas{filter:saturate(1.2)contrast(1.06)}.globe-background.effect-chromatic canvas{filter:saturate(1.16)contrast(1.08)}.globe-background.effect-crt canvas{filter:contrast(1.1)saturate(1.12);animation:3.6s steps(2,end) infinite crt-flicker}.globe-background.effect-halftone canvas,.globe-background.effect-pixel canvas,.globe-background.effect-threshold canvas{filter:contrast(1.2)}.globe-background.is-dragging{cursor:grabbing}.map-background.is-passive,.globe-background.is-passive{pointer-events:none}.app-shell.is-view-transitioning .globe-background,.app-shell.is-view-transitioning .map-svg-layer,.app-shell.is-view-transitioning .shader-canvas{will-change:opacity, transform, filter, clip-path}.app-shell.is-view-transitioning .globe-background canvas,.app-shell.is-view-transitioning .shader-canvas{animation:1.7s cubic-bezier(.22,.61,.36,1) both morph-pulse}@keyframes morph-pulse{0%{filter:saturate()brightness()blur()}35%{filter:saturate(1.18)brightness(1.06)blur(.6px)}50%{filter:saturate(1.22)brightness(1.08)blur(.8px)}70%{filter:saturate(1.12)brightness(1.04)blur(.4px)}to{filter:saturate()brightness()blur()}}@media (prefers-reduced-motion:reduce){.app-shell.is-view-transitioning .globe-background canvas,.app-shell.is-view-transitioning .shader-canvas{animation:none}}.app-shell.is-transparent-preview,.app-shell.is-transparent-preview .map-background,.app-shell.is-transparent-preview .globe-background{background-color:#f4f4f4;background-image:conic-gradient(#b8b8b8 25%, #f2f2f2 0 50%, #b8b8b8 0 75%, #f2f2f2 0);background-position:0 0;background-size:20px 20px}.app-shell.is-transparent-preview:after,.app-shell.is-transparent-preview.is-globe-mode:after,.app-shell.is-transparent-preview.is-borderless-globe:after{background:linear-gradient(90deg,#ffffff2e,#0000 24% 76%,#0000000f),linear-gradient(#ffffff1f,#0000 46%,#0000000a)}.app-shell.is-globe-mode:after{background:linear-gradient(90deg,#0b0b0c8a,#0b0b0c1f 24%,#0000 47% 63%,#0b0b0c29 79%,#0b0b0c94),linear-gradient(#0b0b0c0d,#0b0b0c3d)}.app-shell.is-borderless-globe:after{background:linear-gradient(90deg,#05091294,#05091221 24%,#0000 47% 63%,#0a07172b 79%,#05070f94),linear-gradient(#131f3b08,#090a1433)}.map-background .dot-map{object-fit:contain;opacity:.92;width:min(1320px,106vw);height:auto;max-height:88svh;transform:translate3d(var(--map-offset-x,0px), var(--map-offset-y,0px), 0) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) scale(var(--map-zoom,1));transform-origin:50%;transform-style:preserve-3d;will-change:filter, transform;grid-area:1/1;transition:filter .18s,opacity .18s,transform .16s;display:block}.map-svg-layer{z-index:1;grid-area:1/1;place-items:center;width:100%;height:100%;display:grid}.shader-canvas{z-index:2;object-fit:contain;pointer-events:none;width:min(1320px,106vw);height:auto;max-height:88svh;transform:translate3d(var(--map-offset-x,0px), var(--map-offset-y,0px), 0) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) scale(var(--map-zoom,1));transform-origin:50%;transform-style:preserve-3d;will-change:opacity, transform;grid-area:1/1;transition:opacity .18s,transform .16s;display:block}.map-background.effect-bloom .dot-map{filter:drop-shadow(0 0 var(--shader-glow,8px) #f6f2ea2e) drop-shadow(0 0 var(--shader-glow-wide,16px) #ffffff2e)}.map-background.effect-chromatic .dot-map{filter:drop-shadow(var(--shader-split,7px) 0 0 #ff3c94a3) drop-shadow(var(--shader-split-neg,-7px) 0 0 #40e0ff99)}.map-background.effect-crt .dot-map{filter:saturate(1.2) drop-shadow(0 0 var(--shader-glow,8px) #f6f2ea29);animation:3.6s steps(2,end) infinite crt-flicker}.map-background.effect-halftone .dot-map{filter:contrast(1.18)saturate(1.05)}.map-background.effect-pixel .dot-map{filter:contrast(1.36);image-rendering:pixelated}.map-background.effect-threshold .dot-map{filter:grayscale(.6)contrast(2.2)}.map-background.has-webgl-shader .dot-map{opacity:.012;filter:none;animation:none}.map-background.is-dragging,.map-background.is-dragging .map-dot{cursor:grabbing}.map-background.is-dragging .dot-map,.map-background.is-dragging .shader-canvas{transition:none}.map-dot{cursor:pointer;stroke:#0000;stroke-width:1px;transition:opacity .12s}.map-dot:hover{opacity:.72}@keyframes crt-flicker{0%,to{opacity:.94}48%{opacity:.9}52%{opacity:.98}}.space-background{z-index:0;pointer-events:none;background:#03030a;position:fixed;inset:0;overflow:hidden}.space-background-nebula{background:radial-gradient(60% 50% at 28% 38%,#24164e8c 0%,#0806182e 55%,#0000 100%),radial-gradient(55% 45% at 74% 68%,#0826408c 0%,#040e202e 55%,#0000 100%),radial-gradient(40% 35% at 55% 18%,#40123252 0%,#0000 100%);position:absolute;inset:0}.space-background-svg{display:block;position:absolute;inset:0}.space-background-vignette{background:radial-gradient(#0000 55%,#00000080 100%);position:absolute;inset:0}.app-shell.is-space-background{background:#03030a}.app-shell.is-space-background .globe-background,.app-shell.is-space-background .map-background,.app-shell.is-space-background .map-background-placeholder,.app-shell.is-space-background .map-background-error{background:0 0}.control-rail{z-index:2;background:var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--border);scrollbar-width:thin;scrollbar-color:var(--panel-3) transparent;transform-origin:0 0;width:min(398px,100vw - 32px);max-height:calc(100vh - 32px);transition:transform .32s var(--ease), opacity .22s var(--ease), filter .22s var(--ease);border-radius:28px;align-content:start;gap:10px;padding:10px;display:grid;position:fixed;top:16px;bottom:auto;left:16px;overflow:hidden auto;box-shadow:0 24px 80px #00000070}.control-rail.is-collapsed{opacity:0;filter:blur(6px);pointer-events:none;transform:scale(.6)}.panel-header-actions{align-items:center;gap:2px;display:inline-flex}.looks-bar{scrollbar-width:none;-ms-overflow-style:none;gap:4px;margin:0 -10px;padding:2px 18px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 24px calc(100% - 24px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 24px calc(100% - 24px),#0000 100%)}.looks-bar[data-at-start=true]{-webkit-mask-image:linear-gradient(90deg,#000 0 calc(100% - 24px),#0000 100%);mask-image:linear-gradient(90deg,#000 0 calc(100% - 24px),#0000 100%)}.looks-bar[data-at-end=true]{-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 24px 100%);mask-image:linear-gradient(90deg,#0000 0,#000 24px 100%)}.looks-bar[data-at-start=true][data-at-end=true]{-webkit-mask-image:none;mask-image:none}.looks-bar::-webkit-scrollbar{display:none}.looks-chip{border:1px solid var(--border);background:var(--field);min-height:40px;color:var(--muted);white-space:nowrap;cursor:pointer;transition:background .18s var(--ease), border-color .18s var(--ease), color .18s var(--ease);border-radius:10px;flex:none;align-items:center;gap:14px;padding:0 14px 0 0;font-size:12px;font-weight:500;display:inline-flex;overflow:hidden}.looks-chip-preview{border-right:1px solid var(--border);filter:saturate(.8);width:40px;transition:filter .22s var(--ease), transform .22s var(--ease);background:#000;flex:none;justify-content:center;align-self:stretch;align-items:center;display:inline-flex}.looks-chip:hover .looks-chip-preview,.looks-chip.is-applied .looks-chip-preview{filter:saturate()}.looks-chip-preview-globe{width:100%;height:100%;transition:filter .22s var(--ease);display:block}.looks-chip-preview-image{object-fit:cover;object-position:30% center;width:100%;height:100%;transition:filter .22s var(--ease);-webkit-user-select:none;user-select:none;-webkit-user-drag:none;display:block}.looks-chip:hover .looks-chip-preview-image{filter:brightness(1.06)saturate(1.06)}.looks-chip.is-applied .looks-chip-preview-image{filter:brightness(1.05)saturate(1.05)}.looks-chip-preview-globe .globe-preview-content{transition:filter .22s var(--ease)}.looks-chip:hover .looks-chip-preview-globe .globe-preview-content{filter:brightness(1.08)saturate(1.06)}.looks-chip.is-applied .looks-chip-preview-globe .globe-preview-content{filter:brightness(1.06)saturate(1.05)}.looks-chip:hover{border-color:var(--border-strong);background:var(--panel-3);color:var(--text)}.looks-chip:active{transform:translateY(.5px)}.looks-chip.is-applied{color:var(--text);border-color:#f6f2ea73;animation:.62s cubic-bezier(.2,.7,.2,1) looks-chip-apply}.looks-chip.is-applied .looks-chip-preview{animation:.62s cubic-bezier(.2,.7,.2,1) looks-chip-pop}@keyframes looks-chip-apply{0%{transform:translateY(0)scale(1);box-shadow:0 0 #f6f2ea00}35%{transform:translateY(-1px)scale(1.025);box-shadow:0 0 0 4px #f6f2ea29}to{transform:translateY(0)scale(1);box-shadow:0 0 #f6f2ea00}}@keyframes looks-chip-pop{0%{transform:scale(1)}35%{transform:scale(1.18)rotate(-3deg)}to{transform:scale(1.06)rotate(0)}}.panel-reset-button.is-resetting .lucide-rotate-ccw{animation:.52s cubic-bezier(.4,0,.2,1) reset-spin}@keyframes reset-spin{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.panel-shuffle-button.is-shuffling .lucide-shuffle{animation:shuffle-tumble .62s var(--ease)}@keyframes shuffle-tumble{0%{transform:rotate(0)scale(1)}30%{transform:rotate(-18deg)scale(1.1)}60%{transform:rotate(18deg)scale(1.1)}to{transform:rotate(0)scale(1)}}@media (prefers-reduced-motion:reduce){.panel-shuffle-button.is-shuffling .lucide-shuffle,.panel-reset-button.is-resetting .lucide-rotate-ccw{animation:none}}.panel-icon-button{width:28px;height:28px;color:var(--muted);cursor:pointer;transition:background .18s var(--ease), color .18s var(--ease);background:0 0;border:0;border-radius:14px;justify-content:center;align-items:center;display:inline-flex}.panel-icon-button:hover{background:var(--panel-3);color:var(--text)}.export-info{border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;padding:8px 2px 4px;display:flex}.export-info-label{color:var(--text);font-size:12px;font-weight:500}.export-info-value{color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.01em;font-size:12px;font-weight:500}.export-info-x{color:var(--dim);margin:0 2px}.export-modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(8px);animation:export-modal-fade-in .18s var(--ease);background:#0606089e;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.export-modal{border:1px solid var(--border);background:#0e0e10f5;border-radius:16px;flex-direction:column;width:min(640px,100%);max-height:calc(100vh - 48px);animation:.26s cubic-bezier(.2,.7,.2,1) export-modal-rise-in;display:flex;overflow:hidden;box-shadow:0 32px 80px #0000008c}@keyframes export-modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes export-modal-rise-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.export-modal-header{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;gap:12px;padding:16px 16px 16px 20px;display:flex}.export-modal-title{letter-spacing:-.01em;color:var(--text);margin:0;font-size:18px;font-weight:600}.export-modal-close{border:1px solid var(--border);width:32px;height:32px;color:var(--muted);cursor:pointer;transition:background .18s var(--ease), color .18s var(--ease), border-color .18s var(--ease);background:0 0;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.export-modal-close:hover{background:var(--panel-3);color:var(--text);border-color:var(--border-strong)}.export-modal-tabs{border-bottom:1px solid #ffffff0f;gap:4px;padding:12px 16px 0;display:flex}.shortcuts-overlay-backdrop{z-index:60;-webkit-backdrop-filter:blur(8px);animation:export-modal-fade-in .18s var(--ease);background:#0606089e;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.shortcuts-overlay{border:1px solid var(--border);background:#0e0e10f5;border-radius:16px;flex-direction:column;width:min(380px,100%);animation:.26s cubic-bezier(.2,.7,.2,1) export-modal-rise-in;display:flex;overflow:hidden;box-shadow:0 32px 80px #0000008c}.shortcuts-overlay-header{justify-content:space-between;align-items:center;gap:12px;padding:16px 16px 12px 20px;display:flex}.shortcuts-overlay-title{letter-spacing:-.005em;color:var(--text);margin:0;font-size:14px;font-weight:600}.shortcuts-overlay-close{border:1px solid var(--border);width:28px;height:28px;color:var(--muted);cursor:pointer;transition:background .18s var(--ease), color .18s var(--ease), border-color .18s var(--ease);background:0 0;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.shortcuts-overlay-close:hover{background:var(--panel-3);color:var(--text);border-color:var(--border-strong)}.shortcuts-overlay-list{flex-direction:column;gap:2px;margin:0;padding:4px 8px 16px;list-style:none;display:flex}.shortcuts-overlay-row{color:var(--muted);border-radius:8px;align-items:center;gap:12px;padding:6px 12px;font-size:12px;display:flex}.shortcuts-overlay-row:hover{color:var(--text);background:#ffffff08}.shortcuts-overlay-key{border:1px solid var(--border-strong);min-width:28px;height:24px;color:var(--text);font-family:var(--font-mono-2);background:#ffffff0a;border-bottom-width:2px;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:0 8px;font-size:11px;font-weight:600;display:inline-flex}.shortcuts-overlay-label{flex:auto}.follow-tooltip{z-index:60;border:1px solid var(--border);-webkit-backdrop-filter:blur(10px)saturate(140%);color:var(--text);letter-spacing:0;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .12s var(--ease);background:#0e0e10f0;border-radius:12px;padding:5px 10px;font-size:11.5px;font-weight:500;position:fixed;top:0;left:0;transform:translate(0);box-shadow:0 8px 18px #0000006b}.follow-tooltip.is-visible{opacity:1}@media (prefers-reduced-motion:reduce){.follow-tooltip{transition:none}}.keyboard-hint{z-index:55;border:1px solid var(--border);-webkit-backdrop-filter:blur(12px)saturate(140%);color:var(--text);pointer-events:none;animation:keyboard-hint-pop 1.4s var(--ease);background:#0e0e10eb;border-radius:999px;align-items:center;gap:10px;padding:8px 14px 8px 10px;font-size:12px;font-weight:500;display:inline-flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 12px 28px #00000073}.keyboard-hint-key{border:1px solid var(--border-strong);min-width:24px;height:22px;font-family:var(--font-mono-2);background:#ffffff0a;border-bottom-width:2px;border-radius:5px;justify-content:center;align-items:center;padding:0 7px;font-size:11px;font-weight:600;display:inline-flex}@keyframes keyboard-hint-pop{0%{opacity:0;transform:translate(-50%,6px)scale(.96)}12%{opacity:1;transform:translate(-50%)scale(1)}85%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,4px)scale(.98)}}@media (prefers-reduced-motion:reduce){.keyboard-hint{animation:none}}.export-modal-tab{color:var(--dim);cursor:pointer;transition:color .16s var(--ease);background:0 0;border:0;border-bottom:1px solid #0000;margin-bottom:-1px;padding:6px 12px 10px;font-size:13px;font-weight:500;position:relative}.export-modal-tab:hover{color:var(--muted)}.export-modal-tab.is-active{color:var(--text);border:1px solid var(--border);background:#ffffff08;border-bottom-color:#0000;border-radius:8px 8px 0 0;padding:6px 12px 10px}.export-modal-body{flex-direction:column;gap:18px;padding:20px;display:flex;overflow:auto}.export-modal-field{flex-direction:column;gap:8px;display:flex}.export-modal-label{letter-spacing:.08em;text-transform:uppercase;color:var(--dim);font-size:10px;font-weight:600}.export-modal-pills{flex-wrap:wrap;gap:6px;display:flex}.export-modal-pill{border:1px solid var(--border);background:var(--field);min-height:32px;color:var(--muted);cursor:pointer;transition:background .16s var(--ease), border-color .16s var(--ease), color .16s var(--ease);border-radius:14px;padding:0 14px;font-size:12px;font-weight:500}.export-modal-pill:hover{border-color:var(--border-strong);background:var(--panel-3);color:var(--text)}.export-modal-pill.is-active{color:var(--text);background:#f6f2ea14;border-color:#f6f2ea73}.export-modal-dimensions{grid-template-columns:1fr 1fr;gap:12px;display:grid}.export-modal-dimension{flex-direction:column;gap:8px;display:flex}.export-modal-input{border:1px solid var(--border);background:var(--field);width:100%;height:36px;color:var(--text);font:500 13px var(--font-mono-2);font-variant-numeric:tabular-nums;transition:border-color .16s var(--ease), background .16s var(--ease);border-radius:14px;padding:0 12px}.export-modal-input:hover{border-color:var(--border-strong)}.export-modal-input:focus{background:#ffffff0a;border-color:#f6f2ea80;outline:none}.export-modal-row{grid-template-columns:auto 1fr;align-items:start;gap:18px;display:grid}.export-modal-caption{color:var(--dim);margin:-4px 0 0;font-size:12px;line-height:1.5}.export-modal-cta{width:100%;min-height:44px;color:var(--text);cursor:pointer;transition:background .16s var(--ease), border-color .16s var(--ease), transform 80ms var(--ease);background:#f6f2ea14;border:1px solid #f6f2ea38;border-radius:18px;justify-content:center;align-items:center;gap:10px;padding:0 16px;font-size:13px;font-weight:500;display:inline-flex}.export-modal-cta:hover:not(:disabled){background:#f6f2ea24;border-color:#f6f2ea5c}.export-modal-cta:active:not(:disabled){transform:translateY(1px)}.export-modal-cta:disabled{opacity:.6;cursor:not-allowed}.export-modal-cta.is-secondary{background:var(--field);border-color:var(--border)}.export-modal-cta.is-success{color:var(--accent);border-color:#f6f2ea73}.export-modal-cta.is-recording{background:#f6f2ea0a}.export-modal-progress{background:#ffffff0f;border-radius:999px;height:3px;overflow:hidden}.export-modal-progress-fill{background:var(--accent);height:100%;transition:width .12s linear}.export-modal-dropzone{border:1px dashed var(--border-strong);color:var(--muted);cursor:pointer;transition:border-color .16s var(--ease), background .16s var(--ease), color .16s var(--ease);background:#ffffff05;border-radius:18px;grid-template-columns:auto 1fr;align-items:center;gap:14px;padding:14px 16px;display:grid}.export-modal-dropzone:hover,.export-modal-dropzone:focus-visible{color:var(--text);background:#ffffff0a;border-color:#f6f2ea73;outline:none}.export-modal-dropzone-text{color:var(--dim);flex-direction:column;gap:2px;font-size:12px;display:flex}.export-modal-dropzone-text strong{color:var(--text);font-size:13px;font-weight:500}@media (width<=540px){.export-modal-row,.export-modal-dimensions{grid-template-columns:1fr}}.export-actions{gap:4px;display:grid}.export-progress{background:#ffffff0f;border-radius:999px;height:3px;margin-top:4px;overflow:hidden}.export-progress-fill{background:var(--accent,#f6f2ea);height:100%;transition:width .12s linear}.export-action-button:disabled{opacity:.55;cursor:not-allowed}.export-action-button{border:1px solid var(--border);background:var(--field);width:100%;min-height:34px;color:var(--text);cursor:pointer;transition:background .18s var(--ease), border-color .18s var(--ease), color .18s var(--ease);border-radius:6px;justify-content:flex-start;align-items:center;gap:10px;padding:0 12px;font-size:12px;font-weight:500;display:inline-flex}.export-action-button>.lucide{color:var(--muted);transition:color .18s var(--ease);flex:none}.export-action-button:hover{border-color:var(--border-strong);background:var(--panel-3)}.export-action-button:hover>.lucide{color:var(--text)}.export-action-button.is-primary{background:#f6f2ea14;border-color:#f6f2ea38}.export-action-button.is-primary>.lucide{color:var(--text)}.export-action-button.is-primary:hover{background:#f6f2ea24;border-color:#f6f2ea5c}.export-action-button.is-success{color:var(--accent);border-color:#f6f2ea52}.export-action-button.is-success>.lucide{color:var(--accent)}.export-action-button.is-manual{color:var(--accent);border-color:#f6f2ea52}.panel-toggle{z-index:5;border:1px solid var(--border);background:var(--panel);-webkit-backdrop-filter:blur(18px);width:34px;height:34px;color:var(--muted);cursor:pointer;animation:panel-toggle-in .28s var(--ease);transition:background .18s var(--ease), border-color .18s var(--ease), color .18s var(--ease);border-radius:14px;justify-content:center;align-items:center;display:inline-flex;position:fixed;top:16px;left:16px;box-shadow:0 14px 36px #00000052}@keyframes panel-toggle-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.panel-toggle:hover{background:var(--panel-3);border-color:var(--border-strong);color:var(--text)}.social-links{z-index:4;align-items:center;gap:6px;display:inline-flex;position:fixed;bottom:16px;right:16px}.bug-link{z-index:4;position:fixed;bottom:16px;left:16px}.social-link{border:1px solid var(--border);background:var(--panel);-webkit-backdrop-filter:blur(18px);width:34px;height:34px;color:var(--muted);cursor:pointer;transition:background .18s var(--ease), border-color .18s var(--ease), color .18s var(--ease);border-radius:14px;justify-content:center;align-items:center;text-decoration:none;display:inline-flex;box-shadow:0 14px 36px #00000052}.social-link:hover{background:var(--panel-3);border-color:var(--border-strong);color:var(--text)}.view-mode-switch{z-index:4;border:1px solid var(--border);background:var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:22px;grid-template-columns:repeat(2,minmax(0,92px));gap:5px;padding:5px;display:grid;position:fixed;top:12px;left:50%;transform:translate(-50%);box-shadow:0 18px 54px #00000061}.view-mode-indicator{pointer-events:none;z-index:0;background:#f6f2ea0f;border:1px solid #f6f2ea52;border-radius:17px;width:calc(50% - 7.5px);transition:transform .36s cubic-bezier(.34,1.3,.5,1);position:absolute;top:5px;bottom:5px;left:5px;transform:translate(0)}.view-mode-switch[data-active=globe] .view-mode-indicator{transform:translate(calc(100% + 5px))}@media (prefers-reduced-motion:reduce){.view-mode-indicator{transition:none}}.view-mode-button{z-index:1;min-height:34px;color:var(--muted);cursor:pointer;transition:color .22s var(--ease);background:0 0;border:1px solid #0000;border-radius:17px;justify-content:center;align-items:center;gap:7px;font-size:12px;font-weight:780;display:inline-flex;position:relative}.view-mode-button:hover,.view-mode-button:focus-visible{color:var(--text)}.view-mode-button.is-active{color:var(--accent)}.map-zoom-controls{z-index:3;border:1px solid var(--border);-webkit-backdrop-filter:blur(18px)saturate(140%);background:#0c0c0eb8;border-radius:18px;align-items:center;gap:2px;padding:4px;display:inline-flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 16px 40px #0000006b}.map-zoom-button{width:28px;height:28px;color:var(--muted);cursor:pointer;transition:background .18s var(--ease), color .18s var(--ease);background:0 0;border:0;border-radius:14px;justify-content:center;align-items:center;display:inline-flex}.map-zoom-button:hover{background:var(--panel-3);color:var(--text)}.map-zoom-display{text-align:center;min-width:54px;color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:.01em;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .14s var(--ease);border-radius:6px;outline:0;padding:0 8px;font-size:11px;font-weight:500}.map-zoom-display:hover{background:#ffffff0a}.map-zoom-display:focus-visible{outline:2px solid var(--accent,#f6f2ea);outline-offset:2px}.export-menu{position:relative}.export-menu-button{min-width:124px}.export-popover{border:1px solid var(--border);background:var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:10px;width:min(340px,100vw - 24px);padding:6px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 20px 60px #0000006b}.export-scale-group{color:var(--muted);border-bottom:1px solid #ffffff14;gap:8px;padding:8px;font-size:12px;font-weight:740;display:grid}.export-scale-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;display:grid}.export-scale-option{border:1px solid var(--border);background:var(--field);min-height:28px;color:var(--muted);font-variant-numeric:tabular-nums;cursor:pointer;transition:background .18s var(--ease), border-color .18s var(--ease), color .18s var(--ease);border-radius:6px;font-size:11px;font-weight:500}.export-scale-option:hover{border-color:var(--border-strong);color:var(--text)}.export-scale-option.is-active{color:var(--accent);background:#f6f2ea0d;border-color:#f6f2ea52}.copy-fallback{resize:vertical;border:1px solid var(--border);background:var(--field);width:100%;min-height:112px;color:var(--text);font-family:var(--font-mono-2);border-radius:8px;outline:0;padding:9px;font-size:11px;line-height:1.45}.button{border:1px solid var(--border);border-radius:var(--radius);background:var(--field);min-height:40px;color:var(--text);white-space:nowrap;cursor:pointer;transition:background .18s var(--ease), border-color .18s var(--ease), color .18s var(--ease), transform .14s var(--ease);justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:700;display:inline-flex;position:relative}.button:hover,.button-active{background:var(--panel-3);border-color:var(--border-strong)}.button:active{transform:translateY(1px)}.button:disabled{cursor:default}.panel-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 8px 4px;display:grid}.panel-meta{align-items:center;gap:10px;min-width:0;display:flex}.panel-meta-icon{width:60px;height:60px;color:var(--text);flex:none;justify-content:center;align-items:center;display:inline-flex}.control-panel{align-content:start;gap:6px;min-width:0;display:grid}.option-block{align-self:start;padding:8px 4px 12px}.option-block+.option-block{border-top:1px solid #ffffff0f}.map-area-section{gap:8px;padding:4px 8px 8px;display:grid}.option-block summary{min-height:28px;color:var(--dim);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .18s var(--ease);align-items:center;gap:8px;padding:0 8px;font-size:10px;font-weight:700;list-style:none;display:flex}.option-block summary:hover{color:var(--muted)}.option-block summary::-webkit-details-marker{display:none}.option-block summary svg:last-child{opacity:.55;transition:transform .18s var(--ease), opacity .18s var(--ease);margin-left:auto}.option-block summary:hover svg:last-child{opacity:.9}.option-block[open]>summary svg:last-child{transform:rotate(180deg)}.option-content{gap:14px;padding:14px 8px 2px;display:grid}.option-row{min-width:0}.option-row-inline{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.option-row-stacked{flex-direction:column;gap:8px;display:flex}.option-row label{min-width:0;color:var(--text);justify-content:space-between;align-items:center;gap:12px;font-size:12px;font-weight:500;display:flex}.option-row-inline label{flex:auto}.option-row label>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.option-row output{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:12px;font-weight:500}.option-control{min-width:0}.option-row-inline .option-control select,.option-row-inline .option-control .shape-select,.option-row-inline .option-control .segmented-control{min-width:160px}.segmented-control{grid-template-columns:repeat(var(--segment-count,2), 1fr);border:1px solid var(--border);background:var(--field);border-radius:12px;gap:3px;min-height:32px;padding:3px;display:grid;position:relative}.segmented-control-indicator{width:calc((100% - 6px - 3px * (var(--segment-count,2) - 1)) / var(--segment-count,2));background:var(--panel-3);transform:translateX(calc(var(--active-index,0) * (100% + 3px)));pointer-events:none;z-index:0;border:1px solid #f6f2ea38;border-radius:9px;transition:transform .36s cubic-bezier(.34,1.3,.5,1);position:absolute;top:3px;bottom:3px;left:3px}@media (prefers-reduced-motion:reduce){.segmented-control-indicator{transition:none}}.segmented-control-button{z-index:1;min-height:24px;color:var(--muted);cursor:pointer;transition:color .22s var(--ease);background:0 0;border:0;border-radius:9px;font-size:12px;font-weight:500;position:relative}.segmented-control-button:hover,.segmented-control-button:focus-visible,.segmented-control-button.is-active{color:var(--text)}select{border:1px solid var(--border);background:var(--field);width:100%;min-height:32px;color:var(--text);cursor:pointer;appearance:none;transition:border-color .18s var(--ease), background-color .18s var(--ease);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23a8a39b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:10px 10px;border-radius:6px;outline:0;padding:0 32px 0 10px;font-size:12px;font-weight:500}select:hover{border-color:var(--border-strong)}.shape-select{width:100%;position:relative}.shape-select-trigger{border:1px solid var(--border);background:var(--field);width:100%;min-height:32px;color:var(--text);font:inherit;cursor:pointer;transition:border-color .18s var(--ease), background .18s var(--ease);border-radius:6px;align-items:center;gap:8px;padding:0 10px;font-size:12px;font-weight:500;display:inline-flex}.shape-select-trigger:hover{border-color:var(--border-strong)}.shape-select-trigger[aria-expanded=true]{border-color:var(--border-strong);background:#ffffff0a}.shape-select-trigger .shape-preview{color:var(--text)}.shape-select-label{text-align:left;flex:auto}.shape-select-trigger svg:last-child{opacity:.6;margin-left:auto}.shape-select-menu{z-index:10;border:1px solid var(--border);-webkit-backdrop-filter:blur(18px)saturate(140%);background:#121214f5;border-radius:8px;max-height:240px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 16px 40px #0000008c}.shape-select-option{width:100%;color:var(--muted);font:inherit;cursor:pointer;text-align:left;transition:background .14s var(--ease), color .14s var(--ease);background:0 0;border:0;border-radius:5px;align-items:center;gap:10px;padding:6px 8px;font-size:12px;font-weight:500;display:inline-flex}.shape-select-option:hover{color:var(--text);background:#ffffff0f}.shape-select-option.is-active{color:var(--accent);background:#f6f2ea0d}.shape-select-option .shape-preview{flex:none}.searchable-select{width:100%;min-width:180px;position:relative}.searchable-select-trigger{border:1px solid var(--border);background:var(--field);width:100%;min-height:32px;color:var(--text);font:inherit;cursor:pointer;text-align:left;transition:border-color .18s var(--ease), background .18s var(--ease);border-radius:14px;align-items:center;gap:8px;padding:0 10px;font-size:12px;font-weight:500;display:inline-flex}.searchable-select-trigger:hover{border-color:var(--border-strong)}.searchable-select.is-open .searchable-select-trigger{border-color:var(--border-strong);background:#ffffff0a}.searchable-select-value{text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.searchable-select-trigger svg{opacity:.6;flex:none}.searchable-select-popover{z-index:12;border:1px solid var(--border);-webkit-backdrop-filter:blur(18px)saturate(140%);background:#121214f5;border-radius:18px;flex-direction:column;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden;box-shadow:0 16px 40px #0000008c}.searchable-select-search{border:0;border-bottom:1px solid var(--border);width:100%;min-height:32px;color:var(--text);font:inherit;background:0 0;border-radius:0;outline:0;padding:0 10px;font-size:12px;font-weight:500}.searchable-select-search::placeholder{color:var(--dim)}.searchable-select-list{scrollbar-width:thin;scrollbar-color:var(--panel-3) transparent;max-height:240px;margin:0;padding:4px;list-style:none;overflow-y:auto}.searchable-select-option{color:var(--muted);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;transition:background .14s var(--ease), color .14s var(--ease);border-radius:10px;padding:6px 8px;font-size:12px;font-weight:500;overflow:hidden}.searchable-select-option.is-active{color:var(--text);background:#ffffff0f}.searchable-select-option.is-selected{color:var(--accent)}.searchable-select-empty{color:var(--dim);text-align:center;padding:10px 8px;font-size:12px}.ascii-symbol-input{border:1px solid var(--border);background:var(--field);width:100%;min-height:32px;color:var(--text);font-family:var(--font-mono-2);text-align:center;letter-spacing:.05em;transition:border-color .18s var(--ease);border-radius:6px;outline:0;padding:0 10px;font-size:12px;font-weight:700}.ascii-symbol-input:focus-visible{border-color:var(--border-strong)}.ascii-symbol-input::placeholder{color:var(--dim);font-weight:500}.custom-shape-upload{flex-direction:column;gap:8px;display:flex}.custom-shape-upload input[type=file]{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.custom-shape-pick{border:1px dashed var(--border-strong);background:var(--field);width:100%;min-height:36px;color:var(--text);text-align:left;cursor:pointer;transition:border-color .18s var(--ease), background .18s var(--ease);border-radius:8px;align-items:center;gap:10px;padding:4px 10px 4px 4px;font-size:12px;font-weight:500;display:flex}.custom-shape-pick:hover{border-color:var(--accent-soft);background:#ffffff0a}.custom-shape-pick-icon{width:28px;height:28px;color:var(--muted);background:#ffffff0f;border-radius:6px;justify-content:center;align-items:center;font-size:16px;font-weight:400;line-height:1;display:inline-flex}.custom-shape-pick-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);flex:auto;overflow:hidden}.custom-shape-thumb{object-fit:contain;background:#ffffff0f;border-radius:6px;width:28px;height:28px;padding:3px}.custom-shape-clear{border:1px solid var(--border);color:var(--muted);cursor:pointer;transition:color .18s var(--ease), border-color .18s var(--ease);background:0 0;border-radius:999px;align-self:flex-start;padding:4px 10px;font-size:11px;font-weight:500}.custom-shape-clear:hover{color:var(--text);border-color:var(--border-strong)}.custom-shape-error{color:#ff9ea0;margin:0;font-size:11px}.custom-shape-paste{flex-direction:column;gap:6px;display:flex}.custom-shape-paste-input,.custom-topology-input{border:1px solid var(--border);background:var(--field);width:100%;min-height:64px;color:var(--text);font-family:var(--font-mono-2);resize:vertical;transition:border-color .18s var(--ease);border-radius:6px;outline:0;padding:8px 10px;font-size:11px;line-height:1.4}.custom-shape-paste-input::placeholder,.custom-topology-input::placeholder{color:var(--dim);font-family:inherit}.custom-shape-paste-input:focus-visible,.custom-topology-input:focus-visible{border-color:var(--border-strong)}.custom-shape-apply{border:1px solid var(--accent-soft);background:var(--accent);color:#18171a;cursor:pointer;transition:filter .18s var(--ease);border-radius:999px;align-self:flex-start;padding:5px 12px;font-size:11px;font-weight:600}.custom-shape-apply:hover{filter:brightness(1.06)}select:focus,input[type=range]:focus-visible,.range-number:focus-visible,.map-zoom-input:focus-visible,.button:focus-visible,.transparent-toggle:focus-visible,.toggle-control:focus-visible,.color-swatch:focus-visible,.step-button:focus-visible,.export-menu-item:focus-visible,.export-scale-option:focus-visible,.option-block summary:focus-visible,.copy-fallback:focus-visible,.view-mode-button:focus-visible,.panel-toggle:focus-visible,.panel-icon-button:focus-visible,.panel-reset-button:focus-visible,.looks-chip:focus-visible,.export-action-button:focus-visible,.map-zoom-button:focus-visible,.searchable-select-trigger:focus-visible,.searchable-select-search:focus-visible,.social-link:focus-visible{outline:2px solid var(--accent,#f6f2ea);outline-offset:2px}.slider,input[type=range]{appearance:none;cursor:pointer;background:0 0;width:100%;height:22px}.slider::-webkit-slider-runnable-track{background:linear-gradient(to right, #ffffff47 0%, #ffffff47 var(--fill,50%), #ffffff14 var(--fill,50%), #ffffff14 100%);border-radius:3px;height:6px}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right, #ffffff47 0%, #ffffff47 var(--fill,50%), #ffffff14 var(--fill,50%), #ffffff14 100%);border-radius:3px;height:6px}.slider::-webkit-slider-thumb{-webkit-appearance:none;cursor:grab;width:16px;height:16px;transition:transform .14s var(--ease), box-shadow .14s var(--ease);background:#fff;border:0;border-radius:7px;margin-top:-5px;box-shadow:0 1px 2px #0000008c}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;cursor:grab;width:16px;height:16px;transition:transform .14s var(--ease), box-shadow .14s var(--ease);background:#fff;border:0;border-radius:7px;margin-top:-5px;box-shadow:0 1px 2px #0000008c}.slider::-webkit-slider-thumb:hover{transform:scale(1.08)}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.08)}.slider:active::-webkit-slider-thumb{cursor:grabbing;transform:scale(1.14);box-shadow:0 2px 4px #0009,0 0 0 4px #ffffff14}input[type=range]:active::-webkit-slider-thumb{cursor:grabbing;transform:scale(1.14);box-shadow:0 2px 4px #0009,0 0 0 4px #ffffff14}.slider::-moz-range-track{background:#ffffff14;border-radius:3px;height:6px}input[type=range]::-moz-range-track{background:#ffffff14;border-radius:3px;height:6px}.slider::-moz-range-progress{background:#ffffff47;border-radius:3px;height:6px}input[type=range]::-moz-range-progress{background:#ffffff47;border-radius:3px;height:6px}.slider::-moz-range-thumb{cursor:grab;width:16px;height:16px;transition:transform .14s var(--ease);background:#fff;border:0;border-radius:7px;box-shadow:0 1px 2px #0000008c}input[type=range]::-moz-range-thumb{cursor:grab;width:16px;height:16px;transition:transform .14s var(--ease);background:#fff;border:0;border-radius:7px;box-shadow:0 1px 2px #0000008c}.slider::-moz-range-thumb:hover{transform:scale(1.08)}input[type=range]::-moz-range-thumb:hover{transform:scale(1.08)}.slider:active::-moz-range-thumb{cursor:grabbing;transform:scale(1.14)}input[type=range]:active::-moz-range-thumb{cursor:grabbing;transform:scale(1.14)}.background-control{align-items:center;gap:10px;display:flex}.color-control{align-items:center;display:inline-flex;position:relative}.color-control-fallback{clip:rect(0, 0, 0, 0);pointer-events:none;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.color-swatch{border:1px solid var(--border);cursor:pointer;width:32px;height:22px;transition:border-color .18s var(--ease);background:#fff;border-radius:5px;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.color-swatch:hover{border-color:var(--border-strong)}.transparent-grid{background-color:#f4f4f4;background-image:conic-gradient(#b8b8b8 25%, #f2f2f2 0 50%, #b8b8b8 0 75%, #f2f2f2 0);background-position:0 0;background-size:10px 10px;width:100%;height:100%;display:block}.color-picker{z-index:70;border:1px solid var(--border);background:var(--panel);-webkit-backdrop-filter:blur(18px)saturate(160%);width:min(398px,100vw - 32px);max-height:calc(100vh - 32px);animation:color-picker-pop .18s var(--ease);border-radius:14px;flex-direction:column;display:flex;position:absolute;overflow:hidden;box-shadow:0 24px 80px #0000008c}@keyframes color-picker-pop{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.color-picker-header{cursor:grab;-webkit-user-select:none;user-select:none;flex:none;align-items:center;gap:10px;padding:10px 12px 6px 14px;display:flex}.color-picker-header:active{cursor:grabbing}.color-picker-grip{width:18px;height:18px;color:var(--dim);transition:color .14s var(--ease);flex:none;justify-content:center;align-items:center;display:inline-flex}.color-picker-header:hover .color-picker-grip{color:var(--muted)}.color-picker-title{letter-spacing:.02em;color:var(--text);text-transform:none;flex:auto;margin:0;font-size:12px;font-weight:600}.color-picker-close{border:1px solid var(--border);width:22px;height:22px;color:var(--muted);cursor:pointer;transition:background .14s var(--ease), color .14s var(--ease), border-color .14s var(--ease);background:0 0;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.color-picker-close:hover{color:var(--text);border-color:var(--border-strong);background:#ffffff0f}.color-picker-body{scrollbar-width:thin;scrollbar-color:var(--panel-3,#ffffff2e) transparent;overscroll-behavior:contain;flex:auto;gap:14px;min-height:0;padding:10px;display:grid;overflow:hidden auto}.color-picker-body::-webkit-scrollbar{width:8px}.color-picker-body::-webkit-scrollbar-track{background:0 0}.color-picker-body::-webkit-scrollbar-thumb{background:#ffffff24 padding-box padding-box;border:2px solid #0000;border-radius:999px}.color-picker-body::-webkit-scrollbar-thumb:hover{background:#ffffff3d padding-box padding-box}.color-picker-sv{cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:8px;width:100%;height:180px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff14}.color-picker-sv:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.color-picker-sv-cursor{pointer-events:none;border:2px solid #fff;border-radius:999px;width:12px;height:12px;margin:-6px 0 0 -6px;position:absolute;box-shadow:0 0 0 1px #0000008c,0 2px 4px #00000073}.color-picker-hue{background:linear-gradient(90deg,red 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);border-radius:999px;height:12px;position:relative;box-shadow:inset 0 0 0 1px #ffffff14}.color-picker-hue input[type=range]{appearance:none;cursor:pointer;background:0 0;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.color-picker-hue input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;cursor:grab;background:#fff;border-radius:999px;width:14px;height:14px;margin-top:0;box-shadow:0 0 0 1px #0006,0 2px 4px #00000073}.color-picker-hue input[type=range]::-moz-range-thumb{cursor:grab;background:#fff;border:0;border-radius:999px;width:14px;height:14px;box-shadow:0 0 0 1px #0006,0 2px 4px #00000073}.color-picker-hue input[type=range]::-moz-range-track{background:0 0;border:0;height:12px}.color-picker-alpha{background-image:linear-gradient(to right, #0000, var(--alpha-color,#fff)), conic-gradient(#fff9 25%, #b4b4b499 0 50%, #fff9 0 75%, #b4b4b499 0);background-position:0 0,0 0;background-size:100% 100%,8px 8px;border-radius:999px;height:12px;position:relative;box-shadow:inset 0 0 0 1px #ffffff14}.color-picker-alpha input[type=range]{appearance:none;cursor:pointer;background:0 0;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.color-picker-alpha input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;cursor:grab;background:#fff;border-radius:999px;width:14px;height:14px;box-shadow:0 0 0 1px #0006,0 2px 4px #00000073}.color-picker-alpha input[type=range]::-moz-range-thumb{cursor:grab;background:#fff;border:0;border-radius:999px;width:14px;height:14px;box-shadow:0 0 0 1px #0006,0 2px 4px #00000073}.color-picker-alpha input[type=range]::-moz-range-track{background:0 0;border:0;height:12px}.color-picker-modes{border:1px solid var(--border);background:var(--panel);border-radius:10px;grid-template-columns:repeat(4,1fr);gap:5px;padding:5px;display:grid}.color-picker-mode{min-height:28px;color:var(--muted);letter-spacing:.04em;cursor:pointer;transition:background .18s var(--ease), color .18s var(--ease), border-color .18s var(--ease);background:0 0;border:1px solid #0000;border-radius:7px;padding:0;font-size:11px;font-weight:600}.color-picker-mode:hover,.color-picker-mode:focus-visible{color:var(--text);background:#ffffff0e}.color-picker-mode.is-active{color:var(--accent);background:#f6f2ea0f;border-color:#f6f2ea52}.color-picker-fields{grid-template-columns:1fr 1fr 1fr;gap:6px;display:grid}.color-picker-field{gap:3px;min-width:0;display:grid}.color-picker-field.is-wide{grid-column:1/-1}.color-picker-field>span{color:var(--dim);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:600}.color-picker-field>input{border:1px solid var(--border);background:var(--field);width:100%;min-height:26px;color:var(--text);font-family:var(--font-mono-2);text-align:center;transition:border-color .18s var(--ease);border-radius:6px;outline:0;padding:0 8px;font-size:11px;font-weight:500}.color-picker-field>input:focus-visible{border-color:var(--border-strong)}.color-picker-field>input[type=number]{-moz-appearance:textfield}.color-picker-field>input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.color-picker-field>input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.color-picker-fill{border:1px solid var(--border);background:var(--panel);border-radius:10px;grid-template-columns:1fr 1fr;gap:5px;padding:5px;display:grid}.color-picker-fill-tab{min-height:30px;color:var(--muted);letter-spacing:.02em;cursor:pointer;transition:background .18s var(--ease), color .18s var(--ease), border-color .18s var(--ease);background:0 0;border:1px solid #0000;border-radius:7px;padding:0;font-size:12px;font-weight:600}.color-picker-fill-tab:hover,.color-picker-fill-tab:focus-visible{color:var(--text);background:#ffffff0e}.color-picker-fill-tab.is-active{color:var(--accent);background:#f6f2ea0f;border-color:#f6f2ea52}.color-picker-gradient{gap:10px;display:grid}.color-picker-gradient-track{border-radius:10px;width:100%;height:64px}.color-picker-stops{grid-template-columns:1fr 1fr;gap:6px;display:grid}.color-picker-stop{border:1px solid var(--border);background:var(--field);min-height:30px;color:var(--text);cursor:pointer;text-align:left;transition:border-color .14s var(--ease), background .14s var(--ease);border-radius:8px;align-items:center;gap:7px;padding:4px 7px;display:flex}.color-picker-stop:hover{border-color:var(--border-strong)}.color-picker-stop.is-active{background:#f6f2ea0f;border-color:#f6f2ea52}.color-picker-stop-swatch{border-radius:5px;flex:none;width:16px;height:16px;box-shadow:inset 0 0 0 1px #ffffff2e}.color-picker-stop-meta{flex-direction:column;min-width:0;line-height:1.15;display:flex}.color-picker-stop-label{color:var(--dim);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:600}.color-picker-stop-value{color:var(--muted);font-family:var(--font-mono-2);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:500;overflow:hidden}.color-picker-stop.is-active .color-picker-stop-value{color:var(--text)}.color-picker-angle{grid-template-columns:38px 1fr 36px;align-items:center;gap:6px;display:grid}.color-picker-angle>span{color:var(--dim);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:600}.color-picker-angle>output{color:var(--muted);font-family:var(--font-mono-2);text-align:right;font-variant-numeric:tabular-nums;font-size:11px}.color-picker-angle input[type=range]{width:100%;margin:0}.transparent-toggle{border:1px solid var(--border);background:var(--field);min-height:28px;color:var(--muted);letter-spacing:-.005em;white-space:nowrap;cursor:pointer;transition:background .18s var(--ease), border-color .18s var(--ease), color .18s var(--ease);border-radius:6px;justify-content:center;align-items:center;padding:0 10px;font-size:11px;font-weight:500;display:inline-flex}.transparent-toggle:hover{border-color:var(--border-strong);color:var(--text)}.transparent-toggle.is-active{color:var(--accent);border-color:#f6f2ea52}.toggle-control{cursor:pointer;background:0 0;border:0;align-items:center;min-width:24px;min-height:24px;padding:0;display:inline-flex}.toggle-track{border:1px solid var(--border);background:var(--field);box-sizing:border-box;width:36px;height:22px;transition:border-color .18s var(--ease), background .18s var(--ease);border-radius:10px;padding:3px;display:inline-flex;position:relative}[data-theme=light]{--toggle-track-off:#00000029;--toggle-track-border:#00000014}.toggle-knob{background:var(--panel-3);width:50%;height:100%;transition:transform .36s cubic-bezier(.34, 1.3, .5, 1), background .22s var(--ease), border-color .22s var(--ease);border:1px solid #0000;border-radius:7px;transform:translate(0)}@media (prefers-reduced-motion:reduce){.toggle-knob{transition:background .22s var(--ease), border-color .22s var(--ease)}}.toggle-control:hover .toggle-track{border-color:var(--border-strong)}.toggle-control:hover .toggle-knob{background:var(--panel-2)}.toggle-control.is-active .toggle-knob{background:#f6f2ea0f;border-color:#f6f2ea52;transform:translate(100%)}@media (width<=620px){body{overflow:auto}.app-shell{min-height:100svh;padding:10px;overflow:visible}.app-shell:after{background:#0b0b0c6b}.map-background .dot-map,.shader-canvas{width:150vw;max-width:none;max-height:78svh}.map-background .dot-map{opacity:.74}.map-background.has-webgl-shader .dot-map{opacity:.012}.control-rail{width:100%;max-height:none;margin-top:104px;padding-bottom:92px;position:relative;top:auto;bottom:auto;left:auto}.top-actions{top:10px;left:10px;right:10px}.view-mode-switch{grid-template-columns:repeat(2,minmax(0,1fr));top:60px;left:10px;right:10px;transform:none}.map-zoom-controls{grid-template-columns:38px 62px 48px 38px;bottom:10px}.option-row{grid-template-columns:minmax(88px,104px) minmax(0,1fr);gap:10px;padding:9px 12px}}@media (width>=521px) and (width<=620px){body{overflow:hidden}.app-shell{min-height:100vh;overflow:hidden}.control-rail{width:min(360px,100vw - 20px);max-height:calc(100vh - 124px);margin-top:0;padding-bottom:10px;position:fixed;top:112px;bottom:auto;left:10px;overflow:auto}}@media (width<=460px){.option-row{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
