@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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 Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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 Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-500-normal.Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-500-normal.C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-500-normal.CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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 Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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 Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-cyrillic-ext-600-normal.V-xxqcpd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-600-normal.9HEixskS.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-cyrillic-600-normal.CTOM6hUh.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-600-normal.fLZuRloM.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-vietnamese-600-normal.D2EvbN8M.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-600-normal.iLQfcSjf.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-latin-ext-600-normal.D38SheWl.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-600-normal.DmB0ttJJ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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 Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-latin-600-normal.BgSNZQsw.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-600-normal.DWFSQ4vo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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 Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-cyrillic-ext-wght-normal.d45eAU9y.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-cyrillic-wght-normal.BAAhND-U.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-greek-wght-normal.CmyJS8uq.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-vietnamese-wght-normal.Dg1JeJN0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-latin-ext-wght-normal.CIII54If.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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 Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-latin-wght-normal.IvpUvPa2.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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 Variable;font-style:italic;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-cyrillic-ext-wght-italic.O9KpBTMP.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Variable;font-style:italic;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-cyrillic-wght-italic.BC1D_hcE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:italic;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-greek-wght-italic.BOZ1G-_q.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans Variable;font-style:italic;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-vietnamese-wght-italic.CKSJVnJa.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans Variable;font-style:italic;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-latin-ext-wght-italic.QwKXLQRc.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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 Variable;font-style:italic;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-latin-wght-italic.DKUSOBgV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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-display:swap;font-weight:100 900;src:url(/_astro/fraunces-vietnamese-opsz-normal.Czevyj-6.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-ext-opsz-normal.CJcjJNj7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Fraunces;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-opsz-normal.DihXLNYH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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:italic;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-vietnamese-opsz-italic.DxWqP7Ku.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-ext-opsz-italic.CGbN9UgK.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Fraunces;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-opsz-italic.lSdLDfvT.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper:#f2eee6;--surface:#faf8f3;--stage:#e4dfd4;--ink:#1b1a17;--muted:#5c5850;--hairline:#d9d3c5;--line-strong:#7f796d;--focus:#1f5bd1;--accent:#b5452f;--error:#a8332a;--on-ink:var(--paper);--hover:#ece8de;--selected:#e6e1d6;--scrim:#1b1a1766;--drop-wash:#f2eee6eb;--shadow-raised:0 1px 2px #1b1a1714, 0 8px 24px #1b1a171a;--shadow-poster:0 2px 6px #1b1a171a, 0 16px 40px #1b1a1724;--font-display:"Fraunces", ui-serif, Georgia, serif;--font-text:"IBM Plex Sans Variable", ui-sans-serif, system-ui, sans-serif;--font-data:"IBM Plex Mono", ui-monospace, monospace;--text-caption:12px;--leading-caption:16px;--text-body:14px;--leading-body:20px;--text-heading:16px;--leading-heading:24px;--text-title:20px;--leading-title:28px;--text-display-sm:24px;--leading-display-sm:32px;--text-display:32px;--leading-display:40px;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-control:4px;--radius-card:8px;--radius-dialog:12px;--radius-full:999px;--motion-fast:.12s;--motion-base:.16s;--motion-slow:.2s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--header-height:56px;--panel-width:344px;--control-height:32px;--target-min:24px;--sheet-max-height:60dvh}@media (pointer:coarse){:root{--control-height:44px;--target-min:44px}}@media (prefers-reduced-motion:reduce){:root{--motion-fast:0s;--motion-base:0s;--motion-slow:0s}}*{box-sizing:border-box}html,body{background:var(--paper);height:100%;color:var(--ink);font-family:var(--font-text);font-size:var(--text-body);line-height:var(--leading-body);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;margin:0}#app{flex-direction:column;height:100dvh;display:flex}[hidden]{display:none!important}button,input,select{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,p{margin:0}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}:focus:not(:focus-visible){outline:none}.data{font-family:var(--font-data)}.topbar{flex:0 0 var(--header-height);justify-content:space-between;align-items:center;gap:var(--space-3);padding:0 var(--space-4);background:var(--paper);border-bottom:1px solid var(--hairline);display:flex}.topbar-left,.topbar-actions{align-items:center;gap:var(--space-1);display:flex}.topbar-left{gap:var(--space-4);min-width:0}.wordmark{font-family:var(--font-display);font-style:italic;font-size:var(--text-title);font-weight:var(--weight-semibold);line-height:var(--leading-title)}.controls-button{padding:0 var(--space-3) 0 var(--space-2)}.privacy-note{align-items:center;gap:var(--space-1);min-width:0;color:var(--muted);font-size:var(--text-caption);line-height:var(--leading-caption);display:flex}.topbar-actions .btn-primary{margin-left:var(--space-2)}.topbar-actions .more-button{display:none}.topbar-actions .icon-button:after{left:auto;right:0;transform:none}#app[data-state=start] [data-studio-only]{display:none}#app[data-state=start] .viewport{background:var(--paper)}.menu{inset:auto;top:calc(var(--header-height) + var(--space-1));right:var(--space-2);min-width:200px;padding:var(--space-1);border-radius:var(--radius-card);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-raised);border:0;margin:0}.menu:popover-open{flex-direction:column;display:flex}.menu-item{min-height:var(--control-height);padding:0 var(--space-3);border-radius:var(--radius-control);text-align:left;font-weight:var(--weight-medium);transition:background-color var(--motion-fast) var(--ease-standard);background:0 0;border:0;align-items:center;display:flex}.menu-item:hover:not(:disabled){background:var(--hover)}.menu-item:disabled{color:var(--muted);cursor:default}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-height);min-width:var(--target-min);padding:0 var(--space-3);border-radius:var(--radius-control);color:var(--ink);font-weight:var(--weight-medium);transition:background-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard);background:0 0;border:0;display:inline-flex}.btn:hover:not(:disabled){background:var(--hover)}.btn:active:not(:disabled){background:var(--selected)}.btn:disabled{color:var(--muted);cursor:default}.btn-primary{padding:0 var(--space-4);background:var(--ink);color:var(--on-ink)}.btn-primary:hover:not(:disabled){background:color-mix(in srgb, var(--ink) 86%, var(--paper))}.btn-primary:active:not(:disabled){background:var(--ink);transform:translateY(1px)}.btn-primary:disabled{background:var(--ink);color:var(--on-ink);opacity:.4}.layout{flex:1;min-height:0;display:flex}.sidebar{flex:0 0 var(--panel-width);width:var(--panel-width);padding:var(--space-4);background:var(--surface);border-right:1px solid var(--hairline);scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;overflow:hidden auto}.sheet-header{display:none}.sheet-title{font-size:var(--text-heading);line-height:var(--leading-heading);font-weight:var(--weight-semibold)}.sidebar.collapsed{border-right:0;flex:0 0 0;width:0;padding:0;overflow:hidden}.viewport{background:var(--stage);min-width:0;padding:var(--space-4) var(--space-4) calc(var(--space-7) + var(--space-4));flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.viewport-preview-frame{box-shadow:var(--shadow-poster);border-radius:var(--radius-control);background:var(--paper);flex:0 auto;justify-content:center;align-items:center;width:100%;max-width:100%;height:auto;max-height:100%;display:flex;position:relative;overflow:hidden;container:preview/size}.viewport-preview-frame.ratio-square{aspect-ratio:1}.viewport-preview-frame.ratio-portrait{aspect-ratio:4/5}.viewport-preview-frame.ratio-story{aspect-ratio:9/16}.viewport-preview-frame.ratio-landscape{aspect-ratio:16/9}.viewport canvas{opacity:0;transition:opacity var(--motion-slow) var(--ease-standard);display:block;width:100%!important;height:100%!important}.viewport canvas.visible{opacity:1}.viewport-overlay-layer{pointer-events:none;z-index:10;padding:0;position:absolute;inset:0}.overlay-hover{fill:none;stroke:none;stroke-width:2px;vector-effect:non-scaling-stroke}.is-hover>.overlay-hover{stroke:var(--focus)}.viewport-preview-frame.is-clickable{cursor:pointer}.segmented-toggle{border:1px solid var(--line-strong);border-radius:var(--radius-control);grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.segmented-toggle button{min-height:var(--control-height);padding:0 var(--space-2);border:0;border-left:1px solid var(--hairline);color:var(--ink);font-weight:var(--weight-medium);transition:background-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard);background:0 0}.segmented-toggle button:first-child{border-radius:var(--radius-control) 0 0 var(--radius-control);border-left:0}.segmented-toggle button:last-child{border-radius:0 var(--radius-control) var(--radius-control) 0}.segmented-toggle button:hover{background:var(--hover)}.segmented-toggle button.active{background:var(--selected);box-shadow:inset 0 0 0 1px var(--ink)}.control-panel{gap:var(--space-5);flex-direction:column;display:flex}.panel-section{padding-top:var(--space-5);border-top:1px solid var(--hairline)}.control-panel>.panel-section:first-child{border-top:0;padding-top:0}.panel-section h2,.advanced-panel summary h2{margin-bottom:var(--space-3);font-size:var(--text-heading);font-weight:var(--weight-semibold);line-height:var(--leading-heading)}.panel-section h3{margin-bottom:var(--space-2);font-size:var(--text-body);font-weight:var(--weight-medium)}.field{gap:var(--space-1);margin:0 0 var(--space-3);border:0;flex-direction:column;min-width:0;padding:0;display:flex}.field-label,.field legend{justify-content:space-between;align-items:baseline;gap:var(--space-2);font-weight:var(--weight-medium);margin:0;padding:0;display:flex}.field-range output{font-size:var(--text-caption);font-weight:var(--weight-regular);color:var(--muted)}.field-range output .data{color:var(--ink)}.field-text input,.field-select select,.look-save-row input{width:100%;min-height:var(--control-height);padding:0 var(--space-2);border:1px solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);transition:border-color var(--motion-fast) var(--ease-standard)}.field-text input:hover,.field-select select:hover,.look-save-row input:hover{border-color:var(--ink)}input::placeholder{color:var(--muted);opacity:1}.color-field input[type=color]{width:100%;min-height:var(--control-height);padding:var(--space-1);border:1px solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface);cursor:pointer}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:var(--target-min);cursor:pointer;background:0 0;margin:0}input[type=range]::-webkit-slider-runnable-track{height:var(--space-4);background:linear-gradient(var(--line-strong), var(--line-strong)) center / 100% 4px no-repeat}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:var(--space-4);height:var(--space-4);border-radius:var(--radius-full);background:var(--ink);transition:transform var(--motion-fast) var(--ease-standard);border:0}input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.1)}input[type=range]::-moz-range-track{background:var(--line-strong);height:4px}input[type=range]::-moz-range-thumb{width:var(--space-4);height:var(--space-4);border-radius:var(--radius-full);background:var(--ink);border:0}.palette-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.palette-swatch{min-width:var(--target-min);min-height:var(--target-min);width:var(--space-6);height:var(--space-5);border:1px solid var(--line-strong);border-radius:var(--radius-control);background:0 0;padding:0;position:relative}.palette-swatch svg{border-radius:var(--radius-control);width:100%;height:100%;display:block}.palette-swatch:after{display:none}.palette-caption{margin-top:var(--space-2);color:var(--muted);font-size:var(--text-caption);line-height:var(--leading-caption)}.palette-swatch.selected{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.field-switch{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--target-min);margin:0 0 var(--space-3);font-weight:var(--weight-medium);cursor:pointer;display:flex}.switch{width:44px;min-height:var(--target-min);background:0 0;border:0;flex:none;place-items:center;padding:0;display:inline-grid}.switch:focus-visible{outline:none}.switch-track{border:1px solid var(--line-strong);border-radius:var(--radius-full);width:36px;height:20px;transition:background-color var(--motion-base) var(--ease-standard), border-color var(--motion-base) var(--ease-standard);background:0 0;position:relative}.switch-thumb{border-radius:var(--radius-full);background:var(--muted);width:12px;height:12px;transition:transform var(--motion-base) var(--ease-standard), background-color var(--motion-base) var(--ease-standard);position:absolute;top:3px;left:3px}.switch:hover .switch-track{border-color:var(--ink)}.switch:focus-visible .switch-track{outline:2px solid var(--focus);outline-offset:2px}.switch[aria-checked=true] .switch-track{background:var(--ink);border-color:var(--ink)}.switch[aria-checked=true] .switch-thumb{background:var(--surface);transform:translate(16px)}.switch:disabled{opacity:.4;cursor:default}input[type=checkbox]{-webkit-appearance:none;appearance:none;width:var(--target-min);height:var(--target-min);cursor:pointer;background:0 0;flex:none;place-content:center;margin:0;display:inline-grid}input[type=checkbox]:before,input[type=checkbox]:after{content:"";grid-area:1/1}input[type=checkbox]:before{width:var(--space-4);height:var(--space-4);border:1px solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface);transition:background-color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard)}input[type=checkbox]:after{border:solid var(--surface);opacity:0;border-width:0 2px 2px 0;width:5px;height:9px;transform:translateY(-1px)rotate(45deg)}input[type=checkbox]:hover:before{border-color:var(--ink)}input[type=checkbox]:checked:before{background:var(--ink);border-color:var(--ink)}input[type=checkbox]:checked:after{opacity:1}input[type=checkbox]:disabled{opacity:.4;cursor:default}.icon{flex:none;display:block}.icon-button{width:var(--control-height);height:var(--control-height);min-width:var(--target-min);border-radius:var(--radius-control);color:var(--ink);transition:background-color var(--motion-fast) var(--ease-standard);background:0 0;border:0;flex:none;place-items:center;padding:0;display:inline-grid;position:relative}.icon-button:hover:not(:disabled){background:var(--hover)}.icon-button:active:not(:disabled),.icon-button[aria-expanded=true]{background:var(--selected)}.icon-button:disabled{opacity:.4;cursor:default}[data-tooltip]:after{content:attr(data-tooltip);top:calc(100% + var(--space-1));z-index:70;padding:var(--space-1) var(--space-2);border-radius:var(--radius-control);background:var(--ink);color:var(--on-ink);font-size:var(--text-caption);line-height:var(--leading-caption);font-weight:var(--weight-regular);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--motion-base) var(--ease-standard);position:absolute;left:50%;transform:translate(-50%)}[data-tooltip]:hover:after{opacity:1;transition-delay:var(--motion-slow)}[data-tooltip]:focus-visible:after{opacity:1}@media (hover:none){[data-tooltip]:after{display:none}}.look-grid{gap:var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}.look-card{gap:var(--space-1);min-width:0;padding:var(--space-1);border:1px solid var(--line-strong);border-radius:var(--radius-card);text-align:left;transition:background-color var(--motion-fast) var(--ease-standard);background:0 0;flex-direction:column;display:flex}.look-card:hover{background:var(--hover)}.look-card[aria-pressed=true]{padding:calc(var(--space-1) - 1px);border-color:var(--ink);border-width:2px}.look-thumb{aspect-ratio:1;border-radius:var(--radius-control);background:var(--stage);display:block;position:relative;overflow:hidden}.look-swatch,.look-thumb img{width:100%;height:100%;display:block;position:absolute;inset:0}.look-check{top:var(--space-1);right:var(--space-1);border-radius:var(--radius-full);background:var(--surface);line-height:0;display:none;position:absolute}.look-card[aria-pressed=true] .look-check{display:block}.look-name{padding:0 var(--space-1) var(--space-1);font-size:var(--text-caption);line-height:var(--leading-caption);font-weight:var(--weight-medium)}.shuffle-button{margin-top:var(--space-3)}.field-stats .segmented-toggle{margin-bottom:var(--space-2)}.field-note{margin-top:var(--space-1);color:var(--muted);font-size:var(--text-caption);line-height:var(--leading-caption)}.map-features-note{margin-bottom:var(--space-3)}.metric-picker{gap:var(--space-1) var(--space-2);grid-template-columns:1fr 1fr;display:grid}.metric-picker[hidden]{display:none}.metric-picker legend{grid-column:1/-1}.metric-option{align-items:center;gap:var(--space-2);display:flex}.advanced-panel{padding-top:var(--space-5);border-top:1px solid var(--hairline)}.advanced-panel summary{min-height:var(--target-min);margin-bottom:var(--space-3);cursor:pointer;justify-content:space-between;align-items:center;list-style:none;display:flex}.advanced-panel summary::-webkit-details-marker{display:none}.advanced-panel summary h2{margin:0}.advanced-panel summary:after{content:"";width:8px;height:8px;margin-right:var(--space-1);border:solid var(--ink);transition:transform var(--motion-base) var(--ease-standard);border-width:0 1.5px 1.5px 0;transform:translateY(-2px)rotate(45deg)}.advanced-panel[open] summary:after{transform:translateY(2px)rotate(-135deg)}.advanced-panel:not([open]) summary{margin-bottom:0}.provider-notice{margin-top:calc(-1 * var(--space-2));color:var(--muted);font-size:var(--text-caption);line-height:var(--leading-caption)}.source-details{margin:var(--space-3) 0 var(--space-4)}.source-details summary{min-height:var(--target-min);cursor:pointer;color:var(--muted);font-size:var(--text-caption);align-items:center;display:flex}.source-details-content{gap:var(--space-3);padding:var(--space-3) 0 var(--space-1);display:grid}.source-entry h3{margin:0 0 var(--space-1);font-size:var(--text-caption);font-weight:var(--weight-semibold)}.source-entry p{margin:var(--space-1) 0;color:var(--muted);font-size:var(--text-caption);line-height:var(--leading-caption)}.source-links{margin:var(--space-1) 0 0;padding-left:var(--space-4);font-size:var(--text-caption);line-height:var(--leading-caption);overflow-wrap:anywhere}.source-links a{min-height:var(--target-min);color:var(--ink);align-items:center;display:inline-flex}.panel-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.panel-actions h2{width:100%}.route-list{gap:var(--space-1);margin-bottom:var(--space-2);flex-direction:column;display:flex}.route-row{align-items:center;gap:var(--space-1);border-radius:var(--radius-control);padding:0 var(--space-1);grid-template-columns:auto 1fr auto;display:grid}.route-row.selected{background:var(--selected)}.route-name{min-width:0;min-height:var(--target-min);text-align:left;text-overflow:ellipsis;white-space:nowrap;padding:0 var(--space-1);background:0 0;border:0;overflow:hidden}.route-remove{min-height:var(--target-min);padding:0 var(--space-2);border-radius:var(--radius-control);color:var(--muted);font-size:var(--text-caption);background:0 0;border:0}.route-remove:hover{background:var(--hover);color:var(--ink)}.add-route,.import-look{margin-left:calc(-1 * var(--space-3))}.add-route{margin-bottom:var(--space-3)}.look-link{gap:var(--space-1);display:grid}.looks-section .look-link-button{margin-left:calc(-1 * var(--space-3));justify-self:start}.look-link-status{min-height:var(--leading-caption);color:var(--muted);font-size:var(--text-caption);line-height:var(--leading-caption)}.export-options>.look-link{justify-items:start}.export-options>.look-link .look-link-button{margin-left:calc(-1 * var(--space-3))}.route-edit{margin-top:var(--space-2)}.route-section .field-segmented,.route-section .field-switch{margin-top:var(--space-1)}.look-save-row,.look-row{align-items:center;gap:var(--space-2);display:flex}.look-save-row input{flex:1;min-width:0}.look-list{margin-top:var(--space-2);flex-direction:column;display:flex}.look-row{border-top:1px solid var(--hairline);justify-content:space-between}.footer{margin-top:var(--space-5);padding-top:var(--space-3);border-top:1px solid var(--hairline);color:var(--muted);font-size:var(--text-caption);line-height:var(--leading-caption)}.landing{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-5);text-align:center;flex-direction:column;display:flex;position:absolute;inset:0}.start-mark{margin-bottom:var(--space-3);fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.start-mark-outline{stroke:var(--ink)}.start-mark-contour{stroke:var(--line-strong)}.start-mark-route{stroke:var(--accent);stroke-width:2px}.start-title{max-width:20em;font-family:var(--font-display);font-size:var(--text-display);font-weight:var(--weight-medium);line-height:var(--leading-display);text-wrap:balance}.start-line{text-wrap:balance;max-width:34em;color:var(--muted);font-size:var(--text-heading);line-height:var(--leading-heading)}.start-actions{justify-content:center;gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.start-actions .btn{min-height:44px;padding:0 var(--space-5)}.start-hint{color:var(--muted);font-size:var(--text-caption);line-height:var(--leading-caption);display:none}@media (hover:hover) and (pointer:fine){.start-hint{display:block}}.start-types{margin-top:var(--space-4);color:var(--muted);font-size:var(--text-caption);line-height:var(--leading-caption)}.shared-look{justify-content:center;align-items:center;gap:var(--space-3);max-width:34em;margin-top:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--line-strong);border-radius:var(--radius-card);background:var(--surface);flex-wrap:wrap;display:flex}.shared-look p{text-wrap:balance}.landing-error{max-width:360px;color:var(--error)}.loading-text{color:var(--ink)}.progress-track{background:var(--hairline);width:260px;height:4px}.progress-fill{background:var(--accent);width:0;height:100%}.viewport-messages{z-index:20;top:var(--space-4);left:var(--space-4);right:var(--space-4);align-items:center;gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex;position:absolute}.provider-status,.provider-alert,.link-status{align-items:center;gap:var(--space-3);max-width:100%;padding:var(--space-1) var(--space-1) var(--space-1) var(--space-4);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-raised);color:var(--ink);font-size:var(--text-body);line-height:var(--leading-body);pointer-events:auto;display:flex}.provider-status:has(.message-retry[hidden]),.provider-alert:has(.message-retry[hidden]),.link-status{padding-block:var(--space-2);padding-right:var(--space-4)}.provider-alert{color:var(--error)}.message-retry{color:var(--ink);flex:none}.viewport-toolbar{z-index:20;bottom:var(--space-4);gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-full);background:var(--surface);box-shadow:var(--shadow-raised);display:flex;position:absolute;left:50%;transform:translate(-50%)}.viewport-toolbar .icon-button{border-radius:var(--radius-full)}.viewport-toolbar .icon-button:after{top:auto;bottom:calc(100% + var(--space-2))}.drop-overlay{z-index:100;background:var(--drop-wash);box-shadow:inset 0 0 0 2px var(--accent);pointer-events:none;place-items:center;display:grid;position:fixed;inset:0}.drop-overlay p{font-family:var(--font-display);font-size:var(--text-title);font-weight:var(--weight-semibold);line-height:var(--leading-title)}dialog{width:92vw;max-width:460px;padding:var(--space-5);border-radius:var(--radius-dialog);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-raised);border:0}dialog::backdrop{background:var(--scrim)}.dialog-title{margin-bottom:var(--space-4);font-family:var(--font-display);font-size:var(--text-title);font-weight:var(--weight-semibold);line-height:var(--leading-title)}.dialog-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-5);display:flex}.export-dialog{width:92vw;max-width:880px;max-height:92dvh;padding:0;overflow:hidden}.export-dialog[open]{grid-template-rows:auto minmax(0,1fr) auto;display:grid}.export-title{padding:var(--space-5) var(--space-5) var(--space-3);margin:0}.export-layout{gap:var(--space-5);padding:0 var(--space-5) var(--space-5);grid-template-columns:320px minmax(0,1fr);display:grid;overflow-y:auto}.export-preview{align-self:start;position:sticky;top:0}.export-preview-frame{min-height:280px;padding:var(--space-4);border-radius:var(--radius-card);background:var(--stage);place-items:center;display:grid}.export-preview-image{aspect-ratio:1;object-fit:cover;border-radius:var(--radius-control);width:100%;box-shadow:var(--shadow-poster);transition:opacity var(--motion-base) var(--ease-standard);display:block}.export-preview-image.ratio-portrait{aspect-ratio:4/5;width:auto;height:320px}.export-preview-image.ratio-story{aspect-ratio:9/16;width:auto;height:320px}.export-preview-image.ratio-landscape{aspect-ratio:16/9}.export-preview-image.is-stale{opacity:.55}.export-physical{justify-items:center;gap:var(--space-1);text-align:center;display:grid}.export-footprint{margin-bottom:var(--space-2);fill:var(--surface);stroke:var(--line-strong);stroke-width:1.5px}.export-physical-size{font-size:var(--text-heading);line-height:var(--leading-heading)}.export-physical-bytes{color:var(--muted);font-size:var(--text-caption);line-height:var(--leading-caption)}.export-credit{margin-top:var(--space-3);color:var(--muted);font-size:var(--text-caption);line-height:var(--leading-caption)}.export-group{min-width:0;margin:0 0 var(--space-5);border:0;padding:0}.export-group legend{margin-bottom:var(--space-2);font-weight:var(--weight-semibold);padding:0}.export-paper-summary{margin-top:var(--space-3);color:var(--ink);font-size:var(--text-caption);line-height:var(--leading-caption)}.export-paper-line{display:block}.export-paper-summary .data{white-space:nowrap}.export-options>.field-switch{margin-top:calc(-1 * var(--space-2))}.card-group-compact .card-body{align-items:center;gap:var(--space-3);flex-direction:row}.card-group-compact .shape-swatch{margin:0}.card-section+.card-section{margin-top:var(--space-4)}.card-subhead{margin-bottom:var(--space-2);color:var(--muted);font-size:var(--text-caption);font-weight:var(--weight-medium);line-height:var(--leading-caption);display:block}.card-grid{gap:var(--space-2);grid-template-columns:repeat(2,1fr);display:grid}.card-group[data-columns="3"] .card-grid{grid-template-columns:repeat(3,1fr)}.card-group[data-columns="4"] .card-grid{grid-template-columns:repeat(4,1fr)}.card{min-width:0;padding:var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-card);cursor:pointer;transition:background-color var(--motion-fast) var(--ease-standard);display:flex;position:relative}.card:hover:not(.is-disabled){background:var(--hover)}.card:has(:checked){padding:calc(var(--space-3) - 1px);border-color:var(--ink);border-width:2px}.card:has(:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.card.is-disabled{border-color:var(--hairline);color:var(--muted);cursor:not-allowed}.card-input{opacity:0;width:1px;height:1px;margin:0;position:absolute}.card-body{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.card-name{font-weight:var(--weight-medium)}.card-hint,.card-extra{color:var(--muted);font-size:var(--text-caption);line-height:var(--leading-caption)}.card-hint:empty,.card-extra:empty{display:none}.card-check{top:var(--space-2);right:var(--space-2);display:none;position:absolute}.card:has(:checked) .card-check{display:block}.shape-swatch{margin-bottom:var(--space-1)}.shape-swatch rect{fill:var(--selected);stroke:var(--line-strong);stroke-width:1px}.export-footer{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-top:1px solid var(--hairline);background:var(--surface);display:flex}.export-status{align-items:center;gap:var(--space-3);flex:1;min-width:0;display:flex}.export-status progress{-webkit-appearance:none;appearance:none;border:0;flex:1;height:4px}.export-status progress::-webkit-progress-bar{background:var(--hairline)}.export-status progress::-webkit-progress-value{background:var(--accent)}.export-status progress::-moz-progress-bar{background:var(--accent)}.export-percent{min-width:var(--space-7);text-align:right}.export-error{color:var(--error)}.export-actions{gap:var(--space-2);display:flex}@media (width<=768px){.export-dialog{border-radius:0;width:100%;max-width:none;height:100dvh;max-height:none}.export-title{padding:var(--space-4) var(--space-4) var(--space-2)}.export-layout{gap:var(--space-4);padding:0 var(--space-4) var(--space-4);grid-template-columns:minmax(0,1fr)}.export-preview{position:static}.export-preview-frame{min-height:0;padding:var(--space-3)}.export-preview-image.ratio-portrait,.export-preview-image.ratio-story{height:200px}.card-grid,.card-group[data-columns="3"] .card-grid,.card-group[data-columns="4"] .card-grid{grid-template-columns:repeat(2,1fr)}.card-group.card-group-short .card-grid{grid-template-columns:repeat(3,1fr)}.export-footer{padding:var(--space-3) var(--space-4)}}.help-sheet{max-width:560px;max-height:92dvh}.help-sheet[open]{grid-template-rows:auto minmax(0,1fr) auto;display:grid}.help-body{gap:var(--space-5);align-content:start;display:grid;overflow-y:auto}.help-group h3{margin-bottom:var(--space-2);color:var(--muted);font-size:var(--text-body);font-weight:var(--weight-medium)}.help-row{gap:var(--space-3);min-height:var(--space-6);border-top:1px solid var(--hairline);grid-template-columns:11em 1fr;align-items:center;display:grid}.help-row dt,.help-row dd{margin:0}kbd{min-width:var(--space-5);padding:0 var(--space-2);border-radius:var(--radius-control);background:var(--selected);font-family:inherit;font-size:var(--text-caption);font-weight:var(--weight-medium);line-height:var(--space-5);text-align:center;display:inline-block}@media (width<=768px){.topbar{gap:var(--space-2);padding:0 var(--space-3)}.topbar-left{gap:var(--space-2)}.privacy-note,.topbar-actions .header-tool{display:none}.topbar-actions .more-button{display:inline-grid}.topbar-actions .btn-primary{margin-left:0}.layout{display:block;position:relative;overflow:hidden}.viewport{height:100%;min-height:0;padding:var(--space-2) var(--space-2) calc(var(--space-7) + var(--space-4));align-items:flex-start}@media (prefers-reduced-motion:no-preference){.viewport-preview-frame{transition:transform var(--motion-slow) var(--ease-standard)}}.sidebar.collapsed~.viewport .viewport-preview-frame{transform:translateY(var(--stage-offset,0px))}.sidebar,.sidebar.collapsed{z-index:30;width:auto;max-height:var(--sheet-max-height);border-radius:var(--radius-dialog) var(--radius-dialog) 0 0;box-shadow:var(--shadow-raised);transition:transform var(--motion-slow) var(--ease-standard);border:0;flex:none;padding:0;position:absolute;inset:auto 0 0;overflow:hidden auto}.sidebar.collapsed{pointer-events:none;transform:translateY(100%)}.sheet-header{z-index:1;padding:var(--space-3) var(--space-4) var(--space-2);background:var(--surface);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.sidebar-body{padding:0 var(--space-4) var(--space-4)}.viewport-toolbar{bottom:var(--space-3)}.start-title{font-size:var(--text-display-sm);line-height:var(--leading-display-sm)}.start-actions{flex-direction:column;align-items:stretch;width:100%;max-width:320px}}@media (width<=359px){.controls-button span{display:none}.controls-button{padding:0}}@media (prefers-reduced-motion:reduce){*{transition:none;animation:none}}
