:root{color-scheme:light;--ink:#26134f;--muted:#675879;--line:#e2d8e4;--accent:#d85a39;--accent-strong:#f6b33f;--paper:#fbf7f5;--dark:#211040;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}main{max-width:1040px;margin:auto;padding:48px 32px 24px}header{margin-bottom:32px}.eyebrow{display:flex;align-items:center;gap:10px;font-size:.75rem;letter-spacing:.1em;font-weight:650}.mark{display:grid;place-items:center;background:var(--dark);color:#f6b33f;width:28px;height:28px;border-radius:7px;letter-spacing:0;font-size:1rem}.divider{color:#a998b5}h1{font-size:clamp(2.5rem,5vw,3.5rem);letter-spacing:-.045em;line-height:1.1;margin:22px 0 15px;font-weight:650}h1 span{color:var(--accent)}.intro{font-size:1.0625rem;line-height:1.65;max-width:750px;margin:0;color:var(--muted)}nav{display:flex;gap:26px;flex-wrap:wrap;margin-top:16px}a{color:var(--accent);text-underline-offset:4px}nav a{font-size:.875rem;font-weight:600}a:hover{color:#9c3b28}.workspace{background:white;border:1px solid var(--line);border-radius:14px;padding:24px}.upload-bar{display:flex;align-items:center;gap:12px}.drop-zone{flex:1;display:flex;align-items:center;gap:14px;flex-wrap:wrap;border:1px dashed #c8b4c9;border-radius:7px;padding:14px;transition:background .15s}.drop-zone.over{background:#fbe9dc;border-color:var(--accent)}.drop-zone label{font-size:.9375rem;font-weight:650;cursor:pointer;border-bottom:1px solid var(--ink);padding-bottom:2px}.drop-zone:focus-within{outline:3px solid #f3b75f;outline-offset:3px}input[type=file]{position:absolute;width:1px;height:1px;opacity:0}.file-hint{font-size:.8125rem;color:var(--muted)}button{font:inherit;cursor:pointer;font-size:.9375rem;font-weight:600;padding:14px 21px;border-radius:7px;min-height:48px;border:1px solid transparent}.primary{color:white;background:var(--ink)}.primary:hover:not(:disabled){background:var(--accent)}button:disabled{opacity:.4;cursor:not-allowed}.secondary{background:white;border-color:var(--line);color:var(--ink)}button:focus-visible,a:focus-visible{outline:3px solid #f3b75f;outline-offset:4px}.details-line{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:12px 0 0;font-size:.8125rem;color:var(--muted)}.details-line p{margin:0;overflow-wrap:anywhere}.local-badge{white-space:nowrap;background:#fbe9dc;color:#9c3b28;padding:4px 9px;border-radius:4px;font-size:.75rem}.status-area{min-height:60px;padding:10px 0 15px;font-size:.875rem}.status-area p{margin:0;line-height:1.5}#status.error{color:#ac2430}progress{width:100%;height:5px;margin-top:10px;accent-color:var(--accent)}.image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:792px;margin:auto}.image-grid figure{margin:0;min-width:0}.input-panel{grid-column:1/-1;width:calc((100% - 24px)/2);justify-self:center}figcaption{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.875rem;margin-bottom:10px;font-weight:600}figcaption b{font-size:.75rem;font-weight:500;color:#8a7696;margin-right:7px}.dimensions{color:var(--muted);font-size:.75rem;font-weight:400;white-space:nowrap}.frame{aspect-ratio:1;background:#100b24;display:grid;place-items:center;border-radius:6px;overflow:hidden;width:100%;border:1px solid #3d285d}.frame canvas{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.placeholder{color:#ddd1e3;text-align:center;line-height:1.7;font-size:1rem}.placeholder span{color:#aa91b4;font-size:.8125rem}.download{display:inline-block;font-size:.8125rem;margin-top:11px}.plot-note{font-size:.8125rem;line-height:1.6;color:var(--muted);margin:26px 0 0;text-align:center}footer{font-size:.8125rem;color:var(--muted);line-height:1.65;padding:16px 2px 0}footer p{margin:0 0 8px}.foot-links{font-size:.75rem}.foot-links span{padding:0 7px}[hidden]{display:none!important}
@media(max-width:620px){main{padding:26px 14px 16px}.eyebrow{font-size:.65rem;letter-spacing:.045em;gap:6px}header{margin-bottom:24px}nav{gap:12px 22px}.workspace{padding:15px}.upload-bar{flex-wrap:wrap}.drop-zone{flex-basis:100%}.primary{flex:1}.details-line{flex-direction:column;gap:8px}.image-grid{gap:12px}.input-panel{width:calc((100% - 12px)/2)}figcaption{font-size:.8125rem;flex-wrap:wrap;gap:3px}figcaption b{display:none}.dimensions{font-size:.75rem}.placeholder{font-size:.875rem}.download{font-size:.75rem}.plot-note{text-align:left}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.mark{width:auto;padding:0 9px;flex-shrink:0;font-size:inherit;letter-spacing:inherit}
