@font-face{font-family:BergenMono;src:url(/BergenMono-Regular.otf) format("opentype");font-weight:400;font-style:normal}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #050505;--bg-secondary: #080808;--bg-tertiary: #2d2d2d;--bg-hover: #333333;--text-primary: #e0e0e0;--text-secondary: #a0a0a0;--text-muted: #707070;--accent: #4a9eff;--accent-hover: #5ba8ff;--border: #3a3a3a;--sidebar-width: 240px}body{font-family:BergenMono,monospace;background:var(--bg-primary);color:var(--text-primary);height:100vh;overflow:hidden;display:flex;font-size:11px}.app-container{display:flex;width:100%;height:100vh}.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.sidebar-header{padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg-tertiary)}.sidebar-header h1{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.sidebar-header p{font-size:9px;color:var(--text-muted)}.sidebar-content{flex:1;padding:12px;overflow-y:auto}.control-section{margin-bottom:16px}.section-title{font-size:10px;font-weight:600;color:var(--text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.slider-group{margin-bottom:10px}.slider-group label{display:block;font-size:9px;color:var(--text-secondary);margin-bottom:4px;font-family:BergenMono,monospace}.slider-container{display:flex;align-items:center;gap:8px}.slider{flex:1;height:4px;background:var(--bg-tertiary);border-radius:2px;outline:none;-webkit-appearance:none;appearance:none}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;background:var(--accent);border-radius:50%;cursor:pointer;transition:all .2s ease}.slider::-webkit-slider-thumb:hover{background:var(--accent-hover);transform:scale(1.1)}.slider::-moz-range-thumb{width:12px;height:12px;background:var(--accent);border-radius:50%;cursor:pointer;border:none;transition:all .2s ease}.slider::-moz-range-thumb:hover{background:var(--accent-hover);transform:scale(1.1)}.slider-value{min-width:40px;text-align:right;font-size:9px;color:var(--text-primary);font-family:BergenMono,monospace}.dropdown-select{width:100%;padding:6px 8px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:9px;font-family:BergenMono,monospace;cursor:pointer;outline:none}.dropdown-select:hover{background:var(--bg-hover);border-color:var(--accent)}.dropdown-select:focus{border-color:var(--accent)}.text-input{width:100%;padding:12px 16px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:14px;font-family:inherit;resize:vertical;transition:all .2s ease;outline:none}.text-input:focus{background:var(--bg-hover);border-color:var(--accent)}.export-button{width:100%;padding:8px 12px;background:var(--accent);border:none;border-radius:4px;color:#fff;font-size:11px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s ease;margin-top:8px;font-family:BergenMono,monospace}.export-button:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #4a9eff66}.export-button:active{transform:translateY(0)}.export-button:disabled{background:var(--bg-tertiary);color:var(--text-muted);cursor:not-allowed;transform:none;box-shadow:none}.reset-button{width:100%;padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:11px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s ease;margin-top:8px;font-family:BergenMono,monospace}.reset-button:hover{background:var(--bg-hover);border-color:var(--accent)}.reset-button:active{transform:translateY(0)}.play-pause-button{width:100%;padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:11px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s ease;margin-bottom:8px}.play-pause-button:hover{background:var(--bg-hover);border-color:var(--accent)}.play-pause-button:active{transform:translateY(0)}.play-pause-button.paused{background:var(--bg-hover);border-color:var(--accent)}.status-info{padding:8px 12px;background:var(--bg-tertiary);border-radius:4px;font-size:9px;color:var(--text-secondary);margin-top:8px;font-family:BergenMono,monospace}.canvas-container{flex:1;position:relative;background:#000;display:flex;align-items:center;justify-content:center}canvas{display:block;max-width:100%;max-height:100%}.color-input-group{display:flex;align-items:center;gap:8px;margin-bottom:8px;cursor:move;transition:all .2s ease;padding:4px;border-radius:4px}.color-input-group:hover{background:var(--bg-tertiary)}.color-input-group.drag-over{border-top:2px solid var(--accent);background:var(--bg-hover)}.color-input-group:active{cursor:grabbing}.hex-color-input{flex:1;padding:6px 8px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:9px;font-family:BergenMono,monospace;outline:none;transition:all .2s ease;cursor:text}.hex-color-input:focus{background:var(--bg-hover);border-color:var(--accent);cursor:text}.hex-color-input:invalid{border-color:#f44}.color-preview{width:24px;height:24px;border-radius:4px;border:1px solid var(--border);background:var(--bg-tertiary);flex-shrink:0;cursor:move}.color-preview.has-color{border-color:var(--accent)}.color-delete-btn{width:20px;height:20px;padding:0;margin:0;border:none;background:transparent;color:var(--text-secondary);font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .2s,background .2s;border-radius:2px;font-family:BergenMono,monospace}.color-delete-btn:hover{color:#f44;background:#ff44441a}.color-delete-btn:active{color:red;background:#f443}.sidebar-content::-webkit-scrollbar{width:6px}.sidebar-content::-webkit-scrollbar-track{background:var(--bg-secondary)}.sidebar-content::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:3px}.sidebar-content::-webkit-scrollbar-thumb:hover{background:var(--bg-hover)}@media(max-width:768px){.sidebar{width:200px}.section-title{font-size:9px}.slider-group label{font-size:8px}}@media(max-width:480px){.app-container{flex-direction:column}.sidebar{width:100%;height:auto;max-height:50vh}.control-section{margin-bottom:12px}.section-title{font-size:9px}.slider-group{margin-bottom:8px}.slider-group label,.slider-value{font-size:8px}.export-button,.reset-button{padding:6px 10px;font-size:10px}.status-info{padding:6px 10px;font-size:8px}}.preset-buttons{display:grid;grid-template-columns:1fr;gap:8px;margin-top:18px}.preset-button{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border);padding:8px 12px;border-radius:4px;font-family:BergenMono,monospace;font-size:10px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px;justify-content:center}.preset-button:hover{background:var(--bg-hover);border-color:var(--accent)}.preset-button:active{transform:translateY(1px)}.preset-button span{font-size:12px}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background-color:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal.active{display:flex;align-items:center;justify-content:center}.modal-content{background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;width:90%;max-width:500px;max-height:80vh;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h2{font-size:14px;font-weight:400;color:var(--text-primary)}.modal-close{background:none;border:none;color:var(--text-secondary);font-size:24px;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:20px;overflow-y:auto}.preset-input{width:100%;background:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary);padding:10px 12px;font-family:BergenMono,monospace;font-size:11px;margin:10px 0}.preset-input:focus{outline:none;border-color:var(--accent)}.modal-button{background:var(--accent);color:var(--text-primary);border:none;padding:10px 20px;font-family:BergenMono,monospace;font-size:11px;cursor:pointer;width:100%;transition:background .2s ease}.modal-button:hover{background:var(--accent-hover)}.preset-search{margin-bottom:12px}.preset-list{max-height:400px;overflow-y:auto}.preset-item{background:var(--bg-primary);border:1px solid var(--border);padding:12px;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center;transition:border-color .2s ease}.preset-item:hover{border-color:var(--accent)}.preset-info{flex:1}.preset-name{font-size:12px;color:var(--text-primary);margin-bottom:4px}.preset-date{font-size:9px;color:var(--text-secondary)}.preset-actions{display:flex;gap:8px}.preset-action-btn{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);padding:6px 12px;font-family:BergenMono,monospace;font-size:10px;cursor:pointer;transition:all .2s ease}.preset-action-btn:hover{background:var(--bg-hover);border-color:var(--accent)}.preset-action-btn.delete{color:#ff6b6b}.preset-action-btn.delete:hover{background:#ff6b6b;color:var(--text-primary)}.no-presets{text-align:center;padding:40px 20px;color:var(--text-secondary);font-size:11px}
