:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--g-bg:#0f1115;--g-surface:#171a21;--g-surface-2:#2c303a;--g-line:#262a33;--g-line-strong:#626875;--g-control-border:#ffffff59;--g-input-border:#fff6;--g-text:#e8e8ea;--g-muted:#a7adba;--g-faint:#828a98;--g-brand:#ff4d1c;--g-brand-fill:#d63a0c;--g-brand-hover:#b8310a;--g-brand-contrast:#fff;--g-brand-link:#ff8a66;--g-brand-tint:#ff4d1c29;--g-danger:#ff7a7a;--g-danger-tint:#ff7a7a29;--g-danger-fill:#be123c;--g-danger-hover:#9f1239;--g-danger-contrast:#fff;--g-warning:#ffc24b;--g-warning-tint:#ffc24b29;--g-success:#6fcf97;--g-success-tint:#6fcf9729;--g-info:#8ba3f0;--g-info-tint:#8ba3f029;--g-badge-success-bg:#163a2b;--g-badge-success-text:#5fd38a;--g-badge-warning-bg:#4a3a05;--g-badge-warning-text:#ffd24d;--g-badge-danger-bg:#4a1c1c;--g-badge-danger-text:#ff9a9a;--g-badge-info-bg:#14305c;--g-badge-info-text:#7fb2ff;--g-badge-neutral-bg:#2c3238;--g-badge-neutral-text:#c4ccd4;--g-badge-brand-bg:var(--g-brand-fill);--g-badge-brand-text:var(--g-brand-contrast);--g-hover-tint:#ffffff0f;--g-focus:var(--g-text);--g-skeleton:#2c303a;--g-loading-delay:.3s;--g-pulse-duration:1.6s;--g-spinner-s:16px;--g-spinner-m:24px;--g-spinner-stroke:2px;--g-scrollbar-thumb:var(--g-line-strong);--g-scrollbar-thumb-hover:var(--g-muted);--g-font:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--g-font-display:var(--g-font);--g-font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--g-text-xs:11px;--g-lh-xs:16px;--g-text-s:12px;--g-lh-s:16px;--g-text-m:14px;--g-lh-m:20px;--g-text-l:16px;--g-lh-l:24px;--g-text-xl:18px;--g-lh-xl:26px;--g-text-2xl:20px;--g-lh-2xl:28px;--g-text-3xl:24px;--g-lh-3xl:32px;--g-text-4xl:32px;--g-lh-4xl:40px;--g-text-5xl:48px;--g-lh-5xl:56px;--g-weight-regular:400;--g-weight-strong:600;--g-weight-title:700;--g-space-1:4px;--g-space-2:8px;--g-space-3:12px;--g-space-4:16px;--g-space-5:20px;--g-space-6:24px;--g-space-8:32px;--g-space-10:40px;--g-control-s:28px;--g-control-m:32px;--g-control-l:40px;--g-control-xl:44px;--g-radius-s:4px;--g-radius-m:8px;--g-radius-l:12px;--g-radius-pill:999px;--g-btn-radius:var(--g-radius-m);--g-shadow-1:0 8px 24px #00000073;--g-shadow-2:0 16px 48px #0000008c}:root[data-admin-theme=light],:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--g-bg:#f3f4f7;--g-surface:#fff;--g-surface-2:#e6e9ef;--g-line:#dfe2e8;--g-line-strong:#868b96;--g-control-border:#949494;--g-input-border:#8a8a8a;--g-text:#16181d;--g-muted:#565d6b;--g-faint:#646b79;--g-brand:#d63a0c;--g-brand-fill:#d63a0c;--g-brand-hover:#b8310a;--g-brand-contrast:#fff;--g-brand-link:#c93509;--g-brand-tint:#c935091a;--g-danger:#c62828;--g-danger-tint:#c628281a;--g-danger-fill:#be123c;--g-danger-hover:#9f1239;--g-danger-contrast:#fff;--g-warning:#8a5a00;--g-warning-tint:#e6910a24;--g-success:#1b7a43;--g-success-tint:#1b7a431a;--g-info:#2447c4;--g-info-tint:#2447c41a;--g-badge-success-bg:#dff3e8;--g-badge-success-text:#17683a;--g-badge-warning-bg:#ffe9a8;--g-badge-warning-text:#6b4a00;--g-badge-danger-bg:#fde2e2;--g-badge-danger-text:#a3201f;--g-badge-info-bg:#dce9ff;--g-badge-info-text:#1a4fb5;--g-badge-neutral-bg:#e3e7eb;--g-badge-neutral-text:#3f4852;--g-hover-tint:#16181d0d;--g-skeleton:#e3e6ec;--g-shadow-1:0 8px 24px #14182324;--g-shadow-2:0 16px 48px #1418232e}@media (prefers-color-scheme:light){:root:not([data-admin-theme=dark]):not([data-theme=dark]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--g-bg:#f3f4f7;--g-surface:#fff;--g-surface-2:#e6e9ef;--g-line:#dfe2e8;--g-line-strong:#868b96;--g-control-border:#949494;--g-input-border:#8a8a8a;--g-text:#16181d;--g-muted:#565d6b;--g-faint:#646b79;--g-brand:#d63a0c;--g-brand-fill:#d63a0c;--g-brand-hover:#b8310a;--g-brand-contrast:#fff;--g-brand-link:#c93509;--g-brand-tint:#c935091a;--g-danger:#c62828;--g-danger-tint:#c628281a;--g-danger-fill:#be123c;--g-danger-hover:#9f1239;--g-danger-contrast:#fff;--g-warning:#8a5a00;--g-warning-tint:#e6910a24;--g-success:#1b7a43;--g-success-tint:#1b7a431a;--g-info:#2447c4;--g-info-tint:#2447c41a;--g-badge-success-bg:#dff3e8;--g-badge-success-text:#17683a;--g-badge-warning-bg:#ffe9a8;--g-badge-warning-text:#6b4a00;--g-badge-danger-bg:#fde2e2;--g-badge-danger-text:#a3201f;--g-badge-info-bg:#dce9ff;--g-badge-info-text:#1a4fb5;--g-badge-neutral-bg:#e3e7eb;--g-badge-neutral-text:#3f4852;--g-hover-tint:#16181d0d;--g-skeleton:#e3e6ec;--g-shadow-1:0 8px 24px #14182324;--g-shadow-2:0 16px 48px #1418232e}}@keyframes g-loading-in{0%{opacity:0}to{opacity:1}}@keyframes g-pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes g-spin{to{transform:rotate(360deg)}}.g-loading{gap:var(--g-space-3);display:grid}.g-skeleton{min-height:var(--g-space-3);border-radius:var(--g-radius-s);background:var(--g-skeleton);animation:g-loading-in 0s linear var(--g-loading-delay) both, g-pulse var(--g-pulse-duration) ease-in-out var(--g-loading-delay) infinite;display:block}.g-skeleton--line{height:var(--g-space-3)}.g-skeleton--line:last-child:not(:first-child){width:60%}.g-skeleton--title{height:var(--g-space-5);width:40%}.g-skeleton--circle{width:var(--g-control-m);height:var(--g-control-m);border-radius:var(--g-radius-pill)}.g-skeleton--block{border-radius:var(--g-radius-m);height:120px}.g-spinner{vertical-align:middle;width:var(--g-spinner-m);height:var(--g-spinner-m);border:var(--g-spinner-stroke) solid var(--g-brand-tint);border-top-color:var(--g-brand);border-radius:var(--g-radius-pill);animation:g-loading-in 0s linear var(--g-loading-delay) both, g-spin .8s linear var(--g-loading-delay) infinite;flex:none;display:inline-block}.g-spinner--s{width:var(--g-spinner-s);height:var(--g-spinner-s)}.g-spinner--on-fill{border-color:#ffffff59;border-top-color:var(--g-brand-contrast)}.g-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}@media (prefers-reduced-motion:reduce){.g-skeleton{animation:g-loading-in 0s linear var(--g-loading-delay) both}.g-spinner{animation:g-loading-in 0s linear var(--g-loading-delay) both, g-spin 2.4s linear var(--g-loading-delay) infinite}}:where(.g-slim-scroll,.g-slim-scroll *):not(html,body,.g-page-scroll)::-webkit-scrollbar{width:8px;height:8px}:where(.g-slim-scroll,.g-slim-scroll *):not(html,body,.g-page-scroll)::-webkit-scrollbar-track{background:0 0}:where(.g-slim-scroll,.g-slim-scroll *):not(html,body,.g-page-scroll)::-webkit-scrollbar-corner{background:0 0}:where(.g-slim-scroll,.g-slim-scroll *):not(html,body,.g-page-scroll)::-webkit-scrollbar-thumb{background:var(--g-scrollbar-thumb) padding-box;border-radius:var(--g-radius-pill);border:2px solid #0000}:where(.g-slim-scroll,.g-slim-scroll *):not(html,body,.g-page-scroll):hover::-webkit-scrollbar-thumb{background-color:var(--g-scrollbar-thumb-hover)}@supports not selector(::-webkit-scrollbar){:where(.g-slim-scroll,.g-slim-scroll *):not(html,body,.g-page-scroll){scrollbar-width:thin;scrollbar-color:var(--g-scrollbar-thumb) transparent}:where(.g-slim-scroll,.g-slim-scroll *):not(html,body,.g-page-scroll):hover{scrollbar-color:var(--g-scrollbar-thumb-hover) transparent}}@keyframes g-update-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.g-update-notice{left:var(--g-space-4);bottom:calc(var(--g-update-notice-bottom,var(--g-space-4)) + env(safe-area-inset-bottom,0px));z-index:2147483000;gap:var(--g-space-2) var(--g-space-3);width:min(360px, calc(100vw - 2 * var(--g-space-4)));box-sizing:border-box;padding:var(--g-space-3) var(--g-space-3) var(--g-space-3) var(--g-space-4);background:var(--g-surface);color:var(--g-text);border:1px solid var(--g-line);border-radius:var(--g-radius-l);box-shadow:var(--g-shadow-2);font-family:var(--g-font);font-size:var(--g-text-s);line-height:var(--g-lh-s);text-align:left;grid-template-columns:auto 1fr;animation:.2s ease-out both g-update-in;display:grid;position:fixed}.g-update-notice-icon{width:18px;height:18px;color:var(--g-brand);justify-content:center;align-items:center;margin-top:1px;line-height:1;display:inline-flex;font-size:18px!important}.g-update-notice-text{gap:2px;min-width:0;display:grid}.g-update-notice-title{font-size:var(--g-text-m);line-height:var(--g-lh-m);font-weight:var(--g-weight-strong)}.g-update-notice-line{color:var(--g-muted)}.g-update-notice-actions{justify-content:flex-end;gap:var(--g-space-2);grid-column:2;display:flex}.g-update-notice-btn{justify-content:center;align-items:center;gap:var(--g-space-2);height:var(--g-control-s);padding:0 var(--g-space-3);border-radius:var(--g-btn-radius);font:inherit;font-weight:var(--g-weight-strong);cursor:pointer;white-space:nowrap;border:1px solid #0000;display:inline-flex}.g-update-notice-btn:focus-visible{outline:2px solid var(--g-focus);outline-offset:2px}.g-update-notice-later{color:var(--g-text);background:0 0}.g-update-notice-later:hover{background:var(--g-hover-tint)}.g-update-notice-refresh{background:var(--g-brand-fill);color:var(--g-brand-contrast)}.g-update-notice-refresh:hover{background:var(--g-brand-hover)}@media (width<=480px){.g-update-notice{right:var(--g-space-4);width:auto}.g-update-notice-btn{height:var(--g-control-l)}}@media (prefers-reduced-motion:reduce){.g-update-notice{animation:none}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--g-bg);color:var(--g-text);font:var(--g-weight-regular) var(--g-text-m)/var(--g-lh-m) var(--g-font);-webkit-font-smoothing:antialiased;overflow:hidden}button,input{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--g-focus);outline-offset:2px}h2,h3,p,ul{margin:0}.app{grid-template-rows:56px minmax(0,1fr);height:100%;display:grid;position:relative}.app.is-editor{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"top top top""dockl stage dock"}.app.is-home{grid-template-columns:minmax(0,1fr);grid-template-areas:"top""home"}.app.has-tabs{grid-template-rows:56px auto minmax(0,1fr)}.app.is-editor.has-tabs{grid-template-areas:"top top top""tabs tabs tabs""dockl stage dock"}.app.is-home.has-tabs{grid-template-areas:"top""tabs""home"}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.file-tabs{background:var(--g-bg);border-bottom:1px solid var(--g-line);scrollbar-width:none;grid-area:tabs;height:36px;display:flex;overflow:auto hidden}.file-tabs::-webkit-scrollbar{display:none}.file-tab-home{border:0;border-right:1px solid var(--g-line);width:44px;color:var(--g-muted);background:0 0;flex:none;place-items:center;display:grid}.file-tab-home:hover{background:var(--g-hover-tint);color:var(--g-text)}.file-tab-home.is-on{background:var(--g-surface);color:var(--g-text);box-shadow:inset 0 2px 0 var(--g-brand);margin-bottom:-1px}.file-tab-home:focus-visible{outline-offset:-2px}.file-tab{border-right:1px solid var(--g-line);min-width:120px;color:var(--g-muted);flex:0 200px;align-items:center;display:flex;position:relative}.file-tab:hover{background:var(--g-hover-tint)}.file-tab.is-on{background:var(--g-surface);color:var(--g-text);box-shadow:inset 0 2px 0 var(--g-brand);margin-bottom:-1px}.file-tab.is-dragging{opacity:.5}.file-tab-name{align-items:center;gap:var(--g-space-1);min-width:0;height:100%;padding:0 0 0 var(--g-space-3);font-size:var(--g-text-s);font-weight:var(--g-weight-strong);color:inherit;text-align:left;background:0 0;border:0;flex:1;display:flex}.file-tab-name span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-tab-name:focus-visible{outline-offset:-2px}.file-tab-error{color:var(--g-danger);flex:none}.file-tab-close{width:24px;height:24px;margin:0 var(--g-space-1);border-radius:var(--g-radius-s);color:var(--g-muted);opacity:0;background:0 0;border:0;flex:none;place-items:center;display:grid}.file-tab:hover .file-tab-close,.file-tab.is-on .file-tab-close,.file-tab-close:focus-visible{opacity:1}.file-tab-close:hover{background:var(--g-hover-tint);color:var(--g-text)}@media (pointer:coarse){.file-tabs{height:var(--g-control-xl)}.file-tab-close{opacity:1;width:var(--g-control-l);height:var(--g-control-l);margin:0}}.topbar{align-items:center;gap:var(--g-space-4);padding:0 var(--g-space-3);border-bottom:1px solid var(--g-line);background:var(--g-surface);grid-area:top;display:flex}.brand{align-items:center;gap:var(--g-space-2);flex:1;min-width:0;display:flex}.logo{width:28px;height:28px;color:var(--g-brand);place-items:center;display:grid}.app-title{white-space:nowrap;font-size:var(--g-text-xl);line-height:var(--g-lh-xl);font-weight:var(--g-weight-title);color:var(--g-text);border-radius:var(--g-radius-s);flex-shrink:0;text-decoration:none}.divider{background:var(--g-line);width:1px;height:20px;margin:0 var(--g-space-1)}.doc-icon{color:var(--g-muted);flex:none}.save-state{align-items:center;gap:var(--g-space-1);font-size:var(--g-text-s);color:var(--g-faint);white-space:nowrap;display:inline-flex}.save-state.is-saved svg{color:var(--g-success)}.save-state.is-error{color:var(--g-danger)}.save-wrap{display:inline-flex;position:relative}button.save-state{border-radius:var(--g-radius-s);padding:2px var(--g-space-1);font:inherit;font-size:var(--g-text-s);cursor:pointer;background:0 0;border:0}button.save-state:hover{background:var(--g-danger-tint)}.save-pop{right:0;top:calc(100% + var(--g-space-2));z-index:20;background:var(--g-surface);border:1px solid var(--g-line);border-radius:var(--g-radius-l);width:300px;box-shadow:var(--g-shadow-2);padding:var(--g-space-3);gap:var(--g-space-2);font-size:var(--g-text-m);white-space:normal;flex-direction:column;align-items:flex-start;display:flex;position:absolute}.save-pop p{margin:0}.top-actions>.save-state,.top-actions>.save-wrap{margin-right:var(--g-space-1)}@media (width<=700px){.save-pop{left:var(--g-space-4);right:var(--g-space-4);top:calc(56px + var(--g-space-2));width:auto;position:fixed}}.name{border-radius:var(--g-radius-s);font-weight:var(--g-weight-strong);field-sizing:content;text-overflow:ellipsis;background:0 0;border:1px solid #0000;flex:0 auto;width:auto;min-width:80px;max-width:100%;padding:2px 6px}.name:hover,.name:focus{border-color:var(--g-control-border)}.top-actions{align-items:center;gap:var(--g-space-2);flex-shrink:0;display:flex}.btn{height:var(--g-control-m);padding:0 var(--g-space-3);border-radius:var(--g-btn-radius);border:1px solid var(--g-control-border);font-size:var(--g-text-s);font-weight:var(--g-weight-strong);white-space:nowrap;background:0 0;align-items:center;gap:6px;display:inline-flex}.btn:hover:not(:disabled){background:var(--g-hover-tint)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--g-brand-fill);border-color:var(--g-brand-fill);color:var(--g-brand-contrast)}.btn.primary:hover:not(:disabled){background:var(--g-brand-hover)}.icon-btn{width:var(--g-control-m);height:var(--g-control-m);border-radius:var(--g-radius-m);color:var(--g-muted);background:0 0;border:0;place-items:center;display:grid}.icon-btn:hover:not(:disabled),.icon-btn.is-on{background:var(--g-hover-tint);color:var(--g-text)}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.btn.danger{color:var(--g-danger);border-color:var(--g-danger)}.btn.wide{justify-content:center;width:100%}.account{position:relative}.menu{right:0;top:calc(100% + var(--g-space-2));z-index:20;background:var(--g-surface);border:1px solid var(--g-line);border-radius:var(--g-radius-l);width:260px;box-shadow:var(--g-shadow-2);padding:var(--g-space-2);position:absolute}.menu-who{padding:var(--g-space-2);border-bottom:1px solid var(--g-line);margin-bottom:var(--g-space-1);flex-direction:column;display:flex}.menu-who span{font-size:var(--g-text-s);color:var(--g-muted)}.menu-row{align-items:center;gap:var(--g-space-2);padding:var(--g-space-1) var(--g-space-2);display:flex}.menu-row>span{flex:1}.menu-item{align-items:center;gap:var(--g-space-2);width:100%;height:var(--g-control-m);padding:0 var(--g-space-2);border-radius:var(--g-radius-m);font-size:var(--g-text-m);text-align:left;margin-top:var(--g-space-1);background:0 0;border:0;display:flex}.menu-item:hover{background:var(--g-hover-tint)}.menu-version{margin-top:var(--g-space-2);padding:var(--g-space-2) var(--g-space-2) 0;border-top:1px solid var(--g-line);font-size:var(--g-text-xs);line-height:var(--g-lh-xs);color:var(--g-muted)}.menu-icon{color:var(--g-muted)}.send{position:relative}.send-menu{width:280px}.menu-item.tall{height:auto;padding:var(--g-space-2)}.menu-item.tall span{flex-direction:column;display:flex}.menu-item.tall small{font-size:var(--g-text-s);color:var(--g-muted)}.send-hint{margin:var(--g-space-2) var(--g-space-2) var(--g-space-1)}.theme-toggle{border:1px solid var(--g-line-strong);border-radius:var(--g-radius-pill);gap:2px;padding:2px;display:flex}.theme-toggle button{width:var(--g-control-s);height:var(--g-control-s);border-radius:var(--g-radius-pill);color:var(--g-muted);background:0 0;border:0;place-items:center;display:grid}.theme-toggle button:hover{background:var(--g-hover-tint)}.theme-toggle button[aria-pressed=true]{background:var(--g-brand-fill);color:var(--g-brand-contrast)}.panel-body{padding:var(--g-space-2) var(--g-space-3) var(--g-space-3);gap:var(--g-space-2);flex-direction:column;display:flex}.properties{gap:0;padding-top:0}.panel-actions{gap:var(--g-space-2);display:flex}.dock{background:var(--g-surface);border-left:1px solid var(--g-line);grid-area:dock;min-height:0;display:flex}.dock.is-left{border-left:0;border-right:1px solid var(--g-line);grid-area:dockl}.dock.is-left .dock-col-head{justify-content:flex-start}.dock.is-left .dock-col.is-icons .dock-col-head{justify-content:center}.dock.is-left .dock-width{left:auto;right:-4px}.dock.is-left .dock-flyout{border-right:1px solid var(--g-line);border-left:0;left:100%;right:auto}.dock.is-empty{z-index:9;border:0;width:0;position:relative;overflow:visible}.dock.is-empty .dock-edge{position:absolute;top:0;bottom:0}.dock.is-left.is-empty .dock-edge{left:0}.dock.is-right.is-empty .dock-edge{right:0}.dock.is-left.is-empty .dock-edge.is-live:after{inset:0 -40px 0 0}.dock.is-right.is-empty .dock-edge.is-live:after{inset:0 0 0 -40px}.dock.is-left.is-empty .dock-edge.is-target:before{left:0}.dock.is-right.is-empty .dock-edge.is-target:before{left:-4px}.dock-col{flex-direction:column;flex:none;width:280px;min-height:0;display:flex;position:relative}.dock-col-head{height:20px;padding:0 var(--g-space-1);border-bottom:1px solid var(--g-line);flex:none;justify-content:flex-end;align-items:center;display:flex}.dock-col-head .mini-btn{width:20px;height:18px}.dock-col-head .mini-btn svg{width:16px;height:16px}.dock-col.is-icons{align-items:stretch;width:44px}.dock-col.is-icons .dock-col-head{justify-content:center}.dock-icons{padding:var(--g-space-1) 0;border-bottom:1px solid var(--g-line);flex-direction:column;align-items:center;gap:2px;display:flex}.dock-icon{border-radius:var(--g-radius-m);width:32px;height:32px;color:var(--g-muted);background:0 0;border:0;place-items:center;padding:0;display:grid}.dock-icon svg{width:20px;height:20px}.dock-icon:hover{color:var(--g-text);background:var(--g-hover-tint)}.dock-icon.is-on{color:var(--g-brand);background:var(--g-brand-tint)}.dock-flyout{z-index:15;background:var(--g-surface);border:1px solid var(--g-line);box-shadow:var(--g-shadow-2);border-right:0;flex-direction:column;display:flex;position:absolute;top:0;bottom:0;right:100%}.dock-flyout .dock-tab{cursor:default}.dock-width{cursor:col-resize;z-index:3;width:8px;position:absolute;top:0;bottom:0;left:-4px}.dock-width:hover,.dock-width:focus-visible,.dock-width.is-on{background:linear-gradient(90deg,transparent 3px,var(--g-brand) 3px,var(--g-brand) 5px,transparent 5px);outline:none}body.is-col-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.dock-col+.dock-edge+.dock-col{border-left:1px solid var(--g-line)}.dock-edge{flex:none;width:0;position:relative}.dock-edge.is-live:after{content:"";z-index:3;position:absolute;inset:0 -8px}.dock-edge.is-target:before{content:"";background:var(--g-brand);z-index:4;width:4px;position:absolute;top:0;bottom:0;left:-2px}.dock-group{border-bottom:1px solid var(--g-line);flex-direction:column;flex:1 1 0;min-height:0;display:flex;position:relative}.dock-group:last-child{border-bottom:0}.dock-group.is-collapsed{flex:none}.dock-group.drop-above:before,.dock-group.drop-below:after{content:"";background:var(--g-brand);z-index:4;height:4px;position:absolute;left:0;right:0}.dock-group.drop-above:before{top:-2px}.dock-group.drop-below:after{bottom:-2px}.dock-group.drop-tabs>.dock-tabs{box-shadow:inset 0 0 0 2px var(--g-brand)}.dock-tabs{height:var(--g-control-l);padding:0 var(--g-space-1) 0 var(--g-space-2);border-bottom:1px solid var(--g-line);flex:none;align-items:center;gap:2px;display:flex}.dock-group.is-collapsed .dock-tabs{border-bottom:0}.dock-tabs-fill{flex:1;align-self:stretch}.dock-tab{height:28px;padding:0 var(--g-space-2);border-radius:var(--g-radius-m);color:var(--g-muted);font-size:var(--g-text-s);font-weight:var(--g-weight-strong);white-space:nowrap;cursor:grab;background:0 0;border:0;align-items:center;gap:6px;display:inline-flex}.dock-tab svg{flex:none;width:18px;height:18px}.dock-tabs.is-tight .dock-tab:not(.is-on){gap:0}.dock-tabs.is-tight .dock-tab:not(.is-on) .dock-tab-label{width:0;overflow:hidden}.dock-tab:hover{color:var(--g-text);background:var(--g-hover-tint)}.dock-tab.is-on{color:var(--g-text);background:var(--g-bg)}.dock-body{flex:1;min-height:0;overflow:auto}.dock-resizer{cursor:row-resize;z-index:2;height:8px;position:absolute;bottom:-4px;left:0;right:0}.dock-resizer:hover{background:linear-gradient(transparent 3px,var(--g-brand) 3px,var(--g-brand) 5px,transparent 5px)}.dock-menu-wrap{position:relative}.dock-menu{z-index:20;background:var(--g-surface);border:1px solid var(--g-line);border-radius:var(--g-radius-l);min-width:220px;box-shadow:var(--g-shadow-2);padding:var(--g-space-1);flex-direction:column;display:flex;position:absolute;top:calc(100% + 4px);right:0}.dock-menu button{align-items:center;gap:var(--g-space-2);height:var(--g-control-m);padding:0 var(--g-space-2);border-radius:var(--g-radius-m);font-size:var(--g-text-s);text-align:left;background:0 0;border:0;display:flex}.dock-menu button:hover{background:var(--g-hover-tint)}.dock-menu button svg{color:var(--g-muted);width:18px;height:18px}.dock-menu hr{border:0;border-top:1px solid var(--g-line);margin:var(--g-space-1) 0}.dock-menu-label{font-size:var(--g-text-xs);color:var(--g-faint);padding:var(--g-space-1) var(--g-space-2)}.panel-title{align-items:center;gap:var(--g-space-2);font-size:var(--g-text-s);line-height:var(--g-lh-s);font-weight:var(--g-weight-strong);text-overflow:ellipsis;white-space:nowrap;display:flex;overflow:hidden}.panel-title svg{color:var(--g-muted);flex:none}.hint{font-size:var(--g-text-s);line-height:var(--g-lh-s);color:var(--g-faint)}.page-list{margin:0 calc(var(--g-space-2) * -1);padding:0;list-style:none}.board-num{width:16px;margin-right:var(--g-space-1);color:var(--g-faint);font-size:var(--g-text-xs);text-align:right;font-variant-numeric:tabular-nums;flex:none}.board-size{color:var(--g-faint);font-size:var(--g-text-xs);font-variant-numeric:tabular-nums;white-space:nowrap}.board-row.is-on{background:var(--g-brand-tint)}.board-row.is-on .layer-name{color:var(--g-brand-link)}.board-row.is-hidden .layer-name{opacity:.5}.board-row .layer-tools.is-set{opacity:1}.board-row .mini-btn.is-on{color:var(--g-brand-link)}.page-row{height:var(--g-control-m);padding:0 var(--g-space-1);border-radius:var(--g-radius-m);font-size:var(--g-text-s);align-items:center;gap:2px;display:flex}.page-row:hover{background:var(--g-hover-tint)}.page-row.is-on .layer-name{font-weight:var(--g-weight-strong)}.page-row:hover .layer-tools,.page-row:focus-within .layer-tools{opacity:1}.page-check{width:16px;height:16px;margin-right:var(--g-space-1);color:var(--g-muted);flex:none}.page-check svg{width:16px;height:16px}.plain-fieldset{border:0;min-width:0;margin:0;padding:0}.panel-subhead{font-size:var(--g-text-s);line-height:var(--g-lh-s);font-weight:var(--g-weight-strong);margin:0}.asset-page{margin:var(--g-space-1) 0 0;font-size:var(--g-text-xs);line-height:var(--g-lh-xs);color:var(--g-faint)}.asset-list{margin:0 calc(var(--g-space-2) * -1);padding:0;list-style:none}.asset-row{padding-right:var(--g-space-1);border-radius:var(--g-radius-m);cursor:grab;align-items:center;gap:2px;display:flex}.asset-row:hover{background:var(--g-hover-tint)}.asset-row:hover .layer-tools,.asset-row:focus-within .layer-tools{opacity:1}.asset-main{align-items:center;gap:var(--g-space-2);min-width:0;padding:var(--g-space-1) var(--g-space-2);text-align:left;font-size:var(--g-text-s);cursor:inherit;background:0 0;border:0;flex:1;display:flex}.asset-thumb{border:1px solid var(--g-line);border-radius:var(--g-radius-s);background:var(--g-bg);flex:none;width:40px;height:40px;padding:2px}.asset-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.asset-styles{gap:var(--g-space-1);padding-top:var(--g-space-3);border-top:1px solid var(--g-line);flex-direction:column;display:flex}.asset-li{list-style:none}.asset-li>.asset-page{padding:0 var(--g-space-2)}.style-row{align-items:center;gap:var(--g-space-1);display:flex}.style-chip{align-items:center;gap:var(--g-space-2);min-width:0;height:var(--g-control-m);padding:0 var(--g-space-2);border:1px solid var(--g-control-border);border-radius:var(--g-radius-m);font-size:var(--g-text-s);text-align:left;background:0 0;flex:1;display:flex}.style-chip:hover{background:var(--g-hover-tint)}.style-chip span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.style-swatch{border-radius:var(--g-radius-s);border:1px solid var(--g-line-strong);flex:none;place-items:center;width:20px;height:20px;display:grid}.asset-main .style-swatch{width:28px;height:28px}.style-swatch.is-text{border-color:var(--g-line);font-size:var(--g-text-s);color:var(--g-text);line-height:1}.style-swatch.is-fx{border-color:var(--g-line);color:var(--g-muted)}.style-swatch.is-fx svg{width:16px;height:16px}.style-pick select{color:var(--g-muted)}.style-edit{gap:var(--g-space-2);margin-top:var(--g-space-3);flex-direction:column;display:flex}.style-edit .props-section{border-bottom:0;padding:0}.dialog-gap{flex:1}.layer-list{margin:0 calc(var(--g-space-2) * -1);padding:0;list-style:none}.layer{position:relative}.layer.drop-before:before,.layer.drop-after:after{content:"";background:var(--g-brand);z-index:1;height:2px;position:absolute;left:8px;right:8px}.layer.drop-before:before{top:-1px}.layer.drop-after:after{bottom:-1px}.layer.drop-inside>.layer-row{box-shadow:inset 0 0 0 2px var(--g-brand)}.layer-row{height:var(--g-control-m);padding-right:var(--g-space-1);border-radius:var(--g-radius-m);font-size:var(--g-text-s);align-items:center;gap:2px;display:flex}.layer-row:hover{background:var(--g-hover-tint)}.layer-row.is-on{background:var(--g-brand-tint)}.layer-row.is-on .layer-name{color:var(--g-brand-link)}.layer-row.is-hidden .layer-name,.layer-row.is-hidden .layer-icon{opacity:.5}.caret{width:20px;height:20px;color:var(--g-muted);border-radius:var(--g-radius-s);background:0 0;border:0;flex:0 0 20px;place-items:center;padding:0;display:grid}.caret svg{width:16px;height:16px}.layer-icon{color:var(--g-muted);width:16px;height:16px;margin-right:var(--g-space-1);flex:none}.layer-row.is-on .layer-icon{color:var(--g-brand-link)}.layer-name{text-align:left;text-overflow:ellipsis;white-space:nowrap;min-width:0;height:100%;font-size:var(--g-text-s);background:0 0;border:0;flex:1;padding:0;overflow:hidden}.layer-input{min-width:0;font-size:var(--g-text-s);background:var(--g-bg);border:1px solid var(--g-focus);border-radius:var(--g-radius-s);flex:1;padding:2px 4px}.layer-tools{opacity:0;gap:0;display:flex}.layer-row:hover .layer-tools,.layer-row:focus-within .layer-tools,.layer-tools.is-set{opacity:1}.layer-tools.is-set .mini-btn:not(.is-on){visibility:hidden}.layer-row:hover .layer-tools.is-set .mini-btn,.layer-row:focus-within .layer-tools.is-set .mini-btn{visibility:visible}.mini-btn{width:24px;height:24px;color:var(--g-muted);border-radius:var(--g-radius-s);background:0 0;border:0;place-items:center;padding:0;display:grid}.mini-btn:hover{color:var(--g-text);background:var(--g-hover-tint)}.mini-btn svg{width:16px;height:16px}.properties .panel-title{padding-bottom:var(--g-space-2)}.align-row{justify-content:space-between;display:flex}.align-row+.align-row{margin-top:var(--g-space-1)}.turn-90{transform:rotate(90deg)}.props-section{gap:var(--g-space-2);padding:var(--g-space-3) 0;border-bottom:1px solid var(--g-line);flex-direction:column;display:flex}.props-head{justify-content:space-between;align-items:center;min-height:24px;display:flex}.props-head h3{font-size:var(--g-text-s);line-height:var(--g-lh-s);font-weight:var(--g-weight-strong)}.props-head .icon-btn{width:24px;height:24px}.props-head .ratio-lock.is-on{background:var(--g-brand-tint);color:var(--g-brand-link)}.field-grid{gap:var(--g-space-2);grid-template-columns:1fr 1fr;display:grid}.num{align-items:center;gap:var(--g-space-1);height:var(--g-control-m);padding:0 var(--g-space-2);background:var(--g-bg);border:1px solid var(--g-input-border);border-radius:var(--g-radius-m);font-size:var(--g-text-s);min-width:0;display:flex}.num:focus-within{border-color:var(--g-focus)}.num.is-off{opacity:.55}.num-label{color:var(--g-faint);white-space:nowrap;text-overflow:ellipsis;min-width:12px;max-width:56px;overflow:hidden}.num-icon{color:var(--g-faint);flex:none;width:16px;height:16px}.num input{width:100%;min-width:0;font-size:var(--g-text-s);background:0 0;border:0;outline:none;flex:1;padding:0}.num-suffix{color:var(--g-faint)}.check{align-items:center;gap:var(--g-space-2);font-size:var(--g-text-s);color:var(--g-muted);display:flex}.check input{accent-color:var(--g-brand-fill)}.color-field{grid-template-columns:var(--g-control-m) 1fr 76px;gap:var(--g-space-2);align-items:center;display:grid}.color-field:has(>.icon-btn){grid-template-columns:var(--g-control-m) 1fr 76px auto}.color-field input[type=color]{width:var(--g-control-m);height:var(--g-control-m);border:1px solid var(--g-input-border);border-radius:var(--g-radius-m);background:var(--g-bg);padding:2px}.text-field{gap:var(--g-space-1);font-size:var(--g-text-s);color:var(--g-muted);flex-direction:column;display:flex}.text-field input,.text-field select{height:var(--g-control-m);background:var(--g-bg);border:1px solid var(--g-input-border);border-radius:var(--g-radius-m);min-width:0;padding:0 var(--g-space-2);font:inherit;font-size:var(--g-text-m);color:var(--g-text)}.tint-row{gap:var(--g-space-2);margin-top:var(--g-space-3);flex-wrap:wrap;display:flex}.tint-swatch{width:var(--g-control-s);height:var(--g-control-s);border-radius:var(--g-radius-pill);border:1px solid var(--g-line-strong);cursor:pointer;padding:0}.tint-swatch.is-on{outline:2px solid var(--g-brand);outline-offset:2px}.hex{height:var(--g-control-m);background:var(--g-bg);border:1px solid var(--g-input-border);border-radius:var(--g-radius-m);min-width:0;padding:0 var(--g-space-2);font-size:var(--g-text-s);font-family:var(--g-font-mono);text-transform:uppercase}.select-field select{width:100%;height:var(--g-control-m);background:var(--g-bg);border:1px solid var(--g-input-border);border-radius:var(--g-radius-m);padding:0 var(--g-space-2);font-size:var(--g-text-s)}.select-field.wide{display:block}.seg{background:var(--g-bg);border:1px solid var(--g-line);border-radius:var(--g-radius-pill);gap:2px;padding:2px;display:flex}.seg button{height:28px;color:var(--g-muted);border-radius:var(--g-radius-pill);font-size:var(--g-text-s);font-weight:var(--g-weight-strong);background:0 0;border:0;flex:1;place-items:center;display:grid}.seg button:hover{color:var(--g-text)}.seg button.is-on{background:var(--g-surface-2);color:var(--g-text)}.props-section .btn{justify-content:center}.stage{background:var(--g-bg);touch-action:none;-webkit-user-select:none;user-select:none;grid-area:stage;min-width:0;position:relative;overflow:hidden}.drawing,.overlay{width:100%;height:100%;display:block;position:absolute;inset:0}.overlay{pointer-events:none}.overlay [data-handle]{pointer-events:all}.hover-outline,.sel-outline{fill:none;stroke:var(--g-brand);stroke-width:1.5px}.sel-outline.thin{stroke-width:1px}.handle{fill:var(--g-surface);stroke:var(--g-brand);stroke-width:1.5px}.handle.edge{fill:#0000;stroke:#0000}.grad-line{stroke:var(--g-surface);stroke-width:1.5px;filter:drop-shadow(0 0 1px var(--g-text))}.grad-ring{fill:none;stroke:var(--g-surface);stroke-width:1px;stroke-dasharray:4 3;filter:drop-shadow(0 0 1px var(--g-text))}.grad-handle{stroke:var(--g-surface);stroke-width:2px;filter:drop-shadow(0 0 1.5px var(--g-text))}.guide{stroke:var(--g-danger);stroke-width:1px}.marquee{fill:var(--g-brand-tint);stroke:var(--g-brand);stroke-width:1px}.paint-row+.field-grid{padding-top:var(--g-space-2);border-top:1px dashed var(--g-line)}.paint-stack{gap:var(--g-space-2);flex-direction:column;display:flex}.pencil-line{fill:none;stroke:var(--g-text);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.paint-row{gap:var(--g-space-2);padding-top:var(--g-space-2);border-top:1px dashed var(--g-line);flex-direction:column;display:flex}.paint-row-head{justify-content:space-between;align-items:center;gap:var(--g-space-2);display:flex}.paint-row-head .seg{flex:1}.frame-label{padding-bottom:var(--g-space-1);font-size:var(--g-text-s);line-height:var(--g-lh-s);color:var(--canvas-label,var(--g-muted));white-space:nowrap;text-overflow:ellipsis;cursor:default;position:absolute;overflow:hidden;transform:translateY(-100%)}.frame-label.is-sel{color:var(--g-brand-link)}.frame-label.is-comp{color:var(--g-info);align-items:center;gap:var(--g-space-1);display:flex}.frame-label.is-comp svg{flex:none;width:12px;height:12px}.frame-label{align-items:center;gap:var(--g-space-1);display:flex}.frame-label-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.cover-mark{color:var(--g-brand-link);flex:none;display:inline-flex}.frame-label .cover-mark svg{width:12px;height:12px}.layer-name:has(.cover-mark){align-items:center;gap:var(--g-space-1);display:flex}.layer-name-text{text-overflow:ellipsis;min-width:0;overflow:hidden}.layer-row .cover-mark svg{width:14px;height:14px}.layer-icon.is-comp{color:var(--g-info)}.section-label{padding:2px var(--g-space-2);border-radius:var(--g-radius-s);font-size:var(--g-text-s);line-height:var(--g-lh-s);font-weight:var(--g-weight-strong);color:var(--g-brand-contrast);white-space:nowrap;text-overflow:ellipsis;cursor:default;position:absolute;overflow:hidden}.section-label.is-sel{outline:2px solid var(--g-brand);outline-offset:1px}.size-label{border-radius:var(--g-radius-s);background:var(--g-brand-fill);color:var(--g-brand-contrast);font-size:var(--g-text-xs);line-height:var(--g-lh-xs);white-space:nowrap;pointer-events:none;padding:1px 6px;position:absolute;transform:translate(-50%)}.text-editor{outline:1px solid var(--g-brand);resize:none;white-space:pre;z-index:5;background:0 0;border:0;margin:0;padding:0;position:absolute;overflow:hidden}.toolbar{z-index:6;margin:var(--g-space-3);max-height:calc(100% - 2 * var(--g-space-3));background:var(--g-surface);border:1px solid var(--g-line);border-radius:var(--g-radius-l);box-shadow:var(--g-shadow-1);padding:var(--g-space-1);flex-direction:column;grid-area:stage;place-self:start;align-items:center;gap:2px;display:flex;position:relative;overflow:auto}.tool-sep{background:var(--g-line);width:24px;height:1px;margin:var(--g-space-1) 0;flex:none}.tool-btn{border-radius:var(--g-radius-m);width:36px;height:36px;color:var(--g-muted);background:0 0;border:0;flex:none;place-items:center;display:grid}.tool-btn:hover:not(:disabled){background:var(--g-hover-tint);color:var(--g-text)}.tool-btn.is-on{background:var(--g-brand-tint);color:var(--g-brand-link)}.tool-btn:disabled{opacity:.35;cursor:not-allowed}.action-bar{z-index:7;background:var(--g-surface);border:1px solid var(--g-line);border-radius:var(--g-radius-l);box-shadow:var(--g-shadow-2);padding:var(--g-space-1);align-items:center;gap:2px;display:flex;position:absolute;transform:translate(-50%)}.action-bar .icon-btn{width:var(--g-control-xl);height:var(--g-control-xl)}.ctx-menu{z-index:30;width:232px;max-height:calc(100% - 16px);right:auto;overflow:auto}.ctx-group+.ctx-group{border-top:1px solid var(--g-line);margin-top:var(--g-space-1);padding-top:var(--g-space-1)}.ctx-menu .menu-item{margin-top:0}.menu-item.is-danger,.menu-item.is-danger .menu-icon{color:var(--g-danger)}.modbar{left:84px;bottom:var(--g-space-4);z-index:7;background:var(--g-surface);border:1px solid var(--g-line);border-radius:var(--g-radius-l);box-shadow:var(--g-shadow-1);padding:var(--g-space-1);display:flex;position:absolute}.modbar .icon-btn{width:var(--g-control-xl);height:var(--g-control-xl);touch-action:none}.modbar .icon-btn.is-on{background:var(--g-brand-tint);color:var(--g-brand-link)}.zoombar{right:var(--g-space-3);bottom:var(--g-space-4);background:var(--g-surface);border:1px solid var(--g-line);border-radius:var(--g-radius-l);box-shadow:var(--g-shadow-1);padding:var(--g-space-1);align-items:center;gap:2px;display:flex;position:absolute}.zoom-value{min-width:52px;height:var(--g-control-m);border-radius:var(--g-radius-m);font-size:var(--g-text-s);font-variant-numeric:tabular-nums;background:0 0;border:0}.zoom-value:hover{background:var(--g-hover-tint)}.zoom-sep{background:var(--g-line);width:1px;height:20px;margin:0 2px}.grid-layer{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.grid-dot{fill:var(--canvas-grid-strong,var(--g-line-strong))}.grid-minor,.grid-major{fill:none;stroke-width:1px}.grid-minor{stroke:var(--canvas-grid,var(--g-line));opacity:.5}.grid-major{stroke:var(--canvas-grid,var(--g-line))}.grid-menu-wrap{position:relative}.grid-menu-wrap>.icon-btn.is-on{color:var(--g-text)}.grid-menu{right:0;bottom:calc(100% + var(--g-space-2));z-index:20;background:var(--g-surface);border:1px solid var(--g-line);border-radius:var(--g-radius-l);min-width:220px;box-shadow:var(--g-shadow-2);padding:var(--g-space-1);flex-direction:column;display:flex;position:absolute}.grid-menu button{white-space:nowrap;align-items:center;gap:var(--g-space-2);height:var(--g-control-m);padding:0 var(--g-space-2);border-radius:var(--g-radius-m);font-size:var(--g-text-s);text-align:left;color:var(--g-text);background:0 0;border:0;display:flex}.grid-menu button:hover{background:var(--g-hover-tint)}.grid-menu button>svg{color:var(--g-muted)}.grid-menu .grid-menu-check{color:var(--g-brand-link);margin-left:auto}.home{padding:var(--g-space-8) var(--g-space-6);gap:var(--g-space-6);flex-direction:column;grid-area:home;display:flex;overflow:auto}.home-head{justify-content:space-between;align-items:center;gap:var(--g-space-4);flex-wrap:wrap;display:flex}.home-head h1{font-size:var(--g-text-3xl);line-height:var(--g-lh-3xl);font-weight:var(--g-weight-title);font-family:var(--g-font-display);margin:0}.home-actions{gap:var(--g-space-2);flex-wrap:wrap;align-items:center;display:flex}.sort-by{align-items:center;gap:var(--g-space-2);font-size:var(--g-text-s);color:var(--g-muted);display:inline-flex}.sort-pill{border:1px solid var(--g-line-strong);border-radius:var(--g-radius-pill);gap:2px;padding:2px;display:inline-flex}.sort-pill button{height:var(--g-control-s);padding:0 var(--g-space-3);border-radius:var(--g-radius-pill);color:var(--g-muted);font:inherit;font-size:var(--g-text-s);font-weight:var(--g-weight-strong);white-space:nowrap;background:0 0;border:0}.sort-pill button:hover{background:var(--g-hover-tint);color:var(--g-text)}.sort-pill button[aria-pressed=true]{background:var(--g-brand-fill);color:var(--g-brand-contrast)}.file-star{top:var(--g-space-2);left:var(--g-space-2);width:var(--g-control-s);height:var(--g-control-s);border:1px solid var(--g-line);background:var(--g-surface);color:var(--g-muted);opacity:0;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute}.file-star:hover{color:var(--g-text)}.file-star.is-on{color:var(--g-brand);opacity:1}.file-card:hover .file-star,.file-card:focus-within .file-star{opacity:1}@media (hover:none){.file-star{opacity:1}}.search{align-items:center;gap:var(--g-space-2);height:var(--g-control-m);padding:0 var(--g-space-2);background:var(--g-bg);border:1px solid var(--g-input-border);border-radius:var(--g-radius-m);display:flex}.search:focus-within{border-color:var(--g-focus)}.search input{font-size:var(--g-text-s);background:0 0;border:0;outline:none;width:180px;min-width:0}.search-icon{color:var(--g-faint)}.file-grid{gap:var(--g-space-4);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin:0;padding:0;list-style:none;display:grid}.file-card{background:var(--g-surface);border:1px solid var(--g-line);border-radius:var(--g-radius-l);position:relative;overflow:hidden}.file-card:hover{border-color:var(--g-line-strong)}.file-open{width:100%;padding:0 0 var(--g-space-3);text-align:left;background:0 0;border:0;flex-direction:column;align-items:stretch;gap:2px;display:flex}.file-thumb{background:var(--g-surface-2);border-bottom:1px solid var(--g-line);height:150px;margin-bottom:var(--g-space-2);padding:var(--g-space-4);justify-content:center;align-items:center;display:flex;overflow:hidden}.file-thumb img{object-fit:contain;max-width:100%;max-height:118px;box-shadow:var(--g-shadow-1)}.file-name{padding:0 var(--g-space-3);font-weight:var(--g-weight-strong);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-meta{padding:0 var(--g-space-3);font-size:var(--g-text-s);color:var(--g-faint)}.file-tools{top:var(--g-space-2);right:var(--g-space-2);background:var(--g-surface);border:1px solid var(--g-line);border-radius:var(--g-radius-m);opacity:0;gap:2px;display:flex;position:absolute}.file-card:hover .file-tools,.file-card:focus-within .file-tools{opacity:1}.empty{align-items:center;gap:var(--g-space-3);padding:var(--g-space-10) 0;color:var(--g-muted);text-align:center;flex-direction:column;display:flex}.empty h2{font-size:var(--g-text-xl);line-height:var(--g-lh-xl);color:var(--g-text);margin:0}.home-head h1+.hint{margin:var(--g-space-1) 0 0}.file-card[draggable=true]{cursor:grab}.file-card[draggable=true]:active{cursor:grabbing}.home-layout{gap:var(--g-space-6);grid-template-columns:240px minmax(0,1fr);align-items:start;display:grid}.home-main{gap:var(--g-space-6);flex-direction:column;min-width:0;display:flex}.home-rail{flex-direction:column;gap:2px;display:flex;position:sticky;top:0}.rail-item{align-items:center;gap:var(--g-space-2);text-align:left;border-radius:var(--g-radius-m);width:100%;color:var(--g-muted);font-size:var(--g-text-s);font-weight:var(--g-weight-strong);background:0 0;border:0;padding:6px 10px;display:flex}.rail-item:hover{background:var(--g-hover-tint);color:var(--g-text)}.rail-item.is-on{background:var(--g-surface-2);color:var(--g-text)}.rail-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.rail-count{color:var(--g-faint);font-weight:var(--g-weight-regular)}.rail-head{margin-top:var(--g-space-4);font-size:var(--g-text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--g-faint);justify-content:space-between;align-items:center;padding:0 4px 0 10px;display:flex}.rail-folder{border-radius:var(--g-radius-m);position:relative}.rail-actions{background:var(--g-surface-2);border-radius:var(--g-radius-m);display:none;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.rail-folder:hover .rail-actions,.rail-folder:focus-within .rail-actions{display:flex}.rail-folder:hover .rail-count,.rail-folder:focus-within .rail-count{visibility:hidden}.rail-actions .icon-btn{width:26px;height:26px}.rail-item.is-over,.rail-folder.is-over{outline:2px dashed var(--g-brand);outline-offset:-2px;background:var(--g-brand-tint)}.rail-hint{margin:var(--g-space-2) 0 0;padding:0 10px}.rail-head-plain{min-height:var(--g-control-s)}.rail-head-btn{border-radius:var(--g-radius-m);width:100%;font:inherit;font-size:var(--g-text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--g-faint);cursor:pointer;background:0 0;border:0;padding:0 10px}.rail-head-btn:hover{background:var(--g-hover-tint);color:var(--g-text)}.rail-head-btn.is-on{background:var(--g-surface-2);color:var(--g-text)}.rail-head-btn .rail-count{text-transform:none;letter-spacing:0}.home-group{gap:var(--g-space-3);flex-direction:column;min-width:0;display:flex}.home-sec{justify-content:space-between;align-items:center;gap:var(--g-space-2);display:flex}.home-sec h2{align-items:center;gap:var(--g-space-1);font-size:var(--g-text-l);line-height:var(--g-lh-l);font-weight:var(--g-weight-strong);color:var(--g-text);margin:0;display:flex}.home-sec h2 svg{color:var(--g-brand)}.home-more{height:var(--g-control-s);padding:0 var(--g-space-2);border-radius:var(--g-radius-m);color:var(--g-brand-link);font:inherit;font-size:var(--g-text-s);font-weight:var(--g-weight-strong);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;display:inline-flex}.home-more:hover{background:var(--g-hover-tint)}@media (width<=820px){.home-layout{grid-template-columns:minmax(0,1fr)}.home-rail{flex-flow:wrap;position:static}.rail-item{width:auto}.rail-head{width:100%}}.name-field input{width:100%}.move-list{gap:var(--g-space-1);border:0;flex-direction:column;margin:0;padding:0;display:flex}.move-list legend{margin-bottom:var(--g-space-2);color:var(--g-muted);font-size:var(--g-text-s);padding:0}.move-option{align-items:center;gap:var(--g-space-2);padding:6px var(--g-space-2);border-radius:var(--g-radius-m);cursor:pointer;display:flex}.move-option:hover{background:var(--g-hover-tint)}.move-option svg{color:var(--g-muted)}.move-option input{accent-color:var(--g-brand-fill);margin:0}.dialog{width:min(480px,100vw - 32px);padding:var(--g-space-6);border:1px solid var(--g-line);border-radius:var(--g-radius-l);background:var(--g-surface);color:var(--g-text);box-shadow:var(--g-shadow-2)}.dialog::backdrop{background:color-mix(in srgb, var(--g-bg) 80%, transparent)}.dialog-head{justify-content:space-between;align-items:center;gap:var(--g-space-3);margin-bottom:var(--g-space-4);display:flex}.dialog-head h2{font-size:var(--g-text-2xl);line-height:var(--g-lh-2xl);font-weight:var(--g-weight-title);margin:0}.dialog-body{gap:var(--g-space-3);flex-direction:column;display:flex}.dialog-actions{justify-content:flex-end;gap:var(--g-space-2);margin-top:var(--g-space-6);display:flex}.seg.wide button{padding:0 var(--g-space-3)}.status{font-size:var(--g-text-s)}.status.ok{color:var(--g-success)}.status.bad{color:var(--g-danger)}.help-drawer{z-index:10;background:var(--g-surface);border-left:1px solid var(--g-line);width:320px;box-shadow:var(--g-shadow-2);padding:var(--g-space-4);gap:var(--g-space-3);flex-direction:column;display:flex;position:absolute;top:56px;bottom:0;right:0;overflow:auto}.help-head{align-items:center;gap:var(--g-space-2);display:flex}.help-head h2{font-size:var(--g-text-xl);line-height:var(--g-lh-xl);font-weight:var(--g-weight-title);flex:1}.help-list{flex-direction:column;padding:0;list-style:none;display:flex}.help-version{padding:var(--g-space-3) var(--g-space-4);font-size:var(--g-text-xs);line-height:var(--g-lh-xs);color:var(--g-muted);margin-top:auto}.help-list button{text-align:left;border:0;border-bottom:1px solid var(--g-line);width:100%;padding:var(--g-space-3) 0;background:0 0;flex-direction:column;gap:2px;display:flex}.help-list button:hover b{color:var(--g-brand-link)}.help-list span{font-size:var(--g-text-s);color:var(--g-muted)}.help-body{gap:var(--g-space-3);flex-direction:column;display:flex}.tool-grid{gap:var(--g-space-1);display:flex}.btn-col{gap:var(--g-space-2);flex-direction:column;display:flex}.btn-col .btn{justify-content:flex-start}.toast-area{z-index:30;pointer-events:none;position:absolute;bottom:76px;left:50%;transform:translate(-50%)}.toast{pointer-events:all;align-items:center;gap:var(--g-space-2);max-width:min(520px,80vw);padding:var(--g-space-2) var(--g-space-2) var(--g-space-2) var(--g-space-4);background:var(--g-surface);border:1px solid var(--g-line);border-radius:var(--g-radius-l);box-shadow:var(--g-shadow-2);font-size:var(--g-text-s);display:flex}.toast.bad{border-color:var(--g-danger)}.toast.bad>svg{color:var(--g-danger);flex:none}.tool-layer{z-index:4;width:100%;height:100%;position:absolute;inset:0}.pen-path,.edit-outline{fill:none;stroke:var(--g-brand);stroke-width:1.5px}.edit-outline{vector-effect:non-scaling-stroke;stroke-width:1px}.pen-preview{fill:none;stroke:var(--g-brand);stroke-width:1px;stroke-dasharray:4 3}.anchor{fill:var(--g-surface);stroke:var(--g-brand);stroke-width:1.5px;cursor:move}.anchor.is-on{fill:var(--g-brand)}.handle-line{stroke:var(--g-brand);stroke-width:1px}.handle-dot{fill:var(--g-surface);stroke:var(--g-brand);stroke-width:1.5px;cursor:move}.pen-target circle,.pen-target line{fill:var(--g-surface);stroke:var(--g-brand);stroke-width:1.5px}.pen-target.is-remove circle,.pen-target.is-remove line{stroke:var(--g-danger)}.pen-target.is-cut circle+circle{fill:var(--g-brand)}.sb-region{fill:#0000;stroke:var(--g-brand);stroke-width:1px;stroke-dasharray:3 3}.sb-region.is-on{stroke-width:2px;stroke-dasharray:none}.sb-region.is-remove{stroke:var(--g-danger)}.sb-hatch-bg{fill:var(--g-surface);fill-opacity:.45}.crop-ghost{opacity:.4;pointer-events:none}.crop-move{fill:#0000;cursor:move}.crop-pic-outline{fill:none;stroke:var(--g-brand);stroke-width:1px;stroke-dasharray:4 3;pointer-events:none}.crop-pic-handle{fill:var(--g-surface);stroke:var(--g-brand);stroke-width:1.5px}.crop-bar{fill:var(--g-surface);stroke:var(--g-brand);stroke-width:1.5px;pointer-events:none}.sb-hatch-line{stroke:var(--g-text);stroke-width:2px;stroke-opacity:.7}.sb-hatch-line.is-remove{stroke:var(--g-danger);stroke-opacity:1}.tool-hint{fill:var(--g-muted);font-size:var(--g-text-s);font-family:var(--g-font)}.cut-line{fill:none;stroke:var(--g-danger);stroke-width:1.5px}.erase-line{fill:none;stroke:var(--g-hover-tint);stroke-linecap:round;stroke-linejoin:round}.erase-cursor{fill:none;stroke:var(--g-text);stroke-width:1px;pointer-events:none}.app.is-signin{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.sign-root{height:100%;padding:var(--g-space-6);background:var(--g-bg);justify-content:center;align-items:center;display:flex;position:relative;overflow:auto}.sign-dots,.sign-glow{pointer-events:none;position:absolute;inset:0}.sign-dots{background-image:radial-gradient(circle,var(--g-info) 1.2px,transparent 1.2px);opacity:.4;background-size:28px 28px}.sign-glow{background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--g-brand) 42%,transparent) 0%,color-mix(in srgb,var(--g-info) 36%,transparent) 22%,color-mix(in srgb,var(--g-info) 10%,transparent) 42%,transparent 62%);opacity:.8}:root[data-admin-theme=light] .sign-glow{opacity:.55}:root[data-admin-theme=light] .sign-dots{opacity:.22}@media (prefers-color-scheme:light){:root:not([data-admin-theme=dark]) .sign-glow{opacity:.55}:root:not([data-admin-theme=dark]) .sign-dots{opacity:.22}}.sign-suite{isolation:isolate;align-items:center;gap:var(--g-space-1);margin:0 calc(var(--g-space-6) * -1) var(--g-space-4);padding:var(--g-space-4) var(--g-space-6);text-align:center;flex-direction:column;display:flex;position:relative}.sign-suite:before{content:"";inset:calc(var(--g-space-4) * -1) calc(var(--g-space-8) * -1);z-index:-1;background:radial-gradient(closest-side,color-mix(in srgb,var(--g-bg) 45%,transparent) 35%,transparent);pointer-events:none;position:absolute}.sign-suite-name{font-size:var(--g-text-s);line-height:var(--g-lh-s);font-weight:var(--g-weight-strong);color:var(--g-muted)}.sign-suite-line{font-size:var(--g-text-2xl);line-height:var(--g-lh-2xl);font-weight:var(--g-weight-title);color:var(--g-text);margin:0}.sign-wrap{z-index:1;width:100%;max-width:380px;margin:auto;position:relative}.sign-card{gap:var(--g-space-4);padding:var(--g-space-8);border:1px solid var(--g-line);border-radius:var(--g-radius-l);background:var(--g-surface);box-shadow:var(--g-shadow-2);flex-direction:column;display:flex}.sign-brand{align-items:center;gap:var(--g-space-2);font-weight:var(--g-weight-title);color:var(--g-muted);display:flex}.sign-card h1{font-size:var(--g-text-3xl);line-height:var(--g-lh-3xl);font-weight:var(--g-weight-title);margin:0}.sign-field{gap:var(--g-space-1);font-size:var(--g-text-s);color:var(--g-muted);flex-direction:column;display:flex}.sign-field input{height:var(--g-control-xl);width:100%;padding:0 var(--g-space-3);border:1px solid var(--g-input-border);border-radius:var(--g-radius-m);background:var(--g-bg);color:var(--g-text);font-size:var(--g-text-m)}.sign-pw{display:block;position:relative}.sign-pw input{padding-right:44px}.sign-pw .icon-btn{top:50%;right:var(--g-space-1);position:absolute;transform:translateY(-50%)}.sign-hint{margin-top:calc(var(--g-space-2) * -1);font-size:var(--g-text-s);color:var(--g-faint)}.sign-text{color:var(--g-muted)}.sign-note{font-size:var(--g-text-s);color:var(--g-faint)}.sign-error{color:var(--g-danger);font-size:var(--g-text-s)}.sign-primary{height:var(--g-control-xl);font-size:var(--g-text-m);justify-content:center}.sign-links{justify-content:space-between;gap:var(--g-space-3);flex-wrap:wrap;display:flex}.sign-foot{align-items:center;gap:var(--g-space-1) var(--g-space-2);font-size:var(--g-text-s);color:var(--g-muted);flex-wrap:wrap;display:flex}.link-btn{color:var(--g-brand-link);font-size:var(--g-text-s);text-align:left;background:0 0;border:0;padding:0}.link-btn:hover{text-decoration:underline}.link-btn.muted{color:var(--g-muted);align-self:flex-start}@media (width<=480px){.sign-card{padding:var(--g-space-6)}}.home-banner{align-items:center;gap:var(--g-space-3);padding:var(--g-space-3) var(--g-space-4);border:1px solid var(--g-line);border-radius:var(--g-radius-l);background:var(--g-surface);font-size:var(--g-text-s);display:flex}.home-banner p{color:var(--g-muted);flex:1}.avatar{border-radius:var(--g-radius-pill);object-fit:cover;flex:none;place-items:center;display:inline-grid}.avatar.is-initials{color:#fff;font-weight:var(--g-weight-title);line-height:1}.account>.icon-btn{padding:0}.crumb-page{font-weight:var(--g-weight-strong)}.account-page{padding:var(--g-space-6);grid-area:home;overflow:auto}.account-wrap{gap:var(--g-space-5);flex-direction:column;max-width:720px;margin:0 auto;display:flex}.account-head{align-items:center;gap:var(--g-space-4);display:flex}.account-head h1{font-size:var(--g-text-2xl);line-height:var(--g-lh-2xl);font-weight:var(--g-weight-title);margin:0}.account-head p{color:var(--g-muted);margin:0}.account-note{font-size:var(--g-text-s);color:var(--g-faint);margin:0}.account-sec{border:1px solid var(--g-line);border-radius:var(--g-radius-l);background:var(--g-surface)}.account-sec h2{padding:var(--g-space-3) var(--g-space-4);border-bottom:1px solid var(--g-line);font-size:var(--g-text-s);font-weight:var(--g-weight-strong);text-transform:uppercase;letter-spacing:.04em;color:var(--g-muted);margin:0}.account-row{padding:var(--g-space-3) var(--g-space-4);gap:var(--g-space-3);flex-direction:column;display:flex}.account-row+.account-row{border-top:1px solid var(--g-line)}.account-row-main{justify-content:space-between;align-items:center;gap:var(--g-space-4);display:flex}.account-text{flex-direction:column;min-width:0;display:flex}.account-text span{font-size:var(--g-text-s);color:var(--g-muted)}.account-ctl{align-items:center;gap:var(--g-space-3);flex:none;max-width:60%;display:flex}.account-value{color:var(--g-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-inline{gap:var(--g-space-2);display:flex}.account-inline input,.account-field input{height:var(--g-control-m);padding:0 var(--g-space-3);border:1px solid var(--g-input-border);border-radius:var(--g-radius-m);background:var(--g-bg);color:var(--g-text);font-size:var(--g-text-m)}.account-form{gap:var(--g-space-3);flex-direction:column;max-width:360px;display:flex}.account-field{gap:var(--g-space-1);font-size:var(--g-text-s);color:var(--g-muted);flex-direction:column;display:flex}.account-msg{font-size:var(--g-text-s);color:var(--g-success);margin:0}.account-msg.bad{color:var(--g-danger)}@media (width<=640px){.account-page{padding:var(--g-space-4)}.account-row-main{flex-wrap:wrap}.account-ctl{max-width:100%}}.btn-row{gap:var(--g-space-2);flex-wrap:wrap;display:flex}.handoff-what{gap:var(--g-space-1);margin:0 0 var(--g-space-3);flex-direction:column;display:flex}.move-list .select-field{margin:var(--g-space-1) 0 0 var(--g-space-6);display:block}.home .toast-area{bottom:var(--g-space-6);position:fixed}.grad{gap:var(--g-space-2);flex-direction:column;display:flex}.grad-bar{height:var(--g-control-s);margin:var(--g-space-1) 6px;border-radius:var(--g-radius-s);background:repeating-conic-gradient(var(--g-surface-2) 0 25%,var(--g-bg) 0 50%) 0 0/var(--g-space-2) var(--g-space-2);cursor:copy;position:relative}.grad-fill{border-radius:inherit;border:1px solid var(--g-input-border);position:absolute;inset:0}.grad-stop{width:12px;height:calc(100% + var(--g-space-2));border:2px solid var(--g-surface);border-radius:var(--g-radius-s);box-shadow:0 0 0 1px var(--g-line-strong);cursor:ew-resize;padding:0;position:absolute;top:50%;transform:translate(-50%,-50%)}.grad-stop.is-on{box-shadow:0 0 0 2px var(--g-brand)}.grad-stop:focus-visible{outline:2px solid var(--g-focus);outline-offset:2px}.grad-actions{justify-content:flex-end;gap:var(--g-space-1);display:flex}.effect{gap:var(--g-space-2);flex-direction:column;display:flex}.effect+.effect{padding-top:var(--g-space-3);border-top:1px solid var(--g-line)}.effect-head{align-items:center;gap:var(--g-space-1);display:flex}.effect-head .select-field{flex:1}.effect.is-off .field-grid,.effect.is-off .color-field{opacity:.5}.import-url{gap:var(--g-space-3);flex-direction:column;display:flex}.import-url .hint a{color:var(--g-brand-link)}.figma-pages{gap:var(--g-space-2);max-height:240px;padding:var(--g-space-2) var(--g-space-3);border:1px solid var(--g-line);border-radius:var(--g-radius-m);flex-direction:column;display:flex;overflow:auto}.figma-pages .check{font-size:var(--g-text-m);color:var(--g-text)}.figma-pick-all,.figma-token-row{align-items:center;gap:var(--g-space-3);flex-wrap:wrap;display:flex}.canvas-color{grid-template-columns:var(--g-control-m) 1fr}.btn.done{color:var(--g-success);border-color:var(--g-success);background:var(--g-success-tint)}.symbol-form{gap:var(--g-space-3);flex-direction:column;display:flex}.symbol-row{gap:var(--g-space-3);align-items:flex-end;display:flex}.symbol-row .account-field{flex:1}.symbol-preview{border:1px solid var(--g-line);border-radius:var(--g-radius-m);background:var(--g-bg);flex:none;place-items:center;width:72px;height:72px;display:grid}.symbol-preview .hint{font-size:var(--g-text-xs);margin:0}.symbol-glyph{background:var(--g-text);width:48px;height:48px;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.pixel-grid{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.pixel-grid path{fill:none;stroke:var(--g-line-strong);stroke-width:1px;opacity:.35}.keyline{fill:none;stroke:var(--g-brand-link);stroke-width:1px;opacity:.55}.keyline.live{stroke-dasharray:3 3;opacity:.8}.grid-menu-group{padding-bottom:var(--g-space-1);margin-bottom:var(--g-space-1);border-bottom:1px solid var(--g-line);flex-direction:column;display:flex}.symbol-form a{color:var(--g-brand-link)}.symbol-grid{gap:var(--g-space-1);max-height:264px;padding:var(--g-space-1);border:1px solid var(--g-line);border-radius:var(--g-radius-m);background:var(--g-bg);grid-template-columns:repeat(auto-fill,minmax(76px,1fr));display:grid;overflow:auto}.symbol-grid.is-loading{height:120px}.symbol-grid button{align-items:center;gap:var(--g-space-1);min-width:0;padding:var(--g-space-2) var(--g-space-1);border-radius:var(--g-radius-s);color:var(--g-text);cursor:pointer;background:0 0;border:1px solid #0000;flex-direction:column;display:flex}.symbol-grid button:hover{background:var(--g-hover-tint)}.symbol-grid button.is-on{border-color:var(--g-brand);background:var(--g-hover-tint)}.symbol-grid button:focus-visible{outline:2px solid var(--g-focus);outline-offset:1px}.symbol-grid-glyph{font-feature-settings:"liga";white-space:nowrap;width:24px;height:24px;font-size:24px;line-height:1;overflow:hidden}.symbol-grid-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:var(--g-text-xs);color:var(--g-muted);overflow:hidden}.dialog.settings{width:min(760px,94vw);padding:0;overflow:hidden}.settings-head{padding:var(--g-space-4) var(--g-space-6);border-bottom:1px solid var(--g-line);justify-content:space-between;align-items:center;display:flex}.settings-head h2{font-size:var(--g-text-2xl);line-height:var(--g-lh-2xl);font-weight:var(--g-weight-title);margin:0}.settings-body{grid-template-columns:180px minmax(0,1fr);height:min(520px,70vh);display:grid}.settings-body nav{padding:var(--g-space-3);border-right:1px solid var(--g-line);flex-direction:column;gap:2px;display:flex;overflow:auto}.settings-body nav button{text-align:left;border-radius:var(--g-radius-m);color:var(--g-muted);font-size:var(--g-text-s);font-weight:var(--g-weight-strong);background:0 0;border:0;padding:6px 10px}.settings-body nav button:hover{background:var(--g-hover-tint);color:var(--g-text)}.settings-body nav button.is-on{background:var(--g-surface-2);color:var(--g-text)}.settings-pane{padding:var(--g-space-4) var(--g-space-6) var(--g-space-6);overflow:auto}.settings-pane h3{font-size:var(--g-text-l);line-height:var(--g-lh-l);margin:0 0 var(--g-space-2)}.settings-pane>.hint{margin:0 0 var(--g-space-3)}.set-row{gap:var(--g-space-4);padding:var(--g-space-3) 0;border-top:1px solid var(--g-line);grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;display:grid}.set-row .hint{margin:2px 0 0}.set-label{font-size:var(--g-text-m);font-weight:var(--g-weight-strong)}.set-control{align-items:center;gap:var(--g-space-2);justify-content:flex-end;min-width:0;display:flex}.set-control select{background:var(--g-bg);max-width:100%;color:var(--g-text);border:1px solid var(--g-input-border);border-radius:var(--g-radius-m);font-size:var(--g-text-s);padding:5px 8px}.set-control .seg{min-width:200px}.set-theme-label{gap:var(--g-space-3);align-items:flex-start;display:flex}.set-theme-label>svg{color:var(--g-muted);margin-top:2px}.tm-toggle{border:1px solid var(--g-line-strong);border-radius:var(--g-radius-pill);gap:2px;padding:2px;display:inline-flex}.tm-toggle button{width:var(--g-control-s);height:var(--g-control-s);color:var(--g-muted);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.tm-toggle button:hover{background:var(--g-hover-tint)}.tm-toggle button.is-on{background:var(--g-brand-fill);color:var(--g-brand-contrast)}.toggle{font-size:var(--g-text-s);color:var(--g-muted);align-items:center;gap:8px;display:flex}.toggle input{accent-color:var(--g-brand-fill)}.num-field{font-size:var(--g-text-s);color:var(--g-muted);align-items:center;gap:6px;display:flex}.num-field .field{width:80px;height:var(--g-control-s);background:var(--g-bg);color:var(--g-text);border:1px solid var(--g-input-border);border-radius:var(--g-radius-m);font-size:var(--g-text-s);padding:0 8px}.meter{align-items:center;gap:var(--g-space-2);width:100%;font-size:var(--g-text-s);color:var(--g-muted);display:flex}.meter progress{accent-color:var(--g-brand-fill);flex:1}.shortcuts{border-collapse:collapse;width:100%}.shortcuts th,.shortcuts td{text-align:left;padding:var(--g-space-2) 0;border-top:1px solid var(--g-line);font-size:var(--g-text-s);font-weight:var(--g-weight-regular)}.shortcuts th{width:44%;color:var(--g-muted)}kbd{font-family:var(--g-font-mono);font-size:var(--g-text-xs);background:var(--g-surface-2);border:1px solid var(--g-line-strong);border-radius:var(--g-radius-s);padding:1px 6px}.btn.danger-fill{background:var(--g-danger-fill);border-color:var(--g-danger-fill);color:var(--g-danger-contrast)}.btn.danger-fill:hover{background:var(--g-danger-hover);border-color:var(--g-danger-hover)}@media (width<=640px){.settings-body{grid-template-columns:1fr;height:auto;max-height:80vh}.settings-body nav{border-right:0;border-bottom:1px solid var(--g-line);flex-flow:wrap}.set-row{grid-template-columns:1fr}.set-control{justify-content:flex-start}}.ruler{z-index:4;background:var(--g-surface);color:var(--g-muted);cursor:default;touch-action:none;position:absolute}.ruler line{stroke:var(--g-line-strong);stroke-width:1px}.ruler text{fill:var(--g-faint);font-size:var(--g-text-xs);font-family:inherit}.ruler.top{border-bottom:1px solid var(--g-line);cursor:ns-resize;width:100%;height:20px;top:0;left:0}.ruler.left{border-right:1px solid var(--g-line);cursor:ew-resize;width:20px;height:100%;top:0;left:0}.ruler-corner{z-index:5;background:var(--g-surface);border-right:1px solid var(--g-line);border-bottom:1px solid var(--g-line);width:20px;height:20px;position:absolute;top:0;left:0}.has-rulers .toolbar{margin-top:calc(var(--g-space-3) + 20px);margin-left:calc(var(--g-space-3) + 20px)}.guides-layer{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.ruler-guide{stroke:var(--g-info);stroke-width:1px}.ruler-guide-hit{stroke:#0000;stroke-width:7px;pointer-events:stroke}.ruler-guide-hit.x{cursor:ew-resize}.ruler-guide-hit.y{cursor:ns-resize}.grid-menu-group.is-top{padding-top:var(--g-space-1);margin-top:var(--g-space-1);border-top:1px solid var(--g-line)}.grid-menu button:disabled{opacity:.5}.set-sub{margin:var(--g-space-4) 0 0;font-size:var(--g-text-s);color:var(--g-muted)}.color-pick{align-items:center;gap:var(--g-space-2);display:flex}.color-pick input[type=color]{width:var(--g-control-m);height:var(--g-control-s);border:1px solid var(--g-input-border);border-radius:var(--g-radius-m);background:var(--g-bg);padding:0}.agent-url,.agent-copy{align-items:center;gap:var(--g-space-2);min-width:0;display:flex}.agent-url code,.agent-copy code{min-width:0;padding:var(--g-space-2);border:1px solid var(--g-line);border-radius:var(--g-radius-m);background:var(--g-bg);font-family:var(--g-font-mono);font-size:var(--g-text-xs);line-height:var(--g-lh-xs);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;flex:1}.agent-keys{gap:var(--g-space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.agent-keys li{align-items:center;gap:var(--g-space-3);padding:var(--g-space-2) var(--g-space-3);border:1px solid var(--g-line);border-radius:var(--g-radius-m);display:flex}.agent-keys li>div{flex:1;min-width:0}.agent-keys li>svg{color:var(--g-muted);flex:none}.agent-dialog{width:min(600px,100vw - 32px)}.agent-step{margin:var(--g-space-2) 0 0;font-size:var(--g-text-m);line-height:var(--g-lh-m);font-weight:var(--g-weight-strong)}.agent-dialog .dialog-body p{margin:0}.history-intro{margin:0 0 var(--g-space-3);font-size:var(--g-text-s);color:var(--g-muted);line-height:var(--g-lh-s)}.history-error{align-items:center;gap:var(--g-space-1);margin:0 0 var(--g-space-2);font-size:var(--g-text-s);color:var(--g-danger);display:flex}.history-empty{margin:var(--g-space-3) 0;font-size:var(--g-text-s);color:var(--g-muted)}.history-list{gap:var(--g-space-2);flex-direction:column;max-height:360px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.history-row{align-items:center;gap:var(--g-space-3);padding:var(--g-space-2) var(--g-space-3);border:1px solid var(--g-line);border-radius:var(--g-radius-m);display:flex}.history-when{flex-direction:column;flex:1;min-width:0;display:flex}.history-when b{font-size:var(--g-text-m)}.history-when span{font-size:var(--g-text-xs);color:var(--g-faint)}.share-dialog{width:min(560px,100vw - 32px)}.share-link{gap:var(--g-space-2);display:flex}.share-link input{flex:1;min-width:0}.share-access{gap:var(--g-space-2);border:0;flex-direction:column;margin:0;padding:0;display:flex}.share-access legend{margin-bottom:var(--g-space-2)}.share-access .check{color:var(--g-text);font-size:var(--g-text-m);align-items:flex-start}.share-access .check input{margin-top:3px}.app.is-view{grid-template-columns:minmax(0,1fr);grid-template-areas:"top""stage"}.view-stage{touch-action:none}.view-name{font-weight:var(--g-weight-strong);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.view-badge{align-items:center;gap:var(--g-space-1);padding:2px var(--g-space-2);border-radius:var(--g-radius-pill);background:var(--g-badge-neutral-bg);color:var(--g-badge-neutral-text);font-size:var(--g-text-xs);line-height:var(--g-lh-xs);font-weight:var(--g-weight-strong);flex:none;display:inline-flex}.view-who{font-size:var(--g-text-s);color:var(--g-muted);white-space:nowrap}.view-page select{height:var(--g-control-m)}.view-empty{color:var(--g-muted);pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.view-message{max-width:420px;padding:var(--g-space-6) var(--g-space-4);align-items:flex-start;gap:var(--g-space-3);flex-direction:column;margin:auto;display:flex}.view-message h1{font-size:var(--g-text-xl);line-height:var(--g-lh-xl);margin:0}.view-message p{color:var(--g-muted)}.view-skeleton{width:100%;height:160px}@media (width<=700px){.view-who,.app.is-view .app-title,.app.is-view .brand .divider{display:none}.share-btn{padding:0 var(--g-space-2);gap:0;font-size:0}}.history-dialog{width:min(560px,100vw - 32px)}.history-save{gap:var(--g-space-2);padding-bottom:var(--g-space-3);border-bottom:1px solid var(--g-line);flex-direction:column;display:flex}.history-head{justify-content:space-between;align-items:center;gap:var(--g-space-2);display:flex}.history-dialog .history-list{max-height:min(360px,45dvh)}.history-kind{color:var(--g-muted);flex:none}.history-row.is-named .history-kind{color:var(--g-brand)}.history-when .history-note{color:var(--g-muted);font-size:var(--g-text-s);overflow-wrap:anywhere}.history-tools{align-items:center;gap:var(--g-space-1);flex:none;display:flex}.history-edit{gap:var(--g-space-2);flex-direction:column;flex:1;min-width:0;display:flex}.history-confirm .btn-row{margin-top:var(--g-space-2)}@media (width<=520px){.history-row{flex-wrap:wrap}.history-tools{justify-content:flex-end;width:100%}}.share-editors{gap:var(--g-space-2);padding-bottom:var(--g-space-4);margin-bottom:var(--g-space-2);border-bottom:1px solid var(--g-line);flex-direction:column;display:flex}.share-head{margin:0}.share-people{gap:var(--g-space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.share-people li{align-items:center;gap:var(--g-space-2);min-height:var(--g-control-l);display:flex}.share-person{flex-direction:column;flex:1;min-width:0;display:flex}.share-person b{font-size:var(--g-text-m);font-weight:var(--g-weight-strong)}.share-person .hint{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.share-person-confirm{gap:var(--g-space-2);display:flex}.presence{align-items:center;padding-left:6px;display:flex;position:relative}.presence-btn{border:2px solid var(--peer,var(--g-line));border-radius:var(--g-radius-pill);background:var(--g-surface);cursor:pointer;place-items:center;width:32px;height:32px;margin-left:-6px;padding:0;display:grid}.presence-btn:hover{z-index:1;transform:translateY(-1px)}.presence-btn:focus-visible{outline:2px solid var(--g-focus);outline-offset:1px;z-index:1}.presence-avatar{width:26px;height:26px;font-size:var(--g-text-xs)}.presence-more{font-size:var(--g-text-xs);font-weight:var(--g-weight-strong);color:var(--g-text);background:var(--g-surface-2)}.presence-menu{width:240px}.presence-menu .presence-avatar{border:2px solid var(--peer)}.presence-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cursors-layer{z-index:9;pointer-events:none;position:absolute;inset:0;overflow:hidden}.peer-cursor{color:var(--peer);align-items:flex-start;transition:left 80ms linear,top 80ms linear;display:flex;position:absolute;transform:translate(-5px,-2px)}.peer-cursor svg{filter:drop-shadow(0 0 1px var(--g-surface)) drop-shadow(0 1px 1px var(--g-surface));flex:none}.peer-cursor-name{padding:2px var(--g-space-2);border-radius:var(--g-radius-pill);background:var(--peer);color:var(--g-brand-contrast);font-size:var(--g-text-xs);line-height:var(--g-lh-xs);font-weight:var(--g-weight-strong);white-space:nowrap;box-shadow:var(--g-shadow-1);margin:14px 0 0 -4px}.comments-btn{position:relative}.comments-btn.is-on{background:var(--g-brand-tint);color:var(--g-brand-link)}.comments-count{border-radius:var(--g-radius-pill);background:var(--g-brand-fill);min-width:16px;height:16px;color:var(--g-brand-contrast);font-size:var(--g-text-xs);line-height:16px;font-weight:var(--g-weight-strong);text-align:center;font-variant-numeric:tabular-nums;padding:0 4px;position:absolute;top:0;right:-2px}.comments-layer{z-index:6;cursor:crosshair;touch-action:none;position:absolute;inset:0}.comments-layer.is-readonly{cursor:grab}.comments-layer.is-panning{cursor:grabbing}.comment-pin{border:2px solid var(--g-surface);background:var(--g-brand-fill);width:28px;height:28px;color:var(--g-brand-contrast);box-shadow:var(--g-shadow-1);font-size:var(--g-text-s);font-weight:var(--g-weight-strong);cursor:pointer;border-radius:50% 50% 50% 0;place-items:center;padding:0;display:grid;position:absolute;transform:translateY(-100%)}.comment-pin.is-resolved{background:var(--g-surface-2);color:var(--g-muted);border-color:var(--g-line)}.comment-pin.is-open{outline:2px solid var(--g-focus);outline-offset:2px}.comment-pin.is-draft{cursor:default}.comment-pop{z-index:8;background:var(--g-surface);border:1px solid var(--g-line);border-radius:var(--g-radius-l);width:320px;max-width:calc(100% - 16px);max-height:min(60vh,520px);box-shadow:var(--g-shadow-2);padding:var(--g-space-3);cursor:default;position:absolute;overflow:auto}.comment-thread{gap:var(--g-space-3);flex-direction:column;display:flex}.comment-thread-head{align-items:center;gap:var(--g-space-2);display:flex}.comment-thread-head .spacer{flex:1}.comment-msgs{gap:var(--g-space-3);flex-direction:column;display:flex}.comment-msg{gap:var(--g-space-2);display:flex}.comment-msg-main{flex:1;min-width:0}.comment-avatar{background:var(--g-badge-brand-bg);width:24px;height:24px;color:var(--g-badge-brand-text);font-size:var(--g-text-xs);font-weight:var(--g-weight-strong);border-radius:50%;flex:none;place-items:center;display:grid}.comment-meta{align-items:center;gap:var(--g-space-1);min-height:24px;font-size:var(--g-text-xs);color:var(--g-faint);display:flex}.comment-meta b{font-size:var(--g-text-s);color:var(--g-text);font-weight:var(--g-weight-strong)}.comment-tools{margin-left:auto;display:flex}.comment-tools .icon-btn{width:var(--g-control-s);height:var(--g-control-s)}.comment-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.comment-confirm{align-items:center;gap:var(--g-space-2);margin-top:var(--g-space-2);font-size:var(--g-text-s);flex-wrap:wrap;display:flex}.comment-confirm span{flex:100%}.comment-compose{gap:var(--g-space-2);flex-direction:column;display:flex}.comment-compose textarea{resize:vertical;width:100%;min-height:64px;font:inherit;color:var(--g-text);background:var(--g-surface);border:1px solid var(--g-input-border);border-radius:var(--g-radius-m);padding:var(--g-space-2)}.comment-compose textarea:focus{outline:2px solid var(--g-focus);outline-offset:1px}.comment-compose-actions{justify-content:flex-end;align-items:center;gap:var(--g-space-2);display:flex}.comment-compose-actions .hint{margin-right:auto}.wc-wrap{display:block;position:relative}.wc-wrap>textarea,.wc-wrap>input{width:100%;display:block}.wc-mirror{z-index:1;pointer-events:none;color:#0000;white-space:pre-wrap;overflow-wrap:break-word;border:solid #0000;margin:0;position:absolute;top:0;left:0;overflow:hidden}.wc-line .wc-mirror{white-space:pre;align-items:center;display:flex}.wc-mark{color:#0000;-webkit-text-decoration:underline wavy var(--g-danger);text-decoration:underline wavy var(--g-danger);text-underline-offset:3px;background:0 0;text-decoration-thickness:1px}.wc-mark.wc-clarity,.wc-mark.wc-tone{-webkit-text-decoration-color:var(--g-info);text-decoration-color:var(--g-info)}.wc-mark.wc-style{-webkit-text-decoration-color:var(--g-brand-link);text-decoration-color:var(--g-brand-link)}.wc-card{z-index:60;gap:var(--g-space-2);width:320px;max-width:calc(100vw - 16px);padding:var(--g-space-3);background:var(--g-surface);color:var(--g-text);border:1px solid var(--g-line);border-radius:var(--g-radius-l);box-shadow:var(--g-shadow-2);font-size:var(--g-text-s);line-height:var(--g-lh-s);flex-direction:column;display:flex;position:fixed}.wc-card p{margin:0}.wc-card small{color:var(--g-muted);font-size:var(--g-text-xs);line-height:var(--g-lh-xs)}.wc-actions{gap:var(--g-space-2);flex-wrap:wrap;display:flex}.comments-sheet{z-index:7;top:var(--g-space-3);right:var(--g-space-3);background:var(--g-surface);border:1px solid var(--g-line);border-radius:var(--g-radius-l);width:300px;box-shadow:var(--g-shadow-1);padding:var(--g-space-3);cursor:default;flex-direction:column;display:flex;position:absolute;bottom:72px;overflow:auto}.comments-sheet-head{align-items:center;gap:var(--g-space-2);margin-bottom:var(--g-space-2);display:flex}.comments-sheet-head h2{font-size:var(--g-text-l);flex:1;margin:0}.comments-sheet-head .check{font-size:var(--g-text-s);white-space:nowrap}.comments-note{margin:0 0 var(--g-space-3);font-size:var(--g-text-s);color:var(--g-muted)}.comments-note p{margin:0 0 var(--g-space-2)}.comments-skeleton{height:96px}.comments-list{gap:var(--g-space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.comments-item{gap:var(--g-space-2);text-align:left;width:100%;padding:var(--g-space-2);border-radius:var(--g-radius-m);color:var(--g-text);cursor:pointer;background:0 0;border:0;display:flex}.comments-item:hover,.comments-item.is-open{background:var(--g-hover-tint)}.comments-item.is-resolved{opacity:.7}.comments-item-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.comments-item-body{font-size:var(--g-text-s);-webkit-line-clamp:3;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@media (width<=700px){.comments-sheet{left:var(--g-space-2);right:var(--g-space-2);width:auto;max-height:40%;top:auto}.comment-pop{right:var(--g-space-2);width:auto;left:var(--g-space-2)!important;top:var(--g-space-2)!important}}.consent-card h1{overflow-wrap:anywhere}.consent-text{font-size:var(--g-text-m);line-height:var(--g-lh-m);margin:0}.consent-list{gap:var(--g-space-2);font-size:var(--g-text-m);line-height:var(--g-lh-m);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.consent-list li{align-items:flex-start;gap:var(--g-space-2);display:flex}.consent-list li svg{color:var(--g-muted);flex:none;margin-top:2px}.consent-actions{justify-content:flex-end;gap:var(--g-space-2);display:flex}@media (pointer:coarse){.tool-btn{width:var(--g-control-xl);height:var(--g-control-xl)}.zoombar .icon-btn,.zoombar .zoom-value{min-height:var(--g-control-xl)}.zoombar .icon-btn{min-width:var(--g-control-xl)}.menu-item{height:var(--g-control-xl)}.dock-tab{height:36px}.mini-btn{min-width:36px;min-height:36px}}.sheet{background:var(--g-surface);border-top:1px solid var(--g-line);min-height:0;box-shadow:var(--g-shadow-2);z-index:8;flex-direction:column;grid-area:dock;display:flex;position:relative}.sheet.is-half{height:45dvh}.sheet.is-full{height:calc(100dvh - 140px)}.sheet-handle{height:28px;color:var(--g-faint);touch-action:none;cursor:ns-resize;background:0 0;border:0;flex:none;place-items:center;display:grid}.sheet-tabs{padding:0 var(--g-space-2) var(--g-space-2);flex:none;gap:2px;display:flex;overflow-x:auto}.sheet .dock-body{border-top:1px solid var(--g-line)}@media (width<=700px){.app.is-editor{grid-template:"top"56px"stage"minmax(0,1fr)"dock"/minmax(0,1fr)}.app.is-editor.has-tabs{grid-template-rows:56px auto minmax(0,1fr) auto;grid-template-areas:"top""tabs""stage""dock"}.app.is-editor .topbar{gap:var(--g-space-1);padding:0 var(--g-space-2)}.app.is-editor .app-title,.app.is-editor .brand .divider,.app.is-editor .send,.app.is-editor .top-actions [aria-label=Redo],.app.is-editor .top-actions [aria-label="Import from URL"],.app.is-editor .top-actions [aria-label=History]{display:none}.app.is-editor .top-actions{gap:0}.app.is-editor .name{flex:60px;width:auto}.app.is-editor .save-state{gap:0;font-size:0}.modbar{bottom:calc(var(--g-space-4) + var(--g-control-xl) + var(--g-space-4))}}.dialog.vars-dialog{width:min(1200px,100vw - 32px);height:min(840px,100dvh - 32px);max-height:none}.dialog.vars-dialog[open]{flex-direction:column;display:flex}.vars-dialog .dialog-body{flex:1;min-height:0}@media (width<=700px){.dialog.vars-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;padding:var(--g-space-4);border:0;border-radius:0;margin:0}.vars-dialog .dialog-actions{margin-top:var(--g-space-4);flex-wrap:wrap}.vars-dialog .dialog-actions .dialog-gap{flex-basis:100%;height:0}.vars-var{min-width:140px}.vars-head{flex-wrap:wrap}.vars-head .select-field{flex:140px}.vars-search{flex:100%;order:1}}.vars-head{align-items:center;gap:var(--g-space-2);display:flex}.vars-kits{align-items:center;gap:var(--g-space-2);margin-bottom:var(--g-space-2);flex-wrap:wrap;display:flex}.vars-kits .field-title{font-size:var(--g-text-s);color:var(--g-muted)}.vars-head .select-field{flex:0 200px}.vars-search{flex:0 240px}.vars-search input{width:100%}.vars-name{height:var(--g-control-m);border-color:var(--g-input-border);padding:0 var(--g-space-2);flex:1}.vars-scroll{border:1px solid var(--g-line);border-radius:var(--g-radius-m);flex:1;min-height:0;overflow:auto}.vars-table{border-collapse:collapse;width:100%;font-size:var(--g-text-s)}.vars-table th,.vars-table td{padding:var(--g-space-1) var(--g-space-2);border-bottom:1px solid var(--g-line);text-align:left;vertical-align:middle}.vars-table thead th{z-index:1;background:var(--g-surface-2);font-weight:var(--g-weight-strong);white-space:nowrap;position:sticky;top:0}.vars-table tbody tr:hover{background:var(--g-hover-tint)}.vars-table .layer-input{height:var(--g-control-s);background:0 0;border-color:#0000}.vars-table .layer-input:hover,.vars-table .layer-input:focus{border-color:var(--g-input-border);background:var(--g-bg)}.vars-mode,.vars-var,.vars-cell{align-items:center;gap:var(--g-space-1);min-width:0;display:flex}.vars-var{min-width:180px}.vars-var svg{color:var(--g-muted);flex:none}.vars-mode .layer-input{font-weight:var(--g-weight-strong);min-width:80px}.vars-cell{min-width:200px}.vars-cell input[type=color]{border:1px solid var(--g-line-strong);border-radius:var(--g-radius-s);background:0 0;flex:none;width:24px;height:24px;padding:0}.vars-hex{font-family:var(--g-font-mono);flex:0 0 72px}.vars-pct{flex:0 0 56px}.vars-alias{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--g-muted);flex:1;overflow:hidden}.vars-opacity{padding-left:var(--g-space-1);border-left:1px solid var(--g-line);flex:none;align-items:center;gap:2px;display:flex}.vars-op-name{max-width:120px;color:var(--g-brand-link)}.vars-pct-sign{color:var(--g-muted);font-size:var(--g-text-xs)}.vars-ref{width:var(--g-control-s);height:var(--g-control-s);border-radius:var(--g-radius-s);color:var(--g-muted);flex:none;place-items:center;display:grid;position:relative}.vars-ref:hover,.vars-ref:focus-within{background:var(--g-hover-tint);color:var(--g-text)}.vars-ref:focus-within{outline:2px solid var(--g-focus);outline-offset:1px}.vars-ref.is-on{color:var(--g-brand-link)}.vars-ref select{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.vars-add-mode{width:1%}.vars-add-mode .link-btn{white-space:nowrap;align-items:center;gap:2px;display:inline-flex}.vars-scroll+.hint,.vars-scroll .hint{margin:var(--g-space-3)}.asset-meta{color:var(--g-faint);font-size:var(--g-text-xs);flex:none;margin-left:auto}.var-row{align-items:center;gap:var(--g-space-1);margin-top:var(--g-space-1);display:flex}.var-label{font-size:var(--g-text-s);color:var(--g-muted);text-overflow:ellipsis;white-space:nowrap;flex:0 0 96px;overflow:hidden}.var-row .select-field{flex:1;min-width:0}@media (hover:none){.layer-tools{opacity:1}.layer-tools.is-set .mini-btn:not(.is-on){visibility:visible}}.style-names{gap:var(--g-space-2);grid-template-columns:1fr 1fr;display:grid}.style-group-head .asset-main{gap:var(--g-space-1);font-weight:var(--g-weight-strong);cursor:pointer}.style-group-head .asset-main svg{flex:none;width:18px;height:18px}.style-group>.asset-list{margin-bottom:var(--g-space-1)}.asset-styles{position:relative}.style-head-tools{align-items:center;gap:var(--g-space-1);display:inline-flex}.sort-pill.is-small button{height:calc(var(--g-space-6) - var(--g-space-1));padding:0 var(--g-space-2);font-size:var(--g-text-xs)}.drag-grip{cursor:grab;touch-action:none;flex:none}.drag-grip:active,.asset-styles.is-sorting,.asset-styles.is-sorting *{cursor:grabbing}.asset-styles .is-moving{opacity:.45}.drop-line{border-radius:var(--g-radius-pill);background:var(--g-brand-fill);pointer-events:none;height:2px;position:absolute;right:0}.style-names>.text-field{min-width:0}.style-names input{width:100%;min-width:0}.dialog.libraries-dialog{width:min(560px,100vw - 32px)}.lib-section{gap:var(--g-space-2);flex-direction:column;display:flex}.lib-section+.lib-section{padding-top:var(--g-space-4);border-top:1px solid var(--g-line)}.lib-section .hint{margin:0}.lib-list{gap:var(--g-space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.lib-row{align-items:center;gap:var(--g-space-3);padding:var(--g-space-2) 0;display:flex}.lib-row>svg{color:var(--g-muted);flex:none}.lib-text{flex-direction:column;flex:1;min-width:0;display:flex}.lib-name{font-weight:var(--g-weight-strong);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lib-badge{padding:0 var(--g-space-2);border-radius:var(--g-radius-pill);background:var(--g-badge-info-bg);color:var(--g-badge-info-text);font-size:var(--g-text-xs);line-height:var(--g-lh-xs);font-weight:var(--g-weight-strong)}.asset-lib{align-items:center;gap:var(--g-space-1);margin:var(--g-space-2) 0 0;font-size:var(--g-text-xs);line-height:var(--g-lh-xs);color:var(--g-faint);display:flex}.lib-banner{align-items:center;gap:var(--g-space-2);padding:var(--g-space-2) var(--g-space-3);border-radius:var(--g-radius-m);background:var(--g-badge-info-bg);color:var(--g-badge-info-text);font-size:var(--g-text-s);line-height:var(--g-lh-s);display:flex}.lib-banner span{flex:1}.lib-banner .btn{flex:none}.font-weights{flex-wrap:wrap}.font-chip{padding:0 0 0 var(--g-space-2);border:1px solid var(--g-line);border-radius:var(--g-radius-pill);font-size:var(--g-text-s);line-height:var(--g-lh-s);align-items:center;gap:2px;display:inline-flex}.variant-row{gap:var(--g-space-2);margin:0 0 var(--g-space-2);grid-template-columns:minmax(0,2fr) minmax(0,3fr) auto;align-items:center;display:grid}.variant-row .select-field{grid-column:2/-1;display:block}.variant-row>.text-field:last-child{grid-column:2/-1}.variant-key{font-size:var(--g-text-s);color:var(--g-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.variant-values{font-size:var(--g-text-s);color:var(--g-faint);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hint.is-warn{color:var(--g-text);background:var(--g-warning-tint);border-radius:var(--g-radius-m);padding:var(--g-space-1) var(--g-space-2);margin:0 0 var(--g-space-2)}.set-outline{fill:none;stroke:var(--g-info);stroke-width:1px;stroke-dasharray:6 4}.asset-count{color:var(--g-faint)}.player{z-index:200;background:var(--g-bg);flex-direction:column;display:flex;position:fixed;inset:0}.player-bar{justify-content:space-between;align-items:center;gap:var(--g-space-3);height:48px;padding:0 var(--g-space-3);border-bottom:1px solid var(--g-line);background:var(--g-surface);flex:none;display:flex}.player-name{font-size:var(--g-text-m);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.player-tools{align-items:center;gap:var(--g-space-1);display:flex}.player-tools .select-field select{width:auto;max-width:180px}.player-stage{flex:1;min-height:0;position:relative;overflow:hidden}.player-screen{box-shadow:var(--g-shadow-1);position:absolute;top:50%;left:50%;translate:-50% -50%}.player-screen svg{display:block}.player-body{position:relative}.player-scroller{position:absolute}.player-overlay,.player-dim{position:absolute;inset:0}.player-overlay{pointer-events:none}.player-overlay>*{pointer-events:auto}.player-spot{border-radius:var(--g-radius-s);background:0 0;border:0;padding:0;position:absolute}.player-spot:focus-visible{outline:2px solid var(--g-focus);outline-offset:2px}.player-spot.is-hint{background:color-mix(in srgb,var(--g-info) 22%,transparent);outline:1px solid var(--g-info)}.player-field{box-sizing:border-box;border-radius:var(--g-radius-s);resize:none;background:0 0;border:0;outline:none;margin:0;padding:0;position:absolute;overflow:hidden}.player-field.is-select{appearance:none;color:#0000;cursor:pointer}.player-field.is-select option{color:var(--g-text);background:var(--g-surface)}.player-field.is-select:focus-visible{outline:2px solid var(--g-focus);outline-offset:2px}.player-field.is-hint{background:color-mix(in srgb,var(--g-info) 22%,transparent);outline:1px solid var(--g-info)}.field-choices{gap:var(--g-space-1);display:grid}.proto-start{gap:var(--g-space-2);margin:0 0 var(--g-space-3);flex-direction:column;display:flex}.proto-start .check svg{width:16px;height:16px;color:var(--g-info)}.proto-item{gap:var(--g-space-2);padding:var(--g-space-2);margin:0 0 var(--g-space-2);border:1px solid var(--g-line);border-radius:var(--g-radius-m);flex-direction:column;display:flex}.proto-line{align-items:center;gap:var(--g-space-2);display:flex}.proto-line>.select-field{flex:1;min-width:0}.proto-line>.num{flex:none;width:96px}.proto-link{fill:none;stroke:var(--g-info);stroke-width:1.5px}.proto-link-end{fill:var(--g-info)}.frame-flow{margin-left:var(--g-space-1);padding:0 var(--g-space-1);border-radius:var(--g-radius-s);background:var(--g-badge-info-bg);color:var(--g-badge-info-text);font-size:var(--g-text-xs);align-items:center;gap:2px;display:inline-flex}.frame-flow svg{width:12px;height:12px}.text-style-bar{z-index:7;transform:translate(-50%,calc(-100% - var(--g-space-2)));background:var(--g-surface);border:1px solid var(--g-line);border-radius:var(--g-radius-l);box-shadow:var(--g-shadow-2);padding:var(--g-space-1);align-items:center;gap:2px;display:flex;position:absolute}.text-style-bar .text-color{width:var(--g-control-m);height:var(--g-control-m);place-items:center;display:grid}.text-style-bar .text-color input{border:1px solid var(--g-line);border-radius:var(--g-radius-s);cursor:pointer;background:0 0;width:20px;height:20px;padding:0}@media (pointer:coarse){.text-style-bar .icon-btn,.text-style-bar .text-color{width:var(--g-control-xl);height:var(--g-control-xl)}}.text-rows{gap:var(--g-space-2);margin-top:var(--g-space-2);flex-wrap:wrap;display:flex}.feature-list{gap:var(--g-space-1);margin-top:var(--g-space-2);display:grid}.spec-grid{gap:var(--g-space-1);grid-template-columns:1fr 1fr;display:grid}.spec{min-width:0;padding:var(--g-space-1) var(--g-space-2);border-radius:var(--g-radius-m);color:var(--g-text);text-align:left;font:inherit;cursor:copy;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.spec:hover{background:var(--g-hover-tint)}.spec:focus-visible{outline:2px solid var(--g-focus);outline-offset:1px}.spec-label{font-size:var(--g-text-xs);color:var(--g-muted)}.spec-value{align-items:center;gap:var(--g-space-2);max-width:100%;font-family:var(--g-font-mono);font-size:var(--g-text-s);overflow-wrap:anywhere;display:flex}.spec-swatch{border-radius:var(--g-radius-s);border:1px solid var(--g-line);flex:none;width:16px;height:16px}.spec-token{align-items:center;gap:var(--g-space-1);font-size:var(--g-text-xs);color:var(--g-badge-info-text);background:var(--g-badge-info-bg);border-radius:var(--g-radius-pill);padding:0 var(--g-space-2);display:inline-flex}.spec-token svg{width:12px;height:12px}.inspect-code{max-height:320px;padding:var(--g-space-3);background:var(--g-bg);border:1px solid var(--g-line);border-radius:var(--g-radius-m);font-family:var(--g-font-mono);font-size:var(--g-text-xs);line-height:var(--g-lh-s);white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;margin:0;overflow:auto}.measure-target{fill:none;stroke:var(--g-danger);stroke-width:1px;stroke-dasharray:3 3}.measure-line{stroke:var(--g-danger);stroke-width:1px}.measure-label{background:var(--g-danger-fill);color:var(--g-danger-contrast);transform:translate(-50%,-50%)}.layout-wrap{gap:var(--g-space-2);flex-direction:column;display:flex}.layout-wrap .check svg{width:16px;height:16px}.comp-props{gap:var(--g-space-2);flex-direction:column;display:flex}.comp-props-head{justify-content:space-between;align-items:center;gap:var(--g-space-2);display:flex}.comp-props-head .select-field{width:auto}.comp-prop-icon{width:18px;height:18px;color:var(--g-muted);flex:none}.comp-prop-row{gap:var(--g-space-2);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.transform-dialog .seg button{padding:0 var(--g-space-2)}.transform-row{gap:var(--g-space-4);align-items:flex-start;display:flex}.transform-row>:first-child{flex:1;min-width:0}.field-grid.one-col{grid-template-columns:1fr}.check-row{gap:var(--g-space-2) var(--g-space-4);flex-wrap:wrap;display:flex}.origin-field{gap:var(--g-space-1);font-size:var(--g-text-s);color:var(--g-muted);flex-direction:column;display:flex}.origin-grid{grid-template-columns:repeat(3,var(--g-control-s));grid-auto-rows:var(--g-control-s);padding:var(--g-space-1);border:1px solid var(--g-line);border-radius:var(--g-radius-m);background:var(--g-bg);gap:2px;display:grid}.origin-grid button{border-radius:var(--g-radius-s);background:0 0;border:0;place-items:center;padding:0;display:grid}.origin-grid button:after{content:"";width:var(--g-space-2);height:var(--g-space-2);border:1.5px solid var(--g-muted);border-radius:var(--g-radius-s)}.origin-grid button:hover{background:var(--g-hover-tint)}.origin-grid button.is-on:after{background:var(--g-brand);border-color:var(--g-brand)}.simplify-preview{background:var(--g-bg);border:1px solid var(--g-line);border-radius:var(--g-radius-m);width:100%;height:180px}.simplify-before{fill:none;stroke:var(--g-muted);stroke-opacity:.5;stroke-width:3px;vector-effect:non-scaling-stroke}.simplify-after{fill:none;stroke:var(--g-brand);stroke-width:1.5px;vector-effect:non-scaling-stroke}.text-field input[type=range]{background:0 0;border:0;height:auto;padding:0}.width-point line{stroke:var(--g-brand);stroke-width:1px}.width-point circle{fill:var(--g-surface);stroke:var(--g-brand);stroke-width:1.5px}.edit-outline.is-picked{stroke-width:2px}.trace-dialog{width:min(760px,calc(100vw - 2 * var(--g-space-4)))}.trace-body{gap:var(--g-space-4);grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);align-items:start;display:grid}.trace-fields{gap:var(--g-space-3);flex-direction:column;display:flex}.trace-preview{aspect-ratio:1;background:var(--g-bg);border:1px solid var(--g-line);border-radius:var(--g-radius-m);width:100%}@media (width<=600px){.trace-body{grid-template-columns:1fr}}.rail-trash{margin-top:var(--g-space-3)}.trash-list{gap:var(--g-space-2);margin:0;padding:0;list-style:none;display:grid}.trash-row{align-items:center;gap:var(--g-space-3);padding:var(--g-space-2) var(--g-space-3);background:var(--g-surface);border:1px solid var(--g-line);border-radius:var(--g-radius-l);display:flex}.trash-row .file-thumb{border-radius:var(--g-radius-m);flex:0 0 96px;width:96px;margin:0}.trash-info{flex:1;gap:2px;min-width:0;display:grid}@media (width<=640px){.trash-row{flex-wrap:wrap}.trash-info{flex-basis:calc(100% - 120px)}}.fix-icons-list{padding:var(--g-space-1);border:1px solid var(--g-line);border-radius:var(--g-radius-m);background:var(--g-bg);max-height:280px;margin:0;list-style:none;overflow:auto}.fix-icons-list li .check{align-items:center;gap:var(--g-space-2);padding:var(--g-space-1) 0;display:flex}.fix-icons-glyph{white-space:nowrap;flex:none;width:24px;height:24px;font-size:24px;line-height:1;overflow:hidden}.fix-icons-name{font-family:var(--g-font-mono);font-size:var(--g-text-s)}.fix-icons-list .hint{font-size:var(--g-text-xs);margin:0 0 0 auto}.picture-look{gap:var(--g-space-2);display:grid}.picture-look .btn{justify-self:start}.look-strength{align-items:center;gap:var(--g-space-2);font-size:var(--g-text-s);color:var(--g-muted);grid-template-columns:auto 1fr 3.5em;display:grid}.look-strength input{width:100%;accent-color:var(--g-brand)}.look-strength-value{text-align:right;color:var(--g-text);font-variant-numeric:tabular-nums}.look-from{gap:var(--g-space-1) var(--g-space-2);padding:var(--g-space-2);border:1px solid var(--g-line);border-radius:var(--g-radius-m);font-size:var(--g-text-s);line-height:var(--g-lh-s);grid-template-columns:18px 1fr;align-items:start;display:grid}.look-from>svg{width:18px;height:18px;color:var(--g-muted)}.look-from p{margin:0}.look-from .btn{grid-column:2}.look-from.is-newer{border-color:var(--g-warning);background:var(--g-warning-tint)}.look-from.is-newer>svg{color:var(--g-warning)}.hint.is-bad{color:var(--g-danger)}.picture-look a.btn{color:var(--g-text);text-decoration:none}.gcrop{box-sizing:border-box;width:min(360px,100vw - 32px);padding:var(--g-space-6,24px);border:1px solid var(--g-line,#d1d5db);border-radius:var(--g-radius-l,12px);background:var(--g-surface,#fff);color:var(--g-text,#1f2937);box-shadow:var(--g-shadow-2,0 12px 32px #1418232e);font-family:var(--g-font,Inter, Arial, sans-serif)}.gcrop::backdrop{background:color-mix(in srgb, var(--g-bg,#f4f5f7) 80%, transparent)}.gcrop-head{justify-content:space-between;align-items:center;gap:var(--g-space-3,12px);display:flex}.gcrop-head h2{font-size:var(--g-text-xl,18px);line-height:var(--g-lh-xl,26px);font-weight:var(--g-weight-title,700);margin:0}.gcrop-hint{margin:var(--g-space-2,8px) 0 var(--g-space-4,16px);font-size:var(--g-text-s,12px);line-height:var(--g-lh-s,16px);color:var(--g-muted,#6b7280)}.gcrop-stage{aspect-ratio:1;border-radius:var(--g-radius-m,8px);cursor:grab;touch-action:none;background:#0a0c11;width:100%;max-width:280px;margin:0 auto;display:block}.gcrop-stage:active{cursor:grabbing}.gcrop-zoom{align-items:center;gap:var(--g-space-2,8px);margin-top:var(--g-space-4,16px);display:flex}.gcrop-zoom input{accent-color:var(--g-brand-fill,#d63a0c);flex:1}.gcrop-zoom button,.gcrop-x{width:var(--g-control-m,32px);height:var(--g-control-m,32px);border-radius:var(--g-radius-m,8px);color:var(--g-muted,#6b7280);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.gcrop-zoom button:hover,.gcrop-x:hover{background:var(--g-hover-tint,#eef0f4);color:var(--g-text,#1f2937)}.gcrop-actions{justify-content:flex-end;gap:var(--g-space-2,8px);margin-top:var(--g-space-6,24px);display:flex}.gcrop-btn{height:var(--g-control-m,32px);padding:0 var(--g-space-3,12px);border:1px solid var(--g-control-border,#8b909a);border-radius:var(--g-btn-radius,8px);background:var(--g-surface,#fff);color:var(--g-text,#1f2937);font:inherit;font-size:var(--g-text-s,12px);font-weight:var(--g-weight-strong,600);cursor:pointer}.gcrop-btn:hover{background:var(--g-hover-tint,#eef0f4)}.gcrop-btn.gcrop-primary{background:var(--g-brand-fill,#d63a0c);color:var(--g-brand-contrast,#fff);border-color:#0000}.gcrop-btn.gcrop-primary:hover{background:var(--g-brand-hover,#b8320a)}.gcrop :focus-visible{outline:2px solid var(--g-focus,#1f2937);outline-offset:2px}.dialog.feedback-dialog{width:min(520px,100vw - 32px)}.feedback-dialog .dialog-head{justify-content:space-between;align-items:center;gap:var(--g-space-3);margin-bottom:var(--g-space-4);display:flex}.feedback-dialog .dialog-head h2{margin:0}.feedback-dialog .dialog-body{gap:var(--g-space-3);flex-direction:column;display:flex}.feedback-dialog .dialog-actions{margin-top:var(--g-space-6)}.feedback-dialog .fb-lead,.feedback-dialog .fb-note{font-size:var(--g-text-s);color:var(--g-muted);margin:0}.feedback-dialog .fb-note{font-size:var(--g-text-xs)}.feedback-dialog .fb-kinds{gap:var(--g-space-2);grid-template-columns:repeat(3,1fr);display:grid}.feedback-dialog .fb-kind{align-items:center;gap:var(--g-space-1);padding:var(--g-space-3) var(--g-space-2);border:1px solid var(--g-control-border);border-radius:var(--g-radius-m);color:var(--g-muted);font:inherit;font-size:var(--g-text-xs);font-weight:var(--g-weight-strong);cursor:pointer;background:0 0;flex-direction:column;display:flex}.feedback-dialog .fb-kind:hover{background:var(--g-hover-tint);color:var(--g-text)}.feedback-dialog .fb-kind.is-on{border-color:var(--g-brand);background:var(--g-brand-tint);color:var(--g-text)}.feedback-dialog .fb-kind.is-on svg{color:var(--g-brand)}.feedback-dialog .fb-kind:focus-visible{outline:2px solid var(--g-focus);outline-offset:2px}.feedback-dialog .fb-field{gap:var(--g-space-1);flex-direction:column;display:flex}.feedback-dialog .fb-field>span{font-size:var(--g-text-xs);font-weight:var(--g-weight-strong)}.feedback-dialog .fb-field input,.feedback-dialog .fb-field textarea{box-sizing:border-box;width:100%;font:inherit;font-size:var(--g-text-m);color:var(--g-text);background:var(--g-surface);border:1px solid var(--g-input-border);border-radius:var(--g-radius-m);padding:var(--g-space-2) var(--g-space-3)}.feedback-dialog .fb-field input{height:var(--g-control-l)}.feedback-dialog .fb-field textarea{resize:vertical;min-height:140px}.feedback-dialog .fb-field input::placeholder,.feedback-dialog .fb-field textarea::placeholder{color:var(--g-faint)}.feedback-dialog .fb-field input:focus,.feedback-dialog .fb-field textarea:focus{outline:2px solid var(--g-focus);outline-offset:-1px;border-color:#0000}.feedback-dialog .fb-check{align-items:flex-start;gap:var(--g-space-2);font-size:var(--g-text-s);cursor:pointer;display:flex}.feedback-dialog .fb-check input{accent-color:var(--g-brand-fill);margin:2px 0 0}.feedback-dialog .fb-place{font-size:var(--g-text-xs);color:var(--g-muted);word-break:break-word;display:block}.feedback-dialog .fb-error{align-items:center;gap:var(--g-space-2);padding:var(--g-space-2) var(--g-space-3);border-radius:var(--g-radius-m);background:var(--g-danger-tint);color:var(--g-danger);font-size:var(--g-text-s);font-weight:var(--g-weight-strong);margin:0;display:flex}.feedback-dialog .fb-done{align-items:center;gap:var(--g-space-2);padding:var(--g-space-4) 0;text-align:center;flex-direction:column;display:flex}.feedback-dialog .fb-done svg{width:48px;height:48px;color:var(--g-success)}.feedback-dialog .fb-done h3{font-size:var(--g-text-xl);margin:0}.feedback-dialog .fb-done p{font-size:var(--g-text-s);color:var(--g-muted);margin:0}@media (width<=480px){.feedback-dialog .fb-kinds{grid-template-columns:1fr}.feedback-dialog .fb-kind{padding:var(--g-space-2) var(--g-space-3);flex-direction:row;justify-content:flex-start}}.dialog.about-dialog{width:min(440px,100vw - 32px)}.about-dialog .dialog-head{justify-content:space-between;align-items:center;gap:var(--g-space-3);margin-bottom:var(--g-space-4);display:flex}.about-dialog .dialog-head h2{margin:0}.about-dialog .dialog-body{gap:var(--g-space-4);flex-direction:column;display:flex}.about-dialog .dialog-actions{margin-top:var(--g-space-6)}.about-dialog p{margin:0}.about-dialog .about-app{align-items:center;gap:var(--g-space-4);display:flex}.about-dialog .about-icon{border-radius:var(--g-radius-l);flex:none;width:64px;height:64px}.about-dialog .about-names{flex-direction:column;gap:2px;min-width:0;display:flex}.about-dialog .about-names h3{font-size:var(--g-text-2xl);line-height:var(--g-lh-2xl);font-weight:var(--g-weight-title);margin:0}.about-dialog .about-by{font-size:var(--g-text-s);line-height:var(--g-lh-s);color:var(--g-muted)}.about-dialog .about-purpose{font-size:var(--g-text-m);line-height:var(--g-lh-m);color:var(--g-text)}.about-dialog .about-facts{gap:var(--g-space-2) var(--g-space-6);padding:var(--g-space-3) var(--g-space-4);border-radius:var(--g-radius-m);background:var(--g-surface-2);flex-wrap:wrap;margin:0;display:flex}.about-dialog .about-facts div{flex-direction:column;gap:2px;display:flex}.about-dialog .about-facts dt{font-size:var(--g-text-xs);line-height:var(--g-lh-xs);color:var(--g-muted)}.about-dialog .about-facts dd{font-size:var(--g-text-m);line-height:var(--g-lh-m);font-weight:var(--g-weight-strong);margin:0}.about-dialog .about-facts code{font-family:var(--g-font-mono);font-size:var(--g-text-s);font-weight:var(--g-weight-regular)}.about-dialog .about-suite{align-items:center;gap:var(--g-space-3);padding-top:var(--g-space-4);border-top:1px solid var(--g-line);display:flex}.about-dialog .about-suite-logo{border-radius:var(--g-radius-m);object-fit:contain;flex:none;width:44px;height:44px}.about-dialog .about-suite-logo.is-placeholder{box-sizing:border-box;border:1px dashed var(--g-line-strong);color:var(--g-faint);font-size:var(--g-text-xs);font-weight:var(--g-weight-strong);place-items:center;display:grid}.about-dialog .about-suite-name{font-size:var(--g-text-m);line-height:var(--g-lh-m);font-weight:var(--g-weight-strong)}.about-dialog .about-suite-line,.about-dialog .about-credits{font-size:var(--g-text-s);line-height:var(--g-lh-s);color:var(--g-muted)}.about-dialog .about-small{gap:var(--g-space-1);padding-top:var(--g-space-4);border-top:1px solid var(--g-line);font-size:var(--g-text-xs);line-height:var(--g-lh-xs);color:var(--g-muted);flex-direction:column;display:flex}.about-dialog .about-links{gap:var(--g-space-1) var(--g-space-4);flex-wrap:wrap;display:flex}.about-dialog a{color:var(--g-brand-link);text-decoration:none}.about-dialog a:hover{text-decoration:underline}.about-dialog a:focus-visible{outline:2px solid var(--g-focus);outline-offset:2px;border-radius:var(--g-radius-s)}.about-dialog .about-soon{color:var(--g-muted);cursor:default}.about-dialog .about-links .about-soon{text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}
