*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f5f5f5;--surface: #ffffff;--border: #ddd;--accent: #4f6ef7;--accent-hover: #3b55d4;--text: #222;--muted: #888;--error: #c0392b;--radius: 8px;--shadow: 0 1px 4px rgba(0, 0, 0, .1)}body{font-family:system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}header{display:flex;align-items:center;gap:2rem;padding:1rem 2rem;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow)}header h1{font-size:1.4rem;font-weight:700;letter-spacing:-.5px}.lang-switch{margin-left:auto;display:flex;align-items:center;gap:.5rem;color:var(--muted);font-size:.85rem}#lang-select{border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);padding:.3rem .45rem;font-size:.85rem}.tab-bar{display:flex;gap:.25rem}.tab-btn{padding:.4rem 1rem;border:1px solid var(--border);background:transparent;border-radius:var(--radius);cursor:pointer;font-size:.9rem;color:var(--muted);transition:background .15s,color .15s}.tab-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.tab-btn:hover:not(.active){background:#eef;color:var(--text)}main{max-width:1100px;margin:2rem auto;padding:0 1.5rem;display:flex;flex-direction:column;gap:1.5rem}.images-row{display:flex;align-items:flex-start;gap:1.5rem}.arrow{font-size:2rem;color:var(--muted);flex-shrink:0;align-self:center}.image-panel{flex:1;min-width:0;display:flex;flex-direction:column;gap:.75rem}#drop-zone{border:2px dashed var(--border);border-radius:var(--radius);background:var(--surface);min-height:240px;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;transition:border-color .15s,background .15s;position:relative}#drop-zone:hover,#drop-zone.drag-over{border-color:var(--accent);background:#f0f3ff}#drop-label{color:var(--muted);text-align:center;line-height:1.6;font-size:.95rem;pointer-events:none}#input-img{width:100%;height:100%;object-fit:contain;display:block}#output-area{border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);min-height:240px;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}#output-img{width:100%;height:100%;object-fit:contain;display:block}#input-img[hidden],#output-img[hidden],#drop-label[hidden],#spinner[hidden],#error-msg[hidden]{display:none!important}#download-btn{align-self:flex-end;padding:.5rem 1.25rem;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);cursor:pointer;font-size:.9rem;transition:background .15s}#download-btn:hover:not(:disabled){background:var(--accent-hover)}#download-btn:disabled{opacity:.4;cursor:default}.spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error{color:var(--error);font-size:.85rem;padding:.5rem 1rem;text-align:center}#error-msg{width:100%;max-width:1100px;margin:-.25rem auto 0;border:1px solid color-mix(in srgb,var(--error) 35%,transparent);background:color-mix(in srgb,var(--error) 10%,white);border-radius:var(--radius)}#params-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.5rem;box-shadow:var(--shadow)}.param-row{display:flex;align-items:center;gap:1rem;padding:.5rem 0}.param-row label{min-width:180px;font-size:.9rem;color:var(--text);flex-shrink:0}.hint{color:var(--muted);font-size:.8rem}.param-row input[type=range]{flex:1;accent-color:var(--accent)}.param-row input[type=color]{width:48px;height:32px;border:1px solid var(--border);border-radius:4px;cursor:pointer;padding:2px}.val{min-width:36px;text-align:right;font-size:.85rem;color:var(--muted);font-variant-numeric:tabular-nums}.thickness-group{display:flex;gap:.25rem}.thickness-btn{width:36px;height:28px;border:1px solid var(--border);background:transparent;border-radius:4px;cursor:pointer;font-size:.85rem;color:var(--muted);transition:background .12s,color .12s}.thickness-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.thickness-btn:hover:not(.active){background:#eef}.params-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 2rem}@media (max-width: 700px){header{gap:.75rem;flex-wrap:wrap}.lang-switch{width:100%;justify-content:flex-end}.images-row{flex-direction:column}.arrow{transform:rotate(90deg)}.params-grid{grid-template-columns:1fr}.param-row label{min-width:140px}}
