/* The Living Book: isolated widget styles. No global selectors or BKM overrides. */
.tbfl-cn{--cn-deep:#183e38;--cn-mid:#1d665b;--cn-light:#d8f3c4;--cn-glow:#f4ca72;--cn-flower:#ff9fb4;--cn-paper:#fff9e9;--cn-ink:#213f35;--cn-shadow:rgba(6,37,27,.27);box-sizing:border-box;isolation:isolate;position:relative;overflow:hidden;width:100%;max-width:1160px;margin:24px auto 32px;padding:clamp(20px,4.6vw,56px);border-radius:clamp(20px,3.4vw,38px);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#fff;background:radial-gradient(ellipse at 78% 14%,rgba(244,202,114,.19),transparent 35%),radial-gradient(ellipse at 10% 87%,rgba(120,230,190,.2),transparent 42%),linear-gradient(138deg,#14372f 0%,var(--cn-mid) 55%,#11342e 100%);box-shadow:0 20px 60px rgba(10,33,29,.12),inset 0 1px 0 rgba(255,255,255,.23)}
.tbfl-cn *,.tbfl-cn *::before,.tbfl-cn *::after{box-sizing:border-box}
.tbfl-cn--lagoon{--cn-deep:#153c5b;--cn-mid:#236785;--cn-light:#c5ece9;--cn-glow:#f7c989;--cn-flower:#fbaf9c;--cn-ink:#153d56;--cn-shadow:rgba(5,36,62,.28)}
.tbfl-cn--sunrise{--cn-deep:#4b294b;--cn-mid:#87506b;--cn-light:#e6c9e7;--cn-glow:#f5be6b;--cn-flower:#ffb3aa;--cn-ink:#4a304b;--cn-shadow:rgba(60,19,51,.28)}
.tbfl-cn::before,.tbfl-cn::after{content:"";position:absolute;pointer-events:none;z-index:-1;opacity:.34;border:1px solid rgba(255,255,255,.19);border-radius:50%}
.tbfl-cn::before{width:440px;height:440px;top:-300px;right:-125px;box-shadow:0 0 0 38px rgba(255,255,255,.03),0 0 0 85px rgba(255,255,255,.03)}
.tbfl-cn::after{width:390px;height:390px;left:-260px;bottom:-245px;box-shadow:0 0 0 30px rgba(255,255,255,.035),0 0 0 75px rgba(255,255,255,.03)}
.tbfl-cn-aura{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.tbfl-cn-aura span{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--cn-glow);box-shadow:0 0 23px 9px rgba(255,222,154,.11);opacity:.0}
.tbfl-cn-aura span:nth-child(1){top:17%;left:12%}.tbfl-cn-aura span:nth-child(2){top:59%;left:6%}.tbfl-cn-aura span:nth-child(3){top:18%;right:9%}.tbfl-cn-aura span:nth-child(4){top:69%;right:16%}.tbfl-cn-aura span:nth-child(5){top:87%;left:46%}
.tbfl-cn.is-visible .tbfl-cn-aura span{animation:tbfl-cn-drift 5.4s ease-in-out infinite}
.tbfl-cn.is-visible .tbfl-cn-aura span:nth-child(2){animation-delay:-2.3s}.tbfl-cn.is-visible .tbfl-cn-aura span:nth-child(3){animation-delay:-3.6s}.tbfl-cn.is-visible .tbfl-cn-aura span:nth-child(4){animation-delay:-1.3s}.tbfl-cn.is-visible .tbfl-cn-aura span:nth-child(5){animation-delay:-4.3s}
.tbfl-cn-heading{position:relative;z-index:1;text-align:center;max-width:780px;margin:0 auto 6px}
.tbfl-cn .tbfl-cn-eyebrow{display:block;font-size:10px;font-weight:800;letter-spacing:.22em;color:var(--cn-glow);line-height:1.7}
.tbfl-cn .tbfl-cn-heading h2{font-size:clamp(28px,4.1vw,52px);line-height:1.11;letter-spacing:-.043em;font-weight:760;margin:12px auto 12px;color:#fff;text-shadow:0 2px 25px rgba(0,0,0,.08)}
.tbfl-cn .tbfl-cn-heading h2 em{font-family:Georgia,"Times New Roman",serif;font-weight:400;color:#eae59e;letter-spacing:-.03em}
.tbfl-cn .tbfl-cn-heading p{font-size:clamp(13px,1.35vw,15px);max-width:590px;line-height:1.6;margin:0 auto 8px;color:rgba(255,255,255,.82)}
.tbfl-cn-stage{position:relative;z-index:1;min-height:435px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 0 0;perspective:1500px}
.tbfl-cn-book{position:relative;width:min(100%,730px);height:360px;display:block;outline-offset:8px;perspective:1450px;transform-style:preserve-3d;transform:translateY(12px) scale(.97);opacity:.87;transition:transform .85s cubic-bezier(.19,1,.22,1),opacity .8s ease;touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none;filter:drop-shadow(0 26px 29px var(--cn-shadow))}
.tbfl-cn-book:active{cursor:grabbing}
.tbfl-cn.is-visible .tbfl-cn-book{transform:translateY(0) scale(1);opacity:1}
.tbfl-cn.is-visible.is-intro .tbfl-cn-book{animation:tbfl-cn-breathe 2.9s ease-in-out infinite alternate}
.tbfl-cn-spread{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid rgba(61,68,49,.28);border-radius:7px 17px 17px 7px;background:var(--cn-paper);box-shadow:inset -7px 0 20px rgba(86,59,24,.09),7px 8px 0 rgba(236,211,159,.37),12px 13px 0 rgba(255,247,220,.2)}
.tbfl-cn-underpages{position:absolute;inset:6px 1px -6px 4px;background:repeating-linear-gradient(to bottom,#fef4d6 0 1px,#e2c49c 1px 2px,#fff6df 2px 4px);border-radius:5px 18px 18px 5px;box-shadow:0 9px 14px rgba(0,0,0,.11)}
.tbfl-cn-binding{position:absolute;z-index:4;top:1.6%;left:calc(50% - 8px);width:16px;height:96%;pointer-events:none;background:linear-gradient(to right,rgba(72,51,30,.14),rgba(255,255,255,.35) 42%,rgba(72,51,30,.16));mix-blend-mode:multiply;opacity:.45}
.tbfl-cn-leaf{position:relative;min-width:0;height:100%;color:var(--cn-ink)}
.tbfl-cn-left{display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center;padding:32px 32px 24px;background:radial-gradient(circle at 50% 52%,rgba(250,220,126,.39),transparent 50%),linear-gradient(135deg,#f4ead4,#f9f0df 65%,#eadcbb)}
.tbfl-cn-left::before,.tbfl-cn-left::after{content:"";position:absolute;inset:15px;border:1px solid rgba(110,92,55,.18);border-radius:99px 99px 18px 18px;pointer-events:none}
.tbfl-cn-left::after{inset:25px;border-color:rgba(110,92,55,.09)}
.tbfl-cn-left-ornament{color:#b69c54;position:absolute;top:14px;left:27px;font-size:24px}
.tbfl-cn-part-label{font-size:10px;line-height:1.6;font-weight:800;letter-spacing:.13em;text-transform:uppercase;max-width:275px;z-index:1;max-height:4.8em;overflow:hidden}
.tbfl-cn-icon{font-size:clamp(72px,9vw,112px);line-height:1;position:relative;z-index:1;transform:rotate(-7deg);filter:drop-shadow(0 8px 0 rgba(110,74,31,.13));transition:transform .45s ease}
.tbfl-cn-left-footer{position:relative;z-index:1;display:grid;gap:4px;letter-spacing:.16em;font-weight:750;font-size:8px;color:#866f4b}
.tbfl-cn-left-footer span:last-child{font-size:7px;letter-spacing:.12em}
.tbfl-cn-right{padding:31px 32px 22px;display:flex;flex-direction:column;background:linear-gradient(110deg,#e7d7b9 0%,#fff9ec 8%,#fffdf7 55%,#f6ead5 100%)}
.tbfl-cn-page-kicker{color:#846d49;font-size:11px;font-weight:900;letter-spacing:.21em;margin-bottom:13px}
.tbfl-cn-chapter-target{appearance:none;border:0;background:transparent;padding:0;text-align:left;color:var(--cn-ink);cursor:pointer;min-height:90px;max-width:100%;touch-action:manipulation}
.tbfl-cn-chapter-target strong{display:block;font-family:Georgia,"Times New Roman",serif;line-height:1.14;letter-spacing:-.036em;font-size:clamp(19px,2.55vw,31px);font-weight:700;overflow-wrap:break-word}
.tbfl-cn-touch-hint{display:block;color:#937a58;font-size:10px;font-weight:750;letter-spacing:.1em;margin-top:11px;text-transform:uppercase;opacity:.85}
.tbfl-cn-excerpt{color:#6c6757;font-size:12px;line-height:1.53;margin:13px 0 0;max-height:6.3em;overflow:hidden}
.tbfl-cn-page-number{margin-top:auto;align-self:flex-end;color:#a98d5f;font-size:12px;font-weight:800;letter-spacing:.1em}
.tbfl-cn-page-number span{font-size:9px}
.tbfl-cn-cover{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;justify-content:space-between;align-items:center;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform-origin:3% center;transform:rotateY(0deg);transition:transform 1.2s cubic-bezier(.13,.76,.2,1),opacity .28s ease .86s;background:radial-gradient(ellipse at 50% 34%,rgba(255,240,157,.16),transparent 49%),radial-gradient(circle at 100% 0%,rgba(255,255,255,.11),transparent 31%),linear-gradient(142deg,var(--cn-mid),var(--cn-deep) 76%);border-radius:9px 18px 18px 9px;border:2px solid rgba(255,234,180,.65);box-shadow:inset 7px 0 0 rgba(8,31,23,.41),inset 13px 0 10px rgba(0,0,0,.2),inset 0 0 0 13px rgba(241,202,116,.09),inset 0 0 0 14px rgba(241,202,116,.25),0 25px 50px rgba(4,22,19,.22);padding:23px 30px;color:#fef7dc;pointer-events:auto}
.tbfl-cn-cover::before,.tbfl-cn-cover::after{content:"";position:absolute;inset:26px;pointer-events:none;border:1px solid rgba(249,220,142,.45);border-radius:125px 125px 16px 16px}
.tbfl-cn-cover::after{inset:38px;border-color:rgba(249,220,142,.15)}
.tbfl-cn-cover-corner{font-size:25px;color:var(--cn-glow);align-self:flex-end}
.tbfl-cn-cover-center{text-align:center;width:90%;max-width:600px;display:flex;flex-direction:column;align-items:center;gap:9px}
.tbfl-cn-cover-eyebrow{font-size:clamp(9px,1.2vw,12px);letter-spacing:.25em;font-weight:750;color:#ffe8ad}
.tbfl-cn-cover-center strong{font-family:Georgia,"Times New Roman",serif;font-size:clamp(32px,5vw,60px);white-space:nowrap;font-weight:600;letter-spacing:-.06em;line-height:1.02;color:#fff6d8;text-shadow:0 3px 0 rgba(0,0,0,.06);overflow-wrap:anywhere}
.tbfl-cn-cover-emblem{font-size:64px;line-height:1;margin:5px 0;color:var(--cn-glow);text-shadow:0 3px 18px rgba(246,212,115,.3)}
.tbfl-cn-cover-subtitle{font-size:10px;letter-spacing:.2em;line-height:1.6;color:#ffe9b8}
.tbfl-cn-cover-foot{font-size:11px;letter-spacing:.18em;color:#fce5a4;font-weight:750}
.tbfl-cn.is-open .tbfl-cn-cover{transform:rotateY(-163deg);opacity:0;pointer-events:none}
.tbfl-cn-turn-sheet{position:absolute;top:0;left:50%;height:100%;width:50%;z-index:3;opacity:0;pointer-events:none;background:linear-gradient(90deg,#f8ebd0,#fffdf5 50%,#e8d8ba);box-shadow:inset 12px 0 16px rgba(83,65,39,.12);transform-origin:left center;backface-visibility:hidden}
.tbfl-cn.turn-forward .tbfl-cn-turn-sheet{animation:tbfl-cn-turn-forward .54s ease-in-out both}
.tbfl-cn.turn-backward .tbfl-cn-turn-sheet{left:0;transform-origin:right center;animation:tbfl-cn-turn-backward .54s ease-in-out both}
.tbfl-cn-opening-controls{min-height:50px;display:flex;align-items:center;justify-content:center;gap:13px;flex-wrap:wrap;margin:15px 0 0;transition:opacity .2s ease,max-height .3s ease}
.tbfl-cn-open-prompt{color:#fceac1;font-family:Georgia,serif;font-size:16px;font-style:italic}
.tbfl-cn button{font-family:inherit}
.tbfl-cn-open-btn,.tbfl-cn-skip-intro{border:1px solid rgba(255,255,255,.28);cursor:pointer;border-radius:99px;min-height:40px;line-height:1.3;padding:10px 16px;font-size:12px;font-weight:780;transition:transform .18s ease,background .18s ease}
.tbfl-cn-open-btn{color:var(--cn-ink);background:var(--cn-glow);box-shadow:0 5px 18px rgba(0,0,0,.16)}
.tbfl-cn-skip-intro{color:#fff;background:rgba(255,255,255,.11)}
.tbfl-cn.is-open .tbfl-cn-opening-controls{opacity:0;max-height:0;min-height:0;overflow:hidden;pointer-events:none;margin:0}
.tbfl-cn-controls{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:clamp(18px,4vw,50px);max-width:700px;margin:6px auto 0}
.tbfl-cn-prev,.tbfl-cn-next{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:99px;min-width:125px;min-height:44px;padding:11px 18px;font-size:13px;font-weight:800;cursor:pointer;transition:background .2s ease,transform .18s ease}
.tbfl-cn-prev:disabled,.tbfl-cn-next:disabled{opacity:.4;cursor:not-allowed}
.tbfl-cn-prev:not(:disabled):hover,.tbfl-cn-next:not(:disabled):hover,.tbfl-cn-skip-intro:hover{background:rgba(255,255,255,.24);transform:translateY(-2px)}
.tbfl-cn-open-btn:hover,.tbfl-cn-read:hover{transform:translateY(-2px)}
.tbfl-cn-count{text-align:center;min-width:88px;color:#fff;font-family:Georgia,serif;font-size:20px;letter-spacing:.04em;font-variant-numeric:tabular-nums}
.tbfl-cn-count-divider{color:rgba(255,255,255,.52);padding:0 5px}
.tbfl-cn-progress{height:4px;border-radius:6px;background:rgba(255,255,255,.22);width:100%;overflow:hidden;margin-top:8px}
.tbfl-cn-progress span{display:block;height:100%;width:1%;border-radius:6px;background:var(--cn-glow);transition:width .42s ease}
.tbfl-cn-bottom{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px 25px;margin:19px auto 0}
.tbfl-cn-read{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:46px;border-radius:99px;background:var(--cn-glow);color:#183b33!important;padding:10px 24px;font-size:14px;font-weight:900;text-decoration:none!important;box-shadow:0 7px 18px rgba(0,0,0,.16);transition:transform .2s ease}
.tbfl-cn-gesture-note{color:rgba(255,255,255,.74);font-size:12px}
.tbfl-cn-directory{position:relative;z-index:2;margin:25px auto 0;max-width:940px;border:1px solid rgba(255,255,255,.25);border-radius:16px;background:rgba(0,20,15,.13);color:#fff;overflow:hidden}
.tbfl-cn-directory summary{padding:13px 20px;cursor:pointer;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:space-between;list-style:none;user-select:none}
.tbfl-cn-directory summary::-webkit-details-marker{display:none}
.tbfl-cn-directory[open] summary{border-bottom:1px solid rgba(255,255,255,.15)}
.tbfl-cn-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-height:335px;overflow:auto;gap:8px;padding:12px;scrollbar-color:rgba(255,255,255,.3) transparent}
.tbfl-cn-directory-grid a{display:flex;align-items:center;gap:10px;min-width:0;border:1px solid transparent;border-radius:11px;padding:10px;background:rgba(255,255,255,.07);color:#fff!important;text-decoration:none!important;transition:background .2s ease}
.tbfl-cn-directory-grid a:hover,.tbfl-cn-directory-grid a.is-current{background:rgba(252,227,166,.2);border-color:rgba(251,223,150,.33)}
.tbfl-cn-directory-grid a>span:first-child{font-size:23px;line-height:1.1;min-width:29px;text-align:center}
.tbfl-cn-directory-name{min-width:0;display:grid;gap:4px}
.tbfl-cn-directory-name small{color:#f9d88c;letter-spacing:.13em;font-weight:850;font-size:9px}
.tbfl-cn-directory-name strong{font-size:11px;line-height:1.3;font-weight:670;color:#fff}
.tbfl-cn button:focus-visible,.tbfl-cn a:focus-visible,.tbfl-cn summary:focus-visible,.tbfl-cn-book:focus-visible{outline:3px solid #ffdc92;outline-offset:4px}
.tbfl-cn .screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.tbfl-cn--skip-motion .tbfl-cn-cover,.tbfl-cn--skip-motion .tbfl-cn-book{transition:none!important;animation:none!important}
@keyframes tbfl-cn-drift{0%,100%{opacity:.12;transform:translateY(0) scale(.7)}45%{opacity:.8;transform:translateY(-18px) scale(1.1)}}
@keyframes tbfl-cn-breathe{from{transform:translateY(0) scale(1)}to{transform:translateY(-7px) scale(1.01)}}
@keyframes tbfl-cn-turn-forward{0%{opacity:0;transform:rotateY(0deg)}8%{opacity:.94}90%{opacity:.95}100%{opacity:0;transform:rotateY(-180deg)}}
@keyframes tbfl-cn-turn-backward{0%{opacity:0;transform:rotateY(-180deg)}8%{opacity:.92}90%{opacity:.95}100%{opacity:0;transform:rotateY(0deg)}}
@media(max-width:740px){
 .tbfl-cn{padding:25px 18px 24px;margin:18px auto;border-radius:21px}
 .tbfl-cn-stage{min-height:385px;padding-top:10px}
 .tbfl-cn-book{height:315px;width:min(100%,580px)}
 .tbfl-cn-left{padding:25px 18px 19px}
 .tbfl-cn-right{padding:25px 20px 17px}
 .tbfl-cn-left-ornament{left:15px;top:10px}
 .tbfl-cn-icon{font-size:70px}
 .tbfl-cn-cover-center strong{font-size:clamp(30px,6.2vw,48px)}
 .tbfl-cn-cover-emblem{font-size:50px}
 .tbfl-cn-part-label{font-size:9px}
 .tbfl-cn-chapter-target strong{font-size:clamp(18px,3.5vw,26px)}
 .tbfl-cn-excerpt{font-size:11px;line-height:1.46}
 .tbfl-cn-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:480px){
 .tbfl-cn{padding:23px 12px}
 .tbfl-cn .tbfl-cn-eyebrow{letter-spacing:.14em;font-size:9px}
 .tbfl-cn .tbfl-cn-heading h2{font-size:30px}
 .tbfl-cn-heading p{font-size:12px}
 .tbfl-cn-stage{min-height:354px;padding-top:13px}
 .tbfl-cn-book{height:292px}
 .tbfl-cn-left{padding:25px 8px 17px}
 .tbfl-cn-left::before{inset:9px}
 .tbfl-cn-left::after{inset:15px}
 .tbfl-cn-icon{font-size:58px}
 .tbfl-cn-part-label{font-size:8px;letter-spacing:.08em;line-height:1.45}
 .tbfl-cn-left-footer{font-size:6px}
 .tbfl-cn-left-footer span:last-child{display:none}
 .tbfl-cn-right{padding:24px 13px 15px}
 .tbfl-cn-page-kicker{font-size:9px;letter-spacing:.12em;margin-bottom:13px}
 .tbfl-cn-chapter-target strong{font-size:18px;line-height:1.13}
 .tbfl-cn-touch-hint{font-size:8px;letter-spacing:0;margin-top:9px}
 .tbfl-cn-excerpt{display:none}
 .tbfl-cn-cover{padding:20px 14px}
 .tbfl-cn-cover-center strong{font-size:clamp(24px,7.2vw,38px)}
 .tbfl-cn-cover-subtitle{font-size:8px;letter-spacing:.1em}
 .tbfl-cn-cover-foot{font-size:9px;letter-spacing:.07em}
 .tbfl-cn-cover::before{inset:15px}.tbfl-cn-cover::after{inset:24px}
 .tbfl-cn-open-prompt{display:none}
 .tbfl-cn-opening-controls{margin-top:10px}
 .tbfl-cn-controls{gap:14px}
 .tbfl-cn-prev,.tbfl-cn-next{min-width:94px;padding:11px 13px}
 .tbfl-cn-count{min-width:62px;font-size:17px}
 .tbfl-cn-gesture-note{font-size:10px}
 .tbfl-cn-directory-grid{grid-template-columns:1fr;max-height:275px}
}
@media(prefers-reduced-motion:reduce){
 .tbfl-cn,.tbfl-cn *, .tbfl-cn *::before, .tbfl-cn *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .tbfl-cn-book{transform:none!important;opacity:1!important}
}
@media(forced-colors:active){
 .tbfl-cn{border:2px solid CanvasText;background:Canvas;color:CanvasText}
 .tbfl-cn-leaf,.tbfl-cn-cover,.tbfl-cn button,.tbfl-cn-directory,.tbfl-cn-directory-grid a{forced-color-adjust:auto;border:1px solid CanvasText}
 .tbfl-cn .tbfl-cn-heading h2,.tbfl-cn .tbfl-cn-heading p,.tbfl-cn .tbfl-cn-eyebrow,.tbfl-cn a,.tbfl-cn button{color:CanvasText!important}
}
@media print{
 .tbfl-cn{box-shadow:none;background:#fff;color:#000;border:1px solid #aaa;break-inside:avoid}
 .tbfl-cn-cover,.tbfl-cn-aura,.tbfl-cn-opening-controls,.tbfl-cn-controls,.tbfl-cn-gesture-note{display:none!important}
 .tbfl-cn-book{filter:none;transform:none!important;opacity:1!important}
 .tbfl-cn-directory{display:none}
 .tbfl-cn .tbfl-cn-heading h2,.tbfl-cn .tbfl-cn-heading p{color:#000}
}
