@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-vietnamese-700-normal-DMty7AZE.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-700-normal-Duxec5Rn.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-ext-700-normal-BQnZhY3m.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-700-normal-HVCqSBdx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2) format("woff2"),url(/assets/space-grotesk-latin-700-normal-CwsQ-cCU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*{box-sizing:border-box;margin:0;padding:0}:root{--bg: #161616;--layer: #262626;--field: #393939;--field-hover: #4c4c4c;--border: #393939;--text: #f4f4f4;--text-secondary: #c6c6c6;--text-helper: #a8a8a8;--interactive: #0f62fe;--interactive-hover: #0353e9;--focus: #ffffff;--danger: #fa4d56;--brand-blue: #4589ff;--brand-sq-red: #ca3b29;--brand-sq-gray: #9b9b9b;--brand-sq-blue: #4383f3;--font-ui: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, Consolas, monospace;--ease: cubic-bezier(.2, 0, .38, .9);--t-fast: .11s;--z-overlay: 10;--z-float: 20;--z-menu: 100;--z-modal: 200;--z-toast: 300;--z-loader: 400;--z-loupe: 450;--z-tooltip: 500;font-size:13px}html,body,#app{height:100%;overflow:hidden}html{overscroll-behavior:none;touch-action:manipulation;-webkit-text-size-adjust:100%}body{font-family:var(--font-ui);background:var(--bg);color:var(--text);user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}#app{display:grid;grid-template-rows:40px 1fr;grid-template-columns:40px 252px 1fr 256px;grid-template-areas:"menubar menubar menubar menubar" "toolbar tools   views   layers";padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom)}button,select{font-family:var(--font-ui);font-size:13px;color:var(--text);background:transparent;border:none;border-radius:0;padding:6px 12px;cursor:pointer;transition:background var(--t-fast) var(--ease)}button:hover{background:var(--field)}button:active{background:var(--field-hover)}button:disabled{opacity:.4;cursor:default}button.active{background:var(--interactive);color:#fff}button.active:hover{background:var(--interactive-hover)}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--focus);outline-offset:1px}input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex:none;box-sizing:border-box;width:16px;height:16px;margin:0;display:inline-block;vertical-align:middle;border:1px solid #8d8d8d;border-radius:0;background:transparent no-repeat center;cursor:pointer;transition:background-color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}input[type=checkbox]:hover:not(:disabled){border-color:var(--text);background-color:#ffffff0d}input[type=checkbox]:checked,input[type=checkbox]:indeterminate{border-color:var(--interactive);background-color:var(--interactive)}input[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5 6.7 11.2 12 5' fill='none' stroke='%23ffffff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}input[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8 H12' stroke='%23ffffff' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}input[type=checkbox]:checked:hover:not(:disabled),input[type=checkbox]:indeterminate:hover:not(:disabled){border-color:var(--interactive-hover);background-color:var(--interactive-hover)}input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}@media (prefers-reduced-motion: reduce){input[type=checkbox]{transition:none}}button.outlined{border:1px solid var(--field)}button.outlined:hover{border-color:var(--field-hover)}.icon-btn{width:32px;height:32px;padding:0;display:grid;place-items:center}.icon-btn svg{display:block}select{background:var(--field);padding:5px 8px}.panel-title{font-size:13px;font-weight:600;color:var(--text)}.color-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.color-eyedrop{width:26px;height:26px;color:var(--text-secondary);flex:none}.color-eyedrop:hover{color:var(--text)}.eyedropper-loupe{position:fixed;z-index:var(--z-loupe);width:88px;height:88px;margin:0;border-radius:50%;overflow:hidden;border:3px solid #fff;box-shadow:0 3px 14px #00000080;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.6);transition:transform var(--t-fast) var(--ease),opacity var(--t-fast) var(--ease)}.eyedropper-loupe.on{opacity:1;transform:translate(-50%,-50%) scale(1)}.eyedropper-loupe .loupe-new,.eyedropper-loupe .loupe-cur{position:absolute;left:0;right:0;height:50%}.eyedropper-loupe .loupe-new{top:0}.eyedropper-loupe .loupe-cur{bottom:0;box-shadow:inset 0 1px #0000004d}@media (prefers-reduced-motion: reduce){.eyedropper-loupe{transform:translate(-50%,-50%);transition:opacity var(--t-fast) var(--ease)}.eyedropper-loupe.on{transform:translate(-50%,-50%)}}.readout{font-family:var(--font-mono);font-size:11px;color:var(--text-helper)}.brand-squares{display:inline-flex;gap:.34em}.brand-squares i{width:.62em;height:.62em;flex:none}.brand-squares .sq-r{background:var(--brand-sq-red)}.brand-squares .sq-g{background:var(--brand-sq-gray)}.brand-squares .sq-b{background:var(--brand-sq-blue)}.menubar{grid-area:menubar;position:relative;display:flex;align-items:stretch;background:var(--bg);border-bottom:1px solid var(--border)}.menubar-views{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.menubar-cluster{display:flex;align-items:center;gap:8px}.menubar-cluster .cluster-divider{width:1px;height:18px;background:var(--border);flex:none}.menubar-views .icon-btn{width:32px;height:26px}.flat-switch button.active{background:var(--interactive)}.menubar .brand{display:flex;align-items:center;font-weight:600;font-size:14px;padding:0 16px 0 14px;letter-spacing:.01em}.menubar .brand b{color:var(--brand-blue);font-weight:600}.menubar .brand .brand-squares{font-size:11px;margin-right:8px}.alpha-tag{margin-left:9px;padding:2px 7px 3px;font-family:var(--font-mono);font-size:10px;font-weight:400;letter-spacing:.04em;line-height:1;color:var(--text-helper);border:1px solid var(--field);transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.alpha-tag:hover{background:var(--field);color:var(--text)}.nightly-tag{margin-left:6px;padding:2px 7px 3px;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.04em;line-height:1;text-transform:lowercase;color:#fff;background:var(--brand-sq-red);border:1px solid var(--brand-sq-red)}.menu{position:relative;display:flex}.menu>button{padding:0 12px;font-size:13px;color:var(--text-secondary)}.menu>button:hover,.menu.open>button{background:var(--layer);color:var(--text)}.menu-dropdown{position:absolute;top:100%;left:0;min-width:220px;background:var(--layer);border:1px solid var(--border);box-shadow:0 8px 16px #0006;z-index:var(--z-menu);display:none;padding:4px 0}.menu.open .menu-dropdown{display:block}.menu-item{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;text-align:left;padding:7px 14px;font-size:13px;color:var(--text)}.menu-item .shortcut{font-family:var(--font-mono);font-size:11px;color:var(--text-helper)}.menu-item:hover .shortcut{color:var(--text-secondary)}.menu-separator{height:1px;margin:4px 0;background:var(--border)}.menubar .spacer{flex:1}.menubar .right{display:flex;align-items:center;gap:12px;padding-right:12px}.save-status{font-family:var(--font-mono);font-size:11px;color:var(--text-helper)}.switcher{display:inline-flex;border:1px solid var(--field)}.switcher button{padding:5px 14px;font-size:12px;color:var(--text-secondary)}.switcher button+button{border-left:1px solid var(--field)}.switcher button:hover{background:var(--field);color:var(--text)}.switcher button.active{background:var(--text);color:var(--bg)}.switcher button.active:hover{background:var(--text)}.tools{grid-area:tools;background:var(--bg);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto;scrollbar-gutter:stable}.section{padding:12px 14px 14px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:10px}.section:last-child{border-bottom:none}.toolbar{grid-area:toolbar;background:var(--bg);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:6px 0;overflow-y:auto;scrollbar-width:none}.toolbar::-webkit-scrollbar{display:none}.toolbar-group{display:flex;flex-direction:column}.toolbar-group+.toolbar-group{margin-top:7px;border-top:1px solid var(--border);padding-top:7px}.toolbar button{position:relative;height:38px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.toolbar button:hover{background:var(--field);color:var(--text)}.toolbar button.active{background:var(--interactive);color:#fff}.toolbar button.active:hover{background:var(--interactive-hover)}.toolbar button:focus-visible{outline-offset:-2px}.tool-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.tool-badge{position:absolute;right:3px;bottom:2px;font:600 8px/1 var(--font-mono);letter-spacing:.03em;color:var(--text-helper);pointer-events:none}.toolbar button.active .tool-badge{color:#fff}.tool-tip{position:fixed;z-index:var(--z-tooltip);width:264px;background:var(--layer);border:1px solid var(--border);box-shadow:0 12px 32px #00000080;pointer-events:none;display:none;opacity:0;transform:translate(-6px);transition:opacity var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.tool-tip.shown{display:block}.tool-tip.in{opacity:1;transform:none}.tool-tip-media{aspect-ratio:37 / 30;background:#101010;border-bottom:1px solid var(--border)}.tool-tip-media video{width:100%;height:100%;object-fit:contain;display:block}.tool-tip-body{padding:11px 13px 13px}.tool-tip-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:5px}.tool-tip-head h4{margin:0;font-size:13px;font-weight:600;color:var(--text)}.tool-tip kbd{font-family:var(--font-mono);font-size:11px;color:var(--text-helper);background:var(--field);padding:1px 6px}.tool-tip-text{margin:0;font-size:12px;line-height:1.5;color:var(--text-secondary);max-width:40ch}@media (prefers-reduced-motion: reduce){.tool-tip{transition:none;transform:none}}.brush-list{display:flex;flex-direction:column;gap:1px}.brush-row{position:relative;display:flex;align-items:center;gap:8px;padding:3px 8px;background:var(--layer);font-size:12px;text-align:left}.brush-mat-badge{position:absolute;top:2px;right:5px;display:flex;align-items:center;gap:1px;padding:1px 2px;color:#4589ff;background:color-mix(in srgb,var(--layer) 65%,transparent);pointer-events:none}.brush-row:hover .brush-mat-badge{background:color-mix(in srgb,var(--field) 65%,transparent)}.brush-row.active .brush-mat-badge{color:#fff;background:color-mix(in srgb,var(--interactive) 55%,transparent)}.brush-mat-badge svg{display:block}.brush-row:hover{background:var(--field)}.brush-row.active{background:var(--interactive)}.brush-row .brush-dot{width:10px;color:var(--interactive);font-size:9px;line-height:1}.brush-row.active .brush-dot{color:#4589ff}.brush-preview{display:block;flex:none}.brush-row .name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brush-row.add{color:var(--text-secondary)}.brush-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.brush-col .name{flex:none;line-height:1.3}.brush-stroke{display:block;width:100%;height:16px}.project-name{max-width:220px;padding:2px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--text-secondary)}.project-name:hover{background:var(--field);color:var(--text)}.project-name:empty{display:none}.brush-browser{position:fixed;z-index:var(--z-modal);display:flex;align-items:stretch;background:var(--layer);border:1px solid var(--border);box-shadow:0 8px 24px #00000080}.brush-browser-cats{display:flex;flex-direction:column;gap:1px;padding:4px;min-width:104px;border-right:1px solid var(--border)}.brush-browser-cat{padding:6px 10px;font-size:12px;text-align:left;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brush-browser-cat:hover{background:var(--field)}.brush-browser-cat.active{background:var(--field);color:var(--text)}.brush-browser-main{display:flex;flex-direction:column;min-height:0}.brush-browser-tips{display:flex;flex-direction:column;gap:1px;padding:4px;width:216px;max-height:324px;overflow-y:auto}.brush-browser-restore{display:flex;align-items:center;gap:6px;flex:none;padding:8px 10px;font-size:12px;color:var(--text-secondary);border-top:1px solid var(--border)}.brush-browser-restore:hover{background:var(--field);color:var(--text)}.new-brush{position:fixed;z-index:var(--z-modal);display:flex;flex-direction:column;gap:2px;padding:6px;width:240px;background:var(--layer);border:1px solid var(--border);box-shadow:0 8px 24px #00000080}.new-brush-head{padding:6px 6px 2px;font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-helper)}.new-brush-tiles{display:grid;grid-template-columns:1fr 1fr;gap:2px}.new-brush-tile,.new-brush-source{display:flex;align-items:center;gap:8px;padding:7px 8px;font-size:12px;color:var(--text-secondary)}.new-brush-tile:hover,.new-brush-source:hover{background:var(--field);color:var(--text)}.new-brush-tile .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-brush-tile .brush-preview{flex:none}.settings-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:7px 0;font-size:12px}.tool-hint{font-size:11px;line-height:1.5;color:var(--text-helper)}.sub-group{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--border);padding-top:10px}.sub-label{font-size:11px;font-weight:600;color:var(--text-secondary)}.field-row{display:flex;flex-direction:column;gap:5px}.field-row>label{display:flex;justify-content:space-between;align-items:baseline;font-size:11px;color:var(--text-secondary)}.label-help{display:inline-flex;gap:5px;align-items:baseline}.help-q{cursor:help;color:var(--text-helper);border-bottom:1px dotted var(--text-helper);line-height:1.1}.panel-title .help-q{font-size:12px;font-weight:400}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:14px;background:transparent;--p: 50%;touch-action:none}input[type=range]::-webkit-slider-runnable-track{height:2px;background:linear-gradient(to right,var(--interactive) var(--p),var(--field) var(--p))}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;margin-top:-6px;border-radius:50%;background:var(--text);border:none;transition:transform var(--t-fast) var(--ease)}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.12)}input[type=range]::-moz-range-track{height:2px;background:var(--field)}input[type=range]::-moz-range-progress{height:2px;background:var(--interactive)}input[type=range]::-moz-range-thumb{width:14px;height:14px;border:none;border-radius:50%;background:var(--text)}input[type=color]{width:32px;height:32px;padding:2px;background:var(--layer);border:none;cursor:pointer}input[type=color]:hover{background:var(--field)}.color-row{display:flex;align-items:center;gap:8px}.color-hex{font-family:var(--font-mono);font-size:11px;color:var(--text-helper)}.palette,.recent-swatches{display:grid;grid-template-columns:repeat(6,1fr);gap:3px}.swatch{width:100%;height:20px;padding:0;border:1px solid var(--border)}.swatch:hover{border-color:var(--text-secondary);background:inherit}.swatch.active{outline:2px solid var(--focus);outline-offset:0}.swatch-add{width:100%;height:20px;padding:0;display:grid;place-items:center;background:var(--layer);color:var(--text-secondary)}.recent{display:flex;flex-direction:column;gap:6px}.recent-head{display:flex;align-items:center;justify-content:space-between}.recent-label{font-size:11px;color:var(--text-helper)}.recent-clear{font-size:11px;color:var(--text-helper);background:transparent;padding:0 2px;transition:color var(--t-fast) var(--ease)}.recent-clear:hover{color:var(--text)}.color-picker{display:flex;flex-direction:column;gap:8px}.shade-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:3px}.shade-grid:empty{display:none}.shade-grid .swatch{width:100%;height:20px;border:1px solid transparent}.shade-grid .swatch:hover{border-color:var(--focus)}.pick-mode{display:flex;gap:1px;background:var(--border);border:1px solid var(--border)}.pick-mode button{flex:1;height:24px;font-family:var(--font-mono);font-size:11px;letter-spacing:.02em;color:var(--text-secondary);background:var(--layer)}.pick-mode button:hover{background:var(--field)}.pick-mode button.active{background:var(--field);color:var(--text)}.pick-gamut{display:none;align-items:center;gap:7px;font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.color-picker.pick-oklch:not(.gray):not(.normal) .pick-gamut{display:flex}.pick-plane{position:relative;height:132px;border:1px solid var(--border);cursor:crosshair;touch-action:none}.pick-plane canvas{width:100%;height:100%;display:block}.pick-bar{position:relative;height:14px;border:1px solid var(--border);cursor:pointer;touch-action:none}.pick-bar canvas{width:100%;height:100%;display:block}.pick-value{display:none}.pick-dot{position:absolute;width:12px;height:12px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #000000a6;transform:translate(-50%,-50%);pointer-events:none}.pick-bar-dot{position:absolute;top:50%;width:14px;height:14px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #000000a6;transform:translate(-50%,-50%);pointer-events:none}.pick-row{display:flex;align-items:center;gap:8px}.pick-swatch{width:30px;height:30px;flex:none;border:1px solid var(--border)}.pick-hex{flex:1;min-width:0;font-family:var(--font-mono);font-size:12px;color:var(--text);background:var(--field);border:1px solid var(--field);padding:6px 8px;text-transform:lowercase}.pick-hex:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.color-picker.gray .pick-mode,.color-picker.gray .pick-plane,.color-picker.gray .pick-hue{display:none}.color-picker.gray .pick-value{display:block}.pick-normal{position:relative;display:none;width:100%;max-width:200px;aspect-ratio:1;margin:2px auto;border:1px solid var(--border);border-radius:50%;cursor:crosshair;touch-action:none}.pick-normal canvas{width:100%;height:100%;display:block;border-radius:50%}.color-picker.normal .pick-mode,.color-picker.normal .pick-plane,.color-picker.normal .pick-hue,.color-picker.normal .pick-value{display:none}.color-picker.normal .pick-normal{display:block}.views{grid-area:views;display:grid;position:relative;min-width:0;min-height:0}.views.mode-3d,.views.mode-2d{grid-template-columns:1fr}.views.mode-split{grid-template-columns:minmax(0,var(--split-a, 1fr)) 5px minmax(0,var(--split-b, 1fr))}.views.mode-split.split-v{grid-template-columns:1fr;grid-template-rows:minmax(0,var(--split-a, 1fr)) 5px minmax(0,var(--split-b, 1fr))}.view-3d,.view-2d{position:relative;min-width:0;min-height:0;overflow:hidden}.views.mode-3d .view-2d,.views.mode-3d .view-splitter,.views.mode-2d .view-3d,.views.mode-2d .view-splitter{display:none}.views.mode-split .view-3d{order:1}.views.mode-split .view-splitter{order:2}.views.mode-split .view-2d,.views.mode-split.split-swap .view-3d{order:3}.views.mode-split.split-swap .view-2d{order:1}.view-splitter{position:relative;z-index:4;background:var(--border);cursor:col-resize;touch-action:none;transition:background var(--t-fast) var(--ease)}.views.mode-split.split-v .view-splitter{cursor:row-resize}.view-splitter:hover,.view-splitter:active{background:var(--interactive)}.view-splitter:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px}.view-3d canvas{display:block}.uv-canvas{width:100%;height:100%;display:block;touch-action:none}.view-actions{position:absolute;top:12px;right:12px;z-index:var(--z-overlay);display:flex;flex-direction:column;align-items:flex-end;gap:6px;pointer-events:none}.view-actions .view-switcher{pointer-events:auto}.view-switcher{display:flex;background:#262626eb;border:1px solid var(--border)}.view-switcher button{color:var(--text-secondary)}.view-switcher button:hover{color:var(--text)}.view-switcher button.active{color:#fff}.view-switcher .switch-divider{width:1px;background:var(--border);margin:6px 2px;flex:none}.hdr-select{max-width:150px;background:transparent;font-size:12px;color:var(--text-secondary);text-transform:capitalize;cursor:pointer}.hdr-select:hover{background:var(--field);color:var(--text)}.hdr-select option{background:var(--layer);color:var(--text)}.undo-bar{position:absolute;left:12px;bottom:12px;z-index:var(--z-overlay);display:flex;background:#262626eb;border:1px solid var(--border)}.undo-bar .icon-btn{width:44px;height:44px;color:var(--text-secondary)}.undo-bar .icon-btn:hover{color:var(--text)}.undo-bar .icon-btn:disabled{color:var(--text-helper)}.undo-bar .icon-btn+.icon-btn{border-left:1px solid var(--border)}.undo-bar .esc-btn{font-family:var(--font-mono);font-size:11px}.nav-gizmo{position:absolute;top:12px;left:12px;z-index:var(--z-overlay);display:flex;flex-direction:column;align-items:flex-start;gap:6px;pointer-events:none}.nav-gizmo-axes{pointer-events:auto;touch-action:none}.nav-gizmo-home{pointer-events:auto;width:28px;height:28px;color:var(--text-secondary);background:transparent}.nav-gizmo-home:hover{color:var(--text);background:var(--field)}.layers-panel{grid-area:layers;background:var(--bg);border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.meshes-head{display:flex;align-items:center;justify-content:space-between;padding:6px 8px 4px 14px}.meshes-head .icon-btn{width:28px;height:28px;color:var(--text-secondary)}.meshes-head .icon-btn:hover{color:var(--text)}.meshes-head .icon-btn.active{color:#fff}.blendshapes{flex:none;display:flex;flex-direction:column;border-bottom:1px solid var(--border)}.bs-head{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 8px 8px 14px;background:transparent}.bs-head:hover{background:var(--layer)}.bs-head .bs-chevron{display:flex;color:var(--text-helper)}.bs-list{max-height:32vh;overflow-y:auto;padding:2px 14px 12px;display:flex;flex-direction:column;gap:9px}.bs-row>label{gap:8px;overflow:hidden}.mesh-list{max-height:30%;overflow-y:auto;border-bottom:1px solid var(--border);flex:none}.mesh-item{display:flex;align-items:center;gap:10px;padding:5px 8px 5px 14px;cursor:pointer;transition:background var(--t-fast) var(--ease)}.mesh-item:hover{background:var(--layer)}.mesh-item.active{background:var(--field)}.mesh-item.hidden-set .name,.mesh-item.hidden-set .mesh-thumb{opacity:.45}.mesh-thumb{width:36px;height:36px;border:1px solid var(--border);background:var(--layer);flex:none;overflow:hidden}.mesh-thumb canvas{width:100%;height:100%;display:block}.mesh-item .name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.shared-badge{display:inline-flex;align-items:center;gap:3px;flex:none;padding:1px 4px;font-family:var(--font-mono);font-size:10px;color:var(--text-secondary);background:var(--field);border-radius:2px;cursor:pointer}.shared-badge:hover,.shared-badge.open{background:var(--field-hover);color:var(--text)}.shared-badge svg{display:block;color:#4589ff}.mesh-sub-item{display:flex;align-items:center;gap:8px;padding:4px 8px 4px 32px;background:var(--bg);border-bottom:1px solid var(--layer)}.mesh-sub-item .name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--text-secondary)}.mesh-sub-item.hidden-set .name{opacity:.45}.mesh-sub-item .vis-btn{width:24px;height:24px}.channel-tabs{display:grid;grid-template-columns:1fr 1fr;gap:1px;flex:none;border-top:1px solid var(--field);background:var(--field);border-bottom:1px solid var(--field)}.channel-tabs button{display:flex;align-items:center;justify-content:center;gap:5px;padding:4px 0;font-size:11px;color:var(--text-secondary);background:var(--bg)}.channel-tabs button:hover{background:var(--field);color:var(--text)}.channel-tabs button.active{background:var(--interactive);color:#fff}.layers-head{display:flex;align-items:center;justify-content:space-between;padding:8px 8px 4px 14px}.layer-actions{display:flex}.layer-actions .icon-btn{width:28px;height:28px;color:var(--text-secondary)}.layer-actions .icon-btn:hover{color:var(--text)}.layer-list{flex:1;overflow-y:auto;display:flex;flex-direction:column}.layer-item{display:flex;align-items:center;gap:10px;padding:6px 8px 6px 14px;border-bottom:1px solid var(--layer);cursor:pointer;transition:background var(--t-fast) var(--ease)}.layer-item:hover{background:var(--layer)}.layer-item.active{background:var(--field)}.layer-item.selected{background:color-mix(in srgb,var(--interactive) 16%,var(--bg))}.layer-item.selected:hover{background:color-mix(in srgb,var(--interactive) 24%,var(--bg))}.layer-item.active.selected{background:color-mix(in srgb,var(--interactive) 30%,var(--bg))}.layer-item{-webkit-user-select:none;user-select:none}.layer-item.dragging{opacity:.45}.layer-item.drop-above{box-shadow:inset 0 2px 0 var(--interactive)}.layer-item.drop-below{box-shadow:inset 0 -2px 0 var(--interactive)}.layer-item.folder-row{gap:6px;padding:5px 8px;background:var(--bg);color:var(--text-secondary)}.layer-item.folder-row:hover{background:var(--layer)}.layer-item.folder-row>svg{flex:none;color:var(--text-helper)}.folder-chevron{display:inline-flex;flex:none;color:var(--text-helper)}.layer-item.dimmed{opacity:.55}.clip-arrow{display:inline-flex;flex:none;color:var(--text-helper)}.layer-thumbs{display:flex;gap:3px;flex:none}.layer-thumb{width:28px;height:28px;border:1px solid var(--border);background:conic-gradient(#4c4c4c 0,#4c4c4c 25%,#333 0,#333 50%,#4c4c4c 0,#4c4c4c 75%,#333 0) 0 0 / 10px 10px;flex:none;cursor:pointer}.layer-thumb.mask-thumb{background:#000}.layer-thumb.editing{border-color:var(--interactive);box-shadow:0 0 0 1px var(--interactive)}.layer-item.base-layer{color:var(--text-secondary)}.layer-item.base-layer .name{font-style:italic}.layer-item.base-layer svg{flex:none;color:var(--text-helper)}.layer-item .name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.blend-badge{flex:none;padding:1px 4px;font-family:var(--font-mono);font-size:10px;color:var(--text-secondary);background:var(--field);border-radius:2px}.layer-item.active .blend-badge{background:var(--layer)}.layer-text{display:flex;flex-direction:column;justify-content:center;flex:1;min-width:0;gap:3px}.layer-text .name{flex:none;max-width:100%}.layer-chips{display:flex;gap:3px;flex:none;align-items:center}.layer-chips:empty{display:none}.layer-chip{display:flex;color:var(--text-helper)}.layer-chip svg{display:block}.layer-chip.on{color:var(--brand-blue)}.layer-item input.name-edit{flex:1;min-width:0;font-size:12px;font-family:var(--font-ui);color:var(--text);background:var(--bg);border:1px solid var(--interactive);padding:2px 5px}.vis-btn{width:28px;height:28px;padding:0;display:grid;place-items:center;color:var(--text-secondary);flex:none}.vis-btn:hover{color:var(--text)}.vis-btn.off{color:#6f6f6f}.mask-seg{display:flex;flex:1;border:1px solid var(--field)}.mask-seg button{flex:1;padding:5px 0;font-size:11px;color:var(--text-secondary)}.mask-seg button+button{border-left:1px solid var(--field)}.mask-seg button:hover{background:var(--field);color:var(--text)}.mask-seg button.active{background:var(--interactive);color:#fff}.layer-menu{position:fixed;z-index:var(--z-menu);width:224px;background:var(--layer);border:1px solid var(--border);box-shadow:0 8px 16px #0006;padding:12px;display:flex;flex-direction:column;gap:10px}.layer-menu-title{font-weight:600;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-menu select{width:100%}.layer-menu-sep{height:1px;background:var(--border);margin:2px -12px}.layer-menu-action{text-align:left;padding:6px 8px;margin:-4px -8px;font-size:12px}.layer-export-preview{display:grid;place-items:center;padding:8px;border:1px solid var(--border);background:conic-gradient(#3a3a3a 25%,#2b2b2b 0,#2b2b2b 50%,#3a3a3a 0,#3a3a3a 75%,#2b2b2b 0) 0 0 / 16px 16px}.layer-export-preview canvas{display:block}.layer-export-name{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);word-break:break-all;margin-top:6px}.stamp-drop{border:1px dashed var(--field);padding:6px;transition:border-color var(--t-fast) var(--ease)}.stamp-drop.over{border-color:var(--interactive)}.stamp-grid{display:flex;flex-wrap:wrap;gap:4px}.stamp-cell{width:56px;height:56px;padding:1px;display:grid;place-items:center;background:var(--layer);border:1px solid transparent}.stamp-cell:hover{border-color:var(--field-hover);background:var(--field)}.stamp-cell.active{border-color:var(--interactive);background:var(--layer)}.stamp-cell.add{color:var(--text-helper)}.stamp-cell.add:hover{color:var(--text)}.stamp-thumb{display:block}img.stamp-thumb{width:52px;height:52px;object-fit:contain}.stamp-empty{align-self:center;padding-left:4px;font-size:11px;color:var(--text-helper)}.stamp-lib{max-height:208px;overflow-y:auto}.stamp-lib-select,.stamp-select{width:100%;font-size:12px}.text-input{width:100%;resize:vertical;min-height:48px;padding:6px 8px;font-family:var(--font-ui);font-size:13px;color:var(--text);background:var(--field);border:1px solid var(--field)}.text-input:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.text-style-row{display:flex;gap:4px;align-items:stretch}.font-picker{position:relative;flex:1;min-width:0}.font-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:4px 8px;text-align:left;color:var(--text);background:var(--field);border:1px solid var(--field)}.font-trigger:hover{border-color:var(--field-hover)}.font-trigger[aria-expanded=true]{border-color:var(--interactive)}.font-trigger-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;line-height:1.3}.font-trigger svg{flex:none;color:var(--text-helper)}.font-popup{position:absolute;top:calc(100% + 2px);left:0;right:0;max-height:288px;overflow-y:auto;padding:2px 0;background:var(--layer);border:1px solid var(--border);box-shadow:0 8px 16px #0006;z-index:var(--z-menu);display:none}.font-popup.open{display:block}.font-group{position:sticky;top:0;padding:6px 8px 2px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-helper);background:var(--layer)}.font-opt{display:block;width:100%;padding:4px 10px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:17px;line-height:1.3;color:var(--text);background:transparent;border:0}.font-opt:hover,.font-opt:focus-visible{background:var(--field);outline:none}.font-opt.active{background:var(--field);box-shadow:inset 2px 0 0 var(--interactive)}.font-input{width:100%;padding:5px 8px;font-family:var(--font-ui);font-size:12px;color:var(--text);background:var(--field);border:1px solid var(--field)}.font-input::placeholder{color:var(--text-helper)}.font-input:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.icon-toggle{display:grid;place-items:center;width:28px;padding:0;color:var(--text-secondary);background:var(--layer);border:1px solid var(--field)}.icon-toggle:hover{background:var(--field);color:var(--text)}.icon-toggle.active{border-color:var(--interactive);background:var(--field);color:var(--text)}.stamp-check,.panel-check{font-size:12px;display:flex;align-items:center;gap:3px}.stamp-channels{display:flex;flex-direction:column}.stamp-channels .stamp-adjust{margin-top:-1px}.stamp-adjust{display:flex;flex-direction:column;gap:10px;border:1px solid var(--border);padding:10px}.stamp-adjust-head{display:flex;flex-direction:column;align-items:stretch;gap:10px}.stamp-adjust-head .stamp-adjust-preview{align-self:center}.stamp-chan-row{display:flex;gap:4px}.stamp-chan-btn{position:relative;flex:1;display:grid;place-items:center;padding:7px 0;color:var(--text-secondary);background:var(--layer);border:1px solid var(--field);opacity:.5}.stamp-chan-btn.on{opacity:1}.stamp-chan-btn:hover{background:var(--field);color:var(--text);opacity:1}.stamp-chan-btn.active{border-color:var(--interactive);background:var(--field);color:var(--text);opacity:1}.stamp-chan-btn:after{content:"";position:absolute;top:3px;right:3px;width:5px;height:5px;border-radius:50%;background:var(--field-hover)}.stamp-chan-btn.on:after{background:var(--interactive)}.stamp-adjust-preview{flex:none;display:block;border:1px solid var(--field);background:conic-gradient(#3a3a3a 25%,#2b2b2b 0,#2b2b2b 50%,#3a3a3a 0,#3a3a3a 75%,#2b2b2b 0) 0 0 / 12px 12px}.mirror-head{display:flex;align-items:center;justify-content:space-between}.mirror-actions{display:flex;align-items:center;gap:2px}.mirror-reset,.mirror-lock{width:22px;height:22px;color:var(--text-helper)}.mirror-reset:hover,.mirror-lock:hover{color:var(--text)}.mirror-row{display:flex;align-items:center;gap:14px}.mirror-group{display:flex;align-items:center;gap:7px}.mirror-tag{font-family:var(--font-mono);font-size:11px;color:var(--text-helper)}.mirror-seg{display:inline-flex;border:1px solid var(--field)}.mirror-seg button{width:26px;height:24px;padding:0;display:grid;place-items:center;font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--text-secondary)}.mirror-seg button+button{border-left:1px solid var(--field)}.mirror-seg button:hover{background:var(--field);color:var(--text)}.mirror-seg button.active{background:var(--interactive);color:#fff}.mirror-seg button.active:hover{background:var(--interactive-hover)}.mirror-seg svg{display:block;width:15px;height:15px}.settings-dialog{z-index:var(--z-modal);margin:auto;background:var(--layer);color:var(--text);border:1px solid var(--border);border-radius:0;padding:20px;width:360px;font-family:var(--font-ui);box-shadow:0 12px 32px #00000080}.settings-dialog::backdrop{background:#0000008c}.settings-dialog h2{font-size:14px;font-weight:600;margin-bottom:16px}.settings-rows{display:flex;flex-direction:column;margin-bottom:14px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:6px 0;font-size:13px;border-bottom:1px solid var(--field)}.settings-row:last-child{border-bottom:none}.settings-row select{min-width:150px}.settings-row.disabled{opacity:.45}.speed-wrap{display:flex;align-items:center;gap:10px;min-width:150px}.speed-wrap input[type=range]{flex:1}.key-chip{font-family:var(--font-mono);font-size:11px;min-width:64px;text-align:center;background:var(--field);padding:4px 10px}.key-chip:hover{background:var(--field-hover)}.key-chip.capturing{background:var(--interactive);color:#fff}.settings-footer{display:flex;justify-content:space-between;gap:8px;margin-top:6px}.settings-footer .primary{background:var(--interactive);color:#fff;padding:6px 20px}.settings-footer .primary:hover{background:var(--interactive-hover)}.settings-footer .primary:disabled{background:var(--field);color:var(--text-helper)}.brush-studio{width:min(680px,94vw);max-height:90vh;padding:0;display:flex;flex-direction:column}.brush-studio-head{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:11px}.brush-studio-titlerow{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.brush-studio-titlerow h2{margin:0;font-size:15px}.brush-studio-name{font-family:var(--font-mono);font-size:11px;color:var(--text-helper);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:50%}.brush-studio-preview-host{display:block}.brush-studio-preview{display:block;width:100%;height:60px;background:#101010;border:1px solid var(--border)}.brush-mat-preview{display:flex;flex-direction:column;background:#101010;border:1px solid var(--border)}.brush-mat-strip{display:flex;align-items:stretch;height:34px}.brush-mat-strip+.brush-mat-strip{border-top:1px solid var(--border)}.brush-mat-strip-label{flex:none;width:88px;display:flex;align-items:center;padding:0 10px;border-right:1px solid var(--border);font-family:var(--font-mono);font-size:11px;color:var(--text-helper);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brush-mat-strip-canvas{flex:1;min-width:0;display:block;height:100%}.brush-mat-empty{padding:18px;text-align:center;font-size:12px;color:var(--text-helper)}.brush-studio-body{display:flex;min-height:0;height:clamp(280px,50vh,440px)}.brush-studio-nav{width:150px;padding:10px 8px}.brush-cat{flex:1;min-width:0;display:flex;flex-direction:column;padding:14px 0 4px;overflow:hidden}.brush-cat-desc{font-size:12px;color:var(--text-secondary);line-height:1.5;margin:0 0 4px;padding:0 20px;max-width:56ch;flex:none}.brush-cat-stage{flex:1;min-height:0;overflow-y:auto;padding:0 12px 14px 20px}.brush-cat-stage.swap{animation:brush-cat-in var(--t-fast) var(--ease)}@keyframes brush-cat-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.brush-fields{display:flex;flex-direction:column}.brush-field{display:flex;flex-direction:column;gap:7px;padding:10px 0;border-bottom:1px solid var(--field)}.brush-field:last-child{border-bottom:none}.brush-field-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.brush-field-head label{font-size:13px;color:var(--text)}.brush-field-head .readout{font-family:var(--font-mono);font-size:12px;color:var(--text-helper)}.brush-field input[type=range]{width:100%}.brush-field.brush-toggle{flex-direction:row;align-items:center;justify-content:space-between}.brush-field.brush-toggle label{font-size:13px;color:var(--text)}.brush-field.brush-dependent{padding-left:16px}.brush-field.disabled{opacity:.4}.brush-field.disabled input{pointer-events:none}.brush-field.brush-channel-head{border-top:1px solid var(--border);margin-top:2px;padding-top:12px}.brush-field.brush-channel-head:first-child{border-top:none;margin-top:0}.brush-field.brush-channel-head label{font-weight:500}@media (prefers-reduced-motion: reduce){.brush-cat-stage.swap{animation:none}}.settings-panel{width:min(760px,94vw);max-height:90vh;padding:0}.settings-panel>h2{margin:0;padding:16px 24px;border-bottom:1px solid var(--border);font-size:15px}.settings-body{display:flex;height:clamp(360px,60vh,520px)}.settings-nav{width:188px;flex:none;border-right:1px solid var(--border);padding:12px 8px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.settings-nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;text-align:left;font-size:13px;color:var(--text-secondary);transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.settings-nav-item svg{flex:none;opacity:.8}.settings-nav-item:hover{background:#ffffff0d;color:var(--text)}.settings-nav-item.active{background:var(--field);color:var(--text);font-weight:500}.settings-nav-item.active svg{opacity:1;color:var(--interactive)}.settings-nav-item:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.settings-content{flex:1;min-width:0;padding:20px 24px 24px;overflow-y:auto}.settings-content-head{margin-bottom:12px}.settings-content-head h3{font-size:15px;font-weight:600;margin:0 0 4px}.settings-content-desc{display:block;font-size:12px;color:var(--text-secondary);line-height:1.5}.settings-panel .settings-row{padding:10px 0;gap:20px}.settings-row-label{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.settings-row-title{font-size:13px;color:var(--text)}.settings-row-desc{font-size:11px;color:var(--text-helper);line-height:1.45;max-width:48ch}.settings-group-head{display:block;font-size:11px;font-weight:600;color:var(--text-helper);margin:18px 0 2px}.settings-content-head+.settings-group-head{margin-top:0}.settings-panel .settings-footer{margin:0;padding:14px 24px;border-top:1px solid var(--border)}.brush-studio .settings-footer{margin:0;padding:14px 18px;border-top:1px solid var(--border)}.settings-footer .footer-actions{display:flex;gap:8px}.range-pair{display:flex;align-items:center;gap:8px;flex:none}.range-pair .range-sep,.range-pair .range-unit{font-size:11px;color:var(--text-helper)}.settings-num{width:52px;background:var(--field);color:var(--text);border:1px solid var(--field-hover);padding:4px 6px;font-family:var(--font-mono);font-size:12px;text-align:right}.settings-num:focus-visible{outline:2px solid var(--focus);outline-offset:-1px}.adjust-dialog{width:312px;margin:56px 272px auto auto}.adjust-dialog::backdrop{background:transparent}@media (max-width: 760px){.adjust-dialog{margin:56px auto auto}}.adjust-head{display:flex;flex-direction:column;gap:3px;margin-bottom:14px;cursor:move;user-select:none;-webkit-user-select:none;touch-action:none}.adjust-head h2{margin-bottom:0}.adjust-target{font-family:var(--font-mono);font-size:11px;color:var(--text-helper)}.adjust-body{display:flex;flex-direction:column;gap:12px;margin-bottom:14px}.adjust-hint{font-size:11px;line-height:1.5;color:var(--text-helper);margin-bottom:14px}.adjust-body .adjust-hint{margin-bottom:0}.field-row.disabled{opacity:.45}.adjust-actions{display:flex;gap:8px}.bake-dialog{width:300px}.bake-body{display:flex;flex-direction:column;gap:12px;margin-bottom:14px}.bake-body .field-row{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.bake-body .field-row>label{font-size:12px;color:var(--text-secondary)}.bake-body .field-row.bake-check{cursor:pointer}.bake-body .field-row.bake-check>span{font-size:12px;color:var(--text-secondary)}.bake-body .field-row.bake-slider{flex-direction:column;align-items:stretch;gap:6px}.bake-select{min-width:132px;background:var(--field);color:var(--text);border:1px solid var(--border);padding:4px 8px;font-family:var(--font-ui);font-size:12px}.bake-hint{font-size:11px;line-height:1.4;color:var(--text-helper);margin:0}.bake-tint{width:56px;height:24px;padding:0;background:var(--field);border:1px solid var(--border);cursor:pointer}.bake-tint::-webkit-color-swatch-wrapper{padding:2px}.bake-tint::-webkit-color-swatch{border:1px solid var(--border)}.bake-tint::-moz-color-swatch{border:1px solid var(--border)}.bake-tint:focus-visible{outline:2px solid var(--focus);outline-offset:-1px}.bake-shadow-dialog{width:min(540px,94vw)}.bake-shadow-grid{display:grid;grid-template-columns:220px 1fr;gap:18px;margin-bottom:14px;align-items:start}.bake-shadow-grid .bake-body{margin-bottom:0}.bake-light{display:flex;flex-direction:column;gap:12px}.bake-light .field-row.bake-slider{gap:6px}.bake-light .field-row>label{font-size:12px;color:var(--text-secondary)}.bake-dialog.baking .bake-light{opacity:.4;pointer-events:none}.shadow-preview{display:flex;flex-direction:column;gap:7px}.shadow-preview-canvas{display:block;width:100%;height:auto;background:var(--bg);border:1px solid var(--border);cursor:grab;touch-action:none}.shadow-preview-canvas:active{cursor:grabbing}.shadow-preview-canvas:focus-visible{outline:2px solid var(--focus);outline-offset:-1px}.shadow-preview-readout{display:flex;justify-content:space-between;gap:8px;font-family:var(--font-mono);font-size:11px;color:var(--text-helper);font-variant-numeric:tabular-nums}.shadow-preview-readout .sp-dir{color:var(--text-secondary);text-transform:capitalize}@media (max-width: 520px){.bake-shadow-grid{grid-template-columns:1fr}}.lights-dialog{position:fixed;top:56px;left:16px;right:auto;bottom:auto;margin:0;padding:0;width:300px;max-height:calc(100vh - 76px);display:flex;flex-direction:column}.lights-dialog::backdrop{background:transparent}.lights-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 12px 12px 16px;border-bottom:1px solid var(--border);cursor:move;user-select:none;-webkit-user-select:none;touch-action:none}.lights-title{display:flex;flex-direction:column;gap:2px}.lights-title h2{margin:0;font-size:14px}.lights-sub{font-family:var(--font-mono);font-size:11px;color:var(--text-helper)}.lights-head-actions{display:flex;align-items:center;gap:4px}.lights-reset{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 9px;font-size:12px;color:var(--text-secondary);background:transparent}.lights-reset:hover{background:var(--field);color:var(--text)}.lights-close{width:28px;height:28px}.lights-body{display:flex;flex-direction:column;gap:14px;padding:14px 16px 16px;overflow-y:auto}.light-presets{display:flex;flex-wrap:wrap;gap:4px}.light-preset{flex:1 1 auto;min-width:56px;height:28px;padding:0 8px;font-size:12px;color:var(--text-secondary);background:var(--field);border:1px solid transparent;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.light-preset:hover{background:var(--field-hover);color:var(--text)}.light-notice{display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:var(--field);border:1px solid var(--border);font-size:11px;line-height:1.5;color:var(--text-secondary)}.light-notice-btn{align-self:flex-start;height:26px;padding:0 12px;font-size:12px;color:#fff;background:var(--interactive)}.light-notice-btn:hover{background:var(--interactive-hover)}.light-section{display:flex;flex-direction:column;gap:11px}.light-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:9px;border-bottom:1px solid var(--border)}.light-section-name{font-size:12px;font-weight:600;color:var(--text)}.light-section-body{display:flex;flex-direction:column;gap:11px}.light-section.off .light-section-body{opacity:.4}.light-slider{gap:6px}.light-toggle{min-width:46px;height:24px;padding:0 10px;font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);background:var(--field)}.light-toggle:hover{background:var(--field-hover)}.light-toggle.on{background:var(--interactive);color:#fff}.light-color-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.light-color-row>label{font-size:12px;color:var(--text-secondary)}.light-color-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.light-well{width:44px;height:24px;padding:0;background:var(--field);border:1px solid var(--border);cursor:pointer}.light-well::-webkit-color-swatch-wrapper{padding:2px}.light-well::-webkit-color-swatch{border:1px solid var(--border)}.light-well::-moz-color-swatch{border:1px solid var(--border)}.light-well:focus-visible{outline:2px solid var(--focus);outline-offset:-1px}.anim-dialog{position:fixed;top:56px;left:50%;right:auto;bottom:auto;margin:0 0 0 -190px;padding:0;width:380px;max-width:calc(100vw - 32px);display:flex;flex-direction:column}.anim-dialog::backdrop{background:transparent}.anim-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 12px 12px 16px;border-bottom:1px solid var(--border);cursor:move;user-select:none;-webkit-user-select:none;touch-action:none}.anim-title{display:flex;flex-direction:column;gap:2px}.anim-title h2{margin:0;font-size:14px}.anim-sub{font-family:var(--font-mono);font-size:11px;color:var(--text-helper)}.anim-head-actions{display:flex;align-items:center;gap:4px}.anim-close{width:28px;height:28px}.anim-reset:not([hidden]){display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 9px;font-size:12px;color:var(--text-secondary);background:transparent;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.anim-reset:hover{background:var(--field);color:var(--text)}.anim-body{display:flex;flex-direction:column;gap:14px;padding:14px 16px 16px}.anim-load-row{display:flex;align-items:center;gap:10px}.anim-load{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;font-size:12px;color:var(--text);background:var(--field);white-space:nowrap}.anim-load:hover:not(:disabled){background:var(--field-hover)}.anim-load:disabled{opacity:.5;cursor:default}.anim-file{flex:1;min-width:0;font-family:var(--font-mono);font-size:11px;color:var(--text-helper);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.anim-clip-row:not([hidden]){display:flex;align-items:center;gap:12px}.anim-clip-row>label{font-size:12px;color:var(--text-secondary)}.anim-clip-row .bake-select{flex:1}.anim-transport:not([hidden]){display:flex;align-items:center;gap:6px}.anim-transport-btn{width:34px;height:34px;display:grid;place-items:center;color:var(--text-secondary);background:var(--field);transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.anim-transport-btn:hover:not(:disabled){background:var(--field-hover);color:var(--text)}.anim-transport-btn:disabled{opacity:.4;cursor:default}.anim-transport-btn svg{display:block}.anim-play{color:#fff;background:var(--interactive)}.anim-play:hover:not(:disabled){background:var(--interactive-hover);color:#fff}.anim-play-icon{display:grid;place-items:center}.anim-frames{margin-left:auto;font-family:var(--font-mono);font-size:12px;color:var(--text);font-variant-numeric:tabular-nums}.anim-time{font-family:var(--font-mono);font-size:11px;color:var(--text-helper);font-variant-numeric:tabular-nums}.anim-status{font-size:11px;line-height:1.45;margin:0}.anim-status-hint{color:var(--text-helper)}.anim-status-info{color:var(--text-secondary)}.anim-status-warn{padding:9px 11px;background:var(--field);border:1px solid var(--border);color:var(--text-secondary)}.bake-progress{display:flex;flex-direction:column;gap:9px;margin:2px 0 14px}.bake-track{position:relative;height:8px;background:var(--bg);border:1px solid var(--border);overflow:hidden}.bake-fill{position:absolute;inset:0 auto 0 0;width:0;background:var(--interactive);transition:width .45s cubic-bezier(.22,1,.36,1)}.bake-track:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 42%,rgba(255,255,255,.38) 50%,transparent 58%);transform:translate(-100%);opacity:0;pointer-events:none}.bake-progress:not(.warming) .bake-track:after{opacity:1;animation:bake-runner 1.4s var(--ease) infinite}.bake-zebra{position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(45deg,var(--interactive) 0,var(--interactive) 10px,color-mix(in srgb,var(--interactive) 52%,var(--bg)) 10px,color-mix(in srgb,var(--interactive) 52%,var(--bg)) 20px);opacity:0;transition:opacity .22s var(--ease);animation:bake-zebra .65s linear infinite;pointer-events:none}.bake-progress.warming .bake-zebra{opacity:1}@keyframes bake-runner{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes bake-zebra{0%{background-position:0 0}to{background-position:28.28px 0}}.bake-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.bake-status{font-size:11px;color:var(--text-secondary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bake-pct{flex:none;font-family:var(--font-mono);font-size:12px;color:var(--text);font-variant-numeric:tabular-nums}.bake-progress.warming .bake-pct{display:none}.bake-note{margin:0;font-size:11px;line-height:1.4;color:var(--text-helper)}.bake-progress:not(.warming) .bake-note{display:none}.bake-dialog.baking .bake-body{opacity:.4;pointer-events:none}.bake-dialog.baking .bake-do{display:none}.bake-dialog.baking .settings-footer{justify-content:flex-end}@media (prefers-reduced-motion: reduce){.bake-fill{transition:none}.bake-track:after{display:none}.bake-zebra{animation:none}}.curve-canvas{display:block;width:100%;background:var(--bg);border:1px solid var(--border);touch-action:none;cursor:crosshair}.curve-channels{display:flex;border:1px solid var(--border)}.curve-channels button{flex:1;padding:5px 0;font-size:11px;font-family:var(--font-mono);color:var(--text-secondary)}.curve-channels button:hover{background:var(--field);color:var(--text)}.curve-channels button.active{background:#f4f4f4;color:#161616}.curve-channels button:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.adjust-readout-row{height:14px}.adjust-readout{font-family:var(--font-mono);font-size:11px;color:var(--text-helper)}.about-dialog{width:min(360px,92vw);text-align:center}.about-mark{font-family:var(--font-display, var(--font-ui));font-size:34px;font-weight:700;letter-spacing:-.02em;margin:8px 0 10px}.about-mark .ld{color:var(--brand-blue)}.about-dialog .brand-squares{font-size:14px;margin-bottom:14px}.about-tagline{font-size:13px;color:var(--text-secondary);line-height:1.5;margin:0 auto 12px;max-width:30ch}.about-version{font-family:var(--font-mono);font-size:11px;color:var(--text-helper);margin:0 0 16px}.about-links{display:flex;justify-content:center;gap:16px;margin-bottom:14px}.about-links a,.about-by a{color:var(--interactive);text-decoration:none}.about-links a:hover,.about-by a:hover{text-decoration:underline}.about-by{font-size:11px;color:var(--text-helper);margin:0 0 18px}.about-dialog .settings-footer{justify-content:center}.update-toast{position:fixed;left:50%;bottom:64px;transform:translate(-50%,12px);z-index:var(--z-toast);display:flex;align-items:center;gap:10px;padding:10px 10px 10px 14px;background:var(--layer);border:1px solid var(--border);box-shadow:0 8px 24px #0006;font-size:13px;color:var(--text);opacity:0;transition:opacity var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.update-toast.in{opacity:1;transform:translate(-50%)}.update-toast svg{color:var(--text-helper);flex:none}.update-toast .toast-spin{gap:3px}.update-toast .toast-spin i{width:7px;height:7px}.update-toast-text{color:var(--text-secondary)}.update-toast-reload{padding:5px 12px;background:var(--interactive);color:#fff;font-size:12px}.update-toast-reload:hover{background:var(--interactive-hover)}.update-toast-close{display:flex;align-items:center;justify-content:center;width:26px;height:26px;color:var(--text-helper)}.update-toast-close:hover{background:var(--field);color:var(--text)}.app-notice{position:fixed;left:50%;top:calc(env(safe-area-inset-top,0px) + 50px);transform:translate(-50%,-12px);z-index:var(--z-toast);display:flex;align-items:flex-start;gap:10px;max-width:min(560px,92vw);padding:12px 10px 12px 14px;background:var(--layer);border:1px solid var(--border);border-left:3px solid var(--text-helper);box-shadow:0 8px 24px #0006;font-size:13px;color:var(--text);opacity:0;transition:opacity var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.app-notice.in{opacity:1;transform:translate(-50%)}.app-notice.error{border-left-color:var(--danger)}.app-notice.warn{border-left-color:#f1a33b}.app-notice>svg{flex:none;margin-top:1px}.app-notice.error>svg{color:var(--danger)}.app-notice.warn>svg{color:#f1a33b}.app-notice-body{display:flex;flex-direction:column;gap:3px}.app-notice-text{color:var(--text);line-height:1.45}.app-notice-detail{color:var(--text-secondary);font-size:12px;line-height:1.45}.app-notice-close{display:flex;align-items:center;justify-content:center;flex:none;width:26px;height:26px;color:var(--text-helper)}.app-notice-close:hover{background:var(--field);color:var(--text)}.migrate-banner{position:fixed;left:50%;top:calc(env(safe-area-inset-top,0px) + 50px);transform:translate(-50%,-12px);z-index:var(--z-toast);display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;max-width:min(580px,94vw);padding:12px 12px 12px 16px;background:var(--layer);border:1px solid var(--border);box-shadow:0 10px 30px #00000080;opacity:0;transition:opacity var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.migrate-banner.in{opacity:1;transform:translate(-50%)}.migrate-banner .brand-squares{font-size:11px;flex:none}.migrate-body{flex:1 1 240px;min-width:0;display:flex;flex-direction:column;gap:3px}.migrate-title{font-size:13px;line-height:1.4;color:var(--text)}.migrate-title b{font-weight:600}.migrate-detail{font-size:12px;line-height:1.45;color:var(--text-secondary)}.migrate-go{flex:none;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;font-size:13px;color:#fff;background:var(--interactive);border:1px solid var(--interactive);white-space:nowrap;text-decoration:none}.migrate-go:hover{background:var(--interactive-hover);border-color:var(--interactive-hover)}.migrate-go svg{display:block}.migrate-close{flex:none;align-self:flex-start;display:flex;align-items:center;justify-content:center;width:26px;height:26px;color:var(--text-helper)}.migrate-close:hover{background:var(--field);color:var(--text)}@media (prefers-reduced-motion: reduce){.migrate-banner{transition:none}}.alpha-dialog{width:min(424px,92vw)}.alpha-readout{font-family:var(--font-mono);font-size:11px;letter-spacing:.02em;color:var(--text-helper);margin-bottom:10px}.alpha-dialog h2{margin-bottom:8px}.alpha-lede{font-size:13px;line-height:1.55;color:var(--text-secondary);max-width:52ch;margin-bottom:18px}.alpha-lede a{color:var(--brand-blue);text-decoration:none}.alpha-lede a:hover{text-decoration:underline}.alpha-lede a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.alpha-advice{border-top:1px solid var(--border)}.alpha-row{display:flex;flex-direction:column;gap:3px;padding:12px 0;border-bottom:1px solid var(--border);line-height:1.5}.alpha-row b{font-size:13px;font-weight:600}.alpha-row span{font-size:12.5px;color:var(--text-secondary);max-width:52ch}.alpha-dialog .settings-footer{justify-content:flex-end;margin-top:18px}.diag-dialog{width:min(520px,94vw);max-height:min(86vh,760px);overflow-y:auto}.diag-dialog .wn-close{position:absolute;top:12px;right:12px;background:transparent;border:none;color:var(--text-helper)}.diag-dialog .wn-close:hover{background:var(--field);color:var(--text)}.diag-verdict{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;margin-bottom:14px;border:1px solid var(--border);border-left-width:3px;background:var(--bg);font-size:13px;line-height:1.5}.diag-verdict .diag-stat{margin-top:1px}.diag-section{font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-helper);margin:14px 0 2px}.diag-list{list-style:none;margin:0;padding:0}.diag-row{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid var(--border)}.diag-stat{flex:none;display:flex}.diag-text{display:flex;flex-direction:column;gap:2px}.diag-text b{font-size:13px;font-weight:600}.diag-text span{font-size:12px;color:var(--text-secondary)}.diag-pass .diag-stat{color:#42be65}.diag-warn .diag-stat{color:#f1c21b}.diag-fail .diag-stat{color:var(--danger)}.diag-verdict.diag-pass{border-left-color:#42be65}.diag-verdict.diag-warn{border-left-color:#f1c21b}.diag-verdict.diag-fail{border-left-color:var(--danger)}.diag-info{margin-top:16px;padding-top:12px;border-top:1px solid var(--border);display:grid;gap:8px}.diag-info>div{display:flex;gap:12px;align-items:baseline}.diag-info b{flex:none;width:64px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-helper)}.diag-info span{font-family:var(--font-mono);font-size:11.5px;color:var(--text-secondary);word-break:break-word}.diag-footer{margin-top:18px}.diag-dialog .ghost{color:var(--text-secondary)}.diag-dialog .ghost:hover{color:var(--text)}.privacy-dialog{width:min(480px,92vw);max-height:86vh;overflow-y:auto}.privacy-note{font-size:12.5px;color:var(--text-helper);margin-top:16px}.privacy-dialog a{color:var(--brand-blue);text-decoration:none}.privacy-dialog a:hover{text-decoration:underline}.privacy-dialog a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.onb-dialog{width:min(640px,94vw);padding:0;overflow:hidden}.onb-stage{position:relative;height:264px;background:#101010;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;justify-content:center;overflow:hidden}.onb-stage img{height:100%;object-fit:cover;object-position:top center}.onb-stage img.contain{width:100%;object-fit:contain;object-position:center;padding:16px 20px}.onb-stage video{height:100%;object-fit:cover;object-position:top center}.onb-stage video.contain{width:100%;object-fit:contain;object-position:center;padding:16px 20px}.onb-stage .dither-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;image-rendering:pixelated;-webkit-mask-image:linear-gradient(to bottom,#000 0 40%,transparent);mask-image:linear-gradient(to bottom,#000 0 40%,transparent)}.onb-lockup{position:relative;align-self:center;display:flex;flex-direction:column;align-items:center;gap:14px}.onb-wordmark{font-family:"Space Grotesk",var(--font-ui);font-weight:700;font-size:56px;line-height:1;letter-spacing:-.03em}.onb-wordmark .ld{color:var(--brand-blue)}.onb-lockup .brand-squares{font-size:18px}.onb-body{min-height:148px;padding:20px 24px 8px}.onb-body.enter{animation:onb-enter .18s var(--ease)}@keyframes onb-enter{0%{opacity:0;transform:translateY(6px)}}.onb-title{font-size:16px;font-weight:600;margin-bottom:8px}.onb-text{font-size:13px;line-height:1.6;color:var(--text-secondary);max-width:60ch}.wn-close{position:absolute;top:8px;right:8px;z-index:1;display:flex;align-items:center;justify-content:center;width:30px;height:30px;color:#fff;background:#0d0d0d80;border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.wn-close:hover{background:#0d0d0dbf}.wn-meta{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-family:var(--font-mono);font-size:11px;letter-spacing:.02em}.wn-version{color:var(--text)}.wn-date{color:var(--text-helper)}.wn-latest{padding:1px 6px;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--brand-blue);border:1px solid var(--brand-blue)}.onb-hints{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:14px;font-size:12px;color:var(--text-helper)}.onb-hint{display:inline-flex;align-items:center;gap:6px}.onb-hint kbd{font-family:var(--font-mono);font-size:11px;color:var(--text);background:var(--field);border:1px solid var(--field-hover);padding:1px 6px 2px}.onb-hint-sep{margin:0 -2px}.onb-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px 18px}.onb-dots{display:flex;gap:7px}.onb-dot{width:9px;height:9px;padding:0;background:var(--field-hover);transition:background var(--t-fast) var(--ease)}.onb-dot:hover{background:var(--text-helper)}.onb-dot.active{background:var(--interactive)}.onb-btns{display:flex;gap:8px}.onb-btns .primary{background:var(--interactive);color:#fff;padding:6px 20px}.onb-btns .primary:hover{background:var(--interactive-hover)}.onb-skip{color:var(--text-helper)}.onb-skip:hover{color:var(--text)}@media (prefers-reduced-motion: reduce){.onb-body.enter{animation:none}}.pen-curve-wrap{display:flex;flex-direction:column;gap:6px}.pen-curve-canvas{width:192px;height:192px;background:var(--bg);border:1px solid var(--border);touch-action:none;cursor:crosshair}.pen-curve-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:26px}.pen-curve-foot .readout{font-family:var(--font-mono);font-size:11px;color:var(--text-helper)}.pen-curve-foot button{padding:4px 10px;font-size:11px}.pressure-debug{position:fixed;left:52px;bottom:64px;z-index:var(--z-overlay);background:var(--layer);border:1px solid var(--border);padding:8px 10px 10px;display:flex;flex-direction:column;gap:6px}.pd-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;font-size:11px;color:var(--text-secondary)}.pd-readout{font-family:var(--font-mono);font-size:11px;color:var(--text-helper)}.pressure-debug canvas{display:block;background:var(--bg)}.hotbar{position:fixed;bottom:8px;left:50%;transform:translate(-50%);z-index:var(--z-overlay);display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:4px;background:#262626eb;border:1px solid var(--border)}.hot-layers{display:flex;align-self:stretch;gap:2px}.hot-chip{height:14px;min-width:15px;padding:0 4px;font-family:var(--font-mono);font-size:9px;color:var(--text-helper);background:var(--field);display:grid;place-items:center;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.hot-chip:hover{color:var(--text);background:var(--field-hover)}.hot-chip.active{background:var(--interactive);color:#fff}.hot-chip-gap{margin-left:9px}.hot-cheat{margin-left:auto;height:14px;padding:0 5px;display:grid;place-items:center;color:var(--text-helper);background:var(--field);transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.hot-cheat:hover{color:var(--text);background:var(--field-hover)}.hot-cheat svg{display:block}.hotbar.armed{border-color:var(--interactive)}.hot-slots{display:flex;gap:3px}.hot-slot{position:relative;width:38px;height:38px;display:grid;place-items:center;background:var(--bg);border:1px solid var(--field);color:var(--text-secondary);transition:border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.hot-slot:hover{border-color:var(--field-hover);color:var(--text)}.hot-slot.bound{color:var(--text)}.hot-slot.flash{background:var(--interactive);border-color:var(--interactive);color:#fff}.hot-key{position:absolute;top:1px;left:3px;font-family:var(--font-mono);font-size:8px;line-height:1;color:var(--text-helper)}.hot-content{display:grid;place-items:center}.hot-content svg{display:block}.hot-abbr{font-size:10px}.hot-swatch{width:18px;height:18px;display:block;border:1px solid rgba(255,255,255,.18)}.hot-label{position:absolute;left:50%;bottom:calc(100% + 6px);transform-origin:left bottom;transform:rotate(-45deg);white-space:nowrap;font-size:11px;color:var(--text);background:#161616eb;border:1px solid var(--border);padding:1px 6px;opacity:0;pointer-events:none;transition:opacity 90ms var(--ease)}.hotbar:hover .hot-slot.bound .hot-label{opacity:1}.hot-slot.bound:hover .hot-label{background:var(--interactive);border-color:var(--interactive);color:#fff}.hot-config{position:fixed;z-index:var(--z-modal);width:244px;max-height:66vh;overflow:hidden;background:var(--layer);border:1px solid var(--border);box-shadow:0 12px 32px #00000080;display:flex;flex-direction:column;padding:6px}.hot-config-title{font-family:var(--font-mono);font-size:11px;color:var(--text-helper);padding:4px 6px 6px}.hot-config-search{width:100%;background:var(--field);color:var(--text);border:1px solid var(--field-hover);padding:5px 8px;font-family:var(--font-ui);font-size:12px;margin-bottom:4px}.hot-config-search::placeholder{color:var(--text-helper)}.hot-config-search:focus-visible{outline:2px solid var(--focus);outline-offset:-1px}.hot-config button{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:6px 8px;font-size:12px;color:var(--text-secondary)}.hot-config button:hover{background:var(--field);color:var(--text)}.hot-config svg{flex:none;color:var(--text-helper)}.hot-config button:hover svg{color:var(--text)}.hot-config-color{flex:none;border-bottom:1px solid var(--border);margin-bottom:2px}.hot-config-color .hot-swatch{width:16px;height:16px}.hot-config-list{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.hot-config-cat{display:block;font-size:10px;font-weight:600;color:var(--text-helper);padding:9px 8px 3px}.hot-config-list>.hot-config-cat:first-child{padding-top:3px}.hot-config-empty{display:block;padding:10px 8px;font-size:12px;color:var(--text-helper)}.hot-config-clear{flex:none;color:var(--danger, #fa4d56);border-top:1px solid var(--border);margin-top:2px}.cmdp{width:min(560px,calc(100vw - 32px));max-height:60vh;padding:0;margin:12vh auto auto;display:flex;flex-direction:column;overflow:hidden}.cmdp-search{flex:none;width:100%;background:transparent;color:var(--text);border:none;border-bottom:1px solid var(--border);padding:13px 16px;font-family:var(--font-ui);font-size:15px}.cmdp-search::placeholder{color:var(--text-helper)}.cmdp-search:focus-visible{outline:none}.cmdp-list{flex:1 1 auto;min-height:0;overflow-y:auto;padding:4px;display:flex;flex-direction:column}.cmdp-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px 12px;font-size:13px;color:var(--text-secondary);background:transparent;border:none;cursor:pointer}.cmdp-item.active{background:var(--field);color:var(--text)}.cmdp-icon{flex:none;display:flex;width:16px;color:var(--text-helper)}.cmdp-item.active .cmdp-icon{color:var(--text)}.cmdp-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdp-cat{flex:none;font-size:10px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--text-helper)}.cmdp-hint{flex:none;font-family:var(--font-mono);font-size:11px;color:var(--text-helper);background:var(--field);border:1px solid var(--border);padding:1px 6px;min-width:18px;text-align:center}.cmdp-item.active .cmdp-hint{border-color:var(--field-hover)}.cmdp-empty{display:block;padding:16px;font-size:13px;color:var(--text-helper);text-align:center}.cheat-dialog{width:min(940px,calc(100vw - 32px));max-height:min(82vh,760px);padding:0;display:flex;flex-direction:column;overflow:hidden}@media (prefers-reduced-motion: no-preference){.cheat-dialog[open]{animation:cheat-in .16s cubic-bezier(.22,1,.36,1)}.cheat-dialog[open]::backdrop{animation:cheat-fade .16s ease-out}}@keyframes cheat-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes cheat-fade{0%{opacity:0}to{opacity:1}}.cheat-head{flex:none;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--border)}.cheat-head h2{font-size:15px;font-weight:600;margin:0}.cheat-sub{margin:5px 0 0;font-size:12px;color:var(--text-helper)}.cheat-sub kbd{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);background:var(--field);border:1px solid var(--border);padding:0 4px}.cheat-close{flex:none;display:grid;place-items:center;width:28px;height:28px;color:var(--text-helper);background:transparent;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.cheat-close:hover{color:var(--text);background:var(--field)}.cheat-grid{flex:1 1 auto;min-height:0;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:1px;padding:1px;background:var(--border)}.cheat-block{display:flex;flex-direction:column;background:var(--layer)}.cheat-block-head{display:flex;align-items:center;gap:8px;padding:9px 11px;border-bottom:1px solid var(--border)}.cheat-chord{flex:none;font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--text);background:var(--field);padding:2px 6px;min-width:22px;text-align:center}.cheat-block.is-base .cheat-chord{color:var(--bg);background:var(--text)}.cheat-block.is-shift .cheat-chord{color:var(--interactive);border:1px solid var(--interactive);padding:1px 5px;background:transparent}.cheat-theme{font-size:12px;font-weight:600;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cheat-rows{list-style:none;margin:0;padding:4px;display:flex;flex-direction:column}.cheat-row{display:flex;align-items:center;gap:9px;padding:4px 7px;font-size:12px;color:var(--text-secondary)}.cheat-key{flex:none;font-family:var(--font-mono);font-size:11px;color:var(--text-helper);width:13px;text-align:center}.cheat-ico{flex:none;display:grid;place-items:center;width:15px;height:15px;color:var(--text-helper)}.cheat-ico svg{display:block}.cheat-swatch{width:13px;height:13px;border:1px solid rgba(255,255,255,.18)}.cheat-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cheat-block-empty{margin:0;padding:10px 11px;font-size:11px;color:var(--text-helper)}.name-dialog .name-input{width:100%;font-family:var(--font-ui);font-size:14px;color:var(--text);background:var(--field);border:1px solid var(--field);padding:9px 12px;margin-bottom:18px}.name-dialog .name-input::placeholder{color:var(--text-helper)}.name-dialog .name-input:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.texture-dialog{width:min(480px,92vw)}.tex-help{font-size:13px;line-height:1.55;color:var(--text-secondary);margin-bottom:16px}.tex-help b{color:var(--text);font-weight:600}.tex-drop{display:flex;flex-direction:column;align-items:center;gap:8px;padding:22px;border:1px dashed var(--field-hover);background:var(--bg);text-align:center;transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}.tex-drop p{font-size:13px;color:var(--text-secondary)}.tex-drop svg{color:var(--text-helper)}.tex-drop.over{border-color:var(--interactive);background:color-mix(in srgb,var(--interactive) 12%,var(--bg))}.tex-browse{font-size:12px;color:var(--text);padding:5px 10px;border:1px solid var(--field);background:var(--layer)}.tex-browse:hover{background:var(--field)}.tex-list{margin-top:12px;max-height:248px;overflow-y:auto;display:flex;flex-direction:column}.tex-row{display:flex;align-items:center;gap:10px;height:40px;padding:0 2px;border-bottom:1px solid var(--border)}.tex-row:last-child{border-bottom:0}.tex-box{width:18px;height:18px;flex:none;display:grid;place-items:center;border:1px solid var(--field-hover);color:#fff}.tex-box.on{background:var(--interactive);border-color:var(--interactive)}.tex-box svg{display:block}.tex-thumb{width:26px;height:26px;flex:none;overflow:hidden}.tex-thumb img{width:100%;height:100%;object-fit:cover;display:block;background:#101010}.tex-name{flex:1;min-width:0;font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tex-row:not(.filled) .tex-name{color:var(--text-secondary)}.tex-meta{font-family:var(--font-mono);font-size:11px;color:var(--text-helper);flex:none}.tex-footer{display:flex;align-items:center;justify-content:space-between}.tex-count{font-family:var(--font-mono);font-size:11px;color:var(--text-helper)}.tex-actions{display:flex;gap:8px}.export-dialog{width:min(700px,94vw);max-height:88vh;padding:0;overflow:hidden;display:flex;flex-direction:column}.export-dialog h2{margin:0;padding:16px 20px;border-bottom:1px solid var(--border)}.export-body{flex:1;min-height:0;display:grid;grid-template-columns:1fr 272px}.export-config{min-height:0;overflow-y:auto;padding:18px 20px;display:flex;flex-direction:column;gap:18px}.export-group{display:flex;flex-direction:column;gap:9px}.export-group-head{display:flex;align-items:center;justify-content:space-between}.export-label{font-size:11px;font-weight:600;color:var(--text-secondary)}.export-all{font-family:var(--font-mono);font-size:11px;color:var(--text-helper);padding:2px 7px}.export-all:hover{color:var(--text);background:var(--field)}.export-sets{display:flex;flex-direction:column;max-height:148px;overflow-y:auto}.export-set{display:flex;align-items:center;gap:9px;padding:5px 6px;font-size:13px;cursor:pointer}.export-set:hover{background:var(--field)}.export-chips{display:flex;flex-wrap:wrap;gap:6px}.export-chip{font-size:12px;padding:5px 11px;color:var(--text-secondary);background:var(--field)}.export-chip:hover{background:var(--field-hover);color:var(--text)}.export-chip.active{background:var(--interactive);color:#fff}.export-chip.active:hover{background:var(--interactive-hover)}.export-switcher{align-self:flex-start}.export-note{font-size:11px;color:var(--text-helper)}.export-quality{display:flex;align-items:center;gap:12px}.export-quality input[type=range]{flex:1}.export-quality .readout{font-family:var(--font-mono);font-size:12px;color:var(--text-helper);min-width:30px;text-align:right}.export-zip{display:flex;align-items:center;gap:9px;font-size:13px;cursor:pointer}.export-manifest{min-height:0;display:flex;flex-direction:column;background:var(--bg);border-left:1px solid var(--border)}.export-manifest-head{padding:12px 14px;border-bottom:1px solid var(--border)}.export-manifest-count{font-family:var(--font-mono);font-size:13px;color:var(--text)}.export-manifest-note{font-size:11px;color:var(--text-helper);margin-top:3px}.export-manifest-list{flex:1;min-height:0;overflow-y:auto;padding:5px 0}.export-file{display:flex;align-items:center;gap:9px;padding:4px 14px;font-family:var(--font-mono);font-size:11px;color:var(--text-secondary)}.export-file:hover{background:var(--field);color:var(--text)}.export-thumb{width:22px;height:22px;flex:none;border:1px solid var(--border);background:var(--bg)}.export-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.export-ext{color:var(--text-helper)}.export-empty{padding:14px;font-size:12px;color:var(--text-helper)}.export-more{padding:6px 14px;font-family:var(--font-mono);font-size:11px;color:var(--text-helper)}.export-dialog .settings-footer{margin:0;padding:14px 20px;border-top:1px solid var(--border)}@media (max-width: 620px){.export-body{grid-template-columns:1fr}.export-manifest{border-left:none;border-top:1px solid var(--border);max-height:240px}}@media (prefers-reduced-motion: no-preference){.export-dialog{transition:opacity var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.export-dialog::backdrop{transition:opacity var(--t-fast) var(--ease)}@starting-style{.export-dialog[open]{opacity:0;transform:translateY(8px) scale(.99)}.export-dialog[open]::backdrop{opacity:0}}}.transform-hint{position:absolute;left:50%;bottom:14px;transform:translate(-50%);z-index:var(--z-overlay);display:none;padding:6px 12px;background:#262626eb;border:1px solid var(--border);font-size:11px;color:var(--text-secondary);white-space:nowrap;pointer-events:none}.transform-hint.active{display:block}.transform-hint b{color:var(--text);font-weight:600}.drop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:none;align-items:center;justify-content:center;background:#0f62fe24;border:2px dashed var(--interactive);font-size:16px;font-weight:600;letter-spacing:.01em;color:var(--text);pointer-events:none}.drop-overlay.active{display:flex}.splash{--signal: oklch(.86 .24 142);position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);background:var(--bg);display:flex;justify-content:center;overflow:hidden;animation:splash-in .26s var(--ease) both}@keyframes splash-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.splash-panel{width:min(1240px,100%);height:100%;display:flex;flex-direction:column;padding:0 28px}.splash-strip{display:flex;align-items:center;gap:12px;height:36px;font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--text-helper);border-bottom:1px solid var(--border)}.splash-strip .strip-mid{flex:1}.splash-band{position:relative;height:132px;margin:0 -28px;overflow:hidden;border-bottom:1px solid var(--border)}.dither-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;image-rendering:pixelated;-webkit-mask-image:linear-gradient(to bottom,#000 0 52%,transparent);mask-image:linear-gradient(to bottom,#000 0 52%,transparent)}.splash-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:22px 0 24px;flex-wrap:wrap}.splash-lockup{min-width:0}.wordmark{font-family:"Space Grotesk",var(--font-ui);font-weight:700;font-size:clamp(2.6rem,6vw,4rem);line-height:.9;letter-spacing:-.03em;color:var(--text)}.wordmark .ld{color:var(--brand-blue)}.splash-lockup .brand-squares{font-size:clamp(1.1rem,2.4vw,1.55rem);margin-top:14px}.attribution{margin-top:10px;font-family:var(--font-mono);font-size:12px;letter-spacing:.02em;color:var(--text-secondary)}.tealios-mark{font-family:"Space Grotesk",var(--font-ui);font-weight:700;letter-spacing:-.02em;color:var(--text)}.tealios-i{color:var(--signal)}.splash-actions{display:flex;gap:8px;flex:none}.splash-btn{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 16px;font-size:13px;border:1px solid var(--field);background:var(--layer);white-space:nowrap}.splash-btn:hover{background:var(--field)}.splash-btn.primary{background:var(--interactive);border-color:var(--interactive);color:#fff}.splash-btn.primary:hover{background:var(--interactive-hover)}.splash-btn svg{display:block}.splash-section{display:flex;align-items:center;height:28px;font-size:12px;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border)}.splash-body{flex:1;min-height:0;display:flex;container:splash-body / inline-size}.splash-main{flex:1;min-width:0;display:flex;flex-direction:column}.splash-updates{display:none;flex:0 0 288px;flex-direction:column;min-height:0;padding-right:24px;border-right:1px solid var(--border)}@container splash-body (min-width: 800px){.splash-updates{display:flex}.splash-main{padding-left:28px}}.updates-list{flex:1;min-height:0;overflow-y:auto;padding:8px 0 18px}.update-row{display:flex;flex-direction:column;gap:4px;width:100%;text-align:left;padding:12px 8px 12px 2px;border-bottom:1px solid var(--border);cursor:pointer;transition:background var(--t-fast) var(--ease);animation:update-in .32s var(--ease) both;animation-delay:calc(var(--row, 0) * 45ms)}.update-row:last-child{border-bottom:none}.update-row:hover{background:var(--field)}.update-row:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.update-meta{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;letter-spacing:.02em}.update-ver{color:var(--text-secondary)}.update-date{color:var(--text-helper)}.update-dot{width:6px;height:6px;margin-left:auto;border-radius:50%;background:var(--interactive)}.update-title{font-size:13px;line-height:1.35;color:var(--text)}.update-blurb{font-size:12px;line-height:1.45;color:var(--text-helper);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}@keyframes update-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.splash-grid{flex:1;min-height:0;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:14px;padding:18px 2px;align-content:start}.card{display:flex;flex-direction:column;background:var(--layer);border:1px solid var(--border);cursor:pointer;transition:border-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.card:hover{border-color:var(--field-hover);transform:translateY(-2px)}.card:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.card-thumb{aspect-ratio:16 / 10;background:#101010;overflow:hidden}.card-thumb img{width:100%;height:100%;object-fit:cover;display:block}.card-thumb.empty{display:grid;place-items:center;align-content:center;gap:9px}.card-thumb.empty .brand-squares{font-size:12px;opacity:.75}.card-noprev{font-family:var(--font-mono);font-size:11px;color:var(--text-helper);letter-spacing:.04em}.card-foot{display:flex;align-items:center;gap:8px;padding:9px 8px 9px 12px;border-top:1px solid var(--border)}.card-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.card-name{font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-meta{font-family:var(--font-mono);font-size:11px;color:var(--text-helper)}.card-rename{font-size:13px;font-family:var(--font-ui);color:var(--text);background:var(--bg);border:1px solid var(--interactive);padding:1px 5px;min-width:0}.card-more{width:30px;height:30px;flex:none;display:grid;place-items:center;color:var(--text-helper)}.card-more:hover{color:var(--text);background:var(--field)}.card-menu{position:fixed;z-index:var(--z-modal);min-width:184px;background:var(--layer);border:1px solid var(--border);box-shadow:0 8px 24px #00000080;padding:4px 0}.menu-row{display:flex;align-items:center;gap:10px;width:100%;padding:7px 12px;font-size:13px;text-align:left;color:var(--text)}.menu-row:hover{background:var(--field)}.menu-row.danger{color:var(--danger)}.menu-row.danger:hover{background:color-mix(in srgb,var(--danger) 18%,var(--layer))}.menu-row svg{display:block;color:var(--text-helper)}.menu-row.danger svg{color:var(--danger)}.splash-empty{grid-column:1 / -1;padding:48px 0;max-width:46ch}.splash-empty .brand-squares{font-size:14px;margin-bottom:14px;opacity:.9}.empty-title{font-size:15px;font-weight:600;color:var(--text);margin-bottom:6px}.empty-body{font-size:13px;line-height:1.6;color:var(--text-secondary)}.splash-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;height:48px;border-top:1px solid var(--border);font-size:12px;color:var(--text-secondary)}.recent-pref{display:flex;align-items:center;gap:8px;cursor:pointer}.footer-by{font-family:var(--font-mono);font-size:11px;color:var(--text-helper)}.footer-by a{text-decoration:none}.footer-by a:hover{text-decoration:underline;text-decoration-color:var(--text-secondary)}@media (max-width: 560px){.splash-panel{padding:0 16px}.splash-band{margin:0 -16px}.splash-head{padding:18px 0}}@media (prefers-reduced-motion: reduce){.splash{animation:none}.card:hover{transform:none}.update-row{animation:none}}.loader-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-loader);display:none;align-items:center;justify-content:center;background:#0d0d0db8;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.loader-overlay.active{display:flex}.loader-box{display:flex;align-items:center;gap:14px;padding:18px 22px;background:var(--layer);border:1px solid var(--border);box-shadow:0 12px 32px #00000080}.loader-spin{display:flex;align-items:center;gap:4px;flex:none}.loader-spin i{width:10px;height:10px;animation:loader-hop .9s var(--ease) infinite}.loader-spin .sq-r{background:var(--brand-sq-red)}.loader-spin .sq-g{background:var(--brand-sq-gray);animation-delay:.15s}.loader-spin .sq-b{background:var(--brand-sq-blue);animation-delay:.3s}@keyframes loader-hop{0%,50%,to{transform:none;opacity:.7}25%{transform:translateY(-5px);opacity:1}}.loader-text{display:flex;flex-direction:column;gap:2px}.loader-label{font-size:13px;color:var(--text)}.loader-sub{font-family:var(--font-mono);font-size:11px;color:var(--text-helper)}@media (prefers-reduced-motion: reduce){.loader-spin i{animation:loader-pulse 1.2s ease-in-out infinite}@keyframes loader-pulse{50%{opacity:.4}}}.boot-fatal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-loader);display:grid;place-items:center;background:var(--bg);padding:24px}.boot-fatal-card{width:min(460px,100%);background:var(--layer);border:1px solid var(--border);padding:28px 30px 30px}.boot-fatal-mark{font-family:"Space Grotesk",var(--font-ui);font-size:28px;font-weight:700;letter-spacing:-.02em}.boot-fatal-mark b{color:var(--brand-blue)}.boot-fatal .brand-squares{font-size:13px;margin:8px 0 20px}.boot-fatal h1{font-size:18px;font-weight:600;margin-bottom:10px}.boot-fatal p{font-size:13px;line-height:1.6;color:var(--text-secondary);max-width:56ch;margin-bottom:14px}.boot-fatal ul{margin:0 0 22px 18px;font-size:13px;line-height:1.75;color:var(--text-secondary)}.boot-fatal .primary{background:var(--interactive);color:#fff;padding:8px 18px}.boot-fatal .primary:hover{background:var(--interactive-hover)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-thumb{background:var(--field);border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--field-hover)}.ref-window{position:absolute;z-index:var(--z-float);display:flex;flex-direction:column;min-width:240px;min-height:180px;background:var(--bg);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 28px #00000080;overflow:hidden}.ref-window.drag-over{outline:2px dashed var(--brand-blue);outline-offset:-4px}.ref-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:1px 3px 1px 10px;background:var(--layer);border-bottom:1px solid var(--border);cursor:move;user-select:none;-webkit-user-select:none;touch-action:none;flex:0 0 auto}.ref-title{font-size:11px;font-weight:600;color:var(--text-secondary);letter-spacing:.02em}.ref-head-actions{display:flex;gap:1px}.ref-head-btn{width:24px;height:24px;padding:0;display:grid;place-items:center;border-radius:4px;color:var(--text-secondary);background:transparent}.ref-head-btn svg{display:block}.ref-head-btn:hover{background:var(--field);color:var(--text)}.ref-body{position:relative;flex:1 1 auto;min-height:0}.ref-canvas{display:block;width:100%;height:100%;touch-action:none}.ref-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:0 24px;text-align:center;font-size:12px;color:var(--text-helper);pointer-events:none}.ref-resize{position:absolute;right:0;bottom:0;width:16px;height:16px;cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg,transparent 50%,var(--field-hover) 50%)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-duration:0ms!important}}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/roboto-latin-400-normal-BqEyEoaF.woff2) format("woff2"),url(/assets/roboto-latin-400-normal-DyYNIH4P.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-latin-400-normal-BLhwKU8k.woff2) format("woff2"),url(/assets/montserrat-latin-400-normal-xItZbAXg.woff) format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-latin-400-normal-cpxAROuN.woff2) format("woff2"),url(/assets/poppins-latin-400-normal-BOb3E3N0.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2) format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff) format("woff")}@font-face{font-family:Raleway;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/raleway-latin-400-normal-C5eIEfLm.woff2) format("woff2"),url(/assets/raleway-latin-400-normal-sMcq1OIP.woff) format("woff")}@font-face{font-family:Oswald;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/oswald-latin-400-normal-BAFo8sP8.woff2) format("woff2"),url(/assets/oswald-latin-400-normal-D1wpMXgf.woff) format("woff")}@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/rubik-latin-400-normal-j0pmKyiQ.woff2) format("woff2"),url(/assets/rubik-latin-400-normal-BV1Ho3GG.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2) format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.woff) format("woff")}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/quicksand-latin-400-normal-BSDtH9U0.woff2) format("woff2"),url(/assets/quicksand-latin-400-normal-BqXBKzPR.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-latin-400-normal-PaqtzbVb.woff2) format("woff2"),url(/assets/manrope-latin-400-normal-8tf8FM3T.woff) format("woff")}@font-face{font-family:Josefin Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/josefin-sans-latin-400-normal-Bw73c5y2.woff2) format("woff2"),url(/assets/josefin-sans-latin-400-normal-OLNf33Pm.woff) format("woff")}@font-face{font-family:Bebas Neue;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bebas-neue-latin-400-normal-9mHNbWWO.woff2) format("woff2"),url(/assets/bebas-neue-latin-400-normal-Bi-ndsyu.woff) format("woff")}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/merriweather-latin-400-normal-G4kZaoXi.woff2) format("woff2"),url(/assets/merriweather-latin-400-normal-CvqO63Ah.woff) format("woff")}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/playfair-display-latin-400-normal-CFtfchNt.woff2) format("woff2"),url(/assets/playfair-display-latin-400-normal-DHYHbkg3.woff) format("woff")}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lora-latin-400-normal-DnxXpLNu.woff2) format("woff2"),url(/assets/lora-latin-400-normal-DBJS-Hc6.woff) format("woff")}@font-face{font-family:"PT Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pt-serif-latin-400-normal-Cx0mQj7e.woff2) format("woff2"),url(/assets/pt-serif-latin-400-normal-DIu_lRW0.woff) format("woff")}@font-face{font-family:Roboto Slab;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/roboto-slab-latin-400-normal-DwurWVj7.woff2) format("woff2"),url(/assets/roboto-slab-latin-400-normal-wzK1bUc4.woff) format("woff")}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-latin-400-normal-DSJrtJSV.woff2) format("woff2"),url(/assets/eb-garamond-latin-400-normal-zgGxM6DR.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-400-normal-B-1hWBU7.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-400-normal-B7YtguxJ.woff) format("woff")}@font-face{font-family:Bitter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bitter-latin-400-normal-Cl9vToDR.woff2) format("woff2"),url(/assets/bitter-latin-400-normal-B_gsCfHZ.woff) format("woff")}@font-face{font-family:Libre Baskerville;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/libre-baskerville-latin-400-normal-C42RasBZ.woff2) format("woff2"),url(/assets/libre-baskerville-latin-400-normal-B6A5kCEq.woff) format("woff")}@font-face{font-family:Lobster;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lobster-latin-400-normal-VmWungf4.woff2) format("woff2"),url(/assets/lobster-latin-400-normal-Cc8ENR_t.woff) format("woff")}@font-face{font-family:Pacifico;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pacifico-latin-400-normal-7HIToT7q.woff2) format("woff2"),url(/assets/pacifico-latin-400-normal-DArfF-vd.woff) format("woff")}@font-face{font-family:Anton;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/anton-latin-400-normal-Byf51wtH.woff2) format("woff2"),url(/assets/anton-latin-400-normal-AUNGEG_V.woff) format("woff")}@font-face{font-family:Abril Fatface;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/abril-fatface-latin-400-normal-utNZUC9m.woff2) format("woff2"),url(/assets/abril-fatface-latin-400-normal-CSRW-xuf.woff) format("woff")}@font-face{font-family:Righteous;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/righteous-latin-400-normal-DIzXvQUm.woff2) format("woff2"),url(/assets/righteous-latin-400-normal-CRvo487o.woff) format("woff")}@font-face{font-family:Comfortaa;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/comfortaa-latin-400-normal-Cs52v-fJ.woff2) format("woff2"),url(/assets/comfortaa-latin-400-normal-CxqV1cRw.woff) format("woff")}@font-face{font-family:Archivo Black;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/archivo-black-latin-400-normal-BTVu2TQR.woff2) format("woff2"),url(/assets/archivo-black-latin-400-normal-HW9MwEcM.woff) format("woff")}@font-face{font-family:Permanent Marker;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/permanent-marker-latin-400-normal-BF23djCy.woff2) format("woff2"),url(/assets/permanent-marker-latin-400-normal-BnZj5c41.woff) format("woff")}@font-face{font-family:Bungee;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bungee-latin-400-normal-Dfnurram.woff2) format("woff2"),url(/assets/bungee-latin-400-normal-DA8IEVW_.woff) format("woff")}@font-face{font-family:Monoton;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/monoton-latin-400-normal--Xn4BnFH.woff2) format("woff2"),url(/assets/monoton-latin-400-normal-CgrPpToo.woff) format("woff")}@font-face{font-family:"Press Start 2P";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/press-start-2p-latin-400-normal-_wFEWmAB.woff2) format("woff2"),url(/assets/press-start-2p-latin-400-normal-KLytu4cr.woff) format("woff")}@font-face{font-family:Dancing Script;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dancing-script-latin-400-normal--YrtvvVF.woff2) format("woff2"),url(/assets/dancing-script-latin-400-normal-BY5FxJb0.woff) format("woff")}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/caveat-latin-400-normal-D6LQsQ_v.woff2) format("woff2"),url(/assets/caveat-latin-400-normal-BzhAQZkN.woff) format("woff")}@font-face{font-family:Shadows Into Light;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/shadows-into-light-latin-400-normal-DLUEKdH9.woff2) format("woff2"),url(/assets/shadows-into-light-latin-400-normal-C6MG6Ljx.woff) format("woff")}@font-face{font-family:Satisfy;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/satisfy-latin-400-normal-CIU_tGU7.woff2) format("woff2"),url(/assets/satisfy-latin-400-normal-ez4YC6jz.woff) format("woff")}@font-face{font-family:Great Vibes;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/great-vibes-latin-400-normal-q5-78SH_.woff2) format("woff2"),url(/assets/great-vibes-latin-400-normal-BAZ173uY.woff) format("woff")}@font-face{font-family:Sacramento;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/sacramento-latin-400-normal-mRAQrhvZ.woff2) format("woff2"),url(/assets/sacramento-latin-400-normal-D-mHOmJi.woff) format("woff")}@font-face{font-family:Indie Flower;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/indie-flower-latin-400-normal-DFHVYtpv.woff2) format("woff2"),url(/assets/indie-flower-latin-400-normal-BinrgpLs.woff) format("woff")}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/roboto-mono-latin-400-normal-GekRknry.woff2) format("woff2"),url(/assets/roboto-mono-latin-400-normal-CbJMAmM6.woff) format("woff")}@font-face{font-family:Source Code Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-code-pro-latin-400-normal-DEXWLoHG.woff2) format("woff2"),url(/assets/source-code-pro-latin-400-normal-Bf_aQirX.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff) format("woff")}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-mono-latin-400-normal-Rg4St2Dn.woff2) format("woff2"),url(/assets/space-mono-latin-400-normal-_3DlpgIW.woff) format("woff")}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inconsolata-latin-400-normal-DTZQ6lD6.woff2) format("woff2"),url(/assets/inconsolata-latin-400-normal-HYADljCo.woff) format("woff")}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-code-latin-400-normal-DGosTW8U.woff2) format("woff2"),url(/assets/fira-code-latin-400-normal-C-QZfXAs.woff) format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fredoka-latin-400-normal-17JuUzdy.woff2) format("woff2"),url(/assets/fredoka-latin-400-normal-DbXSrOeS.woff) format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/baloo-2-latin-400-normal-D8VfTcZx.woff2) format("woff2"),url(/assets/baloo-2-latin-400-normal-DCk_bY-6.woff) format("woff")}@font-face{font-family:Chewy;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/chewy-latin-400-normal-BFhrjfYU.woff2) format("woff2"),url(/assets/chewy-latin-400-normal-Bytuav8a.woff) format("woff")}@font-face{font-family:Bangers;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bangers-latin-400-normal-DeHY8Ncq.woff2) format("woff2"),url(/assets/bangers-latin-400-normal-BAEm-Pv0.woff) format("woff")}@font-face{font-family:Luckiest Guy;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/luckiest-guy-latin-400-normal-dJClyBWO.woff2) format("woff2"),url(/assets/luckiest-guy-latin-400-normal-f5b8-b44.woff) format("woff")}@font-face{font-family:Patrick Hand;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/patrick-hand-latin-400-normal-B7HHA2Vw.woff2) format("woff2"),url(/assets/patrick-hand-latin-400-normal-Df9_VoRQ.woff) format("woff")}@font-face{font-family:Gloria Hallelujah;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/gloria-hallelujah-latin-400-normal-BuKjlT1h.woff2) format("woff2"),url(/assets/gloria-hallelujah-latin-400-normal-DoEvNWI-.woff) format("woff")}@font-face{font-family:Amatic SC;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/amatic-sc-latin-400-normal-BYMtr4HQ.woff2) format("woff2"),url(/assets/amatic-sc-latin-400-normal-CvxyDaGH.woff) format("woff")}
