:root{--bg:#0b0d10;--bg-elev:#14181d;--bg-elev-2:#1b2027;--border:#262c35;--text:#e8ecf1;--text-dim:#8a93a0;--accent:#ff7a1a;--accent-hover:#ff8c3a;--danger:#ef4444}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--bg);color:var(--text);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);margin:0;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif;font-size:15px;line-height:1.5}.app{flex-direction:column;gap:24px;max-width:1200px;margin:0 auto;padding:32px 24px 80px;display:flex}.header h1{letter-spacing:-.02em;margin:0 0 4px;font-size:28px}.header__sub{color:var(--text-dim);margin:0}.notice{background:var(--bg-elev);border:1px solid var(--border);border-left:3px solid var(--accent);color:var(--text-dim);border-radius:8px;padding:12px 16px;font-size:13px}.dropzone{border:2px dashed var(--border);text-align:center;cursor:pointer;background:var(--bg-elev);border-radius:14px;padding:64px 24px;transition:border-color .12s,background .12s}.dropzone:hover,.dropzone--active{border-color:var(--accent);background:var(--bg-elev-2)}.dropzone--disabled{opacity:.5;cursor:not-allowed}.dropzone__title{margin:0;font-size:18px;font-weight:600}.dropzone__hint{color:var(--text-dim);margin:6px 0 0;font-size:13px}.layout{grid-template-columns:280px 1fr;align-items:start;gap:24px;display:grid}@media (width<=860px){.layout{grid-template-columns:1fr}}.layout__main{flex-direction:column;gap:16px;min-width:0;display:flex}.panel{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:18px;padding:20px;display:flex;position:sticky;top:24px}.panel__group{flex-direction:column;gap:8px;display:flex}.panel__label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);font-size:12px;font-weight:600}.panel__presets{flex-wrap:wrap;gap:6px;display:flex}.panel__hint{color:var(--text-dim);margin:0;font-size:12px}.panel__toggle{color:var(--text-dim);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.chip{background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:12px;transition:all .12s}.chip:hover{border-color:var(--accent)}.chip--active{background:var(--accent);border-color:var(--accent);color:#000;font-weight:600}.chip:disabled{opacity:.5;cursor:not-allowed}.slider{flex-direction:column;gap:6px;display:flex}.slider__head{color:var(--text-dim);justify-content:space-between;font-size:12px;display:flex}.slider__value{color:var(--text);font-variant-numeric:tabular-nums}.slider input[type=range]{width:100%;accent-color:var(--accent)}.compare{flex-direction:column;gap:12px;display:flex}.compare__toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.compare__zoom{background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;align-items:center;gap:6px;padding:4px;display:flex}.compare__zoom-value{color:var(--text-dim);font-variant-numeric:tabular-nums;text-align:center;min-width:42px;font-size:12px}.compare__hint{color:var(--text-dim);font-size:11px}.icon-btn{color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:16px;line-height:1;display:inline-flex}.icon-btn:hover:not(:disabled){background:var(--bg-elev-2)}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.icon-btn--text{letter-spacing:.04em;text-transform:uppercase;width:auto;color:var(--text-dim);padding:0 8px;font-size:11px}.compare__panes{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=640px){.compare__panes{grid-template-columns:1fr}}.compare__pane{flex-direction:column;gap:8px;min-width:0;margin:0;display:flex}.compare__pane figcaption{color:var(--text-dim);text-align:center;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.compare__canvas{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;justify-content:center;align-items:center;height:min(65vh,640px);display:flex;position:relative;overflow:auto}.compare__stage{transform-origin:50%;justify-content:center;align-items:center;max-width:100%;max-height:100%;transition:transform .12s ease-out;display:flex}.compare__canvas--checker{background-color:#14181d;background-image:linear-gradient(45deg,#1b2027 25%,#0000 25%),linear-gradient(-45deg,#1b2027 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#1b2027 75%),linear-gradient(-45deg,#0000 75%,#1b2027 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px}.compare__stage img,.compare__svg{max-width:100%;max-height:100%;display:block}.compare__svg svg{width:auto;max-width:100%;height:auto;max-height:100%;display:block;overflow:visible}.hint{color:var(--text-dim);background:#ff7a1a14;border:1px solid #ff7a1a59;border-radius:8px;padding:10px 14px;font-size:12px}.compare__canvas--checker .compare__spinner,.compare__canvas--checker .compare__empty{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.compare__spinner,.compare__empty{color:var(--text-dim);font-size:13px}.actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.btn-secondary{color:var(--text-dim);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:10px;padding:10px 18px;font-size:14px}.btn-secondary:hover{color:var(--text);border-color:var(--text-dim)}.download{align-items:center;gap:12px;display:flex}.download__btn{background:var(--accent);color:#000;cursor:pointer;border:none;border-radius:10px;padding:12px 22px;font-size:14px;font-weight:600;transition:background .12s}.download__btn:hover:not(:disabled){background:var(--accent-hover)}.download__btn:disabled{opacity:.4;cursor:not-allowed}.download__meta{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:13px}.error{border:1px solid var(--danger);color:var(--danger);background:#ef44441a;border-radius:8px;padding:12px 16px;font-size:13px}.deploy-info{bottom:max(12px, env(safe-area-inset-bottom));text-align:center;color:var(--text-dim);pointer-events:none;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10px;position:fixed;left:0;right:0}
