:root{color-scheme:light dark;--bg: #f5f5f7;--card-bg: #ffffff;--text: #1a1a1a;--muted: #6b6b6b;--accent: #1f6feb;--border: #d9d9df;--error: #d1242f;--success: #1a7f37}@media(prefers-color-scheme:dark){:root{--bg: #0d1117;--card-bg: #161b22;--text: #e6edf3;--muted: #9198a1;--border: #30363d}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,sans-serif}.centered{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.card{width:100%;max-width:420px;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:1.75rem;display:flex;flex-direction:column;gap:1rem}.header-row{display:flex;align-items:center;justify-content:space-between}h1{margin:0;font-size:1.4rem}label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:var(--muted)}input,textarea,select{font:inherit;color:var(--text);background:transparent;border:1px solid var(--border);border-radius:8px;padding:.55rem .65rem}select{color-scheme:light dark}textarea{resize:vertical}button{font:inherit;font-weight:600;padding:.65rem 1rem;border:none;border-radius:8px;background:var(--accent);color:#fff;cursor:pointer}button:disabled{opacity:.6;cursor:default}button.link{background:none;color:var(--muted);font-weight:400;padding:0;text-decoration:underline}.error{color:var(--error);font-size:.9rem;margin:0}.success{color:var(--success);font-size:.9rem;margin:0}.hint{color:var(--muted);font-size:.85rem}.crop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:100}.crop-dialog{width:100%;max-width:480px;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}.crop-image-wrap{position:relative;touch-action:none;-webkit-user-select:none;user-select:none;max-height:60vh;overflow:hidden;border-radius:8px}.crop-image-wrap img{display:block;width:100%;height:auto}.crop-rect{position:absolute;border:2px solid var(--accent);background:#1f6feb40;pointer-events:none}.crop-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem}
