
        *{margin:0;padding:0;box-sizing:border-box}
        :root{--bg:#f8fafc;--card:#fff;--text:#0f172a;--text-light:#64748b;--border:#e2e8f0;--primary:#3b82f6;--primary-dark:#2563eb;--success:#10b981;--danger:#ef4444;--warning:#f59e0b;--radius:0.75rem;--shadow:0 4px 6px -1px rgba(0,0,0,0.05)}
        body.dark{--bg:#0f172a;--card:#1e293b;--text:#f1f5f9;--text-light:#94a3b8;--border:#334155}
        body{background:var(--bg);color:var(--text);font-family:system-ui,sans-serif;padding:1.5rem;transition:.2s}
        .container{max-width:1400px;margin:0 auto}
        .card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem;margin-bottom:1.5rem;border:1px solid var(--border)}
        .flex{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}
        .flex-center{display:flex;align-items:center;gap:0.75rem}
        .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
        .grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0.75rem}
        .upload-area{border:2px dashed var(--border);border-radius:var(--radius);padding:2.5rem;text-align:center;cursor:pointer;transition:.2s;background:var(--card)}
        .upload-area:hover{border-color:var(--primary);background:rgba(59,130,246,.02)}
        .upload-area.drag-over{border-color:var(--primary);background:rgba(59,130,246,.05)}
        .btn{padding:.5rem 1.25rem;border-radius:2rem;font-weight:600;border:none;cursor:pointer;transition:.2s;display:inline-flex;align-items:center;gap:.5rem}
        .btn-primary{background:var(--primary);color:#fff}
        .btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px)}
        .btn-success{background:var(--success);color:#fff}
        .btn-danger{background:var(--danger);color:#fff}
        .btn-secondary{background:var(--bg);color:var(--text);border:1px solid var(--border)}
        .btn-secondary:hover{background:var(--border)}
        .badge{display:inline-block;padding:.25rem .75rem;border-radius:2rem;font-size:.75rem;font-weight:600}
        .badge-good{background:rgba(16,185,129,.15);color:var(--success)}
        .canvas-wrapper{position:relative;background:var(--bg);border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);touch-action:none;user-select:none}
        .canvas-wrapper canvas{display:block;width:100%;height:auto;max-height:600px;touch-action:none;cursor:crosshair}
        .preview-card{background:var(--bg);border-radius:var(--radius);padding:1rem;border:1px solid var(--border);text-align:center}
        .preview-card img{max-width:100%;max-height:180px;object-fit:contain;border-radius:.5rem}
        .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-top:1rem}
        .stat-card{background:var(--bg);border-radius:var(--radius);padding:.75rem;text-align:center;border:1px solid var(--border)}
        .stat-value{font-size:1.4rem;font-weight:800}
        .stat-label{font-size:.75rem;color:var(--text-light)}
        .preset-btn{padding:.35rem .7rem;border-radius:2rem;border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;font-size:.75rem;transition:.2s;font-weight:500}
        .preset-btn:hover{border-color:var(--primary);background:rgba(59,130,246,.05)}
        .preset-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}
        .slider-group{margin-bottom:.5rem}
        .slider-group label{display:flex;justify-content:space-between;font-size:.85rem;font-weight:500}
        .slider-group input[type=range]{width:100%;accent-color:var(--primary);background:var(--border);border-radius:.5rem;height:6px;cursor:pointer}
        .toast{position:fixed;bottom:1.5rem;right:1.5rem;background:var(--text);color:#fff;padding:.75rem 1.25rem;border-radius:2rem;opacity:0;transition:.2s;z-index:1000}
        .toast.show{opacity:1}
        .key-hint{font-size:.7rem;color:var(--text-light);margin-left:.25rem}
        @media(max-width:768px){body{padding:1rem}.grid-2{grid-template-columns:1fr}}