.tone-guide { --tone-accent:#345439; --tone-tint:#eef3e8; }
[data-theme="dark"] .tone-guide { --tone-accent:#c2d9a7; --tone-tint:#252f23; }
.tone-guide [hidden] { display:none !important; }
.tone-guide :is(a,button,select,summary):focus-visible { outline:2px solid var(--tone-accent); outline-offset:5px; }
.tone-hero { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(220px,.65fr); gap:clamp(35px,7vw,105px); align-items:end; padding:60px 0 45px; }
.tone-hero h1 { font-size:clamp(51px,6.7vw,92px); line-height:1.02; font-weight:500; letter-spacing:-.06em; margin:22px 0 25px; }
.tone-hero .kicker { color:var(--tone-accent); }
.tone-hero p { max-width:62ch; }
.tone-hero .tone-lead { font-size:clamp(21px,2vw,27px); line-height:1.4; letter-spacing:-.015em; max-width:40ch; }
.tone-scope { border-top:1px solid var(--rule-strong); padding-top:17px; margin-bottom:6px; font-size:13px; line-height:1.7; }
.tone-scope .tone-scope-number { font-size:62px; font-weight:500; line-height:1; letter-spacing:-.045em; margin:24px 0 21px; }
.tone-scope-number span { font:12px var(--mono); letter-spacing:0; color:var(--muted); }
.tone-scope a { display:inline-block; margin-top:8px; font-size:12px; }
.tone-jump { display:flex; flex-wrap:wrap; gap:14px 26px; padding:19px 0; border-block:1px solid var(--rule); font-size:13px; }
.tone-registers,.tone-readings { padding:56px 0; border-bottom:1px solid var(--rule); }
.tone-section-heading { max-width:760px; margin-bottom:28px; }
.tone-section-heading .kicker { color:var(--muted); margin:0 0 17px; }
.tone-section-heading h2,.tone-takeaway h2 { font-size:clamp(29px,3.1vw,43px); line-height:1.13; letter-spacing:-.04em; font-weight:500; margin:0 0 20px; }
.tone-section-heading>p:last-child { font-size:15px; max-width:72ch; }
.tone-mode-buttons { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--rule); border-left:1px solid var(--rule); }
.tone-mode-buttons button { display:flex; align-items:center; gap:14px; text-align:left; min-height:58px; border:0; border-right:1px solid var(--rule); border-bottom:1px solid var(--rule); padding:16px 20px; background:var(--paper); color:var(--ink); font:14px/1.5 var(--sans); cursor:pointer; }
.tone-mode-buttons button>span { color:var(--muted); font:10px var(--mono); }
.tone-mode-buttons button:hover { background:var(--field); }
.tone-mode-buttons button[aria-selected="true"] { background:var(--tone-tint); box-shadow:inset 0 -3px 0 var(--tone-accent); }
.tone-mode { padding:34px; background:var(--field); border:1px solid var(--rule); margin-top:24px; }
[data-tone-enhanced] .tone-mode { margin-top:0; border-top:0; }
.tone-mode-heading { border-bottom:1px solid var(--rule); padding-bottom:23px; margin-bottom:29px; }
.tone-mode-heading .kicker { color:var(--tone-accent); }
.tone-mode-heading h3 { font-size:30px; line-height:1.15; font-weight:500; letter-spacing:-.035em; margin:10px 0 12px; }
.tone-mode-heading p { margin:0; font-size:16px; }
.tone-mode-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:clamp(25px,5vw,72px); }
.tone-caption { font:10px/1.8 var(--mono); color:var(--muted); }
.tone-example { border:0; padding:0; margin:23px 0; font-size:clamp(22px,2.1vw,30px); line-height:1.43; letter-spacing:-.025em; color:var(--ink); }
.tone-effect { font-size:13px; color:var(--muted); line-height:1.75; max-width:58ch; }
.tone-mode-notes p { font-size:14px; line-height:1.75; margin:8px 0 22px; }
.tone-mode-notes p:first-child { margin-top:0; }
.tone-mode-notes h4 { margin:0; font-size:13px; font-weight:600; }
.tone-mode-sources { border-top:1px solid var(--rule); padding-top:22px; margin:22px 0 0; font-size:12px; line-height:1.9; }
.tone-mode-sources strong { font-weight:500; }
.tone-prose { max-width:1000px; padding:8px 0 35px; }
.tone-prose h2 { padding-top:54px; border-top:1px solid var(--rule); margin:40px 0 23px; font-size:clamp(27px,3vw,40px); line-height:1.15; letter-spacing:-.035em; font-weight:500; }
.tone-prose h2:first-child { border:0; margin-top:0; }
.tone-prose h3 { font-size:23px; line-height:1.3; letter-spacing:-.02em; font-weight:500; margin:32px 0 14px; }
.tone-prose :is(p,li) { font-size:16px; line-height:1.8; max-width:83ch; }
.tone-prose p { margin:15px 0; }
.tone-prose li { padding-left:4px; margin:9px 0; }
.tone-prose ul { padding-left:22px; }
.tone-prose blockquote { margin:25px 0; border-left:3px solid var(--tone-accent); padding:8px 24px; background:var(--tone-tint); }
.tone-prose blockquote p { font-size:21px; line-height:1.6; }
.tone-table { overflow-x:auto; border:1px solid var(--rule); margin:28px 0; }
.tone-table table { border-collapse:collapse; width:100%; min-width:660px; text-align:left; font-size:14px; line-height:1.7; }
.tone-table :is(th,td) { border-bottom:1px solid var(--rule); padding:17px 20px; vertical-align:top; width:33.33%; }
.tone-table th { background:var(--field); font-weight:500; }
.tone-table tr:last-child td { border-bottom:0; }
.tone-filter { display:flex; flex-wrap:wrap; gap:12px 18px; align-items:center; margin:24px 0; }
.tone-filter label { font-size:12px; }
.tone-filter select { padding:10px 36px 10px 12px; min-height:44px; max-width:100%; color:var(--ink); border:1px solid var(--rule-strong); background:var(--paper); font:14px var(--sans); }
.tone-filter p { margin:0 0 0 auto; font:10px var(--mono); color:var(--muted); }
.tone-case-list { border-top:1px solid var(--rule-strong); }
.tone-case { border-bottom:1px solid var(--rule); scroll-margin-top:20px; }
.tone-case summary { display:grid; grid-template-columns:32px minmax(0,1fr) 158px 12px; align-items:start; gap:18px; padding:23px 0; cursor:pointer; list-style:none; }
.tone-case summary::-webkit-details-marker { display:none; }
.tone-case summary::after { content:"+"; font-size:20px; line-height:1.2; color:var(--tone-accent); }
.tone-case[open] summary::after { content:"−"; }
.tone-case-rank { font:11px/1.8 var(--mono); color:var(--muted); }
.tone-case-film { display:block; font-size:16px; font-weight:500; line-height:1.45; }
.tone-case-lesson { display:block; font-size:13px; line-height:1.6; color:var(--muted); margin-top:7px; }
.tone-case-mode { font:10px/1.8 var(--mono); color:var(--tone-accent); padding-top:2px; }
.tone-case-body { margin-left:50px; max-width:80ch; padding:0 0 28px; }
.tone-case-body>p { font-size:14px; line-height:1.8; }
.tone-case-body>.tone-caption { font-size:10px; margin-top:0; }
.tone-passages { list-style:none; padding:0; margin:23px 0; }
.tone-passages li { display:grid; grid-template-columns:116px minmax(0,1fr); gap:18px; padding:10px 0; }
.tone-passages a { font:11px/1.8 var(--mono); color:var(--tone-accent); }
.tone-passages span { font-size:13px; line-height:1.75; }
.tone-case-body>.tone-case-limit { font-size:12px; background:var(--field); padding:14px 17px; }
.tone-case-links { display:flex; flex-wrap:wrap; gap:12px 22px; margin-top:20px; font-size:12px; }
.tone-takeaway { display:grid; grid-template-columns:minmax(0,1fr) minmax(250px,.65fr); gap:40px; padding:55px 0 35px; align-items:center; }
.tone-takeaway h2 { font-size:32px; }
.tone-takeaway p { max-width:65ch; font-size:14px; }
.tone-takeaway .video-actions { align-items:flex-start; flex-direction:column; }
.tone-guide :is(h2,h3,section[id]) { scroll-margin-top:25px; }
@media(max-width:900px) {
  .tone-hero { grid-template-columns:1fr; gap:18px; padding-top:35px; }
  .tone-scope { max-width:600px; }
  .tone-scope .tone-scope-number { font-size:45px; margin:16px 0; }
  .tone-mode-grid { grid-template-columns:1fr; gap:20px; }
  .tone-mode { padding:26px; }
  .tone-case summary { grid-template-columns:27px minmax(0,1fr) 12px; gap:13px; }
  .tone-case-mode { display:none; }
  .tone-case-body { margin-left:40px; }
  .tone-takeaway { grid-template-columns:1fr; gap:15px; }
}
@media(max-width:560px) {
  .tone-hero h1 { font-size:54px; }
  .tone-mode-buttons { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tone-mode-buttons button { padding:13px 12px; font-size:12px; gap:8px; }
  .tone-mode { padding:22px 18px; }
  .tone-mode-heading h3 { font-size:27px; }
  .tone-filter { display:grid; gap:10px; }
  .tone-filter p { margin:0; }
  .tone-case-body { margin-left:0; }
  .tone-passages li { grid-template-columns:1fr; gap:5px; }
  .tone-prose :is(p,li) { font-size:15px; }
  .tone-registers,.tone-readings { padding-block:38px; }
  .tone-prose h2 { padding-top:36px; }
}
@media print {
  .tone-mode[hidden],.tone-case[hidden] { display:block !important; }
  .tone-mode-buttons,.tone-filter,.tone-jump { display:none !important; }
  .tone-mode { break-inside:avoid; }
}
