/* 03 only. Existing HOME / 01 / 02 rules remain unchanged. */
.tea-knowledge-section { width:min(calc(100% - var(--page-margin)*2),1536px); margin:auto; padding-block:clamp(80px,8vw,128px) 64px; border-top:1px solid var(--line); scroll-margin-top:calc(var(--header-height) + 24px); }
.knowledge-opening .section-number { grid-column:1/3; padding-top:10px; font-size:clamp(72px,10vw,152px); font-weight:300; line-height:1; letter-spacing:-.065em; }
.knowledge-opening .section-title { grid-column:4/-1; min-width:0; }
.knowledge-opening .section-kicker { margin:0 0 24px; font-size:11px; letter-spacing:.12em; color:var(--secondary); }
.knowledge-opening .section-display { font-family:var(--english-serif); font-size:clamp(64px,8.3vw,140px); line-height:.98; letter-spacing:-.045em; margin:0; }
.knowledge-opening h2 { font-family:var(--serif); font-size:clamp(28px,3vw,44px); font-weight:400; margin:26px 0 8px; letter-spacing:.05em; }
.knowledge-subtitle { margin:0; color:var(--secondary); font-size:13px; }
.knowledge-opening .section-preface { grid-column:8/-1; font-size:15px; line-height:2; color:var(--secondary); margin:0; }
.knowledge-part { margin-block:clamp(100px,12vw,184px); min-width:0; }
.knowledge-part-title { display:grid; grid-template-columns:1fr 5fr; gap:24px; align-items:start; border-top:1px solid var(--line); padding-top:28px; }
.knowledge-part-title > span { font-family:var(--english-serif); font-size:52px; line-height:1; }
.knowledge-part-title p { font-size:11px; letter-spacing:.09em; color:var(--secondary); margin:0 0 14px; }
.knowledge-part-title h2 { font-family:var(--serif); font-weight:400; font-size:clamp(28px,3.2vw,46px); line-height:1.5; margin:0; scroll-margin-top:calc(var(--header-height) + 90px); }
.knowledge-lead { max-width:40em; margin:30px 0 64px auto; width:83%; font-size:15px; line-height:2; color:var(--secondary); }
.knowledge-small { font-size:12px; line-height:1.9; color:var(--secondary); }
.knowledge-photo { min-width:0; margin:0; }
.knowledge-photo img { display:block; width:100%; height:auto; }
.knowledge-photo figcaption { display:grid; gap:6px; margin-top:12px; font-size:12px; line-height:1.8; }
.knowledge-credit { font-size:10px; color:var(--secondary); overflow-wrap:anywhere; }
.knowledge-credit a,.knowledge-source a { text-underline-offset:3px; }
.knowledge-source { font-size:11px!important; line-height:1.8!important; color:var(--secondary); }
/* A: a single observation surface; the photograph is never cropped or covered by notes. */
.teaware-study { max-width:none; margin:32px auto 0; min-width:0; }
.tea-table-image { position:relative; isolation:isolate; }
.tea-table-image > img { width:100%; height:auto; aspect-ratio:1334/725; }
.teaware-toolbar { display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; align-items:center; padding-block:16px; border-top:1px solid var(--line); }
.teaware-start { padding:8px 0; min-height:44px; font:18px/1.6 var(--serif); color:var(--accent); }
.teaware-start span { margin-left:12px; }
.teaware-current { display:flex; flex-wrap:wrap; gap:12px 24px; margin:0; font-size:13px; line-height:1.8; color:var(--secondary); }
#teaware-position { font-variant-numeric:tabular-nums; color:var(--accent); }
.teaware-regions { position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; }
.teaware-region { outline:none; cursor:pointer; }
.teaware-region > * { pointer-events:all; fill:var(--accent); fill-opacity:0; stroke:var(--accent); stroke-opacity:0; stroke-width:2.5; vector-effect:non-scaling-stroke; transition:fill-opacity 180ms ease,stroke-opacity 180ms ease; }
.teaware-region:hover > * { fill-opacity:.1; stroke-opacity:.7; }
.teaware-region.is-active > * { fill-opacity:.2; stroke-opacity:1; }
.tea-knowledge-section .teaware-region:focus-visible { outline:none; }
.teaware-region:focus-visible > * { stroke:var(--paper-light); stroke-opacity:1; stroke-width:4; fill-opacity:.25; stroke-dasharray:6 3; }
.teaware-hotspot { position:absolute; z-index:1; left:var(--hot-x); top:var(--hot-y); transform:translate(-50%,-50%); width:44px; height:44px; display:grid; place-items:center; border-radius:50%; background:none; border:0; color:var(--accent); padding:0; font-size:13px; font-variant-numeric:tabular-nums; transition:color 160ms ease; }
.teaware-hotspot::before { content:''; position:absolute; inset:6px; border:1px solid var(--accent); border-radius:50%; background:var(--paper-light); transition:background-color 160ms ease; }
.teaware-hotspot > span { position:relative; }
.teaware-hotspot:hover,.teaware-hotspot[aria-pressed="true"] { color:var(--paper-light); }
.teaware-hotspot:hover::before,.teaware-hotspot[aria-pressed="true"]::before { background:var(--accent); }
.tea-knowledge-section .teaware-hotspot:focus-visible { outline:3px solid var(--paper-light); outline-offset:3px; }
.teaware-hotspot[aria-pressed="true"]::after { content:''; position:absolute; inset:2px; border:1px solid var(--accent); border-radius:50%; pointer-events:none; }
.teaware-controls { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; border-bottom:1px solid var(--line); }
.teaware-controls button { background:none; min-height:56px; padding:12px 0; text-align:left; font:20px/1.6 var(--serif); border-bottom:2px solid transparent; }
.teaware-controls button span { font:12px var(--sans); color:var(--secondary); margin-right:12px; }
.teaware-controls button[aria-pressed="true"] { border-color:var(--accent); color:var(--accent); }
.teaware-controls button[aria-pressed="true"] span { color:var(--accent); }
.teaware-notes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; margin-top:32px; min-width:0; }
.teaware-note { min-width:0; padding:24px 0; border-top:1px solid var(--line); }
.teaware-note .teaware-object-en { font:12px/1.6 var(--english); letter-spacing:.04em; color:var(--secondary); margin:0 0 16px; }
.teaware-object-number { display:block; font:40px/1 var(--english); color:var(--accent); margin-bottom:12px; }
.teaware-note h3 { font:400 clamp(32px,3.2vw,46px)/1.4 var(--serif); margin:0 0 20px; }
.teaware-note .teaware-role { font:20px/1.8 var(--serif); margin:0 0 16px; color:var(--accent); }
.teaware-explanation { font-size:15px; line-height:2; margin:0 0 24px; max-width:32em; }
.teaware-next-prompt { font-size:13px; line-height:1.9; color:var(--secondary); border-top:1px solid var(--line); padding-top:16px; margin:0 0 20px; }
.teaware-next-prompt a { display:flex; width:fit-content; min-height:44px; gap:16px; align-items:center; color:var(--accent); font:18px/1.6 var(--serif); text-underline-offset:4px; }
.teaware-next-prompt a:hover { text-decoration:underline; }
.teaware-note .knowledge-source { margin-bottom:0; }
.teaware-pager { display:flex; justify-content:space-between; gap:24px; border-top:1px solid var(--line); padding-top:8px; }
.teaware-pager button { background:none; min-height:44px; font-size:14px; padding:8px 0; }
.teaware-instruction { margin:0; }
.teaware:not(.teaware-enhanced) .teaware-regions,
.teaware:not(.teaware-enhanced) .teaware-hotspot,
.teaware:not(.teaware-enhanced) .teaware-controls,
.teaware:not(.teaware-enhanced) .teaware-toolbar,
.teaware:not(.teaware-enhanced) .teaware-pager,
.teaware:not(.teaware-enhanced) .teaware-instruction { display:none; }
.teaware-enhanced .teaware-study { display:grid; grid-template-columns:minmax(0,2.12fr) minmax(0,1fr); grid-template-areas:"toolbar toolbar" "instruction instruction" "image notes" "controls pager"; gap:16px 40px; align-items:start; }
.teaware-enhanced .teaware-toolbar { grid-area:toolbar; }
.teaware-enhanced .tea-table-photo { grid-area:image; }
.teaware-enhanced .teaware-controls { grid-area:controls; }
.teaware-enhanced .teaware-instruction { grid-area:instruction; }
.teaware-enhanced .teaware-notes { grid-area:notes; display:block; margin:0; min-height:440px; padding-left:28px; border-left:1px solid var(--line); }
.teaware-enhanced .teaware-note { border:0; padding:0; }
.teaware-enhanced .teaware-pager { grid-area:pager; }
.tea-knowledge-section [hidden] { display:none!important; }
.tea-knowledge-section :is(button,a,summary):focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.teaware-objects { margin-top:clamp(80px,10vw,144px); display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:72px 24px; align-items:start; }
.object-intro { grid-column:1/5; padding-top:28px; }
.object-intro > p:first-child { font-size:10px; letter-spacing:.1em; color:var(--secondary); }
.object-intro h3 { font-family:var(--serif); font-size:clamp(32px,3.6vw,54px); font-weight:400; line-height:1.65; margin:22px 0; }
.object-intro > p:last-child { font-size:14px; line-height:2; max-width:20em; color:var(--secondary); }
.object-yellow { grid-column:6/9; }
.object-glass { grid-column:9/13; margin-top:100px; }
.object-pitcher { grid-column:2/6; }
.object-contemporary { grid-column:7/13; margin-top:112px; }
.object-historic { grid-column:4/10; margin-top:40px; }
.teaware-objects + .knowledge-small { max-width:640px; margin:40px auto 0; }
.brewing-story { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px; align-items:start; }
.brewing-steps { grid-column:1/8; list-style:none; padding:0; margin:0; }
.brewing-steps li { display:grid; grid-template-columns:1fr 4fr; gap:24px; border-top:1px solid var(--line); padding:32px 0 34px; }
.brewing-step-number { font-family:var(--english-serif); font-size:clamp(42px,5vw,70px); line-height:1; color:var(--secondary); }
.brewing-steps h3 { font-family:var(--serif); font-size:29px; font-weight:400; margin:0 0 20px; }
.brewing-steps h3 span { font:10px var(--sans); color:var(--secondary); margin-left:16px; letter-spacing:.08em; }
.brewing-steps li p { font-size:14px; line-height:2; margin:0 0 12px; max-width:30em; }
.brewing-examples { grid-column:9/-1; padding-top:190px; }
.brewing-examples figure + figure { margin-top:160px; }
.brewing-concept-list { margin:0 0 24px auto; width:83%; }
.brewing-concept-list > div { display:grid; grid-template-columns:1fr 2fr; gap:40px; padding:32px 0; border-top:1px solid var(--line); }
.brewing-concept-list dt { font:29px var(--serif); }
.brewing-concept-list dt span { display:block; font:10px var(--sans); color:var(--secondary); margin-bottom:15px; }
.brewing-concept-list dd { font-size:15px; line-height:2; margin:0; color:var(--secondary); max-width:36em; }
.brewing-concepts > .knowledge-source { margin-left:17%; }
.brewing-selector { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:20px; padding:0; border:0; margin:0 0 56px; min-width:0; }
.brewing-selector label { position:relative; min-width:0; cursor:pointer; }
.brewing-selector input { position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:pointer; }
.brewing-choice { display:flex; gap:12px; border-top:1px solid var(--line); border-bottom:2px solid transparent; padding:22px 0; font:25px var(--serif); min-height:108px; }
.brewing-choice > span:first-child { font:10px var(--sans); color:var(--secondary); padding-top:8px; }
.brewing-choice small { display:block; font:9px var(--sans); letter-spacing:.04em; color:var(--secondary); margin-top:10px; }
.brewing-selector input:checked + .brewing-choice { border-bottom-color:var(--accent); color:var(--accent); }
.brewing-selector input:hover + .brewing-choice { color:var(--accent); }
.brewing-selector input:focus-visible + .brewing-choice { outline:2px solid var(--accent); outline-offset:5px; }
.brewing-panel { display:grid; grid-template-columns:4fr 7fr; gap:48px 8%; padding-block:24px 56px; border-bottom:1px solid var(--line); margin-bottom:56px; min-width:0; }
.brewing-panel-heading { min-width:0; }
.brewing-panel-heading > p[lang] { font:clamp(24px,3vw,42px)/1.1 var(--english-serif); letter-spacing:-.025em; margin:0 0 16px; }
.brewing-panel-heading h3 { font-family:var(--serif); font-size:clamp(64px,7vw,108px); font-weight:400; letter-spacing:.02em; line-height:1.4; margin:0 0 24px; scroll-margin-top:calc(var(--header-height) + 72px); }
.brewing-example { font-size:13px; line-height:1.9; margin:0 0 40px; color:var(--secondary); }
.brewing-panel-heading dl { border-top:1px solid var(--line); padding-top:24px; }
.brewing-panel-heading dt { font-size:11px; color:var(--secondary); margin-bottom:12px; }
.brewing-panel-heading dd { font:20px/1.9 var(--serif); margin:0; }
.brewing-tip { font-size:13px; line-height:1.9; margin-top:30px; color:var(--secondary); }
.brewing-metrics { display:grid; grid-template-columns:1fr 1fr; column-gap:36px; row-gap:44px; min-width:0; }
.brewing-metrics section { min-width:0; }
.brewing-metrics h4 { font-size:12px; font-weight:400; color:var(--secondary); margin:0 0 20px; }
.parameter-value { font:clamp(21px,2.3vw,34px)/1.65 var(--serif); margin:0 0 24px; }
.temperature-scale { margin-block:38px 0; }
.temperature-rule { height:1px; background:var(--line); position:relative; margin-inline:5px; }
.temperature-rule > span { position:absolute; left:var(--range-start); right:calc(100% - var(--range-end)); top:-2px; height:5px; background:var(--accent); min-width:5px; }
.mode-point .temperature-rule > span,.mode-approximate .temperature-rule > span { width:7px; height:7px; border-radius:50%; top:-3px; transform:translateX(-50%); }
.mode-approximate .temperature-rule > span { outline:4px solid rgba(40,76,61,.12); }
.mode-lower-bound .temperature-rule > span { background:linear-gradient(90deg,var(--accent),transparent); }
.mode-lower-bound .temperature-rule > span::before { content:''; position:absolute; left:0; width:1px; height:13px; top:-4px; background:var(--accent); }
.temperature-ticks { display:flex; justify-content:space-between; margin-top:14px; font-size:10px; color:var(--secondary); }
.qualitative-temperature { font-size:11px; line-height:1.9; color:var(--secondary); }
.qualitative-temperature span { display:block; width:100%; height:1px; background:var(--line); margin:38px 0 16px; }
.ratio-expression { display:flex; align-items:baseline; gap:13px; font:clamp(27px,3.2vw,44px)/1.5 var(--english-serif); white-space:nowrap; }
.ratio-expression small { font:11px var(--sans); margin-left:5px; color:var(--secondary); }
.ratio-expression i { font-size:24px; font-style:normal; color:var(--secondary); }
.ratio-rule { display:block; height:1px; background:var(--line); margin:20px 0 16px; }
.parameter-description,.parameter-ratio { font-size:12px; line-height:1.9; margin:8px 0; }
.parameter-ratio { color:var(--secondary); font-size:11px; }
.brewing-time { grid-column:1/-1; border-top:1px solid var(--line); padding-top:24px; }
.brewing-time .parameter-value { margin-bottom:10px; }
.brewing-time > p:last-child { font-size:13px; line-height:1.9; color:var(--secondary); margin:0; max-width:38em; }
.brewing-conditions { grid-column:1/-1; max-width:70em; border-top:1px solid var(--line); padding-top:24px; }
.brewing-conditions > p:first-child { display:grid; grid-template-columns:110px 1fr; gap:24px; font-size:12px; color:var(--secondary); line-height:2; margin:0 0 18px; }
.brewing-conditions > p:first-child > span { font-size:11px; }
.brewing-reference:not(.brewing-enhanced) .brewing-selector { display:none; }
.brewing-enhanced .brewing-panels { display:grid; }
.brewing-enhanced .brewing-panel { grid-area:1/1; margin-bottom:0; align-self:start; }
.brewing-enhanced .brewing-panel:not(.is-active) { display:none; }
.brewing-enhanced .brewing-panel.is-active { animation:none; }
.knowledge-next { border-top:1px solid var(--line); padding-block:36px 12px; display:grid; grid-template-columns:1fr auto; gap:16px; }
.knowledge-next > span { grid-column:1/-1; color:var(--secondary); font-size:11px; }
.knowledge-next p { margin:0; font:20px/1.7 var(--serif); }
.knowledge-next p[lang] { font:clamp(22px,3vw,40px)/1.7 var(--english-serif); letter-spacing:-.025em; }
@keyframes knowledge-fade { from { opacity:0; transform:translateY(3px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:1023px) {
 .knowledge-opening .section-title { grid-column:3/-1; }
 .knowledge-opening .section-preface { grid-column:5/-1; }
 .brewing-selector { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 24px; }
 .brewing-story { grid-template-columns:7fr 4fr; gap:36px; }
 .brewing-steps,.brewing-examples { grid-column:auto; }
 .brewing-examples { padding-top:100px; }
 .brewing-panel { column-gap:6%; grid-template-columns:3fr 5fr; }
 .brewing-metrics { grid-template-columns:1fr; row-gap:28px; }
 .brewing-time { grid-column:auto; }
 .object-glass { margin-top:60px; }
}
@media (max-width:767px) {
 .tea-knowledge-section { padding-block:80px 40px; }
 .knowledge-opening { display:grid; grid-template-columns:1fr; row-gap:30px; }
 .knowledge-opening .section-number,.knowledge-opening .section-title,.knowledge-opening .section-preface { grid-column:1; }
 .knowledge-opening .section-number { font-size:80px; padding:0; }
 .knowledge-opening .section-kicker { margin-bottom:18px; font-size:10px; }
 .knowledge-opening .section-display { font-size:clamp(54px,13.5vw,82px); }
 .knowledge-opening .section-preface { font-size:14px; max-width:32em; }
 .knowledge-part { margin-block:96px; }
 .knowledge-part-title { grid-template-columns:40px 1fr; gap:20px; padding-top:24px; }
 .knowledge-part-title > span { font-size:40px; }
 .knowledge-part-title p { font-size:9px; line-height:1.8; }
 .knowledge-part-title h2 { font-size:27px; }
 .knowledge-lead { width:auto; margin:28px 0 40px; font-size:14px; }
 .teaware-controls { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; margin-top:16px; }
 .teaware-controls button { min-height:52px; font-size:19px; }
 .teaware-notes { grid-template-columns:1fr; }
 .teaware-objects { margin-top:72px; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px 20px; }
 .object-intro { grid-column:1/-1; padding:0; }
 .object-intro h3 { font-size:38px; }
 .object-intro h3 br { display:none; }
 .object-intro > p:last-child { max-width:30em; }
 .object-yellow { grid-column:1; }
 .object-glass { grid-column:2; margin-top:72px; }
 .object-pitcher { grid-column:1; }
 .object-contemporary { grid-column:1/-1; margin:0; }
 .object-historic { grid-column:1/-1; margin:16px 0 0; padding-inline:16px; }
 .knowledge-photo figcaption { font-size:11px; }
 .knowledge-credit { font-size:9px; }
 .brewing-story { grid-template-columns:1fr; gap:48px; }
 .brewing-steps li { grid-template-columns:42px 1fr; gap:20px; padding-block:26px; }
 .brewing-steps h3 { font-size:26px; }
 .brewing-steps h3 span { margin-left:12px; font-size:9px; }
 .brewing-steps li p { font-size:13px; }
 .brewing-step-number { font-size:40px; }
 .brewing-examples { display:grid; grid-template-columns:1fr 1fr; gap:20px; padding:0; }
 .brewing-examples figure + figure { margin-top:72px; }
 .brewing-concept-list { width:auto; }
 .brewing-concept-list > div { grid-template-columns:1fr; gap:24px; padding-block:28px; }
 .brewing-concept-list dt { font-size:26px; }
 .brewing-concept-list dd { font-size:14px; }
 .brewing-concepts > .knowledge-source { margin-left:0; }
 .brewing-selector { grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:36px; gap:0 20px; }
 .brewing-choice { min-height:94px; font-size:24px; padding-block:18px; }
 .brewing-choice small { font-size:9px; }
 .brewing-panel { grid-template-columns:1fr; gap:36px; padding:12px 0 40px; }
 .brewing-panel-heading > p[lang] { font-size:30px; }
 .brewing-panel-heading h3 { font-size:68px; margin-bottom:16px; }
 .brewing-example { margin-bottom:26px; }
 .brewing-tip { margin-top:20px; }
 .brewing-panel-heading dd { font-size:20px; }
 .brewing-metrics { row-gap:36px; }
 .parameter-value { font-size:27px; }
 .ratio-expression { font-size:40px; }
 .brewing-conditions > p:first-child { grid-template-columns:1fr; gap:12px; }
 .knowledge-next { grid-template-columns:1fr; }
 .knowledge-next p[lang] { font-size:25px; }
 .desktop-break { display:none; }
}
@media (prefers-reduced-motion:reduce) {
 .tea-knowledge-section *, .tea-knowledge-section *::before, .tea-knowledge-section *::after { animation:none!important; transition:none!important; }
}
@media (forced-colors:active) {
 .teaware-hotspot,.teaware-note { border:1px solid CanvasText; }
 .temperature-rule > span,.ratio-rule::before { background:Highlight; forced-color-adjust:none; }
}

/* Chapter-only reading hierarchy and tablet/mobile observation composition. */
.tea-knowledge-section > .knowledge-part:first-child { margin-top:16px; }
.knowledge-reference-note { border-top:1px solid var(--line); padding:16px 0; font-size:13px; line-height:1.9; color:var(--secondary); }
.knowledge-reference-note summary { min-height:44px; padding:10px 0; cursor:pointer; font-size:13px; color:var(--accent); }
.knowledge-reference-note p { max-width:70ch; margin:12px 0; }
.brewing-concepts > .knowledge-reference-note { margin-left:17%; }
.brewing-conditions { padding-top:16px; }
.brewing-conditions .knowledge-reference-note { border-top:0; padding:0; }
.brewing-conditions > .knowledge-source { margin:12px 0 0; }
.brewing-ratio > .parameter-description { font-size:13px; color:var(--secondary); }
.ratio-raw { font-family:var(--english); font-size:clamp(28px,3vw,42px); }
.brewing-panel .brewing-tip { color:var(--ink); font-size:15px; }
.brewing-panel .parameter-value { color:var(--accent); font-variant-numeric:tabular-nums; }
.brewing-steps li p:not(.knowledge-source),.brewing-concept-list dd { font-size:16px; color:var(--ink); }
.knowledge-lead { font-size:16px; color:var(--ink); }
.brewing-time > p:last-child { font-size:14px; color:var(--ink); }
@media (max-width:1199px) {
 .teaware-enhanced .teaware-study { grid-template-columns:1fr; grid-template-areas:"toolbar" "instruction" "image" "controls" "notes" "pager"; gap:16px; }
 .teaware-enhanced .teaware-notes { border-left:0; border-top:1px solid var(--line); padding:28px 0 0; min-height:360px; }
 .teaware-note .teaware-explanation { max-width:48em; }
 .teaware-note .teaware-next-prompt { max-width:48em; }
 .teaware-note h3 { font-size:38px; }
}
@media (max-width:767px) {
 .teaware-study { margin-top:24px; }
 .teaware-toolbar { gap:8px; }
 .teaware-current { width:100%; justify-content:space-between; }
 .teaware-controls { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; margin-top:0; }
 .teaware-controls button { font-size:20px; min-height:52px; }
 .teaware-note h3 { font-size:36px; }
 .teaware-enhanced .teaware-notes { min-height:0; padding-top:24px; }
 .teaware-notes { grid-template-columns:1fr; }
 .teaware-note .teaware-role { font-size:20px; }
 .teaware-explanation { font-size:16px; }
 .teaware-object-number { font-size:32px; }
 .brewing-concepts > .knowledge-reference-note { margin-left:0; }
 .knowledge-part { margin-block:80px; }
 .brewing-panel { row-gap:28px; }
 .brewing-panel .brewing-tip { max-width:30em; }
}
@media (prefers-reduced-motion:reduce) {
 .teaware-region > * { transition:none; }
}
@media (forced-colors:active) {
 .teaware-region.is-active > *, .teaware-region:focus-visible > * { stroke:Highlight; fill:Highlight; forced-color-adjust:none; }
 .teaware-hotspot[aria-pressed="true"] { outline:2px solid Highlight; }
}

/* Secondary information stays legible in a classroom projection and on a phone. */
.tea-knowledge-section .knowledge-credit,.tea-knowledge-section .knowledge-part-title p,.tea-knowledge-section .brewing-steps h3 span,.tea-knowledge-section .brewing-concept-list dt span {font-size:12px;}
.tea-knowledge-section .knowledge-source {font-size:12px!important;}
.tea-knowledge-section .brewing-choice small {font-size:11px;}
.tea-knowledge-section .temperature-ticks {font-size:12px;}

/* UX refinement: clear selection, compact photo-to-note path, and stable tea switching. */
.teaware-hotspot:hover:not([aria-pressed="true"]) {color:var(--accent);}
.teaware-hotspot:hover:not([aria-pressed="true"])::before {background:var(--paper-light);border-width:2px;}
.tea-knowledge-section .teaware-hotspot:focus-visible {outline:2px solid var(--ink);outline-offset:1px;}
.teaware-region:focus-visible > * {stroke:var(--ink);stroke-dasharray:4 3;stroke-width:3;}
.teaware-controls button:hover:not([aria-pressed="true"]) {color:var(--accent);background:rgba(51,79,61,.045);}
/* Inactive panels reserve only their closed-reference footprint. They remain inert and
   aria-hidden; visibility hides them without removing the stage's shared row sizing. */
.brewing-enhanced .brewing-panel[hidden] {display:grid!important;visibility:hidden;pointer-events:none;}
.brewing-enhanced .brewing-panel[hidden] .knowledge-reference-note > p {display:none;}
@media (max-width:1199px) {
 .teaware-enhanced .teaware-notes {padding-top:20px;min-height:0;}
 .teaware-object-number {font-size:30px;}
 .teaware-note h3 {margin-bottom:12px;}
 .teaware-explanation {margin-bottom:16px;}
}
@media (max-width:767px) {
 .teaware-controls {grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
 .teaware-controls button {min-height:56px;font-size:18px;padding:6px 0;}
 .teaware-controls button span {display:block;margin:0 0 2px;font-size:11px;}
 .teaware-enhanced .teaware-study {gap:12px;}
 .teaware-enhanced .teaware-notes {padding-top:16px;}
 .teaware-note .teaware-object-en {margin-bottom:8px;}
 .teaware-object-number {font-size:26px;margin-bottom:8px;}
 .teaware-note h3 {font-size:32px;margin-bottom:12px;}
 .teaware-note .teaware-role {font-size:18px;margin-bottom:12px;}
 .teaware-explanation {line-height:1.9;}
}
