: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 rgb(0 0 0 / 35%);--shadow-sm: 0 4px 12px rgb(0 0 0 / 28%);--z-toast: 60;--z-bg-modal: 42;--z-modal-overlay: 30;color:var(--text);background:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#app{width:100%;height:100%}body{margin:0;min-width:320px;min-height:100vh;overflow:hidden}button,input,select,textarea{font:inherit}button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--raised);color:var(--text);cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}button:hover{border-color:var(--raised-3);background:var(--raised-2)}button:focus-visible,.file-picker span:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.lucide{width:16px;height:16px;flex:0 0 auto;stroke-width:2}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.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);background-image:none;color:#fff2ea;box-shadow:inset 0 0 0 1px #ff6a3d40}.asset-group-empty{grid-column:1 / -1;padding:16px;color:var(--muted);font-size:12px;font-style:italic;text-align:center;border:1px dashed var(--line);border-radius:var(--radius-sm)}.asset-group-dropzone{grid-column:1 / -1}.asset-group-dropzone-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:100px;padding:20px;border:2px dashed var(--line);border-radius:var(--radius);color:var(--muted);font-size:12px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.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}.asset-group-more{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:34px;margin-top:4px;padding:6px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--raised);color:var(--text);font-size:12px;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s}.asset-group-more:hover{border-color:var(--primary);background:var(--primary-soft)}.asset-group-more svg{transition:transform .15s}.asset-group-more[hidden]{display:none}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.5}input,select,textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink);color:var(--text)}input,select{min-height:30px;padding:4px 7px}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;min-height:0;height:22px;padding:0;background:transparent;border:0;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:var(--line)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;margin-top:-5px;width:14px;height:14px;border-radius:50%;background:var(--primary);border:2px solid #1a0d08;box-shadow:0 0 0 1px #ff6a3d66;transition:transform .1s ease,background .1s ease,box-shadow .1s ease}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{height:4px;border-radius:999px;background:var(--line)}input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--primary);border:2px solid #1a0d08;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,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{display:grid;gap:5px;min-width:0;color:var(--muted);font-size:12px}label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace{display:grid;grid-template-columns:54px minmax(0,1fr) 390px;width:100vw;height:100vh;background:var(--ink)}.tool-rail{display:grid;align-content:start;gap:8px;padding:10px 7px;border-right:1px solid var(--line-soft);background:#0a0b0c}.tool-rail button{width:40px;height:38px;padding:0}.tool-rail button.is-active{color:var(--primary)}.tool-rail .lucide{width:18px;height:18px}.viewport-shell{position:relative;min-width:0;overflow:hidden;background:radial-gradient(circle at 35% 25%,rgb(255 106 61 / 10%),transparent 32%),radial-gradient(circle at 78% 82%,rgb(61 214 196 / 6%),transparent 40%),linear-gradient(145deg,#15161a,#0e0f12 55%,#0b0c0f)}.viewport,.viewport canvas{display:block;width:100%;height:100%}.creator-credit{position:absolute;bottom:14px;left:14px;z-index:5;padding:6px 9px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#0d0e10d1;box-shadow:var(--shadow-sm);backdrop-filter:blur(10px);font-size:11px;font-weight:600}.creator-credit a{color:var(--muted);text-decoration:none;transition:color .12s ease}.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}.top-bar{position:absolute;top:12px;left:12px;right:12px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none}.view-controls{display:flex;align-items:center;gap:8px;pointer-events:auto}.view-tabs,.tex-mode-toggle{padding:3px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#0d0e10d1;box-shadow:var(--shadow-sm);backdrop-filter:blur(10px)}.view-tabs button,.tex-mode-toggle button{min-height:26px;padding:0 12px;border:1px solid transparent;background:transparent;color:var(--muted);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{padding:0 10px;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.brush-quickbar{position:absolute;top:62px;left:12px;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:6px;max-width:min(1040px,calc(100% - 24px));padding:6px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#0d0e10db;box-shadow:var(--shadow-sm);backdrop-filter:blur(10px);pointer-events:auto}.brush-quickbar[hidden]{display:none}.brush-quickbar.is-text{max-width:min(1120px,calc(100% - 24px))}.brush-quickbar-group{display:inline-flex;align-items:center;gap:4px;min-width:0}.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{display:grid;gap:2px;min-width:0;margin:0;color:var(--muted);font-size:10px;line-height:1}.brush-quickbar-color{width:38px}.brush-quickbar-color input{width:34px;min-height:26px}.brush-quickbar-range{width:112px}.brush-quickbar-range>span{display:flex;align-items:center;justify-content:space-between;gap:8px}.brush-number-control{display:inline-flex;align-items:center;overflow:hidden;border:1px solid var(--line);border-radius:4px;background:var(--ink);color:var(--muted);font-variant-numeric:tabular-nums}.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;padding:1px 2px 1px 4px;border:0;outline:0;background:transparent;color:var(--text);font-size:10px;font-weight:700;text-align:right}.brush-number-control>span{flex:0 0 auto;padding-right:4px;overflow:visible;color:var(--muted);font-size:9px;white-space:nowrap}.control-field .brush-number-control input{width:52px;min-height:24px;font-size:11px}.brush-quickbar-toggle{display:grid;min-height:28px;margin:0;cursor:pointer}.brush-quickbar-toggle input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.brush-quickbar-toggle>span{display:inline-flex;align-items:center;justify-content:center;width:30px;min-height:28px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--raised);color:var(--muted)}.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{display:grid;gap:3px;margin:0;color:var(--muted);font-size:10px;line-height:1}.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{height:28px;resize:none;white-space:pre;overflow:auto hidden}.text-font-control{display:grid;gap:5px;min-width:0;color:var(--muted);font-size:12px}.text-font-picker{display:flex;gap:4px;min-width:0}.text-font-picker select{flex:1 1 auto;min-width:0}.text-font-picker button{flex:0 0 auto;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-size:10px;font-variant-numeric:tabular-nums}.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{padding-left:6px;border-left:1px solid var(--line)}.text-quickbar-actions .danger-action{width:30px;padding:0}.text-quickbar-empty{display:flex;align-items:center;gap:9px;min-height:30px;padding:0 5px;color:var(--primary)}.text-quickbar-empty>span{display:grid;gap:2px}.text-quickbar-empty strong{color:var(--text);font-size:11px}.text-quickbar-empty small{color:var(--muted);font-size:10px}.brand-lockup,.transform-strip{display:flex;align-items:center;gap:8px;max-width:min(680px,70vw);padding:7px 9px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#0d0e10d1;box-shadow:var(--shadow-sm);backdrop-filter:blur(10px);pointer-events:auto}.brand-lockup strong{flex:0 0 auto;color:var(--primary);font-size:13px;letter-spacing:.02em}.brand-lockup span{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.dirty-indicator{flex:0 0 auto;width:6px;height:6px;margin-left:2px;border-radius:50%;background:var(--primary);opacity:.9;text-indent:-9999px;overflow:hidden}.transform-strip button{width:32px;min-height:28px;padding:0}.sidebar{display:grid;grid-auto-rows:max-content;gap:10px;min-width:0;overflow-y:auto;border-left:1px solid var(--line-soft);background:var(--surface);padding:10px}.panel{display:grid;gap:10px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--raised)}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.panel h2{margin:0;color:var(--text);font-size:13px;letter-spacing:0}.panel-heading>span{color:var(--secondary);font-size:11px}.button-grid,.two-col,.three-col{display:grid;gap:8px;min-width:0}.button-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.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{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.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{position:relative;display:block}.file-picker span{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:30px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--raised);color:var(--text);cursor:pointer;transition:background .12s ease,border-color .12s ease}.file-picker.compact span{min-width:52px;padding:0 8px}.file-picker input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.asset-grid{display:grid;grid-template-columns:1fr;gap:8px;overflow:hidden}.asset-tile-shell{position:relative;min-width:0;height:104px}.asset-tile{display:grid;grid-template-rows:1fr auto;gap:4px;width:100%;min-width:0;max-height:104px;height:100%;padding:5px;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;box-sizing:border-box;cursor:pointer;background-color:var(--ink);background-image:linear-gradient(45deg,rgb(255 255 255 / 4%) 25%,transparent 25%),linear-gradient(-45deg,rgb(255 255 255 / 4%) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgb(255 255 255 / 4%) 75%),linear-gradient(-45deg,transparent 75%,rgb(255 255 255 / 4%) 75%);background-size:12px 12px;background-position:0 0,0 6px,6px -6px,-6px 0;transition:background-color .12s ease,border-color .12s ease}.asset-tile img{display:block;width:100%;max-height:68px;max-width:100%;object-fit:contain;pointer-events:none}.asset-tile span{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.layer-list{display:grid;gap:6px}.layer-row{display:grid;grid-template-columns:24px 32px minmax(0,1fr);gap:4px;align-items:center;min-height:62px;padding:5px;border:1px solid var(--line);border-radius:7px;background:var(--ink);transition:border-color .12s ease,background .12s ease,opacity .12s ease}.layer-row.is-group-child{margin-left:18px;width:calc(100% - 18px);border-left:2px solid color-mix(in srgb,var(--accent, #4ade80) 38%,transparent)}.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;border-style:dashed;border-color:#ff6a3d73;box-shadow:var(--shadow)}.layer-row.drop-above{border-top:2px solid var(--primary);border-top-left-radius:0;border-top-right-radius:0;box-shadow:0 -2px 0 var(--primary);margin-top:-1px}.layer-row.drop-below{border-bottom:2px solid var(--primary);border-bottom-left-radius:0;border-bottom-right-radius:0;box-shadow:0 2px 0 var(--primary);margin-bottom:-1px}.layer-drag-handle{display:flex;align-items:center;justify-content:center;width:24px;height:30px;padding:0;border:none;background:transparent;color:var(--faint);cursor:grab;transition:color .12s ease}.layer-drag-handle:hover{color:var(--muted);background:transparent;border-color:transparent}.layer-drag-handle:active{cursor:grabbing;color:var(--text)}.layer-toggle-stack{display:grid;gap:3px;width:32px}.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{display:grid;grid-template-columns:26px minmax(0,1fr);gap:7px;align-items:center;justify-items:stretch;min-width:0;min-height:34px;padding:4px 7px;text-align:left}.layer-kind{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#ffffff0a;color:var(--muted)}.layer-kind .lucide{width:14px;height:14px}.layer-text{display:grid;gap:2px;min-width:0}.layer-text span,.layer-text small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-text small{color:var(--muted);font-size:10px}.subsection-title{margin-top:2px;color:var(--secondary);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.layer-action-row{display:grid}.layer-action-row button{justify-content:center;min-height:34px;gap:7px;font-weight:800}.compact-note,.empty-state{margin:0;color:var(--muted);font-size:12px;line-height:1.4}.empty-state{padding:10px 4px;text-align:center}.toggle-row label,.toggle-line,.channel-row{display:flex;align-items:center;gap:6px;min-height:28px}.toggle-row .lucide{width:14px;height:14px}.brush-panel{display:grid;gap:10px;min-width:0}.brush-mode-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.brush-mode-row button{justify-content:center;min-height:34px;padding:0 9px;font-size:12px;font-weight:800}.brush-preview{display:grid;grid-template-columns:68px minmax(0,1fr);gap:10px;align-items:center;min-height:72px;padding:8px;border:1px solid var(--line);border-radius:var(--radius-sm);background:linear-gradient(45deg,rgb(255 255 255 / 4%) 25%,transparent 25%),linear-gradient(-45deg,rgb(255 255 255 / 4%) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgb(255 255 255 / 4%) 75%),linear-gradient(-45deg,transparent 75%,rgb(255 255 255 / 4%) 75%),var(--ink);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px}.brush-preview-swatch{position:relative;display:grid;place-items:center;width:56px;height:56px;border:1px solid var(--line);border-radius:50%;background:#00000038}.brush-preview-swatch:before{content:"";width:var(--brush-size);height:var(--brush-size);border-radius:50%;background:var(--brush-color);opacity:var(--brush-opacity);box-shadow:0 0 var(--brush-softness) var(--brush-color)}.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{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;min-width:0}.brush-preview-stats span{display:grid;gap:2px;min-width:0;color:var(--muted);font-size:10px;text-align:center}.brush-preview-stats strong{color:var(--text);font-size:12px;font-variant-numeric:tabular-nums}.brush-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.brush-presets button{display:grid;gap:1px;min-height:42px;padding:5px 4px}.brush-presets small{color:var(--muted);font-size:10px;font-weight:700}.brush-color-row{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px;align-items:center}.brush-swatches{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.brush-swatches button{min-height:30px;padding:0}.brush-swatches button:before{content:"";width:18px;height:18px;border:1px solid rgb(255 255 255 / 22%);border-radius:50%;background:var(--swatch)}.brush-slider-list{display:grid;gap:8px}.tattoo-feel-panel{display:grid;gap:10px}.feel-compact{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:7px;align-items:stretch}.feel-open-button{display:grid;grid-template-columns:24px minmax(0,1fr);justify-content:start;min-width:0;min-height:36px;padding:6px 8px;text-align:left}.feel-open-button>span{display:grid;min-width:0}.feel-open-button strong,.feel-open-button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feel-open-button strong{color:var(--text);font-size:12px}.feel-open-button small{color:var(--secondary);font-size:10px;font-weight:800}.feel-checkbox{display:inline-flex;align-items:center;justify-content:center;min-height:36px;width:34px;cursor:pointer}.feel-checkbox input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.feel-checkbox .checkmark{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:1px solid var(--line);border-radius:4px;background:var(--ink)}.feel-checkbox input:checked+.checkmark{border-color:var(--primary);background:var(--primary);box-shadow:inset 0 0 0 1px #ff6a3d33}.feel-checkbox input:checked+.checkmark:after{content:"";width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}.layers-actions{padding-top:8px;border-top:1px solid var(--line)}.feel-summary{color:var(--secondary);font-variant-numeric:tabular-nums;font-weight:800;font-size:11px}.feel-modal{width:min(420px,100%);max-height:min(620px,calc(100vh - 44px));display:grid;grid-template-rows:auto 1fr;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.feel-modal-body{display:grid;gap:12px;overflow:auto;padding:14px}.feel-modal-toggle{margin:0;padding:8px 9px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink)}.tattoo-feel-panel.is-disabled{opacity:.62}.tattoo-feel-main{gap:8px;padding:9px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink)}.tattoo-feel-main>span{color:var(--text);font-size:12px;font-weight:850}.tattoo-feel-main output{color:var(--primary-hi);font-size:13px}.tattoo-feel-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.tattoo-feel-presets button{justify-content:center;min-height:32px;padding:0 8px;font-size:11px;font-weight:800}.tattoo-feel-detail-grid{display:grid;gap:8px}.control-field>span{display:flex;align-items:center;justify-content:space-between;gap:10px}.control-field output{color:var(--text);font-size:11px;font-variant-numeric:tabular-nums}.brush-toggle-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.icon-toggle{display:grid;min-height:32px;margin:0;cursor:pointer}.icon-toggle input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.icon-toggle>span{display:inline-flex;align-items:center;justify-content:center;min-height:32px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink);color:var(--muted)}.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);font-size:11px;text-align:center}.toggle-row input,.toggle-line input,.channel-row input{width:auto;min-height:0;accent-color:var(--primary)}.channel-list,.target-list{display:grid;gap:5px}.channel-row{justify-content:space-between;padding:5px 7px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink)}.channel-row span{flex:1}.channel-row small{color:var(--muted)}.download-list{display:grid;gap:6px}.download-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:32px;padding:6px 8px;border:1px solid rgb(61 214 196 / 35%);border-radius:var(--radius-sm);background:var(--secondary-soft);color:#c6fbf1;font-size:12px;text-decoration:none;transition:border-color .12s ease}.download-row:hover{border-color:var(--secondary)}.download-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-backdrop{position:fixed;inset:0;z-index:var(--z-modal-overlay);display:grid;place-items:center;padding:22px;background:#0000009e;backdrop-filter:blur(8px)}.modal-backdrop[hidden]{display:none}.export-modal{width:min(920px,100%);max-height:min(760px,calc(100vh - 44px));overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid var(--line);background:var(--raised)}.modal-heading h2{margin:0;color:var(--text);font-size:15px;letter-spacing:0}.modal-heading p{margin:2px 0 0;color:var(--muted);font-size:12px}.icon-button{width:32px;min-height:32px;padding:0}.icon-row.has-danger{flex-wrap:nowrap}.icon-row.has-danger .danger-action{margin-left:auto;border-left:1px solid var(--line);border-top-left-radius:0;border-bottom-left-radius:0;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{width:min(420px,100%);overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.dialog-modal-body{display:grid;gap:10px;padding:16px}.dialog-modal-message{margin:0;color:var(--text);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{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--line);background:var(--raised)}.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{width:min(480px,100%);max-height:min(620px,calc(100vh - 44px));display:grid;grid-template-rows:auto 1fr;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.shortcuts-list{margin:0;padding:8px 16px;overflow:auto;list-style:none}.shortcuts-list li{display:grid;grid-template-columns:minmax(150px,.9fr) minmax(0,1.1fr);align-items:center;gap:12px;padding:7px 0;border-bottom:1px solid var(--line-soft);font-size:12.5px}.shortcuts-list li:last-child{border-bottom:none}.shortcuts-list kbd{display:inline-flex;align-items:center;justify-content:center;padding:2px 7px;border:1px solid var(--line);border-radius:5px;background:var(--ink);color:var(--text);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:11px;white-space:nowrap}.shortcuts-list .shortcut-action{color:var(--muted)}.export-modal-body{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:0;max-height:calc(min(760px,100vh - 44px) - 62px);overflow:auto}.export-modal-section{display:grid;align-content:start;gap:10px;min-width:0;padding:16px}.export-modal-section+.export-modal-section{border-left:1px solid var(--line)}.export-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.export-target-list{display:grid;gap:6px}.export-target-row{display:flex;align-items:center;gap:9px;min-height:40px;padding:7px 8px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink)}.export-target-row input{width:auto;min-height:0;accent-color:var(--primary)}.export-target-row span{display:grid;gap:1px;min-width:0}.export-target-row strong{overflow:hidden;color:var(--text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.export-target-row small{color:var(--muted);font-size:10px}.primary-action{min-height:36px;border-color:var(--primary);background:var(--primary-soft);color:#fff2ea;font-weight:800}.primary-action:hover{border-color:var(--primary-hi);background:#4a271b}.sl-import-guide{background:linear-gradient(180deg,rgb(61 214 196 / 4%),transparent 42%)}.sl-import-guide ol{display:grid;gap:9px;margin:0;padding-left:18px;color:var(--text);font-size:12px;line-height:1.45}.sl-import-guide li::marker{color:var(--secondary);font-weight:800}.sl-import-guide p{margin:0;padding:9px;border:1px solid rgb(61 214 196 / 24%);border-radius:var(--radius-sm);background:var(--secondary-soft);color:#c6fbf1;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%,transparent 25%),linear-gradient(-45deg,#141519 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#141519 75%),linear-gradient(-45deg,transparent 75%,#141519 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0}.viewport-shell.is-split:after{content:"";position:absolute;top:0;right:0;bottom:0;width:50%;z-index:0;background-image:linear-gradient(45deg,#141519 25%,transparent 25%),linear-gradient(-45deg,#141519 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#141519 75%),linear-gradient(-45deg,transparent 75%,#141519 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0;pointer-events:none}.viewport-shell.is-split:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;z-index:2;background:var(--line);pointer-events:none}.viewport-shell.is-textures .viewport{cursor:grab}.viewport-shell.is-textures .viewport:active{cursor:grabbing}.viewport-shell.is-split .viewport{cursor:default}.tex-overlay{position:absolute;inset:0;z-index:3;pointer-events:none}.tex-empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;color:var(--muted);font-size:13px}.tex-tile-label{position:absolute;display:flex;align-items:flex-start;justify-content:space-between;gap:6px;padding:6px;border:1px solid rgb(255 106 61 / 22%);border-radius:var(--radius-sm);background:linear-gradient(180deg,#0d0e1000,#0d0e108c)}.tex-tile-name{color:var(--text);font-size:12px;font-weight:700;letter-spacing:.02em;text-shadow:0 1px 4px rgb(0 0 0 / 80%)}.tex-tile-id{padding:1px 6px;border-radius:999px;background:var(--primary-soft);color:#fff2ea;font-size:10px;font-weight:700}.omni-hint{position:absolute;left:14px;bottom:52px;z-index:6;max-width:260px;margin:0;padding:10px 12px 11px;border:1px solid rgb(255 106 61 / 30%);border-radius:var(--radius-sm);background:#0d0e10d1;box-shadow:var(--shadow-sm);backdrop-filter:blur(10px);color:var(--text);font-size:12px;line-height:1.4;pointer-events:auto}.omni-hint-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;color:var(--primary);font-size:12px;font-weight:700;letter-spacing:.02em}.omni-hint-head button{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid var(--line);border-radius:var(--radius-sm);background:transparent;color:var(--muted)}.omni-hint-head button:hover{color:var(--text);border-color:var(--primary)}.omni-hint ul{margin:0;padding:0;list-style:none;display:grid;gap:4px;color:var(--muted)}.omni-hint kbd{display:inline-block;padding:1px 6px;border:1px solid var(--line);border-bottom-width:2px;border-radius:var(--radius-sm);background:#ffffff0f;color:var(--text);font-family:inherit;font-size:11px;font-weight:600}@media(max-width:980px){body{overflow:auto}.workspace{grid-template-columns:46px minmax(0,1fr);grid-template-rows:minmax(520px,68vh) auto;height:auto;min-height:100vh}.tool-rail{grid-row:1 / 3}.viewport-shell{min-height:520px}.sidebar{grid-column:2;border-top:1px solid var(--line-soft);border-left:0}}@media(max-width:620px){.workspace{grid-template-columns:1fr;grid-template-rows:auto minmax(520px,68vh) auto}}.asset-modal{width:min(780px,100%);height:min(680px,calc(100vh - 44px));max-height:min(680px,calc(100vh - 44px));display:grid;grid-template-rows:auto 1fr;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.bg-removal-backdrop{z-index:var(--z-bg-modal)}.bg-removal-modal{width:min(1180px,100%);max-height:min(820px,calc(100vh - 44px));display:grid;grid-template-rows:auto 1fr;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.bg-removal-modal-body{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;max-height:calc(min(820px,100vh - 44px) - 58px);overflow:auto;padding:14px}.bg-removal-preview-column,.bg-removal-controls{min-width:0}.bg-removal-preview-column{display:grid;align-content:start;gap:10px}.bg-removal-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.bg-removal-title-row span{overflow:hidden;color:var(--text);font-size:13px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.bg-removal-title-row strong{flex:0 0 auto;color:var(--secondary);font-size:11px}.bg-removal-controls{display:grid;align-content:start;gap:10px}.bg-removal-actions{display:grid;gap:8px}.bg-removal-actions button{min-height:36px}.bg-removal-empty{padding:16px;color:var(--muted);font-size:12px}.asset-modal-body{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;overflow:hidden}.asset-modal-tabs{display:flex;gap:0;border-bottom:1px solid var(--line);background:var(--raised)}.asset-modal-tab{padding:10px 16px;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;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{height:100%;min-height:0;overflow:auto;padding:16px;scrollbar-gutter:stable}.asset-modal-panel[hidden]{display:none}.asset-upload-zone{display:grid;place-items:center;gap:10px;min-height:180px;padding:28px;border:2px dashed var(--line);border-radius:var(--radius);cursor:pointer;transition:border-color .15s,background .15s}.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);font-size:13px;text-align:center}.asset-upload-zone-text strong{color:var(--primary)}.asset-upload-options{display:flex;align-items:center;gap:8px;margin-top:10px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink)}.asset-upload-options label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;cursor:pointer}.asset-upload-options input[type=checkbox]{accent-color:var(--primary)}.asset-bg-settings{display:grid;gap:8px;margin-top:10px;padding:10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink)}.asset-bg-settings-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.asset-bg-settings-head span{color:var(--text);font-size:12px;font-weight:800}.asset-bg-settings-head small{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.asset-bg-settings-grid{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(96px,.8fr);gap:8px;align-items:end}.asset-bg-settings-grid label{min-width:0}.asset-bg-settings-grid select{min-width:0;font-size:12px}.asset-bg-setting-check{display:flex;align-items:center;grid-column:1 / -1;gap:7px;min-height:30px;margin:0;padding:5px 7px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--raised);cursor:pointer}.asset-bg-setting-check input{width:auto;min-height:0;accent-color:var(--primary)}.asset-bg-setting-check span{color:var(--muted);font-size:12px;line-height:1.25;white-space:normal}.asset-upload-progress{display:grid;gap:6px;margin-top:12px}.asset-progress-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.asset-progress-bar{flex:1;height:4px;border-radius:2px;background:var(--line);overflow:hidden}.asset-progress-bar-fill{height:100%;background:var(--primary);border-radius:2px;transition:width .2s ease}.asset-url-form{display:grid;gap:10px}.asset-url-row{display:flex;gap:8px}.asset-url-row input{flex:1}.asset-url-row button{white-space:nowrap}.asset-library-select{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:12px;color:var(--muted)}.asset-library-select select{flex:1;min-height:30px;padding:4px 8px;font-size:12px}.asset-library-list{display:grid;gap:10px}.asset-library-section{border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.asset-library-header{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--raised);cursor:pointer}.asset-library-header:hover{background:var(--line)}.asset-library-name{flex:1;font-size:13px;font-weight:600;color:var(--text)}.asset-library-count{font-size:11px;color:var(--muted)}.asset-library-actions{display:flex;gap:4px}.asset-library-actions button{width:26px;min-height:26px;padding:0}.asset-library-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:8px}.asset-library-tile{display:grid;place-items:center;aspect-ratio:1;padding:4px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink);overflow:hidden}.asset-library-tile img{display:block;width:100%;height:100%;object-fit:contain}.asset-library-empty{padding:20px;color:var(--muted);font-size:12px;font-style:italic;text-align:center}.asset-new-library-btn{justify-self:start}.asset-sources-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.asset-source-card{display:grid;gap:6px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink);transition:border-color .15s}.asset-source-card:hover{border-color:var(--primary)}.asset-source-card h4{margin:0;font-size:13px;color:var(--text)}.asset-source-card p{margin:0;font-size:11px;color:var(--muted);line-height:1.4}.asset-source-card .primary-action{justify-self:start;margin-top:4px}.asset-sources-note{margin-bottom:12px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--ink);color:var(--muted);font-size:12px;line-height:1.5}.asset-upload-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.asset-upload-preview{position:relative;display:grid;gap:4px;padding:6px;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-size:10px 10px;background-position:0 0,0 5px,5px -5px,-5px 0;background-color:var(--ink)}.asset-upload-preview--compare{grid-column:1 / -1;gap:8px;padding:8px}.asset-upload-preview-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.asset-upload-preview-status{flex:0 0 auto;color:var(--secondary);font-size:11px;font-weight:700}.asset-upload-preview img{display:block;width:100%;height:80px;object-fit:contain}.asset-upload-preview-name{overflow:hidden;font-size:11px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.asset-upload-preview-actions{display:flex;gap:4px}.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%;position:relative;min-height:260px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-sm);background-color:var(--ink);background-image:linear-gradient(45deg,rgb(255 255 255 / 7%) 25%,transparent 25%),linear-gradient(-45deg,rgb(255 255 255 / 7%) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgb(255 255 255 / 7%) 75%),linear-gradient(-45deg,transparent 75%,rgb(255 255 255 / 7%) 75%);background-size:18px 18px;background-position:0 0,0 9px,9px -9px,-9px 0}.asset-bg-compare-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none}.asset-bg-compare-transform{position:absolute;inset:0;pointer-events:none;transform:translate(var(--bg-preview-pan-x),var(--bg-preview-pan-y))}.asset-bg-compare-layer img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;transform:scale(var(--bg-preview-zoom));transform-origin:center;pointer-events:none}.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,calc(100vh - 260px))}.asset-bg-compare-divider{position:absolute;top:0;bottom:0;left:var(--bg-compare-split);z-index:7;width:28px;transform:translate(-14px);background:transparent;cursor:ew-resize;pointer-events:auto;touch-action:none}.asset-bg-compare-divider:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translate(-1px);background:var(--primary);box-shadow:0 0 0 1px #00000073}.asset-bg-compare-divider:after{content:"";position:absolute;top:50%;left:50%;width:24px;height:24px;transform:translate(-50%,-50%);border:1px solid var(--primary-hi);border-radius:50%;background:var(--primary-soft);box-shadow:var(--shadow-sm)}.asset-bg-refine-surface{position:absolute;inset:0;z-index:5;cursor:none;touch-action:none}.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{position:absolute;left:var(--bg-brush-x);top:var(--bg-brush-y);z-index:6;width:var(--bg-brush-size);height:var(--bg-brush-size);border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #000c,inset 0 0 0 1px #0000008c;opacity:0;pointer-events:none;transform:translate(-50%,-50%)}.asset-bg-brush-preview.is-visible{opacity:1}.asset-bg-brush-preview.is-restore{border-color:var(--secondary)}.asset-bg-compare-label{position:absolute;top:8px;z-index:8;padding:2px 7px;border:1px solid rgb(0 0 0 / 45%);border-radius:999px;background:#0d0e10c7;color:var(--text);font-size:10px;font-weight:800;text-transform:uppercase}.asset-bg-compare-label-before{left:8px}.asset-bg-compare-label-after{right:8px}.asset-bg-compare-controls{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:8px;align-items:center}.asset-bg-compare-controls button{min-height:32px;padding:0 10px;font-size:11px;white-space:nowrap}.bg-refine-tools{display:grid;gap:9px;padding:10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink)}.bg-refine-tools-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.bg-refine-tools-head span{color:var(--text);font-size:12px;font-weight:800}.bg-refine-tool-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.bg-refine-tool-row button{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:34px;padding:0 8px;font-size:12px;font-weight:700}.bg-refine-tool-row button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bg-refine-tools label{gap:6px}.asset-tile-actions{position:absolute;top:4px;right:4px;display:flex;gap:2px;opacity:0;transition:opacity .15s}.asset-tile-shell:hover .asset-tile-actions,.asset-tile-shell:focus-within .asset-tile-actions{opacity:1}.asset-tile-actions button{position:relative;z-index:1;width:22px;min-height:22px;padding:0}.asset-library-group{margin-bottom:8px}.asset-library-group-header{display:flex;align-items:center;gap:6px;width:100%;padding:4px 0;border:0;background:transparent;cursor:pointer;user-select:none}.asset-library-group-header:hover span{color:var(--text)}.asset-library-group-header span{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.asset-library-group-header svg{transition:transform .15s}.asset-library-group-header.is-collapsed svg{transform:rotate(-90deg)}.asset-library-group-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.asset-library-group-grid[hidden]{display:none}@media(max-width:620px){.tool-rail{position:sticky;top:0;z-index:8;grid-row:auto;grid-template-columns:repeat(7,minmax(0,1fr));border-right:0;border-bottom:1px solid var(--line-soft)}.tool-rail button{width:auto}.viewport-shell,.sidebar{grid-column:1}.top-bar{align-items:stretch;flex-direction:column}.brush-quickbar{top:106px;right:12px;max-width:none}.modal-backdrop{align-items:stretch;padding:10px}.export-modal{max-height:calc(100vh - 20px)}.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}.brand-lockup,.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{position:fixed;top:14px;right:14px;z-index:var(--z-toast);display:grid;gap:8px;width:min(360px,calc(100vw - 28px));pointer-events:none}.toast{pointer-events:auto;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px;padding:10px 12px;border:1px solid var(--line);border-left-width:3px;border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow);color:var(--text);font-size:12.5px;line-height:1.4;animation:toast-in .16s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}.toast.is-leaving{animation:toast-out .16s ease-in forwards}@keyframes toast-out{to{opacity:0;transform:translate(8px)}}.toast-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--muted)}.toast-icon .lucide{width:16px;height:16px}.toast-message{min-width:0;word-break:break-word}.toast-message strong{display:block;margin-bottom:1px;font-size:12.5px;font-weight:800}.toast-message .toast-detail{color:var(--muted);font-size:11.5px}.toast-close{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;background:transparent;color:var(--faint);cursor:pointer;transition:color .12s ease}.toast-close:hover{color:var(--text);background:transparent;border-color:transparent}.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)}
