@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/bricolage-grotesque-latin.woff2)format("woff2-variations"),url(/fonts/bricolage-grotesque-latin.woff2)format("woff2");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{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-display:"Bricolage Grotesque", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-ui:system-ui, -apple-system, "Segoe UI", "Helvetica Neue", sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--text-2xs:11px;--text-xs:12px;--text-sm:13px;--text-md:14px;--text-base:16px;--text-lg:18px;--text-xl:21px;--text-2xl:28px;--text-3xl:40px;--text-display:clamp(40px, 6vw, 76px);--leading-tight:1.05;--leading-snug:1.3;--leading-body:1.5;--tracking-display:-.035em;--tracking-heading:-.02em;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-14:56px;--space-20:80px;--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-pill:999px;--control-sm:32px;--control-md:40px;--control-lg:46px;--touch-min:44px;--page-max:1200px;--panel-width:360px;--dialog-width:720px;--dialog-width-sm:480px;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-in-out:cubic-bezier(.6, 0, .3, 1);--duration-fast:.12s;--duration:.2s;--duration-slow:.28s;--z-toolbar:10;--z-panel:20;--z-toast:50;--z-dialog:60;--z-tooltip:70;--color-bg:#f6f1e9;--color-surface:#fffdf9;--color-surface-2:#efe7db;--color-surface-3:#e7dccd;--color-line:#e2d6c7;--color-line-soft:#ede3d6;--color-ink:#2a211b;--color-ink-2:#3d322a;--color-muted:#6b5e54;--color-faint:#a89a8d;--color-accent:#c2410c;--color-accent-hover:#a8380a;--color-on-accent:#fff;--color-accent-text:#b23a0a;--color-accent-soft:#fce6d8;--color-accent-soft-ink:#8a2c06;--color-success:#2f6b33;--color-success-soft:#e3f1e1;--color-warning:#7a4f00;--color-warning-soft:#fff1d6;--color-danger:#b42318;--color-danger-soft:#fde8e4;--color-info:#0b6e6a;--color-info-soft:#ddf0ee;--color-focus:#c2410c;--color-tooltip-bg:#2a211b;--color-tooltip-ink:#fffdf9;--color-backdrop:#2a211b6b;--color-selection:#c2410c2e;--code-bg:#2a211b;--code-ink:#f4ece3;--well-bg:#efe8dd;--well-dot:#d9cdbd;--shadow-1:0 1px 2px #2a211b14;--shadow-2:0 1px 2px #2a211b14, 0 8px 24px #2a211b1f;--shadow-3:0 2px 4px #2a211b14, 0 24px 64px #2a211b38;--shadow-image:0 2px 4px #2a211b14, 0 16px 40px #2a211b29;--shape-fill:#0b6e6a3d;--shape-stroke:#0b6e6a;--shape-stroke-width:2.5;--shape-hover-fill:#0b6e6a5c;--shape-hover-stroke:#07504d;--shape-hover-stroke-width:3.5;--shape-selected-fill:#f26a3a42;--shape-selected-stroke:#e2551f;--shape-selected-stroke-width:3;--shape-locked-fill:#6b5e5424;--shape-locked-stroke:#6b5e54;--shape-locked-dash:2 6;--shape-halo:#fffdf9d9;--shape-halo-width:6;--shape-draft-fill:#f26a3a24;--shape-draft-stroke:#e2551f;--shape-draft-dash:8 6;--shape-suggest-fill:#6d4bd133;--shape-suggest-stroke:#6d4bd1;--shape-suggest-dash:6 4;--shape-suggest-accepted-stroke:#0b6e6a;--handle-size:12;--handle-size-active:18;--handle-fill:#fffdf9;--handle-stroke:#e2551f;--handle-stroke-width:2.5;--handle-active-fill:#e2551f;--handle-active-stroke:#fffdf9;--handle-midpoint-stroke:#e2551f;--snap-guide:#2f6fe0;--grid-line:#2a211b38;--loupe-size:144;--loupe-zoom:4;--loupe-ring:#2a211b;--loupe-ring-halo:#fffdf9;--loupe-cross:#2a211b;--loupe-label-bg:#2a211b;--loupe-label-ink:#fffdf9}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#171310;--color-surface:#221c18;--color-surface-2:#2d2520;--color-surface-3:#382e28;--color-line:#3e342d;--color-line-soft:#2f2722;--color-ink:#f4ece3;--color-ink-2:#e3d7ca;--color-muted:#b3a497;--color-faint:#6e6158;--color-accent:#f07a4a;--color-accent-hover:#f48d63;--color-on-accent:#1e120c;--color-accent-text:#ff9b73;--color-accent-soft:#3d2418;--color-accent-soft-ink:#ffb592;--color-success:#8ccb7e;--color-success-soft:#1f2b1c;--color-warning:#f2c063;--color-warning-soft:#2f2514;--color-danger:#ff8a7a;--color-danger-soft:#3a1d19;--color-info:#5cc9bf;--color-info-soft:#15302d;--color-focus:#ff9b73;--color-tooltip-bg:#f4ece3;--color-tooltip-ink:#171310;--color-backdrop:#0009;--color-selection:#f07a4a47;--code-bg:#120f0d;--well-bg:#120f0d;--well-dot:#2e2621;--shadow-1:0 0 0 1px #2f2722;--shadow-2:0 0 0 1px #3e342d, 0 8px 24px #00000073;--shadow-3:0 0 0 1px #3e342d, 0 24px 64px #0009;--shadow-image:0 0 0 1px #3e342d, 0 24px 60px #00000080;--shape-halo:#171310d9;--grid-line:#fffdf93d;--loupe-ring:#f4ece3;--loupe-ring-halo:#171310;--loupe-cross:#f4ece3;--loupe-label-bg:#f4ece3;--loupe-label-ink:#171310}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#171310;--color-surface:#221c18;--color-surface-2:#2d2520;--color-surface-3:#382e28;--color-line:#3e342d;--color-line-soft:#2f2722;--color-ink:#f4ece3;--color-ink-2:#e3d7ca;--color-muted:#b3a497;--color-faint:#6e6158;--color-accent:#f07a4a;--color-accent-hover:#f48d63;--color-on-accent:#1e120c;--color-accent-text:#ff9b73;--color-accent-soft:#3d2418;--color-accent-soft-ink:#ffb592;--color-success:#8ccb7e;--color-success-soft:#1f2b1c;--color-warning:#f2c063;--color-warning-soft:#2f2514;--color-danger:#ff8a7a;--color-danger-soft:#3a1d19;--color-info:#5cc9bf;--color-info-soft:#15302d;--color-focus:#ff9b73;--color-tooltip-bg:#f4ece3;--color-tooltip-ink:#171310;--color-backdrop:#0009;--color-selection:#f07a4a47;--code-bg:#120f0d;--well-bg:#120f0d;--well-dot:#2e2621;--shadow-1:0 0 0 1px #2f2722;--shadow-2:0 0 0 1px #3e342d, 0 8px 24px #00000073;--shadow-3:0 0 0 1px #3e342d, 0 24px 64px #0009;--shadow-image:0 0 0 1px #3e342d, 0 24px 60px #00000080;--shape-halo:#171310d9;--grid-line:#fffdf93d;--loupe-ring:#f4ece3;--loupe-ring-halo:#171310;--loupe-cross:#f4ece3;--loupe-label-bg:#f4ece3;--loupe-label-ink:#171310}@media (pointer:coarse){:root{--control-sm:44px;--control-md:44px;--control-lg:48px}}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration:0s;--duration-slow:0s}}*,:before,:after{box-sizing:border-box}:root{--sheet-peek:76px}html{-webkit-text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-ui);font-size:var(--text-md);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;margin:0}::selection{background:var(--color-selection)}img,svg{display:block}a{color:var(--color-accent-text);text-underline-offset:3px}a:hover{color:var(--color-accent-hover)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;border-radius:4px}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default}h1,h2,h3,h4{text-wrap:balance}p{text-wrap:pretty}[hidden]{display:none!important}.icon{flex:none;width:20px;height:20px}.icon-sm{flex:none;width:16px;height:16px}.icon-lg{flex:none;width:28px;height:28px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.mono{font-family:var(--font-mono)}.muted{color:var(--color-muted)}.spacer{flex:1}.show-sm{display:none!important}.logo{flex:none;width:30px;height:30px}.logo-bg{fill:var(--color-ink)}.logo-shape{fill:#f26a3a;stroke:var(--color-surface);stroke-width:1.5px;stroke-linejoin:round}.logo-dot{fill:var(--color-surface)}.brand{color:var(--color-ink);font-family:var(--font-display);letter-spacing:var(--tracking-heading);white-space:nowrap;align-items:center;gap:10px;font-size:20px;font-weight:700;text-decoration:none;display:inline-flex}.brand:hover{color:var(--color-ink)}.brand .tld{color:var(--color-muted);font-weight:600}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-md);padding:0 var(--space-4);border-radius:var(--radius-pill);color:var(--color-ink);font-size:var(--text-md);font-weight:var(--weight-medium);white-space:nowrap;transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);background:0 0;border:1.5px solid #0000;line-height:1;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:var(--color-surface-2);color:var(--color-ink)}.btn:disabled{opacity:.5}.btn-primary{background:var(--color-accent);color:var(--color-on-accent);font-weight:var(--weight-semibold)}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);color:var(--color-on-accent)}.btn-outline{border-color:var(--color-line);background:var(--color-surface)}.btn-outline:hover:not(:disabled){border-color:var(--color-muted);background:var(--color-surface)}.btn-soft{background:var(--color-accent-soft);color:var(--color-accent-soft-ink)}.btn-soft:hover:not(:disabled){background:var(--color-accent-soft);color:var(--color-accent-soft-ink);filter:brightness(.97)}.btn-danger{background:var(--color-danger);color:var(--color-surface);font-weight:var(--weight-semibold)}.btn-danger:hover:not(:disabled){background:var(--color-danger);color:var(--color-surface);filter:brightness(.92)}.btn-lg{min-height:var(--control-lg);padding:0 var(--space-6);font-size:var(--text-base)}.btn-sm{min-height:var(--control-sm);padding:0 var(--space-3);font-size:var(--text-sm)}.btn-icon{width:var(--control-md);height:var(--control-md);border-radius:var(--radius-pill);min-height:0;color:var(--color-ink-2);transition:background var(--duration-fast) var(--ease-out);background:0 0;border:0;flex:none;place-items:center;padding:0;display:inline-grid;position:relative}.btn-icon:hover:not(:disabled){background:var(--color-surface-2)}.btn-icon:disabled{opacity:.45}.btn-icon[aria-pressed=true]{background:var(--color-accent-soft);color:var(--color-accent-soft-ink)}.btn-icon.sm{width:var(--control-sm);height:var(--control-sm)}.btn-icon.danger:hover:not(:disabled){color:var(--color-danger)}.btn-link{min-height:var(--control-sm);padding:0 var(--space-2);color:var(--color-accent-text);font-weight:var(--weight-medium);border-radius:var(--radius-pill);background:0 0;border:0;align-items:center;gap:6px;text-decoration:none;display:inline-flex}.btn-link:hover{color:var(--color-accent-text);text-decoration:underline}kbd{min-width:20px;height:20px;font-family:var(--font-mono);font-size:var(--text-2xs);line-height:1;font-weight:var(--weight-medium);opacity:.8;border:1px solid;border-bottom-width:2px;border-radius:5px;place-items:center;padding:0 5px;display:inline-grid}.kbd-group{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:3px;display:inline-flex}.field{flex-direction:column;gap:6px;min-width:0;margin:0;display:flex}.field-row{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-ink-2);margin:0}.help{font-size:var(--text-xs);color:var(--color-muted);margin:0}.input,.select{width:100%;min-width:0;min-height:var(--control-md);padding:0 var(--space-3);border:1.5px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font-size:var(--text-md)}.input.mono{font-family:var(--font-mono);font-size:var(--text-sm)}.select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--color-muted) 50%), linear-gradient(135deg, var(--color-muted) 50%, transparent 50%);background-position:calc(100% - 18px),calc(100% - 13px);background-repeat:no-repeat;background-size:5px 5px;padding-right:36px}.input:hover,.select:hover{border-color:var(--color-faint)}.input:focus-visible,.select:focus-visible{outline:3px solid var(--color-focus);outline-offset:1px;border-color:var(--color-focus)}.input[aria-invalid=true],.input[aria-invalid=""]{border-color:var(--color-danger)}.field-error{font-size:var(--text-xs);color:var(--color-danger);text-align:left;align-items:flex-start;gap:6px;margin:0;display:flex}.field-error .icon-sm{margin-top:1px}.field-warn{font-size:var(--text-xs);color:var(--color-warning);margin:0}.input-prefix{border:1.5px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface);align-items:stretch;min-width:0;display:flex;overflow:hidden}.input-prefix:focus-within{outline:3px solid var(--color-focus);outline-offset:1px;border-color:var(--color-focus)}.input-prefix>span{padding:0 0 0 var(--space-3);color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-sm);place-items:center;display:grid}.input-prefix>.input{border:0;border-radius:0;min-width:0;padding-left:2px}.input-prefix>.input:focus-visible{outline:0}textarea.input{padding:var(--space-3);resize:vertical;min-height:160px;line-height:1.5;font-family:var(--font-mono);font-size:var(--text-sm)}input[type=range]{appearance:none;width:100%;height:28px;accent-color:var(--color-accent);background:0 0;margin:0}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--color-accent) var(--fill,0%), var(--color-surface-3) var(--fill,0%));border-radius:999px;height:6px}input[type=range]::-moz-range-track{background:var(--color-surface-3);border-radius:999px;height:6px}input[type=range]::-moz-range-progress{background:var(--color-accent);border-radius:999px;height:6px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--color-surface);border:2.5px solid var(--color-accent);width:22px;height:22px;box-shadow:var(--shadow-1);border-radius:50%;margin-top:-8px}input[type=range]::-moz-range-thumb{background:var(--color-surface);border:2.5px solid var(--color-accent);border-radius:50%;width:18px;height:18px}.range{gap:var(--space-1) var(--space-3);grid-template-columns:1fr auto;align-items:center;display:grid}.range>.label{grid-column:1}.range>input{grid-area:2/1}.range>.wand-value{font-family:var(--font-mono);font-size:var(--text-sm);text-align:right;border-radius:var(--radius-xs);background:var(--color-surface-2);grid-area:2/2;min-width:56px;padding:4px 8px}.range>.help{grid-column:1/-1}.choice-list{gap:var(--space-2);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.choice-list>legend{margin-bottom:var(--space-2);padding:0}.choice{gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1.5px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);text-align:left;grid-template-columns:22px minmax(0,1fr);align-items:start;display:grid}.choice:has(input:checked){border-color:var(--color-accent);background:var(--color-accent-soft)}.choice>input[type=radio]{width:20px;height:20px;accent-color:var(--color-accent);margin:1px 0 0}.choice label{font-weight:var(--weight-semibold);cursor:pointer;display:block}.choice>div>span{color:var(--color-muted);font-size:var(--text-sm);display:block}.choice:has(input:checked)>div>span{color:var(--color-ink-2)}.checkbox{align-items:center;gap:var(--space-2);min-height:var(--control-sm);font-size:var(--text-sm);cursor:pointer;display:flex}.checkbox input{width:18px;height:18px;accent-color:var(--color-accent);flex:none;margin:0}.tabs{gap:var(--space-1);border-radius:var(--radius-pill);background:var(--color-surface-2);scrollbar-width:none;flex:none;align-self:flex-start;max-width:100%;padding:3px;display:flex;overflow-x:auto}.tab{min-height:calc(var(--control-sm) + 2px);padding:0 var(--space-4);border-radius:var(--radius-pill);color:var(--color-ink-2);font-weight:var(--weight-medium);font-size:var(--text-sm);background:0 0;border:0;flex:none}.tab[aria-selected=true]{background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-1)}.tab:focus-visible{outline-offset:-3px;border-radius:var(--radius-pill)}.tabs.more-right{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 56px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 56px),#0000)}.tabs.more-left{-webkit-mask-image:linear-gradient(270deg,#000 calc(100% - 56px),#0000);mask-image:linear-gradient(270deg,#000 calc(100% - 56px),#0000)}.tabs.more-left.more-right{-webkit-mask-image:linear-gradient(90deg,#0000,#000 56px calc(100% - 56px),#0000);mask-image:linear-gradient(90deg,#0000,#000 56px calc(100% - 56px),#0000)}.badge{border-radius:var(--radius-pill);background:var(--color-surface-2);color:var(--color-ink-2);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap;align-items:center;gap:4px;padding:2px 8px;line-height:1.5;display:inline-flex}.badge:empty{display:none}.badge-info{background:var(--color-info-soft);color:var(--color-info)}.badge-suggest{color:#4e33a8;background:#ece6fb}.site-header{max-width:var(--page-max);padding:var(--space-4) var(--space-6);align-items:center;gap:var(--space-4) var(--space-6);flex-wrap:wrap;margin:0 auto;display:flex}.site-nav{align-items:center;gap:var(--space-1) var(--space-5);flex-wrap:wrap;font-size:15px;display:flex}.site-nav a{color:var(--color-ink-2);padding:10px 0;text-decoration:none}.site-nav a:hover{color:var(--color-ink);text-decoration:underline}.lang-link{min-height:var(--touch-min);align-items:center;gap:6px;display:inline-flex}.hero{max-width:var(--page-max);padding:var(--space-8) var(--space-6) var(--space-14);align-items:center;gap:var(--space-6);text-align:center;flex-direction:column;margin:0 auto;display:flex}.hero>h1{font-family:var(--font-display);font-size:var(--text-display);line-height:1;font-weight:var(--weight-bold);letter-spacing:var(--tracking-display);max-width:13em;margin:0}.hero>.lead{color:var(--color-ink-2);max-width:34em;margin:0;font-size:19px}.app-root{text-align:left;width:100%;max-width:900px;position:relative}.noscript{padding:var(--space-6);border-radius:var(--radius-xl);background:var(--color-surface);margin:0}.app-root:not(:has(>.hero-tool,>noscript>.noscript)){min-height:230px}@media (max-width:959px){.app-root:not(:has(>.hero-tool,>noscript>.noscript)){min-height:300px}}@media (max-width:720px){.app-root:not(:has(>.hero-tool,>noscript>.noscript)){min-height:calc(64vw + 299.48px)}}@media (max-width:720px) and (min-width:560px){.app-root:not(:has(>.hero-tool,>noscript>.noscript)){min-height:calc(64vw + 186.48px)}}.privacy-note{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-ink-2);margin:0;display:inline-flex}body[data-app=ready] .site-header,body[data-app=ready] .hero>.lead,body[data-app=ready] .hero>.privacy-note{display:none}body[data-app=ready] .hero{max-width:none;padding:0;display:block}body[data-app=ready] .hero>h1{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}body[data-app=ready] .app-root{max-width:none}.hero-tool{align-items:flex-start;gap:var(--space-8);width:100%;padding:var(--space-6);border-radius:var(--radius-xl);background:var(--color-surface);border:2px dashed var(--color-line);box-shadow:var(--shadow-image);transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);flex-wrap:wrap;display:flex}.hero-tool.is-over{border-color:var(--color-accent);background:var(--color-accent-soft)}.hero-tool .art{border-radius:var(--radius-md);flex:none;width:260px;max-width:100%;position:relative;overflow:hidden}.hero-tool .art img{width:100%;height:auto}.hero-tool .art svg{width:100%;height:100%;position:absolute;inset:0}.hero-tool .body{gap:var(--space-3);flex-direction:column;flex:320px;min-width:0;display:flex}.hero-tool .title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-heading);margin:0;line-height:1.15}.hero-tool .hint{color:var(--color-muted);font-size:var(--text-sm);margin:0}.hero-tool .actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.hero-links{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.hero-import{font-size:var(--text-sm);color:var(--color-muted)}.hero-import .btn-link{min-height:var(--control-sm);padding:0}.examples-toggle{font-weight:var(--weight-semibold);align-self:flex-start;padding:0;text-decoration:underline}.url-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.url-row .input{flex:240px}.example-picks{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.example-pick{border:1.5px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);width:100%;font-size:var(--text-sm);font-weight:var(--weight-semibold);text-align:left;flex-direction:column;gap:6px;padding:6px;display:flex}.example-pick:hover{border-color:var(--color-accent)}.example-pick img{aspect-ratio:25/16;border-radius:var(--radius-xs);background:var(--well-bg);width:100%;height:auto}.overlay .sh{fill:var(--shape-fill);stroke:var(--shape-stroke);stroke-width:var(--shape-stroke-width);vector-effect:non-scaling-stroke;stroke-linejoin:round}.overlay .sh-locked{fill:var(--shape-locked-fill);stroke:var(--shape-locked-stroke);stroke-dasharray:var(--shape-locked-dash);stroke-linecap:round;stroke-width:2px}.overlay .halo{fill:none;stroke:var(--shape-halo);stroke-width:var(--shape-halo-width);vector-effect:non-scaling-stroke;stroke-linejoin:round}.drop-overlay{z-index:var(--z-panel);border:3px dashed var(--color-accent);border-radius:var(--radius-xl);background:color-mix(in srgb, var(--color-accent-soft) 80%, transparent);color:var(--color-accent-soft-ink);font-weight:var(--weight-semibold);font-size:var(--text-lg);pointer-events:none;justify-content:center;align-items:center;display:none;position:absolute;inset:0}.drop-overlay>span{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-pill);background:var(--color-surface);box-shadow:var(--shadow-2);display:inline-flex}.app-root.dragging .drop-overlay{display:flex}body[data-app=ready] .drop-overlay{border-radius:var(--radius-lg);inset:64px 12px 12px}.editor{height:calc(100vh - var(--app-top,0px) - var(--lang-hint-h,0px));height:calc(100dvh - var(--app-top,0px) - var(--lang-hint-h,0px));flex-direction:column;min-height:560px;display:flex;overflow:hidden}.topbar{align-items:center;gap:var(--space-3);height:64px;padding:0 var(--space-4) 0 var(--space-5);flex:none;min-width:0;display:flex}.topbar .brand .word{font-size:20px}.file-chip{align-items:center;gap:var(--space-2);border-radius:var(--radius-pill);background:var(--color-surface-2);min-width:0;font-size:var(--text-sm);flex:0 auto;padding:6px 12px;display:inline-flex}.file-chip .name{white-space:nowrap;text-overflow:ellipsis;max-width:240px;overflow:hidden}.file-chip .size{color:var(--color-muted);font-size:var(--text-xs);white-space:nowrap}.save-state{font-size:var(--text-sm);color:var(--color-success);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.save-state[data-save=saving]{color:var(--color-muted)}.save-state[data-save=error],.save-state[data-save=noImage],.save-state[data-save=off]{color:var(--color-warning)}.topbar-actions{align-items:center;gap:var(--space-1);display:flex}.btn-collapse:not(.btn-primary)>.icon-sm{display:none}.panel-toggle[aria-expanded=false]{background:var(--color-accent-soft);color:var(--color-accent-soft-ink)}.lang-switch{white-space:nowrap;text-decoration:underline}.lang-short{display:none}.menu-wrap{position:relative}.menu{z-index:var(--z-dialog);border-radius:var(--radius-lg);background:var(--color-surface);width:max-content;min-width:240px;max-width:min(380px,100vw - 24px);box-shadow:var(--shadow-3);flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.menu-item{border-radius:var(--radius-md);width:100%;padding:0 var(--space-3);justify-content:flex-start}.menu-item[aria-expanded=true]{background:var(--color-surface-2)}.menu .url-form{padding:var(--space-2) var(--space-3) var(--space-3)}.workspace{gap:var(--space-3);min-height:0;padding:0 var(--space-3) var(--space-3);flex:1;display:flex}.stage{border-radius:var(--radius-lg);background:radial-gradient(var(--well-dot) 1px, transparent 1.2px) 0 0 / 20px 20px, var(--well-bg);flex:1;min-width:0;position:relative;overflow:hidden}.canvas{touch-action:none;--fit-top:76px;--fit-right:24px;--fit-bottom:64px;--fit-left:24px;width:100%;height:100%;display:block;position:absolute;inset:0}.canvas:focus-visible{outline-offset:-3px;border-radius:var(--radius-lg)}.stage[data-cursor=crosshair] .canvas{cursor:crosshair}.stage[data-cursor=move] .canvas{cursor:move}.stage[data-cursor=grab] .canvas{cursor:grab}.stage[data-cursor=grabbing] .canvas{cursor:grabbing}.image-shadow{box-shadow:var(--shadow-image);pointer-events:none;border-radius:12px;position:absolute;top:0;left:0}.stage{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.stage input{-webkit-user-select:text;user-select:text}.canvas,img[draggable=false]{-webkit-user-drag:none}.stage-cover{z-index:calc(var(--z-toolbar) + 1);border-radius:inherit;background:color-mix(in srgb, var(--color-bg) 40%, transparent);color:var(--color-on-accent);cursor:pointer;touch-action:pan-y pinch-zoom;border:0;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;inset:0}.stage-cover-pill{align-items:center;gap:var(--space-2);min-height:var(--control-lg);padding:0 var(--space-6);border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-on-accent);box-shadow:var(--shadow-2);font-size:var(--text-base);font-weight:var(--weight-semibold);display:inline-flex}.stage-cover:focus-visible{outline-offset:-3px}.done-btn{padding:0 var(--space-3) 0 var(--space-2);flex:none;gap:6px}.toolbar{top:var(--space-4);z-index:var(--z-toolbar);border-radius:var(--radius-pill);background:var(--color-surface);box-shadow:var(--shadow-2);align-items:center;max-width:calc(100% - 32px);padding:6px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.tool-group{align-items:center;gap:2px;padding:0 4px;display:flex}.tool-group+.tool-group{border-left:1px solid var(--color-line-soft)}.toggle[aria-pressed=true],.btn-icon.toggle[aria-pressed=true]{color:var(--color-accent-text);background:0 0}.btn-icon.toggle[aria-pressed=true]:hover:not(:disabled){background:var(--color-surface-2)}.toggle[aria-pressed=true]:after{content:"";background:var(--color-accent);width:6px;height:6px;box-shadow:0 0 0 2px var(--color-surface);border-radius:50%;position:absolute;bottom:8px;right:8px}.zoom-btn{white-space:nowrap;text-align:center;min-width:64px;font-size:var(--text-sm);font-variant-numeric:tabular-nums;border-radius:var(--radius-pill);min-height:var(--control-md);color:var(--color-ink);background:0 0;border:0;padding:0 6px}.zoom-btn:hover:not(:disabled){background:var(--color-surface-2)}.grid-size{width:74px;min-height:var(--control-sm);font-variant-numeric:tabular-nums;padding:0 6px}.tooltip{z-index:var(--z-tooltip);align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);background:var(--color-tooltip-bg);max-width:320px;color:var(--color-tooltip-ink);font-size:var(--text-sm);font-weight:var(--weight-medium);box-shadow:var(--shadow-2);animation:tip-in var(--duration) var(--ease-out);padding:6px 8px 6px 10px;line-height:1.3;display:inline-flex;position:fixed}.tooltip kbd{opacity:.75;border-color:currentColor;flex:none}.tooltip:before{content:"";left:var(--arrow,50%);background:inherit;border-radius:2px;width:10px;height:10px;position:absolute;transform:translate(-50%)rotate(45deg)}.tooltip[data-side=below]:before{top:-4px}.tooltip[data-side=above]:before{bottom:-4px}@keyframes tip-in{0%{opacity:0}to{opacity:1}}.stage-chip{z-index:var(--z-toolbar);align-items:center;gap:var(--space-2);min-height:var(--touch-min);padding:0 var(--space-4) 0 var(--space-3);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-2);font-weight:var(--weight-semibold);font-size:var(--text-md);border:0;display:inline-flex;position:absolute}.stage-chip.top-right{top:var(--space-4);right:var(--space-4)}.stage-chip .badge:empty{display:inline-flex}.coords-chip{left:var(--space-4);bottom:var(--space-4);z-index:var(--z-toolbar);border-radius:var(--radius-pill);background:var(--color-surface);box-shadow:var(--shadow-2);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-ink-2);white-space:nowrap;pointer-events:none;padding:6px 12px;position:absolute}.coords-chip:empty{display:none}.stage-dock{left:var(--space-4);right:var(--space-4);bottom:var(--space-4);z-index:var(--z-toolbar);align-items:flex-end;gap:var(--space-2);pointer-events:none;flex-direction:column;max-height:calc(100% - 96px);display:flex;position:absolute}.hint-bubble{gap:var(--space-3);border-radius:var(--radius-md);background:var(--color-tooltip-bg);max-width:380px;color:var(--color-tooltip-ink);font-size:var(--text-sm);pointer-events:none;align-items:flex-start;margin:0;padding:10px 10px 10px 14px;line-height:1.4;display:flex}.hint-bubble .btn-icon{width:28px;height:28px;color:inherit;pointer-events:auto;flex:none}.hint-bubble .btn-icon:hover:not(:disabled){background:#7f7f7f33}.hint-bubble.is-drawing{display:none}.draw-bar{pointer-events:auto;align-self:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-pill);background:var(--color-surface);max-width:100%;box-shadow:var(--shadow-2);font-size:var(--text-sm);white-space:nowrap;padding:6px 6px 6px 16px;display:flex}.draw-bar kbd{opacity:.7}.draw-text{text-overflow:ellipsis;overflow:hidden}.panel{flex:0 0 var(--panel-width);width:var(--panel-width);gap:var(--space-3);overscroll-behavior:contain;flex-direction:column;min-height:0;display:flex;overflow:auto}.panel>.card{flex:none}.sheet-handle{display:none}.card{padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.card-head{align-items:center;gap:var(--space-2);display:flex}.card-title{min-width:0;font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:-.01em;overflow-wrap:anywhere;flex:1;margin:0;line-height:1.3}.card-heading{flex:1;min-width:0;margin:0;display:flex}.disclosure{align-items:center;gap:var(--space-2);min-height:var(--touch-min);text-align:left;font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-ink);letter-spacing:-.01em;background:0 0;border:0;flex:1;padding:0;display:flex}.chev{width:18px;height:18px;transition:transform var(--duration) var(--ease-out);flex:none}.disclosure[aria-expanded=true] .chev{transform:rotate(90deg)}.card-sub{font-size:var(--text-xs);color:var(--color-muted);margin:0}.area-body{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.empty-note{padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-muted);font-size:var(--text-sm);margin:0}.empty-note:empty{display:none}.area-list{flex-direction:column;gap:2px;max-height:46vh;margin:0;padding:0;list-style:none;display:flex;position:relative;overflow:auto}.area-list:empty{display:none}.area{align-items:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-1);border-radius:var(--radius-md);font-size:var(--text-md);display:flex}.area:hover{background:var(--color-bg)}.area.is-selected{background:var(--color-accent-soft)}.area .drag{width:20px;height:32px;color:var(--color-faint);cursor:grab;flex:none;place-items:center;display:grid}.area .swatch{background:var(--shape-stroke);border-radius:50%;flex:none;width:12px;height:12px}.area .swatch.rect{border-radius:3px}.area .swatch.poly{clip-path:polygon(20% 0,100% 30%,80% 100%,0 80%);border-radius:0}.area.is-selected .swatch{background:var(--shape-selected-stroke)}.area.is-locked .swatch{background:var(--shape-locked-stroke)}.area.is-hidden .swatch{opacity:.35}.area-name{min-width:0;min-height:44px;color:inherit;text-align:left;border-radius:var(--radius-xs);background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:flex-start;gap:0;padding:2px 4px;line-height:1.25;display:flex}.area-name .label{max-width:100%;font-size:var(--text-md);font-weight:var(--weight-regular);color:var(--color-ink);overflow-wrap:anywhere}.area.is-selected .area-name .label{font-weight:var(--weight-semibold)}.area.is-hidden .area-name .label{color:var(--color-muted)}.area-name .shape{max-width:100%;font-size:var(--text-xs);color:var(--color-muted)}.area-name .outside{background:var(--color-danger-soft);color:var(--color-danger);margin-top:2px}.area .actions{flex:none;align-items:center;display:flex}.area .actions .btn-icon{width:32px;height:32px;color:var(--color-muted)}.area .reorder{clip:rect(0 0 0 0);white-space:nowrap;flex:none;width:1px;height:1px;display:flex;position:absolute;overflow:hidden}.area .reorder .btn-icon{width:32px;height:32px;color:var(--color-muted)}.area:hover .reorder,.area.is-selected .reorder,.area:focus-within .reorder{clip:auto;width:auto;height:auto;position:static;overflow:visible}.area.dragging-row{opacity:.5}.area.drop-before{box-shadow:inset 0 3px 0 var(--color-accent)}.area.drop-after{box-shadow:inset 0 -3px 0 var(--color-accent)}.icon-toggle{border-radius:var(--radius-pill);width:32px;height:32px;color:var(--color-muted);flex:none;place-items:center;display:inline-grid;position:relative}.icon-toggle:hover{background:var(--color-surface-2)}.icon-toggle>input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.icon-toggle:has(input:focus-visible){outline:3px solid var(--color-focus);outline-offset:0}@supports not selector(:has(*)){.icon-toggle>input:focus-visible+svg{outline:3px solid var(--color-focus);outline-offset:7px;border-radius:50%}}.area.is-locked .icon-toggle:has(.lock){color:var(--color-ink)}.props .properties{gap:var(--space-4);flex-direction:column;display:flex}.props-head{align-items:center;gap:var(--space-1);display:flex}.props-meta{font-size:var(--text-xs);color:var(--color-muted);margin:-10px 0 0}.props .properties>.btn{align-self:flex-start}.details{border-top:1px solid var(--color-line-soft);padding-top:var(--space-1)}.details>summary{align-items:center;gap:var(--space-2);min-height:var(--touch-min);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-ink-2);border-radius:var(--radius-xs);list-style:none;display:flex}.details>summary::-webkit-details-marker{display:none}.details>summary .chev{width:16px;height:16px}.details[open]>summary .chev{transform:rotate(90deg)}.details-body{gap:var(--space-4);padding:var(--space-2) 0;flex-direction:column;display:flex}.group{border:0;margin:0;padding:0}.group>legend{margin-bottom:6px;padding:0}.data-rows{flex-direction:column;gap:6px;display:flex}.data-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 32px;align-items:center;gap:6px;display:grid}.data-row .field-error{grid-column:1/-1}.add-data{align-self:flex-start;padding-left:0}.coords-code,.properties .coords{max-height:8em;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-bg);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-ink-2);word-break:break-word;display:block;overflow:auto}.ev-fields{gap:var(--space-3);flex-direction:column;display:flex}.ev-fields:empty{display:none}.wand-bar .card-title{flex:1}.wand-intro{font-size:var(--text-sm);margin:-8px 0 0}.wand-lines{flex-direction:column;gap:2px;display:flex}.wand-dock{gap:var(--space-3);flex-direction:column;display:flex}.wand-status{min-height:1.4em;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-bg);font-size:var(--text-sm);color:var(--color-ink-2);display:block}.wand-status:empty{display:none}.wand-note{color:var(--color-ink);font-weight:var(--weight-semibold)}.actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.wand-dock .actions{justify-content:flex-end}.proposals .card-title{align-items:center;gap:var(--space-2);display:flex}.proposal-list{flex-direction:column;gap:2px;max-height:32vh;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.proposal-list:empty{display:none}.proposal-row{align-items:center;gap:var(--space-2);min-height:44px;padding:2px var(--space-1);border-radius:var(--radius-md);font-size:var(--text-sm);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.proposal-row:hover,.proposal-row.active{background:#f1ecfc}.proposal-num{border-radius:var(--radius-pill);background:var(--shape-suggest-stroke);color:#fff;min-width:24px;height:20px;font-size:var(--text-2xs);font-weight:var(--weight-bold);place-items:center;padding:0 6px;display:inline-grid}.proposal-row.overlaps .proposal-num{background:var(--shape-locked-stroke)}.proposal-text{flex-direction:column;min-width:0;line-height:1.3;display:flex}.proposal-text .muted-small{white-space:nowrap}.proposal-row .label{font-weight:var(--weight-semibold);color:var(--color-ink)}.muted-small{color:var(--color-muted);font-size:var(--text-xs)}.tag{color:var(--color-ink-2)}.row-actions{gap:2px;display:inline-flex}.row-actions .accept{color:var(--color-success)}dialog.dialog{width:min(var(--dialog-width), calc(100% - 32px));border-radius:var(--radius-xl);background:var(--color-surface);max-width:none;max-height:calc(100dvh - 32px);color:var(--color-ink);box-shadow:var(--shadow-3);border:0;padding:0;overflow:hidden}dialog.dialog[open]{animation:dialog-in var(--duration-slow) var(--ease-out);flex-direction:column;display:flex}dialog.dialog::backdrop{background:#2a211b6b}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) dialog.dialog::backdrop{background:#0009}}:root[data-theme=dark] dialog.dialog::backdrop{background:#0009}@keyframes dialog-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}dialog.dialog.sm{width:min(var(--dialog-width-sm), calc(100% - 32px))}dialog.dialog.lg{width:min(1040px,100% - 32px)}.dialog-head{align-items:flex-start;gap:var(--space-3);padding:var(--space-6) var(--space-6) var(--space-2);display:flex}.dialog-head h2{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-heading);flex:1;margin:0;line-height:1.15}.dialog-head .btn-icon{margin:-6px -8px 0 0}.dialog-lead{padding:0 var(--space-6);color:var(--color-ink-2);margin:0}.dialog-body{padding:var(--space-4) var(--space-6);gap:var(--space-4);flex-direction:column;min-height:0;display:flex;overflow:auto}.dialog-foot{align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-6) var(--space-6);flex-wrap:wrap;display:flex}.dialog-lead+.dialog-foot{padding-top:var(--space-6)}.dialog .row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.compare{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.compare figure{flex-direction:column;gap:6px;margin:0;display:flex}.compare .thumb{border-radius:var(--radius-sm);border:1.5px solid var(--color-line);background:var(--well-bg);position:relative;overflow:hidden}.compare .thumb canvas{width:100%;height:auto;display:block}.compare figcaption{font-size:var(--text-xs);color:var(--color-muted)}.compare figcaption strong{color:var(--color-ink);font-family:var(--font-mono);font-weight:var(--weight-medium)}.import-dialog .import-code{white-space:pre;min-height:180px;overflow:auto}.import-result{font-size:var(--text-sm);color:var(--color-ink-2);margin:0}.import-result:empty{display:none}.import-result.is-found{border-radius:var(--radius-pill);background:var(--color-info-soft);color:var(--color-info);font-size:var(--text-xs);font-weight:var(--weight-semibold);align-items:center;gap:4px;padding:2px 10px;display:inline-flex}.import-result.is-error{color:var(--color-danger)}.import-notes summary{cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-semibold)}.notes{margin:var(--space-2) 0 0;font-size:var(--text-sm);flex-direction:column;gap:4px;padding-left:1.2em;display:flex}.note-error{color:var(--color-danger)}.note-warn{color:var(--color-warning)}.notes-box{gap:var(--space-1);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-danger-soft);flex-direction:column;display:flex}.notes-heading{font-weight:var(--weight-semibold);color:var(--color-danger);margin:0}.notes-box .notes{margin:0}.note-show{margin-left:var(--space-1);vertical-align:middle}.pick{margin-top:var(--space-2);font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.choice .pick .help,.choice .pick>span{color:var(--color-muted);font-size:var(--text-xs)}.pick-name{overflow-wrap:anywhere;min-width:0}.import-dialog .dialog-body>div:empty{display:none}.tabpanel{gap:var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}.tabpanel.has-preview{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start}.export-main,.preview{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.export-desc{font-size:var(--text-sm)}.code{width:100%;min-height:240px;max-height:360px;padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--code-bg);color:var(--code-ink);font:var(--text-sm) / 1.7 var(--font-mono);white-space:pre;resize:vertical;border:0;display:block;overflow:auto}.code:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.code-meta{font-size:var(--text-xs);color:var(--color-muted);overflow-wrap:anywhere;margin:0}.preview h3{margin:0}.preview-options{gap:0 var(--space-4);flex-wrap:wrap;display:flex}.preview-frame{aspect-ratio:4/3;border:1.5px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-bg);width:100%;height:auto;min-height:160px;max-height:calc(100dvh - 420px);display:block}.preview-frame:focus,.preview-frame.is-focused{outline:3px solid var(--color-focus);outline-offset:2px}.preview-status{min-height:1.4em;font-size:var(--text-sm);word-break:break-all;color:var(--color-ink-2);margin:0}.ev-export,.ev-export>div{gap:var(--space-3);flex-direction:column;display:flex}.ev-modes .choice{padding:var(--space-2) var(--space-3)}.ev-base{gap:var(--space-2)}.ev-base .btn{align-self:flex-start}.ev-others{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-warning-soft);flex-direction:column;display:flex}.ev-others p{font-size:var(--text-sm);margin:0}.ev-offer{max-width:380px;font-size:var(--text-sm)}.action-status:empty{display:none}.shortcut-groups{gap:var(--space-5) var(--space-8);grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));display:grid}.shortcut-groups h3{margin:0 0 var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted)}.shortcut-list{grid-template-columns:1fr auto;gap:0;margin:0;display:grid}.shortcut-list dt,.shortcut-list dd{border-bottom:1px solid var(--color-line-soft);font-size:var(--text-sm);margin:0;padding:7px 0}.shortcut-list dd{text-align:right;padding-left:var(--space-3)}.alert{gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-3);color:var(--color-ink);font-size:var(--text-md);align-items:flex-start;display:flex}.alert>.icon{margin-top:1px}.alert-body{flex-direction:column;flex:1;gap:6px;min-width:0;padding-top:1px;display:flex}.alert-body ul{color:var(--color-ink-2);margin:0;padding-left:18px}.alert .btn-icon{width:32px;height:32px;color:inherit;margin:-4px -4px 0 0}.alert-danger{background:var(--color-danger-soft)}.alert-danger>.icon{color:var(--color-danger)}.alert-info{background:var(--color-info-soft)}.alert-info>.icon{color:var(--color-info)}.toast-stack{gap:var(--space-2);text-align:left;min-height:0;z-index:var(--z-toast);left:0;right:0;top:calc(100% + var(--space-3));flex-direction:column;width:min(420px,100%);margin:0 auto;display:flex;position:absolute;overflow:auto}body[data-app=ready] .toast-stack{z-index:var(--z-toolbar);top:auto;left:auto;right:calc(2 * var(--space-3) + var(--panel-width) + var(--space-4));bottom:calc(var(--space-3) + var(--space-4) + var(--dock-h,0px));width:min(420px, calc(100% - 3 * var(--space-3) - var(--panel-width) - 2 * var(--space-4)));max-height:calc(100% - 204px);margin:0}body[data-app=ready] .app-root[data-panel=hidden]>.toast-stack{right:calc(var(--space-3) + var(--space-4));width:min(420px, calc(100% - 2 * var(--space-3) - 2 * var(--space-4)))}.error-list{pointer-events:auto;max-height:30vh;overflow:auto}.toast-stack,.toast-stack .alert{pointer-events:none}.toast-stack button,.toast-stack a{pointer-events:auto}.status-toast{transition:opacity var(--duration) var(--ease-out)}.status-toast .status{flex:1;min-width:0;margin:0;padding-top:1px}.status-toast.is-empty,.status-toast.is-faded{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;box-shadow:none;border:0;margin:-1px;padding:0;position:absolute;overflow:hidden}.lang-strip{z-index:var(--z-toast);background:var(--color-info-soft);color:var(--color-ink);box-shadow:var(--shadow-3);padding-bottom:env(safe-area-inset-bottom,0px);position:fixed;bottom:0;left:0;right:0}body{padding-bottom:var(--lang-hint-h,0px)}.lang-strip-inner{max-width:var(--page-max);padding:6px var(--space-6);align-items:center;gap:var(--space-2) var(--space-4);font-size:var(--text-sm);flex-wrap:wrap;margin:0 auto;display:flex}.lang-strip .icon-sm{color:var(--color-info)}.lang-strip a{color:var(--color-ink);font-weight:var(--weight-semibold)}.lang-strip .btn-link{color:var(--color-ink-2)}body[data-app=ready] .lang-strip-inner{max-width:none}.section{max-width:var(--page-max);padding:var(--space-14) var(--space-6);margin:0 auto}.section-tight{padding-top:0}.section-head{gap:var(--space-2);margin-bottom:var(--space-6);flex-direction:column;max-width:40em;display:flex}.section h2{font-family:var(--font-display);font-size:clamp(28px,3.4vw,40px);line-height:1.1;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-heading);margin:0}.section-head p{color:var(--color-ink-2);font-size:var(--text-lg);margin:0}.grid-3{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));margin:0;padding:0;list-style:none;display:grid}.tile{padding:var(--space-6);border-radius:var(--radius-lg);background:var(--color-surface);gap:var(--space-2);flex-direction:column;display:flex}.tile h3{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-semibold);letter-spacing:-.01em;margin:0}.tile p{color:var(--color-ink-2);margin:0}.step-num{border-radius:var(--radius-pill);background:var(--color-accent-soft);width:36px;height:36px;color:var(--color-accent-soft-ink);font-weight:var(--weight-bold);place-items:center;display:grid}.feature-icon{border-radius:var(--radius-md);background:var(--color-surface-2);width:44px;height:44px;color:var(--color-ink);margin-bottom:var(--space-2);place-items:center;display:grid}.example{padding:0;overflow:hidden}.example .thumb{aspect-ratio:25/16;background:var(--well-bg);position:relative}.example .thumb img{object-fit:cover;width:100%;height:100%}.example .thumb svg{width:100%;height:100%;position:absolute;inset:0}.overlay .sh-sel{fill:var(--shape-selected-fill);stroke:var(--shape-selected-stroke);stroke-width:var(--shape-selected-stroke-width)}.overlay .sh-hover{fill:var(--shape-hover-fill);stroke:var(--shape-hover-stroke);stroke-width:var(--shape-hover-stroke-width)}.example .meta{padding:var(--space-5);gap:var(--space-2);flex-direction:column;display:flex}.example .meta a{font-weight:var(--weight-semibold);min-height:var(--control-sm);align-self:flex-start;align-items:center;gap:6px;display:inline-flex}.faq{gap:var(--space-2);flex-direction:column;min-width:0;max-width:820px;display:flex}.faq details{border-radius:var(--radius-md);background:var(--color-surface)}.faq summary{align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-3) var(--space-5);cursor:pointer;font-weight:var(--weight-semibold);font-size:var(--text-base);border-radius:var(--radius-md);list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary .chev{width:18px;height:18px;transition:transform var(--duration) var(--ease-out);flex:none;margin-left:auto}.faq details[open] summary .chev{transform:rotate(180deg)}.faq .answer{padding:0 var(--space-5) var(--space-5);color:var(--color-ink-2)}.faq .answer p{margin:0}.privacy-band{background:var(--color-ink);color:var(--color-bg)}.privacy-band .section{gap:var(--space-6);grid-template-columns:auto 1fr;align-items:start;display:grid}.privacy-band h2{color:var(--color-bg)}.privacy-band p{margin:var(--space-3) 0 0;max-width:40em;font-size:var(--text-lg);color:var(--color-bg);opacity:.86}.privacy-band .big-icon{border-radius:var(--radius-lg);color:#f26a3a;background:#ffffff14;place-items:center;width:64px;height:64px;display:grid}.privacy-band a{color:var(--color-bg);text-decoration-thickness:1.5px}.privacy-band a:hover{color:var(--color-bg);text-decoration-thickness:2.5px}.privacy-band .privacy-more{opacity:1}.legal{max-width:46em;padding:var(--space-8) var(--space-6) var(--space-14);margin:0 auto}.legal-head{align-items:center;gap:var(--space-5);margin-bottom:var(--space-6);display:flex}.legal-head .big-icon{border-radius:var(--radius-lg);background:var(--color-ink);color:#f26a3a;flex:none;place-items:center;width:64px;height:64px;display:grid}.legal h1{font-family:var(--font-display);font-size:clamp(36px,5vw,56px);line-height:1.05;font-weight:var(--weight-bold);letter-spacing:var(--tracking-display);margin:0}.legal-updated{margin:var(--space-2) 0 0;color:var(--color-muted);font-size:var(--text-sm)}.legal-lead{margin:0 0 var(--space-4);color:var(--color-ink-2);font-size:19px}.legal h2{margin:var(--space-10) 0 var(--space-3);font-family:var(--font-display);font-size:var(--text-2xl);line-height:1.15;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-heading);scroll-margin-top:var(--space-6)}.legal p,.legal li{color:var(--color-ink-2)}.legal p{margin:var(--space-3) 0 0}.legal ul{margin:var(--space-3) 0 0;gap:var(--space-2);flex-direction:column;padding-left:1.25em;display:flex}.legal strong{color:var(--color-ink);font-weight:var(--weight-semibold)}.legal code{font-family:var(--font-mono);border-radius:var(--radius-xs);background:var(--color-surface-2);padding:1px 5px;font-size:.92em}.legal address{margin:var(--space-4) 0 0;padding:var(--space-5) var(--space-6);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-ink-2);font-style:normal}.site-footer nav a[aria-current=page]{color:var(--color-ink);font-weight:var(--weight-semibold)}.faq-layout{grid-template-columns:minmax(0,820px) 300px;justify-content:space-between;align-items:start;gap:48px;display:grid}.faq-layout:has(>.ad-slot[hidden]){grid-template-columns:minmax(0,820px)}.ad-slot{width:300px;height:250px;top:var(--space-6);border-radius:var(--radius-sm);grid-area:1/2;place-items:center;display:grid;position:sticky;overflow:hidden}.site-footer{border-top:1px solid var(--color-line)}.site-footer .inner{max-width:var(--page-max);padding:var(--space-8) var(--space-6) var(--space-10);gap:var(--space-4) var(--space-8);font-size:var(--text-sm);color:var(--color-ink-2);flex-wrap:wrap;align-items:center;margin:0 auto;display:flex}.site-footer .brand{font-size:17px}.site-footer .logo{width:24px;height:24px}.site-footer nav{gap:var(--space-2) var(--space-5);flex-wrap:wrap;display:flex}.site-footer a{color:var(--color-ink-2)}.site-footer nav a{align-items:center;min-height:32px;display:inline-flex}.site-footer .spacer{flex:1}@media (max-width:720px){.show-sm{display:inline-flex!important}.hide-sm{display:none!important}.site-header{padding:var(--space-3) var(--space-4)}.hero{padding:var(--space-4) var(--space-4) var(--space-10);gap:var(--space-4)}.hero-tool{padding:var(--space-4);gap:var(--space-4)}.hero-tool .art{width:100%}.example-picks{grid-template-columns:repeat(3,minmax(0,1fr))}.section{padding:var(--space-10) var(--space-4)}.section-tight{padding-top:0}.privacy-band .section,.faq-layout{grid-template-columns:1fr}.ad-slot{grid-area:2/1;margin:0 auto;position:static}.site-nav{gap:var(--space-1) var(--space-4);font-size:var(--text-md)}.site-nav a,.site-footer nav a,.example .meta a{min-height:var(--touch-min);align-items:center;display:inline-flex}.site-nav a:not(.lang-link){display:none}.privacy-note{text-align:left;align-items:flex-start}.privacy-note>.icon-sm{margin-top:3px}.site-footer .inner{padding:var(--space-6) var(--space-4) var(--space-8);align-items:flex-start;gap:var(--space-3);flex-direction:column}.site-footer .spacer{display:none}.topbar{height:56px;padding:0 var(--space-2) 0 var(--space-3);gap:var(--space-1)}.topbar .brand .word{display:none}.topbar .brand{min-width:var(--touch-min);min-height:var(--touch-min);justify-content:center}.save-state .save-label{display:none}.file-chip .name,.file-chip .size{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.image-info:after{content:attr(data-short);content:attr(data-short) / "";font-size:var(--text-2xs);color:var(--color-ink-2);white-space:nowrap;font-variant-numeric:tabular-nums}.file-chip{flex:none;padding:6px 8px}.file-chip>.icon-sm{display:none}.btn-collapse .btn-label{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn-collapse>.icon-sm{display:block!important}.btn-collapse{width:var(--touch-min);padding:0}.lang-switch{padding:0 var(--space-1);min-width:var(--touch-min)}.lang-long{display:none}.lang-short{display:inline}.topbar{position:relative}.menu-wrap{position:static}.menu{left:var(--space-2);right:var(--space-2);width:auto;min-width:0;max-width:none;max-height:calc(100dvh - 120px);top:calc(100% + 4px);overflow:auto}.menu-item{min-height:var(--touch-min)}.topbar{gap:2px}.workspace{flex-direction:column;gap:0;padding:0}.stage{border-radius:0;flex:auto;min-height:0}.canvas{--fit-top:64px;--fit-right:8px;--fit-bottom:92px;--fit-left:8px;--fit-pad:0}.canvas:focus-visible{border-radius:0}.toolbar{top:var(--space-2);scrollbar-width:none;max-width:calc(100% - 16px);overflow-x:auto}.tool-group{padding:0 2px}.btn-icon{width:var(--touch-min);height:var(--touch-min)}.hint-bubble,.tooltip,.coords-chip{display:none!important}.stage-chip.top-right{top:68px;right:var(--space-2)}.stage-chip kbd{display:none}.workspace{position:relative}.panel{z-index:var(--z-panel);width:auto;height:calc(var(--sheet-peek) + env(safe-area-inset-bottom,0px));padding:0 var(--space-3) calc(var(--space-3) + env(safe-area-inset-bottom,0px));gap:var(--space-2);background:var(--color-bg);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--shadow-3);transition:height var(--duration-slow) var(--ease-out);flex:none;scroll-padding-top:64px;position:absolute;bottom:0;left:0;right:0}.panel.is-dragging{transition:none}.app-root[data-sheet=peek] .panel{overflow:hidden}.app-root[data-sheet=peek] .panel>.card:not(.wand-bar){visibility:hidden}.app-root[data-sheet=peek] .wand-bar{padding:var(--space-3)}.app-root[data-sheet=peek] .wand-bar>:not(.wand-dock){display:none}.app-root[data-sheet=peek] .wand-dock .wand-status{max-height:4.4em;overflow:auto}.sheet-handle{align-items:center;gap:var(--space-3);z-index:2;width:calc(100% + 2 * var(--space-3));min-height:64px;margin:0 calc(-1 * var(--space-3));padding:18px var(--space-4) 6px;border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--color-bg);color:var(--color-ink);text-align:left;touch-action:none;cursor:grab;border:0;flex:none;display:flex;position:sticky;top:0}.sheet-handle:before{content:"";background:var(--color-line);border-radius:3px;width:40px;height:5px;margin-left:-20px;position:absolute;top:8px;left:50%}.sheet-handle:focus-visible{outline-offset:-3px;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.sheet-sum{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-semibold);flex:none;align-items:center;gap:6px;display:inline-flex}.sheet-selected{text-overflow:ellipsis;white-space:nowrap;text-align:right;min-width:0;color:var(--color-ink-2);font-size:var(--text-sm);flex:1;overflow:hidden}.area .drag{display:none}.area .actions .btn-icon,.area .reorder .btn-icon,.icon-toggle{width:var(--touch-min);height:var(--touch-min)}.area.is-selected,.area:focus-within{padding-bottom:var(--space-1);flex-wrap:wrap}.area.is-selected .reorder,.area:focus-within .reorder{order:1;justify-content:flex-end;width:100%}.area-list{max-height:none}.stage-dock{left:var(--space-2);right:var(--space-2);bottom:calc(var(--sheet-h,0px) + var(--space-3));max-height:calc(100% - 140px - var(--sheet-h,0px))}.draw-bar{justify-content:flex-end;align-self:stretch;padding:6px}body[data-app=ready] .toast-stack,body[data-app=ready] .app-root[data-panel=hidden]>.toast-stack{left:var(--space-2);right:var(--space-2);width:auto;bottom:calc(min(var(--sheet-h,0px), 50%) + var(--space-3) + var(--dock-h,0px));max-height:40%}.alert .btn-icon{width:var(--touch-min);height:var(--touch-min);margin:-10px -8px -10px 0}.wand-dock{order:-1;gap:6px}.wand-dock .wand-status{color:var(--color-ink);background:0 0;padding:0}dialog.dialog,dialog.dialog.sm,dialog.dialog.lg{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:100%;max-height:92dvh;margin:auto 0 0}.dialog-head,.dialog-body,.dialog-foot,.dialog-lead{padding-left:var(--space-4);padding-right:var(--space-4)}.dialog-foot .btn{flex:auto}.tabpanel.has-preview,.compare,.field-row{grid-template-columns:minmax(0,1fr)}.code{height:28dvh;min-height:140px}body[data-app=ready] .drop-overlay{border-radius:0;inset:56px 0 0}}@media (max-width:380px){.file-chip{display:none}}@media (max-width:720px),(pointer:coarse){.editor{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}.editor input,.editor textarea,.editor select,.editor [contenteditable]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}}html[data-full],html[data-full] body{overscroll-behavior:none;overflow:hidden}html[data-full] .app-root{z-index:40;background:var(--color-bg);max-width:none;position:fixed;inset:0}html[data-full] .editor{height:100%;min-height:0;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) 0 env(safe-area-inset-left,0px)}html[data-full] .topbar .brand,html[data-full] .topbar .lang-switch,html[data-full] .lang-strip{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .badge-suggest{color:#cdbeff;background:#2b2346}:root:not([data-theme=light]) .proposal-row:hover,:root:not([data-theme=light]) .proposal-row.active{background:#2b2346}}:root[data-theme=dark] .badge-suggest{color:#cdbeff;background:#2b2346}:root[data-theme=dark] .proposal-row:hover,:root[data-theme=dark] .proposal-row.active{background:#2b2346}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:0s!important;animation-duration:0s!important}}.tip-dialog .dialog-head h2{font-size:var(--text-xl)}.tip-card{align-items:center;gap:var(--space-2) var(--space-4);margin:0 var(--space-6);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1.5px solid var(--color-line);background:var(--color-info-soft);flex-wrap:wrap;display:flex}.tip-card p{font-size:var(--text-sm);color:var(--color-ink-2);flex:260px;margin:0}.tip-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}@media (max-width:720px){.tip-card{margin:0 var(--space-4)}}
