:root{--color-bg:#15120d;--color-surface:#1f1a13;--color-surface-soft:#2a241b;--color-border:#f4eedf1f;--color-border-strong:#ffc71c59;--color-text:#f4eedf;--color-text-muted:#f4eedf9e;--color-text-soft:#f4eedf61;--color-accent:#ffc71c;--color-accent-soft:#ffc71c29;--color-accent-strong:#ffd84d;--color-danger:#ff5c5c;--color-danger-soft:#ff5c5c24;--shadow-soft:0 18px 48px #00000057;--shadow-glow:0 0 28px #ffc71c2e;--radius-lg:28px;--radius-md:18px;--radius-sm:12px;--font-main:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{width:100%;height:100%;color:var(--color-text);font-family:var(--font-main);background:radial-gradient(circle at 78% 22%,#ffc71c1f,#0000 28rem),linear-gradient(135deg,#100d09,#1a150f 58%,#0f0d0a);overflow:hidden}body{width:100%;height:100%;margin:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer}button:disabled,input:disabled{cursor:not-allowed;opacity:.55}input,select{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;color:var(--color-text);background:#0000003d;outline:none}input:focus,select:focus{border-color:var(--color-border-strong);box-shadow:0 0 0 3px var(--color-accent-soft)}input[type=text],input[type=number],select{height:36px;padding:0 10px}input[type=range]{accent-color:var(--color-accent)}h1,h2,p{margin:0}.app{grid-template-rows:auto auto auto auto minmax(0,1fr) auto;width:min(1440px,100vw - 24px);height:calc(100vh - 24px);margin:12px auto;display:grid;overflow:hidden}.workspace{gap:10px;min-height:0;margin-top:8px;display:grid;overflow:hidden}.sfx-workspace,.music-workspace,.sprites-workspace{grid-template-columns:250px minmax(320px,1fr) 280px}@media (width<=980px){html,body{overflow:auto}.app{height:auto;min-height:calc(100vh - 24px);overflow:visible}.workspace{grid-template-columns:1fr;overflow:visible}}.app-header{justify-content:space-between;align-items:center;gap:18px;min-height:0;display:flex}.brand{align-items:center;gap:14px;display:flex}.brand-logo{width:42px;height:42px;box-shadow:var(--shadow-glow);border-radius:12px}.brand-text h1{letter-spacing:-.06em;font-size:clamp(1.65rem,2.4vw,2.65rem);line-height:.95}.brand-text p{color:var(--color-text-muted);margin-top:2px;font-size:.84rem;font-weight:650}.mode-tabs{border:1px solid var(--color-border);background:#00000038;border-radius:999px;gap:6px;padding:5px;display:inline-flex}.mode-tab{min-width:82px;height:34px;color:var(--color-text-muted);background:0 0;border:0;border-radius:999px;font-weight:800}.mode-tab.is-active{background:var(--color-accent);color:#1b1509}@media (width<=720px){.app-header{flex-direction:column;align-items:flex-start}}.toolbar{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#00000038;flex-wrap:wrap;gap:6px;margin-top:10px;padding:8px;display:flex}.tool-button,.icon-button{border:1px solid var(--color-border);color:var(--color-text);background:#ffffff0a;place-items:center;font-weight:900;transition:transform .14s,border-color .14s,background .14s;display:inline-grid}.tool-button{border-radius:11px;min-width:40px;height:34px;padding:0 11px}.icon-button{border-radius:9px;width:28px;height:28px}.tool-button:hover,.icon-button:hover{border-color:var(--color-border-strong);background:var(--color-accent-soft);transform:translateY(-1px)}.tool-button.primary{background:var(--color-accent);color:#1b1509;border-color:#0000}.status-bar{min-height:18px;color:var(--color-text-soft);margin-top:6px;font-size:.78rem;font-weight:800}.status-bar.is-success{color:var(--color-accent)}.status-bar.is-error{color:var(--color-danger)}.icon-button.danger:hover{background:var(--color-danger-soft);color:var(--color-danger);border-color:#ff5c5c6b}.panel{border:1px solid var(--color-border);border-radius:var(--radius-md);background:linear-gradient(#ffffff09,#0000),#0003}.project-panel,.command-list,.inspector-panel{min-height:0;padding:9px;overflow:hidden}.project-panel,.inspector-panel{align-self:stretch}.inspector-panel{overflow-y:auto}.command-list{flex-direction:column;align-self:stretch;display:flex}.panel-scroll,.command-list-items{min-height:0;padding-right:4px;overflow-y:auto}.command-list-items{gap:5px;display:grid}.project-panel h2,.command-list h2,.inspector-panel h2{letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-soft);font-size:.68rem}.field{gap:3px;margin-top:7px;display:grid}.field span{color:var(--color-text-muted);font-size:.66rem;font-weight:800}.field-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}input[type=text],input[type=number],select{height:30px;padding:0 8px;font-size:.86rem}input.is-invalid{border-color:var(--color-danger);box-shadow:0 0 0 3px var(--color-danger-soft)}.asset-explorer{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#0000002e;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px;padding:8px;display:grid}.asset-explorer-group{grid-template-columns:auto 28px minmax(0,1fr);align-items:center;gap:8px;min-width:0;display:grid}.asset-explorer-group h2{color:var(--color-text-soft);letter-spacing:.1em;text-transform:uppercase;font-size:.66rem;font-weight:800}.asset-explorer-list{gap:5px;min-width:0;display:flex;overflow-x:auto}.asset-explorer-row{grid-template-columns:minmax(64px,auto) repeat(3,24px);align-items:center;gap:3px;min-width:0;display:inline-grid}.asset-explorer-item{border:1px solid var(--color-border);border-radius:var(--radius-sm);max-width:12rem;min-height:28px;color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;background:#ffffff0a;padding:0 9px;font-size:.78rem;font-weight:800;overflow:hidden}.asset-explorer-create,.asset-explorer-action{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-height:24px;color:var(--color-text-muted);background:#ffffff09;place-items:center;font-size:.72rem;font-weight:900;display:inline-grid}.asset-explorer-create{width:28px}.asset-explorer-action{text-indent:100%;white-space:nowrap;width:24px;overflow:hidden}.asset-explorer-action:before{text-indent:0}.asset-explorer-action[aria-label=Rename\ asset]:before{content:"R"}.asset-explorer-action[aria-label=Duplicate\ asset]:before{content:"D"}.asset-explorer-action[aria-label=Delete\ asset]:before{content:"X"}.asset-explorer-item:hover,.asset-explorer-item.is-active,.asset-explorer-create:hover,.asset-explorer-action:hover{border-color:var(--color-border-strong);background:var(--color-accent-soft);color:var(--color-accent)}.asset-explorer-action.danger:hover{background:var(--color-danger-soft);color:var(--color-danger);border-color:#ff5c5c6b}.asset-explorer-empty{color:var(--color-text-soft);font-size:.78rem;font-style:italic}.range-field{grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:12px;display:grid}.range-field strong{color:var(--color-accent);text-align:right;font-size:.88rem}.empty-state{color:var(--color-text-muted);margin:10px 0 0}.preset-panel{border-top:1px solid var(--color-border);margin-top:14px;padding-top:12px}.preset-row{grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:6px;margin-top:9px;display:grid}.preset-select{min-width:0}.preset-action-button{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-height:38px;color:var(--color-text);background:#ffffff0a;font-size:.82rem;font-weight:800;transition:transform .14s,border-color .14s,background .14s}.preset-action-button:hover{border-color:var(--color-border-strong);background:var(--color-accent-soft);transform:translateY(-1px)}.preset-action-button.primary{border-color:var(--color-border-strong);background:var(--color-accent-soft);color:var(--color-accent)}.readiness-panel{border-top:1px solid var(--color-border);margin-top:12px;padding-top:10px}.readiness-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.readiness-status{font-size:.78rem}.readiness-status.is-ready{color:var(--color-accent)}.readiness-status.is-warning{color:var(--color-accent-strong)}.readiness-status.is-error{color:var(--color-danger)}.readiness-meta{color:var(--color-text-muted);flex-wrap:wrap;gap:6px;margin-top:7px;font-size:.74rem;font-weight:800;display:flex}.readiness-message{color:var(--color-text-muted);margin:6px 0 0;font-size:.74rem;line-height:1.35}.music-panel{flex-direction:column;display:flex}.music-instruments{min-height:0}.music-instrument-list{gap:5px;min-height:0;max-height:11rem;padding-right:3px;display:grid;overflow-y:auto}.music-inspector .panel-title{margin-bottom:8px}.sprite-placeholder{min-height:100%;color:var(--color-text-muted);text-align:center;align-content:center;place-items:center;gap:8px;display:grid}.sprite-placeholder h2{color:var(--color-text);font-size:1rem}.sprite-preview-status{color:var(--color-text-soft);text-transform:uppercase;font-size:.78rem;font-weight:800}.sprites-asset-panel,.sprites-inspector-panel{flex-direction:column;gap:10px;display:flex}.sprite-tool-section,.sprite-inspector-section{border-top:1px solid var(--color-border);gap:7px;padding-top:9px;display:grid}.sprite-tool-section:first-child,.sprite-inspector-section:first-child{border-top:0;padding-top:0}.sprite-tool-section h2,.sprite-inspector-section h2,.sprite-selection-summary{color:var(--color-text-soft);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;font-weight:800}.sprite-color-row{grid-template-columns:42px minmax(0,1fr);gap:7px;display:grid}.sprite-color-row input[type=color]{height:36px;padding:2px}.sprite-palette{gap:6px;display:grid}.sprite-palette-header{grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:6px;display:grid}.sprite-palette-header h3{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.66rem;font-weight:800}.sprite-palette-list{gap:5px;max-height:220px;padding-right:2px;display:grid;overflow-y:auto}.sprite-palette-row{grid-template-columns:32px minmax(0,1fr) minmax(88px,1fr) 32px;align-items:center;gap:5px;display:grid}.sprite-palette-swatch{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-height:30px;color:var(--color-text);text-shadow:0 1px 2px #000000a6;place-items:center;font-size:.66rem;font-weight:900;display:inline-grid}.sprite-tool-grid,.sprite-action-grid,.sprite-action-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.sprite-button,.sprite-icon-button{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-height:32px;color:var(--color-text);background:#ffffff0a;place-items:center;font-weight:900;transition:transform .14s,border-color .14s,background .14s;display:inline-grid}.sprite-icon-button{padding:0;font-size:1rem}.sprite-button:hover,.sprite-icon-button:hover{border-color:var(--color-border-strong);background:var(--color-accent-soft);transform:translateY(-1px)}.sprite-button.danger:hover{background:var(--color-danger-soft);color:var(--color-danger);border-color:#ff5c5c6b}.sprite-icon-button.is-active{background:var(--color-accent);color:#1b1509;border-color:#0000}.sprite-icon-button.danger:hover{background:var(--color-danger-soft);color:var(--color-danger);border-color:#ff5c5c6b}.sprites-editor-area{padding:0;overflow:hidden}.sprite-canvas-wrap{background-color:#0000001f;background-image:linear-gradient(90deg,#ffffff09 1px,#0000 1px),linear-gradient(#ffffff09 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:24px 24px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;place-items:center;width:100%;height:100%;min-height:0;padding:18px;display:grid}.sprite-canvas{image-rendering:pixelated;background:0 0;display:block;box-shadow:0 18px 52px #00000061}.sprite-primitive-list-section{flex:auto;min-height:0}.primitive-list{flex-direction:column;gap:4px;min-height:0;margin:0;padding:0 3px 0 0;list-style:none;display:flex;overflow-y:auto}.primitive-list-item{min-height:28px;padding:4px 6px 4px calc(6px + var(--node-depth,0) * 16px);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff09;border:1px solid #0000;grid-template-columns:16px 20px 20px 18px minmax(0,1fr) 20px 20px 20px;align-items:center;gap:4px;font-size:.76rem;display:grid}.primitive-list-item.is-group{font-weight:800}.primitive-list-item.is-hidden-node{color:var(--color-text-soft);background:#ffffff05}.primitive-list-item.is-locked-node{box-shadow:inset 2px 0 0 var(--color-border-strong);border-style:dashed}.primitive-list-item:hover,.primitive-list-item.is-selected{border-color:var(--color-border-strong);background:var(--color-accent-soft);color:var(--color-accent)}.primitive-list-item:focus-visible{outline:3px solid var(--color-accent-soft);outline-offset:2px}.primitive-list-toggle{color:currentColor;background:0 0;border:0;width:16px;min-height:18px;padding:0;line-height:1}.primitive-list-toggle:disabled{cursor:default;opacity:0}.primitive-list-kind{color:var(--color-accent);justify-content:center;align-items:center;line-height:1;display:inline-flex}.primitive-list-group-marker{font-size:.82rem}.primitive-list-shape-marker{border:1px solid #ffffffb8;width:13px;height:13px;box-shadow:0 0 0 1px #0000006b}.primitive-list-shape-marker.is-rect{border-radius:3px}.primitive-list-shape-marker.is-circle{border-radius:999px}.primitive-list-shape-marker.is-triangle{width:0;height:0;box-shadow:none;background:0 0;border:7px solid #0000;border-top:0;border-bottom:13px solid}.primitive-list-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.primitive-list-action-button,.primitive-list-rename-button{color:currentColor;background:0 0;border:1px solid #0000;width:20px;min-height:20px;padding:0;font-size:.7rem;line-height:1}.primitive-list-rename-button,.primitive-list-move-button{opacity:0}.primitive-list-item:hover .primitive-list-rename-button,.primitive-list-item:focus-within .primitive-list-rename-button,.primitive-list-item:hover .primitive-list-move-button,.primitive-list-item:focus-within .primitive-list-move-button{opacity:1}.primitive-list-action-button:hover,.primitive-list-action-button:focus-visible,.primitive-list-rename-button:hover,.primitive-list-rename-button:focus-visible{border-color:var(--color-border-strong);background:var(--color-accent-soft)}.primitive-list-action-button:disabled{cursor:default;opacity:0}.primitive-list-name-input{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);width:100%;min-width:0;height:24px;color:var(--color-text);font:inherit;background:#0000003d;padding:2px 6px}.primitive-list-empty{color:var(--color-text-muted);padding:8px 6px;font-size:.78rem;font-style:italic}.sprite-clear-dialog{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:min(360px,100vw - 32px);color:var(--color-text);padding:0}.sprite-clear-dialog::backdrop{background:#0000008f}.sprite-clear-dialog-panel{gap:10px;padding:16px;display:grid}.sprite-clear-dialog-panel h2{color:var(--color-text);font-size:1rem}.sprite-clear-dialog-panel p{color:var(--color-text-muted);font-size:.86rem;line-height:1.35}.sprite-clear-dialog-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:4px;display:grid}@media (width<=1180px){.field-grid{grid-template-columns:1fr;gap:0}}@media (width<=980px){.asset-explorer{grid-template-columns:1fr}}.panel-title{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.panel-title.compact-title{margin:0}.list-row{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-height:31px;color:var(--color-text-muted);background:#ffffff09;justify-content:space-between;align-items:center;gap:10px;padding:0 9px;font-size:.84rem;font-weight:800;display:flex}.command-card{cursor:pointer;padding-block:7px}.command-card:focus-visible{outline:3px solid var(--color-accent-soft);outline-offset:2px}.command-card.is-selected,.list-row.is-selected{border-color:var(--color-border-strong);background:var(--color-accent-soft);color:var(--color-accent)}.sfx-command-row{grid-template-columns:42px 90px minmax(120px,1fr) 70px 70px;align-items:center;gap:10px;width:100%;display:grid}.sfx-command-row strong{color:var(--color-accent)}.command-actions{flex-shrink:0;gap:6px;display:inline-flex}.command-empty-state{border:1px dashed var(--color-border);border-radius:var(--radius-sm);justify-items:start;gap:10px;padding:22px;display:grid}.command-empty-state strong{color:var(--color-text)}.command-empty-state span{max-width:34rem}@media (width<=720px){.command-card{flex-direction:column;align-items:flex-start}.sfx-command-row{grid-template-columns:1fr}}.music-instruments{border-top:1px solid var(--color-border);grid-template-rows:auto minmax(0,1fr);gap:6px;margin-top:10px;padding-top:9px;display:grid}.music-list-button{text-align:left}.tracker-grid{align-content:start;gap:4px;display:grid}.music-note-grid{grid-template-columns:72px 64px minmax(80px,1fr) 64px 64px}.tracker-grid strong{z-index:1;color:var(--color-text-soft);letter-spacing:.08em;text-transform:uppercase;background:#15110c;padding:2px 0 3px;font-size:.68rem;position:sticky;top:0}.tracker-row{align-items:center;margin:0;display:grid}button.tracker-row{text-align:left}.music-notes{min-height:0}.music-notes .panel-title{flex:none;margin-bottom:8px}.music-notes .tracker-grid{flex:auto}.preview-panel{justify-content:space-between;align-items:center;gap:10px;min-height:0;margin-top:10px;padding:9px 10px;display:flex}.waveform{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:0 0;flex:auto;min-width:0;height:56px;padding:0;display:block;overflow:hidden}.waveform-canvas{width:100%;height:100%;display:block}.preview-meta{text-align:right;gap:2px;display:grid}.preview-meta span{color:var(--color-text-soft);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;font-weight:800}.preview-meta strong{color:var(--color-text);font-size:.86rem}@media (width<=720px){.preview-panel{flex-direction:column;align-items:stretch}.preview-meta{text-align:left}}
