:root{--bg-base: #fafaf7;--bg-base-image: none;--bg-raised: #ffffff;--bg-sunken: #f1f3f0;--bg-overlay: rgb(12 19 16 / 45%);--bg-chrome: var(--bg-raised);--bg-raised-blur: none;--media-bg: #000000;--text-primary: #1d2320;--text-secondary: #3d4540;--text-muted: #5b645f;--text-inverse: #ffffff;--text-link: #1f6f5c;--link-decoration: underline;--link-decoration-hover: underline;--border-subtle: #dfe3df;--border-strong: #7b857f;--border-width: 1px;--border-width-strong: 2px;--rule-style: solid;--accent: #1f6f5c;--accent-hover: #185a4a;--accent-active: #13493c;--accent-contrast: #ffffff;--accent-soft: #e3f1ec;--success: #1f6f3a;--success-bg: #e6f4ea;--warning: #8a5a00;--warning-bg: #fff4d6;--danger: #b3261e;--danger-bg: #fbe9e7;--info: #1f5f8a;--info-bg: #e5f0f8;--test: #7a3db8;--test-bg: #f1e8fb;--test-contrast: #ffffff;--shadow-sm: 0 1px 2px rgb(0 0 0 / 6%);--shadow-md: 0 1px 2px rgb(0 0 0 / 6%), 0 2px 8px rgb(0 0 0 / 5%);--shadow-lg: 0 4px 12px rgb(0 0 0 / 10%), 0 12px 32px rgb(0 0 0 / 8%);--radius-sm: .375rem;--radius-md: .625rem;--radius-lg: 1rem;--radius-full: 999px;--font-display: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--font-body: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--font-mono: ui-monospace, "Cascadia Mono", Consolas, "Liberation Mono", monospace;--font-weight-normal: 400;--font-weight-medium: 600;--font-weight-bold: 700;--display-weight: 700;--display-transform: none;--type-base: 1rem;--type-ratio: 1.125;--leading-tight: 1.25;--leading-normal: 1.5;--leading-loose: 1.7;--tracking-tight: -.01em;--tracking-normal: 0;--tracking-wide: .08em;--space-unit: .25rem;--density: 1;--content-max: 60rem;--gutter-scale: 1;--duration-fast: .12s;--duration-base: .18s;--duration-slow: .28s;--ease-default: cubic-bezier(.2, 0, 0, 1);--focus-ring-color: var(--accent);--focus-ring-width: 3px;--focus-ring-offset: 1px;--focus-ring-glow: none;--hover-bg: var(--accent-soft);--hover-fg: var(--text-primary);--button-shadow: none;--button-shadow-active: none;--button-transform-active: none;--button-transform: none;--map-flavor: light;--map-area: #1f6f5c;--map-area-opacity: .2;--map-pin: #c0392b;--map-cluster: #1f6f5c;--map-cluster-text: #ffffff;--device-frame: #222222;--device-screen: #0d2b20;--device-text: #d9f2e6;--device-field: #06180f;--device-field-border: #2f6b52;color-scheme:light}:root,[data-theme]{--text-xs: calc(var(--type-base) / var(--type-ratio) / var(--type-ratio));--text-sm: calc(var(--type-base) / var(--type-ratio));--text-base: var(--type-base);--text-lg: calc(var(--type-base) * var(--type-ratio));--text-xl: calc(var(--type-base) * var(--type-ratio) * var(--type-ratio));--text-2xl: clamp( calc(var(--type-base) * var(--type-ratio) * var(--type-ratio)), calc(var(--type-base) * var(--type-ratio) * var(--type-ratio) + .8vw), calc(var(--type-base) * var(--type-ratio) * var(--type-ratio) * var(--type-ratio)) );--text-3xl: clamp( calc(var(--type-base) * var(--type-ratio) * var(--type-ratio) * var(--type-ratio)), calc(var(--type-base) * var(--type-ratio) * var(--type-ratio) * var(--type-ratio) + 1vw), calc(var(--type-base) * var(--type-ratio) * var(--type-ratio) * var(--type-ratio) * var(--type-ratio)) );--text-4xl: clamp( calc(var(--type-base) * var(--type-ratio) * var(--type-ratio) * var(--type-ratio) * var(--type-ratio)), calc(var(--type-base) * var(--type-ratio) * var(--type-ratio) * var(--type-ratio) * var(--type-ratio) + 1.2vw), calc(var(--type-base) * var(--type-ratio) * var(--type-ratio) * var(--type-ratio) * var(--type-ratio) * var(--type-ratio)) );--space-0-5: calc(var(--space-unit) * .5 * var(--density));--space-1: calc(var(--space-unit) * 1 * var(--density));--space-1-5: calc(var(--space-unit) * 1.5 * var(--density));--space-2: calc(var(--space-unit) * 2 * var(--density));--space-2-5: calc(var(--space-unit) * 2.5 * var(--density));--space-3: calc(var(--space-unit) * 3 * var(--density));--space-3-5: calc(var(--space-unit) * 3.5 * var(--density));--space-4: calc(var(--space-unit) * 4 * var(--density));--space-5: calc(var(--space-unit) * 5 * var(--density));--space-6: calc(var(--space-unit) * 6 * var(--density));--space-7: calc(var(--space-unit) * 8 * var(--density));--space-8: calc(var(--space-unit) * 10 * var(--density));--space-9: calc(var(--space-unit) * 12 * var(--density));--space-10: calc(var(--space-unit) * 16 * var(--density));--space-11: calc(var(--space-unit) * 20 * var(--density));--space-12: calc(var(--space-unit) * 24 * var(--density));--gutter: calc(var(--space-4) * var(--gutter-scale));--tap-min: 2.75rem;--tap-compact: 2.25rem;--nav-h: 3.75rem;--transition-colors: color var(--duration-fast) var(--ease-default), background-color var(--duration-fast) var(--ease-default), border-color var(--duration-fast) var(--ease-default), box-shadow var(--duration-fast) var(--ease-default)}@media(prefers-reduced-motion:reduce){:root,[data-theme]{--duration-fast: .01ms;--duration-base: .01ms;--duration-slow: .01ms}}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/fraunces-latin-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/fraunces-latin-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/source-serif-4-latin-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/source-serif-4-latin-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-latin-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jetbrains-mono-latin-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Tight;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-tight-latin-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Tight;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-tight-latin-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Tight;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/inter-tight-latin-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Zilla Slab;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/zilla-slab-latin-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Zilla Slab;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/zilla-slab-latin-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Work Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/work-sans-latin-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Work Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/work-sans-latin-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local("Georgia"),local("Noto Serif"),local("Times New Roman");size-adjust:109.4%;ascent-override:89.39%;descent-override:23.31%;line-gap-override:0%}@font-face{font-family:"Source Serif 4 Fallback";src:local("Georgia"),local("Noto Serif"),local("Times New Roman");size-adjust:108.6%;ascent-override:95.4%;descent-override:30.85%;line-gap-override:0%}@font-face{font-family:JetBrains Mono Fallback;src:local("Courier New"),local("Droid Sans Mono"),local("Menlo");size-adjust:99.98%;ascent-override:102.02%;descent-override:30%;line-gap-override:0%}@font-face{font-family:Inter Tight Fallback;src:local("Arial"),local("Roboto"),local("Helvetica Neue"),local("Helvetica");size-adjust:96.96%;ascent-override:99.91%;descent-override:24.88%;line-gap-override:0%}@font-face{font-family:Zilla Slab Fallback;src:local("Georgia"),local("Noto Serif"),local("Times New Roman");size-adjust:99.49%;ascent-override:94.89%;descent-override:25.73%;line-gap-override:0%}@font-face{font-family:Work Sans Fallback;src:local("Arial"),local("Roboto"),local("Helvetica Neue"),local("Helvetica");size-adjust:113.14%;ascent-override:82.2%;descent-override:21.48%;line-gap-override:0%}[data-theme=house]{color-scheme:light}[data-theme=house-dark]{--bg-base: #121614;--bg-raised: #1b201d;--bg-sunken: #0e1210;--bg-overlay: rgb(0 0 0 / 60%);--text-primary: #e8ece9;--text-secondary: #c3cbc6;--text-muted: #9aa39e;--text-inverse: #0c1310;--text-link: #6cc9ad;--border-subtle: #2e3531;--border-strong: #6f7a74;--accent: #4fb89b;--accent-hover: #6cc9ad;--accent-active: #8dd7c1;--accent-contrast: #0c1310;--accent-soft: #1c332b;--success: #9fd8ae;--success-bg: #1c3322;--warning: #f3cf7a;--warning-bg: #3a2f14;--danger: #f2b8b5;--danger-bg: #3a1f1d;--info: #9ccbf0;--info-bg: #17293a;--test: #d1b3f5;--test-bg: #2e2240;--test-contrast: #1a0f28;--shadow-sm: none;--shadow-md: none;--shadow-lg: 0 8px 24px rgb(0 0 0 / 50%);--map-flavor: dark;--map-area: #4fb89b;--map-area-opacity: .25;--map-pin: #ff6b5b;--map-cluster: #4fb89b;--map-cluster-text: #0c1310;color-scheme:dark}[data-theme=editorial]{--bg-base: #fbfaf6;--bg-raised: #fbfaf6;--bg-sunken: #f1eee5;--bg-overlay: rgb(20 18 14 / 55%);--media-bg: #14120e;--text-primary: #14120e;--text-secondary: #37332b;--text-muted: #5a554b;--text-inverse: #fbfaf6;--text-link: #8f1d1d;--link-decoration: underline;--link-decoration-hover: underline;--border-subtle: #cfc8b8;--border-strong: #14120e;--border-width: 1px;--border-width-strong: 1px;--rule-style: solid;--accent: #8f1d1d;--accent-hover: #741616;--accent-active: #5c1111;--accent-contrast: #fbfaf6;--accent-soft: #f4e7e1;--success: #1f5f33;--success-bg: #e8f1e6;--warning: #7a4d00;--warning-bg: #f7eed6;--danger: #8f1d1d;--danger-bg: #f6e3de;--info: #1d4a73;--info-bg: #e5edf3;--test: #5b2c8f;--test-bg: #efe7f6;--test-contrast: #fbfaf6;--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--radius-sm: 0;--radius-md: 2px;--radius-lg: 2px;--radius-full: 2px;--font-display: "Fraunces", "Fraunces Fallback", Georgia, "Noto Serif", serif;--font-body: "Source Serif 4", "Source Serif 4 Fallback", Georgia, "Noto Serif", serif;--font-mono: ui-monospace, "Cascadia Mono", Consolas, monospace;--font-weight-medium: 600;--font-weight-bold: 600;--display-weight: 800;--type-base: 1.0625rem;--type-ratio: 1.333;--leading-tight: 1.12;--leading-normal: 1.6;--tracking-tight: -.02em;--tracking-wide: .12em;--density: 1.15;--gutter-scale: 1.5;--content-max: 58rem;--duration-fast: .2s;--duration-base: .32s;--duration-slow: .48s;--ease-default: linear;--focus-ring-color: #8f1d1d;--focus-ring-width: 2px;--focus-ring-offset: 3px;--hover-bg: #f1eee5;--map-flavor: light;--map-area: #8f1d1d;--map-area-opacity: .14;--map-pin: #14120e;--map-cluster: #14120e;--map-cluster-text: #fbfaf6;color-scheme:light}[data-theme=terminal]{--bg-base: #0a0c0a;--bg-raised: #0f130f;--bg-sunken: #060806;--bg-overlay: rgb(0 0 0 / 75%);--media-bg: #000000;--text-primary: #d8e6da;--text-secondary: #b3c4b6;--text-muted: #8fa393;--text-inverse: #0a0c0a;--text-link: #3dff7a;--link-decoration: underline;--link-decoration-hover: none;--border-subtle: #5f7564;--border-strong: #a9bdad;--border-width: 2px;--border-width-strong: 2px;--rule-style: solid;--accent: #3dff7a;--accent-hover: #7dffa6;--accent-active: #b4ffcc;--accent-contrast: #031a0a;--accent-soft: #0f2a17;--success: #3dff7a;--success-bg: #0f2a17;--warning: #ffd24d;--warning-bg: #2a2410;--danger: #ff6b5f;--danger-bg: #2d1210;--info: #5fd7ff;--info-bg: #0f2530;--test: #d6a8ff;--test-bg: #24163a;--test-contrast: #12071f;--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--radius-sm: 0;--radius-md: 0;--radius-lg: 0;--radius-full: 0;--font-display: "JetBrains Mono", "JetBrains Mono Fallback", ui-monospace, Consolas, monospace;--font-body: "JetBrains Mono", "JetBrains Mono Fallback", ui-monospace, Consolas, monospace;--font-mono: "JetBrains Mono", "JetBrains Mono Fallback", ui-monospace, Consolas, monospace;--font-weight-medium: 700;--font-weight-bold: 700;--display-weight: 700;--display-transform: uppercase;--type-base: .9375rem;--type-ratio: 1.2;--leading-tight: 1.2;--leading-normal: 1.45;--tracking-tight: 0;--tracking-wide: .14em;--density: .8;--gutter-scale: .85;--content-max: 68rem;--duration-fast: 0ms;--duration-base: 0ms;--duration-slow: 0ms;--ease-default: steps(1, end);--focus-ring-color: #3dff7a;--focus-ring-width: 2px;--focus-ring-offset: 2px;--hover-bg: #d8e6da;--hover-fg: #0a0c0a;--button-transform: uppercase;--map-flavor: dark;--map-area: #3dff7a;--map-area-opacity: .18;--map-pin: #ff6b5f;--map-cluster: #3dff7a;--map-cluster-text: #031a0a;color-scheme:dark}[data-theme=midnight]{--bg-base: #070b14;--bg-base-image: radial-gradient(1200px 600px at 85% -10%, rgb(122 162 255 / 14%), transparent 60%), radial-gradient(900px 500px at -10% 110%, rgb(95 214 200 / 10%), transparent 60%);--bg-raised: rgb(255 255 255 / 6%);--bg-sunken: rgb(0 0 0 / 30%);--bg-overlay: rgb(3 5 10 / 65%);--bg-raised-blur: blur(14px) saturate(140%);--bg-chrome: rgb(9 13 24 / 88%);--media-bg: #03050a;--text-primary: #e7ecf6;--text-secondary: #c2cadb;--text-muted: #9aa6be;--text-inverse: #070b14;--text-link: #9bb8ff;--link-decoration: none;--link-decoration-hover: underline;--border-subtle: rgb(160 185 255 / 32%);--border-strong: rgb(170 195 255 / 60%);--border-width: 1px;--border-width-strong: 1.5px;--accent: #7aa2ff;--accent-hover: #9bb8ff;--accent-active: #bcd0ff;--accent-contrast: #070b14;--accent-soft: rgb(122 162 255 / 16%);--success: #7ee2b8;--success-bg: rgb(126 226 184 / 12%);--warning: #ffd48a;--warning-bg: rgb(255 212 138 / 12%);--danger: #ff9b9b;--danger-bg: rgb(255 155 155 / 12%);--info: #8fd3ff;--info-bg: rgb(143 211 255 / 12%);--test: #d9b8ff;--test-bg: rgb(217 184 255 / 14%);--test-contrast: #150a24;--shadow-sm: 0 1px 2px rgb(0 0 0 / 40%);--shadow-md: 0 8px 24px rgb(0 0 0 / 35%), inset 0 1px 0 rgb(255 255 255 / 6%);--shadow-lg: 0 18px 48px rgb(0 0 0 / 55%), inset 0 1px 0 rgb(255 255 255 / 8%);--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1.125rem;--radius-full: 999px;--font-display: "Inter Tight", "Inter Tight Fallback", Arial, Roboto, sans-serif;--font-body: "Inter Tight", "Inter Tight Fallback", Arial, Roboto, sans-serif;--font-weight-medium: 600;--font-weight-bold: 800;--display-weight: 800;--type-base: 1rem;--type-ratio: 1.2;--leading-tight: 1.15;--tracking-tight: -.025em;--tracking-normal: -.005em;--density: 1;--duration-fast: .16s;--duration-base: .24s;--duration-slow: .36s;--ease-default: cubic-bezier(.16, 1, .3, 1);--focus-ring-color: #bcd0ff;--focus-ring-width: 2px;--focus-ring-offset: 2px;--focus-ring-glow: 0 0 0 5px rgb(122 162 255 / 30%), 0 0 18px rgb(122 162 255 / 55%);--hover-bg: rgb(122 162 255 / 12%);--map-flavor: dark;--map-area: #7aa2ff;--map-area-opacity: .22;--map-pin: #ff9b9b;--map-cluster: #7aa2ff;--map-cluster-text: #070b14;color-scheme:dark}[data-theme=warm]{--bg-base: #f6efe1;--bg-raised: #fffaf0;--bg-sunken: #efe4cf;--bg-overlay: rgb(42 29 18 / 55%);--media-bg: #2a1d12;--text-primary: #2a1d12;--text-secondary: #4a3726;--text-muted: #6b5541;--text-inverse: #fffaf0;--text-link: #8a4410;--border-subtle: #2a1d12;--border-strong: #2a1d12;--border-width: 2px;--border-width-strong: 3px;--accent: #9a4f12;--accent-hover: #843f0a;--accent-active: #6e3407;--accent-contrast: #fffaf0;--accent-soft: #f6dfbf;--success: #2f5d1e;--success-bg: #e3edcf;--warning: #7a4a00;--warning-bg: #fbe3a8;--danger: #9e2a1b;--danger-bg: #f8d9cf;--info: #1f4f6b;--info-bg: #dcebf0;--test: #6a3596;--test-bg: #eadcf5;--test-contrast: #fffaf0;--shadow-sm: 2px 2px 0 #2a1d12;--shadow-md: 4px 4px 0 #2a1d12;--shadow-lg: 7px 7px 0 #2a1d12;--radius-sm: .375rem;--radius-md: .625rem;--radius-lg: .875rem;--radius-full: 999px;--font-display: "Zilla Slab", "Zilla Slab Fallback", Georgia, "Noto Serif", serif;--font-body: "Work Sans", "Work Sans Fallback", Arial, Roboto, sans-serif;--font-weight-medium: 600;--font-weight-bold: 700;--display-weight: 700;--type-base: 1rem;--type-ratio: 1.25;--leading-tight: 1.1;--tracking-tight: -.01em;--density: 1.05;--duration-fast: 90ms;--duration-base: .14s;--duration-slow: .2s;--ease-default: cubic-bezier(.34, 1.56, .64, 1);--focus-ring-color: #2a1d12;--focus-ring-width: 3px;--focus-ring-offset: 3px;--hover-bg: #f6dfbf;--button-shadow: 3px 3px 0 #2a1d12;--button-shadow-active: 1px 1px 0 #2a1d12;--button-transform-active: translate(2px, 2px);--map-flavor: light;--map-area: #9a4f12;--map-area-opacity: .2;--map-pin: #2a1d12;--map-cluster: #9a4f12;--map-cluster-text: #fffaf0;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--bg-base-image),var(--bg-base);background-attachment:fixed;color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--font-weight-normal);line-height:var(--leading-normal);letter-spacing:var(--tracking-normal);overflow-x:clip}img,video,iframe,canvas,svg{max-width:100%}img,video{height:auto;display:block}a{color:var(--text-link);text-decoration-line:var(--link-decoration);text-underline-offset:.15em;transition:var(--transition-colors)}a:hover{color:var(--accent-hover);text-decoration-line:var(--link-decoration-hover)}h1,h2,h3{font-family:var(--font-display);font-weight:var(--display-weight);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);text-transform:var(--display-transform);overflow-wrap:anywhere}h1{font-size:var(--text-2xl);margin:0 0 var(--space-3)}h2{font-size:var(--text-lg);margin:0 0 var(--space-2)}h3{font-size:var(--text-base);margin:var(--space-3) 0 var(--space-1-5)}p{margin:0 0 var(--space-2-5)}code,pre,kbd,.mono{font-family:var(--font-mono)}.muted{color:var(--text-muted)}.small{font-size:var(--text-sm)}.center{text-align:center}.prewrap{white-space:pre-wrap}.empty{color:var(--text-muted);padding:var(--space-6) 0;text-align:center}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);box-shadow:var(--focus-ring-glow)}.app{min-height:100vh;min-height:100dvh;padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom))}.app-admin{padding-bottom:0}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:var(--space-2-5);padding:var(--space-2) calc(var(--gutter) + env(safe-area-inset-right)) var(--space-2) calc(var(--gutter) + env(safe-area-inset-left));background:var(--bg-chrome);backdrop-filter:var(--bg-raised-blur);-webkit-backdrop-filter:var(--bg-raised-blur);border-bottom:var(--border-width) var(--rule-style) var(--border-subtle)}.brand{display:flex;align-items:center;gap:var(--space-2);flex:none;color:var(--accent);font-family:var(--font-display);font-weight:var(--font-weight-bold);text-decoration:none}.brand:hover{color:var(--accent-hover);text-decoration:none}.tagline{color:var(--text-muted);font-size:var(--text-sm);flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.lang-toggle{min-width:var(--tap-min);min-height:var(--tap-compact);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-full);background:transparent;color:var(--text-primary);font:inherit;font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition-colors)}.lang-toggle:hover{border-color:var(--text-primary)}.test-banner{background:var(--test);color:var(--test-contrast);text-align:center;font-size:var(--text-sm);font-weight:var(--font-weight-medium);padding:var(--space-1) var(--gutter);position:sticky;top:0;z-index:30}.offline-banner{background:var(--warning-bg);color:var(--warning);padding:var(--space-1-5) var(--gutter);font-size:var(--text-sm);text-align:center}.page{max-width:var(--content-max);margin:0 auto;padding:var(--space-4) calc(var(--gutter) + env(safe-area-inset-right)) var(--space-6) calc(var(--gutter) + env(safe-area-inset-left));min-width:0}.page.narrow{max-width:26.25rem}.page-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-2)}.page-head h1,.page-head h2{margin:0}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:var(--bg-chrome);backdrop-filter:var(--bg-raised-blur);-webkit-backdrop-filter:var(--bg-raised-blur);border-top:var(--border-width) var(--rule-style) var(--border-subtle)}.bottom-nav a{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);text-decoration:none;font-size:var(--text-xs);min-height:var(--tap-min)}.bottom-nav a span{font-size:var(--text-xl);line-height:1}.bottom-nav a.active{color:var(--accent);font-weight:var(--font-weight-medium);box-shadow:inset 0 var(--border-width-strong) 0 var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1-5);min-height:var(--tap-min);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);border:var(--border-width) solid var(--border-strong);background:var(--bg-raised);color:var(--text-primary);font:inherit;font-weight:var(--font-weight-medium);text-decoration:none;cursor:pointer;text-transform:var(--button-transform);box-shadow:var(--button-shadow);transition:var(--transition-colors),transform var(--duration-fast) var(--ease-default)}.btn:hover{border-color:var(--text-primary);background:var(--hover-bg);color:var(--hover-fg);text-decoration:none}.btn:active{transform:var(--button-transform-active);box-shadow:var(--button-shadow-active)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-contrast)}.btn-primary:active{background:var(--accent-active);border-color:var(--accent-active)}.btn-outline{background:transparent}.btn-small{min-height:var(--tap-compact);padding:var(--space-1) var(--space-3);font-size:var(--text-sm)}.btn-block{width:100%;margin-top:var(--space-2)}.btn-icon{border:0;background:transparent;color:var(--text-primary);font-size:var(--text-xl);line-height:1;min-width:var(--tap-min);min-height:var(--tap-min);cursor:pointer;border-radius:var(--radius-sm)}.linklike{border:0;background:none;color:var(--text-link);padding:0;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:.15em}.actions{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center;margin:var(--space-2) 0}.stack{display:flex;flex-direction:column;gap:var(--space-3)}.field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-3);min-width:0}.field label{font-weight:var(--font-weight-medium);font-size:var(--text-sm)}input,select,textarea{font:inherit;color:var(--text-primary);background:var(--bg-raised);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-sm);padding:var(--space-2-5) var(--space-3);min-height:var(--tap-min);width:100%;max-width:100%;transition:var(--transition-colors)}input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:1}textarea{min-height:5.5rem;resize:vertical}input[type=checkbox],input[type=radio]{width:auto;min-height:0;accent-color:var(--accent)}.field-error input{border-color:var(--danger);border-width:var(--border-width-strong)}.code-input{font-family:var(--font-mono);letter-spacing:var(--tracking-wide);text-transform:uppercase;font-size:var(--text-xl)}.row2,.row3{display:grid;gap:0 var(--space-3);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.row3{grid-template-columns:repeat(3,minmax(0,1fr))}.checks,.radios{border:var(--border-width) solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);margin:0 0 var(--space-3);display:grid;gap:var(--space-1-5);min-width:0}.checks{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.checks legend{font-weight:var(--font-weight-medium);font-size:var(--text-sm);padding:0 var(--space-1)}.checks label,.radios label,label.check{display:flex;align-items:center;gap:var(--space-2);min-height:var(--tap-compact)}.seg{display:inline-flex;max-width:100%;border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-full);overflow:hidden}.seg>*{padding:var(--space-2) var(--space-4);min-height:2.5rem;display:inline-flex;align-items:center;border:0;background:transparent;color:var(--text-primary);font:inherit;text-decoration:none;cursor:pointer;transition:var(--transition-colors)}.seg>*:hover{background:var(--hover-bg);color:var(--hover-fg)}.seg .seg-on{background:var(--accent);color:var(--accent-contrast);font-weight:var(--font-weight-medium)}.toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-3)}.count{background:var(--accent);color:var(--accent-contrast);border-radius:var(--radius-full);padding:0 var(--space-1-5);font-size:var(--text-xs)}.card{background:var(--bg-raised);border:var(--border-width) var(--rule-style) var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3-5);margin-bottom:var(--space-3);box-shadow:var(--shadow-md);backdrop-filter:var(--bg-raised-blur);-webkit-backdrop-filter:var(--bg-raised-blur);min-width:0}.alert{border-radius:var(--radius-sm);padding:var(--space-2-5) var(--space-3);margin:var(--space-2) 0;border-left:calc(var(--border-width-strong) * 2) solid currentColor}.alert p:last-child{margin-bottom:0}.alert-error{background:var(--danger-bg);color:var(--danger)}.alert-info{background:var(--info-bg);color:var(--text-primary);border-left-color:var(--info)}.alert-ok{background:var(--success-bg);color:var(--success)}.alert-warn{background:var(--warning-bg);color:var(--warning)}.test-box{background:var(--test-bg);color:var(--test);border:var(--border-width-strong) dashed var(--test);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);margin:var(--space-2) 0}.test-box code{font-size:var(--text-xl);letter-spacing:var(--tracking-wide)}.badge{display:inline-block;font-size:var(--text-xs);font-weight:var(--font-weight-medium);padding:var(--space-0-5) var(--space-2);border-radius:var(--radius-full);background:var(--bg-sunken);color:var(--text-primary);border:var(--border-width) solid var(--border-subtle)}.badge-published,.badge-succeeded,.badge-passed,.badge-pass{background:var(--success-bg);color:var(--success);border-color:currentColor}.badge-pending_review,.badge-awaiting_payment,.badge-pending,.badge-submitted,.badge-hidden_grace,.badge-request_more{background:var(--warning-bg);color:var(--warning);border-color:currentColor}.badge-suspended,.badge-failed,.badge-fail,.badge-expired{background:var(--danger-bg);color:var(--danger);border-color:currentColor}.badge-interior{background:var(--accent-soft);color:var(--accent);cursor:pointer}.badge-exterior{background:var(--test-bg);color:var(--test);cursor:pointer}.chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:var(--space-1-5)}.chips li{background:var(--accent-soft);border-radius:var(--radius-full);padding:var(--space-0-5) var(--space-2-5);font-size:var(--text-sm)}.list{list-style:none;margin:0;padding:0}.list li{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:var(--border-width) var(--rule-style) var(--border-subtle);min-width:0}.list li:last-child{border-bottom:0}.kv{margin:0;display:grid;grid-template-columns:minmax(5.5rem,30%) minmax(0,1fr);gap:var(--space-1-5) var(--space-3)}.kv dt{color:var(--text-muted);font-size:var(--text-sm)}.kv dd{margin:0;overflow-wrap:anywhere}.kv-row{display:contents}.loader{display:flex;align-items:center;gap:var(--space-2-5);padding:var(--space-4) 0;color:var(--text-muted)}.spinner{width:1.125rem;height:1.125rem;display:inline-block;border:calc(var(--border-width-strong) + 1px) solid var(--border-subtle);border-top-color:var(--accent);border-radius:var(--radius-full);animation:spin .8s linear infinite}.spinner.big{width:2.5rem;height:2.5rem;margin:var(--space-2) auto;display:block}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:3s}}.grid{display:grid;gap:var(--space-3);grid-template-columns:minmax(0,1fr)}@media(min-width:620px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:900px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.pcard{display:block;min-width:0;background:var(--bg-raised);border:var(--border-width) var(--rule-style) var(--border-subtle);border-radius:var(--radius-md);overflow:hidden;color:inherit;text-decoration:none;box-shadow:var(--shadow-md);transition:var(--transition-colors),transform var(--duration-base) var(--ease-default)}.pcard:hover{border-color:var(--border-strong);box-shadow:var(--shadow-lg);color:inherit;text-decoration:none}.pcard-img{position:relative;aspect-ratio:4 / 3;background:var(--bg-sunken)}.pcard-img img{width:100%;height:100%;object-fit:cover}.pcard-flag{position:absolute;top:var(--space-2);left:var(--space-2)}.pcard-body{padding:var(--space-2-5) var(--space-3)}.pcard-price{font-family:var(--font-display);font-weight:var(--font-weight-bold);font-size:var(--text-lg)}.pcard-price.big{font-size:var(--text-2xl)}.pcard-price .muted{font-family:var(--font-body);font-weight:var(--font-weight-normal);font-size:var(--text-sm)}.pcard-title{font-weight:var(--font-weight-medium);margin:var(--space-0-5) 0;overflow-wrap:anywhere}.pcard-meta{color:var(--text-muted)}.pcard-compact{display:flex}.pcard-compact .pcard-img{width:110px;flex:none;aspect-ratio:auto}.pcard-compact .pcard-body{min-width:0}.photo-empty{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:4.5rem;color:var(--text-muted);font-size:var(--text-sm);background:var(--bg-sunken)}.filters{position:relative}.filter-form{position:absolute;z-index:15;top:3.25rem;left:0;width:min(calc(100vw - 2 * var(--gutter)),420px)}.gallery{margin-bottom:var(--space-3);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-sunken)}.gallery .photo{width:100%;max-height:60vh;object-fit:contain;background:var(--media-bg)}.gallery-nav{display:flex;justify-content:space-between;align-items:center;padding:var(--space-1-5);background:var(--bg-raised)}.locked{border-color:var(--accent);background:var(--accent-soft)}.unlocked{border-color:var(--success);border-width:var(--border-width-strong)}.watermark{font-family:var(--font-mono);color:var(--text-muted);font-size:var(--text-sm);text-align:right;margin:var(--space-2) 0 0}.mapbox{margin:0 0 var(--space-2)}.map{width:100%;border-radius:var(--radius-md);overflow:hidden;background:var(--bg-sunken);border:var(--border-width) var(--rule-style) var(--border-subtle)}.map-small{height:240px}.map-pick{height:340px}.page-map{max-width:none}.map-wrap{position:relative}.map-full{height:calc(100vh - 220px);height:calc(100dvh - 220px);min-height:320px}.map-hint{position:absolute;top:var(--space-2-5);left:50%;transform:translate(-50%);max-width:calc(100% - 2 * var(--space-4));background:var(--bg-raised);color:var(--text-primary);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);box-shadow:var(--shadow-md);font-size:var(--text-sm);border:var(--border-width) solid var(--border-subtle)}.map-card{position:absolute;left:var(--space-2);right:var(--space-2);bottom:var(--space-2);max-width:520px;margin:0 auto}.map-card-close{position:absolute;right:0;top:0;z-index:2}.map-fallback{padding:var(--space-6);text-align:center;background:var(--bg-raised);border:var(--border-width) dashed var(--border-strong);border-radius:var(--radius-md);color:var(--text-muted)}.maplibregl-ctrl-attrib{font-size:var(--text-xs)}.bundles{display:grid;gap:var(--space-2);margin-bottom:var(--space-3)}.bundle{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-0-5) var(--space-2-5);padding:var(--space-3);border:var(--border-width-strong) solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-raised);cursor:pointer;transition:var(--transition-colors)}.bundle:hover{border-color:var(--text-primary)}.bundle input{grid-row:span 3}.bundle-on{border-color:var(--accent);background:var(--accent-soft)}.bundle-credits{font-weight:var(--font-weight-bold)}.bundle-price{font-weight:var(--font-weight-bold);grid-column:3;grid-row:1}.bundle>.small{grid-column:2 / 4}.code-box{text-align:center;padding:var(--space-3);margin:var(--space-3) 0;border:var(--border-width-strong) dashed var(--accent);border-radius:var(--radius-md)}.code{font-family:var(--font-mono);font-size:var(--text-3xl);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-wide);margin:var(--space-1) 0 var(--space-2);user-select:all;overflow-wrap:anywhere}.phone-frame{max-width:320px;margin:var(--space-4) auto;border:.625rem solid var(--device-frame);border-radius:1.75rem;background:var(--device-frame)}.phone-screen{background:var(--device-screen);color:var(--device-text);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-3-5);font-family:var(--font-mono)}.phone-screen input{background:var(--device-field);color:var(--device-text);border-color:var(--device-field-border)}.phone-screen .btn{font-family:inherit}.steps{display:flex;gap:var(--space-1);list-style:none;padding:0;margin:var(--space-2) 0 var(--space-4);overflow-x:auto}.steps li{flex:1;min-width:80px}.steps li>*{display:block;width:100%;text-align:center;padding:var(--space-1-5) var(--space-1);border:0;border-bottom:calc(var(--border-width-strong) + 1px) solid var(--border-subtle);background:none;color:var(--text-muted);font:inherit;font-size:var(--text-sm);cursor:pointer}.steps li.on>*{border-color:var(--accent);color:var(--text-primary);font-weight:var(--font-weight-medium)}.steps li.done>*{border-color:var(--accent-soft)}.listing-row-head{display:flex;justify-content:space-between;gap:var(--space-2);align-items:flex-start}.photo-list{list-style:none;padding:0;margin:var(--space-3) 0;display:grid;gap:var(--space-2)}.photo-list li{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:var(--space-2);align-items:center;background:var(--bg-raised);border:var(--border-width) solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--space-1-5)}.photo-list img{width:96px;height:72px;object-fit:cover;border-radius:var(--radius-sm)}.photo-meta{display:flex;flex-direction:column;gap:var(--space-1);align-items:flex-start}.photo-actions{display:flex;gap:var(--space-1)}.modal-backdrop{position:fixed;inset:0;z-index:50;background:var(--bg-overlay);display:flex;align-items:flex-end;justify-content:center}.modal{background:var(--bg-chrome);color:var(--text-primary);width:100%;max-width:520px;max-height:90vh;max-height:90dvh;overflow:auto;border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-lg);border:var(--border-width) solid var(--border-subtle);padding:var(--space-4) calc(var(--gutter) + env(safe-area-inset-right)) calc(var(--space-4) + env(safe-area-inset-bottom)) calc(var(--gutter) + env(safe-area-inset-left));backdrop-filter:var(--bg-raised-blur);-webkit-backdrop-filter:var(--bg-raised-blur)}.modal:focus-visible{outline:none;box-shadow:var(--shadow-lg),0 0 0 var(--focus-ring-width) var(--focus-ring-color)}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}@media(min-width:620px){.modal-backdrop{align-items:center}.modal{border-radius:var(--radius-lg)}}.admin{display:grid;grid-template-columns:minmax(0,1fr);min-height:calc(100vh - 53px)}.admin-nav{display:flex;gap:var(--space-0-5);overflow-x:auto;padding:var(--space-2) var(--gutter);background:var(--bg-raised);border-bottom:var(--border-width) var(--rule-style) var(--border-subtle)}.admin-nav a{white-space:nowrap;padding:var(--space-1-5) var(--space-2-5);border-radius:var(--radius-sm);color:var(--text-primary);text-decoration:none;font-size:var(--text-sm)}.admin-nav a:hover{background:var(--hover-bg);color:var(--hover-fg)}.admin-nav a.active{background:var(--accent-soft);color:var(--accent);font-weight:var(--font-weight-medium);box-shadow:inset var(--border-width-strong) 0 0 var(--accent)}.admin-main{padding:var(--space-4) var(--gutter);min-width:0}@media(min-width:900px){.admin{grid-template-columns:200px minmax(0,1fr)}.admin-nav{flex-direction:column;border-bottom:0;border-right:var(--border-width) var(--rule-style) var(--border-subtle)}}.admin-filters{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:flex-end;margin:var(--space-2) 0 var(--space-3)}.admin-filters label{display:flex;flex-direction:column;gap:var(--space-0-5);min-width:140px;flex:1}.admin-filters input,.admin-filters select{min-height:var(--tap-compact);padding:var(--space-1-5) var(--space-2)}.table-wrap{overflow-x:auto;max-width:100%;border:var(--border-width) solid var(--border-subtle);border-radius:var(--radius-sm)}.table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.table th,.table td{text-align:left;padding:var(--space-2);border-bottom:var(--border-width) var(--rule-style) var(--border-subtle);vertical-align:top}.table th{background:var(--bg-sunken);font-weight:var(--font-weight-medium);position:sticky;top:0}.table tr.clickable{cursor:pointer}.table tr.clickable:hover{background:var(--hover-bg);color:var(--hover-fg)}.table td input{min-height:2rem;padding:var(--space-1) var(--space-1-5);min-width:120px}.json{background:var(--bg-sunken);color:var(--text-primary);border:var(--border-width) solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--space-2);overflow:auto;max-width:100%;max-height:420px;font-size:var(--text-xs)}.stats-grid{display:grid;gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin-bottom:var(--space-3)}.stat{background:var(--bg-raised);border:var(--border-width) solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--space-3);min-width:0}.stat-v{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-weight-bold)}.evidence-grid{display:grid;gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr))}.evidence{max-height:360px;object-fit:contain;border:var(--border-width) solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--media-bg)}.search-input{max-width:320px;margin-bottom:var(--space-2)}@media(max-width:380px){.row3{grid-template-columns:repeat(2,minmax(0,1fr))}.checks{grid-template-columns:minmax(0,1fr)}.tagline{display:none}}
