 .review-warning{margin:8px 0 0;padding:8px 10px;border-left:2px solid var(--rust);background:var(--rust-wash);color:#694330;font-size:10px;font-weight:700}
 .provider-hint{margin:14px 0 0;padding:10px 12px;border-left:2px solid var(--rust);background:var(--rust-wash);color:#694330;font-size:10px}.provider-hint strong{font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em}.provider-hint code{font:10px var(--mono);padding:1px 4px;background:rgba(255,255,255,.55)}.provider-hint a{color:var(--forest-dark);font-weight:800}
@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Literata:opsz,wght@7..72,400;7..72,500;7..72,600;7..72,700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#202b28;--muted:#68736d;--paper:#f4f2e9;--surface:#fffef9;--line:#d9ded4;--forest:#264d40;--forest-dark:#19382f;--moss:#dce8d8;--rust:#a65738;--rust-wash:#f4e5dc;--gold:#d7b968;--bluewash:#e8eff0;--serif:'Literata',Georgia,serif;--sans:'Manrope',sans-serif;--mono:'DM Mono',monospace;--shadow:0 14px 40px rgba(35,53,44,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.55 var(--sans)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}.app-shell{min-height:100dvh}.topbar{min-height:70px;background:var(--forest-dark);color:#f5f2e7;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,58px);gap:20px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none}.brand-mark{width:42px;height:36px;border:1px solid rgba(240,231,197,.65);color:var(--gold);display:grid;place-items:center;font:500 11px var(--mono);letter-spacing:.04em;transform:rotate(-3deg)}.brand strong{font:500 15px var(--serif);letter-spacing:.02em}.brand strong i{color:var(--gold);font-style:normal;padding:0 4px}.brand small{display:block;color:#b9c7bc;font:10px var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-top:1px}.top-nav{display:flex;align-items:center;gap:17px;font-size:12px}.top-nav a{color:#e4e8dd;text-decoration:none}.top-nav a:hover{color:var(--gold)}.nav-rule{height:23px;width:1px;background:#547166}.nav-signin{border:1px solid #83978b;padding:8px 12px}.page{max-width:1480px;margin:auto;padding:38px clamp(16px,4vw,58px) 80px}.masthead{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:30px;align-items:end;border-bottom:1px solid var(--line);padding:0 0 28px;margin-bottom:28px}.eyebrow{color:var(--rust);font:500 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;margin:0 0 9px}.eyebrow span{color:var(--gold);padding:0 4px}.masthead h1{font:500 clamp(40px,5.3vw,68px)/1.02 var(--serif);letter-spacing:-.045em;margin:0}.masthead h1 em{font-weight:400;color:var(--forest);font-style:italic}.lede{max-width:650px;color:var(--muted);font-size:14px;margin:15px 0 0}.mast-note{border-left:2px solid var(--gold);padding:5px 0 4px 16px;color:var(--muted);font-size:12px}.mast-note strong{display:block;color:var(--ink);font:500 15px var(--serif);margin:10px 0 4px}.mast-note p{margin:0}.note-index,.small-label{font:9px var(--mono);text-transform:uppercase;letter-spacing:.11em;color:var(--muted)}.builder{display:grid;grid-template-columns:290px minmax(0,1fr);gap:22px;align-items:start}.sidebar{display:grid;gap:14px;position:sticky;top:16px}.surface{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);min-width:0}.library-panel,.source-teaser{padding:18px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading h2,.section-heading h3{font:600 18px var(--serif);margin:0}.section-heading .eyebrow{margin-bottom:3px}.icon-plus{border:1px solid var(--forest);background:var(--forest);color:var(--surface);width:34px;height:34px;font-size:22px;line-height:1}.icon-plus:hover{background:var(--forest-dark)}.caption{font-size:11px;color:var(--muted);margin:6px 0 12px}.corpus-list{display:grid;gap:7px}.corpus-card{border:1px solid #e1e5dc;background:#fbfbf5;padding:11px;cursor:pointer;transition:transform .15s,border-color .15s}.corpus-card:hover{transform:translateY(-1px);border-color:#9caf9e}.corpus-card.is-active{background:#edf2e9;border-color:#829d88;box-shadow:inset 3px 0 var(--forest)}.corpus-card strong{font:500 13px/1.35 var(--serif);display:block;overflow-wrap:anywhere}.corpus-card small{color:var(--muted);font:9px var(--mono);display:block;margin-top:5px}.capacity{border-top:1px solid var(--line);padding-top:11px;margin-top:12px;color:var(--muted);font:9px/1.65 var(--mono)}.source-teaser p{font-size:11px;color:var(--muted)}.text-action{border:0;background:none;padding:0;color:var(--forest);font-size:11px;font-weight:800;text-align:left}.text-action:hover{color:var(--rust)}.text-action span{margin-left:5px}.limits-note{display:flex;gap:12px;padding:14px 12px;background:#e9eee5;border-left:2px solid #8ba18e}.limit-glyph{font:22px var(--serif);color:var(--forest)}.limits-note strong{font:500 12px var(--serif)}.limits-note p{font-size:10px;color:var(--muted);margin:4px 0 0}.main-column{display:grid;gap:16px;min-width:0}.banner{padding:10px 13px;background:#f7f1d9;border:1px solid #d9c98f;color:#5f542f;font-size:11px}.banner:empty{display:none}.banner.error,.error-box{background:#faece5;border-color:#d7a794;color:#773c29}.corpus-workspace{padding:22px;min-height:280px}.empty-state{text-align:center;padding:35px 12px}.empty-symbol{display:grid;place-items:center;width:43px;height:43px;border:1px solid #c7d0c5;color:var(--forest);margin:0 auto 14px;font:22px var(--serif)}.empty-state h2{font:500 22px var(--serif);margin:0 0 7px}.empty-state p{max-width:480px;margin:0 auto 17px;color:var(--muted);font-size:12px}.button{min-height:38px;border:1px solid var(--forest);background:var(--forest);color:#fffef9;padding:9px 14px;font-size:11px;font-weight:800;display:inline-flex;justify-content:center;align-items:center;gap:8px;text-decoration:none;transition:transform .15s,background .15s,opacity .15s}.button:hover:not(:disabled){background:var(--forest-dark);transform:translateY(-1px)}.button:disabled{opacity:.48;cursor:not-allowed}.button-quiet{background:transparent;color:var(--forest)}.button-quiet:hover:not(:disabled){color:#fffef9}.button-danger{border-color:#a65738;background:#a65738}.button-danger:hover:not(:disabled){background:#813e29}.workspace-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-bottom:1px solid var(--line);padding-bottom:16px}.workspace-header h2{font:500 clamp(22px,3vw,32px)/1.2 var(--serif);margin:0;overflow-wrap:anywhere}.workspace-header p{margin:5px 0 0;color:var(--muted);font-size:11px;white-space:pre-wrap}.header-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.compact{min-height:32px;padding:6px 9px;font-size:10px}.corpus-meta{display:flex;gap:8px;align-items:center;margin:13px 0;flex-wrap:wrap}.pill{display:inline-flex;padding:4px 7px;background:var(--moss);color:var(--forest-dark);font:9px var(--mono);text-transform:uppercase;letter-spacing:.06em}.pill.warn{background:#f2e9c9;color:#725c1d}.metrics{display:flex;gap:20px;color:var(--muted);font:10px var(--mono)}.criteria-block{background:#f8f7ef;border-left:2px solid var(--gold);padding:10px 12px;margin:12px 0;color:#58635d;font-size:11px;white-space:pre-wrap}.toolbar{display:flex;justify-content:space-between;align-items:end;gap:10px;flex-wrap:wrap;padding:15px 0 10px}.toolbar-title{font:500 18px var(--serif);margin:0}.toolbar-actions{display:flex;gap:7px;flex-wrap:wrap}.filter-row{display:grid;grid-template-columns:minmax(150px,1fr) 150px 150px 170px;gap:8px;margin-bottom:10px}.filter-row input,.filter-row select,.source-search input,.source-search select,.field input,.field select,.field textarea{width:100%;border:1px solid #cbd3c9;background:#fffefb;padding:9px 10px;color:var(--ink);outline:none;border-radius:0}.filter-row input:focus,.filter-row select:focus,.source-search input:focus,.source-search select:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--forest);box-shadow:0 0 0 2px rgba(38,77,64,.13)}.documents{display:grid;gap:8px}.doc-card{border:1px solid #e1e5dc;background:#fffefb;padding:12px}.doc-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.doc-check{display:flex;gap:9px;align-items:flex-start;min-width:0}.doc-check input,.rights-check input{accent-color:var(--forest);margin-top:3px}.doc-title{font:500 14px/1.35 var(--serif);overflow-wrap:anywhere}.doc-subtitle{color:var(--muted);font:9px var(--mono);margin-top:4px;overflow-wrap:anywhere}.doc-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.mini-button{border:1px solid #cfd8cf;background:transparent;color:var(--forest);min-height:27px;padding:4px 7px;font-size:9px}.mini-button:hover{background:var(--moss)}.doc-tags{display:flex;gap:5px;flex-wrap:wrap;margin:8px 0 0 24px}.tag{background:#f0f1e9;padding:3px 6px;color:#5a685e;font:9px var(--mono)}.doc-review{margin:8px 0 0 24px;padding:9px 10px;border-left:2px solid var(--rust);background:#fbf5ed;font-size:10px;color:#685a4d}.doc-review strong{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.05em}.doc-review p{white-space:pre-wrap;margin:4px 0 0;max-height:105px;overflow:auto}.doc-foot{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:9px 0 0 24px;border-top:1px solid #edf0e8;padding-top:7px;color:var(--muted);font:9px var(--mono)}.role-tag{color:#405e62;background:var(--bluewash);padding:3px 6px}.source-panel{padding:20px}.source-header{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.source-header h2{font:500 23px var(--serif);margin:0}.source-header .caption{margin-bottom:0}.source-search{display:grid;grid-template-columns:200px minmax(160px,1fr) 120px auto;gap:8px;margin:15px 0}.source-result{padding:13px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center}.source-result h3{font:500 15px var(--serif);margin:0 0 4px}.source-result p{color:var(--muted);font:10px/1.5 var(--mono);margin:0}.source-result .reason{color:#725c1d;margin-top:5px}.source-result-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.empty-inline{padding:17px;border:1px dashed #bbc7b8;background:#f9f9f2;color:var(--muted);font-size:11px;text-align:center}.catalogue-links{display:flex;gap:11px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px;margin-top:14px;align-items:center}.catalogue-links span{font:9px var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.catalogue-links a{font-size:10px;color:var(--forest);text-decoration:none}.catalogue-links a:hover{text-decoration:underline}.rights-caveat{border-left:2px solid var(--gold);padding:7px 10px;margin:12px 0 0;color:#685f42;background:#fbf7e9;font-size:10px}.source-page{display:flex;align-items:center;justify-content:space-between;padding:10px 0;color:var(--muted);font:10px var(--mono)}.public-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:35px;align-items:start}.public-intro{padding:14px 0}.public-stamp{color:var(--rust);font:10px var(--mono);letter-spacing:.12em}.public-intro h2{font:500 clamp(30px,4vw,48px)/1.1 var(--serif);margin:12px 0}.public-intro p{max-width:400px;color:var(--muted);font-size:13px;margin-bottom:20px}.public-catalogue{padding:21px}.catalogue-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:15px}.catalogue-grid>a{display:flex;flex-direction:column;min-height:155px;padding:15px;text-decoration:none;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .15s}.catalogue-grid>a:hover{background:#f1f4eb}.catalogue-grid span{font:9px var(--mono);letter-spacing:.08em;color:var(--rust)}.catalogue-grid strong{font:500 18px var(--serif);margin-top:13px}.catalogue-grid small{color:var(--muted);font-size:10px}.catalogue-grid b{font-size:10px;color:var(--forest);margin-top:auto;padding-top:12px}.public-footnote{margin-top:15px;padding:11px;background:#f7f1d9;color:#5f542f;font-size:10px}.loading-skeleton,.skeleton{height:53px;background:linear-gradient(90deg,#e8e9e0,#f5f4eb,#e8e9e0);background-size:200% 100%;animation:sweep 1.4s ease-in-out infinite}@keyframes sweep{to{background-position:-200% 0}}.error-box{padding:12px;border:1px solid;font-size:11px}.error-box strong{display:block;margin-bottom:3px}.empty-small{padding:18px;text-align:center;border:1px dashed #bbc7b8;color:var(--muted);font-size:11px}.empty-small strong{display:block;font:500 15px var(--serif);color:var(--ink);margin-bottom:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}dialog{border:1px solid var(--line);padding:0;width:min(720px,calc(100vw - 26px));max-height:92dvh;color:var(--ink);background:var(--surface);box-shadow:0 24px 80px rgba(17,34,26,.28)}dialog::backdrop{background:rgba(20,38,31,.58);backdrop-filter:blur(2px)}.dialog-form{display:flex;flex-direction:column;max-height:92dvh}.dialog-head{padding:16px 20px;background:#edf0e8;display:flex;justify-content:space-between;align-items:center;gap:12px}.dialog-head h2{font:500 21px var(--serif);margin:0}.dialog-head .eyebrow{margin:0 0 3px}.close-dialog{border:0;background:none;color:var(--muted);font-size:23px}.dialog-body{padding:19px 20px;overflow:auto;display:grid;gap:12px}.field{display:grid;gap:5px;color:#53605a;font-size:11px;font-weight:700}.field textarea{resize:vertical;min-height:65px}.field-help{font-weight:400;color:var(--muted)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dialog-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:12px 20px;border-top:1px solid var(--line);background:#fbfaf4}.version-line{font:10px var(--mono);color:var(--muted);padding:7px 9px;background:#f3f3eb}.text-stats{font:9px var(--mono);color:var(--muted);text-align:right}.original-panel{border:1px solid var(--line);background:#f4f5ed;padding:10px}.original-panel strong{font:10px var(--mono);text-transform:uppercase}.original-panel pre{white-space:pre-wrap;max-height:150px;overflow:auto;font:11px/1.6 var(--serif);margin:8px 0 0}.exclusions{border:1px solid var(--line);padding:11px;background:#fbfaf4}.exclusions .section-heading strong{font:500 13px var(--serif)}.exclusions .section-heading small{display:block;color:var(--muted);font-size:9px}.exclusion-row{display:grid;grid-template-columns:100px 100px minmax(100px,1fr) 28px;gap:6px;margin-top:8px}.exclusion-row input{min-width:0;border:1px solid #cbd3c9;padding:7px;font-size:10px}.remove-range{border:1px solid #cfd8cf;background:transparent;color:var(--rust)}.rights-check{background:#f7f1d9;padding:10px;border:1px solid #e2d7ad}.rights-check label{display:flex;gap:8px;align-items:flex-start;font-size:10px;color:#5f542f}.review-visible{font-size:10px;color:#665a43;padding:9px;border-left:2px solid var(--gold);background:#fbf7e9}.toast{position:fixed;right:20px;bottom:18px;z-index:20;max-width:min(420px,calc(100vw - 32px));padding:12px 16px;background:var(--forest-dark);color:#fffef7;box-shadow:var(--shadow);font-size:11px;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .18s,transform .18s}.toast.is-visible{opacity:1;transform:translateY(0)}.toast.is-error{background:#873f2c}.analysis-panel{margin-top:16px;border-top:3px solid var(--forest)}.analysis-content{padding:17px}.analysis-content h3{font:500 19px var(--serif);margin:0}.analysis-content>p{font-size:11px;color:var(--muted)}.selection-groups{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:12px 0}.selection-group{border:1px solid var(--line);padding:12px}.selection-group h4{font:500 14px var(--serif);margin:0 0 8px}.selection-corpus{border-top:1px solid #e7e9e1;padding-top:8px;margin-top:8px}.selection-corpus strong{font:10px var(--mono);display:block;margin-bottom:4px}.selection-row{display:flex;align-items:flex-start;gap:7px;font-size:10px;padding:4px 0}.selection-row input{accent-color:var(--forest);margin-top:2px}.analysis-limits{font-size:10px;color:#665a43;background:#fbf7e9;padding:9px;border-left:2px solid var(--gold)}.analysis-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.@media(max-width:1050px){.builder{grid-template-columns:250px minmax(0,1fr);gap:15px}.filter-row{grid-template-columns:1fr 1fr}.source-search{grid-template-columns:1fr 1fr}.source-search input{grid-column:span 2}.source-search button{grid-column:span 2}.public-layout{gap:20px}}@media(max-width:760px){.topbar{min-height:60px;padding:0 15px}.top-nav{gap:10px}.top-nav>a:first-child,.nav-rule{display:none}.page{padding:24px 14px 55px}.masthead{grid-template-columns:1fr;gap:16px;padding-bottom:20px}.masthead h1{font-size:clamp(39px,11vw,57px)}.mast-note{max-width:none}.builder{grid-template-columns:1fr}.sidebar{position:static;grid-template-columns:1fr}.main-column{grid-row:1}.corpus-workspace{padding:16px}.workspace-header,.source-header{align-items:flex-start;flex-direction:column}.header-actions{justify-content:flex-start}.filter-row{grid-template-columns:1fr 1fr}.source-search{grid-template-columns:1fr}.source-search input,.source-search button{grid-column:auto}.source-result{grid-template-columns:1fr}.source-result-actions{justify-content:flex-start}.public-layout{grid-template-columns:1fr}.public-intro{padding:0}.selection-groups{grid-template-columns:1fr}.field-row{grid-template-columns:1fr 1fr}.dialog-body{padding:15px}.catalogue-links{gap:8px}.doc-card-top{flex-direction:column}.doc-actions{justify-content:flex-start}.doc-tags,.doc-review,.doc-foot{margin-left:0}.metrics{gap:11px;flex-wrap:wrap}.limits-note{margin-bottom:1px}}@media(max-width:430px){.brand strong{font-size:13px}.brand-mark{width:36px}.filter-row,.field-row{grid-template-columns:1fr}.catalogue-grid{grid-template-columns:1fr}.catalogue-grid>a{min-height:135px}.exclusion-row{grid-template-columns:1fr 1fr 28px}.exclusion-row input:last-of-type{grid-column:1/3}.remove-range{grid-column:3;grid-row:1}.dialog-actions{padding:10px;flex-wrap:wrap}.source-panel{padding:15px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
