:root{--ink:#0d0e10;--surface:#16181c;--raised:#1d2026;--raised-2:#242830;--raised-3:#2c3038;--line:#2c3038;--line-soft:#23262d;--text:#f2ede4;--muted:#8b8478;--faint:#5d574e;--primary:#ff6a3d;--primary-hi:#ff8459;--primary-soft:#3a1f16;--secondary:#3dd6c4;--secondary-soft:#12302c;--danger:#f0506e;--radius:8px;--radius-sm:6px;--shadow:0 10px 28px #00000059;--shadow-sm:0 4px 12px #00000047;--disabled-opacity:.5;--z-toast:60;--z-bg-modal:42;--z-modal-overlay:40;--z-status:25;--z-bar:30;--z-chrome:20;color:var(--text);background:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;height:100%}body{min-width:320px;min-height:100vh;margin:0;overflow:hidden}.startup-failure{background:radial-gradient(circle at 25% 20%, #ff6a3d1f, transparent 34%), linear-gradient(145deg, #15161a, var(--ink));place-items:center;width:100%;min-height:100%;padding:24px;display:grid;overflow:auto}.startup-failure-card{border:1px solid var(--line);border-top:3px solid var(--danger);border-radius:var(--radius);background:var(--surface);width:min(680px,100%);box-shadow:var(--shadow);padding:clamp(24px,5vw,44px)}.startup-failure-mark{width:42px;height:42px;color:var(--danger);background:#f0506e24;border-radius:50%;place-items:center;margin-bottom:20px;font-size:25px;font-weight:900;display:grid}.startup-failure-eyebrow{color:var(--primary);letter-spacing:.12em;text-transform:uppercase;margin:0 0 6px;font-size:11px;font-weight:800}.startup-failure h1{margin:0 0 12px;font-size:clamp(24px,5vw,36px)}.startup-failure p,.startup-failure li{color:var(--muted);line-height:1.55}.startup-failure ol{padding-left:20px}.startup-failure code,.startup-failure pre{color:var(--text);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.startup-failure details{color:var(--muted);margin:20px 0}.startup-failure summary{cursor:pointer}.startup-failure pre{border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--ink);white-space:pre-wrap;word-break:break-word;max-height:180px;padding:12px;font-size:11px;line-height:1.45;overflow:auto}.startup-failure button{border-color:var(--primary);background:var(--primary-soft);color:#fff2ea;min-height:38px;padding:8px 14px;font-weight:750}button,input,select,textarea{font:inherit}button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--raised);min-height:30px;color:var(--text);cursor:pointer;justify-content:center;align-items:center;gap:6px;transition:background .12s,border-color .12s,color .12s;display:inline-flex}button:hover{border-color:var(--raised-3);background:var(--raised-2)}button:active:not(:disabled){transform:translateY(1px)}button:focus-visible,.file-picker span:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.brush-quickbar-toggle input:focus-visible+span,.icon-toggle input:focus-visible+span,.toggle-line input:focus-visible+span,.file-picker:focus-within,.skin-custom-tone:focus-within{outline:2px solid var(--primary);outline-offset:1px}.lucide{stroke-width:2px;flex:none;width:16px;height:16px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.file-picker:hover span{border-color:var(--raised-3);background:var(--raised-2)}button.is-active,.asset-tile.is-active,.segmented .is-active,.preset-row .is-active{border-color:var(--primary);background-color:var(--primary-soft);color:#fff2ea;background-image:none;box-shadow:inset 0 0 0 1px #ff6a3d40}.asset-group-empty{color:var(--muted);text-align:center;border:1px dashed var(--line);border-radius:var(--radius-sm);grid-column:1/-1;padding:16px;font-size:12px;font-style:italic}.asset-group-dropzone{grid-column:1/-1}.asset-group-dropzone-inner{border:2px dashed var(--line);border-radius:var(--radius);min-height:100px;color:var(--muted);text-align:center;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:20px;font-size:12px;transition:border-color .15s,background .15s;display:flex}.asset-group-dropzone-inner:hover,.asset-group-dropzone.is-dragover .asset-group-dropzone-inner{border-color:var(--primary);background:var(--primary-soft);color:var(--text)}.asset-group-dropzone-inner strong{color:var(--primary)}.asset-group-dropzone-inner svg{opacity:.6}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:var(--disabled-opacity)}input,select,textarea{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink);width:100%;min-width:0;color:var(--text)}input,select{min-height:30px;padding:4px 7px}input[type=range]{appearance:none;cursor:pointer;background:0 0;border:0;width:100%;height:22px;min-height:0;padding:0}input[type=range]::-webkit-slider-runnable-track{background:var(--line);border-radius:999px;height:4px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--primary);border:2px solid #1a0d08;border-radius:50%;width:14px;height:14px;margin-top:-5px;transition:transform .1s,background .1s,box-shadow .1s;box-shadow:0 0 0 1px #ff6a3d66}input[type=range]:hover::-webkit-slider-thumb{background:var(--primary-hi)}input[type=range]:active::-webkit-slider-thumb{transform:scale(1.18);box-shadow:0 0 0 5px #ff6a3d2e}input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px #ff6a3d4d}input[type=range]::-moz-range-track{background:var(--line);border-radius:999px;height:4px}input[type=range]::-moz-range-thumb{background:var(--primary);border:2px solid #1a0d08;border-radius:50%;width:14px;height:14px;box-shadow:0 0 0 1px #ff6a3d66}input[type=range]:hover::-moz-range-thumb{background:var(--primary-hi)}input[type=range]:active::-moz-range-thumb{box-shadow:0 0 0 5px #ff6a3d2e}input[type=range]:disabled::-webkit-slider-thumb{background:var(--faint)}input[type=range]:disabled::-moz-range-thumb{background:var(--faint)}input[type=color]{width:48px;padding:2px}textarea{resize:vertical;padding:7px;line-height:1.35}label{min-width:0;color:var(--muted);gap:5px;font-size:12px;display:grid}label span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.workspace{width:100%;height:100vh;background:var(--ink);height:100dvh;display:grid}.tool-rail{border-right:1px solid var(--line-soft);background:#0a0b0c;align-content:start;gap:8px;padding:10px 7px;display:grid}.tool-rail button{width:40px;height:38px;padding:0}.tool-rail button.is-active{color:var(--primary)}.tool-rail .lucide{width:18px;height:18px}.tool-rail-spacer{min-height:0}.tool-rail .release-button{border-color:var(--line-soft);height:34px;color:var(--muted);background:0 0;position:relative}.tool-rail .release-button:hover,.tool-rail .release-button:focus-visible{border-color:var(--primary);background:var(--primary-soft);color:var(--text)}.release-version-label{letter-spacing:-.02em;text-transform:uppercase;font-size:10px;font-weight:850}.release-attention-marker{background:var(--primary);border:2px solid #0a0b0c;border-radius:50%;width:10px;height:10px;display:none;position:absolute;top:-4px;right:-4px;box-shadow:0 0 #ff6a3d8c}.release-button.has-unread-release .release-attention-marker{animation:1.8s ease-out infinite release-marker-pulse;display:block}@keyframes release-marker-pulse{55%,to{box-shadow:0 0 0 7px #ff6a3d00}}@media (prefers-reduced-motion:reduce){.release-button.has-unread-release .release-attention-marker{animation:none}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.viewport-shell{background:radial-gradient(circle at 35% 25%,#ff6a3d1a,#0000 32%),radial-gradient(circle at 78% 82%,#3dd6c40f,#0000 40%),linear-gradient(145deg,#15161a 0%,#0e0f12 55%,#0b0c0f 100%);min-width:0;position:relative;overflow:hidden}.viewport,.viewport canvas{width:100%;height:100%;display:block}.asset-tray{z-index:8;border-right:1px solid var(--line-soft);background:#111317;grid-area:assets;grid-template-rows:auto minmax(0,1fr);gap:8px;min-width:0;min-height:0;padding:9px 8px;display:grid;position:relative;overflow:visible}.asset-tray[hidden]{display:none}.asset-tray-heading,.asset-tray-heading>div,.asset-tray-actions,.asset-tray-trigger{align-items:center;display:flex}.asset-tray-heading{justify-content:space-between;gap:5px;min-width:0}.asset-tray-heading>div:first-child{gap:1px;min-width:0;display:grid}.asset-tray-heading h2{color:var(--text);margin:0;font-size:12px}.asset-tray-actions{gap:3px}.asset-tray-actions button{width:25px;min-height:25px;padding:0}.asset-tray-trigger{gap:5px;min-height:28px;padding:0 7px;font-size:11px;font-weight:750}.asset-tray-count{min-width:17px;color:var(--muted);text-align:center;background:#ffffff14;border-radius:999px;padding:1px 5px;font-size:10px}.asset-tray-trigger.is-active .asset-tray-count{color:#ffd9cd;background:#ff6a3d2e}.asset-tray .asset-grid{scrollbar-width:thin;align-content:start;gap:8px;display:grid;overflow:hidden auto}.emoji-picker-panel{z-index:9;border:1px solid var(--line);border-radius:var(--radius);width:min(330px,100vw - 76px);height:min(460px,100vh - 132px);min-height:320px;box-shadow:var(--shadow);background:#111317;grid-template-rows:auto minmax(0,1fr) auto;gap:7px;padding:8px;display:grid;position:absolute;top:42px;left:7px}.emoji-picker-panel[hidden]{display:none}.emoji-picker-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.emoji-picker-heading>div{gap:1px;display:grid}.emoji-picker-heading strong{color:var(--text);font-size:12px}.emoji-picker-heading small,.emoji-picker-credit,.emoji-picker-loading{color:var(--muted);font-size:10px}.emoji-picker-mount{min-width:0;min-height:0;display:grid}.emoji-picker-mount emoji-picker{--background:#16181c;--border-color:#2c3038;--button-active-background:#3a1f16;--button-hover-background:#242830;--category-font-color:#8b8478;--indicator-color:#ff6a3d;--input-border-color:#2c3038;--input-font-color:#f2ede4;--input-placeholder-color:#8b8478;--outline-color:#ff6a3d;--num-columns:7;width:100%;height:100%;min-height:0}.emoji-picker-loading{place-self:center}.emoji-picker-credit{text-align:right}.asset-tray .asset-library-group{border:1px solid var(--line-soft);background:#00000029;border-radius:6px;min-width:0;margin:0;padding:5px}.asset-tray .asset-library-group-header{padding:0 0 4px}.asset-tray .asset-library-group-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.asset-tray .asset-library-group-grid[hidden]{display:none}.asset-tray .asset-tile-shell,.asset-tray .asset-group-dropzone{width:auto;height:76px}.asset-tray .asset-tile{max-height:76px;padding:4px}.asset-tray .asset-tile img{max-height:48px}.asset-tray .asset-group-dropzone{grid-column:auto}.asset-tray .asset-group-dropzone-inner{border-width:1px;gap:3px;height:76px;min-height:76px;padding:5px;font-size:0}.asset-tray .asset-group-dropzone-inner strong{font-size:10px;line-height:1.1;display:block}.creator-credit{z-index:5;border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0d0e10d1;padding:6px 9px;font-size:11px;font-weight:600;position:absolute;bottom:14px;left:14px}.creator-credit a{color:var(--muted);text-decoration:none;transition:color .12s}.creator-credit a:hover,.creator-credit a:focus-visible{color:var(--text)}.creator-credit a:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.view-tabs,.tex-mode-toggle{border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0d0e10d1;padding:3px}.view-tabs button,.tex-mode-toggle button{min-height:26px;color:var(--muted);background:0 0;border:1px solid #0000;padding:0 12px;font-size:12px;font-weight:600}.view-tabs button.is-active,.tex-mode-toggle button.is-active{border-color:var(--primary);background:var(--primary-soft);color:#fff2ea}.tex-mode-toggle button{text-transform:uppercase;letter-spacing:.04em;padding:0 10px;font-size:11px}.brush-quickbar{z-index:5;border:1px solid var(--line);border-radius:var(--radius-sm);max-width:min(1040px,100% - 24px);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;background:#0d0e10db;flex-wrap:wrap;align-items:center;gap:6px;padding:6px;display:flex;position:absolute;top:62px;left:12px}.brush-quickbar[hidden]{display:none}.brush-quickbar.is-text{max-width:min(1120px,100% - 24px)}.brush-quickbar-group{align-items:center;gap:4px;min-width:0;display:inline-flex}.brush-quickbar button{min-height:28px;padding:0 8px;font-size:11px;font-weight:800}.brush-quickbar-modes button,.brush-quickbar-actions button:first-child{width:30px;padding:0}.brush-quickbar-actions button[data-clear-brush]{min-width:46px;padding:0 7px}.brush-quickbar-presets button{min-width:48px}.brush-quickbar-color,.brush-quickbar-range{min-width:0;color:var(--muted);gap:2px;margin:0;font-size:10px;line-height:1;display:grid}.brush-quickbar-color{width:38px}.brush-quickbar-color input{width:34px;min-height:26px}.brush-quickbar-range{width:112px}.brush-quickbar-range>span{justify-content:space-between;align-items:center;gap:8px;display:flex}.brush-number-control{border:1px solid var(--line);background:var(--ink);color:var(--muted);font-variant-numeric:tabular-nums;border-radius:4px;align-items:center;display:inline-flex;overflow:hidden}.brush-number-control:focus-within{border-color:var(--primary);box-shadow:0 0 0 1px #ff6a3d33}.brush-number-control input{width:42px;min-height:22px;color:var(--text);text-align:right;background:0 0;border:0;outline:0;padding:1px 2px 1px 4px;font-size:10px;font-weight:700}.brush-number-control>span{color:var(--muted);white-space:nowrap;flex:none;padding-right:4px;font-size:10px;overflow:visible}.control-field .brush-number-control input{width:52px;min-height:24px;font-size:11px}.brush-quickbar-toggle{cursor:pointer;min-height:28px;margin:0;display:grid}.brush-quickbar-toggle input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.brush-quickbar-toggle>span{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--raised);width:30px;min-height:28px;color:var(--muted);justify-content:center;align-items:center;display:inline-flex}.brush-quickbar-toggle input:checked+span{border-color:var(--primary);background:var(--primary-soft);color:#fff2ea;box-shadow:inset 0 0 0 1px #ff6a3d33}.text-quickbar-content,.text-quickbar-font,.text-quickbar-number{color:var(--muted);gap:3px;margin:0;font-size:10px;line-height:1;display:grid}.text-quickbar-content{width:clamp(150px,22vw,260px)}.text-quickbar-font{width:184px}.text-quickbar-content textarea,.text-quickbar-font select{min-height:28px;padding-block:2px;font-size:11px}.text-quickbar-content textarea{resize:none;white-space:pre;height:28px;overflow:auto hidden}.text-font-control{min-width:0;color:var(--muted);gap:5px;font-size:12px;display:grid}.text-font-picker{gap:4px;min-width:0;display:flex}.text-font-picker select{flex:auto;min-width:0}.text-font-picker button{flex:none;min-height:28px;padding:0 7px;font-size:11px}.text-quickbar-font .text-font-picker button{width:30px;padding:0}.text-quickbar-number{width:72px}.text-bend-range{width:124px}.text-bend-range strong,.control-field>span strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:10px}.text-quickbar-number>.brush-number-control{min-height:28px}.text-quickbar-number .brush-number-control input{width:48px;min-height:26px}.text-quickbar-color{width:38px}.text-quickbar-align button{width:28px;padding:0}.text-quickbar-actions{border-left:1px solid var(--line);padding-left:6px}.text-quickbar-actions .danger-action{width:30px;padding:0}.text-quickbar-empty{min-height:30px;color:var(--primary);align-items:center;gap:9px;padding:0 5px;display:flex}.text-quickbar-empty>span{gap:2px;display:grid}.text-quickbar-empty strong{color:var(--text);font-size:11px}.text-quickbar-empty small{color:var(--muted);font-size:10px}.transform-strip{border:1px solid var(--line);border-radius:var(--radius-sm);max-width:min(680px,70vw);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;background:#0d0e10d1;align-items:center;gap:8px;padding:7px 9px;display:flex}.dirty-indicator{background:var(--primary);opacity:.9;text-indent:-9999px;border-radius:50%;flex:none;width:6px;height:6px;margin-left:2px;overflow:hidden}.transform-strip button{width:32px;min-height:28px;padding:0}.sidebar{border-left:1px solid var(--line-soft);background:var(--surface);grid-auto-rows:max-content;gap:10px;min-width:0;padding:10px;display:grid;overflow-y:auto}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--raised);gap:10px;min-width:0;padding:10px;display:grid}.panel-heading{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.panel h2{color:var(--text);letter-spacing:0;margin:0;font-size:13px}.panel-heading>span{color:var(--secondary);font-size:11px}.button-grid,.two-col,.three-col{gap:8px;min-width:0;display:grid}.button-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.skin-preview-field{gap:7px;display:grid}.model-selector-row{grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:6px;display:grid}.model-selector-row select{width:100%;min-width:0;height:32px;padding:0 8px;font-size:12px}.model-file-picker span{height:32px}.skin-preview-label{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.skin-preview-label>small{color:var(--muted);letter-spacing:.02em;text-transform:uppercase;font-size:10px}.skin-tone-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.skin-tone-swatch,.skin-custom-tone{background:var(--skin-tone);border:1px solid #ffffff2e;border-radius:50%;width:25px;min-width:25px;height:25px;padding:0;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff3d,inset 0 -4px 8px #230a052e}.skin-tone-swatch:after,.skin-custom-tone:after{content:"";border-radius:inherit;pointer-events:none;border:2px solid #0000;position:absolute;inset:-3px}.skin-tone-swatch:hover,.skin-tone-swatch.is-active{background:var(--skin-tone);border-color:#ffffff2e;box-shadow:inset 0 1px #ffffff3d,inset 0 -4px 8px #230a052e}.skin-tone-swatch.is-active{box-shadow:0 0 0 2px var(--primary), inset 0 1px 0 #ffffff3d, inset 0 -4px 8px #230a052e}.skin-custom-tone.is-active{box-shadow:0 0 0 2px var(--primary), inset 0 1px 0 #ffffff3d, inset 0 -4px 8px #230a052e;background:conic-gradient(#ef6b63,#f3bf65,#62cf91,#65bce8,#a774dc,#ef6b63);border-color:#ffffff2e}.skin-custom-tone{cursor:pointer;background:conic-gradient(#ef6b63,#f3bf65,#62cf91,#65bce8,#a774dc,#ef6b63);border-radius:7px;margin-left:2px}.skin-custom-tone input[type=color]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.icon-row,.segmented,.toggle-row,.preset-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.icon-row button,.segmented button,.preset-row button{min-height:28px;padding:0 8px;font-size:11px;font-weight:700}.icon-row button,.segmented button{min-width:30px}.heading-primary{border-color:var(--primary);background:var(--primary-soft);color:#fff2ea;font-weight:800}.heading-primary:hover{border-color:var(--primary-hi);background:color-mix(in srgb, var(--primary) 26%, var(--primary-soft))}.preview-resolution-toggle button{flex:1 1 0}.file-picker{display:block;position:relative}.file-picker span{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--raised);width:100%;min-height:30px;color:var(--text);cursor:pointer;justify-content:center;align-items:center;gap:6px;transition:background .12s,border-color .12s;display:inline-flex}.file-picker.compact span{min-width:52px;padding:0 8px}.file-picker input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.asset-grid{min-width:0}.asset-tile-shell{min-width:0;height:104px;position:relative}.asset-tile{border:1px solid var(--line);border-radius:var(--radius-sm);box-sizing:border-box;cursor:pointer;background-color:var(--ink);background-image:linear-gradient(45deg,#ffffff0a 25%,#0000 25%),linear-gradient(-45deg,#ffffff0a 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#ffffff0a 75%),linear-gradient(-45deg,#0000 75%,#ffffff0a 75%);background-position:0 0,0 6px,6px -6px,-6px 0;background-size:12px 12px;grid-template-rows:1fr auto;gap:4px;width:100%;min-width:0;height:100%;max-height:104px;padding:5px;transition:background-color .12s,border-color .12s;display:grid;overflow:hidden}.asset-tile img{object-fit:contain;pointer-events:none;width:100%;max-width:100%;max-height:68px;display:block}[data-library-group=builtin-tattoo-flash] .asset-tile img{background:#e8e0d3;border-radius:3px}.asset-tile span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;pointer-events:none;font-size:10px;overflow:hidden}.layer-list{gap:6px;display:grid}.layer-row{border:1px solid var(--line);background:var(--ink);border-radius:7px;grid-template-columns:24px 32px minmax(0,1fr) 38px;align-items:center;gap:4px;min-height:62px;padding:5px;transition:border-color .12s,background .12s,opacity .12s;display:grid}.layer-row.is-group-child{border-left:2px solid color-mix(in srgb, var(--accent,#4ade80) 38%, transparent);width:calc(100% - 18px);margin-left:18px}.layer-row:hover{border-color:var(--raised-3)}.layer-row.is-selected{border-color:var(--primary);background:var(--primary-soft);box-shadow:inset 0 0 0 1px #ff6a3d33}.layer-row.is-locked{opacity:.7}.layer-row.is-dragging{opacity:.45;box-shadow:var(--shadow);border-style:dashed;border-color:#ff6a3d73}.layer-row.drop-above{border-top:2px solid var(--primary);box-shadow:0 -2px 0 var(--primary);border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px}.layer-row.drop-below{border-bottom:2px solid var(--primary);box-shadow:0 2px 0 var(--primary);border-bottom-right-radius:0;border-bottom-left-radius:0;margin-bottom:-1px}.layer-drag-handle{width:24px;height:30px;color:var(--faint);cursor:grab;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .12s;display:flex}.layer-rename-input{border:1px solid var(--primary);background:var(--ink);width:100%;color:var(--text);font-size:inherit;border-radius:4px;padding:2px 4px;font-family:inherit}.layer-drag-handle:hover{color:var(--muted);background:0 0;border-color:#0000}.layer-drag-handle:active{cursor:grabbing;color:var(--text)}.layer-toggle-stack{gap:3px;width:32px;display:grid}.layer-toggle-stack button,.layer-lock-btn{min-height:26px;padding:0}.layer-toggle-stack .lucide,.layer-lock-btn .lucide{width:14px;height:14px}.layer-row>button:not(.layer-main):not(.layer-drag-handle){min-height:30px;padding:0}.layer-row>button:not(.layer-main):not(.layer-drag-handle) .lucide{width:14px;height:14px}.layer-main{text-align:left;grid-template-columns:26px minmax(0,1fr);place-items:center stretch;gap:7px;min-width:0;min-height:34px;padding:4px 7px;display:grid}.layer-main.is-active-target,.layer-mask-thumb.is-active-target{outline:2px solid var(--primary);outline-offset:1px}.layer-mask-thumb{border:1px dashed var(--raised-3);background:repeating-conic-gradient(#777 0 25%, #444 0 50%) 50% / 8px 8px;border-radius:4px;place-items:center;width:34px;min-width:34px;height:34px;min-height:34px;padding:4px;display:grid}.layer-mask-thumb:after{content:"+";color:var(--muted);font-weight:700}.layer-mask-thumb.has-mask{border-style:solid}.layer-mask-thumb.has-mask:after{display:none}.layer-mask-thumb>span{background:radial-gradient(ellipse, rgb(255 255 255/var(--mask-density,1)) calc(48% - var(--mask-feather,0%)), #161616 52%);width:100%;height:100%;display:none}.layer-mask-thumb.has-mask>span{display:block}.layer-mask-thumb.has-mask:not(.is-ellipse)>span{background:linear-gradient(135deg, rgb(255 255 255/var(--mask-density,1)) 15%, #252525 100%)}.mask-inspector-heading{border:1px solid var(--primary);background:var(--primary-soft);border-radius:7px;align-items:center;gap:10px;padding:8px;display:flex}.mask-inspector-heading .layer-mask-thumb{pointer-events:none}.mask-inspector-heading>div{gap:2px;display:grid}.mask-inspector-heading small{color:var(--muted)}.mask-summary{border:1px solid var(--line);color:var(--muted);border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:7px 8px;font-size:11px;display:flex}.mask-paint-toolbar{grid-template-columns:1fr 1fr;gap:6px;display:grid}.mask-paint-toolbar button{justify-content:center;align-items:center;gap:6px;display:inline-flex}.mask-paint-toolbar button.is-active{color:#8ff3e2;background:#65e6d01f;border-color:#65e6d0}.mask-paint-toolbar .lucide{width:14px;height:14px}.layer-kind{border:1px solid var(--line);border-radius:var(--radius-sm);width:24px;height:24px;color:var(--muted);background:#ffffff0a;justify-content:center;align-items:center;display:inline-flex}.layer-kind .lucide{width:14px;height:14px}.layer-text{gap:2px;min-width:0;display:grid}.layer-text span,.layer-text small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.layer-text small{color:var(--muted);font-size:10px}.subsection-title{color:var(--secondary);text-transform:uppercase;letter-spacing:.04em;margin-top:2px;font-size:11px;font-weight:800}.layer-action-row{gap:6px;display:grid}.layer-action-row button{justify-content:center;gap:7px;min-height:34px;font-weight:800}.projection-flip-row button{min-height:32px;font-size:11px;font-weight:750}.projection-flip-row button>span[aria-hidden=true]{color:var(--secondary);font-size:16px;line-height:1}.compact-note,.empty-state{color:var(--muted);margin:0;font-size:12px;line-height:1.4}.empty-state{text-align:center;padding:10px 4px}.toggle-row label,.toggle-line,.channel-row{align-items:center;gap:6px;min-height:28px;display:flex}.toggle-row .lucide{width:14px;height:14px}.brush-panel{gap:10px;min-width:0;display:grid}.brush-mode-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.brush-mode-row button{justify-content:center;min-height:34px;padding:0 9px;font-size:12px;font-weight:800}.brush-preview{border:1px solid var(--line);border-radius:var(--radius-sm);background:linear-gradient(45deg, #ffffff0a 25%, transparent 25%), linear-gradient(-45deg, #ffffff0a 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #ffffff0a 75%), linear-gradient(-45deg, transparent 75%, #ffffff0a 75%), var(--ink);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px;grid-template-columns:68px minmax(0,1fr);align-items:center;gap:10px;min-height:72px;padding:8px;display:grid}.brush-preview-swatch{border:1px solid var(--line);background:#00000038;border-radius:50%;place-items:center;width:56px;height:56px;display:grid;position:relative}.brush-preview-swatch:before{content:"";width:var(--brush-size);height:var(--brush-size);background:var(--brush-color);opacity:var(--brush-opacity);box-shadow:0 0 var(--brush-softness) var(--brush-color);border-radius:50%}.brush-preview.is-erase .brush-preview-swatch:before{background:linear-gradient(45deg, transparent 43%, var(--brush-color) 43% 57%, transparent 57%), linear-gradient(-45deg, transparent 43%, var(--brush-color) 43% 57%, transparent 57%);box-shadow:none}.brush-preview-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;min-width:0;display:grid}.brush-preview-stats span{min-width:0;color:var(--muted);text-align:center;gap:2px;font-size:10px;display:grid}.brush-preview-stats strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:12px}.brush-presets{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.brush-presets button{gap:1px;min-height:42px;padding:5px 4px;display:grid}.brush-presets small{color:var(--muted);font-size:10px;font-weight:700}.brush-color-row{grid-template-columns:48px minmax(0,1fr);align-items:center;gap:8px;display:grid}.brush-swatches{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.brush-swatches button{min-height:30px;padding:0}.brush-swatches button:before{content:"";background:var(--swatch);border:1px solid #ffffff38;border-radius:50%;width:18px;height:18px}.brush-slider-list{gap:8px;display:grid}.branded-value-row{align-items:center;gap:8px;display:flex}.branded-value-row input[type=range],.branded-value-row input[type=color]{flex:1;min-width:0}.branded-value-row input[type=number]{flex:0 0 74px;width:74px}.branded-advanced{border:1px solid var(--border-color,#2c3038);border-radius:8px;margin:12px 0;padding:10px}.branded-advanced summary{cursor:pointer}.control-field>span{justify-content:space-between;align-items:center;gap:10px;display:flex}.control-field output{color:var(--text);font-variant-numeric:tabular-nums;font-size:11px}.brush-toggle-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.icon-toggle{cursor:pointer;min-height:32px;margin:0;display:grid}.icon-toggle input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.icon-toggle>span{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink);min-height:32px;color:var(--muted);justify-content:center;align-items:center;display:inline-flex}.icon-toggle input:checked+span{border-color:var(--primary);background:var(--primary-soft);color:#fff2ea;box-shadow:inset 0 0 0 1px #ff6a3d33}.icon-toggle .lucide{width:15px;height:15px}.button-count{min-width:18px;color:var(--text);text-align:center;font-size:11px}.toggle-row input,.toggle-line input,.channel-row input{width:auto;min-height:0;accent-color:var(--primary)}.target-list{gap:5px;display:grid}.channel-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink);justify-content:space-between;padding:5px 7px}.channel-row span{flex:1}.channel-row small{color:var(--muted)}.download-list{gap:6px;display:grid}.download-row{border-radius:var(--radius-sm);background:var(--secondary-soft);color:#c6fbf1;border:1px solid #3dd6c459;justify-content:space-between;align-items:center;gap:8px;min-height:32px;padding:6px 8px;font-size:12px;text-decoration:none;transition:border-color .12s;display:flex}.download-row:hover{border-color:var(--secondary)}.download-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.modal-backdrop{z-index:var(--z-modal-overlay);background:#0000009e;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.modal-backdrop[hidden]{display:none}.export-modal{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:min(920px,100%);max-height:min(760px,100vh - 44px);box-shadow:var(--shadow);overflow:hidden}.modal-heading{border-bottom:1px solid var(--line);background:var(--raised);justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.modal-heading h2{color:var(--text);letter-spacing:0;margin:0;font-size:15px}.modal-heading p{color:var(--muted);margin:2px 0 0;font-size:12px}.model-loading-status{border:1px solid var(--line);background:var(--panel,#211f1c);border-radius:10px;gap:12px;padding:16px 20px;font-size:13px;display:grid}.model-loading-status[hidden],.model-empty-state[hidden]{display:none}.model-loading-status progress{width:100%;height:8px;accent-color:var(--accent,#ff7644)}.viewport-shell>.model-loading-status{z-index:12;width:min(360px,100% - 40px);position:absolute;top:24px;left:50%;transform:translate(-50%)}.setup-modal>.model-loading-status{margin:0 22px 12px}body:has([data-setup-modal]:not([hidden])) .viewport-shell>.model-loading-status{display:none}.viewport[aria-busy=true] canvas{pointer-events:none}.model-empty-state{text-align:center;color:var(--muted);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.model-empty-state strong{color:var(--text);font-size:18px}.model-empty-state p{margin:8px 0 16px;font-size:13px}.icon-button{width:32px;min-height:32px;padding:0}.icon-row.has-danger{flex-wrap:nowrap}.icon-row.has-danger .danger-action{border-left:1px solid var(--line);border-top-left-radius:0;border-bottom-left-radius:0;margin-left:auto;padding-left:10px}.danger-action:hover,.danger-action:focus-visible{border-color:var(--danger);background:color-mix(in srgb, var(--danger) 16%, transparent);color:var(--danger)}.dialog-modal{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:min(420px,100%);box-shadow:var(--shadow);overflow:hidden}.dialog-modal-body{gap:10px;padding:16px;display:grid}.dialog-modal-message{color:var(--text);margin:0;font-size:13px;line-height:1.45}.dialog-modal-message .dialog-detail{color:var(--muted);font-size:12px}.dialog-modal-input{min-height:34px}.dialog-modal-actions{border-top:1px solid var(--line);background:var(--raised);justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.dialog-modal-actions .is-danger{border-color:var(--danger);background:color-mix(in srgb, var(--danger) 18%, transparent);color:#fff2ea;font-weight:800}.dialog-modal-actions .is-danger:hover{border-color:var(--danger);background:color-mix(in srgb, var(--danger) 30%, transparent)}.shortcuts-modal{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:min(480px,100%);max-height:min(620px,100vh - 44px);box-shadow:var(--shadow);grid-template-rows:auto 1fr;display:grid;overflow:hidden}.about-modal{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:min(720px,100%);max-height:min(720px,100vh - 44px);box-shadow:var(--shadow);grid-template-rows:auto minmax(0,1fr) auto;display:grid;overflow:hidden}.about-modal-heading{background:radial-gradient(circle at 12% 10%, #3dd6c41f, transparent 48%), var(--raised);align-items:flex-start;padding:18px 20px}.about-modal-heading h2{margin-top:4px;font-size:22px}.about-modal-body{gap:12px;padding:16px;display:grid;overflow:auto}.about-intro{border-radius:var(--radius-sm);background:#3dd6c40d;border:1px solid #3dd6c433;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;padding:14px;display:grid}.about-brand-mark{color:#fff2ea;letter-spacing:-.04em;background:linear-gradient(145deg,#ff6a3d3d,#3dd6c424);border:1px solid #ff6a3d73;border-radius:14px;place-items:center;width:48px;height:48px;font-size:17px;font-weight:900;display:grid}.about-intro h3,.about-feature-grid h3{color:var(--text);margin:0;font-size:13px}.about-intro p,.about-feature-grid p,.about-note p{color:var(--muted);margin:5px 0 0;font-size:12px;line-height:1.5}.about-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.about-feature-grid section{border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--raised);padding:13px}.about-note{border-left:3px solid var(--primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:#ff6a3d12;padding:12px 14px}.about-note strong{color:var(--text);font-size:12px}.about-note b{color:#e6ddd0}.about-modal-footer{border-top:1px solid var(--line);background:var(--raised);justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.about-creator{color:var(--muted);gap:3px;font-size:12px;display:grid}.about-creator a{color:var(--secondary);font-weight:800}.about-creator small{color:#827d75;font-size:10px}.release-modal{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:min(860px,100%);max-height:min(760px,100vh - 44px);box-shadow:var(--shadow);grid-template-rows:auto auto minmax(0,1fr) auto;display:grid;overflow:hidden}.release-modal-heading{background:radial-gradient(circle at 12% 10%, #ff6a3d26, transparent 48%), var(--raised);align-items:flex-start;padding:20px 22px}.release-modal-heading>div{max-width:690px}.release-modal-heading h2{margin-top:5px;font-size:22px}.release-modal-heading p{margin-top:7px;line-height:1.5}.release-kicker{color:var(--primary);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:850}.release-tabs{border-bottom:1px solid var(--line-soft);background:var(--raised);flex-wrap:wrap;align-items:center;gap:6px;padding:10px 22px 12px;display:flex}.release-tabs button{letter-spacing:.04em;min-height:26px;color:var(--muted);border-radius:999px;padding:0 12px;font-size:11px;font-weight:800}.release-tabs button:hover,.release-tabs button:focus-visible{color:var(--text);border-color:var(--primary-hi)}.release-tabs button.is-active{border-color:var(--primary);background:var(--primary-soft);color:#fff2ea}.release-modal-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px;display:grid;overflow:auto}.release-section{border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--raised);padding:14px}.release-section:last-child:nth-child(odd){grid-column:1/-1}.release-section-heading h3{color:var(--text);margin:0;font-size:14px}.release-section-heading p{color:var(--muted);margin:4px 0 0;font-size:11px;line-height:1.4}.release-section ul{color:#cbc4b8;gap:6px;margin:12px 0 0;padding-left:17px;font-size:12px;line-height:1.4;display:grid}.release-section li::marker{color:var(--secondary)}.release-modal-footer{border-top:1px solid var(--line);background:var(--raised);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:11px;display:flex}.shortcuts-list{margin:0;padding:8px 16px;list-style:none;overflow:auto}.shortcuts-list li{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(150px,.9fr) minmax(0,1.1fr);align-items:center;gap:12px;padding:7px 0;font-size:12px;display:grid}.shortcuts-list li:last-child{border-bottom:none}.shortcuts-list kbd{border:1px solid var(--line);background:var(--ink);color:var(--text);white-space:nowrap;border-radius:5px;justify-content:center;align-items:center;padding:2px 7px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:11px;display:inline-flex}.shortcuts-list .shortcut-action{color:var(--muted)}.export-modal-body{grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:0;max-height:calc(min(760px,100vh - 44px) - 62px);display:grid;overflow:auto}.export-modal-section{align-content:start;gap:10px;min-width:0;padding:16px;display:grid}.export-modal-section+.export-modal-section{border-left:1px solid var(--line)}.export-option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.export-target-list{gap:6px;display:grid}.export-target-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink);align-items:center;gap:9px;min-height:40px;padding:7px 8px;display:flex}.export-target-row input{width:auto;min-height:0;accent-color:var(--primary)}.export-target-row span{gap:1px;min-width:0;display:grid}.export-target-row strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.export-target-row small{color:var(--muted);font-size:10px}.primary-action{border-color:var(--primary);background:var(--primary-soft);color:#fff2ea;min-height:36px;font-weight:800}.primary-action:hover{border-color:var(--primary-hi);background:#4a271b}.sl-import-guide{background:linear-gradient(#3dd6c40a,#0000 42%)}.sl-import-guide ol{color:var(--text);gap:9px;margin:0;padding-left:18px;font-size:12px;line-height:1.45;display:grid}.sl-import-guide li::marker{color:var(--secondary);font-weight:800}.sl-import-guide p{border-radius:var(--radius-sm);background:var(--secondary-soft);color:#c6fbf1;border:1px solid #3dd6c43d;margin:0;padding:9px;font-size:12px;line-height:1.4}.viewport-shell.is-textures,.viewport-shell.is-split{background-color:#0d0e10}.viewport-shell.is-textures{background-image:linear-gradient(45deg,#141519 25%,#0000 25%),linear-gradient(-45deg,#141519 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#141519 75%),linear-gradient(-45deg,#0000 75%,#141519 75%);background-position:0 0,0 12px,12px -12px,-12px 0;background-size:24px 24px}.viewport-shell.is-split:after{content:"";z-index:0;pointer-events:none;background-image:linear-gradient(45deg,#141519 25%,#0000 25%),linear-gradient(-45deg,#141519 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#141519 75%),linear-gradient(-45deg,#0000 75%,#141519 75%);background-position:0 0,0 12px,12px -12px,-12px 0;background-size:24px 24px;width:50%;position:absolute;top:0;bottom:0;right:0}.viewport-shell.is-split:before{content:"";z-index:2;background:var(--line);pointer-events:none;width:1px;position:absolute;top:0;bottom:0;left:50%}.viewport-shell.is-textures .viewport{cursor:grab}.viewport-shell.is-textures .viewport:active{cursor:grabbing}.viewport-shell.is-split .viewport{z-index:1;cursor:default;position:relative}.viewport.can-move-uv{cursor:move}.viewport.is-uv-dragging{cursor:grabbing}.viewport.is-mask-painting{cursor:crosshair}.tex-overlay{z-index:3;pointer-events:none;position:absolute;inset:0}.viewport-shell.is-split .tex-overlay{clip-path:inset(0 0 0 50%)}.viewport-shell.is-split .tex-empty,.viewport-shell.is-split .tex-interaction-hint{left:75%}.tex-mode-toggle[hidden]{display:none}.tex-empty{color:var(--muted);margin:0;font-size:13px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tex-interaction-hint{z-index:4;color:var(--muted);white-space:nowrap;background:#0d0e10c7;border:1px solid #ffffff1a;border-radius:999px;margin:0;padding:5px 9px;font-size:10px;position:absolute;bottom:14px;left:50%;translate:-50%}.tex-tile-label{border-radius:var(--radius-sm);background:linear-gradient(#0d0e1000,#0d0e108c);border:1px solid #0000;justify-content:space-between;align-items:flex-start;gap:6px;padding:6px;display:flex;position:absolute}.tex-tile-label.show-seams{border-color:#ff6a3db8;box-shadow:inset 0 0 0 1px #ff6a3d2e}[data-tex-dynamic]{display:contents}.tex-uv-wireframe{width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.tex-uv-wireframe line{stroke:#5ae0cf94;stroke-width:.16px;vector-effect:non-scaling-stroke}.tex-safe-area{border:1px dashed #ffffff47;position:absolute;inset:2%}.tex-guide{background:#ffffff2e;position:absolute}.tex-guide-x{width:100%;height:1px;top:50%;left:0}.tex-guide-y{width:1px;height:100%;top:0;left:50%}.tex-selection-box{z-index:2;transform-origin:50%;border:1.5px solid #ff845f;position:absolute;box-shadow:0 0 0 1px #0000008c}.tex-selection-box i{background:#ff845f;border:1px solid #111;width:8px;height:8px;position:absolute;bottom:-4px;right:-4px}.tex-selection-box.is-edge-risk{border-color:#ffcb5c}.tex-selection-box.is-mask{border:2px dashed #65e6d0;box-shadow:0 0 0 1px #000000b3,inset 0 0 18px #65e6d01a}.tex-selection-box.is-mask.is-ellipse{border-radius:50%}.tex-selection-box.is-mask i{background:#65e6d0}.tex-selection-box.is-mask b{color:#65e6d0;background:#102d29}.tex-selection-box b{color:#ffcb5c;white-space:nowrap;background:#2d230e;border-radius:3px;padding:2px 4px;font-size:10px;position:absolute;bottom:calc(100% + 4px);left:50%;translate:-50%}.tex-tile-name,.tex-tile-id{z-index:1;position:relative}.brush-repeat-targets summary{cursor:pointer;color:var(--muted);font-size:12px}.stroke-list{gap:5px;max-height:230px;display:grid;overflow:auto}.stroke-row{grid-template-columns:22px 30px minmax(48px,1fr) minmax(48px,1fr) 30px;align-items:center;gap:5px;display:grid}.stroke-row input[type=color]{width:30px;min-height:28px;padding:2px}.tex-tile-name{color:var(--text);letter-spacing:.02em;text-shadow:0 1px 4px #000c;font-size:12px;font-weight:700}.tex-tile-id{background:var(--primary-soft);color:#fff2ea;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:700}.omni-hint{z-index:6;border-radius:var(--radius-sm);max-width:260px;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text);pointer-events:auto;background:#0d0e10d1;border:1px solid #ff6a3d4d;margin:0;padding:10px 12px 11px;font-size:12px;line-height:1.4;position:absolute;bottom:52px;left:14px}.omni-hint-head{color:var(--primary);letter-spacing:.02em;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;font-size:12px;font-weight:700;display:flex}.omni-hint-head button{border:1px solid var(--line);border-radius:var(--radius-sm);width:22px;height:22px;color:var(--muted);background:0 0;justify-content:center;align-items:center;padding:0;display:inline-flex}.omni-hint-head button:hover{color:var(--text);border-color:var(--primary)}.omni-hint ul{color:var(--muted);gap:4px;margin:0;padding:0;list-style:none;display:grid}.omni-hint kbd{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);background:#ffffff0f;border-bottom-width:2px;padding:1px 6px;font-family:inherit;font-size:11px;font-weight:600;display:inline-block}@media (max-width:1280px){.brush-quickbar{top:106px}}.asset-modal{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:min(780px,100%);height:min(680px,100vh - 44px);max-height:min(680px,100vh - 44px);box-shadow:var(--shadow);grid-template-rows:auto 1fr;display:grid;overflow:hidden}.bg-removal-backdrop{z-index:var(--z-bg-modal)}.bg-removal-modal{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:min(1180px,100%);max-height:min(820px,100vh - 44px);box-shadow:var(--shadow);grid-template-rows:auto 1fr;display:grid;overflow:hidden}.bg-removal-modal-body{grid-template-columns:minmax(0,1fr) 360px;gap:16px;max-height:calc(min(820px,100vh - 44px) - 58px);padding:14px;display:grid;overflow:auto}.bg-removal-preview-column,.bg-removal-controls{min-width:0}.bg-removal-preview-column{align-content:start;gap:10px;display:grid}.bg-removal-title-row{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.bg-removal-title-row span{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800;overflow:hidden}.bg-removal-title-row strong{color:var(--secondary);flex:none;font-size:11px}.bg-removal-controls{align-content:start;gap:10px;display:grid}.bg-removal-actions{gap:8px;display:grid}.bg-removal-actions button{min-height:36px}.bg-removal-empty{color:var(--muted);padding:16px;font-size:12px}.asset-modal-body{grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.asset-modal-tabs{border-bottom:1px solid var(--line);background:var(--raised);gap:0;display:flex}.asset-modal-tab{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 16px;font-size:12px;font-weight:600;transition:color .15s,border-color .15s}.asset-modal-tab:hover{color:var(--text)}.asset-modal-tab.is-active{color:var(--primary);border-bottom-color:var(--primary)}.asset-modal-content{min-height:0;overflow:hidden}.asset-modal-panel{scrollbar-gutter:stable;height:100%;min-height:0;padding:16px;overflow:auto}.asset-modal-panel[hidden]{display:none}.asset-upload-zone{border:2px dashed var(--line);border-radius:var(--radius);cursor:pointer;place-items:center;gap:10px;min-height:180px;padding:28px;transition:border-color .15s,background .15s;display:grid}.asset-upload-zone:hover,.asset-upload-zone.is-dragover{border-color:var(--primary);background:var(--primary-soft)}.asset-upload-zone-icon{color:var(--muted);opacity:.7}.asset-upload-zone-text{color:var(--muted);text-align:center;font-size:13px}.asset-upload-zone-text strong{color:var(--primary)}.asset-upload-options{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink);align-items:center;gap:8px;margin-top:10px;padding:8px 10px;display:flex}.asset-upload-options label{color:var(--muted);cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}.asset-upload-options input[type=checkbox]{accent-color:var(--primary)}.asset-bg-settings{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink);gap:8px;margin-top:10px;padding:10px;display:grid}.asset-bg-settings-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.asset-bg-settings-head span{color:var(--text);font-size:12px;font-weight:800}.asset-bg-settings-head small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.asset-bg-settings-grid{grid-template-columns:minmax(180px,1.4fr) minmax(96px,.8fr);align-items:end;gap:8px;display:grid}.asset-bg-settings-grid label{min-width:0}.asset-bg-settings-grid select{min-width:0;font-size:12px}.asset-bg-setting-check{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--raised);cursor:pointer;grid-column:1/-1;align-items:center;gap:7px;min-height:30px;margin:0;padding:5px 7px;display:flex}.asset-bg-setting-check input{width:auto;min-height:0;accent-color:var(--primary)}.asset-bg-setting-check span{color:var(--muted);white-space:normal;font-size:12px;line-height:1.25}.asset-upload-progress{gap:6px;margin-top:12px;display:grid}.asset-progress-item{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.asset-progress-bar{background:var(--line);border-radius:2px;flex:1;height:4px;overflow:hidden}.asset-progress-bar-fill{background:var(--primary);border-radius:2px;height:100%;transition:width .2s}.asset-url-form{gap:10px;display:grid}.asset-url-row{gap:8px;display:flex}.asset-url-row input{flex:1}.asset-url-row button{white-space:nowrap}.asset-library-select{color:var(--muted);align-items:center;gap:8px;margin-top:10px;font-size:12px;display:flex}.asset-library-select select{flex:1;min-height:30px;padding:4px 8px;font-size:12px}.asset-library-list{gap:10px;display:grid}.asset-library-section{border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.asset-library-header{background:var(--raised);cursor:pointer;align-items:center;gap:8px;padding:8px 10px;display:flex}.asset-library-header:hover{background:var(--line)}.asset-library-name{color:var(--text);flex:1;font-size:13px;font-weight:600}.asset-library-count{color:var(--muted);font-size:11px}.asset-library-actions{gap:4px;display:flex}.asset-library-actions button{width:26px;min-height:26px;padding:0}.asset-library-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:8px;display:grid}.asset-library-tile{aspect-ratio:1;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink);place-items:center;padding:4px;display:grid;overflow:hidden}.asset-library-tile img{object-fit:contain;width:100%;height:100%;display:block}.asset-library-empty{color:var(--muted);text-align:center;padding:20px;font-size:12px;font-style:italic}.asset-new-library-btn{justify-self:start}.asset-sources-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.asset-source-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink);gap:6px;padding:14px;transition:border-color .15s;display:grid}.asset-source-card:hover{border-color:var(--primary)}.asset-source-card h4{color:var(--text);margin:0;font-size:13px}.asset-source-card p{color:var(--muted);margin:0;font-size:11px;line-height:1.4}.asset-source-card .primary-action{justify-self:start;margin-top:4px}.asset-sources-note{border-radius:var(--radius-sm);background:var(--ink);color:var(--muted);margin-bottom:12px;padding:10px 12px;font-size:12px;line-height:1.5}.asset-upload-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.asset-upload-preview{border:1px solid var(--line);border-radius:var(--radius-sm);background-image:linear-gradient(45deg, var(--line) 25%, transparent 25%), linear-gradient(-45deg, var(--line) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--line) 75%), linear-gradient(-45deg, transparent 75%, var(--line) 75%);background-position:0 0,0 5px,5px -5px,-5px 0;background-size:10px 10px;background-color:var(--ink);gap:4px;padding:6px;display:grid;position:relative}.asset-upload-preview--compare{grid-column:1/-1;gap:8px;padding:8px}.asset-upload-preview-head{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.asset-upload-preview-status{color:var(--secondary);flex:none;font-size:11px;font-weight:700}.asset-upload-preview img{object-fit:contain;width:100%;height:80px;display:block}.asset-upload-preview-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.asset-upload-preview-actions{gap:4px;display:flex}.asset-upload-preview-actions button{flex:1;min-height:28px;padding:0 6px;font-size:10px}.asset-bg-compare{--bg-compare-split:50%;--bg-preview-zoom:1;--bg-preview-pan-x:0px;--bg-preview-pan-y:0px;--bg-brush-size:36px;--bg-brush-x:50%;--bg-brush-y:50%;border:1px solid var(--line);border-radius:var(--radius-sm);background-color:var(--ink);background-image:linear-gradient(45deg,#ffffff12 25%,#0000 25%),linear-gradient(-45deg,#ffffff12 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#ffffff12 75%),linear-gradient(-45deg,#0000 75%,#ffffff12 75%);background-position:0 0,0 9px,9px -9px,-9px 0;background-size:18px 18px;min-height:260px;position:relative;overflow:hidden}.asset-bg-compare-layer{pointer-events:none;position:absolute;inset:0;overflow:hidden}.asset-bg-compare-transform{pointer-events:none;transform:translate(var(--bg-preview-pan-x), var(--bg-preview-pan-y));position:absolute;inset:0}.asset-bg-compare-layer img,.asset-bg-compare-layer canvas{object-fit:contain;width:100%;height:100%;transform:scale(var(--bg-preview-zoom));transform-origin:50%;pointer-events:none;display:block;position:absolute;inset:0}.asset-bg-compare-before{z-index:2;clip-path:inset(0 calc(100% - var(--bg-compare-split)) 0 0)}.asset-bg-compare-after{z-index:1}.asset-bg-compare--single .asset-bg-compare-before{clip-path:none}.bg-removal-modal .asset-bg-compare{min-height:min(560px,100vh - 260px)}.asset-bg-compare-divider{top:0;bottom:0;left:var(--bg-compare-split);z-index:7;cursor:ew-resize;pointer-events:auto;touch-action:none;background:0 0;width:28px;position:absolute;transform:translate(-14px)}.asset-bg-compare-divider:before{content:"";background:var(--primary);width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-1px);box-shadow:0 0 0 1px #00000073}.asset-bg-compare-divider:after{content:"";border:1px solid var(--primary-hi);background:var(--primary-soft);width:24px;height:24px;box-shadow:var(--shadow-sm);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.asset-bg-refine-surface{z-index:5;cursor:none;touch-action:none;position:absolute;inset:0}.bg-removal-modal.is-pan-key-down .asset-bg-compare{cursor:grab}.asset-bg-compare.is-panning{cursor:grabbing}.bg-removal-modal.is-pan-key-down .asset-bg-refine-surface{cursor:grab}.asset-bg-compare.is-panning .asset-bg-refine-surface{cursor:grabbing}.asset-bg-brush-preview{left:var(--bg-brush-x);top:var(--bg-brush-y);z-index:6;width:var(--bg-brush-size);height:var(--bg-brush-size);opacity:0;pointer-events:none;border:2px solid #fff;border-radius:50%;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #000c,inset 0 0 0 1px #0000008c}.asset-bg-brush-preview.is-visible{opacity:1}.asset-bg-brush-preview.is-restore{border-color:var(--secondary)}.asset-bg-compare-label{z-index:8;color:var(--text);text-transform:uppercase;background:#0d0e10c7;border:1px solid #00000073;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:800;position:absolute;top:8px}.asset-bg-compare-label-before{left:8px}.asset-bg-compare-label-after{right:8px}.asset-bg-compare-controls{grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:8px;display:grid}.asset-bg-compare-controls button{white-space:nowrap;min-height:32px;padding:0 10px;font-size:11px}.bg-refine-tools{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink);gap:9px;padding:10px;display:grid}.bg-refine-tools-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.bg-refine-tools-head span{color:var(--text);font-size:12px;font-weight:800}.bg-refine-tool-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.bg-refine-tool-row button{justify-content:center;align-items:center;gap:6px;min-width:0;min-height:34px;padding:0 8px;font-size:12px;font-weight:700;display:flex}.bg-refine-tool-row button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bg-refine-tools label{gap:6px}.asset-tile-actions{opacity:0;gap:2px;transition:opacity .15s;display:flex;position:absolute;top:4px;right:4px}.asset-tile-shell:hover .asset-tile-actions,.asset-tile-shell:focus-within .asset-tile-actions{opacity:1}.asset-tile-actions button{z-index:1;width:22px;min-height:22px;padding:0;position:relative}.asset-library-group{margin-bottom:8px}.asset-library-group-header{cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:0;grid-template-columns:14px minmax(0,1fr);align-items:center;gap:5px;width:100%;padding:4px 0;display:grid}.asset-library-group-header:hover span{color:var(--text)}.asset-library-group-header span{min-width:0;color:var(--muted);text-overflow:ellipsis;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.asset-library-group-header svg{width:14px;height:14px;transition:transform .15s}.asset-library-group-header.is-collapsed svg{transform:rotate(-90deg)}.asset-library-group-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.asset-library-group-grid[hidden]{display:none}@media (max-width:620px){.tool-rail{z-index:8;border-right:0;border-bottom:1px solid var(--line-soft);grid-row:auto;grid-template-rows:none;grid-template-columns:repeat(8,minmax(0,1fr));position:sticky;top:0}.tool-rail button{width:auto}.tool-rail-spacer{display:none}.tool-rail .release-button{height:38px}.viewport-shell,.sidebar{grid-column:1}.brush-quickbar{max-width:none;right:12px}.modal-backdrop{align-items:stretch;padding:10px}.export-modal,.release-modal,.about-modal{max-height:calc(100vh - 20px)}.about-feature-grid,.release-modal-body{grid-template-columns:1fr}.release-section:last-child:nth-child(odd){grid-column:auto}.export-modal-body{grid-template-columns:1fr;max-height:calc(100vh - 82px)}.export-modal-section+.export-modal-section{border-top:1px solid var(--line);border-left:0}.export-option-grid{grid-template-columns:1fr}.transform-strip{max-width:none}.asset-grid,.asset-library-group-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.asset-library-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.asset-bg-settings-grid,.bg-removal-modal-body{grid-template-columns:1fr}.bg-removal-modal .asset-bg-compare{min-height:360px}.asset-sources-grid,.three-col{grid-template-columns:1fr}}.toast-stack{z-index:var(--z-toast);pointer-events:none;gap:8px;width:min(360px,100vw - 28px);display:grid;position:fixed;top:14px;right:14px}.toast{pointer-events:auto;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow);color:var(--text);border-left-width:3px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px;padding:10px 12px;font-size:12px;line-height:1.4;animation:.16s ease-out toast-in;display:grid}@keyframes toast-in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}.toast.is-leaving{animation:.16s ease-in forwards toast-out}@keyframes toast-out{to{opacity:0;transform:translate(8px)}}.toast-icon{color:var(--muted);flex:none;justify-content:center;align-items:center;display:inline-flex}.toast-icon .lucide{width:16px;height:16px}.toast-message{word-break:break-word;min-width:0}.toast-message strong{margin-bottom:1px;font-size:12px;font-weight:800;display:block}.toast-message .toast-detail{color:var(--muted);font-size:12px}.toast-close{width:22px;height:22px;color:var(--faint);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .12s;display:inline-flex}.toast-close:hover{color:var(--text);background:0 0;border-color:#0000}.toast-close .lucide{width:14px;height:14px}.toast[data-severity=info]{border-left-color:var(--muted)}.toast[data-severity=info] .toast-icon{color:var(--muted)}.toast[data-severity=success]{border-left-color:var(--secondary)}.toast[data-severity=success] .toast-icon{color:var(--secondary)}.toast[data-severity=warning]{border-left-color:var(--primary)}.toast[data-severity=warning] .toast-icon{color:var(--primary)}.toast[data-severity=error]{border-left-color:var(--danger)}.toast[data-severity=error] .toast-icon{color:var(--danger)}.workspace{--tool-rail-width:54px;--asset-rail-width:212px;--sidebar-width:390px;--status-height:24px;grid-template-columns:var(--tool-rail-width) var(--asset-rail-width) minmax(0, 1fr) var(--sidebar-width);grid-template-rows:34px 46px minmax(0, 1fr) var(--status-height);grid-template-areas:"app app app app""context context context context""tools assets viewport sidebar""status status status status";overflow:hidden}.workspace.is-tool-rail-hidden{--tool-rail-width:0px}.workspace.is-asset-tray-hidden{--asset-rail-width:0px}.workspace.is-sidebar-hidden{--sidebar-width:0px}.workspace.is-status-hidden{--status-height:0px}.workspace.is-tool-rail-hidden .tool-rail,.workspace.is-asset-tray-hidden .asset-tray,.workspace.is-sidebar-hidden .sidebar,.workspace.is-status-hidden .status-bar{display:none}.app-bar{z-index:var(--z-bar);border-bottom:1px solid var(--line-soft);background:#0a0b0c;grid-area:app;grid-template-columns:auto auto minmax(120px,1fr) auto;align-items:center;min-width:0;display:grid;position:relative;box-shadow:0 1px #ffffff05}.app-brand{border-right:1px solid var(--line-soft);height:100%;color:var(--text);white-space:nowrap;align-items:center;gap:7px;padding:0 10px 0 8px;display:flex}.app-brand-mark{background:linear-gradient(145deg, var(--primary-hi), var(--primary));color:#1c0b05;letter-spacing:-.04em;border-radius:5px;place-items:center;width:22px;height:22px;font-size:10px;font-weight:950;display:inline-grid}.app-brand strong{letter-spacing:.01em;font-size:12px}.app-menus{align-self:stretch;min-width:0;display:flex}.app-menu{position:relative}.app-menu summary{height:100%;color:var(--muted);cursor:default;-webkit-user-select:none;user-select:none;align-items:center;padding:0 8px;font-size:11px;font-weight:650;list-style:none;display:flex}.app-menu summary::-webkit-details-marker{display:none}.app-menu summary:hover,.app-menu[open] summary{background:var(--raised);color:var(--text)}.app-menu-popover{z-index:var(--z-toast);border:1px solid var(--line);border-radius:0 0 var(--radius-sm) var(--radius-sm);background:#15171a;width:250px;padding:5px;display:grid;position:absolute;top:calc(100% + 1px);left:0;box-shadow:0 16px 36px #0000007a}.app-menu-popover-right{left:auto;right:0}.app-menu-popover button{text-align:left;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:29px;padding:0 8px;display:grid}.app-menu-popover button:hover,.app-menu-popover button:focus-visible{background:var(--primary-soft);color:var(--text)}.app-menu-popover button:disabled{opacity:var(--disabled-opacity)}.app-menu-popover button.menu-danger:not(:disabled){color:#f2a2af}.app-menu-popover kbd{color:var(--faint);font-family:inherit;font-size:10px;font-weight:500}.app-menu-separator{background:var(--line-soft);height:1px;margin:4px 5px}.document-identity{min-width:80px;max-width:min(380px,34vw);height:27px;color:var(--muted);background:0 0;border-color:#0000;justify-self:center;align-items:center;gap:7px;padding:0 10px;display:flex}.document-identity:hover{border-color:var(--line);background:var(--raised);color:var(--text)}.document-identity>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-bar-actions{align-items:center;gap:5px;height:100%;padding:0 6px;display:flex}.save-state{color:var(--faint);white-space:nowrap;font-size:10px}.app-icon-button,.history-controls button{justify-content:center;align-items:center;width:30px;min-height:28px;padding:0;display:inline-flex}.app-icon-button .lucide,.history-controls .lucide{width:15px;height:15px}.app-release-button{min-width:44px;min-height:26px;padding:0 7px;position:relative}.primary-toolbar-action{border-color:var(--primary);background:var(--primary);color:#1b0a04;text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:6px;min-height:28px;padding:0 12px;font-size:11px;font-weight:900;display:inline-flex}.primary-toolbar-action:hover{border-color:var(--primary-hi);background:var(--primary-hi);color:#120704}.primary-toolbar-action .lucide{width:14px;height:14px}.setup-recovery{min-width:0;min-height:56px;box-shadow:inset 3px 0 0 var(--primary), 0 4px 16px #00000057;background:radial-gradient(circle at 9%,#ff6a3d2e,#0000 23rem),linear-gradient(90deg,#352018,#1b191a 68%);border-top:1px solid #ff845957;border-bottom:1px solid #ff6a3d94;border-radius:10px;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:13px;padding:9px 14px;display:grid}.setup-recovery[hidden]{display:none}.recovery-banner-icon{width:30px;height:30px;color:var(--primary-hi);background:#ff6a3d24;border:1px solid #ff845966;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.recovery-banner-icon .lucide{width:18px;height:18px}.recovery-banner-copy{gap:4px;min-width:0;display:grid}.recovery-banner-copy strong{color:#fff2ea;flex:none;font-size:13px}.recovery-banner-copy span{color:#b9afa4;white-space:normal;font-size:12px;overflow:hidden}.recovery-banner-actions{gap:6px;margin-left:auto;display:flex}.recovery-banner-actions button{min-height:32px;padding:0 13px;font-size:11px}.recovery-banner-actions .recovery-banner-restore{border-color:var(--primary-hi);background:var(--primary);color:#1b0a04;font-weight:900}.context-bar{z-index:var(--z-chrome);border-bottom:1px solid var(--line-soft);background:#111316;grid-area:context;align-items:center;gap:8px;min-width:0;padding:5px 7px;display:flex;position:relative;box-shadow:0 2px 10px #0000002e}.history-controls{border-right:1px solid var(--line-soft);gap:3px;padding-right:7px;display:flex}.context-tool-title{min-width:62px;max-width:116px;color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:none;font-size:11px;font-weight:800;overflow:hidden}.context-bar .brush-quickbar{z-index:auto;min-width:0;max-width:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;scrollbar-width:thin;background:0 0;border:0;border-radius:0;flex-wrap:nowrap;flex:auto;padding:0;position:static;overflow:auto hidden}.context-bar .brush-quickbar[hidden]{display:flex}.context-bar .brush-quickbar-range{width:104px}.context-bar .text-quickbar-content{width:clamp(130px,18vw,240px)}.context-summary{border-right:1px solid var(--line-soft);flex:none;min-width:72px;max-width:150px;padding-right:8px;line-height:1.15;display:grid}.context-summary strong,.context-summary small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.context-summary strong{color:var(--text);font-size:11px}.context-summary small{color:var(--faint);font-size:10px}.context-instruction{color:var(--muted);white-space:nowrap;flex:none;padding-inline:4px;font-size:11px}.context-select-control{grid-template-columns:auto minmax(100px,140px);align-items:center;gap:5px;margin:0;font-size:10px;display:grid}.context-select-control select{min-height:28px;padding-block:2px;font-size:11px}.context-view-controls{border-left:1px solid var(--line-soft);flex:none;align-items:center;gap:5px;padding-left:7px;display:flex}.context-view-controls .view-tabs,.context-view-controls .tex-mode-toggle,.context-view-controls .transform-strip{border-color:var(--line-soft);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#0d0e10;padding:2px}.context-view-controls .transform-strip{max-width:none}.context-view-controls .transform-strip button{min-height:25px}.tool-rail{grid-area:tools;grid-template-rows:repeat(6,38px) minmax(0,1fr) auto;min-height:0}.viewport-shell{grid-area:viewport;min-height:0}.sidebar{grid-area:sidebar;min-height:0}.status-bar{z-index:var(--z-status);border-top:1px solid var(--line-soft);min-width:0;color:var(--faint);background:#0a0b0c;grid-area:status;align-items:center;gap:0;font-size:10px;display:flex;overflow:hidden}.status-bar>span{border-right:1px solid var(--line-soft);text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:240px;padding:0 9px;overflow:hidden}.status-bar .status-primary{max-width:none;color:var(--muted);flex:auto}.status-ready{color:var(--secondary)}.status-bar>.status-decal-density{max-width:290px;color:var(--secondary);font-variant-numeric:tabular-nums}.status-detail-button{border:0;border-right:1px solid var(--line-soft);min-height:0;color:var(--muted);font:inherit;white-space:nowrap;background:0 0;border-radius:0;flex:none;align-self:stretch;padding:0 10px}.status-detail-button:hover,.status-detail-button:focus-visible{background:var(--raised-2);color:var(--text)}.texel-density-modal{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:min(820px,100%);max-height:min(780px,100vh - 44px);box-shadow:var(--shadow);overflow:hidden}.texel-density-modal .modal-heading p{max-width:620px;color:var(--muted);margin:4px 0 0;font-size:12px}.texel-density-modal-body{gap:14px;max-height:calc(100vh - 210px);padding:16px;display:grid;overflow:auto}.texel-density-summary{border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--ink);padding:12px 14px}.texel-density-summary strong{color:var(--text)}.texel-density-summary p{color:var(--muted);margin:5px 0 0;font-size:12px;line-height:1.55}.texel-density-grids{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.texel-density-model{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink);min-width:0;overflow:hidden}.texel-density-model:last-child:nth-child(odd){grid-column:1/-1}.texel-density-model h3{border-bottom:1px solid var(--line-soft);color:var(--text);margin:0;padding:9px 11px;font-size:12px}.texel-density-table-wrap{overflow-x:auto}.texel-density-table{border-collapse:collapse;font-variant-numeric:tabular-nums;white-space:nowrap;width:100%;font-size:11px}.texel-density-table th,.texel-density-table td{border-bottom:1px solid var(--line-soft);text-align:right;padding:7px 9px}.texel-density-table th{color:var(--faint);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:650}.texel-density-table th:nth-child(2),.texel-density-table td:nth-child(2){text-align:left}.texel-density-table tbody tr:last-child td{border-bottom:0}.texel-density-table code{color:var(--secondary)}.texel-density-table .texel-density-empty{color:var(--faint);text-align:center;padding:18px 10px}.texel-density-modal-footer{border-top:1px solid var(--line-soft);color:var(--faint);justify-content:space-between;align-items:center;gap:14px;padding:11px 16px;font-size:10px;display:flex}@media (max-width:1180px){.app-brand strong,.save-state{display:none}.app-menu summary{padding-inline:6px}.context-view-controls .tex-mode-toggle{display:none!important}.context-bar .brush-quickbar-range{width:92px}.workspace{--asset-rail-width:184px;--sidebar-width:320px}}@media (max-width:900px){body{overflow:auto}.workspace{--asset-rail-width:0px;--sidebar-width:0px;grid-template-columns:46px minmax(0,1fr);grid-template-rows:34px 46px minmax(520px, 68vh) auto var(--status-height);height:auto;min-height:100vh;grid-template-areas:"app app""context context""tools viewport""tools sidebar""status status";min-height:100dvh;overflow:visible}.asset-tray,.asset-tray-trigger{display:none}.workspace:not(.is-sidebar-hidden) .sidebar{display:grid}.sidebar{border-top:1px solid var(--line-soft);border-left:0}.app-bar{grid-template-columns:auto minmax(0,1fr) auto}.app-menus{overflow-x:auto}.document-identity,.context-view-controls .transform-strip{display:none}.context-tool-title{min-width:48px}}@media (max-width:620px){.workspace{grid-template-columns:1fr;grid-template-rows:34px 46px auto minmax(520px, 68vh) auto var(--status-height);grid-template-areas:"app""context""tools""viewport""sidebar""status"}.setup-recovery{grid-template-columns:30px minmax(0,1fr);align-items:start;padding-block:12px}.recovery-banner-copy{gap:2px}.recovery-banner-copy span{white-space:normal}.recovery-banner-actions{grid-column:2;margin-left:0}.app-brand{display:none}.app-bar{grid-template-columns:minmax(0,1fr) auto}.app-menu:nth-child(n+4),.app-bar-actions .app-icon-button,.app-release-button,.primary-toolbar-action span{display:none}.primary-toolbar-action{justify-content:center;width:32px;padding:0}.context-bar{gap:5px}.context-tool-title{display:none}.context-view-controls .view-tabs button{padding-inline:7px}.context-view-controls .app-icon-button{display:none}.tool-rail{grid-template-rows:none;grid-template-columns:repeat(7,minmax(0,1fr));position:static}.status-bar>span:not(.status-primary):not(.status-ready),.status-detail-button{display:none}.texel-density-grids{grid-template-columns:1fr}}.sidebar,.layer-list,.asset-grid,.emoji-picker-mount,.asset-modal-body,.export-modal-body,.bg-removal-modal-body,.stroke-list,.download-list,.export-target-list,.app-menu-popover{overscroll-behavior:contain}.brush-quickbar.is-brush{box-shadow:inset 0 1px 0 #ffffff0a, var(--shadow-sm);background:linear-gradient(#1d2026eb,#0f1013f0);border-color:#33383f;border-radius:12px;gap:8px;padding:7px 8px}.bb-cluster{border:1px solid var(--line-soft);background:#ffffff05;border-radius:9px;align-items:center;gap:3px;padding:3px;display:inline-flex}.bb-cluster>button,.bb-cluster>label{min-height:26px}.bb-color{position:relative}.bb-color-well{border:1px solid var(--line-soft);cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff05;border-radius:999px;align-items:center;gap:7px;min-height:32px;padding:0 9px 0 6px;list-style:none;display:inline-flex}.bb-color-well::-webkit-details-marker{display:none}.bb-color-well:hover{border-color:var(--line);background:var(--raised-2)}.bb-color-chip{background:var(--well,#202020);border:2px solid #ffffff38;border-radius:50%;width:21px;height:21px;box-shadow:inset 0 0 4px #0006}.bb-color-hex{color:var(--text);font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.bb-color-well svg{width:12px;height:12px;color:var(--muted)}.bb-color[open] .bb-color-well{border-color:var(--primary)}.bb-color-panel{z-index:8;border:1px solid var(--line);min-width:218px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#121316f7;border-radius:10px;gap:8px;padding:10px;display:grid;position:absolute;top:calc(100% + 8px);left:0}.bb-color-row{align-items:flex-start;gap:10px;display:flex}.bb-color-row input[type=color]{flex:none;width:42px;height:38px}.bb-swatch-grid{grid-template-columns:repeat(6,20px);gap:5px;display:grid}.bb-swatch{background:var(--swatch,#202020);border:1px solid #ffffff2e;border-radius:6px;width:20px;height:20px;padding:0}.bb-swatch:hover{border-color:#ffffff73;transform:scale(1.12)}.bb-swatch.is-active{border-color:var(--primary);box-shadow:0 0 0 2px #ff6a3d4d}.bb-hint{color:var(--faint);align-items:center;gap:6px;margin:0;font-size:10px;display:flex}.bb-hint svg{width:12px;height:12px}.bb-slider{width:116px;min-width:0;color:var(--muted);gap:3px;margin:0;font-size:10px;line-height:1;display:grid}.bb-slider-label{text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;align-items:center;gap:6px;font-weight:700;display:flex}.bb-slider input[type=range]{width:100%}.bb-preset{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:6px;padding:0 9px;font-size:11px;font-weight:700;display:inline-flex}.bb-preset:hover{background:var(--raised-2);color:var(--text)}.bb-preset.is-active{background:var(--primary-soft);color:#ffd9c9;border-color:#ff6a3d59}.bb-preset-dot{width:var(--dot,8px);height:var(--dot,8px);box-shadow:0 0 var(--halo,0px) 2px #f2ede48c;background:radial-gradient(circle,#f2ede4 0%,#cfc9be 70%);border-radius:50%;flex:none}.bb-select select{min-height:26px;color:var(--text);background:0 0;border:1px solid #0000;border-radius:7px;padding:0 22px 0 8px;font-size:11px;font-weight:700}.bb-select select:hover{background:var(--raised-2)}.bb-toggle{width:28px;min-height:26px;color:var(--faint);cursor:pointer;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:inline-flex;position:relative}.bb-toggle input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.bb-toggle:hover{background:var(--raised-2);color:var(--text)}.bb-toggle.is-on{background:var(--primary-soft);color:#ffd9c9;border-color:#ff6a3d59}.bb-toggle svg{width:13px;height:13px}.bb-toggle input:focus-visible+span{outline:2px solid var(--primary);outline-offset:1px;border-radius:4px}.bb-actions button{border:1px solid #0000;border-radius:7px;min-height:26px}.brush-size-hud{z-index:9;color:#ffd9c9;font-variant-numeric:tabular-nums;pointer-events:none;box-shadow:var(--shadow-sm);background:#101114eb;border:1px solid #ff6a3d73;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:800;position:absolute}.brush-size-hud[hidden]{display:none}.brush-panel details.bb-section{border:1px solid var(--line-soft);background:#ffffff04;border-radius:8px;margin-bottom:6px}.brush-panel details.bb-section>summary{cursor:pointer;color:var(--muted);letter-spacing:.05em;text-transform:uppercase;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:7px 10px;font-size:11px;font-weight:800;list-style:none;display:flex}.brush-panel details.bb-section>summary::-webkit-details-marker{display:none}.brush-panel details.bb-section>summary:after{content:"▸";color:var(--faint);font-size:10px;transition:transform .15s}.brush-panel details.bb-section[open]>summary:after{transform:rotate(90deg)}.brush-panel details.bb-section>summary:hover{color:var(--text)}.brush-panel details.bb-section>.bb-section-body{gap:8px;padding:0 10px 10px;display:grid}.brush-quickbar.is-brush{scrollbar-width:thin;-webkit-backdrop-filter:none;backdrop-filter:none;flex-wrap:nowrap;overflow:auto hidden}.brush-quickbar.is-brush .bb-cluster,.brush-quickbar.is-brush .bb-color,.brush-quickbar.is-brush .bb-slider,.brush-quickbar.is-brush .bb-select{flex:none}.brush-quickbar.is-brush .bb-slider{width:104px}.bb-color-panel{position:fixed}.brush-quickbar.is-brush .bb-slider .brush-number-control>span{display:none}.brush-quickbar.is-brush .bb-slider{grid-template-columns:auto minmax(48px,1fr) auto;align-items:center;gap:6px;width:152px;height:28px;display:grid}.brush-quickbar.is-brush .bb-slider-label{letter-spacing:.06em;flex:none;font-size:9px;display:block}.brush-quickbar.is-brush .bb-slider input[type=range]{min-width:0}.brush-quickbar.is-brush .bb-slider .brush-number-control{background:0 0;border-color:#0000}.brush-quickbar.is-brush .bb-slider .brush-number-control input{width:30px;min-height:20px;padding:0 2px;font-size:10px}.brush-quickbar.is-brush{scrollbar-width:none;padding:5px 8px}.brush-quickbar.is-brush::-webkit-scrollbar{display:none}.brush-quickbar.is-brush .bb-actions{background:linear-gradient(90deg,#11131600,#111316f7 22%);margin-left:4px;padding:3px 0 3px 8px;position:sticky;right:-8px}.context-bar:has(.brush-quickbar.is-brush):after{content:"";pointer-events:none;background:linear-gradient(90deg,#11131600,#111316d9);width:26px;position:absolute;top:5px;bottom:5px;right:0}.text-font-picker{flex-wrap:wrap}.text-font-picker>button{text-align:left;flex:1;min-width:0}.text-font-warning{width:100%;color:var(--ember)}.text-advanced{position:relative}.text-advanced summary{cursor:pointer;white-space:nowrap;padding:8px}.text-advanced>.two-col{gap:10px;margin:12px 0}.text-advanced label{gap:5px;display:grid}.text-advanced input:not([type=checkbox]),.text-advanced select{width:100%;min-width:0}.text-advanced>small{max-width:320px;color:var(--muted);margin-top:10px;line-height:1.5;display:block}.text-layout-presets{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.brush-quickbar .text-advanced[open]{background:var(--surface);border:1px solid var(--line);z-index:35;border-radius:12px;width:320px;max-height:70vh;padding:14px;position:fixed;bottom:100px;right:24px;overflow:auto;box-shadow:0 12px 36px #0008}.text-font-browser{background:var(--surface);border:1px solid var(--line);border-radius:16px;flex-direction:column;width:min(920px,94vw);max-height:90vh;padding:24px;display:flex}.font-browser-filters{grid-template-columns:1fr 160px 1fr;gap:12px;margin:16px 0;display:grid}.font-browser-filters label{gap:4px;display:grid}.font-browser-filters input,.font-browser-filters select{width:100%;min-width:0}.font-browser-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.font-browser-actions small{color:var(--muted)}.font-browser-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-top:8px;display:grid;overflow:auto}.font-browser-card{border:1px solid var(--line);background:var(--raised);border-radius:10px;position:relative}.font-browser-card>[data-font-select]{text-align:left;padding:16px;background:0 0;border:0;gap:8px;width:100%;padding-right:40px;display:grid}.font-browser-card>[data-font-favorite]{position:absolute;top:8px;right:8px}.font-browser-card small{color:var(--muted)}.font-browser-sample{overflow-wrap:anywhere;min-height:48px;font-size:28px;line-height:1.4;display:block}.font-preview-unavailable{opacity:.5}@media (max-width:620px){.font-browser-filters{grid-template-columns:1fr}.text-font-browser{padding:16px}}.text-studio-backdrop{background:#14111a88}.text-studio{background:var(--surface);border:1px solid var(--line);border-radius:18px;flex-direction:column;width:min(1080px,96vw);height:min(850px,94dvh);display:flex;overflow:hidden;box-shadow:0 24px 90px #0009}.text-studio>.modal-heading{border-bottom:1px solid var(--line);flex-shrink:0;margin:0;padding:20px 24px}.text-studio .modal-heading small{letter-spacing:.16em;color:var(--muted);font-size:10px}.text-studio .modal-heading h2{margin:5px 0 0;font-size:24px}.text-studio [data-studio-done]{background:var(--primary);color:#160b07;border-color:var(--primary);padding:10px 22px;font-weight:600}.text-studio-workspace{flex:1;grid-template-columns:minmax(0,1fr) 340px;min-height:0;display:grid}.text-studio-main{min-width:0;padding:20px 24px;overflow:auto}.text-studio label{color:var(--muted);gap:7px;font-size:12px;display:grid}.text-studio input:not([type=checkbox]),.text-studio select,.text-studio textarea{width:100%;min-width:0}.text-studio textarea{resize:vertical;min-height:76px;color:var(--text);font-size:20px;line-height:1.4}.studio-preview-toolbar{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;font-size:12px;display:flex}.studio-preview-toolbar label{align-items:center;gap:8px;display:flex}.studio-preview-toolbar select{width:130px;padding:6px}.text-studio-preview{background:#f1eae1;border:1px solid #0001;border-radius:12px;place-items:center;height:250px;margin-bottom:18px;display:grid;position:relative;overflow:hidden}.text-studio-preview[data-surface=skin]{background:#be8e72}.text-studio-preview[data-surface=dark]{background:#211e2b}.text-studio-preview[data-surface=transparent]{background:repeating-conic-gradient(#e3e0db 0% 25%,#f8f6f2 0% 50%) 0 0/20px 20px}.text-studio-preview [data-studio-image]{justify-content:center;align-items:center;width:calc(100% - 48px);height:190px;display:flex}.text-studio-preview canvas{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.text-arch-handle{background:var(--primary);color:#fff;touch-action:none;cursor:ns-resize;border-radius:20px;padding:5px 7px;position:absolute;right:7px}.studio-preview-hint{color:#6d6262;pointer-events:none;background:#f8f1e9cf;border-radius:5px;padding:3px 6px;font-size:10px;position:absolute;bottom:8px;right:12px}.text-studio-word{align-items:end;gap:8px;margin:12px 0 22px;display:flex}.text-studio-word label{flex:1;min-width:0}.text-studio-word input[type=color]{width:40px;height:34px}.text-studio-word button{white-space:nowrap}.studio-preset-heading{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;font-size:12px;display:flex}.studio-preset-heading span{color:var(--muted);font-size:11px}.studio-presets{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.studio-presets button{background:var(--raised);border-radius:10px;gap:6px;min-width:0;padding:7px;font-size:11px;display:grid}.studio-presets button:hover{border-color:var(--primary)}.studio-presets [data-preset-image]{background:#f1eae1;border-radius:5px;justify-content:center;align-items:center;height:48px;display:flex;overflow:hidden}.studio-presets [data-preset-image=neon]{background:#211e2b}.studio-presets canvas{object-fit:contain;max-width:100%;max-height:44px}.studio-custom-path{margin-top:18px;font-size:12px}.studio-custom-path summary{cursor:pointer;color:var(--muted)}.studio-custom-path p{color:var(--muted)}.text-studio [data-studio-path]{background:var(--raised);border:1px solid var(--line);touch-action:none;cursor:crosshair;border-radius:8px;width:100%;margin-bottom:8px}.text-studio-settings{border-left:1px solid var(--line);flex-direction:column;min-height:0;display:flex}.studio-tabs{border-bottom:1px solid var(--line);gap:4px;padding:14px 16px 0;display:flex}.studio-tabs button{color:var(--muted);background:0 0;border:0;border-radius:6px 6px 0 0;flex:1;padding:10px 4px;font-size:12px}.studio-tabs [aria-selected=true]{color:var(--text);box-shadow:inset 0 -2px var(--primary);background:var(--raised)}.studio-settings-scroll{min-height:0;padding:0 20px 20px;overflow:auto}.text-studio h3{text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin:24px 0 12px;font-size:11px}.studio-font-button{text-align:left;width:100%;padding:12px;font-size:15px}.studio-font-note{color:var(--muted);margin:8px 0 18px;font-size:11px;line-height:1.5;display:block}.studio-grid{grid-template-columns:1fr 1fr;gap:12px;margin:14px 0;display:grid}.studio-toggles{flex-wrap:wrap;gap:12px;margin:18px 0;display:flex}.studio-toggles label{align-items:center;gap:6px;display:flex}.studio-range{margin:14px 0}.studio-range span{justify-content:space-between;gap:8px;display:flex}.studio-range output{color:var(--text);font-variant-numeric:tabular-nums}.studio-color{justify-content:space-between;align-items:center;margin:10px 0;display:flex!important}.text-studio .studio-color input{width:44px;height:30px}.studio-help{color:var(--muted);margin:12px 0;font-size:11px;line-height:1.6}.studio-layouts{flex-wrap:wrap;gap:8px;display:flex}.studio-reset-effects{width:100%;margin-top:22px}.studio-footer{border-top:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:12px 24px;display:flex}.studio-footer p{color:var(--muted);margin:0;font-size:11px;line-height:1.5}.studio-footer button{white-space:nowrap}.text-studio-launch{border-color:var(--primary);width:100%}.brush-quickbar .text-studio-launch{white-space:nowrap;flex-shrink:0;width:auto}@media (max-width:760px){.text-studio{height:96dvh}.text-studio-workspace{display:block;overflow:auto}.text-studio-main{padding:16px;overflow:visible}.text-studio-settings{border-left:0;border-top:1px solid var(--line)}.studio-settings-scroll{overflow:visible}.studio-tabs{background:var(--surface);z-index:1;position:sticky;top:0}.text-studio-preview{height:200px}.text-studio-preview [data-studio-image]{height:150px}.text-studio>.modal-heading{padding:14px 16px}.text-studio .modal-heading h2{font-size:20px}.studio-footer{padding:10px 16px}.studio-preset-heading span{display:none}}.text-advanced .toggle-row label{align-items:center;gap:6px;display:flex}.brush-quickbar [data-text-field=size]{width:52px;min-width:52px}.stencil-wrap-controls{border:1px solid var(--line);background:var(--raised);border-radius:8px;gap:10px;margin:12px 0;padding:12px;display:grid}.stencil-wrap-controls label{gap:6px;display:grid}.stencil-wrap-controls small{color:var(--muted);font-size:11px;line-height:1.5}.stencil-editor{background:var(--surface);border:1px solid var(--line);border-radius:14px;width:min(800px,94vw);max-height:94dvh;padding:24px;overflow:auto}.stencil-editor p{color:var(--muted);font-size:12px;line-height:1.6}.stencil-editor canvas{object-fit:contain;touch-action:none;cursor:crosshair;border-radius:10px;width:100%;max-height:55dvh}.stencil-editor footer{justify-content:flex-end;display:flex}.stencil-point-controls{grid-template-columns:repeat(3,1fr) auto;align-items:end;gap:10px;margin-top:14px;display:grid}.stencil-point-controls label{gap:6px;font-size:12px;display:grid}.stencil-point-controls input,.stencil-point-controls select{width:100%;min-width:0}.surface-tools-overlay{pointer-events:none;z-index:12;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.surface-tools-overlay .surface-path-guide{fill:none;stroke:#40e0d0;stroke-width:1.5px;stroke-dasharray:4 4;opacity:.85}.surface-tools-overlay circle{fill:#f2ede4;stroke:#15171c;stroke-width:2px;pointer-events:auto;cursor:grab;touch-action:none}.surface-tools-overlay circle.is-active{fill:#ff6a3d;stroke:#fff5e9}.surface-tools-overlay circle:focus{stroke:#ff6a3d;stroke-width:4px;outline:none}.selection-draft{fill:#3dd6c425;stroke:#61fce2;stroke-width:1.5px;stroke-dasharray:5 4}.selection-outline{fill:none;stroke:#61fce2;stroke-width:1.5px;stroke-dasharray:5 4}.selection-outline.is-subtract{stroke:#ff6a86}.selection-mask-outline path{fill:none;stroke:#3dd6c4;stroke-width:.2px;stroke-dasharray:.8 .5}.surface-tools-panel{z-index:13;width:280px;max-height:calc(100% - 32px);color:var(--text);border:1px solid var(--line);box-shadow:var(--shadow);background:#16181cf5;border-radius:12px;padding:16px;font-size:12px;position:absolute;top:16px;left:16px;overflow:auto}.surface-tools-panel header{gap:5px;margin-bottom:14px;display:grid}.surface-panel-collapse{padding:2px 7px;position:absolute;top:10px;right:10px}.surface-tools-panel.is-collapsed>:not(header){display:none}.surface-tools-panel.is-collapsed header{margin-bottom:0;padding-right:22px}.surface-tools-panel.is-collapsed header small{display:none}.surface-tools-panel header strong{font-size:14px}.surface-tools-panel small,.surface-tools-panel p{color:var(--muted);font-size:11px;line-height:1.6}.surface-tools-panel label{color:var(--muted);gap:6px;margin:12px 0;display:grid}.surface-tools-panel label>span{align-items:center;gap:8px;display:flex}.surface-tools-panel input:not([type=checkbox]),.surface-tools-panel select{width:100%;min-width:0}.surface-tools-panel input[type=color]{height:34px}.surface-tools-panel output{font-variant-numeric:tabular-nums;text-align:right;min-width:30px;color:var(--text)}.surface-tools-panel .surface-tool-toggle{align-items:center;display:flex}.surface-tools-panel .surface-tool-toggle input{width:16px;height:16px;accent-color:var(--primary);flex:0 0 16px;margin:0}.surface-tool-modes,.surface-tool-actions{flex-wrap:wrap;gap:6px;margin:10px 0;display:flex}.surface-tool-modes button{flex:1;padding:7px 4px;font-size:11px}.surface-tool-modes [aria-pressed=true]{border-color:var(--primary);background:var(--primary-soft)}.surface-tool-actions button{flex:1;padding:7px;font-size:11px}.surface-tool-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.surface-primary{background:var(--primary);color:#190b06;border-color:var(--primary);width:100%;margin:8px 0}@media (max-width:620px){.surface-tools-panel{width:min(280px,100% - 16px);max-height:36%;padding:12px;top:auto;bottom:8px;left:8px}.stencil-point-controls{grid-template-columns:repeat(3,1fr)}.stencil-editor{padding:16px}}.setup-modal{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:min(1000px,100%);max-height:calc(100dvh - 44px);box-shadow:var(--shadow);flex-direction:column;display:flex}.setup-heading{border-bottom:1px solid var(--line);background:var(--raised);justify-content:space-between;align-items:flex-start;gap:14px;padding:18px 20px 14px;display:flex}.setup-heading h2{color:var(--text);letter-spacing:-.01em;margin:0;font-size:17px}.setup-heading p{color:var(--muted);margin:4px 0 0;font-size:12.5px}.setup-modal-body{grid-auto-rows:min-content;align-content:start;gap:22px;padding:18px 20px 20px;display:grid;overflow-y:auto}.setup-step-heading{align-items:center;gap:8px;margin-bottom:10px;display:flex}.setup-step{background:var(--raised-3);width:19px;height:19px;color:var(--muted);border-radius:50%;place-items:center;font-size:11px;font-weight:600;display:grid}.setup-step-heading h3{color:var(--text);margin:0;font-size:13px;font-weight:600}.setup-choice-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.setup-choice{border:1px solid var(--line);border-radius:var(--radius);background:var(--raised);color:var(--text);text-align:left;cursor:pointer;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:12px 14px;transition:border-color .12s,background .12s;display:grid;position:relative}.setup-choice:hover{border-color:var(--raised-3);background:var(--raised-2)}.setup-choice.is-active{border-color:var(--primary);background:var(--primary-soft)}.setup-choice-art{border-radius:var(--radius-sm);background:var(--surface);width:34px;height:34px;color:var(--muted);place-items:center;display:grid}.setup-choice.is-active .setup-choice-art{color:var(--primary)}.setup-choice-art svg{width:20px;height:20px}.setup-choice-text{gap:2px;min-width:0;display:grid}.setup-choice-text strong{font-size:13px;font-weight:600}.setup-choice-text span{color:var(--muted);font-size:11.5px}.setup-choice-badge{border:1px solid var(--line);color:var(--faint);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;grid-column:2;justify-self:start;margin-top:4px;padding:1px 6px;font-size:10px}.setup-choice-badge.is-ready{border-color:var(--secondary-soft);color:var(--secondary)}.setup-choice-badge.is-needed{border-color:var(--primary-soft);color:var(--primary)}.setup-choice-check{color:var(--primary);display:none;position:absolute;top:10px;right:10px}.setup-choice-check svg{width:14px;height:14px}.setup-choice.is-active .setup-choice-check{display:block}.setup-kit-panel{grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);gap:12px;margin-top:10px;display:grid}.setup-kit-panel[hidden]{display:none}.setup-kit-heading{grid-column:1/-1}.setup-kit-import{grid-area:2/2;align-content:start;gap:8px;min-width:0;display:grid}.setup-kit-guide{grid-area:2/1;min-width:0}@media (max-width:760px){.setup-kit-panel{grid-template-columns:minmax(0,1fr)}.setup-kit-import,.setup-kit-guide{grid-area:auto/1}}@media (max-width:620px){.setup-modal{max-height:calc(100dvh - 20px)}.setup-kit-import .setup-kit-dropzone{grid-template-columns:auto minmax(0,1fr)}.setup-kit-import .setup-kit-actions{grid-column:2;justify-items:start}}.model-preview-warning{color:#daa36f;margin:10px 0;font-size:11px;line-height:1.5}.setup-approximation-warning{background:#bc844c15;border:1px solid #bc844c;border-radius:8px;margin-top:12px;padding:12px;font-size:12px}.setup-approximation-warning p,.setup-kit-footnote{color:var(--muted);margin:6px 0;line-height:1.5}.setup-kit-help-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.setup-kit-instructions{margin:0;padding-left:22px;font-size:12px;line-height:1.6}.setup-kit-instructions li+li{margin-top:5px}.setup-kit-instructions a,.setup-kit-footnote a{color:var(--accent);text-decoration:underline}.setup-kit-footnote{font-size:11px}.setup-kit-affiliation{border-top:1px solid var(--line);color:var(--muted);grid-column:1/-1;padding-top:12px}.setup-kit-affiliation strong{font-size:12px}.setup-kit-affiliation p{margin:6px 0 0;font-size:12px;line-height:1.5}.setup-help{display:inline-flex;position:relative}.setup-help [role=tooltip]{z-index:3;border:1px solid var(--line);background:var(--raised);width:min(280px,70vw);color:var(--text);box-shadow:var(--shadow);border-radius:8px;padding:12px;font-size:12px;line-height:1.5;display:none;position:absolute;top:calc(100% + 5px);right:0}.setup-help:hover [role=tooltip],.setup-help:focus-within [role=tooltip]{display:block}.setup-kit-dropzone{border:1px dashed var(--line);border-radius:var(--radius);background:var(--raised);grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:14px 16px;display:grid}.setup-kit-dropzone.is-dragging{border-color:var(--primary);background:var(--primary-soft);border-style:solid}.setup-kit-art{border-radius:var(--radius-sm);background:var(--surface);width:36px;height:36px;color:var(--muted);place-items:center;display:grid}.setup-kit-art svg{width:20px;height:20px}.setup-kit-copy{gap:3px;min-width:0;display:grid}.setup-kit-copy strong{font-size:13px;font-weight:600}.setup-kit-copy p{color:var(--muted);margin:0;font-size:11.5px}.setup-kit-actions{justify-items:end;gap:4px;display:grid}.setup-kit-button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--raised-2);color:var(--text);cursor:pointer;padding:6px 14px;font-size:12px}.setup-kit-button:hover{border-color:var(--primary);background:var(--raised-3)}.setup-kit-actions a{color:var(--muted);font-size:11px;text-decoration:none}.setup-kit-actions a:hover{color:var(--secondary)}.setup-kit-dropzone.is-busy .setup-kit-actions{display:none}.setup-modal-footer{border-top:1px solid var(--line);background:var(--raised);justify-content:space-between;align-items:center;gap:18px;padding:14px 20px;display:flex}.setup-summary{gap:2px;min-width:0;display:grid}.setup-summary-label{color:var(--faint);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:600}.setup-summary strong{color:var(--text);font-size:13px;font-weight:600}.setup-summary-note{color:var(--muted);font-size:11px}.setup-modal-footer .primary-action{flex:none;width:auto;padding:9px 20px}.setup-modal-footer .primary-action:disabled{opacity:var(--disabled-opacity);cursor:not-allowed}.setup-choice:disabled{opacity:.45;cursor:not-allowed}.inspector-panel>.panel-heading{padding-bottom:10px}[data-inspector]{gap:12px;display:grid}.inspector-layer-heading{gap:4px;min-width:0;padding:2px 0 4px;display:grid}.inspector-layer-heading strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.inspector-layer-heading>span{color:var(--muted);font-size:11px}.inspector-filter-section,.inspector-section{border:1px solid var(--line-soft);background:#ffffff03;border-radius:10px;min-width:0}.inspector-filter-section{padding:12px}.inspector-section-heading{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.inspector-section-heading h3{margin:0;font-size:12px;font-weight:800}.inspector-section-heading>span{color:var(--muted);font-size:10px}.filter-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.filter-picker .filter-choice{border:1px solid var(--line);background:var(--surface);min-width:0;min-height:62px;color:var(--muted);border-radius:8px;align-content:center;justify-items:center;gap:7px;padding:9px 4px;font-size:11px;font-weight:700;display:grid}.filter-choice .lucide{width:17px;height:17px}.filter-picker .filter-choice.is-active{border-color:var(--primary);color:#ffe4d7;background:var(--primary-soft);box-shadow:inset 0 0 0 1px #ff6a3d22}.filter-picker .filter-choice:hover:not(:disabled){color:var(--text);border-color:var(--primary)}.filter-description,.branded-panel>.compact-note{color:var(--muted);margin:12px 0;font-size:11px;line-height:1.5}.filter-settings,.branded-controls{gap:12px;display:grid}.filter-settings .filter-description{margin:10px 0 0}.filter-presets,.branded-panel>.preset-row{background:var(--surface);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;display:grid}.branded-panel>.preset-row{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px}.filter-presets button,.branded-panel>.preset-row button{min-height:29px;color:var(--muted);background:0 0;border:0;border-radius:5px;padding:5px 7px;font-size:11px}.filter-presets button:hover,.filter-presets button[aria-pressed=true],.branded-panel>.preset-row button.is-active{background:var(--raised-3);color:var(--text)}.inspector-section>summary,.inspector-placement-details>summary,.branded-advanced>summary{cursor:pointer;color:var(--text);padding:12px;font-size:12px;font-weight:700}.inspector-section>summary::marker{color:var(--muted)}.inspector-placement-details>summary::marker{color:var(--muted)}.branded-advanced>summary::marker{color:var(--muted)}.inspector-section-body{gap:12px;min-width:0;padding:0 12px 12px;display:grid}.inspector-section-body>label,.filter-settings>label,.branded-controls>label,.branded-advanced label{gap:7px;margin:0;display:grid}.inspector-panel label>span{color:var(--muted);justify-content:space-between;align-items:baseline;gap:8px;font-size:11px;display:flex}.inspector-panel label output{color:var(--text);font-variant-numeric:tabular-nums}.inspector-placement-details{border-top:1px solid var(--line-soft);gap:12px;padding-top:3px;display:grid}.inspector-placement-details>summary{color:var(--muted);padding:9px 0;font-size:11px}.inspector-placement-details[open]>:not(summary){margin-top:10px}.inspector-panel .layer-action-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.inspector-panel .layer-action-row button{background:var(--surface);border:1px solid var(--line);text-align:left;border-radius:8px;justify-content:flex-start;align-items:center;gap:9px;min-height:52px;padding:10px;display:flex}.inspector-panel .layer-action-row button>.lucide{width:17px;height:17px;color:var(--muted);flex-shrink:0}.inspector-panel .layer-action-row button>span{color:var(--text);gap:3px;font-size:12px;display:grid}.inspector-panel .layer-action-row small{color:var(--muted);font-size:10px;font-weight:400}.inspector-panel .layer-action-row button:hover:not(:disabled){border-color:var(--primary);background:var(--raised)}.inspector-panel .segmented{grid-template-columns:1fr 1fr;display:grid}.inspector-panel .segmented button{justify-content:center;align-items:center;gap:6px;font-size:11px;display:flex}.inspector-panel .branded-advanced{background:var(--surface);border-radius:8px;margin:0;padding:0 10px 10px}.inspector-panel .branded-advanced>summary{padding:10px 0}.inspector-panel .branded-advanced label{margin:12px 0}.inspector-empty{color:var(--muted);padding:16px 2px;font-size:12px;line-height:1.5}.inspector-empty strong{color:var(--text)}.inspector-panel [data-create-text],.inspector-panel [data-open-asset-modal]{border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:36px;font-size:12px;display:flex}
