:root{--paper:#f5f2e9;--ink:#183b31;--muted:#52675d;--line:#c8d1c5;--wash:#e6ebe0}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 system-ui,sans-serif}header{display:flex;justify-content:space-between;gap:20px;padding:22px 6vw;border-bottom:1px solid var(--line)}a{color:inherit;text-underline-offset:4px}.brand{text-decoration:none;font-size:22px;font-weight:750}.brand span{display:block;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.14em}main{max-width:1160px;margin:auto;padding:0 28px}.hero{padding:58px 0 36px;max-width:820px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:700}h1{font:normal clamp(40px,6vw,76px)/1.06 Georgia,serif;margin:18px 0}h2{font:normal 28px/1.25 Georgia,serif;margin:8px 0 12px}h3{font:normal 24px/1.3 Georgia,serif;margin:8px 0}.lede{font-size:20px;max-width:620px}.dates{display:flex;gap:20px;flex-wrap:wrap;margin-top:28px;background:var(--wash);padding:16px 20px}.tools{border:1px solid var(--line);padding:24px;margin:20px 0 34px;background:#faf9f3}.filters{display:flex;flex-wrap:wrap;gap:16px}.filters label{flex:1;min-width:145px}label{display:block;font-size:14px;font-weight:600}select,textarea,input[type=text]{display:block;width:100%;font:inherit;color:var(--ink);border:1px solid #98aa9d;border-radius:4px;background:white;padding:10px;margin:7px 0 12px}textarea{resize:vertical;font-weight:400}button,.button{display:inline-block;font:600 13px/1.4 system-ui;padding:11px 14px;color:var(--ink);background:transparent;border:1px solid #96a89a;border-radius:4px;cursor:pointer}button:hover,.button:hover{background:var(--wash)}button:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible,input:focus-visible,.button:focus-within{outline:3px solid #a5542c;outline-offset:4px}.quiet{border:0;text-decoration:underline}.workspace-bar{display:flex;justify-content:space-between;gap:20px;align-items:center}.actions{display:flex;flex-wrap:wrap;gap:8px}.notice{color:#6a4825;background:#f1e7d5;padding:12px 16px;font-size:14px}.coverage{color:var(--muted);font-size:14px}.card{display:grid;grid-template-columns:1fr 300px;gap:30px;padding:28px 0;border-top:1px solid var(--line)}.meta,.small{font-size:12px;color:var(--muted)}.candidate{padding:12px 0;border-bottom:1px solid var(--line)}.candidate strong{font-size:17px}details{margin:12px 0}summary{cursor:pointer;font-weight:600}.evidence{font-size:14px}.evidence li{margin:9px 0}.plan{background:var(--wash);padding:20px;border-radius:5px;align-self:start}.plan h3{font:600 14px system-ui;margin:0 0 14px}.check{display:flex;gap:8px;align-items:start;margin:10px 0;font-weight:400}.check input{margin-top:6px}.consent{display:flex;align-items:start;gap:10px;margin:18px 0;font-weight:400}.consent input{margin-top:6px}.saved{color:var(--muted);font-size:12px}footer{padding:12px 0 40px;border-top:1px solid var(--line);font-size:13px}#feedback-result{margin:18px 0;overflow-wrap:anywhere}.admin-row{padding:20px;border-top:1px solid var(--line)}@media(max-width:700px){header{padding:18px 22px;font-size:12px}main{padding:0 20px}.hero{padding-top:36px}.card{grid-template-columns:1fr;gap:16px}.workspace-bar{display:block}.actions{margin:18px 0}.tools{padding:18px}.dates{gap:8px}.filters label{min-width:120px}}@media print{header,.hero,.tools,.workspace-bar,.coverage,#storage,main>label,footer,.evidence,details,.source-link{display:none!important}main{max-width:none;padding:0}.card{break-inside:avoid;grid-template-columns:1fr 1fr;padding:12px 0}.plan{background:white}button{display:none}body{background:white;color:black;font-size:12px}.card.no-plan{display:none}textarea,select{border:0;background:white;color:black}h3{font-size:18px}.meta{color:black}}

.admin-title{font-size:42px}

.header-links,.footer-links{display:flex;flex-wrap:wrap;gap:18px;align-items:center}.candidate{padding:24px 0}.candidate-head{display:grid;grid-template-columns:88px 1fr;gap:18px;align-items:start}.portrait{width:88px;height:104px;object-fit:cover;object-position:center top;border-radius:6px;background:var(--wash);display:block}.portrait-document{object-fit:contain}.portrait-placeholder{display:grid;place-items:center;color:#617369;font:normal 29px Georgia,serif;border:1px solid var(--line)}h4{font:normal 25px/1.2 Georgia,serif;margin:0 0 7px}h5{font:700 12px system-ui;text-transform:uppercase;letter-spacing:.06em;margin:20px 0 9px}.party{font-size:12px;margin:0;color:var(--muted)}.profile-summary{font-size:14px;margin:10px 0 0;line-height:1.5}.profile-links{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}.profile-link{font-size:12px;text-decoration:none;border:1px solid var(--line);border-radius:20px;padding:5px 10px}.profile-link:hover{background:var(--wash)}.priorities{padding-left:20px;margin:0}.priorities li{font-size:14px;margin:8px 0}.citation{font-size:11px;white-space:nowrap}.research-notes{color:var(--muted);font-size:12px;margin:12px 0}.research-notes summary{font-weight:500}.research-notes[open]{padding:12px 16px;background:#ebece3;border-radius:4px}.research-notes p,.research-notes li{overflow-wrap:anywhere}.profile-background,.profile-records{font-size:14px}.profile-background li,.profile-records li{margin:10px 0}.record-link{display:block;margin:8px 0}.sourcebook-hero{padding:40px 0 20px}.sourcebook-hero h1{font-size:48px}.sourcebook-controls{display:flex;flex-wrap:wrap;gap:14px;align-items:end}.sourcebook-controls label{flex:1;min-width:160px}.source-entry{border-top:1px solid var(--line);padding:20px 0}.source-entry h3{font-size:21px}.source-entry p{font-size:14px;overflow-wrap:anywhere}.source-entry .meta{font-size:12px}.sourcebook-count{color:var(--muted);font-size:13px}@media(max-width:700px){.header-links{gap:10px;font-size:12px}.candidate-head{grid-template-columns:72px 1fr;gap:14px}.portrait{width:72px;height:88px}h4{font-size:23px}.sourcebook-hero h1{font-size:37px}}@media print{.portrait,.profile-links,.priorities,.candidate-head .profile-summary,.profile-background,.profile-records,.research-notes{display:none!important}.candidate-head{display:block}.candidate{padding:3px 0;border:0}h4{font-size:15px}.party{font-size:10px}h5{display:none}.header-links{display:none}}

@media(min-width:701px){.plan{position:sticky;top:20px}}@media print{.plan{position:static}}
.plan-reference{border-bottom:1px solid var(--line);margin-bottom:16px;padding-bottom:12px}.plan-reference strong{display:block;font-size:14px;line-height:1.4}.plan-reference p{margin:7px 0 0}.plan-item-summary{font-size:13px;line-height:1.5}
/* Portrait framing v3 */
[data-candidate="contest-tennessee-tennessee-senate-district-29-candidate-1"] .portrait{object-position:50% 0%}
[data-candidate="contest-tennessee-tennessee-house-of-representatives-district-91-candidate-1"] .portrait{object-position:50% 0%}
[data-candidate="contest-tennessee-united-states-senate-candidate-1"] .portrait{object-position:50% 25%}
[data-candidate="contest-tennessee-united-states-senate-candidate-4"] .portrait{object-position:33% 40%}
[data-candidate="contest-tennessee-united-states-senate-candidate-6"] .portrait{object-position:50% 20%}
[data-candidate="contest-tennessee-united-states-senate-candidate-8"] .portrait{object-position:50% 30%}
[data-candidate="contest-tennessee-united-states-senate-candidate-9"] .portrait{object-position:50% 20%}
[data-candidate="contest-tennessee-united-states-senate-candidate-10"] .portrait{object-position:50% 15%}
[data-candidate="contest-tennessee-governor-candidate-1"] .portrait{object-position:50% 35%}
[data-candidate="contest-tennessee-governor-candidate-2"] .portrait{object-position:50% 25%}
[data-candidate="contest-tennessee-governor-candidate-6"] .portrait{object-position:30% 35%}
[data-candidate="contest-tennessee-governor-candidate-7"] .portrait{object-position:12% 46%}
[data-candidate="contest-tennessee-governor-candidate-10"] .portrait{object-position:50% 30%}
[data-candidate="contest-tennessee-governor-candidate-11"] .portrait{object-position:71% 51%}
[data-candidate="contest-tennessee-governor-candidate-12"] .portrait{object-position:50% 30%}
[data-candidate="contest-tennessee-governor-candidate-15"] .portrait{object-position:50% 46%}

/* Decision navigation and private review actions. */
[hidden]{display:none!important}button:disabled{opacity:.45;cursor:default}button[aria-pressed=true]{background:var(--wash);border-color:var(--ink)}
.decision-bar{position:sticky;top:0;z-index:30;background:var(--paper);border:1px solid var(--line);border-radius:8px;margin:20px 0 0;box-shadow:0 5px 15px #183b3112}
.decision-nav{display:flex;gap:10px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line)}.item-jump{flex:1;min-width:0;font-size:11px;font-weight:500}.decision-nav select{margin:2px 0 0;padding:6px 8px;font-size:13px}.decision-nav>button{padding:9px 11px}.decision-nav .small{white-space:nowrap}
.candidate-bar{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:7px 18px;padding:10px 14px}.review-target-label{font-size:11px;font-weight:500;min-width:0}.review-target-label select{font-size:13px;margin:2px 0 0;padding:7px 8px}.decision-actions{display:flex;gap:6px;align-items:center}.decision-actions button{white-space:nowrap}.primary-action{background:var(--ink);color:var(--paper);border-color:var(--ink)}.primary-action:hover{background:#2e5446;color:var(--paper)}.primary-action[aria-pressed=true]{background:#e6ebe0;color:var(--ink)}.action-status{grid-column:1/-1;font-size:11px;color:var(--muted);min-height:17px}
.candidate-actions{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:14px 0}.candidate-actions button{font-size:12px;padding:7px 11px}.candidate.is-favorite{border-left:3px solid #ae793e;padding-left:13px}.choice-badge{font-size:11px;color:var(--ink);font-weight:650;border-radius:14px;padding:3px 9px;background:var(--wash)}
.candidate.is-hidden{padding-top:14px;padding-bottom:5px}.candidate.is-hidden .candidate-head{grid-template-columns:38px 1fr;gap:12px}.candidate.is-hidden .portrait{width:38px;height:44px;font-size:16px}.candidate.is-hidden h4{font-size:20px}.candidate.is-hidden .profile-summary{display:none}.candidate.is-hidden .candidate-actions{margin-bottom:8px}
.card{scroll-margin-top:var(--decision-offset,150px)}.candidate{scroll-margin-top:var(--decision-offset,150px)}@media(min-width:701px){.plan{top:var(--decision-offset,150px)}}
.topic-chips{display:flex;flex-wrap:wrap;gap:6px}.topic-chip{font-size:11px;border:1px solid var(--line);border-radius:16px;padding:3px 9px}.topic-match{background:var(--ink);color:var(--paper);border-color:var(--ink)}.topic-evidence{font-size:12px;color:var(--muted)}.topic-evidence li{margin:7px 0}.topic-gap{font-size:12px;color:var(--muted)}.topic-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.topic-grid label{display:flex;gap:9px;align-items:start;font-weight:400}.topic-grid input{margin:5px 0 0}.bank-question{border-top:1px solid var(--line);padding:24px 0}.bank-question p{overflow-wrap:anywhere}.bank-empty{padding:40px 0;color:var(--muted)}.staff-link{margin-left:20px;font-size:12px}#staff-key{display:block;width:100%;font:inherit;padding:10px;margin:7px 0 12px;border:1px solid #98aa9d}#bank-receipts button,.admin-row button{margin:5px}.admin-row form{max-width:700px}.admin-row textarea{max-width:100%}.bank-question h5{color:var(--muted)}@media(max-width:400px){.topic-grid{grid-template-columns:1fr}.staff-link{display:block;margin:14px 0 0}}@media print{.topic-chips,.topic-evidence,.topic-gap{display:none!important}}
.notebook-menu{position:relative;margin:0;flex:0 0 auto;font-size:12px}.notebook-menu>summary{padding:10px 11px;border:1px solid #96a89a;border-radius:4px;font-weight:600}.notebook-menu[open]>div{position:absolute;right:0;top:100%;width:210px;padding:8px;background:var(--paper);border:1px solid var(--line);box-shadow:0 8px 20px #183b3122;z-index:50}.notebook-menu button{display:block;width:100%;text-align:left;margin:3px 0;font-weight:500;border:0}
dialog{max-width:650px;width:calc(100% - 32px);max-height:85dvh;padding:26px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#183b3170}.question-heading{display:flex;justify-content:space-between;align-items:start;gap:12px}.question-heading .eyebrow{margin-top:0}.question-heading button{font-size:22px;padding:4px 13px}.question-privacy{font-size:13px;color:var(--muted)}.question-prompts,.question-form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0}.question-prompts button{font-weight:500;font-size:11px;border-radius:16px;padding:6px 10px}.question-form-actions a{font-size:12px}.saved-question{border-top:1px solid var(--line);padding:14px 0}.saved-question p{overflow-wrap:anywhere}.saved-question button{font-size:11px;padding:7px 12px}#question-result{font-size:12px;color:var(--muted)}
@media(max-width:700px){.decision-nav{padding:8px;gap:6px}.decision-nav .small{display:none}.decision-nav select{font-size:12px}.decision-nav>button{padding:10px}.candidate-bar{display:none;position:fixed;left:0;right:0;bottom:0;border-top:1px solid var(--line);background:var(--paper);padding:8px 14px max(8px,env(safe-area-inset-bottom));box-shadow:0 -5px 18px #183b3117;grid-template-columns:minmax(0,1fr);gap:6px}.is-active>.decision-bar .candidate-bar{display:grid}#decision-section{padding-bottom:135px}.review-target-label{display:flex;align-items:center;gap:9px}.review-target-label span{flex:0 0 auto;font-size:10px}.review-target-label select{margin:0;min-width:0}.decision-actions{display:grid;grid-template-columns:1.35fr 1.15fr 1.1fr .75fr;gap:5px}.decision-actions button{font-size:11px;padding:10px 4px;min-height:40px}.action-status{font-size:10px;line-height:1.3}.decision-bar{border-radius:6px}.candidate-actions button{min-height:38px}}
@media print{.decision-bar,.candidate-actions{display:none!important}#decision-section{padding-bottom:0}.candidate.is-hidden .candidate-content{display:none!important}.candidate.is-hidden .candidate-head{display:block}.candidate.is-hidden .portrait{display:none!important}.candidate.is-favorite{border-left:0;padding-left:0}.plan{position:static}}

/* Keep the identity on the printed private plan. */
@media print {header{display:block!important;margin:0 0 16px;padding:0;border:0}header>:not(.brand){display:none!important}.brand{display:inline-block;color:#183b31!important}.brand span{display:none!important}}

.brand{flex-shrink:0}.brand span{white-space:nowrap}
