:root{color-scheme:dark;--bg:#101112;--surface:#17181b;--panel:#1d1e22;--border:#303136;--text:#f1f1f3;--muted:#9a9ca3;--accent:#5c68f7;--accent-soft:#5c68f724;--accent-hover:#5c68f73d;--danger:#f0322c;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{scrollbar-color:#3f426b #141414;scrollbar-width:thin;height:100%;margin:0;overflow:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#141414}::-webkit-scrollbar-thumb{background:#3f426b;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#555abb}.app-shell{background:var(--bg);flex-direction:column;height:100vh;display:flex}.app-toolbar{border-bottom:1px solid var(--border);backdrop-filter:blur(8px);background:#101112f7;flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 14px;display:flex}.toolbar-brand{align-items:center;gap:10px;font-size:14px;display:flex}.toolbar-version{color:var(--muted);font-size:12px;font-weight:400}.toolbar-actions button{padding:6px 14px;font-size:13px}.tp-layout,.resizable-layout{flex:1;min-height:0;display:flex;overflow:hidden}.layout-pane{flex-direction:column;min-width:0;min-height:0;display:flex}.layout-left,.layout-right{flex-shrink:0}.layout-center{flex:1;min-width:0}.resize-handle{cursor:col-resize;background:var(--surface);border-left:1px solid var(--border);border-right:1px solid var(--border);flex-shrink:0;width:6px;transition:background .15s}.resize-handle:hover,body.is-resizing .resize-handle{background:var(--accent)}body.is-resizing{cursor:col-resize;user-select:none}body.is-resizing-row{cursor:row-resize;user-select:none}.resize-handle-horizontal{cursor:row-resize;background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-shrink:0;width:100%;height:6px;transition:background .15s}.resize-handle-horizontal:hover,body.is-resizing-row .resize-handle-horizontal{background:var(--accent)}.sprites-panel{background:#1c1c1cf5;flex-direction:column;height:100%;min-height:0;display:flex}.sprites-panel.drag-over{background:var(--accent-soft)}.sprites-panel-header{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;padding:10px 12px}.sprites-input-row{border-bottom:1px solid var(--border);flex-shrink:0;padding:10px 12px}.sprites-input-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:11px;display:block}.sprites-drop-hint{text-align:center;color:#d1d5db;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:24px 20px;display:flex}.sprites-drop-title{color:#f3f4f6;margin:0 0 16px;font-size:20px;font-weight:600;line-height:1.35}.sprites-drop-desc{color:#e5e7eb;margin:0 0 12px;font-size:13px;line-height:1.55}.sprites-drop-formats{color:#cbd5e1;margin:0;font-size:12px}.tree-row-wrap{align-items:stretch;display:flex}.tree-row-wrap .tree-row{flex:1;min-width:0}.tree-row-wrap.selected{background:var(--accent-soft)}.tree-row-wrap .tree-row.selected{background:0 0}.tree-remove-btn{width:28px;color:var(--muted);opacity:0;background:0 0;border:none;flex-shrink:0;font-size:16px;line-height:1;transition:opacity .15s,color .15s}.tree-row-wrap:hover .tree-remove-btn,.tree-row-wrap.selected .tree-remove-btn{opacity:1}.tree-remove-btn:hover{color:#fca5a5}.tree-row-wrap.selected .tree-remove-btn{color:var(--accent)}.tree-row-wrap.selected .tree-remove-btn:hover{color:#fff}.tree-row-wrap.excluded .tree-row,.tree-row.excluded{opacity:.55}.tree-row-wrap.excluded.selected{opacity:1}.tree-row-wrap.excluded.selected .tree-row{opacity:.85}.tree-excluded-badge{text-transform:uppercase;letter-spacing:.04em;color:#fbbf24;flex-shrink:0;font-size:10px}.tree-include-btn{opacity:1!important;color:#86efac!important}.tree-include-btn:hover{color:#bbf7d0!important}.modal-backdrop{z-index:1000;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-dialog{background:var(--panel);border:1px solid var(--border);border-radius:10px;width:min(420px,100vw - 32px);padding:20px 22px;box-shadow:0 12px 40px #00000073}.modal-icon{color:#fef08a;background:#854d0e;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;margin-bottom:12px;font-size:20px;font-weight:700;display:flex}.modal-title{color:#f9fafb;margin:0 0 10px;font-size:16px}.modal-body{color:#d1d5db;margin:0 0 12px;font-size:13px;line-height:1.5}.modal-item-name{color:var(--accent);margin:0 0 16px;font-size:13px}.modal-actions{justify-content:flex-end;display:flex}.sprites-panel-header h2{color:#d1d5db;margin:0;font-size:13px;font-weight:600}.sprites-panel-body{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.sprites-empty{text-align:center;color:var(--muted);flex:1;justify-content:center;align-items:center;padding:20px;font-size:13px;line-height:1.5;display:flex}.tree-loading{z-index:2;color:var(--accent);background:var(--accent-soft);pointer-events:none;border-radius:4px;padding:8px 10px;font-size:12px;position:absolute;top:8px;left:8px;right:8px}.tree-scroll{flex:1;min-height:0;padding:4px 0;overflow:auto}.tree-scroll.is-loading{opacity:.75}.tree-row{color:#e5e7eb;text-align:left;background:0 0;border:none;border-radius:0;align-items:center;gap:8px;width:100%;min-height:32px;padding:8px 10px;font-size:13px;line-height:1.35;display:flex}.tree-row:hover{background:var(--accent-soft)}.tree-row.selected{background:var(--accent-soft);color:var(--text)}.tree-row.selected .tree-count{color:#fff;background:#fff3}.tree-icon{width:14px;color:var(--muted);flex-shrink:0;font-size:11px}.tree-row.selected .tree-icon{color:var(--accent)}.tree-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tree-count{color:var(--muted);background:var(--border);border-radius:999px;flex-shrink:0;padding:2px 7px;font-size:11px}.tree-error{color:#fca5a5;padding:8px 12px;font-size:12px}.preview-canvas{background:var(--surface);flex-direction:column;min-width:0;height:100%;min-height:0;display:flex}.preview-canvas.drag-over{outline:2px solid var(--accent);outline-offset:-2px}.preview-viewport{background-color:#171717;background-image:linear-gradient(45deg,#242424 25%,#0000 25%),linear-gradient(-45deg,#242424 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#242424 75%),linear-gradient(-45deg,#0000 75%,#242424 75%);background-position:0 0,0 32px,32px -32px,-32px 0;background-size:64px 64px;flex:1;min-height:120px;position:relative;overflow:hidden}.preview-viewport-content{justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:auto}.preview-zoom-controls{z-index:3;border:1px solid var(--border);backdrop-filter:blur(4px);background:#141414e0;border-radius:6px;align-items:center;gap:8px;padding:6px 10px;display:flex;position:absolute;top:10px;right:10px}.preview-zoom-controls input[type=range]{width:100px;accent-color:var(--accent)}.preview-zoom-controls input[type=number]{text-align:center;width:52px;padding:4px 6px;font-size:12px}.preview-zoom-unit{color:var(--muted);font-size:12px}.preview-image-stage{transform-origin:50%;justify-content:center;align-items:center;padding:16px;display:flex}.preview-image{width:auto;max-width:100%;height:auto;max-height:100%;image-rendering:pixelated;object-fit:contain;display:block}.preview-canvas-inner{background:#00000014;border:2px dashed #ffffff59;border-radius:16px;flex:1;justify-content:center;align-items:center;min-height:0;margin:16px;display:flex;overflow:hidden}.preview-empty-state{text-align:center;color:#f3f4f6;max-width:420px;padding:24px}.preview-empty-title{margin:0 0 12px;font-size:18px;font-weight:600}.preview-empty-desc{color:#e5e7eb;margin:0 0 10px;font-size:13px;line-height:1.5}.preview-empty-formats{color:#d1d5db;margin:0;font-size:12px}.preview-message{color:#f3f4f6;font-size:14px}.preview-image.preview-image-atlas{image-rendering:auto}.preview-atlas-wrap{cursor:crosshair;max-width:100%;max-height:100%;line-height:0;display:inline-block;position:relative}.preview-atlas-wrap img{width:auto;max-width:min(100vw,100%);height:auto;max-height:min(80vh,100%);display:block}.preview-atlas-overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.preview-slice-region{fill:#5c68f71f;stroke:#7c85ff;stroke-width:2px;vector-effect:non-scaling-stroke}.preview-slice-region-active{fill:#5c68f738;stroke:var(--accent);stroke-width:3px}.preview-slice-source{fill:none;stroke:#fbbf24;stroke-width:2px;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.preview-slice-source-active{stroke:#f59e0b;stroke-width:2.5px}.preview-status-bar{background:var(--surface);flex-direction:column;flex-shrink:0;gap:8px;min-height:0;padding:8px 12px;display:flex;overflow:hidden}.preview-status-main{color:#d1d5db;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.preview-status-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px}.preview-status-name{color:#f3f4f6;font-weight:600}.preview-status-meta{color:var(--accent)}.preview-status-controls{align-items:center;gap:12px;display:flex}.preview-control-btn{padding:4px 12px;font-size:12px}.preview-fps{color:#d1d5db;align-items:center;gap:6px;font-size:12px;display:flex}.preview-fps input{width:48px;padding:4px 6px;font-size:12px}.preview-frame-bar{flex-wrap:wrap;flex:1;gap:6px;min-height:0;display:flex;overflow:auto}.frame-chip{text-overflow:ellipsis;white-space:nowrap;max-width:140px;min-height:28px;padding:6px 10px;font-size:11px;overflow:hidden}.frame-chip.active{background:var(--accent-soft);border-color:var(--accent)}.frame-more{color:var(--muted);align-self:center;font-size:11px}.settings-panel{background:#1c1c1cf5;flex-direction:column;height:100%;min-height:0;display:flex}.settings-panel-header{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;padding:10px 12px}.settings-panel-header h2{color:#d1d5db;margin:0;font-size:13px;font-weight:600}.settings-scroll{flex:1;min-height:0;overflow:auto}.settings-section{border-bottom:1px solid var(--border)}.settings-section-header{background:var(--panel);width:100%;color:var(--text);text-align:left;cursor:pointer;border:none;align-items:center;gap:8px;padding:10px 12px;font-size:13px;font-weight:600;display:flex}.settings-section-header:hover{background:var(--accent-soft)}.settings-chevron{color:var(--muted);font-size:10px;transition:transform .15s;display:inline-block}.settings-chevron.open{transform:rotate(90deg)}.settings-section-body{background:#1c1c1cf5;padding:4px 0 8px}.setting-row{grid-template-columns:110px minmax(0,1fr);align-items:center;gap:8px;min-height:36px;padding:6px 12px;display:grid}.setting-label{color:var(--muted);font-size:12px;line-height:1.35}.web-output-hint{color:var(--muted);font-size:12px;line-height:1.4}.setting-control input[type=text],.setting-control input[type=number]{border:1px solid var(--border);background:var(--surface);color:#f9fafb;border-radius:4px;width:100%;padding:6px 8px;font-size:12px}.path-picker{gap:4px;width:100%;display:flex}.path-picker-stack{flex-direction:column;gap:4px}.path-picker-hint{color:var(--muted);margin:0;font-size:11px;line-height:1.35}.path-picker input{flex:1;min-width:0}.path-picker button{padding:4px 10px;font-size:14px;line-height:1}.engine-check input,.inline-check input{accent-color:var(--accent)}.engine-checklist{flex-direction:column;gap:4px;display:flex}.engine-check{cursor:pointer;align-items:center;gap:6px;min-height:28px;font-size:12px;display:flex}.inline-check{cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}.settings-footer{border-top:1px solid var(--border);background:var(--surface);flex-shrink:0;padding:12px}.publish-btn{width:100%;margin:0;padding:10px;font-size:13px;font-weight:600}button{border:1px solid var(--border);color:#f9fafb;cursor:pointer;background:#202246;border-radius:4px;padding:8px 14px;font-family:inherit}button:hover{background:var(--accent-hover)}button.primary{background:#202246;border-color:#5c68f773}button.primary:hover{background:var(--accent-hover)}button:disabled{opacity:.55;cursor:not-allowed}code{background:#0000004d;border-radius:4px;padding:2px 6px;font-size:12px}.browser-warning,.toast{z-index:100;border-radius:8px;max-width:90%;padding:10px 16px;font-size:13px;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.browser-warning,.toast.error{color:#fecaca;background:#7f1d1d;border:1px solid #b91c1c}.toast.success{color:#bbf7d0;background:#14532d;border:1px solid #166534}@media (width<=1000px){.layout-left{min-width:180px!important}.layout-right{min-width:220px!important}}body.body--sheetgen{--accent-text:#46a4fb;--accent-text-hover:#46a4fb3d;--accent-text-muted:#46a4fb24;--accent:#5c68f7;--accent-hover:#5c68f73d;--accent-soft:#5c68f724}body.body--sheetgen .sheetgen-tool-mount .app-shell{height:100%!important;min-height:0!important}body.body--sheetgen .sheetgen-tool-mount .resizable-layout{flex:auto;min-height:0}
