:root{color-scheme:light;--ink:#203a3c;--muted:#526563;--accent:#20665b;--paper:#fffefa;--line:#dbe2dc;font-family:system-ui,-apple-system,"Segoe UI","Yu Gothic",Meiryo,sans-serif;background:var(--paper);color:var(--ink)}
*{box-sizing:border-box}body{margin:0}a{color:#176253;text-underline-offset:.22em}a:hover{text-decoration-thickness:2px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a34814;outline-offset:4px}p{margin:0 0 1.25em}h1,h2,h3{line-height:1.5;text-wrap:pretty;overflow-wrap:anywhere}h1{font-size:clamp(1.65rem,4.8vw,2.5rem);letter-spacing:.025em;line-height:1.5;margin:.4rem 0 .65rem}h2{font-size:1.35rem;margin:2.2rem 0 1rem}h3{font-size:1.1rem}img{max-width:100%}.skip{position:absolute;left:1rem;top:-8rem;background:#fff;padding:12px;z-index:10}.skip:focus{top:.5rem}.preview-note{background:#eef2ed;color:#486058;text-align:center;font-size:.75rem;padding:.35rem 1rem}.masthead{max-width:960px;margin:auto;padding:15px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{font-size:1.55rem;letter-spacing:-.04em;font-weight:750;text-decoration:none;display:flex;align-items:baseline;gap:13px}.brand span{font-size:.75rem;letter-spacing:.08em;font-weight:500}.masthead nav{display:flex;gap:10px;flex-wrap:wrap}.masthead nav a{font-size:.8rem;min-height:44px;display:inline-flex;align-items:center}.page{max-width:720px;margin:auto;padding:26px 24px 40px}.eyebrow{color:var(--accent);font-size:.8rem;font-weight:650;letter-spacing:.06em;margin-bottom:10px}.dek{font-size:1.03rem;line-height:1.8;color:#425855;margin-bottom:.7rem}.byline{font-size:.76rem;line-height:1.7;color:var(--muted);margin-bottom:1rem}.lead{font-size:1.1rem;line-height:1.85}.lead p{margin-bottom:1.1rem}.article-ad{margin:20px 0 34px;padding-top:9px;border-top:1px solid var(--line)}.article-ad .app-promotion{margin:0 auto;max-width:none}.article-body{font-size:1.125rem;line-height:1.95;scroll-margin-top:18px}.article-body:focus-visible{outline:2px solid #a34814;outline-offset:8px}.article-body section{margin-bottom:2.2rem}.citations{font-size:.76em;white-space:normal}.citations a{margin-left:.3em}.article-footer{border-top:1px solid var(--line);margin-top:2.3rem;font-size:.83rem;line-height:1.8}.article-footer h2{font-size:1rem;margin-top:1.4rem}.sources{padding-left:1.3rem}.sources li{margin-bottom:1rem;overflow-wrap:anywhere}.source-meta{display:block;color:var(--muted);font-size:.75rem}.credit{color:var(--muted)}.site-footer{border-top:1px solid var(--line);max-width:960px;margin:auto;padding:18px 24px;display:flex;justify-content:space-between;gap:16px;font-size:.8rem}.review-page{max-width:1050px;margin:30px auto;padding:0 24px 60px;line-height:1.85}.review-page h1{font-size:2rem}.review-intro{max-width:46rem}.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:28px 0}.review-card{border:1px solid var(--line);padding:22px;border-radius:5px;background:#fff}.review-card h2{font-size:1.25rem;margin:.4rem 0 1rem}.review-card a.open{display:inline-block;padding:8px 0;min-height:44px}.pill{font-size:.75rem;color:var(--accent);font-weight:600}.review-table{width:100%;border-collapse:collapse;font-size:.85rem}.review-table th,.review-table td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:top}.review-table caption{text-align:left;font-weight:650;margin:15px 0}.review-table-wrap{overflow:auto}.review-small{font-size:.85rem;color:var(--muted)}
@media(max-width:600px){.masthead{padding:10px 18px;gap:10px}.brand{font-size:1.35rem;gap:8px}.brand span{font-size:.66rem}.page{padding:20px 18px 30px}.dek{font-size:.95rem}.lead{font-size:1.05rem}.article-body{font-size:1.0625rem;line-height:1.95}.article-head h1{letter-spacing:.01em}.review-grid{grid-template-columns:1fr}.review-page{padding:0 18px 40px}.article-ad{margin-top:14px}.masthead nav{gap:8px}.site-footer{padding-inline:18px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.article-ad{border:0;padding:0;margin:20px 0 28px}.article-table{width:100%;table-layout:fixed;border-collapse:collapse;margin:1.5rem 0 1.8rem;font-size:.95em;line-height:1.8}.article-table caption{text-align:left;font-weight:650;padding-bottom:10px}.article-table th,.article-table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere}.article-table th:first-child{width:35%}.article-table thead{background:#edf2eb}.article-table tbody th{font-weight:550}.article-checklist{margin:1.4rem 0}.list-caption{font-weight:650;margin-bottom:.7rem}.article-checklist ol{padding-left:1.5rem}.article-checklist li{margin:.7rem 0;padding-left:.3rem}.preparation-card{padding:20px 0;border-bottom:1px solid var(--line);scroll-margin-top:20px}.preparation-card dt{font-weight:650;margin-top:1rem}.preparation-card dd{margin:.3rem 0 1rem}.preparation-card h3{margin:1.5rem 0 .6rem}.preparation-card li{margin-bottom:.6rem}.review-links{display:flex;gap:20px;flex-wrap:wrap}.review-links a{display:inline-flex;min-height:44px;align-items:center}
@media(max-width:600px){.article-table th,.article-table td{padding:10px 8px}.article-table th:first-child{width:36%}.article-ad{margin-top:14px}}

.number-unit{white-space:nowrap}

/* Reading objects share the article's text size; no text is baked into images. */
.editorial-visual{--visual-surface:#f2f5ef;--visual-edge:#cbd7c9;container-type:inline-size;margin:1.7rem 0 2rem;padding:1.2rem;border:1px solid var(--visual-edge);border-radius:12px;background:var(--visual-surface);font-size:1em;line-height:1.75;overflow-wrap:anywhere;color:var(--ink)}
.editorial-visual figcaption{font-size:1.05em;font-weight:700;line-height:1.65;margin:0 0 1rem;text-wrap:pretty}
.editorial-visual p{margin:0}.editorial-visual .visual-note,.editorial-visual .visual-scope{margin-top:1rem;font-size:.94em;line-height:1.8}.visual-citations{margin-top:.7rem;font-size:.85em}.visual-citations .citations{font-size:1em}.visual-citations a{display:inline-block;padding:3px}
.visual-table{padding:0;border:0;border-radius:0;background:transparent}.visual-table .article-table{margin:0;font-size:1em}.visual-table .article-table caption{font-size:1.05em}.visual-table .article-table thead{background:#edf2eb}.visual-table .article-table td{background:#fffefa}.visual-table .article-table tbody th{background:#f4f5ef;font-weight:600}.visual-table .visual-citations{margin-top:.35rem}
.reading-icon{display:block;flex:none;width:3rem;height:3rem;color:var(--accent)}
.reading-matrix{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.reading-matrix li{padding:1rem;background:var(--paper);border:1px solid var(--visual-edge);border-radius:6px;min-width:0}.reading-matrix dl{margin:0;display:grid;gap:.75rem}.reading-matrix dt{font-size:.86em;color:var(--muted);line-height:1.6}.reading-matrix dd{margin:0;font-weight:650;line-height:1.6}
.reading-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem}.reading-steps--3{grid-template-columns:repeat(3,minmax(0,1fr))}.reading-steps li{min-width:0}.step-object{display:flex;align-items:center;gap:.5rem;margin-bottom:.7rem}.step-object .reading-icon{width:3.5rem;height:3.5rem}.step-number{font-size:.85em;color:var(--accent);font-variant-numeric:tabular-nums}.reading-steps strong{display:block;font-size:1em;line-height:1.6;margin-bottom:.45rem}.reading-steps p{font-size:.94em;line-height:1.8}
.reading-dates,.reading-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;align-items:stretch}.object-label{display:block;font-size:.86em;color:var(--muted);margin-bottom:.5rem}.calendar-date{min-width:0;text-align:center}.calendar-date time{display:block;border:1px solid var(--visual-edge);border-radius:8px;background:var(--paper);overflow:hidden}.calendar-month{display:block;background:#dfe9dd;border-bottom:1px solid var(--visual-edge);font-size:.9em;padding:.4rem}.calendar-day{display:block;font-size:3rem;font-weight:700;line-height:1.4;padding:.5rem;font-variant-numeric:tabular-nums}.calendar-day small{font-size:1rem;margin-left:.25rem;font-weight:500}.visual-date{font-size:1em;color:var(--muted);margin-bottom:1rem!important}.clock-state{text-align:center;min-width:0;padding:1rem .5rem;background:var(--paper);border:1px solid var(--visual-edge);border-radius:8px}.reading-clock{display:block;width:5.5rem;height:5.5rem;margin:0 auto .7rem;color:var(--accent)}.clock-state time{display:block;font-size:1.35em;font-weight:700;line-height:1.5;font-variant-numeric:tabular-nums}
.reading-checklist{list-style:none;margin:0;padding:0}.reading-checklist li{display:flex;gap:.75rem;align-items:flex-start;padding:.85rem 0;border-top:1px solid var(--visual-edge)}.reading-checklist li:first-child{padding-top:0;border:0}.reading-checklist li:last-child{padding-bottom:0}.reading-checklist .reading-icon{width:1.5rem;height:1.5rem;margin-top:.2em}
@container (max-width:32rem){.reading-steps{grid-template-columns:1fr;gap:1.1rem}.reading-steps li{display:grid;grid-template-columns:3.6rem minmax(0,1fr);column-gap:.9rem}.step-object{grid-row:1/3;display:flex;flex-direction:column;gap:0;margin:0}.reading-steps strong,.reading-steps p{grid-column:2}}
@container (max-width:18rem){.reading-matrix,.reading-dates,.reading-times{grid-template-columns:1fr}.reading-matrix li{padding:.85rem}.calendar-date{max-width:100%}.clock-state{padding:1rem}.reading-steps li{display:block}.step-object{flex-direction:row;margin-bottom:.6rem}.step-object .reading-icon{width:2.5rem;height:2.5rem}}
/* The catalog uses exactly the article renderer, at the same readable measure. */
.component-page{max-width:1160px}.component-intro{max-width:48rem;padding:1.5rem 0 2.5rem}.component-intro h1{font-size:clamp(2rem,5vw,3.4rem);line-height:1.45;margin:.8rem 0 1.2rem}.component-intro>p:last-of-type{font-size:1.1rem;max-width:39rem}.component-nav{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin-top:1.3rem}.component-nav a{display:inline-flex;align-items:center;min-height:44px;font-size:.9rem}.component-example{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:3rem;border-top:1px solid var(--line);padding:2.5rem 0;scroll-margin-top:1rem}.component-description h2{font-size:1.35rem;margin:.25rem 0 .8rem}.component-description p{font-size:.95rem}.component-question{font-weight:650}.component-description summary{cursor:pointer;min-height:44px;padding:.5rem 0;color:var(--accent)}.component-description details{font-size:.9rem}.component-description details p{margin-top:.7rem}.component-description ul{padding-left:1.2rem}.component-samples{min-width:0;font-size:1.125rem}.component-samples .editorial-visual:first-child{margin-top:0}.component-samples .editorial-visual:last-child{margin-bottom:0}.primitive-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,6rem),1fr));gap:1rem;list-style:none;padding:0;margin:0;align-self:center}.primitive-list li{display:flex;flex-direction:column;gap:.6rem;align-items:center;padding:1rem .3rem;background:#f2f5ef;border-radius:8px;font-size:.8rem;overflow-wrap:anywhere;min-width:0}.metadata-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;margin-bottom:2rem}.metadata-card{min-width:0;padding:1.3rem;background:#fff;border:1px solid var(--line);border-radius:8px;overflow-wrap:anywhere}.metadata-card h3{font-size:1.12rem;margin:.8rem 0}.metadata-card p{margin-bottom:.5rem}.search-intent{font-size:.9rem;color:var(--muted)}
@media(max-width:850px){.component-example{grid-template-columns:1fr;gap:1rem;padding:2rem 0}.component-description{max-width:40rem}.component-samples{max-width:42rem}.metadata-grid{grid-template-columns:1fr}}
@media(max-width:600px){.editorial-visual{padding:1rem}.visual-table{padding:0}.component-samples{font-size:1.0625rem}.masthead,.brand{flex-wrap:wrap}.masthead nav{margin-left:auto}.reading-matrix li{padding:.8rem}.clock-state{padding:.8rem .3rem}.reading-dates,.reading-times{gap:.8rem}}
@media(forced-colors:active){.editorial-visual,.reading-matrix li,.calendar-date time,.clock-state{border-color:CanvasText}.reading-icon,.reading-clock{color:CanvasText}.calendar-month{border-color:CanvasText}}

/* Editorial emphasis has a role: answers, dates, and useful actions. */
.reading-bold,.reading-accent{font-weight:700}
.article-body,.lead,.reading-specimen,.reading-before,.reading-after{overflow-wrap:break-word}
.article-table tbody th{text-wrap:balance}
.reading-accent{color:#205e55}
.reading-highlight{color:var(--ink);background:#f8e6a3;padding:.05em .12em;border-radius:.12em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.article-body{line-height:1.9}
.article-body h2{font-size:1.4rem;margin:2.5rem 0 1.1rem;padding-top:1.2rem;border-top:1px solid var(--line)}
.article-body>section:first-child h2{padding-top:0;border-top:0}
.article-body .editorial-visual{margin:1.3rem 0 1.6rem}
.reading-matrix li.matrix-focus{background:#fff0c2;border:2px solid #916819;padding:calc(1rem - 1px)}
.reading-matrix .matrix-focus-label{margin-top:.85rem;padding-top:.7rem;border-top:1px solid #b08a3a;font-weight:700;line-height:1.65}
.reading-times{grid-template-columns:minmax(0,1fr) 1.8rem minmax(0,1fr);gap:.7rem}
.clock-transition{display:flex;align-items:center;justify-content:center}
.clock-transition .reading-icon{width:1.8rem;height:1.8rem}
.clock-state--after{background:#e8f1e5;border:2px solid #20665b;padding:calc(1rem - 1px) calc(.5rem - 1px)}
.emphasis-guide{margin:1rem 0 3rem;padding:1.8rem 0 2rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.emphasis-guide h2{font-size:1.6rem;margin:0 0 .7rem}
.emphasis-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin:1.8rem 0 1.2rem}
.emphasis-example{min-width:0;border-top:3px solid #a6bca6;padding-top:1rem}
.emphasis-example .eyebrow{font-size:.85rem;margin-bottom:.8rem;letter-spacing:0}
.reading-specimen{font-size:1.125rem;line-height:1.9}
.reading-review-link{display:inline-flex;min-height:44px;align-items:center;font-weight:650;line-height:1.8;overflow-wrap:anywhere}
.reading-comparison{margin:2.6rem 0 3.5rem;padding-top:1.2rem;border-top:1px solid var(--line)}
.reading-comparison h2{margin:0 0 .7rem;font-size:1.5rem}
.reading-comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin:1.5rem 0}
.reading-before,.reading-after{min-width:0;padding:1.4rem;font-size:1.125rem;line-height:1.9;border:1px solid var(--line);background:#fff}
.reading-after{border-top:4px solid var(--accent);padding-top:calc(1.4rem - 3px)}
.reading-comparison .comparison-label{font-size:.85rem;font-weight:700;color:var(--accent);margin-bottom:1.2rem}
.reading-comparison h3{font-size:1.2rem;margin:1.5rem 0 .8rem}
.reading-comparison details{margin:1rem 0;font-size:.95rem}
.reading-comparison summary{cursor:pointer;min-height:44px;padding:.5rem 0;color:var(--accent)}
.reading-comparison li{margin:.7rem 0;overflow-wrap:anywhere}
@container (max-width:18rem){.reading-times{grid-template-columns:1fr}.clock-transition{padding:0}.clock-transition .reading-icon{transform:rotate(90deg)}}
@media(max-width:850px){.emphasis-grid{grid-template-columns:1fr;gap:1rem}.emphasis-example{max-width:42rem}.reading-comparison-grid{grid-template-columns:1fr}}
@media(max-width:600px){.article-body,.lead,.component-samples{font-size:1.125rem}.article-body h2{font-size:1.3rem}.reading-matrix li.matrix-focus{padding:calc(.8rem - 1px)}.reading-before,.reading-after{padding:1rem}.reading-after{padding-top:calc(1rem - 3px)}.reading-comparison-grid{gap:1rem}}
@media(forced-colors:active){.reading-accent{color:CanvasText}.reading-highlight{background:Mark;color:MarkText;border-bottom:2px solid CanvasText}.reading-matrix li.matrix-focus,.clock-state--after{border:3px double CanvasText}.reading-matrix .matrix-focus-label{border-color:CanvasText}.reading-after,.emphasis-example{border-color:CanvasText}}
@media print{.reading-accent{color:inherit}.reading-highlight{background:transparent;font-weight:700}.reading-matrix li.matrix-focus,.clock-state--after{border:2px solid #333}.reading-comparison-grid{display:block}.reading-before,.reading-after{margin-bottom:1rem}.editorial-visual{break-inside:avoid}}

/* Shared site identity: the app and reading collection are distinct destinations. */
.reading-masthead { max-width:none; padding:0; display:block; border-bottom:1px solid rgba(23,34,56,.08); background:#faf7f2; -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); }
.reading-masthead__inner { width:min(calc(100% - 40px),1180px); min-height:72px; margin:auto; display:flex; align-items:center; gap:24px; }
.reading-masthead .reading-identity { display:flex; align-self:stretch; align-items:center; flex:1; min-width:0; flex-wrap:nowrap; gap:22px; margin:0; }
/* Match the existing landing brand, including its font, subtitle and mobile rules. */
.reading-masthead .brand { display:inline-flex; align-items:center; align-self:flex-start; flex:0 0 auto; flex-wrap:nowrap; gap:10px; min-height:0; margin:15px 0; color:#011b46; font-family:"Hiragino Maru Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,ui-rounded,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:16px; font-weight:900; letter-spacing:-.03em; line-height:1.75; text-decoration:none; text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased; }
.reading-masthead .brand img { display:block; width:42px; height:42px; border-radius:12px; flex:none; box-shadow:0 5px 14px rgba(1,27,70,.18); }
.reading-masthead .brand-name { font-size:inherit; font-weight:inherit; letter-spacing:inherit; line-height:1.75; }
.reading-masthead .brand small { display:block; margin-top:-4px; color:#687286; font-size:10px; font-weight:700; letter-spacing:.08em; }
.reading-masthead .reading-home { border-left:1px solid #c7d2ca; padding-left:22px; font-size:.9rem; font-weight:650; text-decoration:none; letter-spacing:.025em; }
.reading-masthead .reading-home[aria-current] { text-decoration:underline; text-decoration-color:#97ac99; text-decoration-thickness:2px; text-underline-offset:.45em; }
.reading-masthead .reading-languages { margin-left:auto; flex:none; }
.reading-masthead .reading-languages a { font-size:.83rem; }
.reading-footer { max-width:1160px; padding:22px 28px 28px; align-items:center; }
.reading-footer nav { display:flex; align-items:center; flex-wrap:wrap; gap:2px 22px; }
.reading-footer a { display:inline-flex; align-items:center; min-height:44px; }
.reading-footer>span { white-space:nowrap; }

/* The invitation belongs to the article's quiet, readable palette. */
.reading-app { margin:3.2rem 0 2.8rem; padding:30px; border:1px solid #cedbca; border-radius:20px; background:#eef3e9; color:#243d35; }
.reading-app__intro { display:flex; align-items:center; gap:15px; }
.reading-app__icon { border-radius:17px; flex:none; width:64px; height:64px; box-shadow:0 3px 8px #243d3514; }
.reading-app__kicker { margin:0 0 4px; font-size:.83rem; letter-spacing:.04em; color:#526650; line-height:1.7; }
.reading-app__name { margin:0; font-size:1.07rem; font-weight:700; line-height:1.6; }
.reading-app__name span { font-size:.74rem; font-weight:500; white-space:nowrap; margin-left:5px; color:#566a58; }
.reading-app h2 { font-size:clamp(1.45rem,4vw,1.9rem); line-height:1.55; margin:22px 0 12px; letter-spacing:.015em; }
.reading-app__description { font-size:1rem; line-height:1.9; max-width:39rem; margin:0 0 23px; }
.reading-stores { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr)); gap:12px; }
.reading-short-phrase { white-space:nowrap; }
.reading-store { display:flex; align-items:center; justify-content:center; gap:12px; min-height:72px; padding:12px 15px; background:#254c40; color:#fff; border:1px solid #254c40; border-radius:11px; text-decoration:none; line-height:1.25; transition:background .15s ease,box-shadow .15s ease; }
.reading-store:hover { background:#173e32; box-shadow:0 3px 9px #173e321a; }
.reading-store>svg { flex:none; }
.reading-store>svg:last-child { margin-left:auto; width:18px; }
.reading-store span { flex:1; }
.reading-store small { display:block; font-size:.74rem; margin-bottom:4px; color:#dce9df; }
.reading-store strong { display:block; font-size:1.13rem; font-weight:650; white-space:nowrap; }
.reading-app__detail { display:inline-flex; align-items:center; gap:9px; min-height:44px; margin-top:15px; font-size:.9rem; text-decoration:none; }
.reading-app__detail:hover { text-decoration:underline; }
.reading-app+.article-footer { margin-top:0; }

/* Hidden by default; script only enables it between the two article boundaries. */
.reading-dock[hidden] { display:none!important; }
.reading-dock { position:fixed; z-index:35; inset:auto 0 0; border-top:1px solid #c6d2c5; background:#fffefa; padding:9px 20px max(9px,env(safe-area-inset-bottom)); box-shadow:0 -5px 24px #243d3512; }
.reading-dock__inner { max-width:920px; margin:auto; display:flex; align-items:center; gap:28px; justify-content:space-between; }
.reading-dock__identity { display:flex; flex:none; min-width:44px; min-height:44px; gap:11px; align-items:center; font-size:.95rem; font-weight:650; text-decoration:none; }
.reading-dock__identity img { border-radius:11px; flex:none; }
.reading-dock .reading-stores { width:430px; flex:none; }
.reading-dock .reading-store { min-height:55px; padding:7px 12px; gap:10px; border-radius:9px; }
.reading-dock .reading-store small { font-size:.68rem; margin-bottom:2px; }
.reading-dock .reading-store strong { font-size:1rem; }
.reading-dock .reading-store>svg:last-child { display:none; }

/* OGP artwork stays uncropped; text supplies a readable fallback at every size. */
.reading-index-page { max-width:1180px; width:calc(100% - 40px); margin:auto; padding:0 0 34px; }
.reading-index-hero { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 24px; padding:26px 0 20px; border-bottom:1px solid var(--line); }
.reading-index-hero h1 { font-size:1.75rem; line-height:1.5; letter-spacing:.025em; margin:0; }
.reading-index-hero>p { font-size:.9375rem; line-height:1.7; color:var(--muted); margin:0; }
.reading-section-heading { display:flex; align-items:baseline; justify-content:space-between; gap:15px; padding:25px 0 23px; }
.reading-section-heading h2 { margin:0; font-size:1.15rem; line-height:1.7; }
.reading-section-heading>span { font-size:.8rem; color:var(--muted); white-space:nowrap; }
.reading-section-heading>a { font-size:.85rem; display:inline-flex; align-items:center; min-height:44px; }
.reading-card-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,max(16rem,(100% - 40px)/3)),1fr)); gap:24px 20px; }
.reading-card { min-width:0; border:1px solid #d8dfd5; border-radius:15px; background:#fffefa; }
.reading-card__link { display:block; height:100%; text-decoration:none; color:var(--ink); border-radius:15px; overflow:hidden; }
.reading-card__link:hover { background:#f4f6ef; }
.reading-card__link:hover h2 { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.2em; }
.reading-card__image { background:#f8f6ee; border-bottom:1px solid #e2e6dd; aspect-ratio:1200/630; }
.reading-card__image img { width:100%; height:auto; aspect-ratio:1200/630; object-fit:contain; display:block; }
.reading-card__body { padding:24px; }
.reading-card h2 { margin:0 0 12px; font-size:1.25rem; line-height:1.75; }
.reading-card .eyebrow { font-size:.78rem; margin-bottom:10px; }
.reading-card__dek { font-size:.96rem; line-height:1.9; color:#4a6058; margin:0 0 20px; }
.reading-card__meta { display:flex; gap:16px; flex-wrap:wrap; font-size:.76rem; color:#56685f; line-height:1.7; }
.reading-card__action { display:flex; gap:10px; align-items:center; margin-top:20px; font-size:.88rem; color:#225a45; font-weight:650; }
.reading-card-grid .reading-card__link { display:flex; flex-direction:column; }
.reading-card-grid .reading-card__image { margin:0; overflow:hidden; flex:none; }
.reading-card-grid .reading-card__body { padding:14px 16px 16px; flex:1; display:flex; flex-direction:column; }
.reading-card-grid .reading-card h2 { font-size:1.125rem; line-height:1.65; margin:0 0 12px; overflow-wrap:break-word; line-break:strict; }
.reading-card-grid .reading-card .eyebrow { margin-bottom:6px; font-size:.75rem; letter-spacing:.02em; }
.reading-card-grid .reading-card__meta { margin-top:auto; gap:4px 12px; font-size:.75rem; }
.reading-card__meta>span,.reading-card__meta>time { display:inline-block; }
.reading-card-grid .reading-card__dek,.reading-card-grid .reading-card__action { display:none; }
.reading-index-page #reading-list>.reading-section-heading { padding:15px 0 14px; }
.reading-index-page #reading-list>.reading-section-heading h2 { font-size:.9375rem; }
.reading-index-page>.reading-app { max-width:760px; margin:54px auto 18px; }
.reading-related { margin:3rem 0; border-top:1px solid var(--line); }
.reading-related__grid { display:grid; gap:18px; }
.reading-related .reading-card__link { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr); align-items:center; }
.reading-related .reading-card__image { border:0; margin:14px 0 14px 14px; }
.reading-related .reading-card__body { padding:18px; }
.reading-related .reading-card h2 { font-size:.96rem; line-height:1.7; margin-bottom:10px; }
.reading-related .reading-card__dek,.reading-related .reading-card__action { display:none; }
.reading-related .reading-card__meta { font-size:.7rem; }
.reading-related .reading-card .eyebrow { font-size:.7rem; margin-bottom:6px; }

@media(max-width:800px) {
  .reading-card-grid { grid-template-columns:repeat(auto-fill,minmax(min(100%,max(12rem,(100% - 16px)/2)),1fr)); gap:20px 16px; }
  .reading-dock__inner { justify-content:center; gap:10px; }
  .reading-dock__identity span { display:none; }
  .reading-dock .reading-stores { width:auto; max-width:540px; min-width:0; flex:1; grid-template-columns:repeat(auto-fit,minmax(min(100%,6.25rem),1fr)); }
  .reading-dock .reading-store>svg { display:none; }
}
@media(max-width:760px) {
  .reading-masthead__inner { width:calc(100% - 28px); min-height:64px; gap:12px; }
  .reading-masthead .reading-identity { gap:14px; }
  .reading-masthead .brand { margin-block:13px; }
  .reading-masthead .brand img { width:38px; height:38px; }
  .reading-masthead .brand-name { font-size:14px; }
  .reading-masthead .brand small { display:none; }
  .reading-masthead .reading-home { padding-left:14px; font-size:.8rem; }
}
@media(max-width:600px) {
  .reading-footer { padding:18px; flex-wrap:wrap; gap:12px; }
  .reading-footer nav { gap:2px 16px; }
  .reading-app { padding:23px 20px; border-radius:16px; margin:2.6rem 0 2rem; }
  .reading-app__description { font-size:.95rem; }
  .reading-stores { gap:10px; }
  .reading-store { padding:10px; gap:8px; min-height:66px; }
  .reading-store>svg:first-child { width:20px; }
  .reading-store>svg:last-child { display:none; }
  .reading-store small { font-size:.65rem; }
  .reading-store strong { font-size:.95rem; }
  .reading-dock { padding:8px 14px max(8px,env(safe-area-inset-bottom)); }
  .reading-dock .reading-stores { gap:9px; }
  .reading-dock .reading-store { gap:8px; padding:7px 10px; }
  .reading-index-page { width:calc(100% - 28px); padding:0 0 24px; }
  .reading-index-hero { display:block; padding:19px 0 15px; }
  .reading-index-hero h1 { font-size:1.5rem; }
  .reading-index-hero>p { font-size:.875rem; margin-top:4px; }
  .reading-card-grid { grid-template-columns:repeat(auto-fill,minmax(min(100%,max(8.75rem,(100% - 12px)/2)),1fr)); gap:18px 12px; }
  .reading-card-grid .reading-card { border-radius:10px; }
  .reading-card-grid .reading-card__link { border-radius:10px; }
  .reading-card-grid .reading-card__body { padding:10px; }
  .reading-card-grid .reading-card h2 { font-size:1rem; line-height:1.65; margin-bottom:10px; }
  .reading-card-grid .reading-card .eyebrow { font-size:.6875rem; }
  .reading-card-grid .reading-card__meta { font-size:.6875rem; gap:2px 8px; }
  .reading-card__body { padding:22px; }
  .reading-section-heading h2 { font-size:1.05rem; }
  .reading-section-heading { padding:24px 0 20px; }
  .reading-related .reading-section-heading { flex-wrap:wrap; gap:0 12px; }
  .reading-related .reading-card__link { display:block; }
  .reading-related .reading-card__image { margin:0; border-bottom:1px solid #e2e6dd; }
  .reading-related .reading-card__body { padding:20px; }
  .reading-related .reading-card h2 { font-size:1.05rem; }
}
@media(max-width:380px) {
  .reading-masthead__inner { width:calc(100% - 20px); }
  .reading-masthead .brand-name { display:none; }
}
@media(max-width:360px) {
  .reading-app { padding:22px 16px; }
  .reading-app .reading-stores { grid-template-columns:1fr; }
  .reading-store { min-height:66px; }
  .reading-store>svg:last-child { display:block; }
  .reading-dock .reading-store>svg { display:none; }
}
@media print { .reading-dock,.reading-app,.reading-related,.article-ad { display:none!important; } }

/* The landing site's native selector, using its exact palette and geometry. */
.reading-masthead .language-control { position:relative; flex:0 0 auto; }
.reading-masthead .language-control::before { content:"A"; position:absolute; top:50%; left:13px; z-index:1; color:#197f72; font-size:12px; font-weight:900; transform:translateY(-52%); pointer-events:none; }
.reading-masthead .language-select { width:auto; min-width:116px; min-height:44px; padding:8px 32px; border:1px solid #e9e2d8; border-radius:14px; appearance:none; background:linear-gradient(45deg,transparent 50%,#687286 50%) calc(100% - 15px) 19px/5px 5px no-repeat,linear-gradient(135deg,#687286 50%,transparent 50%) calc(100% - 10px) 19px/5px 5px no-repeat,#fff; color:#172238; font-family:inherit; font-size:13px; font-weight:800; box-shadow:0 4px 14px rgba(23,34,56,.04); cursor:pointer; }
.reading-language-fallback,.reading-available { display:flex; flex-wrap:wrap; gap:8px 18px; }
.reading-language-fallback a,.reading-available a { display:inline-flex; align-items:center; min-height:44px; }
.reading-language-details summary { min-height:44px; padding:10px 0; font-size:.85rem; cursor:pointer; }
.reading-masthead .language-control:has(.reading-language-details) .language-select,.reading-masthead .language-control:has(.reading-language-details)::before { display:none; }
.reading-masthead__inner:has(.reading-language-fallback) { display:flex; flex-wrap:wrap; gap:0 18px; }
.reading-masthead__inner:has(.reading-language-fallback) .reading-identity { display:flex; align-items:center; }
.reading-masthead__inner:has(.reading-language-fallback) .language-control { flex-basis:100%; margin:0; }
.reading-empty { max-width:760px; padding:28px; border:1px solid var(--line); border-radius:16px; background:#fffefa; margin:0 0 48px; }
.reading-empty h2 { font-size:1.3rem; }
.reading-empty p { line-height:1.9; }
@media(max-width:760px) {
  .reading-masthead .language-control { margin-left:auto; }
  .reading-masthead .language-select { min-width:104px; max-width:min(190px,calc(100vw - 100px)); }
}
@media(max-width:600px) {
  .reading-masthead__inner:has(.language-control) { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:0 10px; }
  .reading-masthead__inner:has(.language-control) .reading-identity { display:contents; }
  .reading-masthead__inner:has(.language-control) .brand { grid-column:1; grid-row:1; justify-self:start; }
  .reading-masthead__inner:has(.language-control) .language-control { grid-column:2; grid-row:1; margin-top:10px; }
  .reading-masthead__inner:has(.language-control) .reading-home { grid-column:1/-1; grid-row:2; border-left:0; padding:0 0 8px; min-height:36px; white-space:normal; }
  .reading-empty { padding:22px; }
}
@media(max-width:600px) {
  .reading-masthead__inner:has(.reading-language-fallback) { display:flex; }
  .reading-masthead__inner:has(.reading-language-fallback) .reading-identity { display:flex; }
}

/* A missing country listing is stated without redirecting to another store. */
.reading-store-unavailable,.app-store-unavailable{margin:0;font-size:.86rem;line-height:1.55;color:var(--muted,#52665d);align-self:center;padding:.6rem;overflow-wrap:anywhere}
.article-body h2 { text-wrap:balance; line-break:strict; }
:lang(de) .article-head h1,
:lang(de) .article-body h2 { hyphens:auto; }
:lang(de) .article-head h1 { hyphenate-limit-chars:14 5 5; }
:lang(ja) .article-body h2,
:lang(ja) .article-table th,
:lang(ja) .article-table td { word-break:auto-phrase; }
.article-table--balanced th:first-child { width:50%; }

/* Compare side by side when space permits; retain each pair when text grows. */
.visual-table { container-name:reading-table; }
.table-cell-label { display:none; }
@container reading-table (max-width:18em) {
  .article-table { display:block; }
  .article-table caption { display:block; width:100%; }
  .article-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .article-table tbody { display:grid; gap:1rem; }
  .article-table tbody tr { display:block; border:1px solid var(--line); border-radius:8px; overflow:hidden; }
  .visual-table .article-table tbody th,
  .visual-table .article-table tbody td { display:block; width:100%; padding:.75em; overflow-wrap:break-word; hyphens:auto; }
  .visual-table .article-table tbody th { text-wrap:pretty; }
  .visual-table .article-table tbody td { border-bottom:0; }
  .table-cell-label { display:block; margin-bottom:.35em; color:var(--muted); font-size:.78em; font-weight:500; line-height:1.5; }
}
