:root{--navy-900: #0a1226;--navy-800: #0f1b36;--orange: #f26b1d;--white: #ffffff;--bg: #eef0f3;--surface: #ffffff;--border: #d5d9e0;--text: #141a28;--muted: #5b6577;--stage-bg: #1b2030;--radius: 4px;--gap: 16px;--font-ui: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*,*:before,*:after{box-sizing:border-box}html,body{margin:0}body{font-family:var(--font-ui);font-size:14px;line-height:1.45;color:var(--text);background:var(--bg);min-height:100vh;display:flex;flex-direction:column}.skip-link{position:absolute;left:8px;top:-48px;background:var(--navy-900);color:var(--white);padding:8px 12px;border-radius:var(--radius);z-index:10}.skip-link:focus{top:8px}:focus-visible{outline:2px solid var(--orange);outline-offset:2px}.app-header{display:flex;align-items:center;justify-content:space-between;gap:var(--gap);padding:10px 20px;background:var(--navy-900);color:var(--white);border-bottom:3px solid var(--orange)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:4px;height:32px;background:var(--orange)}.brand h1{margin:0;font-size:16px;font-weight:700;letter-spacing:.01em}.brand p,.status-pill{margin:0;font-size:12px;color:#aab3c7}.workspace{flex:1;display:grid;grid-template-columns:300px minmax(0,1fr) 260px;gap:var(--gap);padding:var(--gap);align-items:start}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.section{padding:14px 16px;border-bottom:1px solid var(--border)}.section:last-child{border-bottom:0}.section h2,.stage-toolbar h2{margin:0 0 10px;font-size:13px;font-weight:700}.field-label{display:block;margin:10px 0 4px;font-size:12px;font-weight:600;color:var(--text)}.field-label:first-of-type{margin-top:0}input[type=file],input[type=text],textarea,select{width:100%;font:inherit;color:var(--text);background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:7px 9px}textarea{resize:vertical}:disabled{opacity:.55;cursor:not-allowed}.check{display:flex;align-items:center;gap:8px}.hint{margin:8px 0 0;font-size:12px;color:var(--muted)}.btn-primary{margin-top:14px;width:100%;padding:9px 12px;font:inherit;font-weight:600;color:var(--white);background:var(--navy-800);border:1px solid var(--navy-900);border-radius:var(--radius);cursor:pointer}.btn-primary:disabled{cursor:not-allowed}.stage{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0}.stage-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--border)}.stage-toolbar h2{margin:0}.toggle{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.seg{font:inherit;padding:5px 12px;border:0;background:var(--white);color:var(--text);cursor:pointer}.seg+.seg{border-left:1px solid var(--border)}.seg.is-active{background:var(--navy-800);color:var(--white)}.canvas-frame{background:var(--stage-bg);min-height:420px;display:grid;place-items:center;padding:24px}.empty-state{text-align:center;color:#aab3c7;max-width:320px}.empty-title{margin:0 0 4px;color:var(--white);font-weight:600}.empty-text{margin:0;font-size:13px}@media(max-width:1000px){.workspace{grid-template-columns:minmax(0,1fr)}.stage{order:-1}.app-header{flex-direction:column;align-items:flex-start}}[hidden]{display:none!important}.message{margin:8px 0 0;padding:8px 10px;font-size:12px;border-radius:var(--radius);background:#eef2fa;border:1px solid var(--border)}.message[data-kind=error]{background:#fdeceb;border-color:#e0a29d;color:#7a1c14}.info{margin:12px 0 0;display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:12px}.info dt{color:var(--muted)}.info dd{margin:0;min-width:0;overflow-wrap:anywhere}.btn-secondary{margin-top:12px;padding:6px 12px;font:inherit;font-size:12px;font-weight:600;color:var(--text);background:var(--white);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer}.btn-secondary:hover{border-color:var(--muted)}.canvas-frame.is-dragging{outline:2px dashed var(--orange);outline-offset:-8px}.preview-canvas{display:block;max-width:100%;box-shadow:0 0 0 1px #ffffff1f}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.seg[aria-pressed=true]{background:var(--navy-800);color:var(--white)}.seg:not(:disabled):hover:not([aria-pressed=true]){background:var(--bg)}.seg:not(:disabled){cursor:pointer}#highlight-from-selection{margin-top:8px}.size-row{display:flex;align-items:center;gap:8px;margin-top:8px}.size-row input{min-width:0}.notices{list-style:none;margin:0;padding:0}.notices:not(:empty){padding:10px 16px;border-top:1px solid var(--border);display:grid;gap:6px}.notices li{font-size:12px;color:var(--muted);padding-left:10px;border-left:3px solid var(--border)}.notices li[data-kind=warn]{color:#7a4a00;border-left-color:#e0a100}.notices li[data-kind=error]{color:#7a1c14;border-left-color:#c0392b}.btn-row{display:flex;flex-wrap:wrap;gap:8px}.btn-row .btn-secondary{margin-top:0}.btn-secondary[aria-pressed=true]{background:var(--navy-800);color:var(--white);border-color:var(--navy-900)}.btn-secondary:disabled:hover{border-color:var(--border)}.adjust-controls{margin-top:10px}.adjust-group{margin:14px 0 4px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.adjust-row{display:grid;grid-template-columns:1fr auto;column-gap:8px;align-items:center;padding:3px 0}.adjust-row label{font-size:12px;font-weight:600}.adjust-row output{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;min-width:3ch;text-align:right}.adjust-row input[type=range]{grid-column:1 / -1;width:100%;margin:2px 0 0;accent-color:var(--orange)}.size-bar{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:8px 16px;border-top:1px solid var(--border)}.size-bar-label{font-size:12px;font-weight:600}.size-bar input[type=range]{width:min(260px,40%);accent-color:var(--orange)}.size-bar output{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;min-width:7ch;text-align:right}.size-bar .btn-secondary{margin-top:0}#quality-row output{font-weight:400;color:var(--muted);margin-left:4px}#jpeg-quality{width:100%;accent-color:var(--orange)}.btn-primary:not(:disabled):hover{background:var(--navy-900)}.btn-primary:not(:disabled){cursor:pointer}.btn-primary:disabled{opacity:.55}
