:root{--bg: #f4f1ea;--bg-panel: #fbf9f4;--bg-panel-2: #f0ece3;--ink: #1a1814;--ink-2: #44403c;--ink-3: #78716c;--ink-4: #a8a29e;--line: #d6d3c8;--line-2: #e5e2d8;--accent: #8b1d2e;--accent-soft: #f5e6e8;--green: #2d5016;--green-soft: #e6ede0;--amber: #8b5a00;--amber-soft: #fbf0d9;--red: #8b1d2e;--red-soft: #f5e6e8;--live: #16a34a;--shadow-sm: 0 1px 2px rgba(26, 24, 20, .04);--shadow: 0 4px 12px rgba(26, 24, 20, .06);--shadow-lg: 0 20px 50px rgba(26, 24, 20, .15);--radius: 4px;--radius-lg: 8px;--radius-pill: 10px;--font-display: "Fraunces", "Times New Roman", serif;--font-body: "Inter Tight", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--eyebrow-size: 14px;--h1-size: 42px;--h3-size: 20px;--body-size: 13px;--small-size: 12px;--micro-size: 11px;--caps-size: 10px}*{box-sizing:border-box;margin:0;padding:0}html,body{font-family:var(--font-body);background:var(--bg);color:var(--ink);font-size:var(--body-size);line-height:1.5;font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}button:disabled{cursor:default}.t-eyebrow{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:var(--eyebrow-size);color:var(--ink-3)}.t-h1{font-family:var(--font-display);font-weight:500;font-size:var(--h1-size);line-height:1.05;letter-spacing:-.02em;color:var(--ink)}.t-h3{font-family:var(--font-display);font-weight:500;font-size:var(--h3-size);letter-spacing:-.01em}.t-small{font-size:var(--small-size);color:var(--ink-3)}.t-meta{font-size:var(--micro-size);color:var(--ink-3)}.t-caps{font-size:var(--caps-size);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.t-mono{font-family:var(--font-mono);font-size:12px;font-variant-numeric:tabular-nums}.page{max-width:880px;margin:0 auto;padding:48px 24px 64px}.page-head{margin-bottom:32px}.page-head .t-h1{margin:4px 0 8px}.lede{font-size:13px;color:var(--ink-3);max-width:60ch}.stage{position:relative;padding:20px}.crop-mark{position:absolute;width:20px;height:20px;border-color:var(--ink-4);pointer-events:none}.crop-mark--tl{top:0;left:0;border-top:2px solid var(--ink-4);border-left:2px solid var(--ink-4)}.crop-mark--tr{top:0;right:0;border-top:2px solid var(--ink-4);border-right:2px solid var(--ink-4)}.crop-mark--bl{bottom:0;left:0;border-bottom:2px solid var(--ink-4);border-left:2px solid var(--ink-4)}.crop-mark--br{bottom:0;right:0;border-bottom:2px solid var(--ink-4);border-right:2px solid var(--ink-4)}.dropzone{border:1px dashed var(--line);border-radius:var(--radius-lg);background:var(--bg-panel);padding:64px 24px;text-align:center;cursor:pointer;transition:.15s}.dropzone:hover,.dropzone--over{border-color:var(--ink-3);background:var(--bg-panel-2)}.dropzone-title{font-family:var(--font-display);font-size:16px;font-weight:500}.dropzone-sub{font-size:var(--small-size);color:var(--ink-3);margin-top:6px}.preview{background:var(--bg-panel);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.preview img{display:block;width:100%;max-height:420px;object-fit:contain;background:var(--bg-panel-2)}.preview-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;border-top:1px solid var(--line-2)}.preview-meta{display:flex;align-items:center;gap:8px;min-width:0;font-family:var(--font-mono);font-size:11px;color:var(--ink-3)}.preview-meta .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kind-tag{font-family:var(--font-mono);font-size:10px;padding:1px 6px;border-radius:2px;background:var(--ink);color:var(--bg);flex-shrink:0}.link-btn{background:none;border:none;font-size:var(--micro-size);color:var(--ink-3);text-decoration:underline;transition:.15s}.link-btn:hover{color:var(--ink)}.panel{background:var(--bg-panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px 32px}@media(max-width:720px){.info-grid{grid-template-columns:1fr}}.info-grid .t-caps{display:block;margin-bottom:8px}.info-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line-2)}.info-row .label{font-size:var(--small-size);color:var(--ink-3)}.info-row .value{font-family:var(--font-mono);font-size:12px;font-variant-numeric:tabular-nums;text-align:right}.font-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 0}.font-row .name{font-size:var(--small-size);color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.space-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.space-tag{font-family:var(--font-mono);font-size:10px;padding:2px 8px;border:1px solid var(--line);border-radius:2px;background:var(--bg-panel-2);color:var(--ink-2)}.muted-note{font-size:var(--small-size);color:var(--ink-4);padding:6px 0}.gallery-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px}.gallery-head .t-caps{margin-bottom:0}.page-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}.page-card{min-width:0}.page-thumb{display:block;width:100%;padding:0;background:var(--bg-panel-2);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.page-thumb img{display:block;width:100%;height:auto}.page-thumb-caption{font-size:var(--micro-size);color:var(--ink-3);margin-top:6px}.page-stats{margin-top:4px}.page-stats .info-row{padding:4px 0}.pill{display:inline-flex;align-items:center;gap:4px;font-size:var(--micro-size);font-weight:500;padding:2px 8px;border-radius:var(--radius-pill);white-space:nowrap;flex-shrink:0}.pill--pass{color:var(--green);background:var(--green-soft)}.pill--warning{color:var(--amber);background:var(--amber-soft)}.pill--fail{color:var(--red);background:var(--red-soft)}.btn-primary{width:100%;padding:12px 20px;font-size:var(--body-size);font-weight:600;color:var(--bg);background:var(--ink);border:1px solid var(--ink);border-radius:var(--radius);transition:.15s;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary:hover:not(:disabled){background:var(--ink-2)}.btn-primary:disabled{opacity:.55}.btn-ghost{width:100%;padding:10px 20px;font-size:var(--small-size);font-weight:500;color:var(--ink-2);background:var(--bg-panel);border:1px solid var(--line);border-radius:var(--radius);transition:.15s}.btn-ghost:hover{background:var(--bg-panel-2);border-color:var(--ink-4)}.verdict{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:var(--radius-lg);padding:16px 20px;margin-bottom:16px}.verdict--ready{background:var(--green-soft);color:var(--green);border-color:var(--green)}.verdict--needs_attention{background:var(--amber-soft);color:var(--amber);border-color:var(--amber)}.verdict--not_ready{background:var(--red-soft);color:var(--red);border-color:var(--red)}.verdict-title{font-family:var(--font-display);font-weight:500;font-size:var(--h3-size);line-height:1.2}.verdict-summary{font-size:var(--body-size);color:var(--ink-2);margin-top:2px}.verdict>svg{margin-top:3px}.findings{display:flex;flex-direction:column;gap:8px}.finding{display:flex;gap:12px;padding:12px 16px;background:var(--bg-panel);border:1px solid var(--line-2);border-radius:var(--radius)}.finding-icon{margin-top:2px;flex-shrink:0}.finding-icon--pass{color:var(--green)}.finding-icon--warning{color:var(--amber)}.finding-icon--fail{color:var(--red)}.finding-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.finding-title{font-size:var(--body-size);font-weight:600;color:var(--ink)}.finding-detail{font-size:var(--small-size);color:var(--ink-3);margin-top:2px}.source-tag{font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4)}.err-text{font-size:var(--small-size);color:var(--red);margin-top:12px}.analyzing-note{font-size:var(--small-size);color:var(--ink-3);margin-top:12px;display:flex;align-items:center;gap:8px}.dot--live{width:6px;height:6px;border-radius:50%;background:var(--live);box-shadow:0 0 0 3px #16a34a26;animation:pulse 1.6s ease-in-out infinite;flex-shrink:0}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.section{margin-top:24px}.hidden-input{display:none}
