
:root { --paper:#f3eee4; --paper-deep:#e8dfcf; --ink:#22231f; --muted:#777266; --wine:#7b2432; --green:#506557; --line:rgba(34,35,31,.19); --editorial-display:"Cormorant Garamond",Georgia,serif; --editorial-sans:"Manrope",Arial,sans-serif; }
* { box-sizing:border-box; }
html { background:var(--paper); scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--editorial-sans); }
button,input,select { font:inherit; }
button { color:inherit; }
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible { outline:3px solid rgba(123,36,50,.35); outline-offset:3px; }
.site-shell { min-height:100vh; background-image:radial-gradient(rgba(80,60,40,.05) .7px,transparent .7px); background-size:7px 7px; }
.masthead { height:78px; padding:0 max(28px,calc((100vw - 1240px)/2)); border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:20px; }
.wordmark { border:0;background:none;display:flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:.13em;font-weight:800;font-size:12px;cursor:pointer;padding:8px 0; }
.wordmark-mark { width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--wine);color:#fff8ec;font-family:var(--editorial-display);font-size:15px;letter-spacing:0; }
.masthead-note { font-family:var(--editorial-display);font-size:18px;font-style:italic;color:var(--muted); }
.running-pill { border:1px solid var(--line);background:rgba(255,255,255,.38);border-radius:99px;padding:10px 15px;cursor:pointer;font-size:12px;font-weight:700; }
.pulse { display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--wine);margin-right:7px;animation:pulse 1.5s infinite; }
@keyframes pulse { 50%{box-shadow:0 0 0 6px rgba(123,36,50,0)} 0%,100%{box-shadow:0 0 0 0 rgba(123,36,50,.25)} }
.hero { max-width:1240px;margin:0 auto;padding:82px 28px 92px;position:relative; }
.hero:after { content:"&";position:absolute;right:4%;top:5%;font:600 280px/1 var(--editorial-display);color:rgba(123,36,50,.055);pointer-events:none; }
.eyebrow,.kicker { display:flex;align-items:center;gap:12px;color:var(--wine);font-size:11px;text-transform:uppercase;letter-spacing:.15em;font-weight:800; }
.eyebrow i { width:3px;height:3px;background:var(--wine);border-radius:50%; }
h1,h2,h3,p { margin-top:0; }
.hero h1,.job-hero h1,.report-header h1 { font:600 clamp(64px,8.5vw,126px)/.82 var(--editorial-display);letter-spacing:-.055em;margin:29px 0 32px;max-width:1040px; }
.hero-copy { width:min(680px,62%);font:500 clamp(17px,2vw,22px)/1.55 var(--editorial-display);color:#514f48;margin-bottom:48px; }
.analysis-form { position:relative;z-index:1;background:#fbf8f1;border:1px solid var(--line);padding:26px 28px 22px;box-shadow:0 20px 70px rgba(72,53,37,.09); }
.analysis-form>label { display:block;text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:800;margin-bottom:10px;color:var(--muted); }
.book-row { display:grid;grid-template-columns:1fr auto;gap:12px; }
.book-row input { min-width:0;border:0;border-bottom:1px solid var(--ink);background:transparent;padding:9px 4px 13px;font:600 28px/1.2 var(--editorial-display); }
.book-row input::placeholder { color:#aaa396; }
.book-row button,.primary-action { border:0;background:var(--wine);color:#fff9ef;padding:15px 24px;font-weight:800;cursor:pointer;min-width:245px; }
.book-row button span { display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;opacity:.72;margin-top:3px; }
.book-row button:disabled { opacity:.45;cursor:not-allowed; }
.form-meta { display:flex;justify-content:space-between;gap:28px;align-items:flex-end;margin-top:18px; }
.form-meta fieldset { border:0;margin:0;padding:0;display:flex;align-items:center;gap:7px; }
.form-meta legend { float:left;margin-right:10px;font-size:11px;color:var(--muted);padding:7px 0; }
.form-meta fieldset button { border:1px solid var(--line);background:transparent;border-radius:99px;padding:6px 12px;font-size:11px;cursor:pointer; }
.form-meta fieldset button.selected { background:var(--ink);color:var(--paper); }
.form-meta>p { margin:0;max-width:505px;color:var(--muted);font-size:11px;line-height:1.55;text-align:right; }
.form-meta strong { color:var(--wine); }
.library,.findings { border-top:1px solid var(--line);max-width:1240px;margin:0 auto;padding:58px 28px 100px; }
.section-heading { display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid var(--ink);padding-bottom:20px;margin-bottom:30px; }
.section-heading>div { display:flex;align-items:baseline;gap:18px; }
.section-number { color:var(--wine);font-size:11px;font-weight:800; }
.section-heading h2 { font:600 44px/1 var(--editorial-display);margin:0;letter-spacing:-.03em; }
.section-heading>p { margin:0;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em; }
.report-grid { display:grid;grid-template-columns:repeat(3,1fr); }
.report-tile { min-height:280px;text-align:left;border:0;border-right:1px solid var(--line);background:transparent;padding:8px 28px 22px 0;margin-right:28px;display:flex;flex-direction:column;cursor:pointer; }
.report-tile:nth-child(3n) { border-right:0;margin-right:0; }
.tile-index { color:var(--wine);font:600 30px var(--editorial-display); }
.tile-date { margin-top:28px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em; }
.report-tile strong { font:600 32px/1.05 var(--editorial-display);margin:9px 0 13px; }
.tile-stats { color:var(--muted);font-size:11px; }
.tile-open { margin-top:auto;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.09em; }
.tile-open b { color:var(--wine);font-size:18px;margin-left:5px; }
.empty-library,.empty-findings { border:1px dashed var(--line);padding:45px;text-align:center;color:var(--muted); }
.empty-library span { font:600 30px var(--editorial-display);color:var(--ink); }
.empty-library p { max-width:520px;margin:10px auto 0;line-height:1.6;font-size:13px; }
.notice { max-width:1184px;margin:24px auto 0;padding:16px 20px;border-left:3px solid var(--wine);background:#f7e9e6;font-size:13px; }
.back-link { border:0;background:none;padding:0;cursor:pointer;font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--muted); }
.job-page,.report-page { max-width:1240px;margin:0 auto;padding:38px 28px 100px; }
.job-hero { padding:75px 0 48px;border-bottom:1px solid var(--line); }
.job-hero h1 { font-size:clamp(60px,8vw,112px); }
.time-display { display:flex;align-items:center;gap:24px; }
.time-display>span { font:600 64px/1 var(--editorial-display);color:var(--wine);font-variant-numeric:tabular-nums; }
.time-display p { margin:0;color:var(--muted);font-size:11px;line-height:1.55;text-transform:uppercase;letter-spacing:.06em; }
.job-assurance { margin:24px 0 0;color:var(--green);font:600 18px var(--editorial-display); }
.progress-card { margin:38px auto 0;max-width:820px;background:#fbf8f1;border:1px solid var(--line);padding:34px 38px;box-shadow:0 20px 60px rgba(72,53,37,.07); }
.progress-top { display:flex;align-items:center;gap:16px;padding-bottom:26px;border-bottom:1px solid var(--line); }
.progress-top small { display:block;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:9px;margin-bottom:5px; }
.progress-top strong { font:600 24px var(--editorial-display); }
.spinner { width:34px;height:34px;border:2px solid var(--paper-deep);border-top-color:var(--wine);border-radius:50%;animation:spin 1s linear infinite;flex:0 0 auto; }
@keyframes spin { to{transform:rotate(360deg)} }
.status-dot { width:34px;height:34px;border-radius:50%;background:var(--green); }
.timeline { list-style:none;margin:28px 0;padding:0; }
.timeline li { display:flex;gap:16px;align-items:center;min-height:54px;color:#a29c90;position:relative; }
.timeline li>span { width:28px;height:28px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-size:10px;z-index:1;background:#fbf8f1; }
.timeline li:not(:last-child):after { content:"";height:27px;border-left:1px solid var(--line);position:absolute;left:14px;top:41px; }
.timeline li p { margin:0;font-size:13px;font-weight:700; }
.timeline li small { display:block;font-size:10px;font-weight:500;margin-top:3px; }
.timeline li.done { color:var(--green); }.timeline li.current { color:var(--wine); }
.job-actions { display:flex;align-items:center;gap:20px;padding-top:14px; }
.primary-action { min-width:0; }
.cancel-action { border:0;background:none;text-decoration:underline;color:var(--muted);cursor:pointer;font-size:11px; }
.job-result { border-left:3px solid var(--wine);padding-left:18px; }.job-result.completed { border-color:var(--green); }
.job-result span { font:600 36px var(--editorial-display); }.job-result p { color:var(--muted);font-size:13px;margin:4px 0; }
.report-header { display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;padding:60px 0 50px; }
.report-header h1 { font-size:clamp(62px,8vw,116px);margin-bottom:20px; }
.report-title-block>p { color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em; }
.report-metrics { display:flex;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);min-width:380px; }
.report-metrics>div { flex:1;padding:18px 12px;border-right:1px solid var(--line); }.report-metrics>div:last-child{border:0}
.report-metrics strong { display:block;font:600 36px var(--editorial-display);color:var(--wine); }.report-metrics span { display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted); }
.partial-notice { margin:0 0 36px;max-width:none; }
.findings { padding-left:0;padding-right:0;padding-bottom:20px; }
.filters { display:flex;justify-content:space-between;gap:20px;margin-bottom:36px; }
.filters>div { display:flex;gap:6px;overflow:auto; }
.filters button,.filters select,.filters select { flex:0 0 auto;border:1px solid var(--line);background:transparent;border-radius:99px;padding:9px 15px;font-size:11px;cursor:pointer; }
.filters button.active { background:var(--ink);color:var(--paper); }
.filters select { padding-right:30px; }
.mention-card { display:grid;grid-template-columns:65px 1fr;border-top:1px solid var(--line);padding:30px 0; }
.mention-number { color:var(--wine);font:600 28px var(--editorial-display); }
.mention-main { display:grid;grid-template-columns:minmax(220px,30%) 1fr;column-gap:50px; }
.mention-labels { grid-column:1;display:flex;gap:8px;align-items:center;margin-bottom:9px; }
.mention-labels span,.mention-labels em { text-transform:uppercase;letter-spacing:.1em;font-style:normal;font-size:9px;font-weight:800;color:var(--wine); }
.mention-labels em { color:var(--green);border-left:1px solid var(--line);padding-left:8px; }
.mention-main h3 { grid-column:1;font:600 32px/1.05 var(--editorial-display);margin:0; }
.creator { grid-column:1;color:var(--muted);font-size:11px;margin:8px 0 0; }
.summary { grid-column:2;grid-row:1/4;font:500 18px/1.55 var(--editorial-display);margin:0; }
.quotes { grid-column:2;margin-top:24px;border-left:2px solid var(--wine);padding-left:20px; }
.quotes blockquote { margin:0 0 10px;font:italic 16px/1.5 var(--editorial-display);color:#59564f; }
.review-links { grid-column:2;margin-top:14px;display:flex;gap:8px;flex-wrap:wrap; }
.review-links a,.review-links span { color:var(--green);font-size:10px;text-transform:uppercase;letter-spacing:.07em;text-decoration:none;border-bottom:1px solid currentColor; }
.loading-page { min-height:65vh;display:grid;place-items:center;font:600 32px var(--editorial-display);color:var(--muted); }
footer { border-top:1px solid var(--line);max-width:1240px;margin:0 auto;padding:30px 28px 45px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.09em; }
footer span { color:var(--wine);font-weight:800; } footer p { margin:0; } footer b { font-family:var(--editorial-display);font-style:italic;text-transform:none;letter-spacing:0;font-size:16px;font-weight:600; }

@media (max-width:800px) {
  .masthead { height:66px;padding:0 18px; }.masthead-note{display:none}.wordmark>span:last-child{display:none}.running-pill{font-size:10px;padding:8px 10px}
  .hero { padding:55px 18px 65px; }.hero:after{font-size:150px;top:9%}.hero h1{font-size:clamp(49px,16vw,76px);margin:24px 0}.hero-copy{width:100%;font-size:18px;margin-bottom:32px}
  .analysis-form{padding:21px 18px}.book-row{grid-template-columns:1fr}.book-row input{font-size:24px}.book-row button{min-width:0;width:100%;min-height:58px}.form-meta{display:block}.form-meta fieldset{margin:14px 0}.form-meta>p{text-align:left}
  .library,.job-page,.report-page{padding-left:18px;padding-right:18px}.library{padding-top:40px}.section-heading h2{font-size:34px}.section-heading>p{display:none}.report-grid{grid-template-columns:1fr}.report-tile,.report-tile:nth-child(3n){min-height:220px;border-right:0;border-bottom:1px solid var(--line);margin:0;padding:22px 0}.tile-date{margin-top:14px}
  .job-hero{padding:54px 0 34px}.job-hero h1,.report-header h1{font-size:58px;margin:23px 0}.time-display>span{font-size:52px}.progress-card{padding:25px 20px}.progress-top strong{font-size:20px}.job-actions{align-items:flex-start;flex-direction:column}.primary-action{width:100%;min-height:52px}
  .report-header{grid-template-columns:1fr;padding:50px 0 35px}.report-metrics{min-width:0;width:100%}.report-metrics strong{font-size:30px}.findings{padding-top:42px}.filters{display:block}.filters>div{padding-bottom:10px}.filters select{margin-top:8px;width:100%}.mention-card{grid-template-columns:38px 1fr}.mention-main{grid-template-columns:1fr}.mention-labels,.mention-main h3,.creator,.summary,.quotes,.review-links{grid-column:1}.summary{grid-row:auto;margin-top:18px}.mention-main h3{font-size:28px}.quotes{margin-top:18px}.review-links{margin-top:12px}.notice{margin:16px 18px 0}
  footer{margin:0 18px;padding-left:0;padding-right:0}footer p{display:none}
}

@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}}
