@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;font-stretch:75% 100%;src:url(/assets/bricolage-grotesque-vietnamese-standard-normal-Br4FGdAc.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;font-stretch:75% 100%;src:url(/assets/bricolage-grotesque-latin-ext-standard-normal-qp-RdZgh.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;font-stretch:75% 100%;src:url(/assets/bricolage-grotesque-latin-standard-normal-C5Lc8Qmc.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-ext-700-normal-BmRLXWpJ.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-700-normal-DCQwxkRk.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-700-normal-D_uavGvn.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-700-normal-RFb1v-CK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-greek-700-normal-wyJ6jzdA.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-700-normal-CkZN0sRy.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-vietnamese-700-normal-CkEo6LDy.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-700-normal-BV5B8Are.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-ext-700-normal-aMgXseD4.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-700-normal-DZH6Xh-4.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-700-normal-Bth3BMcD.woff) format("woff");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}:root{color-scheme:light;--font-display: "Bricolage Grotesque Variable", sans-serif;--font-body: "IBM Plex Sans", sans-serif;--color-paper: oklch(96.5% .018 92);--color-paper-2: oklch(93% .024 92);--color-paper-3: oklch(88% .032 88);--color-paper-pressed: oklch(84% .04 88);--color-ink: oklch(19% .028 70);--color-ink-2: oklch(31% .03 72);--color-muted: oklch(43% .028 78);--color-rule: oklch(67% .028 86);--color-rule-2: oklch(78% .026 88);--color-grass: oklch(62% .13 128);--color-grass-dark: oklch(43% .12 132);--color-grass-pale: oklch(84% .07 118);--color-sand: oklch(80% .075 79);--color-asphalt: oklch(64% .012 88);--color-accent: oklch(43% .12 132);--color-accent-hover: oklch(37% .11 132);--color-accent-ink: oklch(97% .016 92);--color-focus: oklch(50% .17 250);--color-focus-ink: oklch(97% .016 92);--color-danger: oklch(47% .17 29);--color-danger-hover: oklch(40% .15 29);--color-danger-pale: oklch(92% .035 29);--color-danger-ink: oklch(97% .016 92);--color-success: oklch(42% .12 145);--color-success-pale: oklch(91% .045 145);--color-warning: oklch(50% .11 82);--color-warning-pale: oklch(93% .05 82);--color-disabled: oklch(88% .018 90);--color-transparent: oklch(19% .028 70 / 0);--space-3xs: .125rem;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.5rem;--space-2xl: 4rem;--space-3xl: 6rem;--space-4xl: 9rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.25rem;--text-lg: 1.5625rem;--text-xl: 1.953125rem;--text-2xl: 2.44140625rem;--leading-tight: 1.08;--leading-ui: 1.2;--leading-body: 1.5;--tracking-tight: -.025em;--tracking-label: .08em;--tracking-kicker: .12em;--control-height: 2.75rem;--control-height-coarse: 3rem;--panel-min: 11rem;--panel-max: 14rem;--inspector-min: 12rem;--inspector-max: 16rem;--copy-measure: 65ch;--rule-thin: 1px;--rule-strong: 2px;--rule-heavy: 3px;--focus-width: 2px;--focus-offset: 1px;--radius-none: 0;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 6px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-micro: .12s;--dur-short: .22s;--dur-long: .42s;--opacity-disabled: .52;--opacity-loading: .45;--z-base: 1;--z-raised: 10;--z-dropdown: 100;--z-sticky: 200;--z-modal: 400;--z-toast: 500;--z-tooltip: 600}*,*:before,*:after{box-sizing:border-box}html{min-width:320px;min-height:100%;overflow-x:clip;background-color:var(--color-paper-2);color:var(--color-ink)}body{margin:0;min-width:320px;min-height:100dvh;overflow-x:clip;background-color:var(--color-paper-2);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{color:var(--color-ink);font-family:var(--font-body);font-size:inherit;font-weight:inherit;line-height:inherit}button,[role=button]{touch-action:manipulation}button,a,input,select,textarea,[tabindex]{-webkit-tap-highlight-color:var(--color-transparent)}button,a,.mobile-tab,.palette-button,.tool-button,.button--primary,.button--danger{white-space:nowrap}input,select,textarea{caret-color:var(--color-ink)}input::placeholder,textarea::placeholder{color:var(--color-muted);opacity:1}::selection{background-color:var(--color-grass-pale);color:var(--color-ink)}#root,.app-shell{min-height:100dvh}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.app-shell{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;width:100%;overflow-x:clip;background-color:var(--color-paper-2);color:var(--color-ink)}.command-bar,.nav-slab{position:relative;z-index:var(--z-sticky);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs) var(--space-md);min-width:0;padding:var(--space-xs);border-block-end:var(--rule-strong) solid var(--color-ink);background-color:var(--color-paper);color:var(--color-ink)}.brand-lockup{display:grid;flex:0 1 auto;min-width:0;line-height:var(--leading-tight)}.brand-kicker{margin:0;color:var(--color-muted);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-kicker);line-height:var(--leading-ui);text-transform:uppercase}.brand-title{margin:0;min-width:0;overflow-wrap:anywhere;font-family:var(--font-display);font-size:clamp(var(--text-lg),5vw,var(--text-xl));font-stretch:84%;font-style:normal;font-weight:800;letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);text-transform:uppercase}.toolbar{display:flex;flex:1 1 100%;align-items:center;gap:var(--space-2xs);min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;padding-block:var(--space-3xs);scrollbar-color:var(--color-ink) var(--color-paper-2);scrollbar-width:thin}.toolbar>*{flex:0 0 auto}.tree-toggle{display:inline-flex;align-items:center;gap:var(--space-xs);min-height:var(--control-height);padding:var(--space-xs) var(--space-sm);border:var(--rule-strong) solid var(--color-ink);border-radius:var(--radius-xs);background-color:var(--color-paper);color:var(--color-ink);font-size:var(--text-sm);font-weight:600;line-height:var(--leading-ui);white-space:nowrap;cursor:pointer}.tree-toggle input{inline-size:var(--space-md);block-size:var(--space-md);margin:0;accent-color:var(--color-accent)}.tree-toggle:has(input:disabled){background-color:var(--color-disabled);color:var(--color-muted);cursor:not-allowed;opacity:var(--opacity-disabled)}.tool-button,.button--primary,.button--danger,.palette-button,.mobile-tab{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);min-width:var(--control-height);min-height:var(--control-height);padding:var(--space-xs) var(--space-sm);border:var(--rule-strong) solid var(--color-ink);border-radius:var(--radius-xs);background-color:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;letter-spacing:.01em;line-height:var(--leading-ui);text-decoration:none;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),opacity var(--dur-micro) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.tool-button>svg,.button--primary>svg,.button--danger>svg,.palette-button>svg,.mobile-tab>svg{flex:0 0 auto}.button--primary{background-color:var(--color-accent);color:var(--color-accent-ink)}.button--danger{background-color:var(--color-danger);color:var(--color-danger-ink)}.tool-button[aria-pressed=true],.tool-button.is-active,.palette-button[aria-pressed=true],.palette-button[aria-selected=true],.palette-button.is-active,.mobile-tab[aria-selected=true],.mobile-tab.is-active{background-color:var(--color-ink);color:var(--color-paper)}.tool-button:active,.button--primary:active,.button--danger:active,.palette-button:active,.mobile-tab:active,.tool-button.is-pressed,.button--primary.is-pressed,.button--danger.is-pressed,.palette-button.is-pressed,.mobile-tab.is-pressed{transform:translateY(var(--rule-thin))}:where(button,a,input,select,textarea,[tabindex]:not([tabindex="-1"])):focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset)}.button--primary:focus-visible,.button--danger:focus-visible,.tool-button[aria-pressed=true]:focus-visible,.tool-button.is-active:focus-visible,.palette-button[aria-pressed=true]:focus-visible,.palette-button[aria-selected=true]:focus-visible,.palette-button.is-active:focus-visible,.mobile-tab[aria-selected=true]:focus-visible,.mobile-tab.is-active:focus-visible{border-color:var(--color-focus-ink)}:where(.tool-button,.button--primary,.button--danger,.palette-button,.mobile-tab):where(:disabled,[aria-disabled=true],.is-disabled){background-color:var(--color-disabled);color:var(--color-muted);cursor:not-allowed;opacity:var(--opacity-disabled);transform:none}:where(.tool-button,.button--primary,.button--danger,.palette-button,.mobile-tab):where([data-state=loading],.is-loading){cursor:progress}:where(.tool-button,.button--primary,.button--danger,.palette-button,.mobile-tab):where([data-state=loading],.is-loading):after{content:"···";display:inline-block;min-width:var(--space-lg);animation:loading-pulse var(--dur-long) var(--ease-in-out) infinite;letter-spacing:var(--tracking-label)}:where(.tool-button,.button--primary,.button--danger,.palette-button,.mobile-tab):where([data-state=error],.is-error){border-color:var(--color-danger);background-color:var(--color-danger-pale);color:var(--color-danger)}:where(.tool-button,.button--primary,.button--danger,.palette-button,.mobile-tab):where([data-state=error],.is-error):after{content:"!";font-family:var(--font-display);font-weight:800}:where(.tool-button,.button--primary,.button--danger,.palette-button,.mobile-tab):where([data-state=success],.is-success){border-color:var(--color-success);background-color:var(--color-success-pale);color:var(--color-success)}:where(.tool-button,.button--primary,.button--danger,.palette-button,.mobile-tab):where([data-state=success],.is-success):after{content:"✓";font-weight:700}.mobile-tabs{position:sticky;inset-block-start:0;z-index:var(--z-sticky);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-block-end:var(--rule-strong) solid var(--color-ink);background-color:var(--color-paper);color:var(--color-ink)}.mobile-tab{width:100%;border-block:0;border-inline-start:0;border-radius:var(--radius-none)}.mobile-tab:last-child{border-inline-end:0}.workspace{display:grid;grid-template-areas:"canvas" "palette" "inspector";grid-template-columns:minmax(0,1fr);align-items:start;gap:var(--space-xs);min-width:0;padding:var(--space-xs);background-color:var(--color-paper-2);color:var(--color-ink)}.palette-panel,.inspector-panel{min-width:0;border:var(--rule-strong) solid var(--color-ink);border-radius:var(--radius-sm);background-color:var(--color-paper);color:var(--color-ink)}.palette-panel{grid-area:palette}.inspector-panel{grid-area:inspector}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);min-height:var(--control-height);margin:0;padding:var(--space-xs) var(--space-sm);border-block-end:var(--rule-strong) solid var(--color-ink);font-family:var(--font-display);font-size:var(--text-sm);font-style:normal;font-weight:800;letter-spacing:var(--tracking-label);line-height:var(--leading-ui);text-transform:uppercase}.panel-heading p,.panel-heading h2,.panel-heading h3{margin:0}.panel-heading p{color:var(--color-muted);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-kicker);line-height:var(--leading-ui)}.panel-heading h2,.panel-heading h3{min-width:0;overflow-wrap:anywhere;font-family:var(--font-display);font-size:var(--text-md);font-style:normal;font-weight:800;letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}.panel-heading>span{font-variant-numeric:tabular-nums}.palette-groups{display:grid;gap:0}.material-form-picker{display:grid;gap:var(--space-xs);padding:var(--space-sm);border-block-end:var(--rule-strong) solid var(--color-ink);background-color:var(--color-sand)}.material-form-picker>p,.material-form-picker>span{margin:0}.material-form-picker>p{font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-kicker);text-transform:uppercase}.material-form-picker>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:var(--rule-strong) solid var(--color-ink)}.form-button{min-width:0;min-height:var(--control-height);padding:var(--space-xs);overflow:hidden;border:0;border-inline-end:var(--rule-thin) solid var(--color-ink);background-color:var(--color-paper);color:var(--color-ink);font-size:var(--text-sm);font-weight:700;text-overflow:ellipsis;cursor:pointer}.form-button:last-child{border-inline-end:0}.form-button[aria-pressed=true]{background-color:var(--color-ink);color:var(--color-paper)}.material-form-picker>span{color:var(--color-muted);font-size:var(--text-xs);line-height:var(--leading-body)}.palette-group{display:grid;gap:var(--space-xs);padding:var(--space-sm);border-block-end:var(--rule-thin) solid var(--color-rule)}.palette-group:last-child{border-block-end:0}.palette-group>:is(h2,h3,h4,p){margin:0}.palette-group>:is(h2,h3,h4){color:var(--color-muted);font-family:var(--font-body);font-size:var(--text-xs);font-style:normal;font-weight:600;letter-spacing:var(--tracking-kicker);line-height:var(--leading-ui);text-transform:uppercase}.palette-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2xs);margin:0;padding:0;list-style:none}.palette-button{justify-content:flex-start;width:100%;min-width:0;overflow:hidden;border-width:var(--rule-thin);text-overflow:ellipsis}.palette-swatch{flex:0 0 1.6rem;width:1.6rem;height:1.6rem;border:var(--rule-thin) solid var(--color-ink);background-image:url(/assets/illustrated/material-texture-atlas-v2.png);background-repeat:no-repeat;background-size:400% 300%}.palette-button-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.palette-swatch[data-material=fill]{background-position:0 0}.palette-swatch[data-material=topsoil]{background-position:33.333% 0}.palette-swatch[data-material=yw_mixed],.palette-swatch[data-material=logs]{background-position:66.666% 0}.palette-swatch[data-material=brown_mulch],.palette-swatch[data-material=root_mulch]{background-position:100% 0}.palette-swatch[data-material=black_mulch]{background-position:0 50%}.palette-swatch[data-material=red_mulch]{background-position:33.333% 50%}.palette-swatch[data-material=play_mulch]{background-position:66.666% 50%}.palette-swatch[data-material=compost]{background-position:100% 50%}.palette-swatch[data-material=stone]{background-position:0 100%}.palette-swatch[data-material=shingles]{background-position:33.333% 100%}.palette-swatch[data-material=pallets]{background-position:66.666% 100%}.canvas-column{grid-area:canvas;display:flex;flex-direction:column;align-items:stretch;gap:var(--space-2xs);min-width:0}.underlay-bar{display:grid;min-width:0;overflow:hidden;border:var(--rule-strong) solid var(--color-ink);border-radius:var(--radius-sm);background-color:var(--color-paper);color:var(--color-ink)}.underlay-controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2xs);min-width:0;padding:var(--space-2xs)}.underlay-heading{display:grid;flex:0 0 auto;align-content:center;min-height:2.25rem;padding-inline:var(--space-xs);line-height:var(--leading-ui)}.underlay-heading strong{font-family:var(--font-display);font-size:var(--text-sm);font-style:normal;font-weight:800;letter-spacing:var(--tracking-tight);text-transform:uppercase}.underlay-heading span{color:var(--color-muted);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-kicker);text-transform:uppercase}.underlay-address{flex:1 1 14rem;min-width:11rem}.underlay-address input{width:100%;min-width:0;min-height:2.25rem;padding:var(--space-2xs) var(--space-xs);border:var(--rule-thin) solid var(--color-ink);border-radius:var(--radius-xs);outline:var(--focus-width) solid var(--color-transparent);outline-offset:var(--focus-offset);background-color:var(--color-paper-2);color:var(--color-ink);font-size:var(--text-sm);line-height:var(--leading-ui)}.underlay-address input:focus-visible{border-color:var(--color-ink);outline-color:var(--color-focus)}.underlay-address input[aria-invalid=true]{border-color:var(--color-danger);background-color:var(--color-danger-pale)}.underlay-button,.underlay-mode-button{display:inline-flex;align-items:center;justify-content:center;min-height:2.25rem;padding:var(--space-2xs) var(--space-xs);border:var(--rule-thin) solid var(--color-ink);border-radius:var(--radius-xs);background-color:var(--color-paper);color:var(--color-ink);font-size:var(--text-xs);font-weight:700;line-height:var(--leading-ui);white-space:nowrap;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),opacity var(--dur-micro) var(--ease-out)}.underlay-locate{padding-inline:var(--space-sm);background-color:var(--color-accent);color:var(--color-accent-ink)}.underlay-mode{display:grid;flex:0 0 auto;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border:var(--rule-thin) solid var(--color-ink);border-radius:var(--radius-xs)}.underlay-mode-button{min-width:0;border:0;border-inline-end:var(--rule-thin) solid var(--color-ink);border-radius:0}.underlay-mode-button:last-child{border-inline-end:0}.underlay-mode-button[aria-pressed=true],.underlay-action[aria-pressed=true]{background-color:var(--color-ink);color:var(--color-paper)}.underlay-opacity{display:grid;flex:1 1 10rem;grid-template-columns:auto minmax(4.5rem,1fr) 2.4rem;align-items:center;gap:var(--space-2xs);min-width:9rem;min-height:2.25rem;padding-inline:var(--space-xs);border:var(--rule-thin) solid var(--color-ink);border-radius:var(--radius-xs);background-color:var(--color-paper-2);color:var(--color-ink);font-size:var(--text-xs);font-weight:700;line-height:var(--leading-ui)}.underlay-opacity input{width:100%;min-width:0;margin:0;accent-color:var(--color-accent);cursor:pointer}.underlay-opacity output{color:var(--color-muted);font-variant-numeric:tabular-nums;text-align:end}.underlay-remove{color:var(--color-danger)}.underlay-button:disabled,.underlay-mode-button:disabled,.underlay-address input:disabled,.underlay-opacity:has(input:disabled){background-color:var(--color-disabled);color:var(--color-muted);cursor:not-allowed;opacity:var(--opacity-disabled)}.underlay-opacity input:disabled{cursor:not-allowed}.underlay-feedback{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2xs) var(--space-sm);min-width:0;min-height:1.75rem;padding:var(--space-2xs) var(--space-xs);border-block-start:var(--rule-thin) solid var(--color-rule);background-color:var(--color-paper-2);color:var(--color-muted);font-size:var(--text-xs);line-height:var(--leading-ui)}.underlay-feedback[data-tone=ready]{color:var(--color-ink)}.underlay-feedback[data-tone=error]{border-color:var(--color-danger);background-color:var(--color-danger-pale);color:var(--color-danger)}.underlay-feedback strong{margin-inline-end:var(--space-3xs);font-size:.68rem;letter-spacing:var(--tracking-kicker);text-transform:uppercase}.underlay-attribution{min-width:0;margin-inline-start:auto;overflow:hidden;color:var(--color-muted);font-size:inherit;text-overflow:ellipsis;white-space:nowrap}.board-frame{position:relative;width:100%;aspect-ratio:1391 / 778;min-height:0;overflow:clip;border:var(--rule-strong) solid var(--color-ink);border-radius:var(--radius-sm);background-color:var(--color-grass-pale);color:var(--color-ink);isolation:isolate}.map-canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;background-color:var(--color-grass-pale);color:var(--color-ink);touch-action:none;cursor:crosshair}.map-canvas:focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:calc(-1 * var(--focus-width))}.map-cursor{--map-cursor-angle: 0deg;--map-cursor-rotation: 0deg;--map-cursor-scale: 1;position:absolute;z-index:3;display:none;width:32px;height:32px;pointer-events:none;background-position:center;background-repeat:no-repeat;background-size:contain;opacity:0;transform:translate(-50%,-50%) rotate(var(--map-cursor-rotation)) scale(var(--map-cursor-scale));transform-origin:50% 50%;transition:opacity 40ms linear,transform var(--dur-micro) var(--ease-out);will-change:left,top,transform}.map-cursor[data-visible=true]{opacity:1}.map-cursor[data-cursor-mode=pinpoint]{background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%3e%3cg%20fill='none'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M16%203v5M16%2024v5M3%2016h5M24%2016h5'%20stroke='%23f8f3e7'%20stroke-width='5'/%3e%3cpath%20d='M16%203v5M16%2024v5M3%2016h5M24%2016h5'%20stroke='%2317140f'%20stroke-width='2.2'/%3e%3ccircle%20cx='16'%20cy='16'%20r='7.2'%20fill='%23f8f3e7'%20stroke='%23f8f3e7'%20stroke-width='5'/%3e%3ccircle%20cx='16'%20cy='16'%20r='7.2'%20fill='%23f8f3e7'%20stroke='%2317140f'%20stroke-width='2.4'/%3e%3ccircle%20cx='16'%20cy='16'%20r='2.5'%20fill='%23718f43'%20stroke='%2317140f'%20stroke-width='1.8'/%3e%3c/g%3e%3c/svg%3e")}.map-cursor[data-cursor-mode=move]{background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%3e%3cg%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M16%203v8M13%206l3-3%203%203M16%2029v-8M13%2026l3%203%203-3M3%2016h8M6%2013l-3%203%203%203M29%2016h-8M26%2013l3%203-3%203'%20fill='none'%20stroke='%23f8f3e7'%20stroke-width='5'/%3e%3cpath%20d='M16%203v8M13%206l3-3%203%203M16%2029v-8M13%2026l3%203%203-3M3%2016h8M6%2013l-3%203%203%203M29%2016h-8M26%2013l3%203-3%203'%20fill='none'%20stroke='%2317140f'%20stroke-width='2.2'/%3e%3ccircle%20cx='16'%20cy='16'%20r='6.1'%20fill='%231976d2'%20stroke='%23f8f3e7'%20stroke-width='4.5'/%3e%3ccircle%20cx='16'%20cy='16'%20r='6.1'%20fill='%231976d2'%20stroke='%2317140f'%20stroke-width='2.2'/%3e%3ccircle%20cx='16'%20cy='16'%20r='2'%20fill='%23f8f3e7'%20stroke='%2317140f'%20stroke-width='1.4'/%3e%3c/g%3e%3c/svg%3e")}.map-cursor[data-cursor-mode=move-active]{background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%3e%3cg%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M16%204v6M13.5%206.5%2016%204l2.5%202.5M16%2028v-6M13.5%2025.5%2016%2028l2.5-2.5M4%2016h6M6.5%2013.5%204%2016l2.5%202.5M28%2016h-6M25.5%2013.5%2028%2016l-2.5%202.5'%20fill='none'%20stroke='%23f8f3e7'%20stroke-width='5'/%3e%3cpath%20d='M16%204v6M13.5%206.5%2016%204l2.5%202.5M16%2028v-6M13.5%2025.5%2016%2028l2.5-2.5M4%2016h6M6.5%2013.5%204%2016l2.5%202.5M28%2016h-6M25.5%2013.5%2028%2016l-2.5%202.5'%20fill='none'%20stroke='%2317140f'%20stroke-width='2.3'/%3e%3ccircle%20cx='16'%20cy='16'%20r='7'%20fill='%230f5fae'%20stroke='%23f8f3e7'%20stroke-width='4.5'/%3e%3ccircle%20cx='16'%20cy='16'%20r='7'%20fill='%230f5fae'%20stroke='%2317140f'%20stroke-width='2.4'/%3e%3cpath%20d='M13%2016h6M16%2013v6'%20fill='none'%20stroke='%23f8f3e7'%20stroke-width='1.8'/%3e%3c/g%3e%3c/svg%3e")}.map-cursor[data-cursor-mode=rotate],.map-cursor[data-cursor-mode=rotate-active]{background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%3e%3cg%20fill='none'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M7.2%2019.5A9.5%209.5%200%201%200%208.7%2010M5%209.2l4%20.8.8-4'%20stroke='%23f8f3e7'%20stroke-width='5'/%3e%3cpath%20d='M7.2%2019.5A9.5%209.5%200%201%200%208.7%2010M5%209.2l4%20.8.8-4'%20stroke='%2317140f'%20stroke-width='2.3'/%3e%3ccircle%20cx='16'%20cy='16'%20r='5.3'%20fill='%23e05a33'%20stroke='%23f8f3e7'%20stroke-width='4'/%3e%3ccircle%20cx='16'%20cy='16'%20r='5.3'%20fill='%23e05a33'%20stroke='%2317140f'%20stroke-width='2.2'/%3e%3ccircle%20cx='16'%20cy='16'%20r='1.8'%20fill='%23f8f3e7'%20stroke='%2317140f'%20stroke-width='1.3'/%3e%3c/g%3e%3c/svg%3e")}.map-cursor[data-cursor-mode=resize-x],.map-cursor[data-cursor-mode=resize-x-active]{--map-cursor-rotation: var(--map-cursor-angle);background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%3e%3cg%20fill='none'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M3%2016h9M6.5%2012.5%203%2016l3.5%203.5M29%2016h-9M25.5%2012.5%2029%2016l-3.5%203.5'%20stroke='%23f8f3e7'%20stroke-width='5'/%3e%3cpath%20d='M3%2016h9M6.5%2012.5%203%2016l3.5%203.5M29%2016h-9M25.5%2012.5%2029%2016l-3.5%203.5'%20stroke='%2317140f'%20stroke-width='2.2'/%3e%3ccircle%20cx='16'%20cy='16'%20r='6'%20fill='%23e8c428'%20stroke='%23f8f3e7'%20stroke-width='4.5'/%3e%3ccircle%20cx='16'%20cy='16'%20r='6'%20fill='%23e8c428'%20stroke='%2317140f'%20stroke-width='2.2'/%3e%3ccircle%20cx='16'%20cy='16'%20r='2'%20fill='%23f8f3e7'%20stroke='%2317140f'%20stroke-width='1.4'/%3e%3c/g%3e%3c/svg%3e")}.map-cursor[data-cursor-mode=resize-y],.map-cursor[data-cursor-mode=resize-y-active]{--map-cursor-rotation: var(--map-cursor-angle);background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%3e%3cg%20fill='none'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M16%203v9M12.5%206.5%2016%203l3.5%203.5M16%2029v-9M12.5%2025.5%2016%2029l3.5-3.5'%20stroke='%23f8f3e7'%20stroke-width='5'/%3e%3cpath%20d='M16%203v9M12.5%206.5%2016%203l3.5%203.5M16%2029v-9M12.5%2025.5%2016%2029l3.5-3.5'%20stroke='%2317140f'%20stroke-width='2.2'/%3e%3ccircle%20cx='16'%20cy='16'%20r='6'%20fill='%23e8c428'%20stroke='%23f8f3e7'%20stroke-width='4.5'/%3e%3ccircle%20cx='16'%20cy='16'%20r='6'%20fill='%23e8c428'%20stroke='%2317140f'%20stroke-width='2.2'/%3e%3ccircle%20cx='16'%20cy='16'%20r='2'%20fill='%23f8f3e7'%20stroke='%2317140f'%20stroke-width='1.4'/%3e%3c/g%3e%3c/svg%3e")}.map-cursor[data-cursor-mode=vertex],.map-cursor[data-cursor-mode=vertex-active]{background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%3e%3cg%20fill='none'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M16%204v5M16%2023v5M4%2016h5M23%2016h5'%20stroke='%23f8f3e7'%20stroke-width='5'/%3e%3cpath%20d='M16%204v5M16%2023v5M4%2016h5M23%2016h5'%20stroke='%2317140f'%20stroke-width='2.1'/%3e%3ccircle%20cx='16'%20cy='16'%20r='7'%20fill='%23fff2a8'%20stroke='%23f8f3e7'%20stroke-width='4.5'/%3e%3ccircle%20cx='16'%20cy='16'%20r='7'%20fill='%23fff2a8'%20stroke='%2317140f'%20stroke-width='2.2'/%3e%3ccircle%20cx='16'%20cy='16'%20r='3'%20fill='%23f8f3e7'%20stroke='%2317140f'%20stroke-width='1.5'/%3e%3ccircle%20cx='16'%20cy='16'%20r='.8'%20fill='%2317140f'/%3e%3c/g%3e%3c/svg%3e")}.map-cursor[data-cursor-mode=pan]{background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%3e%3cg%20fill='none'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='m16%203-3%204M16%203l3%204M29%2016l-4-3M29%2016l-4%203M16%2029l-3-4M16%2029l3-4M3%2016l4-3M3%2016l4%203'%20stroke='%23f8f3e7'%20stroke-width='5'/%3e%3cpath%20d='m16%203-3%204M16%203l3%204M29%2016l-4-3M29%2016l-4%203M16%2029l-3-4M16%2029l3-4M3%2016l4-3M3%2016l4%203'%20stroke='%2317140f'%20stroke-width='2.2'/%3e%3ccircle%20cx='16'%20cy='16'%20r='7.2'%20fill='%23718f43'%20stroke='%23f8f3e7'%20stroke-width='4.5'/%3e%3ccircle%20cx='16'%20cy='16'%20r='7.2'%20fill='%23718f43'%20stroke='%2317140f'%20stroke-width='2.3'/%3e%3cpath%20d='M12.5%2016h7M16%2012.5v7'%20stroke='%23f8f3e7'%20stroke-width='1.7'/%3e%3c/g%3e%3c/svg%3e")}.map-cursor[data-cursor-mode=pan-active]{background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%3e%3cg%20fill='none'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='m16%205-2.5%203M16%205l2.5%203M27%2016l-3-2.5M27%2016l-3%202.5M16%2027l-2.5-3M16%2027l2.5-3M5%2016l3-2.5M5%2016l3%202.5'%20stroke='%23f8f3e7'%20stroke-width='5'/%3e%3cpath%20d='m16%205-2.5%203M16%205l2.5%203M27%2016l-3-2.5M27%2016l-3%202.5M16%2027l-2.5-3M16%2027l2.5-3M5%2016l3-2.5M5%2016l3%202.5'%20stroke='%2317140f'%20stroke-width='2.3'/%3e%3ccircle%20cx='16'%20cy='16'%20r='8'%20fill='%2349652d'%20stroke='%23f8f3e7'%20stroke-width='4.5'/%3e%3ccircle%20cx='16'%20cy='16'%20r='8'%20fill='%2349652d'%20stroke='%2317140f'%20stroke-width='2.4'/%3e%3cpath%20d='M12%2016h8M16%2012v8'%20stroke='%23f8f3e7'%20stroke-width='2'/%3e%3c/g%3e%3c/svg%3e")}.map-cursor[data-cursor-mode$=-active]{--map-cursor-scale: .9}.view-dock{position:absolute;inset-block-start:var(--space-xs);inset-inline-end:var(--space-xs);z-index:4;display:grid;width:min(15rem,calc(100% - 1rem));margin:0;padding:var(--space-2xs);gap:var(--space-2xs);border:var(--rule-strong) solid var(--color-ink);border-radius:var(--radius-xs);background-color:color-mix(in srgb,var(--color-paper) 94%,transparent);color:var(--color-ink)}.view-dock:disabled{opacity:var(--opacity-disabled)}.view-dock-slider{display:grid;grid-template-columns:2.65rem minmax(4.5rem,1fr) 2.7rem;align-items:center;gap:var(--space-2xs);min-width:0;font-size:var(--text-xs);font-weight:800;line-height:var(--leading-ui);text-transform:uppercase}.view-dock-slider input{width:100%;min-width:0;margin:0;accent-color:var(--color-accent)}.view-dock-slider output{color:var(--color-muted);font-variant-numeric:tabular-nums;text-align:end}.view-dock-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2xs)}.view-dock-actions button{min-height:1.8rem;padding:var(--space-3xs) var(--space-2xs);border:var(--rule-thin) solid var(--color-ink);border-radius:var(--radius-xs);background-color:var(--color-paper-2);color:var(--color-ink);font-size:var(--text-xs);font-weight:800;cursor:pointer}.view-dock small{overflow:hidden;color:var(--color-muted);font-size:.66rem;line-height:1.2;text-align:center;text-overflow:ellipsis;white-space:nowrap}.view-chip{display:inline-flex;align-items:center;min-height:var(--control-height);max-width:min(100%,28rem);padding:var(--space-xs) var(--space-sm);overflow:hidden;border:var(--rule-strong) solid var(--color-ink);border-radius:var(--radius-xs);background-color:var(--color-paper);color:var(--color-ink);font-size:var(--text-sm);font-weight:600;line-height:var(--leading-ui);text-overflow:ellipsis;white-space:nowrap;pointer-events:auto}.status-rail{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2xs) var(--space-sm);min-width:0;min-height:var(--control-height);padding:var(--space-xs) var(--space-sm);border-block-start:var(--rule-thin) solid var(--color-ink);background-color:var(--color-paper);color:var(--color-ink);font-size:var(--text-sm);font-variant-numeric:tabular-nums;line-height:var(--leading-ui)}.pointer-readout{margin-inline-start:auto;white-space:nowrap}.status-rail .view-chip{min-height:auto;padding:var(--space-2xs) var(--space-xs);font-size:var(--text-xs);pointer-events:none}.canvas-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:var(--space-md);background-color:var(--color-grass-pale);color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-md);font-weight:800;text-align:center}.status-rail>*{min-width:0}.status-rail>span:first-child:after{content:"·";margin-inline-start:var(--space-sm);color:var(--color-muted)}.inspector-empty{display:grid;align-content:center;justify-items:start;gap:var(--space-xs);min-height:10rem;padding:var(--space-lg) var(--space-sm);color:var(--color-muted)}.inspector-empty>*{max-width:var(--copy-measure);margin:0}.selection-summary{display:grid;gap:var(--space-2xs);padding:var(--space-sm);border-block-end:var(--rule-strong) solid var(--color-ink);background-color:var(--color-sand);color:var(--color-ink)}.selection-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-xs);padding:var(--space-sm);border:var(--rule-strong) solid var(--color-ink);background-color:var(--color-paper);color:var(--color-ink)}.selection-heading p,.selection-heading h3{margin:0}.selection-heading p{color:var(--color-muted);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-kicker);line-height:var(--leading-ui);text-transform:uppercase}.selection-heading>span{max-width:42%;overflow:hidden;color:var(--color-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.selection-summary>*{margin:0}.selection-summary :is(h2,h3){min-width:0;overflow-wrap:anywhere;font-family:var(--font-display);font-style:normal;font-weight:800;letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}.resize-hint{padding:var(--space-xs) var(--space-sm) 0;color:var(--color-muted);font-size:var(--text-xs);font-weight:650;line-height:var(--leading-body)}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm) var(--space-xs);padding:var(--space-sm)}.label-editor{display:grid;gap:var(--space-xs);padding:var(--space-sm);border-block:var(--rule-thin) solid var(--color-rule);background-color:var(--color-paper-2)}.road-style-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xs);padding:var(--space-sm);border-block:var(--rule-thin) solid var(--color-rule);background-color:var(--color-paper-2)}.road-style-editor .field{grid-column:auto}.road-reverse-button{grid-column:1 / -1;width:100%;min-height:2.25rem}.field{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-2xs);min-width:0}.field-control{position:relative;display:block;min-width:0}.field--wide,.field:has(textarea),.field:has(select){grid-column:1 / -1}.field-label{color:var(--color-ink-2);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-label);line-height:var(--leading-ui);text-transform:uppercase}.field-input{width:100%;min-width:0;min-height:var(--control-height);padding:var(--space-xs) var(--space-xl) var(--space-xs) var(--space-sm);border:var(--rule-thin) solid var(--color-ink);border-radius:var(--radius-xs);outline:var(--focus-width) solid var(--color-transparent);outline-offset:var(--focus-offset);background-color:var(--color-paper);color:var(--color-ink);line-height:var(--leading-ui);transition:background-color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out)}textarea.field-input{min-height:var(--space-3xl);resize:vertical}select.field-input{padding-inline-end:var(--space-lg)}.field-input:focus-visible{border-color:var(--color-ink);outline-color:var(--color-focus)}.field-input:disabled,.field-input[aria-disabled=true]{background-color:var(--color-disabled);color:var(--color-muted);cursor:not-allowed;opacity:var(--opacity-disabled)}.field-input[aria-invalid=true],.field-input[data-state=error],.field-input.is-error{border-color:var(--color-danger);background-color:var(--color-danger-pale);color:var(--color-danger)}.field:has(.field-input[aria-invalid=true]) .field-label,.field:has(.field-input[data-state=error]) .field-label,.field:has(.field-input.is-error) .field-label{color:var(--color-danger)}.field:has(.field-input[aria-invalid=true]) .field-label:after,.field:has(.field-input[data-state=error]) .field-label:after,.field:has(.field-input.is-error) .field-label:after{content:" · check"}.field-input[data-state=success],.field-input.is-success{border-color:var(--color-success);background-color:var(--color-success-pale);color:var(--color-ink)}.field:has(.field-input[data-state=success]) .field-label:after,.field:has(.field-input.is-success) .field-label:after{content:" · saved";color:var(--color-success)}.field-input[data-state=loading],.field-input.is-loading{border-color:var(--color-warning);background-color:var(--color-warning-pale);color:var(--color-ink)}.field:has(.field-input[data-state=loading]) .field-label:after,.field:has(.field-input.is-loading) .field-label:after{content:" · checking";color:var(--color-warning)}.field-unit{position:absolute;inset-inline-end:var(--space-sm);inset-block-start:50%;transform:translateY(-50%);color:var(--color-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;font-weight:600;line-height:1;pointer-events:none}.field-helper,.field>[role=status],.field>[role=alert]{min-height:1lh;color:var(--color-muted);font-size:var(--text-xs);line-height:var(--leading-body)}.field>[role=alert]{color:var(--color-danger)}.vertex-list{display:grid;gap:0;margin:0;padding:0;border-block-start:var(--rule-strong) solid var(--color-ink);list-style:none}.vertex-list-heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-block-end:var(--rule-thin) solid var(--color-rule);background-color:var(--color-paper-2);color:var(--color-ink)}.vertex-list-heading h4,.vertex-list-heading span{margin:0}.vertex-list-heading h4{font-family:var(--font-display);font-size:var(--text-sm);font-style:normal;font-weight:800}.vertex-list-heading span{color:var(--color-muted);font-size:var(--text-xs)}.vertex-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-xs);min-width:0;min-height:var(--control-height);padding:var(--space-xs) var(--space-sm);border-block-end:var(--rule-thin) solid var(--color-rule);border-inline:0;border-block-start:0;background-color:var(--color-paper);color:var(--color-ink);font-size:var(--text-sm);font-variant-numeric:tabular-nums;cursor:pointer}.vertex-row[data-selected=true]{background-color:var(--color-ink);color:var(--color-paper)}.vertex-row:last-child{border-block-end:0}.vertex-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xs);padding:var(--space-sm);border-block-start:var(--rule-strong) solid var(--color-ink);background-color:var(--color-paper);color:var(--color-ink)}.inspector-delete{width:100%;margin-block-start:var(--space-xs)}.print-dialog{width:min(calc(100vw - (2 * var(--space-lg))),66rem);max-width:none;max-height:min(92dvh,54rem);margin:auto;padding:0;overflow:visible;border:0;background:transparent;color:var(--color-ink)}.print-dialog::backdrop{background-color:#1c1106b8}.print-dialog-card{display:grid;max-height:min(92dvh,54rem);overflow:hidden auto;border:var(--rule-heavy) solid var(--color-ink);border-radius:var(--radius-md);background-color:var(--color-paper);box-shadow:.75rem .75rem 0 var(--color-ink)}.print-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);padding:var(--space-lg);border-block-end:var(--rule-heavy) solid var(--color-ink);background-color:var(--color-grass-pale)}.print-dialog-header>div{display:grid;gap:var(--space-2xs);min-width:0}.print-dialog-header p,.print-dialog-header h2,.print-dialog-header span,.print-preview p,.print-dialog-meta p,.print-dialog-footer span{margin:0}.print-dialog-header p{color:var(--color-grass-dark);font-size:var(--text-xs);font-weight:800;letter-spacing:var(--tracking-kicker);line-height:var(--leading-ui);text-transform:uppercase}.print-dialog-header h2{font-family:var(--font-display);font-size:var(--text-2xl);font-stretch:84%;font-weight:800;letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}.print-dialog-header span{max-width:var(--copy-measure);color:var(--color-ink-2);font-size:var(--text-sm)}.print-dialog-close{display:grid;flex:0 0 auto;place-items:center;width:var(--control-height);height:var(--control-height);padding:0;border:var(--rule-strong) solid var(--color-ink);border-radius:50%;background-color:var(--color-paper);font-family:var(--font-display);font-size:var(--text-lg);font-weight:800;line-height:1;cursor:pointer}.print-dialog-close:disabled{cursor:not-allowed;opacity:var(--opacity-disabled)}.print-dialog-body{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(17rem,.8fr);gap:var(--space-lg);padding:var(--space-lg)}.print-options{display:grid;gap:var(--space-md);min-width:0}.print-fieldset{min-width:0;margin:0;padding:0;border:0}.print-fieldset legend{float:inline-start;margin:0 0 var(--space-xs);font-family:var(--font-display);font-size:var(--text-md);font-stretch:86%;font-weight:800;line-height:var(--leading-tight)}.print-fieldset-note{float:inline-end;margin-block-start:.2rem;color:var(--color-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.print-fieldset>div{clear:both}.print-choice-stack{display:grid;gap:var(--space-xs)}.print-paper-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-xs)}.print-format-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xs)}.print-choice,.print-underlay-choice{position:relative;display:flex;align-items:flex-start;gap:var(--space-xs);min-width:0;min-height:var(--control-height);padding:var(--space-sm);border:var(--rule-strong) solid var(--color-rule);border-radius:var(--radius-sm);background-color:var(--color-paper-2);cursor:pointer}.print-choice:has(input:checked),.print-underlay-choice:has(input:checked){border-color:var(--color-ink);background-color:var(--color-sand);box-shadow:inset 0 0 0 var(--rule-thin) var(--color-ink)}.print-choice input,.print-underlay-choice input{flex:0 0 auto;inline-size:1rem;block-size:1rem;margin:.12rem 0 0;accent-color:var(--color-grass-dark)}.print-choice>span,.print-underlay-choice>span{display:grid;gap:var(--space-3xs);min-width:0}.print-choice strong,.print-underlay-choice strong{font-size:var(--text-sm);line-height:var(--leading-ui)}.print-choice small,.print-underlay-choice small{color:var(--color-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;line-height:var(--leading-ui);white-space:normal}.print-choice--paper{min-height:4.5rem}.print-underlay-choice{background-color:var(--color-paper)}.print-preview{align-self:stretch;display:grid;align-content:start;gap:var(--space-sm);min-width:0;padding:var(--space-md);border:var(--rule-strong) solid var(--color-ink);border-radius:var(--radius-sm);background-color:var(--color-paper-3)}.print-preview-label{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm)}.print-preview-label strong{font-family:var(--font-display);font-size:var(--text-md);font-stretch:86%;font-weight:800}.print-preview-label span,.print-preview p{color:var(--color-muted);font-size:var(--text-xs);line-height:var(--leading-ui)}.print-preview-paper{display:grid;width:100%;place-items:center;padding:4.545%;border:var(--rule-strong) solid var(--color-ink);background-color:#f8f3e7;box-shadow:.35rem .35rem 0 var(--color-ink)}.print-preview-safe{display:grid;width:100%;height:100%;overflow:hidden;place-items:center;border:var(--rule-strong) solid var(--color-ink);background-color:#a6bd6e}.print-preview-map{position:relative;width:82%;height:68%;border:var(--rule-strong) solid var(--color-ink);border-radius:48% 40% 44% 38%;background-color:#dbc18b}.print-preview-map:before,.print-preview-map:after{content:"";position:absolute;z-index:2;border:var(--rule-strong) solid var(--color-ink)}.print-preview-map:before{top:12%;right:34%;bottom:18%;left:8%;border-radius:45%;background-color:#755439}.print-preview-map:after{top:20%;right:8%;bottom:12%;left:68%;border-radius:42% 48% 38% 44%;background-color:#b17b38}.print-preview-map i{position:absolute;z-index:3;width:10%;aspect-ratio:1;border:var(--rule-strong) solid var(--color-ink);border-radius:50%;background-color:#4c7f35}.print-preview-map i:nth-child(1){inset:-8% auto auto 10%}.print-preview-map i:nth-child(2){inset:-7% 24% auto auto}.print-preview-map i:nth-child(3){inset:auto auto -7% 50%}.print-preview-map b{position:absolute;z-index:4;inset:auto 36% -10% auto;width:14%;height:20%;border:var(--rule-strong) solid var(--color-ink);background-color:#f1cd45}.print-dialog-meta{display:grid;gap:var(--space-xs);padding:0 var(--space-lg) var(--space-md);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.print-warning,.print-error{padding:var(--space-xs) var(--space-sm);border-inline-start:.35rem solid var(--color-warning);background-color:var(--color-warning-pale)}.print-error{border-color:var(--color-danger);background-color:var(--color-danger-pale);color:var(--color-danger)}.print-dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-block-start:var(--rule-heavy) solid var(--color-ink);background-color:var(--color-paper-2)}.print-dialog-footer>span{color:var(--color-muted);font-size:var(--text-xs)}.print-dialog-footer>div{display:flex;gap:var(--space-xs)}.toast-stack{position:fixed;inset-block-start:var(--space-md);inset-inline-end:max(var(--space-md),env(safe-area-inset-right));z-index:var(--z-toast);display:grid;gap:var(--space-xs);width:min(calc(100% - (2 * var(--space-md))),24rem);pointer-events:none}.toast{display:grid;grid-template-columns:var(--control-height) minmax(0,1fr) auto;align-items:center;min-width:0;min-height:var(--control-height);overflow-wrap:anywhere;border:var(--rule-strong) solid var(--color-ink);border-radius:var(--radius-xs);background-color:var(--color-paper);color:var(--color-ink);pointer-events:auto;animation:toast-enter var(--dur-long) var(--ease-out) both}.toast:before{content:"·";display:grid;align-self:stretch;place-items:center;border-inline-end:var(--rule-strong) solid var(--color-ink);background-color:var(--color-sand);color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-md);font-weight:800}.toast>*{min-width:0;margin:0;padding:var(--space-xs) var(--space-sm)}.toast button{align-self:stretch;border:0;border-inline-start:var(--rule-strong) solid var(--color-ink);background-color:var(--color-paper);color:var(--color-ink);font-size:var(--text-sm);font-weight:600;cursor:pointer}.toast[data-state=error],.toast[data-tone=error],.toast.is-error{border-color:var(--color-danger);background-color:var(--color-danger-pale);color:var(--color-danger)}.toast[data-state=error]:before,.toast[data-tone=error]:before,.toast.is-error:before{content:"!";border-color:var(--color-danger);background-color:var(--color-danger);color:var(--color-danger-ink)}.toast[data-state=success],.toast[data-tone=success],.toast.is-success{border-color:var(--color-success);background-color:var(--color-success-pale);color:var(--color-ink)}.toast[data-state=success]:before,.toast[data-tone=success]:before,.toast.is-success:before{content:"✓";border-color:var(--color-success);background-color:var(--color-success);color:var(--color-accent-ink)}.app-footline{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-2xs) var(--space-sm);padding:var(--space-xs) var(--space-md);border-block-start:var(--rule-strong) solid var(--color-ink);background-color:var(--color-paper);color:var(--color-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;line-height:var(--leading-ui)}@keyframes loading-pulse{50%{opacity:var(--opacity-loading)}}@keyframes toast-enter{0%{opacity:0;transform:translateY(calc(-1 * var(--space-xs)))}to{opacity:1;transform:translateY(0)}}@media(hover:hover)and (pointer:fine){.map-cursor{display:block}.map-canvas[data-cursor-visible=true]{cursor:none}.tool-button:hover:not(:disabled,[aria-disabled=true],.is-disabled),.palette-button:hover:not(:disabled,[aria-disabled=true],.is-disabled),.mobile-tab:hover:not(:disabled,[aria-disabled=true],.is-disabled){background-color:var(--color-paper-pressed);color:var(--color-ink);transform:translateY(calc(-1 * var(--rule-thin)))}.button--primary:hover:not(:disabled,[aria-disabled=true],.is-disabled){background-color:var(--color-accent-hover);color:var(--color-accent-ink);transform:translateY(calc(-1 * var(--rule-thin)))}.button--danger:hover:not(:disabled,[aria-disabled=true],.is-disabled){background-color:var(--color-danger-hover);color:var(--color-danger-ink);transform:translateY(calc(-1 * var(--rule-thin)))}.underlay-button:hover:not(:disabled),.underlay-mode-button:hover:not(:disabled){background-color:var(--color-paper-pressed);color:var(--color-ink)}.underlay-locate:hover:not(:disabled){background-color:var(--color-accent-hover);color:var(--color-accent-ink)}.underlay-mode-button[aria-pressed=true]:hover:not(:disabled),.underlay-action[aria-pressed=true]:hover:not(:disabled){background-color:var(--color-ink-2);color:var(--color-paper)}.field-input:hover:not(:disabled,[aria-disabled=true]){background-color:var(--color-paper-2)}.tool-button[aria-pressed=true]:hover:not(:disabled,[aria-disabled=true],.is-disabled),.tool-button.is-active:hover:not(:disabled,[aria-disabled=true],.is-disabled),.palette-button[aria-pressed=true]:hover:not(:disabled,[aria-disabled=true],.is-disabled),.palette-button[aria-selected=true]:hover:not(:disabled,[aria-disabled=true],.is-disabled),.palette-button.is-active:hover:not(:disabled,[aria-disabled=true],.is-disabled),.mobile-tab[aria-selected=true]:hover:not(:disabled,[aria-disabled=true],.is-disabled),.mobile-tab.is-active:hover:not(:disabled,[aria-disabled=true],.is-disabled){background-color:var(--color-ink-2);color:var(--color-paper)}}@media(pointer:coarse){.map-canvas[data-cursor-visible]{cursor:auto}.tool-button,.button--primary,.button--danger,.palette-button,.mobile-tab,.field-input{min-height:var(--control-height-coarse)}}@media(forced-colors:active){.map-cursor{display:none!important}.map-canvas[data-cursor-visible]{cursor:auto!important}}@media(min-width:40rem){.command-bar,.nav-slab{flex-wrap:nowrap;padding-inline:var(--space-md)}.brand-lockup{flex:0 0 auto}.mobile-tabs{display:none}.toolbar{flex:1 1 auto;justify-content:flex-start}.palette-list{grid-template-columns:repeat(3,minmax(0,1fr))}.workspace{grid-template-areas:"canvas canvas" "palette inspector";grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-sm);padding:var(--space-sm)}}@media(min-width:72rem){.app-shell{height:100dvh;overflow:clip}.mobile-tabs{display:none}.workspace{grid-template-areas:"palette canvas inspector";grid-template-columns:minmax(var(--panel-min),var(--panel-max)) minmax(0,1fr) minmax(var(--inspector-min),var(--inspector-max));align-items:stretch;min-height:0;overflow:clip}.palette-panel,.inspector-panel{min-height:0;overflow-y:auto;scrollbar-color:var(--color-ink) var(--color-paper-2);scrollbar-width:thin}.palette-list{grid-template-columns:minmax(0,1fr)}.canvas-column{container-type:size;min-height:0;justify-content:flex-start}.board-frame,.status-rail{width:100%;margin-inline:auto}}@media(min-width:90rem){.workspace{gap:var(--space-md);padding:var(--space-md)}.command-bar,.nav-slab{padding-inline:var(--space-lg)}}@media(max-width:39.999rem){.workspace[data-mobile-active=palette] .canvas-column,.workspace[data-mobile-active=palette] .inspector-panel,.workspace[data-mobile-active=inspector] .canvas-column,.workspace[data-mobile-active=inspector] .palette-panel,.workspace[data-mobile-active=map] .palette-panel,.workspace[data-mobile-active=map] .inspector-panel,.palette-panel.is-mobile-hidden,.inspector-panel.is-mobile-hidden,.canvas-column.is-mobile-hidden{display:none}.status-rail{align-items:flex-start}.status-rail>*{flex-basis:100%}.status-rail>:not(:last-child):after{content:none}.field-grid{grid-template-columns:minmax(0,1fr)}.field,.field--wide,.field:has(textarea),.field:has(select){grid-column:1}.view-chip{min-height:auto;padding:var(--space-2xs) var(--space-xs);font-size:var(--text-xs)}.vertex-editor{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:var(--dur-micro)!important;animation-iteration-count:1!important;transition-duration:var(--dur-micro)!important}.tool-button,.button--primary,.button--danger,.palette-button,.mobile-tab,.toast{transform:none!important}}
