:root{--bg-app: #090a12;--bg-sidebar: #0f111e;--bg-card: rgba(22, 28, 45, .55);--bg-card-hover: rgba(26, 33, 54, .7);--border-light: rgba(255, 255, 255, .07);--border-focus: #6366f1;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--accent-gradient: linear-gradient(135deg, #6366f1, #a855f7);--accent-color: #6366f1;--accent-glow: rgba(99, 102, 241, .25);--shadow-lg: 0 10px 25px -5px rgba(0, 0, 0, .5), 0 8px 10px -6px rgba(0, 0, 0, .5);--font-title: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--checkerboard-color1: #1e2235;--checkerboard-color2: #161825}*{box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background-color:var(--bg-app);color:var(--text-primary);height:100vh;height:100dvh;overflow:hidden}.app-container{display:flex;height:100vh;height:100dvh;width:100vw;background:radial-gradient(circle at 80% 20%,#6366f11a,#090a1200 60%),radial-gradient(circle at 10% 80%,#a855f714,#090a1200 50%)}.sidebar{width:420px;background-color:var(--bg-sidebar);border-right:1px solid var(--border-light);display:flex;flex-direction:column;height:100vh;z-index:10;box-shadow:10px 0 30px #0000004d}.app-header{padding:24px;border-bottom:1px solid var(--border-light)}.logo{display:flex;align-items:center;gap:12px;margin-bottom:8px}.logo i{color:#6366f1;stroke-width:2.5;width:28px;height:28px;filter:drop-shadow(0 0 8px var(--accent-glow))}.logo h1{font-family:var(--font-title);font-size:1.5rem;font-weight:800;letter-spacing:-.5px;background:linear-gradient(135deg,#fff 40%,#c084fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.subtitle{font-size:.85rem;color:var(--text-secondary);line-height:1.4}.control-sections{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:20px}.control-sections::-webkit-scrollbar{width:6px}.control-sections::-webkit-scrollbar-track{background:transparent}.control-sections::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.control-sections::-webkit-scrollbar-thumb:hover{background:#ffffff40}.control-card{background-color:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-light);border-radius:16px;padding:20px;box-shadow:var(--shadow-lg);transition:border-color .3s ease,background-color .3s ease}.control-card:hover{border-color:#ffffff1f;background-color:var(--bg-card-hover)}.card-title{font-family:var(--font-title);font-size:.95rem;font-weight:700;display:flex;align-items:center;gap:8px;margin-bottom:16px;color:var(--text-primary);letter-spacing:.2px}.card-title i{color:var(--text-secondary);width:18px;height:18px}.control-group{margin-bottom:16px}.control-group:last-child{margin-bottom:0}.control-label{display:block;font-size:.8rem;font-weight:600;color:var(--text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.control-hint{font-size:.72rem;color:var(--text-muted);margin-top:6px;line-height:1.35}.dropzone{border:2px dashed rgba(255,255,255,.15);border-radius:12px;padding:24px 16px;text-align:center;position:relative;cursor:pointer;background-color:#0003;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.dropzone:hover{border-color:var(--accent-color);background-color:#6366f10a}.dropzone.dragover{border-color:#a855f7;background-color:#a855f714;transform:scale(1.02)}.file-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.upload-icon{width:36px;height:36px;color:var(--text-secondary);margin-bottom:10px;transition:color .3s ease,transform .3s ease}.dropzone:hover .upload-icon{color:var(--accent-color);transform:translateY(-2px)}.upload-text{font-size:.85rem;font-weight:600;color:var(--text-primary);margin-bottom:4px}.upload-hint{font-size:.72rem;color:var(--text-muted)}.presets-container{margin-top:16px;border-top:1px solid var(--border-light);padding-top:16px}.section-label{display:block;font-size:.75rem;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.presets-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.preset-btn{background:#00000040;border:1px solid var(--border-light);border-radius:8px;padding:8px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--text-secondary);font-size:.7rem;font-weight:500;transition:all .2s ease}.preset-btn:hover{background:#ffffff0d;border-color:#fff3;color:var(--text-primary);transform:translateY(-1px)}.preset-btn:active{transform:translateY(1px)}.preset-btn canvas{border-radius:4px;background-color:#111;width:36px;height:36px}.slider-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.slider-header .control-label{margin-bottom:0}.slider-value{font-size:.8rem;font-weight:700;color:var(--text-primary);background-color:#ffffff14;padding:2px 6px;border-radius:4px;font-variant-numeric:tabular-nums;border:1px solid var(--border-light)}.range-slider{-webkit-appearance:none;width:100%;height:6px;border-radius:3px;background:#ffffff1a;outline:none;cursor:pointer}.range-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 0 8px #6366f1cc;border:2px solid var(--accent-color);transition:transform .1s ease,background-color .1s ease}.range-slider::-webkit-slider-thumb:hover{transform:scale(1.2);background:var(--text-primary)}.checkbox-group{margin-top:14px}.checkbox-label{display:flex;align-items:center;gap:10px;font-size:.85rem;font-weight:500;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkbox-custom{width:18px;height:18px;background-color:#ffffff0d;border:1px solid var(--border-light);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.checkbox-label:hover input~.checkbox-custom{border-color:#fff3;background-color:#ffffff14}.checkbox-label input:checked~.checkbox-custom{background:var(--accent-gradient);border-color:transparent;box-shadow:0 0 8px var(--accent-glow)}.checkbox-custom:after{content:"";display:none;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}.checkbox-label input:checked~.checkbox-custom:after{display:block}.segmented-control{display:flex;background:#00000040;border:1px solid var(--border-light);border-radius:8px;padding:3px;gap:4px}.segment-btn{flex:1;background:transparent;border:none;color:var(--text-secondary);padding:8px 10px;font-family:var(--font-body);font-size:.78rem;font-weight:600;border-radius:6px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:6px}.segment-btn i{width:14px;height:14px}.segment-btn.active{background:var(--bg-card);color:var(--text-primary);border:1px solid rgba(255,255,255,.06);box-shadow:0 2px 4px #0003}.segment-btn:hover:not(.active){color:var(--text-primary);background:#ffffff05}.color-options-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.color-picker-item{display:flex;flex-direction:column;gap:6px}.color-picker-item .control-label{font-size:.72rem;margin-bottom:0}.color-picker-row{display:flex;background:#00000040;border:1px solid var(--border-light);border-radius:8px;overflow:hidden;padding:2px}.color-picker-row input[type=color]{-webkit-appearance:none;border:none;width:100%;height:32px;cursor:pointer;background:transparent;padding:0;border-radius:6px}.color-picker-row input[type=color]::-webkit-color-swatch-wrapper{padding:0}.color-picker-row input[type=color]::-webkit-color-swatch{border:none;border-radius:5px}.color-picker-row input[type=color]:disabled{opacity:.2;cursor:not-allowed}.toggle-btn{background:transparent;border:none;color:var(--text-secondary);width:32px;height:32px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.toggle-btn:hover{background:#ffffff0d;color:var(--text-primary)}.toggle-btn.active{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.1)}.toggle-btn.active i{stroke-width:2.5}.main-content{flex:1;display:flex;flex-direction:column;height:100vh;background-color:var(--bg-app)}.preview-tabs{display:flex;padding:16px 24px 0;border-bottom:1px solid var(--border-light);background-color:var(--bg-sidebar);gap:8px}.tab-btn{background:transparent;border:none;border-bottom:2px solid transparent;font-family:var(--font-body);font-size:.85rem;font-weight:600;color:var(--text-secondary);padding:12px 18px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;border-radius:8px 8px 0 0}.tab-btn i{width:16px;height:16px;transition:transform .2s ease}.tab-btn:hover{color:var(--text-primary);background-color:#ffffff05}.tab-btn:hover i{transform:translateY(-1px)}.tab-btn.active{color:#818cf8;border-bottom-color:#6366f1;background-color:var(--bg-app)}.workspace-viewport{flex:1;position:relative;overflow:hidden;background:radial-gradient(circle at center,#13172c,#090a12)}.tab-content{display:none;width:100%;height:100%}.tab-content.active{display:block}.viewport-canvas-wrapper{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:grab;background-image:linear-gradient(45deg,var(--checkerboard-color1) 25%,transparent 25%),linear-gradient(-45deg,var(--checkerboard-color1) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--checkerboard-color1) 75%),linear-gradient(-45deg,transparent 75%,var(--checkerboard-color1) 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0px;background-color:var(--checkerboard-color2)}.viewport-canvas-wrapper:active{cursor:grabbing}.viewport-zoom-layer{transform-origin:center center;transition:transform .05s ease-out;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.svg-container{max-width:90%;max-height:90%;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 15px 40px rgba(0,0,0,.6))}.svg-container svg{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;display:block}.placeholder-message{text-align:center;color:var(--text-muted);max-width:320px}.placeholder-icon{width:48px;height:48px;margin-bottom:16px;color:var(--text-muted);opacity:.6}.placeholder-message p{font-size:.9rem;line-height:1.5}.viewport-controls{position:absolute;bottom:24px;right:24px;display:flex;flex-direction:column;gap:8px;background:#0f111ed9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-light);padding:6px;border-radius:12px;box-shadow:var(--shadow-lg);z-index:5}.viewport-btn{background:transparent;border:none;color:var(--text-secondary);width:36px;height:36px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.viewport-btn:hover{background:#ffffff14;color:var(--text-primary)}.viewport-btn:active{transform:scale(.95)}.viewport-btn i{width:18px;height:18px}.zoom-indicator{position:absolute;bottom:24px;left:24px;background:#0f111ed9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-light);padding:6px 12px;border-radius:8px;font-size:.78rem;font-weight:700;color:var(--text-secondary);box-shadow:var(--shadow-lg);z-index:5;font-variant-numeric:tabular-nums}.binary-preview-wrapper{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:40px;background-color:#0f111e}.binary-canvas-container{max-width:90%;max-height:90%;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-light);box-shadow:var(--shadow-lg);border-radius:8px;overflow:hidden;background-color:#000}.binary-canvas-container canvas{max-width:100%;max-height:100%;object-fit:contain;display:block}.code-output-wrapper{width:100%;height:100%;padding:24px;position:relative;background-color:#07080e}.code-output-wrapper pre{width:100%;height:100%;overflow:auto;font-family:Consolas,Fira Code,monospace;font-size:.82rem;color:#a78bfa;padding:16px;background:#0000004d;border-radius:12px;border:1px solid var(--border-light);line-height:1.5;white-space:pre-wrap;word-break:break-all}.code-output-wrapper pre::-webkit-scrollbar{width:6px;height:6px}.code-output-wrapper pre::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.code-action-btn{position:absolute;top:40px;right:40px;background:#0f111ef2;border:1px solid var(--border-light);color:var(--text-primary);padding:8px 14px;border-radius:8px;font-family:var(--font-body);font-size:.78rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px;box-shadow:0 4px 12px #0000004d}.code-action-btn:hover{background:var(--border-focus);box-shadow:0 0 12px var(--accent-glow);transform:translateY(-1px)}.code-action-btn:active{transform:translateY(1px)}.action-footer{height:80px;background-color:var(--bg-sidebar);border-top:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between;padding:0 32px;z-index:10}.info-badges{display:flex;gap:12px}.badge{background-color:#ffffff0a;border:1px solid var(--border-light);color:var(--text-secondary);font-size:.78rem;font-weight:500;padding:6px 12px;border-radius:6px;display:flex;align-items:center;gap:6px;font-variant-numeric:tabular-nums}.badge i{width:14px;height:14px;color:var(--text-muted)}.export-actions{display:flex;gap:16px}.btn{font-family:var(--font-body);font-size:.85rem;font-weight:600;padding:12px 20px;border-radius:10px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s cubic-bezier(.4,0,.2,1);border:none}.btn-primary{background:var(--accent-gradient);color:var(--text-primary);box-shadow:0 4px 15px #6366f159}.btn-primary:hover:not(:disabled){box-shadow:0 6px 20px #6366f180;transform:translateY(-1.5px)}.btn-secondary{background:#ffffff0f;color:var(--text-primary);border:1px solid var(--border-light)}.btn-secondary:hover:not(:disabled){background:#ffffff1a;transform:translateY(-1.5px)}.btn:active:not(:disabled){transform:translateY(.5px)}.btn:disabled{opacity:.35;cursor:not-allowed;box-shadow:none;transform:none}.loading-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#090a12d9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:100;opacity:1;transition:opacity .3s ease}.loading-overlay.hidden{opacity:0;pointer-events:none}.spinner-container{text-align:center}.spinner{width:50px;height:50px;border:3px solid rgba(99,102,241,.15);border-top-color:var(--accent-color);border-radius:50%;animation:spin 1s infinite linear;margin:0 auto 20px;filter:drop-shadow(0 0 10px rgba(99,102,241,.4))}#loading-text{font-family:var(--font-title);font-size:1.1rem;font-weight:500;color:var(--text-primary);letter-spacing:.5px}.preview-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:12px;z-index:100;background:#0f111ed9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:16px 28px;border-radius:14px;border:1px solid var(--border-light);color:var(--text-primary);font-size:.82rem;font-weight:600;pointer-events:none;box-shadow:var(--shadow-lg);opacity:1;transition:opacity .25s cubic-bezier(.4,0,.2,1),transform .25s cubic-bezier(.4,0,.2,1)}.preview-loader.hidden{opacity:0;transform:translate(-50%,-45%)}.mini-spinner{width:28px;height:28px;border:3px solid rgba(99,102,241,.15);border-top-color:var(--accent-color);border-radius:50%;animation:spin .8s infinite linear;filter:drop-shadow(0 0 6px rgba(99,102,241,.3))}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.app-container{flex-direction:column;height:100vh;height:100dvh;width:100vw;overflow:hidden}.main-content{width:100%;height:45vh;height:45dvh;order:1}.sidebar{width:100%;height:55vh;height:55dvh;order:2;border-right:none;border-top:1px solid var(--border-light);box-shadow:0 -10px 30px #0006}.app-header{padding:12px 16px}.logo h1{font-size:1.25rem}.logo i{width:22px;height:22px}.subtitle{font-size:.75rem}.control-sections{padding:12px 12px 90px;gap:12px;-webkit-overflow-scrolling:touch}.control-card{padding:14px;border-radius:12px}.card-title{margin-bottom:12px;font-size:.85rem}.dropzone{padding:16px 12px}.upload-icon{width:28px;height:28px;margin-bottom:6px}.upload-text{font-size:.78rem}.upload-hint{font-size:.65rem}.presets-container{margin-top:12px;padding-top:12px}.presets-grid{gap:6px}.preset-btn{padding:6px;font-size:.65rem}.preset-btn canvas{width:28px;height:28px}.range-slider{height:5px}.slider-value{font-size:.72rem;padding:1px 4px}.color-options-grid{gap:8px;margin-bottom:12px}.color-picker-row input[type=color]{height:28px}.toggle-btn{width:28px;height:28px}.preview-tabs{padding:6px 12px 0;gap:4px}.tab-btn{padding:8px 10px;font-size:.75rem}.tab-btn i{width:14px;height:14px}.viewport-controls{bottom:16px;right:16px;gap:6px;padding:4px}.viewport-btn{width:32px;height:32px;border-radius:6px}.viewport-btn i{width:16px;height:16px}.zoom-indicator{bottom:16px;left:16px;padding:4px 8px;font-size:.72rem}.action-footer{height:60px;padding:0 16px}.info-badges{display:none}.export-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}.btn{padding:8px 12px;font-size:.78rem;border-radius:8px;justify-content:center;gap:6px}.btn i{width:16px;height:16px}}@media (min-width: 769px) and (max-width: 1024px){.sidebar{width:340px}}
