: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}.lucide-icon{stroke:currentColor;flex:none;display:block}*{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 minmax(0,1fr) auto;width:min(1680px,100vw - 24px);height:calc(100vh - 24px);margin:12px auto;display:grid;overflow:hidden}.workspace{gap:8px;min-height:0;margin-top:8px;display:grid;overflow:hidden}.sfx-workspace,.music-workspace,.sprites-workspace,.animator-workspace{grid-template-columns:104px minmax(520px,1fr) 340px}@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{grid-template-columns:minmax(220px,auto) minmax(0,1fr) auto;align-items:center;gap:14px;min-height:0;display:grid}.brand{align-items:center;gap:14px;display:flex}.brand-logo{width:34px;height:34px;box-shadow:var(--shadow-glow);border-radius:10px}.brand-text h1{font-size:1.15rem;line-height:1}.asset-nav,.header-actions{align-items:center;gap:6px;display:flex}.asset-nav{justify-content:flex-end;min-width:0}.header-mode-button,.header-action-button{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);min-height:34px;color:var(--color-text);cursor:pointer;text-shadow:0 1px 1px #000000b8;background:#ffffff13;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:.82rem;font-weight:900;list-style:none;display:inline-flex}.header-mode-button:hover,.header-mode-button.is-active,.header-action-button:hover{border-color:var(--color-border-strong);background:var(--color-accent);color:#1b1509;text-shadow:none}.header-mode-button{min-width:118px}.header-action-button.icon-only{width:38px;padding:0}@media (width<=720px){.app-header{grid-template-columns:1fr;align-items:flex-start}.asset-nav{flex-wrap:wrap;justify-content:flex-start}}.toolbar{grid-template-columns:repeat(2,38px);place-content:start center;gap:8px;margin-top:0;padding:8px;display:grid}.project-panel.toolbar{grid-template-columns:repeat(2,38px);place-content:start center;gap:8px;display:grid;overflow-y:auto}.toolbar h2{display:none}.toolbar .sprite-tool-section{border-top:1px solid var(--color-border);grid-column:1/-1;gap:7px;width:100%;padding-top:8px}.toolbar .sprite-tool-section:first-child{border-top:0;padding-top:0}.toolbar .sprite-tool-grid,.toolbar .sprite-action-grid,.toolbar .sprite-action-row{grid-template-columns:repeat(2,38px);justify-content:center;gap:7px}.toolbar .sprite-transform-section{padding-bottom:1px}.toolbar .sprite-transform-section .sprite-action-grid{grid-template-columns:repeat(2,38px)}.toolbar .sprite-color-tool-section,.toolbar .sprite-color-control,.toolbar .sprite-color-hex-input{grid-column:1/-1}.toolbar .sprite-color-control{width:83px}.toolbar .sprite-button,.toolbar .sprite-icon-button{border-radius:10px;width:38px;min-width:38px;height:38px;min-height:38px;padding:0;font-size:1rem;line-height:1}.toolbar .sprite-button{background:#ffffff12}.toolbar .tool-button{border-radius:10px;width:38px;min-width:38px;height:38px;min-height:38px}.toolbar .sprite-selection-summary{display:none}.tool-button,.icon-button{border:1px solid var(--color-border-strong);color:var(--color-text);text-shadow:0 1px 1px #000000b8;background:#ffffff13;place-items:center;font-weight:900;transition:transform .14s,border-color .14s,background .14s;display:inline-grid}.tool-button{border-radius:10px;width:38px;min-width:38px;height:38px;min-height:38px;padding:0}.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);color:#1b1509;text-shadow:none;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);font-size:.78rem;font-weight:800}.app-footer{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:34px;margin-top:8px;display:grid}.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}.project-panel{flex-direction:column;gap:10px;display:flex;overflow-y:auto}.inspector-panel{overflow-y:auto}.inspector-embedded-section{border-bottom:1px solid var(--color-border);gap:8px;padding-bottom:10px;display:grid}.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;flex-direction:column;flex:auto;gap:7px;min-height:160px;max-height:38vh;padding:8px;display:flex;overflow-y:auto}.asset-explorer-group{min-width:0;display:block}.asset-explorer-summary{cursor:pointer;grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:8px;list-style:none;display:grid}.asset-explorer-summary::-webkit-details-marker{display:none}.asset-explorer-summary h2{color:var(--color-text-soft);letter-spacing:.1em;text-transform:uppercase;font-size:.66rem;font-weight:800}.asset-explorer-list{gap:4px;min-width:0;margin-top:6px;display:grid}.asset-explorer-row{grid-template-columns:minmax(0,1fr) repeat(3,24px);align-items:center;gap:3px;min-width:0;display:grid}.asset-explorer-item{border:1px solid var(--color-border);border-radius:var(--radius-sm);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-loop-controls{border-top:1px solid var(--color-border);gap:7px;margin-top:9px;padding-top:9px;display:grid}.music-loop-controls .field{margin-top:0}.music-loop-controls input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-accent)}.music-loop-status{color:var(--color-text-muted);font-size:.68rem;font-weight:760;line-height:1.35}.music-selection-controls{border-top:1px solid var(--color-border);gap:7px;margin-top:9px;padding-top:9px;display:grid}.music-selection-controls .field{margin-top:0}.music-selection-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.primary-button,.secondary-button,.danger-button{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-height:30px;color:var(--color-text);background:#ffffff0b;padding:0 8px;font-size:.68rem;font-weight:850}.primary-button:hover,.secondary-button:hover,.danger-button:hover{border-color:var(--color-border-strong);background:#ffffff13}.primary-button{color:#72d6ff;border-color:#72d6ff5c}.danger-button{color:var(--color-danger);border-color:#ff626261}.music-selection-status{color:var(--color-text-muted);font-size:.68rem;font-weight:760;line-height:1.35}.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}input[data-field=spriteColor]{text-transform:uppercase}.sprite-color-tool-section{justify-items:center}.sprite-color-control{grid-template-rows:54px 28px;grid-template-columns:repeat(2,38px);justify-content:center;gap:7px;width:100%;display:grid;position:relative}.sprite-color-swatch{border:2px solid var(--color-border-strong);background:linear-gradient(45deg, #fff3 25%, transparent 25%), linear-gradient(-45deg, #fff3 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #fff3 75%), linear-gradient(-45deg, transparent 75%, #fff3 75%), var(--sprite-color,#111);cursor:pointer;background-position:0 0,0 6px,6px -6px,-6px 0;background-size:12px 12px;border-radius:8px;width:38px;height:38px;transition:transform .14s,border-color .14s,box-shadow .14s;display:block;position:absolute;box-shadow:0 8px 18px #00000057}.sprite-color-swatch.foreground{z-index:2;top:2px;left:19px}.sprite-color-swatch.background{z-index:1;top:14px;right:19px}.sprite-color-swatch.is-active{z-index:3;border-color:var(--color-accent);box-shadow:0 0 0 2px #ffd2572e,0 10px 22px #0000006b}.sprite-color-swatch:hover{border-color:var(--color-accent);transform:translateY(-1px)}.sprite-color-picker-input{opacity:0;pointer-events:none;width:1px;height:1px;position:fixed}.sprite-color-hex-input{border-color:var(--color-border-strong);text-align:center;letter-spacing:.02em;text-transform:uppercase;grid-area:2/1/auto/-1;width:83px;height:28px;padding:0 5px;font-size:.64rem;font-weight:850}.sprite-inspector-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.sprite-tab-button{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-height:32px;color:var(--color-text-muted);background:#ffffff0a;font-size:.76rem;font-weight:900}.sprite-tab-button.is-active{background:var(--color-accent);color:#1b1509;border-color:#0000}.sprite-inspector-tab-panel{min-height:0;display:none}.sprite-inspector-tab-panel.is-active{flex-direction:column;flex:auto;justify-content:flex-start;gap:10px;display:flex}.sprite-example-section{align-content:start}.sprite-example-name{min-width:0;color:var(--color-text);overflow-wrap:anywhere;font-size:.78rem}.sprite-example-actions{grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:6px;display:grid}.sprite-example-actions input[type=file]{width:100%;min-width:0;font-size:.72rem}.sprite-path-properties[hidden]{display:none}.sprite-path-properties label,.sprite-path-point-row{grid-template-columns:minmax(4rem,1fr) minmax(0,6rem);align-items:center;gap:.5rem;display:grid}.sprite-path-properties label+label,.sprite-path-property-line,.sprite-path-points{margin-top:.5rem}.sprite-path-point-row{grid-template-columns:2rem minmax(0,1fr) minmax(0,1fr) 32px;margin-top:.375rem}.sprite-path-point-row input{min-width:0}.sprite-tool-grid,.sprite-action-grid,.sprite-action-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.sprite-primitive-actions-row{grid-template-columns:repeat(5,minmax(0,1fr))}.sprite-button,.sprite-icon-button{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);min-height:32px;color:var(--color-text);text-shadow:0 1px 1px #000000b8;background:#ffffff13;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);color:#1b1509;text-shadow:none;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;position:relative;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;width:100%;height:100%;min-height:0;padding:18px;display:block;overflow:auto}.sprite-canvas-zoom{z-index:3;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-soft);text-transform:uppercase;background:#0f1218e0;justify-items:center;gap:7px;padding:8px 7px;font-size:.68rem;font-weight:800;display:grid;position:absolute;top:12px;right:12px;box-shadow:0 10px 26px #00000052}.sprite-canvas-zoom input{writing-mode:vertical-rl;width:24px;height:144px;accent-color:var(--color-accent);direction:rtl}.sprite-canvas{image-rendering:pixelated;background:0 0;margin:0 auto 18px;display:block;box-shadow:0 18px 52px #00000061}.sprite-primitive-list-section{flex:0 auto;justify-content:flex-start;align-self:stretch;min-height:0}.primitive-list{flex-direction:column;justify-content:flex-start;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;place-items:center;width:16px;min-height:18px;padding:0;line-height:1;display:inline-grid}.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{width:14px;height:14px}.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-shape-marker.is-path{width:15px;height:13px;box-shadow:none;background:0 0;border:0;position:relative}.primitive-list-shape-marker.is-path:before{content:"";background:var(--primitive-path-color,currentColor);border-radius:999px;height:3px;position:absolute;top:6px;left:1px;right:1px;transform:rotate(-24deg);box-shadow:0 0 0 1px #0000006b}.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;place-items:center;width:20px;min-height:20px;padding:0;font-size:.7rem;line-height:1;display:inline-grid}.primitive-list-toggle .lucide-icon,.primitive-list-kind .lucide-icon,.primitive-list-action-button .lucide-icon,.primitive-list-rename-button .lucide-icon{width:13px;height:13px}.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}@media (width<=1180px){.field-grid{grid-template-columns:1fr;gap:0}}@media (width<=980px){.asset-explorer{max-height:360px}}.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{grid-template-rows:auto minmax(0,1fr);gap:6px;min-height:0;display:grid}.music-workspace{grid-template-columns:220px minmax(520px,1fr) 340px}.music-sidebar-panel{gap:9px}.music-sidebar-panel .music-toolbar-panel{border-bottom:1px solid var(--color-border);grid-template-columns:repeat(4,38px);justify-content:start;width:100%;padding:0 0 9px}.music-list-button{text-align:left;text-overflow:ellipsis;white-space:nowrap;border-radius:9px;min-height:32px;padding:0 10px;font-size:.82rem;font-weight:850;overflow:hidden}.tracker-grid{align-content:start;gap:4px;display:grid}.music-note-grid{grid-template-columns:40px 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}.tracker-inline-input{border-radius:var(--radius-sm);height:31px;min-height:31px;padding:0 7px;font-size:.78rem;font-weight:850}.tracker-inline-input.is-selected{color:var(--color-accent)}.tracker-select-button{border:1px solid var(--color-border);border-radius:var(--radius-sm);height:31px;min-height:31px;color:var(--color-text-muted);background:#ffffff0b;padding:0;font-size:1rem;font-weight:900}.tracker-select-button.is-selected{color:var(--color-accent);background:#ffd35f21;border-color:#ffd35fbd}.tracker-select-button.is-playing{color:#dff9ce;background:#95e06c29;border-color:#95e06ce6}.tracker-inline-input.is-playing{color:#dff9ce;background:#95e06c29;border-color:#95e06ce6;box-shadow:inset 0 0 0 1px #95e06c47}.music-notes{min-height:0}.music-notes .panel-title{flex:none;margin-bottom:8px}.music-notes .tracker-grid{flex:auto}.music-timeline{border:1px solid var(--color-border);background:#00000024;border-radius:10px;grid-template-rows:22px minmax(96px,auto);gap:6px;margin-bottom:9px;padding:8px;display:grid;overflow-x:auto}.music-timeline-ruler{border-bottom:1px solid var(--color-border);min-width:680px;height:22px;position:relative}.music-timeline-ruler span{width:1px;height:100%;color:var(--color-text-soft);background:#f4eedf1f;font-size:.62rem;font-weight:800;position:absolute;top:0}.music-timeline-ruler span.is-bar{background:var(--color-border-strong);width:2px}.music-timeline-lanes{cursor:pointer;gap:5px;min-width:680px;display:grid;position:relative}.music-timeline-lane{border-bottom:1px solid #f4eedf12;min-height:28px;position:relative}.music-timeline-lane-label{z-index:2;width:82px;height:24px;color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;background:#15120df0;align-items:center;padding:0 7px;font-size:.68rem;font-weight:850;display:inline-grid;position:sticky;left:0;overflow:hidden}.music-timeline-note{z-index:1;color:#15120d;text-align:left;text-overflow:ellipsis;white-space:nowrap;border:1px solid #ffffff47;border-radius:5px;min-width:12px;height:21px;padding:0 5px;font-size:.62rem;font-weight:900;position:absolute;top:3px;overflow:hidden}.music-timeline-note.instrument-0{background:var(--color-accent)}.music-timeline-note.instrument-1{background:#72d6ff}.music-timeline-note.instrument-2{background:#95e06c}.music-timeline-note.instrument-3{background:#ff9f7a}.music-timeline-note.instrument-4{background:#c9a1ff}.music-timeline-note.is-selected{outline-offset:1px;outline:2px solid #fff}.music-timeline-note.is-playing{z-index:2;filter:brightness(1.18);border-color:#fff;box-shadow:0 0 0 2px #95e06c6b,0 0 16px #95e06c8c}.music-loop-overlay{z-index:0;pointer-events:none;position:absolute;inset:0}.music-loop-intro,.music-loop-region{display:none;position:absolute;top:0;bottom:0}.music-loop-overlay.is-enabled .music-loop-intro,.music-loop-overlay.is-enabled .music-loop-region{display:block}.music-loop-intro{background:#ffffff09}.music-loop-region{background:#ffc71c1f;border-inline:1px solid #ffc71cb3}.music-loop-marker{z-index:3;width:18px;height:100%;color:var(--color-accent);cursor:ew-resize;background:#15110c;border:1px solid #ffc71ccc;border-radius:5px;place-items:center;padding:0;font-size:.62rem;font-weight:950;display:grid;position:absolute;top:0;transform:translate(-50%)}.music-loop-marker.is-end{color:#72d6ff;border-color:#72d6ffcc}.music-playhead{z-index:4;pointer-events:none;will-change:transform;background:#fff;width:2px;position:absolute;top:0;bottom:0;transform:translate(-1px);box-shadow:0 0 0 1px #0000007a,0 0 12px #ffffff8c}@media (width<=980px){.music-workspace{grid-template-columns:1fr}}.preview-panel{justify-content:space-between;align-items:center;gap:10px;min-height:0;margin-top:10px;padding:9px 10px;display:flex}.app-footer .preview-panel{margin-top:0}.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;position:relative;overflow:hidden}.music-waveform-preview{cursor:pointer}.waveform-canvas{width:100%;height:100%;display:block}.music-waveform-preview .music-loop-overlay{z-index:1}.music-waveform-preview .music-playhead{z-index:3}.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}}.animator-editor-area{grid-template-rows:minmax(260px,1fr) auto minmax(180px,.75fr);gap:8px;display:grid}.animator-preview-wrap{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#00000042;min-height:260px;position:relative;overflow:hidden}.animator-preview-canvas{width:100%;height:100%;display:block}.animator-transport{grid-template-columns:minmax(0,1fr) 112px;align-items:center;gap:10px;min-height:38px;padding:0 3px;display:grid}.animator-transport strong{color:var(--color-text-soft);text-align:right;font-size:.78rem}.animator-timeline{min-height:0;overflow:auto}.animator-section-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.animator-empty,.animator-inspector-value,.animator-muted-cell{color:var(--color-text-muted);font-size:.82rem}.animator-key-table{border-collapse:collapse;width:100%;min-width:660px}.animator-key-table th,.animator-key-table td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle;padding:5px}.animator-key-table th{color:var(--color-text-soft);letter-spacing:.1em;text-transform:uppercase;font-size:.66rem}.animator-key-table tr.is-selected td{background:var(--color-accent-soft)}.animator-key-table input,.animator-key-table select{min-width:88px;height:30px}.animator-table-actions{gap:5px;min-width:96px;display:flex}.animator-inspector{gap:12px;display:grid}.animator-inspector-section{border-bottom:1px solid var(--color-border);gap:8px;padding-bottom:12px;display:grid}.animator-inspector-section:last-child{border-bottom:0}.animator-inspector input[type=checkbox]{width:20px;height:20px;accent-color:var(--color-accent)}.animator-preset-row{grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:7px;display:grid}.animator-asset-panel.toolbar .sprite-button{place-items:center;display:inline-grid}.animator-toolbar-controls{display:contents}@media (width<=980px){.animator-editor-area{grid-template-rows:minmax(280px,44vh) auto minmax(220px,auto)}}.font-workspace{grid-template-columns:190px minmax(560px,1fr) 300px}.font-glyph-panel,.font-inspector-panel{overflow-y:auto}.font-panel-heading,.font-line-row,.font-tool-row,.font-preview-controls,.font-settings-actions{align-items:center;gap:7px;display:flex}.font-panel-heading{justify-content:space-between;margin-bottom:8px}.font-glyph-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.font-glyph-item{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-width:0;color:var(--color-text);background:#ffffff0a;grid-template-columns:40px 1fr;align-items:center;padding:3px;display:grid}.font-glyph-item:hover,.font-glyph-item.is-active,.font-line-row.is-active{border-color:var(--color-border-strong);background:var(--color-accent-soft);color:var(--color-accent)}.font-glyph-thumb{width:40px;height:40px}.font-editor-area{gap:8px}.font-tool-row{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#ffffff09;flex:none;grid-template-columns:38px;align-content:start;gap:7px;padding:8px;display:grid}.font-editor-main{flex:auto;grid-template-columns:auto minmax(0,1fr);gap:8px;height:100%;min-height:0;display:grid}.font-canvas-wrap{flex:auto;place-items:center;min-height:0;display:grid;overflow:hidden}.font-canvas{aspect-ratio:1;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);touch-action:none;width:min(100%,520px);display:block}.font-tool-row .tool-button:disabled{cursor:not-allowed;opacity:.38;transform:none}.font-tool-row .tool-button:disabled:hover{border-color:var(--color-border-strong);color:var(--color-text);text-shadow:0 1px 1px #000000b8;background:#ffffff13}.font-inspector-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.font-tab-button{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-height:32px;color:var(--color-text-muted);background:#ffffff0a;font-size:.74rem;font-weight:900}.font-tab-button.is-active{background:var(--color-accent);color:#1b1509;border-color:#0000}.font-inspector-tab-panel{min-height:0;display:none}.font-inspector-tab-panel.is-active{flex-direction:column;flex:auto;justify-content:flex-start;gap:10px;display:flex}.font-inspector-tab-panel>h2,.font-inspector-panel .font-panel-heading,.font-endpoint-section{margin-top:14px}.font-inspector-tab-panel>h2:first-child{margin-top:0}.font-settings-actions{padding-top:4px}.font-line-list{gap:5px;display:grid}.font-line-row{border-radius:var(--radius-sm);border:1px solid #0000;padding:4px}.font-line-row input{text-transform:uppercase;font-family:monospace}.font-endpoint-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.font-preview-controls{flex:none;width:390px}.font-preview-canvas{border:1px solid var(--color-border);border-radius:var(--radius-sm);flex:auto;width:100%;min-width:0;height:64px;display:block}@media (width<=1100px){.font-workspace{grid-template-columns:150px minmax(500px,1fr) 260px}.font-canvas{width:min(100%,480px)}}@media (width<=980px){.font-editor-main{grid-template-columns:1fr}.font-tool-row{grid-template-columns:repeat(5,38px);justify-content:center}}
