/* TBFL / Phase 2 - Quiet Reader, typography, responsive editorial layout */
.tbfl-root.tbfl-reader{background:linear-gradient(90deg,#faf9f7,#fffdf9 35%,#fffdf9 68%,#faf9f7)!important}
.tbfl-progress{height:3px;position:sticky;top:78px;z-index:16;background:#e7e9ee;overflow:hidden}
.tbfl-progress span{background:linear-gradient(90deg,#a4cbbf,#9b94c4,#ad775d);border-radius:0 4px 4px 0}
.tbfl-reader-grid{grid-template-columns:minmax(196px,265px) minmax(0,785px) minmax(165px,235px);gap:clamp(26px,4.1vw,74px);max-width:1650px;padding:36px clamp(26px,4.2vw,80px) 125px}
.tbfl-reader-toc{top:115px;max-height:calc(100vh - 145px);overflow:auto;padding:26px 14px 25px 0;border:0}
.tbfl-reader-toc::before{content:"";position:absolute;inset:4px 8px 3px -12px;border-radius:20px;pointer-events:none;z-index:-1;background:#ffffffad;border:1px solid #ebeaed}
.tbfl-aside-title{font-size:10px;color:#657286;letter-spacing:.17em;padding:3px 8px 8px}
.tbfl-aside-search{min-height:40px;background:#fff;border-color:#e5e3e6;border-radius:12px;padding:8px 13px;margin-bottom:12px;color:#324359}
.tbfl-reader-toc nav{gap:2px}
.tbfl-reader-toc nav a{padding:10px 11px;font-size:12px;line-height:1.55;border-radius:10px;color:#687588;gap:13px;transition:background .2s,color .2s}
.tbfl-reader-toc nav a span{font-size:11px;color:#8e93a8;min-width:20px}
.tbfl-reader-toc nav a[aria-current="page"]{color:#283553;background:#edecf5;font-weight:750;box-shadow:inset 3px 0 #8882ba}
.tbfl-reader-toc nav a:hover{color:#303d59;background:#f0f0f6}
.tbfl-reading-main{padding:58px 0 0;max-width:785px;width:100%;min-width:0}
.tbfl-chapter-meta{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-bottom:24px;color:#6d7290;font-size:10px;font-weight:700;letter-spacing:.14em}
.tbfl-chapter-meta span{display:inline-flex;align-items:center;gap:8px}
.tbfl-chapter-meta span+span:before{content:"";width:4px;height:4px;border-radius:50%;background:#c8a8a0}
.tbfl-reading-main>h1{font-size:clamp(48px,4.5vw,77px)!important;letter-spacing:-.061em!important;line-height:1.07!important;margin-bottom:20px!important;color:#27334b!important;text-wrap:balance}
.tbfl-reader-byline{color:#718092;font-size:12px;line-height:1.6}
.tbfl-readtime{display:inline-flex;gap:7px;align-items:center;padding:10px 0 0;color:#69768b;font-size:12px;font-weight:600}
.tbfl-readtime::before{content:"◷";font-size:16px;color:#8f85b3}
.tbfl-reader-tools{gap:9px;padding:20px 0;margin:26px 0 48px;border-block:1px solid #e7e6ea;align-items:center}
.tbfl-reader-tools button{background:#fffefa;border:1px solid #dedfe5;color:#34435b;font-size:12px;font-weight:620;padding:10px 15px;border-radius:13px;min-height:40px;transition:background .2s,border-color .2s,transform .2s}
.tbfl-reader-tools button:hover{background:#f0eef8;border-color:#c6c3d6;transform:translateY(-1px)}
.tbfl-reader-tools button[aria-pressed="true"]{background:#eeecf5;border-color:#b6b2d0;color:#3d4265}
.tbfl-manuscript{
 --tbfl-font:19px;
 font-family:var(--tbfl-serif)!important;font-size:var(--tbfl-font)!important;
 line-height:1.86!important;letter-spacing:.006em;color:#303a4c!important;
 max-width:68ch!important;margin-inline:auto;overflow-wrap:anywhere;
 font-kerning:normal;font-optical-sizing:auto;
}
.tbfl-manuscript p{line-height:inherit!important;margin:0 0 1.25em!important;color:inherit!important;max-width:none!important;text-align:start;hyphens:auto;text-wrap:pretty}
.tbfl-manuscript p:first-of-type{font-size:1.06em!important;color:#30374d!important}
.tbfl-manuscript h2,.tbfl-manuscript h3,.tbfl-manuscript h4{font-family:var(--tbfl-serif)!important;letter-spacing:-.04em;line-height:1.19!important;color:#2e3951!important;text-wrap:balance}
.tbfl-manuscript h2{font-size:clamp(29px,3.2vw,43px)!important;margin:2.1em 0 .75em!important}
.tbfl-manuscript h3{font-size:clamp(24px,2.5vw,33px)!important;margin:1.9em 0 .7em!important}
.tbfl-manuscript h4{font-size:clamp(21px,2.2vw,26px)!important;margin:1.5em 0 .6em!important}
.tbfl-manuscript a{color:#5961a1!important;text-decoration:underline!important;text-decoration-color:#8d95c5!important;text-underline-offset:.22em;text-decoration-thickness:1px}
.tbfl-manuscript a:hover{text-decoration-thickness:2px!important}
.tbfl-manuscript blockquote{font-family:var(--tbfl-serif);font-size:1.15em;line-height:1.64;color:#535678;background:linear-gradient(90deg,#f4f1f8,#faf9fa);border-left:3px solid #aea3c8;padding:27px 31px;margin:2.2em 0;border-radius:0 18px 18px 0}
.tbfl-manuscript ul,.tbfl-manuscript ol{padding-left:0;margin:1.3em 0 1.5em 1.5em}
.tbfl-manuscript li{padding-left:.2em;margin:.42em 0}
.tbfl-manuscript img{height:auto;border-radius:18px}
.tbfl-manuscript figure{max-width:100%;margin-inline:auto}
.tbfl-manuscript figcaption{font-family:ui-sans-serif,system-ui,sans-serif;font-size:12px;line-height:1.6;color:#697587}
.tbfl-manuscript table{max-width:100%;margin:1.3em 0 2em;border-collapse:collapse;background:#fffefa;font-size:.75em}
.tbfl-manuscript th,.tbfl-manuscript td{border-color:#e3e2e6;padding:12px}
.tbfl-manuscript p:target{background:#f4f0f8;box-shadow:0 0 0 13px #f4f0f8;border-radius:4px;scroll-margin-top:25vh}
.tbfl-manuscript p{position:relative}
.tbfl-p-link{border-radius:8px;background:#eeeaf4;color:#7776a3;left:-38px;top:.45em;font-size:13px;transition:opacity .2s,background .2s}
.tbfl-p-link:hover{background:#e0dcef}
.tbfl-translation-notice{border-left:3px solid #9e97c7;background:#f2f0f8;border-radius:0 12px 12px 0;color:#4f5b70;padding:15px 19px}
.tbfl-reader-rail{position:sticky;top:118px;padding:25px 0 15px 20px;border-left:1px solid #e5e4e9}
.tbfl-reader-rail h3{font-size:clamp(24px,2.4vw,33px);line-height:1.13;margin:14px 0}
.tbfl-reader-rail>p{color:#6b7788;font-size:12px;line-height:1.8}
.tbfl-rail-link{padding:17px 0;border-bottom:1px solid #e6e6ea;color:#42506c}
.tbfl-rail-link small{color:#8a809c;letter-spacing:.08em;text-transform:uppercase}
.tbfl-rail-link strong{color:#3a4962;font-size:13px;line-height:1.5;margin:7px 0}
.tbfl-rail-link:hover strong{color:#5b5792}
.tbfl-rail-bottom{color:#7b7895;font-family:var(--tbfl-serif);font-size:16px;line-height:1.6}
.tbfl-related{margin-top:88px;padding-top:40px;border-top:1px solid #e4e3e8}
.tbfl-related>h2{font-size:clamp(28px,3vw,42px)}
.tbfl-related-grid{gap:14px}
.tbfl-related-card{gap:10px;padding:24px;border:1px solid #e5e3ea;border-radius:18px;background:linear-gradient(145deg,#fdfcfa,#f5f2f8);transition:transform .2s,box-shadow .2s}
.tbfl-related-card:hover{transform:translateY(-4px);box-shadow:0 14px 35px #36445d12;border-color:#cdc8df}
.tbfl-related-card strong{font-size:16px;line-height:1.38;color:#38455a}
.tbfl-related-card span:not(.tbfl-kicker){font-size:12px;color:#6c7482}
.tbfl-chapter-switch{margin:75px 0 30px;gap:16px}
.tbfl-chapter-switch a{padding:25px 22px;border:1px solid #e3e1e7;border-radius:19px;background:#fffefa;transition:background .22s,transform .22s}
.tbfl-chapter-switch a:hover{background:#f2eff7;transform:translateY(-2px)}
.tbfl-chapter-switch small{letter-spacing:.08em;color:#827fa1;font-weight:630;text-transform:uppercase}
.tbfl-chapter-switch strong{font-family:var(--tbfl-serif);font-size:20px;font-weight:500;line-height:1.35;color:#2b3851}
.tbfl-media-card,.tbfl-photo-scene,.tbfl-video-scene,.tbfl-audio-scene{border-color:#e2e1e7;border-radius:20px;background:#f8f7fa;overflow:hidden}
.tbfl-media-card{padding:24px}
.tbfl-media-symbol{background:linear-gradient(145deg,#e1dcef,#c0c9dc);color:#465273}
.tbfl-photo-scene figcaption,.tbfl-video-scene figcaption{background:#f9f8fa;color:#636c7d;padding:14px 18px}
.tbfl-audio-scene{padding:23px}
.tbfl-skip{position:fixed;left:18px;top:-110px;z-index:100;background:#2b355c;color:white!important;padding:12px 17px;border-radius:12px;font-weight:750}
.tbfl-skip:focus{top:12px}
.tbfl-mobile-controls{display:none}
@media(max-width:1250px){.tbfl-reader-grid{grid-template-columns:minmax(192px,245px) minmax(0,750px);gap:clamp(26px,4vw,52px);max-width:1140px}.tbfl-reader-rail{display:none}}
@media(max-width:780px){
 .tbfl-progress{top:65px}.tbfl-reader-grid{display:block;padding:0 clamp(21px,5vw,38px) 90px}
 .tbfl-reading-main{padding:23px 0 0;max-width:none}
 .tbfl-reading-main>h1{font-size:clamp(40px,9.5vw,66px)!important;line-height:1.07!important}
 .tbfl-reader-toc{display:none;position:fixed;left:0;top:0;width:min(89vw,405px);height:100dvh;max-height:100dvh;background:#fbfaf8;padding:25px 22px;z-index:1000;border:0;box-shadow:15px 0 50px #1c25452b;overflow-y:auto}
 .tbfl-reader-toc::before{display:none}.tbfl-reader-toc.tbfl-toc-visible{display:block}
 .tbfl-reader-toc nav a{font-size:13px;min-height:40px;padding:10px 11px}
 .tbfl-aside-title{padding:0 0 16px}.tbfl-toc-close{display:inline-block!important;border:1px solid #dcdde3;border-radius:10px;background:white;color:#37435a;font-size:19px;padding:3px 11px;min-height:35px}
 .tbfl-mobile-controls{display:flex;align-items:center;gap:14px;justify-content:space-between;padding:12px 0 23px;color:#606c7f;font-size:12px}
 .tbfl-toc-open{background:#fff;border:1px solid #dedee5;border-radius:13px;padding:10px 16px;color:#33445f;font-weight:670;min-height:42px}
 .tbfl-reader-tools{margin:24px 0 38px;gap:8px;padding:16px 0}.tbfl-reader-tools button{min-height:42px}
 .tbfl-manuscript{font-size:var(--tbfl-font)!important;line-height:1.81!important;max-width:68ch}
 .tbfl-manuscript h2{margin-top:1.65em!important}.tbfl-chapter-switch{gap:10px;margin:55px 0 15px}
 .tbfl-chapter-switch a{padding:17px 14px}.tbfl-chapter-switch strong{font-size:17px}
 .tbfl-p-link{display:none}.tbfl-related-grid{grid-template-columns:1fr}
}
@media(max-width:480px){.tbfl-reader-tools button{padding:8px 11px;font-size:11px}.tbfl-reading-main>h1{font-size:clamp(39px,10.2vw,54px)!important}.tbfl-manuscript{line-height:1.77!important}.tbfl-manuscript blockquote{padding:19px 20px}.tbfl-related{margin-top:60px}}
@media(prefers-reduced-motion:reduce){.tbfl-root .tbfl-reader-tools button,.tbfl-root .tbfl-related-card,.tbfl-root .tbfl-chapter-switch a{transition:none!important;transform:none!important}}
