/* Focused interview journeys and continuous, readable course typography. */
#main:focus{outline:none}
.interview-home,.interview-library,.oral-session{max-width:680px;margin-inline:auto}
.interview-home .page-heading,.interview-library .page-heading{margin:0 0 20px}
.interview-home .page-heading .eyebrow:empty,.interview-library .page-heading .eyebrow:empty{display:none}
.interview-profile{margin:0 0 24px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.interview-profile>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;cursor:pointer;font-size:.9rem;line-height:1.5;list-style:none}
.profile-edit{font-size:.8rem;color:var(--accent);flex-shrink:0}.interview-profile[open] .profile-edit{display:none}
.interview-profile .brief-filters{margin:0;background:transparent;padding:4px 16px 18px}
.interview-start{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:24px;margin-bottom:32px}
.interview-start-top{display:flex;justify-content:space-between;gap:16px;font-size:.8rem;color:var(--muted)}
.interview-start h2{font-size:1.4rem;line-height:1.35;margin:24px 0}
.interview-start>.button{width:100%;display:flex;justify-content:space-between;min-height:50px}
.interview-library-link{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;margin-top:12px;font-size:.9rem;color:var(--ink)}
.interview-library-link span{color:var(--muted);font-size:.8rem}
.interview-section-label{font-size:1rem;margin:0 0 12px;color:var(--muted);font-weight:500}
.interview-guide,.interview-guide-link{border-bottom:1px solid var(--line);color:var(--ink)}
.interview-guide>summary,.interview-guide-link{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 0;min-height:60px;list-style:none;cursor:pointer;font-size:1rem;text-decoration:none}
.interview-guide>summary span{color:var(--muted)}.interview-guide[open]>summary span{transform:rotate(45deg)}
.interview-guide>.panel{margin:0;padding:8px 0 24px;border-top:0}.interview-guide .eyebrow{display:none}
.interview-guide h2{font-size:1.1rem}.interview-guide p{line-height:1.65;font-size:.95rem}
.interview-back{display:inline-flex;align-items:center;min-height:44px;margin-bottom:16px;color:var(--muted);font-size:.9rem}
.interview-question-list{display:grid;gap:12px}
.interview-question{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.interview-question>summary{display:flex;align-items:center;gap:12px;list-style:none;padding:20px 16px;cursor:pointer;min-height:64px}
.interview-question h2{font-size:1rem;font-weight:550;line-height:1.5;margin:0;flex:1}
.question-status{color:var(--accent);font-size:1rem}.question-expand{color:var(--muted);font-size:1.2rem}
.interview-question[open] .question-expand{transform:rotate(45deg)}
.question-content{padding:0 20px 20px}.question-content>h3{font-size:.8rem;color:var(--muted);font-weight:500;margin:0}
.brief-answer{white-space:normal;border:0;background:transparent;padding:0;line-height:1.7;color:var(--ink)}
.brief-answer p{margin:16px 0;font-size:1rem;line-height:1.7}
.question-more{margin:20px 0;border-top:1px solid var(--line)}
.question-more summary,.research-resources>summary{padding:16px 0;min-height:44px;cursor:pointer;font-size:.9rem}
.brief-provenance{font-size:.85rem;color:var(--muted)}.brief-provenance p{font-size:.85rem}
.brief-tip,.brief-pitch blockquote,.question-context{background:var(--raised);color:var(--ink)}
.brief-steps li:before{background:var(--raised);color:var(--ink)}
.oral-progress{display:flex;justify-content:space-between;gap:12px;align-items:center;color:var(--muted);font-size:.8rem;margin:8px 0 12px}
.oral-session>progress{display:block;width:100%;height:4px;border:0;border-radius:4px;appearance:none;background:var(--raised);color:var(--accent)}
.oral-session progress::-webkit-progress-bar{background:var(--raised);border-radius:4px}.oral-session progress::-webkit-progress-value{background:var(--accent);border-radius:4px}
.oral-question{padding:30px 0 12px}.oral-question h1{font-size:1.55rem;line-height:1.4;letter-spacing:-.02em;margin:0 0 24px}
.oral-question .question-context p{font-size:.95rem;line-height:1.65}.oral-correction{padding-top:20px;border-top:1px solid var(--line)}
.oral-correction>h2{font-size:.8rem;color:var(--accent);text-transform:uppercase;letter-spacing:.05em;margin:0 0 20px}
.oral-actions{display:grid;gap:12px;margin-top:18px;padding:16px 0}.oral-actions>.button{width:100%}
.oral-navigation{display:grid;grid-template-columns:1fr 1fr;gap:12px}.oral-navigation .button{padding:12px;min-width:0}
.is-interview-session .topbar,.is-interview-session .mobile-nav{display:none}
.is-interview-session main{padding-top:calc(12px + var(--safe-top));padding-bottom:calc(28px + var(--safe-bottom))}
.is-interview-session .interview-back{margin:0}.oral-session{min-height:75dvh}
.reader-shell{max-width:680px}.reader-heading h1{font-size:1.65rem;line-height:1.3;margin-bottom:16px}
.reader-heading .reader-subtitle{font-size:.9rem;line-height:1.6}.reader-dots{margin-bottom:24px}
.reader-body{font-size:1rem;line-height:1.75}.reader-body p{margin-block:20px;line-height:1.75}
.reader-body>.reading-section{border-top:1px solid var(--line);padding-top:30px;margin:36px 0;scroll-margin-top:calc(96px + var(--safe-top))}
.reader-body>.reading-section>h2{font-size:1.3rem;line-height:1.4;margin-bottom:24px}
.reader-body h3{font-size:1.05rem;line-height:1.5}
.reading-example{padding:20px;border-radius:16px;border:1px solid var(--line);background:var(--surface)}
.reading-example .reading-case{border:0;padding:0;background:transparent}.reading-example h3{margin-top:0}
.reader-callout{padding:20px!important;line-height:1.7}.reader-callout>strong{display:block;color:var(--accent);font-size:.9rem;margin-bottom:12px}
.reader-body .reader-formula{font-size:1rem;line-height:1.7;padding:20px;border-left:3px solid var(--accent);border-radius:0 12px 12px 0}
.reading-outline{border:1px solid var(--line);border-radius:12px;padding:0 16px;margin:22px 0;color:var(--muted);font-size:.9rem}
.reading-outline>summary{min-height:48px;align-content:center;cursor:pointer}.reading-outline nav{display:grid;padding-bottom:12px}
.reading-outline button{background:transparent;color:var(--ink);text-align:left;border:0;min-height:44px;padding:10px 0;font-size:.9rem;line-height:1.5}
.reading-section h2:focus{outline:none}
html[data-reading-size=large] .reader-body,html[data-reading-size=large] .reader-body p,html[data-reading-size=large] .reader-body li{font-size:1.18rem}
@media(max-width:800px){
 .topbar .avatar{display:none}.topbar{border-bottom:1px solid var(--line)}
 .interview-home .page-heading h1,.interview-library .page-heading h1{font-size:1.65rem!important}
 .interview-start{padding:22px 20px}.interview-start h2{font-size:1.3rem}
 .interview-home .brief-filter-grid{grid-template-columns:1fr}.interview-home .brief-filters select{font-size:16px}
 .oral-session{display:flex;flex-direction:column;min-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 40px)}
 .oral-session>.interview-back{align-self:flex-start}.oral-actions{margin-top:auto;padding-top:24px}
 .oral-question h1{font-size:1.35rem}.reader-heading h1{font-size:1.5rem}.reader-heading{margin-top:20px}
 .reader-body>.reading-section>h2{font-size:1.2rem}.reader-body .reader-table .table-title{font-size:.95rem}
 .reader-body figure{margin-block:28px}.reader-body .reader-figure svg{max-height:420px}
}
