:root{--bg-app:#121316;--bg-card:#1c1e22;--bg-card-hover:#22252a;--bg-input:#17181c;--border-subtle:#292d35;--border-active:#4a5160;--text-primary:#f0f2f5;--text-secondary:#9aa1ad;--text-muted:#6b7280;--green:#2e7d32;--green-hover:#256628;--redstone:#c62828;--blue:#2563eb;--blue-hover:#1d4ed8;--gold:#d97706;--radius:8px;--radius-lg:12px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-app);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;padding:2rem 1rem 3rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5}.app-container{flex-direction:column;gap:1.25rem;max-width:980px;margin:0 auto;display:flex}.app-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.5rem;display:flex}.brand{flex-direction:column;gap:.2rem;display:flex}.brand h1{letter-spacing:-.015em;color:var(--text-primary);align-items:center;gap:.6rem;font-size:1.5rem;font-weight:700;display:flex}.brand-icon{background:var(--green);color:#fff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:.85rem;display:inline-flex}.brand-desc{color:var(--text-secondary);font-size:.9rem}.header-links{align-items:center;gap:.75rem;display:flex}.panel{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);flex-direction:column;gap:1rem;padding:1.25rem 1.5rem;display:flex}.panel-header{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.panel-title{color:var(--text-primary);letter-spacing:-.01em;font-size:1rem;font-weight:600}.panel-subtitle{color:var(--text-muted);font-size:.8rem}.dropzone{border:1px dashed var(--border-active);border-radius:var(--radius);text-align:center;cursor:pointer;background:#ffffff04;padding:2rem 1.5rem;transition:all .15s}.dropzone:hover,.dropzone.dragover{border-color:var(--green);background:#2e7d320d}.dropzone-label{color:var(--text-primary);margin-bottom:.25rem;font-size:1rem;font-weight:500}.dropzone-hint{color:var(--text-muted);font-size:.82rem}.upload-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.25rem;display:flex}.btn{border-radius:var(--radius);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:.45rem;padding:.55rem 1rem;font-size:.88rem;font-weight:500;text-decoration:none;transition:all .12s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--green);color:#fff;border-color:#ffffff1a}.btn-primary:hover{background:var(--green-hover)}.btn-subtle{color:var(--text-primary);border-color:var(--border-subtle);background:#252830}.btn-subtle:hover{border-color:var(--border-active);background:#2c3039}.btn-blue{background:var(--blue);color:#fff}.btn-blue:hover{background:var(--blue-hover)}.btn-sm{padding:.35rem .65rem;font-size:.8rem}.player-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.transport-actions{align-items:center;gap:.35rem;display:flex}.scrubber{min-width:180px;height:6px;accent-color:var(--green);cursor:pointer;border-radius:3px;flex:1}.time-counter{color:var(--text-secondary);white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82rem}.time-counter strong{color:var(--text-primary)}.control-group{color:var(--text-muted);align-items:center;gap:.4rem;font-size:.82rem;display:flex}.mini-select,.mini-input{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:6px;padding:.35rem .55rem;font-size:.82rem}.mini-slider{width:75px;accent-color:var(--green);cursor:pointer}.canvas-wrapper{border:1px solid var(--border-subtle);border-radius:var(--radius);background:#141619;height:120px;overflow:hidden}canvas#visualizer{width:100%;height:100%;display:block}.workspace-grid{grid-template-columns:320px 1fr;gap:1.25rem;display:grid}@media (max-width:820px){.workspace-grid{grid-template-columns:1fr}}.settings-stack{flex-direction:column;gap:.85rem;display:flex}.setting-row{flex-direction:column;gap:.3rem;display:flex}.setting-row label{color:var(--text-secondary);font-size:.82rem;font-weight:500}.setting-row input[type=number]{background:var(--bg-input);border:1px solid var(--border-subtle);color:var(--text-primary);border-radius:var(--radius);padding:.45rem .65rem;font-size:.88rem}.checkbox-row{cursor:pointer;color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.84rem;display:flex}.checkbox-row input{accent-color:var(--green)}.track-table{flex-direction:column;gap:.4rem;max-height:250px;padding-right:.35rem;display:flex;overflow-y:auto}.track-item{border:1px solid var(--border-subtle);border-radius:var(--radius);background:#181a1d;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem .75rem;display:flex}.track-meta{flex:1;align-items:center;gap:.6rem;min-width:0;display:flex}.track-title{white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:500;overflow:hidden}.track-count{color:var(--text-muted);font-family:ui-monospace,monospace;font-size:.72rem}.badge-drum{color:#ef5350;background:#c6282833;border-radius:4px;padding:.1rem .4rem;font-size:.7rem}.track-tools{align-items:center;gap:.4rem;display:flex}.toggle-btn{border:1px solid var(--border-subtle);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;width:26px;height:26px;font-size:.72rem;font-weight:700;display:inline-flex}.toggle-btn.is-muted{background:var(--redstone);color:#fff;border-color:var(--redstone)}.toggle-btn.is-soloed{background:var(--gold);color:#000;border-color:var(--gold)}.stats-ribbon{grid-template-columns:repeat(4,1fr);gap:.75rem;display:grid}@media (max-width:600px){.stats-ribbon{grid-template-columns:repeat(2,1fr)}}.stat-cell{border:1px solid var(--border-subtle);border-radius:var(--radius);text-align:center;background:#17181c;padding:.75rem 1rem}.stat-number{color:var(--text-primary);font-family:ui-monospace,monospace;font-size:1.35rem;font-weight:700}.stat-desc{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-top:.15rem;font-size:.72rem}.schematic-naming-row{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius);align-items:center;gap:.75rem;padding:.5rem .85rem;display:flex}.schematic-name-label{color:var(--text-secondary);white-space:nowrap;font-size:.85rem;font-weight:500}.schematic-name-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:.9rem}.schematic-ext-hint{color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.export-actions{flex-wrap:wrap;gap:.75rem;display:flex}.export-btn{flex:1;min-width:220px;padding:.75rem 1.25rem;font-size:.95rem}.setting-label-group{flex-direction:column;gap:.15rem;display:flex}.setting-hint{color:var(--text-muted);font-size:.76rem;line-height:1.3}.schematic-header-badges{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.badge-dim{border:1px solid var(--border-subtle);color:#38bdf8;background:#ffffff0f;border-radius:6px;padding:.2rem .55rem;font-family:ui-monospace,monospace;font-size:.78rem}.preview-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.preview-layer-group,.preview-zoom-group{align-items:center;gap:.35rem;display:flex}.schematic-canvas-container{border:1px solid var(--border-subtle);border-radius:var(--radius);background:#0f1013;max-height:480px;padding:.75rem;display:flex;overflow:auto}.schematic-canvas-container canvas{image-rendering:pixelated;cursor:crosshair;flex-shrink:0;margin:auto;display:block}.block-inspector-bar{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;min-height:38px;padding:.55rem .85rem;font-size:.82rem;display:flex}.inspector-hint{color:var(--text-muted);font-style:italic}.inspector-coord{color:#94a3b8;font-family:ui-monospace,monospace;font-size:.8rem}.inspector-details{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.inspector-badge{color:#f1f5f9;background:#ffffff14;border-radius:4px;padding:.15rem .45rem;font-size:.75rem;font-weight:600}.inspector-badge-note{color:#fef3c7;background:#78350f}.inspector-badge-rep{color:#fee2e2;background:#991b1b}.inspector-badge-wire{color:#fecaca;background:#b91c1c}.inspector-item{color:var(--text-secondary)}.inspector-item strong{color:var(--text-primary)}.materials-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.85rem;display:grid}.material-category-card{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius);flex-direction:column;gap:.5rem;padding:.85rem 1rem;display:flex}.material-cat-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);padding-bottom:.35rem;font-size:.75rem;font-weight:700}.material-items-list{flex-direction:column;gap:.35rem;display:flex}.material-row{justify-content:space-between;align-items:baseline;gap:.5rem;font-size:.84rem;display:flex}.material-name-col{flex-direction:column;gap:.1rem;display:flex}.material-name{color:var(--text-primary);font-weight:500}.material-inst-tag{color:var(--text-muted);font-size:.72rem}.material-count-col{flex-shrink:0;align-items:baseline;gap:.35rem;display:flex}.material-total{color:#38bdf8;font-family:ui-monospace,monospace}.material-stacks{color:var(--text-muted);font-size:.75rem}.guide-box{border:1px solid var(--border-subtle);border-radius:var(--radius);color:var(--text-secondary);background:#16181b;padding:.85rem 1rem;font-size:.82rem}.guide-box h4{color:var(--text-primary);margin-bottom:.35rem;font-size:.85rem}.guide-box ol{flex-direction:column;gap:.25rem;padding-left:1.2rem;display:flex}.guide-box code{color:#e5e7eb;background:#ffffff14;border-radius:4px;padding:.1rem .3rem;font-family:ui-monospace,monospace}.app-footer{text-align:center;color:var(--text-muted);border-top:1px solid var(--border-subtle);padding-top:1rem;font-size:.8rem}.app-footer a{color:var(--text-secondary);text-decoration:underline}.app-footer a:hover{color:var(--text-primary)}
