@font-face{font-family:Jost;src:url(/fonts/jost-latin.woff2) format("woff2");font-weight:300 600;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jost;src:url(/fonts/jost-latin-ext.woff2) format("woff2");font-weight:300 600;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{color-scheme:dark;--font-text: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display: var(--font-text);--font-brand: "Jost", var(--font-text);--font-data: ui-monospace, "SF Mono", Monaco, Menlo, Consolas, monospace;--track-display: -.035em;--track-heading: -.025em;--track-caps: 0;--track-data: 0;--ground: #101214;--surface-1: #16181b;--surface-2: #1b1e22;--surface-3: #24282d;--surface-4: #2e3339;--on-surface: #efeeeb;--on-surface-dim: #b0b3b8;--on-surface-faint: #989da5;--outline: #686e77;--outline-faint: #343940;--accent: #d6b48a;--on-accent: #221c15;--accent-container: #393128;--on-accent-container: #e7c9a6;--accent-text: #dfbe96;--danger: #ee9d98;--on-danger: #351b1a;--danger-container: #402727;--on-danger-container: #f2bfbb;--warn: #e2bc80;--on-warn: #302516;--warn-container: #3d3324;--on-warn-container: #eed2a7;--success: #a2c5ae;--on-success: #1b2c21;--success-container: #29392f;--on-success-container: #c6dece;--notice: #a9bed2;--on-notice: #1d2834;--notice-container: #2b3541;--on-notice-container: #cad8e6;--scrim: rgba(0, 0, 0, .64);--shadow-float: none;--state-hover: 7%;--state-focus: 12%;--state-pressed: 12%;--state-dragged: 16%;--state-disabled-opacity: .45;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--radius-none: 0;--radius-sm: 6px;--radius: 8px;--radius-lg: 10px;--island-gap: 12px;--island-gap-mobile: 8px;--island-bg: rgba(22, 24, 27, .74);--island-blur: blur(20px) saturate(1.1);--island-border: rgba(239, 238, 235, .16);--island-selected: rgba(239, 238, 235, .12);--radius-island: 12px;--toolbar-height: calc(70px + var(--safe-top));--target: 44px;--control-h: 44px;--control-h-compact: 36px;--text-xs: 11px;--text-sm: 13px;--text-md: 14px;--text-lg: 16px;--text-xl: 20px;--line-height: 1.5;--duration-fast: .14s;--z-panel: 100;--z-toolbar: 200;--z-overlay: 9000;--z-modal: 10000;--focus-width: 2px;--focus-offset: 3px}.appearance-light{color-scheme:light;--ground: #eeede9;--surface-1: #f8f7f4;--surface-2: #f4f3f0;--surface-3: #e8e6e1;--surface-4: #dedbd5;--on-surface: #25282b;--on-surface-dim: #565b60;--on-surface-faint: #585d63;--outline: #80868e;--outline-faint: #d0cec9;--accent: #76522e;--on-accent: #ffffff;--accent-container: #e9ddcf;--on-accent-container: #684523;--accent-text: #76522e;--danger: #9b3732;--on-danger: #ffffff;--danger-container: #f0dcda;--on-danger-container: #722a26;--warn: #795318;--on-warn: #ffffff;--warn-container: #eee2ce;--on-warn-container: #694514;--success: #3f674b;--on-success: #ffffff;--success-container: #dce8df;--on-success-container: #304f39;--notice: #41617e;--on-notice: #ffffff;--notice-container: #dce4ec;--on-notice-container: #304c65}:root,.appearance-light{--surface: var(--surface-2);--surface-raised: var(--surface-3);--surface-sunken: var(--surface-1);--border: var(--outline-faint);--border-strong: var(--outline);--border-faint: var(--outline-faint);--text: var(--on-surface);--text-dim: var(--on-surface-dim);--text-faint: var(--on-surface-faint);--panel-bg: var(--surface-2);--panel-border: var(--outline-faint);--control-bg: var(--surface-1);--control-border: var(--outline);--selection-bg: var(--surface-4);--selection-text: var(--on-surface);--hover-bg: color-mix(in srgb, var(--on-surface) var(--state-hover), transparent);--accent-bg: var(--accent-container);--accent-bg-hover: color-mix(in srgb, var(--accent) 12%, var(--accent-container));--accent-border: var(--accent);--focus-ring: var(--accent);--lift: color-mix(in srgb, var(--on-surface) 5%, transparent);--lift-hover: var(--hover-bg);--lift-active: var(--selection-bg);--lift-active-border: var(--outline);--danger-text-hover: var(--danger);--danger-bg: var(--danger-container);--danger-bg-hover: color-mix(in srgb, var(--danger) 12%, var(--danger-container));--danger-border: var(--danger);--danger-border-hover: var(--danger);--success-bg: var(--success-container);--success-border: var(--success);--font-mono: var(--font-data);--blur: 0px;--blur-strong: 0px;--shadow: var(--shadow-float);--shadow-lg: var(--shadow-float)}@media (min-width: 481px) and (max-width: 950px){:root{--toolbar-height: calc(124px + var(--safe-top))}}@media (min-width: 481px) and (max-width: 950px) and (pointer: coarse){:root{--toolbar-height: calc(140px + var(--safe-top))}}@media (pointer: coarse) and (min-width: 951px){:root{--toolbar-height: calc(78px + var(--safe-top))}}@media (max-width: 480px){:root{--toolbar-height: 64px}}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){:root{--island-bg: var(--surface-1)}}@media (prefers-reduced-transparency: reduce){:root{--island-bg: var(--surface-1);--island-blur: none}}:root{font-family:var(--font-text);line-height:1.5;font-weight:400;color-scheme:dark;color:var(--on-surface);background-color:var(--ground);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--app-height: 100vh;--keyboard-height: 0px}@supports (height: 100dvh){:root{--app-height: 100dvh}}*{margin:0;padding:0;box-sizing:border-box}button,input,select,textarea{font-family:inherit}html,body{width:100%;height:100%;height:var(--app-height);overflow:hidden;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;touch-action:manipulation}#root{width:100%;height:100%;height:var(--app-height)}html.no-landing #landing,html.launched #landing{display:none}#landing{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9500;overflow-y:auto;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;background:var(--ground);color:var(--on-surface)}.landing-hero{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-height:100%;text-align:center}.landing-hero-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:40% 50%}@media (orientation: portrait){.landing-hero-img{height:72%;object-position:68% 50%;-webkit-mask-image:linear-gradient(to bottom,#000 78%,transparent);mask-image:linear-gradient(to bottom,#000 78%,transparent)}.landing-hero .landing-hero-content{margin-bottom:calc(64px + var(--safe-bottom))}}.landing-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#05080f52}.landing-hero-content{position:relative;z-index:1;padding:24px calc(24px + var(--safe-left, 0px)) 24px calc(24px + var(--safe-right, 0px));margin-bottom:max(10vh,calc(56px + var(--safe-bottom)))}.landing-scroll-cue{position:absolute;z-index:1;bottom:calc(18px + var(--safe-bottom));left:50%;transform:translate(-50%);font-size:14px;color:#ffffffbf}.landing-inner{max-width:680px;margin:0 auto;padding:56px 24px calc(48px + var(--safe-bottom))}#landing h1{font-family:var(--font-brand);font-size:48px;font-weight:500;letter-spacing:.01em;line-height:1.1;color:var(--on-surface)}#landing .landing-new{display:inline-block;margin-bottom:10px;font-size:14px;color:#ffffffd1;text-decoration:underline;text-underline-offset:.2em;text-decoration-color:#fff6}#landing .landing-scroll-cue{display:flex;flex-direction:column;align-items:center;gap:2px;text-decoration:none}.landing-scroll-arrow{font-size:18px;line-height:1}@media (prefers-reduced-motion: no-preference){html:not(.no-landing) .landing-scroll-arrow{animation:landing-nudge 1.6s ease-in-out 1s 4}}@keyframes landing-nudge{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.landing-sub{margin:6px 0 28px;font-size:18px;color:#ffffffd1}#landing h2{font-family:var(--font-brand);margin:36px 0 10px;font-size:20px;font-weight:600;color:var(--on-surface)}#landing p{margin:0 0 18px;font-size:16px;line-height:1.65}#landing a{color:var(--accent-text);text-decoration:underline;text-underline-offset:.18em}.landing-launch{display:inline-block;margin-top:10px;padding:13px 40px;font-size:18px;font-weight:600;font-family:inherit;color:var(--on-accent);background:var(--accent);border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer}.landing-launch:hover{background:color-mix(in srgb,var(--on-accent) var(--state-hover),var(--accent))}.landing-launch:focus-visible{outline:var(--focus-width) solid var(--accent);outline-offset:2px}.landing-note{margin-top:12px;font-size:14px;color:#ffffff9e}.landing-announce{margin:0 0 28px;padding:16px 20px;border:none;border-inline-start:2px solid var(--outline);border-radius:4px;background:transparent;font-size:15px;color:var(--on-surface-dim)}.landing-announce .landing-announce-label{font-weight:600;color:var(--on-surface)}#landing .landing-announce a{color:var(--on-surface-dim)}.landing-hero .landing-note{color:#fffc}#landing .landing-scroll-cue{color:#ffffffbf}.landing-news-date{margin:0 0 6px;font-size:14px;color:#ffffff8c}#landing .landing-news-date+p{margin-top:0}#landing h3{font-family:var(--font-brand);margin:30px 0 8px;font-size:17px;font-weight:600;color:var(--on-surface)}.landing-fig{margin:0 0 18px}.landing-fig img,.landing-video{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover;border-radius:6px;background:#000}.landing-fig figcaption{margin-top:6px;font-size:13px;line-height:1.5;color:#ffffff8c}.landing-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.landing-pair>*{min-width:0}.landing-more{margin:0 0 18px;padding-inline-start:18px}.landing-more li{margin-bottom:10px;font-size:16px;line-height:1.6}.landing-soon{display:grid;grid-template-columns:200px 1fr;gap:14px 18px;align-items:start;margin-bottom:8px}.landing-soon>*{min-width:0}#landing .landing-soon h3{margin-top:0}@media (max-width: 480px){.landing-pair,.landing-soon{grid-template-columns:1fr}}#landing footer{margin-top:44px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12)}#landing footer nav{display:flex;flex-wrap:wrap;gap:8px 20px;margin-bottom:12px}#landing footer nav a,#landing footer p{font-size:14px}#landing footer p{color:#ffffff80}.landing-inception{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:20px}.landing-inception img{width:168px;height:auto;padding:6px 10px;border-radius:3px;background:#fff}#landing .landing-inception p{margin:0;color:#ffffffb3}#landing footer .landing-legal{max-width:620px;margin-top:14px;font-size:12px;line-height:1.6;color:#fff6}@media (max-width: 480px){#landing h1{font-size:36px}}.safe-pt{padding-top:var(--safe-top)}.safe-pb{padding-bottom:var(--safe-bottom)}.safe-pl{padding-left:var(--safe-left)}.safe-pr{padding-right:var(--safe-right)}.safe-px{padding-left:var(--safe-left);padding-right:var(--safe-right)}.safe-inset{padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left)}.u-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.u-break{overflow-wrap:anywhere;word-break:break-word}.keyboard-avoid{transform:translateY(calc(-1 * var(--keyboard-height)));transition:transform .2s ease}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:500;letter-spacing:var(--track-heading)}h1{letter-spacing:var(--track-display)}.crash-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000d9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10000;animation:crashModalFadeIn .3s ease-out}.crash-modal{position:fixed;z-index:10001;top:calc(50% - var(--keyboard-height) / 2);left:50%;transform:translate(-50%,-50%);background-color:var(--surface);backdrop-filter:blur(var(--blur-strong));-webkit-backdrop-filter:blur(var(--blur-strong));color:var(--text);border-radius:var(--radius-lg);border:1px solid var(--danger-border);width:90vw;max-width:460px;max-height:calc((var(--app-height) - var(--keyboard-height)) * .85);overflow-y:auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;animation:crashModalScaleIn .3s ease-out}.crash-modal-header{padding:20px 20px 4px}.crash-modal-title{margin:0 0 6px;font-size:1.15em;font-weight:600;color:#fffffff2}.crash-modal-description{margin:0;font-size:.85em;color:#fff9;line-height:1.4}.crash-modal-body{padding:16px 20px 4px;display:flex;flex-direction:column;gap:12px}.crash-modal-field{display:flex;flex-direction:column;gap:6px}.crash-modal-label{font-size:.8em;font-weight:500;color:#ffffffbf}.crash-modal-textarea{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:10px 12px;color:#fff;font-family:inherit;font-size:.9em;line-height:1.4;resize:vertical;min-height:56px;max-height:120px;width:100%;box-sizing:border-box;transition:border-color .15s ease,background .15s ease}.crash-modal-textarea:focus{outline:none;border-color:var(--accent-border);background:#ffffff0f}.crash-modal-textarea::placeholder{color:#ffffff4d}.crash-modal-input{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:8px 12px;color:#fff;font-family:inherit;font-size:.9em;width:100%;box-sizing:border-box;transition:border-color .15s ease,background .15s ease}.crash-modal-input:focus{outline:none;border-color:var(--accent-border);background:#ffffff0f}.crash-modal-input::placeholder{color:#ffffff4d}.crash-modal-checkbox{display:flex;align-items:center;gap:8px;font-size:.82em;color:#ffffffa6;cursor:pointer}.crash-modal-checkbox input{accent-color:var(--accent);cursor:pointer}.crash-modal-details-toggle{background:none;border:none;color:#ffffff73;font-size:.78em;cursor:pointer;padding:0;text-align:left;font-family:inherit}.crash-modal-details-toggle:hover{color:#ffffffb3}.crash-modal-error-details{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:6px;padding:10px;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.72em;color:#ff7878cc;max-height:120px;overflow-y:auto;white-space:pre-wrap;word-break:break-all;line-height:1.5}.crash-modal-footer{padding:12px 20px 20px;display:flex;justify-content:flex-end;gap:8px}.crash-modal-btn{padding:8px 18px;border-radius:8px;font-size:.9em;font-weight:500;cursor:pointer;border:1px solid transparent;font-family:inherit;transition:background .15s ease,border-color .15s ease,color .15s ease}.crash-modal-btn-reload{background:none;color:#ffffff8c;border-color:#ffffff1f}.crash-modal-btn-reload:hover{color:#ffffffd9;border-color:#ffffff40}.crash-modal-btn-send{background:var(--accent-bg);color:var(--accent);border-color:var(--accent-border)}.crash-modal-btn-send:hover:not(:disabled){background:var(--accent-bg-hover)}.crash-modal-btn-send:disabled{opacity:.5;cursor:not-allowed}.crash-modal-sent{padding:28px 20px;text-align:center;font-size:.95em;color:#ffffffd9}@keyframes crashModalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes crashModalScaleIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.embed-click-shield{position:fixed;top:0;right:0;bottom:0;left:0;z-index:29999;background:transparent;cursor:pointer}.readonly-banner{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:30000;display:flex;align-items:center;gap:12px;max-width:calc(100vw - 24px);padding:9px 14px;font-size:13px;line-height:1.3;color:#ffffffe6;background:linear-gradient(180deg,#0c0e16f5,#0a0c14eb);border:1px solid rgba(255,255,255,.1);border-radius:10px;box-shadow:0 6px 24px #00000073;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);pointer-events:auto}.readonly-banner-text{color:#ffffffc7}.readonly-banner-cta{display:inline-flex;align-items:center;flex-shrink:0;padding:6px 14px;font-size:13px;font-weight:600;border-radius:7px;text-decoration:none;color:#fff;background:linear-gradient(135deg,#4a90e2,#6ea8f5);border:1px solid rgba(74,144,226,.5);transition:background .15s,transform .15s}.readonly-banner-cta:hover{background:linear-gradient(135deg,#5a9bf0,#7fb5ff)}.readonly-banner-cta:active{transform:translateY(1px)}.readonly-banner-flagged{background:linear-gradient(180deg,#1a0e0ef5,#160c0ceb);border-color:#ff78782e}@media (max-width: 768px){.readonly-banner{bottom:calc(86px + env(safe-area-inset-bottom,0px));font-size:12px;padding:8px 12px;gap:10px}.readonly-banner-cta{font-size:12px;padding:5px 11px}}.lang-prompt{position:fixed;inset-block-start:64px;inset-inline:0;margin-inline:auto;width:max-content;max-width:calc(100vw - var(--space-4, 16px));z-index:var(--z-overlay, 9000);display:flex;align-items:center;gap:var(--space-2, 8px);padding:var(--space-2, 8px) var(--space-3, 12px);background:var(--surface-raised, #1a1a22);border:1px solid var(--border, rgba(255, 255, 255, .12));border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-lg, 0 8px 24px rgba(0, 0, 0, .4));-webkit-backdrop-filter:blur(var(--blur, 8px));backdrop-filter:blur(var(--blur, 8px));color:var(--text, #f5f5f7);font-size:.875rem}.lang-prompt-text{white-space:nowrap}.lang-prompt-english{flex-shrink:0;padding:5px 12px;border:1px solid var(--accent, #4a90e2);border-radius:var(--radius, 8px);background:var(--accent, #4a90e2);color:#fff;font-size:.875rem;font-weight:600;cursor:pointer}.lang-prompt-english:hover{filter:brightness(1.08)}.lang-prompt-dismiss{flex-shrink:0;border:none;background:transparent;color:var(--text-dim, rgba(255, 255, 255, .6));font-size:20px;line-height:1;padding:0 4px;cursor:pointer}@media (max-width: 480px){.lang-prompt{inset-block-start:48px;max-width:calc(100vw - var(--space-3, 12px));font-size:.8125rem}.lang-prompt-text{white-space:normal}}.achievement-toast-host{position:fixed;top:calc(var(--toolbar-height) + 8px);left:50%;transform:translate(-50%);z-index:11000;pointer-events:none;width:fit-content;max-width:min(92vw,380px)}.achievement-toast{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;background:#0c0e16eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);border-left:3px solid rgba(245,197,66,.85);box-shadow:0 8px 28px #00000073;opacity:0;transform:translateY(-12px);transition:opacity .28s ease,transform .28s ease}.achievement-toast-visible{opacity:1;transform:translateY(0)}.achievement-toast-badge{flex:0 0 auto;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f5c54229;border:1px solid rgba(245,197,66,.35);color:#f5c542}.achievement-toast-text{display:flex;flex-direction:column;min-width:0}.achievement-toast-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#f5c542e6}.achievement-toast-name{font-size:15px;font-weight:600;color:#f0f3fafa}@media (max-width: 480px){.achievement-toast-host{top:calc(var(--toolbar-height) + env(safe-area-inset-top,0px) + 8px)}}body:has(.galaxy-map-overlay) .achievement-toast-host{top:calc(180px + env(safe-area-inset-top,0px))}@media (prefers-reduced-motion: reduce){.achievement-toast{transform:none;transition:opacity .12s ease}.achievement-toast-visible{transform:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--target);padding:8px 14px;font-family:var(--font-display);font-size:var(--text-sm);font-weight:500;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s,border-color .15s,color .15s;border:1px solid transparent;outline:none;white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:focus-visible{outline:var(--focus-width) solid var(--accent);outline-offset:var(--focus-offset)}.btn:disabled{opacity:var(--state-disabled-opacity);cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:color-mix(in srgb,var(--on-accent) var(--state-hover),var(--accent));border-color:var(--accent)}.btn-primary:active:not(:disabled){background:color-mix(in srgb,var(--on-accent) var(--state-pressed),var(--accent))}.btn-secondary{background:var(--surface-3);border-color:var(--outline-faint);color:var(--on-surface)}.btn-secondary:hover:not(:disabled){background:color-mix(in srgb,var(--on-surface) var(--state-hover),var(--surface-3));border-color:var(--outline-faint)}.btn-secondary:active:not(:disabled){background:color-mix(in srgb,var(--on-surface) var(--state-pressed),var(--surface-3))}.btn-ghost{background:transparent;border-color:transparent;color:var(--on-surface-dim)}.btn-ghost:hover:not(:disabled){background:color-mix(in srgb,var(--on-surface) var(--state-hover),transparent);color:var(--on-surface)}.btn-ghost:active:not(:disabled){background:color-mix(in srgb,var(--on-surface) var(--state-pressed),transparent)}.btn-danger{background:var(--danger-container);border-color:transparent;color:var(--danger)}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) var(--state-hover),var(--danger-container));border-color:transparent}.btn-danger:active:not(:disabled){background:color-mix(in srgb,var(--danger) var(--state-pressed),var(--danger-container))}.btn-success{background:color-mix(in srgb,var(--success) 16%,transparent);border-color:color-mix(in srgb,var(--success) 40%,transparent);color:var(--success)}.btn-success:hover:not(:disabled){background:color-mix(in srgb,var(--success) 24%,transparent);border-color:color-mix(in srgb,var(--success) 40%,transparent)}.btn-success:active:not(:disabled){background:color-mix(in srgb,var(--success) 28%,transparent)}.btn-sm{min-height:var(--control-h-compact);padding:6px 12px;font-size:12px;gap:6px}.btn-lg{padding:14px 24px;font-size:16px;gap:10px}.btn-icon{min-width:var(--target);min-height:var(--target);padding:10px;aspect-ratio:1}.btn-icon.btn-sm{min-width:0;min-height:var(--control-h-compact);padding:6px}.btn-icon.btn-lg{padding:14px}.btn-block{width:100%}.btn-group{display:flex;gap:8px}.btn-group-compact{display:flex;gap:0}.btn-group-compact .btn{border-radius:var(--radius-sm)}.btn-group-compact .btn:not(:last-child){border-inline-end-color:transparent}.btn-loading{position:relative;color:transparent!important}.btn-loading:after{content:"";position:absolute;width:16px;height:16px;border:2px solid color-mix(in srgb,var(--on-surface) 30%,transparent);border-top-color:var(--on-surface);border-radius:50%;animation:btn-spin .6s linear infinite}.btn-primary.btn-loading:after{border-color:color-mix(in srgb,var(--on-accent) 30%,transparent);border-top-color:var(--on-accent)}.btn-danger.btn-loading:after{border-color:color-mix(in srgb,var(--danger) 30%,transparent);border-top-color:var(--danger)}.btn-success.btn-loading:after{border-color:color-mix(in srgb,var(--success) 30%,transparent);border-top-color:var(--success)}@keyframes btn-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.bottom-sheet-content .btn:not(.btn-icon){white-space:normal;text-align:center;overflow-wrap:break-word}@media (pointer: coarse){.btn-sm,.btn-icon.btn-sm{min-height:var(--target);min-width:var(--target)}}.app-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12000;background:var(--scrim);display:flex;align-items:center;justify-content:center;padding:16px}.app-dialog{width:min(360px,100%);background:var(--surface-2);color:var(--on-surface);border:1px solid var(--outline-faint);border-radius:var(--radius-island);padding:20px;display:flex;flex-direction:column;gap:8px;font-family:var(--font-text)}.app-dialog-title{margin:0 0 8px;font-family:var(--font-display);font-size:var(--text-lg);font-weight:600}.app-dialog-label{font-size:var(--text-sm);color:var(--on-surface-dim)}.app-dialog-input{width:100%;box-sizing:border-box;min-height:var(--target);padding:10px 12px;font-family:inherit;font-size:var(--text-md);background:var(--control-bg);border:1px solid var(--control-border);border-radius:var(--radius-sm);color:var(--on-surface)}.app-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.app-notice-host{position:fixed;left:50%;top:calc(var(--toolbar-height) + 8px);transform:translate(-50%);z-index:11500;pointer-events:none;width:max-content;max-width:calc(100vw - 32px)}.app-notice{padding:10px 16px;background:var(--surface-2);color:var(--on-surface);border:1px solid var(--outline-faint);border-radius:var(--radius-sm);font-size:var(--text-sm);text-align:center;animation:app-notice-in .16s ease-out}.app-notice--error{color:var(--danger);border-color:var(--danger)}@media (max-width: 480px){.app-notice-host{top:calc(var(--toolbar-height) + var(--safe-top) + 8px)}}body:has(.galaxy-map-overlay) .app-notice-host{top:calc(180px + var(--safe-top))}@keyframes app-notice-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.app-notice{animation:none}}
