:root{color-scheme:light dark;--bg:#f9f8f7;--surface:#fff;--raised:#f0efed;--text:#2c2c2b;--muted:#66635f;--border:#dedbd6;--accent:#175fa7;--soft:#e5f2fc;--danger:#ae3329;--focus:#175fa7}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input{font:inherit}button{cursor:pointer;border:1px solid var(--border);border-radius:8px;min-height:44px;padding:10px 18px;font-weight:600}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.shell{max-width:1000px;margin:auto;padding:0 32px}header{display:flex;align-items:center;justify-content:space-between;padding:28px 0;border-bottom:1px solid var(--border);gap:16px}.brand{text-decoration:none;color:var(--text);font-weight:800;letter-spacing:-1px;font-size:24px;display:flex;align-items:center;gap:12px}.brand span{font-size:14px;letter-spacing:2px;font-weight:600;color:var(--muted);padding-left:12px;border-left:1px solid var(--border)}.badge{border:1px solid var(--border);border-radius:6px;padding:5px 10px;color:var(--muted);font-size:14px}.intro{padding:48px 0 28px}.eyebrow{color:var(--accent);letter-spacing:2px;font-size:14px;font-weight:700;margin:0 0 16px}h1{font-size:clamp(36px,5.5vw,56px);line-height:1.08;letter-spacing:-2px;margin:0 0 20px;font-weight:700}h1 span{color:var(--muted)}.subtitle{color:var(--muted);margin:0;line-height:1.65}.upload-panel{border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--surface)}.dropzone{border:1px dashed var(--border);border-radius:8px;text-align:center;padding:32px 20px;background:var(--bg);transition:background .15s,border-color .15s}.dropzone.dragging{background:var(--soft);border-color:var(--accent)}.upload-icon{font-size:32px;color:var(--accent);border:1px solid var(--border);width:52px;height:52px;margin:0 auto 16px;line-height:48px;background:var(--surface);border-radius:10px}h2{font-size:22px;line-height:1.25;letter-spacing:-.5px;margin:0}.dropzone p{color:var(--muted);margin:12px 0 20px;font-size:14px}kbd{border:1px solid var(--border);border-bottom-width:2px;border-radius:4px;padding:1px 5px;font:14px/1.5 inherit;background:var(--surface)}.primary{background:var(--accent);border-color:var(--accent);color:white;min-width:220px}.secondary{background:var(--surface);color:var(--text)}.danger{background:var(--danger);color:#fff;border-color:var(--danger)}.dropzone .limits{margin:14px 0 0;font-size:14px}.consent{display:flex;gap:12px;align-items:flex-start;margin:20px 12px 12px;font-size:14px;cursor:pointer;min-height:44px}.consent input{width:20px;height:20px;flex-shrink:0;margin:2px 0;accent-color:var(--accent)}.consent small{display:block;color:var(--muted);font-size:14px;margin-top:4px}.status{font-size:14px;color:var(--muted);margin:12px;min-height:22px}.status.error{color:var(--danger)}.upload-panel>#retry{margin:0 12px 12px}.results{margin:32px 0 48px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-head h2{font-size:20px}.muted{color:var(--muted);font-size:14px}.hint{color:var(--muted);font-size:14px;max-width:740px;margin:10px 0 20px}.empty{border:1px solid var(--border);border-radius:8px;padding:24px;color:var(--muted);font-size:14px}.photo-card{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:20px 0;border-top:1px solid var(--border)}.photo-card img{width:120px;height:96px;object-fit:cover;border-radius:6px;background:var(--raised)}.photo-content{min-width:0}.photo-title{font-size:14px;font-weight:600;margin:0 0 8px;overflow-wrap:anywhere}.url-row{display:flex;gap:8px}.url-row input{min-width:0;flex:1;border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:6px;padding:10px 12px;font-size:14px}.photo-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.photo-actions button{font-size:14px;padding:8px 12px;min-height:44px;background:var(--surface);color:var(--text)}.photo-actions .remove{color:var(--danger);margin-left:auto}footer{border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:12px;padding:20px 0 32px;color:var(--muted);font-size:14px}dialog{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:24px;max-width:480px;width:calc(100% - 32px)}dialog::backdrop{background:#0008}dialog p{color:var(--muted);font-size:14px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:24px}[hidden]{display:none!important}@media(prefers-color-scheme:dark){:root{--bg:#191919;--surface:#202020;--raised:#383836;--text:#fff;--muted:#b8b8b4;--border:#50504c;--accent:#90c7ff;--soft:#243243;--danger:#ffaaa2;--focus:#90c7ff}.primary,.danger{color:#191919}}@media(max-width:600px){.shell{padding:0 20px}header{padding:20px 0}.brand{font-size:20px;gap:8px}.brand span{font-size:14px;letter-spacing:1px;padding-left:8px}.badge{font-size:14px;padding:5px 8px}.intro{padding:32px 0 24px}.desktop{display:none}.dropzone{padding:24px 12px}.dropzone h2{font-size:20px}.primary{min-width:0;width:100%}.consent{margin:16px 4px 8px}.status{margin:12px 4px}.photo-card{grid-template-columns:64px 1fr;gap:12px}.photo-card img{width:64px;height:64px}.url-row{flex-direction:column}.photo-actions .remove{margin-left:0}.photo-actions{gap:6px}footer{flex-direction:column}.dialog-actions button{flex:1}.hint{font-size:14px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

button.secondary,.photo-actions button,.url-row input{border-color:#8a8781}#dialogStatus{color:var(--danger);overflow-wrap:anywhere}.status{overflow-wrap:anywhere}@media(prefers-color-scheme:dark){button.secondary,.photo-actions button,.url-row input{border-color:#858580}}
