:root{--bg:#faf7f2;--surface:#fff;--surface-2:#f3eee6;--text:#13294b;--muted:#4a5a73;--accent:#0f766e;--accent-dark:#0b5953;--accent-soft:#e0f2ef;--border:#d9d1c4;--danger:#a61b1b;--warn-bg:#fff4d6;--warn-border:#c99a1a;--ok-bg:#e5f4ea;--focus:#1d4ed8;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:17px;line-height:1.5}*{box-sizing:border-box}body{margin:0}h1{margin:.4rem 0 .6rem;font-size:1.6rem}h2{margin:.4rem 0;font-size:1.2rem}h3{margin:.6rem 0 .3rem;font-size:1.05rem}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.skip-link{position:absolute;left:-9999px}.skip-link:focus{background:var(--surface);z-index:20;padding:.5rem;top:.5rem;left:1rem}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-header{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;padding:.6rem 1.25rem;display:flex}.brand{flex-direction:column;display:flex}.brand-name{color:var(--accent-dark);font-size:1.15rem;font-weight:700}.brand-sub{color:var(--muted);font-size:.82rem}.header-actions{flex-wrap:wrap;gap:.5rem;margin-left:auto;display:flex}.stepper ol{flex-wrap:wrap;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.stepper li+li:before{content:"→";color:var(--muted);margin:0 .25rem}.stepper li{align-items:center;display:flex}.stepper button{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:.3rem .5rem;font-size:.95rem}.stepper button:disabled{color:#8a94a6;cursor:not-allowed}.stepper li.current button{border-color:var(--accent);background:var(--accent-soft);font-weight:600}.step-n{min-width:1.4em;margin-right:.25rem;font-weight:700;display:inline-block}main{outline:none;max-width:1500px;margin:0 auto;padding:1rem 1.25rem 2rem}.app-footer{color:var(--muted);border-top:1px solid var(--border);padding:.75rem 1.25rem;font-size:.85rem}.btn{font:inherit;border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text);cursor:pointer;border-radius:8px;padding:.45rem .9rem;font-size:.95rem}.btn:hover:not(:disabled){border-color:var(--accent)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.btn-primary:hover:not(:disabled){background:var(--accent-dark)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger-outline{color:var(--danger);border-color:#e3b3b3}.btn-link{color:var(--accent-dark);background:0 0;border:none;padding-left:.2rem;padding-right:.2rem;text-decoration:underline}.btn-small{min-height:38px;padding:.25rem .6rem;font-size:.9rem}.btn-large{padding:.6rem 1.3rem;font-size:1.05rem}.btn-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.4rem 0;display:flex}.btn-close{cursor:pointer;color:inherit;background:0 0;border:none;min-width:36px;min-height:36px;font-size:1.3rem}.lead{max-width:60ch;font-size:1.1rem}.hint,.muted{color:var(--muted);font-size:.92rem}.error-text,.conflict-text{color:var(--danger);font-weight:600}.intake-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin:1rem 0;display:grid}.intake-card,.paste-zone{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem}.paste-zone{border:2px dashed var(--accent);background:var(--accent-soft)}.example-list{margin:.5rem 0 0;padding:0;list-style:none}kbd{border:1px solid var(--border);background:var(--surface);border-bottom-width:2px;border-radius:4px;padding:0 .3rem;font-size:.85em}.privacy-note{background:var(--surface);border-left:4px solid var(--accent);max-width:75ch;padding:.6rem .9rem}.warning-box{background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:8px;padding:.5rem .8rem}.info-box{background:var(--accent-soft);border:1px solid var(--accent);border-radius:8px;margin:.5rem 0;padding:.5rem .8rem}.tips{background:var(--surface-2);border-radius:8px;margin:.5rem 0;padding:.5rem .8rem}.fict-banner{color:#6b3a00;background:#fde7c8;border:1px solid #c97a1a;border-radius:6px;margin:.3rem 0;padding:.15rem .6rem;font-weight:700;display:inline-block}.org-top{flex-wrap:wrap;align-items:flex-start;gap:1rem 2rem;display:flex}fieldset{border:1px solid var(--border);background:var(--surface);border-radius:8px;margin:.5rem 0;padding:.5rem .9rem .7rem}legend{padding:0 .3rem;font-weight:600}.radio,.check{cursor:pointer;align-items:flex-start;gap:.5rem;margin:.25rem 0;display:flex}.radio input,.check input{flex:none;width:1.15rem;height:1.15rem;margin-top:.2rem}.exam-type .radio{margin-right:1rem;display:inline-flex}.field{flex-direction:column;gap:.25rem;font-weight:600;display:flex}.field.inline{display:inline-flex}select,input[type=text],input[type=number]{font:inherit;border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--text);border-radius:6px;padding:.3rem .5rem;font-weight:400}.page-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;padding:0;list-style:none;display:grid}.page-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.4rem;padding:.75rem;display:flex}.page-excluded{opacity:.7;border-style:dashed}.thumb{background:var(--surface-2);border-radius:8px;justify-content:center;align-items:center;height:220px;display:flex;position:relative;overflow:hidden}.thumb img{object-fit:contain;max-width:100%;max-height:100%}.thumb img.rot-90{transform:rotate(90deg)}.thumb img.rot-180{transform:rotate(180deg)}.thumb img.rot-270{transform:rotate(270deg)}.thumb-number{background:var(--text);color:#fff;text-align:center;border-radius:999px;min-width:1.8rem;font-weight:700;position:absolute;top:6px;left:6px}.page-meta{flex-direction:column;display:flex}.badges{flex-wrap:wrap;gap:.3rem;margin-top:.2rem;display:flex}.badge{border:1px solid var(--border);background:var(--surface-2);border-radius:999px;padding:0 .55rem;font-size:.82rem;display:inline-block}.status-error,.state-conflict{border-color:var(--danger);color:var(--danger);font-weight:600}.status-lista,.state-reviewed{border-color:var(--accent);color:var(--accent-dark)}.page-actions{flex-wrap:wrap;gap:.3rem;display:flex}.image-adjust summary{cursor:pointer;color:var(--accent-dark)}.primary-actions{flex-wrap:wrap;gap:.75rem;margin:1.2rem 0;display:flex}.progress-panel{background:var(--surface);border:1px solid var(--accent);border-radius:10px;max-width:640px;margin:.75rem 0;padding:.75rem 1rem}progress{width:100%;height:1rem;accent-color:var(--accent);margin:.3rem 0;display:block}.notices{z-index:10;flex-direction:column;gap:.3rem;padding:0 1.25rem;display:flex;position:sticky;top:0}.notice{border:1px solid var(--border);background:var(--surface);border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;margin-top:.4rem;padding:.4rem .8rem;display:flex}.notice-error{border-color:var(--danger);background:#fdecec}.notice-success{border-color:var(--accent);background:var(--ok-bg)}.notice-info{border-color:var(--warn-border);background:var(--warn-bg)}.tabs,.page-tabs,.mobile-tabs{flex-wrap:wrap;gap:.3rem;margin:.5rem 0;display:flex}.tab{font:inherit;border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--text);cursor:pointer;border-radius:8px;padding:.3rem .7rem;font-size:.92rem}.tab.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 -3px 0 var(--accent);font-weight:600}.mobile-tabs{display:none}.review-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.col-doc{position:sticky;top:.5rem}.viewer{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:.6rem}.viewer-toolbar{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.viewer-scroll{background:var(--surface-2);border-radius:8px;max-height:78vh;margin-top:.4rem;overflow:auto}.viewer-canvas{min-width:50%;position:relative}.viewer-canvas img{width:100%;height:auto;display:block}.hl-box{pointer-events:none;background:#facc1547;border:2px solid #d97706;position:absolute}.text-review,.suggestions{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:1rem;padding:.75rem 1rem}.provenance{color:var(--muted);margin:.2rem 0;font-size:.88rem}.warnings,.flags{color:#6b4a00;margin:.3rem 0;padding-left:1.1rem;font-size:.92rem}.text-area,.preview,.manual-copy textarea{tab-size:6;border:1px solid var(--border);width:100%;min-height:320px;color:var(--text);white-space:pre;background:#fffdf9;border-radius:8px;padding:.6rem;font-family:ui-monospace,Cascadia Mono,Consolas,Courier New,monospace;font-size:.95rem;line-height:1.45;overflow:auto}.text-area[readonly]{background:var(--surface-2)}.preview{white-space:pre-wrap;min-height:260px}.add-selection{flex-wrap:wrap;align-items:flex-end;gap:.6rem;margin-top:.6rem;display:flex}.lowconf{font-size:.9rem}.sug-section ul{margin:0;padding:0;list-style:none}.sug-item{border-top:1px solid var(--border);padding:.5rem 0}.snippet{white-space:pre-wrap;background:var(--surface-2);tab-size:6;border-radius:6px;margin:0 0 .2rem;padding:.4rem .6rem;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.92rem}.draft-cols{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:1.25rem;display:grid}.copy-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:.75rem 1rem;position:sticky;top:.5rem}.draft-section{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin:.75rem 0;padding:.6rem 1rem}.draft-items{margin:0;padding:0;list-style:none}.draft-item{border-left:4px solid var(--border);margin:.5rem 0;padding:.4rem 0 .4rem .7rem}.draft-item.review-reviewed{border-left-color:var(--accent)}.draft-item.review-conflict{border-left-color:var(--danger);border-left-style:double;border-left-width:6px}.item-head{flex-wrap:wrap;gap:.3rem;display:flex}.item-text{width:100%;font:inherit;border:1px solid var(--border);white-space:pre-wrap;border-radius:6px;margin-top:.3rem;padding:.4rem}.status-pending,.status-ready{border-radius:8px;padding:.25rem .8rem;font-weight:700;display:inline-block}.status-pending{background:var(--warn-bg);border:1px solid var(--warn-border)}.status-ready{background:var(--ok-bg);border:1px solid var(--accent)}.reasons{color:#6b4a00;padding-left:1.1rem;font-size:.92rem}.date-list{margin:.2rem 0;padding:0;list-style:none}.secondary-copy{border-top:1px solid var(--border);margin-top:1rem;padding-top:.5rem}.manual-copy textarea{min-height:160px}.dialog{border:1px solid var(--border);max-width:min(560px,94vw);color:var(--text);background:var(--surface);border-radius:12px;padding:1rem 1.25rem}.dialog-wide{max-width:min(1000px,96vw)}.dialog::backdrop{background:#13294b73}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.crop-layout{flex-wrap:wrap;gap:1rem;display:flex}.crop-area{touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;background:var(--surface-2);flex:360px;max-width:640px;position:relative}.crop-area img{pointer-events:none;width:100%;height:auto;display:block}.crop-rect{border:2px dashed var(--accent);pointer-events:none;position:absolute;box-shadow:0 0 0 9999px #13294b59}.crop-margins label{justify-content:space-between;gap:.5rem;margin:.3rem 0;display:flex}.crop-margins input{width:5rem}@media (width<=900px){:root{font-size:16px}.review-cols,.draft-cols{grid-template-columns:1fr}.mobile-tabs{display:flex}.review-cols.show-doc .col-text,.review-cols.show-text .col-doc{display:none}.col-doc,.copy-panel{position:static}.header-actions{margin-left:0}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.not-suggested{border-top:1px solid var(--border);margin-top:1rem;padding-top:.5rem}.not-suggested>summary,.literal>summary{cursor:pointer;color:var(--accent-dark);font-weight:600}.literal>summary{font-size:.88rem;font-weight:400}.quick-toggle{background:var(--accent-soft);border:1px solid var(--accent);border-radius:8px;max-width:75ch;padding:.5rem .8rem}.quick-rows{margin:.5rem 0;padding:0;list-style:none}.quick-row{border-bottom:1px solid var(--border);padding:.3rem 0}.quick-row-main{align-items:center;gap:.4rem;display:flex}.quick-row-main input{flex:1;min-width:0}.quick-row .provenance{margin:.1rem 0 0}.quick-preview{white-space:pre-wrap;min-height:180px}
