:root{--bg-deep: #050505;--bg-panel: #0c0c0e;--bg-surface: #141417;--bg-elevated: #1c1c22;--border: rgba(255,255,255,.06);--border-strong: rgba(255,255,255,.12);--primary: #00e5ff;--primary-dim: rgba(0,229,255,.1);--primary-border: rgba(0,229,255,.3);--accent: #ffd600;--danger: #ff1744;--success: #00e676;--text: #f0f0f5;--text-mid: #a0a0b0;--text-dim: #606070;--chroma-green: #00ff66;--font-ui: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--header-h: 52px;--panel-w: 300px;--radius: 10px;--radius-sm: 6px;--shadow: 0 4px 24px rgba(0,0,0,.5)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;background:var(--bg-deep);color:var(--text);font-family:var(--font-ui);font-size:13px;overflow:hidden}.app{display:flex;flex-direction:column;height:100vh}.header{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:var(--bg-panel);border-bottom:1px solid var(--border);flex-shrink:0}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:32px;height:32px;border:2px solid var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative}.brand-dot{width:10px;height:10px;background:var(--primary);border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.5)}}.brand-text{display:flex;align-items:baseline;gap:8px}.brand-name{font-size:16px;font-weight:700;letter-spacing:.5px}.brand-name span{color:var(--primary)}.brand-badge{font-size:9px;font-weight:600;letter-spacing:1px;color:var(--primary);border:1px solid var(--primary-border);padding:1px 6px;border-radius:4px}.header-status{font-size:11px;color:var(--text-mid)}.main{flex:1;display:flex;overflow:hidden}.panel{width:var(--panel-w);background:var(--bg-panel);border-right:1px solid var(--border);overflow-y:auto;flex-shrink:0}.panel-right{border-right:none;border-left:1px solid var(--border)}.section{padding:16px;border-bottom:1px solid var(--border)}.section.hidden{display:none}.section-title{font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-mid);margin-bottom:12px}.section-hint{font-size:10px;color:var(--text-dim);margin-bottom:10px}.dropzone{border:1px dashed rgba(0,229,255,.25);border-radius:var(--radius);padding:30px 20px;text-align:center;cursor:pointer;transition:all .2s;background:var(--primary-dim)}.dropzone:hover,.dropzone.dragover{border-color:var(--primary);background:#00e5ff26}.dropzone-icon{font-size:28px;margin-bottom:8px;opacity:.6}.dropzone p{font-weight:500;margin-bottom:4px}.dropzone small{font-size:10px;color:var(--text-dim);letter-spacing:1px;text-transform:uppercase}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stat-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px}.stat-val{font-family:var(--font-mono);font-size:16px;font-weight:700;color:var(--text)}.stat-lbl{font-size:9px;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin-top:2px}.timeline-controls{display:flex;align-items:center;gap:10px;margin-bottom:8px}.btn-icon{width:36px;height:36px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--primary);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.btn-icon:hover{background:var(--bg-elevated)}input[type=range]{flex:1;-webkit-appearance:none;appearance:none;height:6px;background:var(--bg-surface);border-radius:3px;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;background:var(--primary);border-radius:50%;cursor:grab}.range-info{display:flex;justify-content:space-between;font-size:10px;color:var(--text-mid)}.range-info strong{color:var(--text);font-family:var(--font-mono)}.preset-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.preset-card{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:7px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;text-align:left;font-family:inherit;color:inherit;transition:border-color .15s,background .15s}.preset-card:hover{border-color:var(--border-strong)}.preset-card.selected{border-color:var(--primary);background:var(--primary-dim)}.preset-thumb{width:100%;height:26px;border-radius:3px;border:1px solid var(--border)}.preset-name{font-size:11px;font-weight:600;color:var(--text)}.preset-desc{font-size:9px;color:var(--text-dim);line-height:1.3}.blocks-list{display:flex;flex-direction:column;gap:6px}.block-item{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;cursor:pointer}.block-item:hover{border-color:var(--border-strong)}.block-item.selected{border-color:var(--primary);background:var(--primary-dim)}.block-header{display:flex;align-items:center;gap:8px}.block-header input[type=checkbox]{accent-color:var(--primary)}.block-name{font-size:11px;font-weight:500}.block-editor{margin-top:8px;padding-top:8px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.editor-row{display:flex;align-items:center;gap:6px}.editor-row label{font-size:9px;color:var(--text-dim);text-transform:uppercase;min-width:20px}.editor-row label:first-child{min-width:60px}.editor-row input[type=number],.editor-row input[type=text]{flex:1;background:var(--bg-deep);border:1px solid var(--border);border-radius:4px;color:var(--text);font-family:var(--font-mono);font-size:11px;padding:4px 6px}.editor-row input[type=color]{width:30px;height:24px;padding:1px;border-radius:4px;border:1px solid var(--border)}.editor-row input[type=range]{flex:1}.editor-row span{font-size:10px;color:var(--text-mid);min-width:30px}.preview-area{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#000}.preview-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:var(--bg-panel);border-bottom:1px solid var(--border)}.preview-info{display:flex;gap:8px}.badge{font-size:10px;font-family:var(--font-mono);color:var(--text-mid);background:var(--bg-surface);padding:3px 10px;border-radius:4px;border:1px solid var(--border)}.preview-actions{display:flex;gap:8px}.btn{font-family:var(--font-ui);font-size:11px;font-weight:500;border-radius:var(--radius-sm);padding:6px 12px;cursor:pointer;border:1px solid var(--border);transition:all .15s}.btn-outline{background:var(--bg-surface);color:var(--text)}.btn-outline:hover{background:var(--bg-elevated);border-color:var(--border-strong)}.btn-primary{background:var(--primary);color:#000;border-color:var(--primary);font-weight:700}.btn-primary:hover{opacity:.85}.btn-primary:disabled{background:var(--bg-surface);color:var(--text-dim);border-color:var(--border);cursor:not-allowed}.btn-danger{background:transparent;color:var(--danger);border-color:var(--danger)}.btn-large{width:100%;padding:12px;font-size:13px;letter-spacing:1px;text-transform:uppercase}.canvas-container{flex:1;display:flex;align-items:center;justify-content:center;padding:20px;overflow:hidden;background:linear-gradient(45deg,#1a1a1a 25%,transparent 25%),linear-gradient(-45deg,#1a1a1a 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#1a1a1a 75%),linear-gradient(-45deg,transparent 75%,#1a1a1a 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px;background-color:#111}#previewCanvas{box-shadow:0 0 40px #000c;max-width:100%;max-height:100%}.engine-info{font-size:10px;font-family:var(--font-mono);padding:6px 10px;border-radius:var(--radius-sm);margin-bottom:12px;background:var(--bg-surface);border:1px solid var(--border);color:var(--text-mid)}.engine-info.engine-fast{color:var(--success);border-color:#00e6764d}.engine-info.engine-slow{color:var(--accent);border-color:#ffd6004d}.export-form{display:flex;flex-direction:column;gap:12px}.form-row{display:flex;flex-direction:column;gap:6px}.form-row label{font-size:10px;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--text-mid)}.form-row select,.form-row input{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font-ui);font-size:12px;padding:8px 10px}.range-sliders{display:flex;flex-direction:column;gap:4px}.range-sliders input[type=range]{width:100%}.range-summary{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-family:var(--font-mono);color:var(--text-mid)}.export-actions{margin-top:16px}.export-actions button{width:100%}.hidden{display:none!important}.export-progress{margin-top:12px}.progress-bar{height:6px;background:var(--bg-surface);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:var(--primary);width:0%;transition:width .1s}.progress-label{display:block;text-align:center;font-size:10px;color:var(--text-mid);margin-top:4px;font-family:var(--font-mono)}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--bg-panel);border:1px solid var(--primary-border);color:var(--text);padding:10px 20px;font-size:12px;letter-spacing:.5px;z-index:1000;opacity:0;pointer-events:none;transition:opacity .2s;box-shadow:var(--shadow-lg)}.toast.show{opacity:1}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-elevated);border-radius:3px}@media (max-width: 1100px){:root{--panel-w: 240px}}@media (max-width: 900px){.main{flex-direction:column;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.panel{width:100%;max-height:none;overflow:visible;flex:0 0 auto;border-right:none;border-bottom:1px solid var(--border)}.panel-left{order:2}.panel-right{order:3}.preview-area{order:1;flex:0 0 auto;height:32vh;min-height:200px}.export-actions{position:fixed;left:0;right:0;bottom:0;z-index:900;display:flex;gap:8px;margin:0;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:#0c0c0eeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border-strong);box-shadow:0 -6px 24px #0000008c}.export-actions button{width:auto;flex:1;min-height:48px}.app{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}.toast{bottom:calc(80px + env(safe-area-inset-bottom,0px))}}
