:root{color:#e8eef8;font-synthesis:none;--bg:#0d1422;--surface:#121d2e;--surface-2:#17283e;--border:#253752;--border-strong:#406487;--text:#e8eef8;--muted:#91a4bd;--accent:#79c7ff;--accent-soft:#1c3854;--success:#86e0b0;--danger:#ff9e9e;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;background:#0d1422;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}html,body{width:100%;height:100%}body{background:radial-gradient(circle at 80% -20%, #1a3550 0, transparent 42%), var(--bg);min-width:320px;color:var(--text);margin:0;overflow:hidden}button,input{font:inherit}button{cursor:pointer}.app-header{border-bottom:1px solid var(--border);background:#0d1422eb;flex:none;align-items:center;gap:16px;min-height:66px;padding:12px 22px;display:flex}.home-link{color:var(--accent);font:700 11px var(--mono);flex:none;text-decoration:none}.home-link:hover,.home-link:focus-visible{color:var(--text);outline:none;text-decoration:underline}.brand{align-items:center;gap:10px;min-width:0;display:flex}.brand-mark{border:1px solid var(--accent);width:34px;height:34px;color:var(--accent);place-items:center;font-size:20px;display:grid}.eyebrow{color:var(--accent);font:700 10px/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;margin:0}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:18px;line-height:1.2}h2{line-height:1.2}.info-button{border:1px solid var(--border-strong);min-height:30px;color:var(--muted);background:var(--surface);border-radius:6px;align-items:center;gap:7px;margin-left:auto;padding:4px 10px 4px 7px;font-size:11px;font-weight:700;display:inline-flex}.info-button:hover,.info-button:focus-visible{border-color:var(--accent);color:var(--text);outline:none}.info-symbol{border:1px solid;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font:700 12px/1 Georgia,serif;display:inline-flex}.info-dialog{border:1px solid var(--border-strong);width:min(500px,100vw - 32px);max-height:calc(100vh - 32px);color:var(--text);background:var(--surface);border-radius:10px;margin:auto;padding:0;overflow:hidden;box-shadow:0 24px 70px #0009}.info-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#040910bd}.info-dialog-header,.info-dialog-footer{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 18px;display:flex}.info-dialog-header h2{margin:4px 0 0;font-size:18px}.info-dialog-eyebrow{color:var(--accent);font:700 10px var(--mono);letter-spacing:.12em;text-transform:uppercase}.info-dialog-body{max-height:min(620px,100vh - 180px);color:var(--muted);padding:18px;font-size:12px;overflow:auto}.info-dialog-body p{color:var(--text);line-height:1.6}.info-dialog-body ul{margin:12px 0 0;padding-left:18px}.info-dialog-footer{border-top:1px solid var(--border);color:var(--muted);font:10px var(--mono);border-bottom:0;align-items:center}.dialog-close-button{border:1px solid var(--border-strong);width:30px;height:30px;color:var(--muted);background:0 0;border-radius:6px;font-size:21px;line-height:1}.dialog-close-button:hover,.dialog-close-button:focus-visible{border-color:var(--accent);color:var(--text);outline:none}.button{border:1px solid var(--border-strong);color:#08111c;background:var(--accent);border-radius:6px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:7px 12px;font-size:12px;font-weight:700;display:inline-flex}.button:hover:not(:disabled){filter:brightness(1.08)}.button:disabled{cursor:not-allowed;opacity:.45}.button.ghost{color:var(--text);background:0 0}.button.ghost:hover:not(:disabled){background:var(--surface-2)}.workspace{grid-template-columns:280px minmax(0,1fr);width:100%;height:calc(100vh - 66px);min-height:0;display:grid;overflow:hidden}.sidebar{border-right:1px solid var(--border);background:#121d2edb;min-width:0;min-height:0;overflow:auto}.sidebar-scroll{flex-direction:column;gap:16px;min-height:100%;padding:18px 14px 24px;display:flex}.sidebar-section{gap:10px;display:grid}.input-section{border-bottom:1px solid var(--border);padding-bottom:16px}.sidebar-heading{gap:4px;display:grid}.sidebar-heading h2{margin:0;font-size:16px}.sidebar-section-title{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:700}.drop-zone{border:1px dashed var(--border-strong);color:var(--text);cursor:pointer;text-align:center;background:linear-gradient(145deg,#79c7ff1f,#0000);border-radius:8px;gap:5px;padding:22px 14px;display:grid}.drop-zone:hover,.drop-zone:focus-within{border-color:var(--accent);background:var(--surface-2);outline:none}.drop-title{font-weight:700}.drop-hint{color:var(--muted);font-size:11px}input[type=file]{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.status{min-height:1.5rem;color:var(--muted);margin:0;font-size:11px;line-height:1.5}.status[data-state=ready]{color:var(--success)}.status[data-state=error]{color:var(--danger)}.section-nav{gap:4px;display:grid}.section-nav a{color:var(--muted);border-left:3px solid #0000;padding:9px 10px;font-size:12px;text-decoration:none}.section-nav a:hover,.section-nav a:focus-visible{border-left-color:var(--accent);color:var(--text);background:var(--surface-2);outline:none}.sidebar-note{border:1px solid var(--border);color:var(--muted);background:#09111dcc;border-radius:7px;margin-top:auto;padding:12px;font-size:11px}.sidebar-note strong{color:var(--text)}.sidebar-note p{margin:5px 0 0}.detail-area{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.detail-header{border-bottom:1px solid var(--border);background:#121d2eb8;justify-content:space-between;align-items:flex-end;gap:16px;padding:20px clamp(18px,4vw,54px) 16px;display:flex}.detail-header h2{letter-spacing:-.04em;margin:5px 0 0;font-size:24px}.detail-hint{color:var(--muted);font:10px var(--mono)}.detail-scroll{scroll-behavior:smooth;min-height:0;padding:0 clamp(18px,4vw,54px) 42px;overflow:auto}.panel{border:1px solid var(--border);background:var(--surface);border-radius:9px;margin-top:22px;padding:18px;scroll-margin-top:18px;box-shadow:0 1rem 3rem #05091038}.section-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.section-heading h2{margin:0;font-size:16px}.report{border:1px solid var(--border);color:#cfe6ff;min-height:220px;max-height:620px;font:.8rem/1.6 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;background:#09111d;border-radius:7px;margin:14px 0 0;padding:14px;overflow:auto}.badge{color:#e5c878;white-space:nowrap;background:#2b2514;border:1px solid #6b5b2c;border-radius:999px;padding:.25rem .6rem;font-size:.75rem}.extract-list{gap:.75rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.extract-item{border:1px solid var(--border);background:#09111d;border-radius:.65rem;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;display:flex}.extract-meta{gap:.2rem;min-width:0;display:grid}.extract-meta strong{overflow-wrap:anywhere}.extract-meta span{color:var(--muted);font-size:.85rem}#preview-canvas{border:1px solid var(--border);cursor:grab;touch-action:none;background:#09111d;border-radius:.65rem;width:100%;height:auto;min-height:260px;margin-top:1rem;display:block}#preview-canvas:active{cursor:grabbing}footer{color:var(--muted);margin-top:1.5rem;padding:0 2px;font-size:.9rem}footer p{margin:0}@media (width<=820px){body{overflow:auto}.app-header{flex-wrap:wrap;gap:8px 14px;padding:10px 14px}.brand{flex:auto}.workspace{height:auto;min-height:calc(100vh - 74px);display:block;overflow:visible}.sidebar{border-right:0;border-bottom:1px solid var(--border);overflow:visible}.sidebar-scroll{min-height:0}.sidebar-note{margin-top:0}.detail-area{overflow:visible}.detail-header{flex-direction:column;align-items:flex-start;gap:6px}.detail-scroll{padding-left:14px;padding-right:14px;overflow:visible}}@media (width<=520px){.brand-mark{display:none}.detail-header h2{font-size:20px}.section-heading{flex-direction:column;align-items:flex-start;gap:8px}.extract-item{flex-direction:column;align-items:flex-start}}
