body:has(.life-intro,.life-topic-head,.life-article){background:#f8f6ef}
body:has(.life-intro,.life-topic-head,.life-article) .wrap{width:min(1180px,calc(100% - 64px))}
.life-intro{padding:40px 0 30px;max-width:830px}

/* Topic libraries: real stories and explanatory figures, not empty entrances. */
body:has(.topic-hero){background:#fbf8f0}
.topic-hero{display:grid;grid-template-columns:1fr 1fr;min-height:430px;margin:34px 0 52px;border-radius:18px;overflow:hidden;background:#eee9dc}
.topic-hero-copy{padding:clamp(24px,4vw,56px);align-self:center}
.topic-hero h1{font:400 clamp(30px,3.5vw,46px)/1.35 Georgia,'Batang',serif;letter-spacing:-.04em;margin:0 0 24px;word-break:keep-all}
.topic-hero p:not(.life-kicker){font-size:16px;line-height:1.9;color:#596653}
.topic-hero-image{min-height:430px;position:relative}
.topic-hero-image img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 48%}
.topic-start{display:inline-block;padding:14px 0;line-height:1.5;border-bottom:1px solid #758461;font-size:14px}
.topic-section-head{margin:0 0 24px}.topic-section-head h2{font-size:24px;margin:0 0 10px}.topic-section-head p{color:#65705f;line-height:1.8}
.topic-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:0 0 45px}
.topic-card{display:flex;flex-direction:column;position:relative;background:#fffdf7;border:1px solid #e1dccd;border-radius:14px;overflow:hidden;text-decoration:none;color:#2b3e30;min-width:0}
.topic-card:hover{border-color:#8b9a76}.topic-card:focus-visible,.topic-start:focus-visible{outline:3px solid #647d55;outline-offset:5px}
.topic-card-image{aspect-ratio:1.65;background:#eeeade;overflow:hidden}.topic-card-image>img,.topic-card-image>svg{width:100%;height:100%;display:block;object-fit:cover}.topic-card-image>img{object-position:center 50%}
.topic-card-copy{padding:24px 23px 42px;flex:1}.topic-card h2{font-size:21px;line-height:1.55;letter-spacing:-.03em;margin:0 0 12px;word-break:keep-all}.topic-card p{font-size:14px;line-height:1.9;margin:0;color:#63705e}.topic-card-arrow{position:absolute;bottom:15px;right:22px;font-size:24px}
.topic-small-action{display:flex;gap:25px;padding:30px 34px;background:#edf0e3;border-radius:14px;margin:0 0 50px}.topic-small-action>span{font:40px Georgia,serif;color:#7b8a66}.topic-small-action h2,.topic-takeaway h2{font-size:20px;margin:0 0 12px}.topic-small-action p,.topic-takeaway p{line-height:1.9;margin:0}
.topic-article-header{display:block;min-height:0;padding:0;border:0}.topic-article-header h1{font:400 clamp(29px,4vw,43px)/1.4 Georgia,'Batang',serif;letter-spacing:-.04em;word-break:keep-all;margin:16px 0}.topic-article-header>p{line-height:1.9}
.topic-article-photo{margin:24px 0 38px}.topic-article-photo img{display:block;width:100%;height:330px;object-fit:cover;object-position:center 45%;border-radius:13px}
.topic-diagram{margin:28px 0 38px}.topic-diagram svg{width:100%;height:auto;display:block}.topic-diagram figcaption{color:#697461;font-size:13px;line-height:1.8;margin:12px 0}
.topic-table-scroll{overflow-x:auto;border:1px solid #d9dfcf;border-radius:9px;max-width:100%}.topic-example table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:14px}.topic-example caption{padding:14px;text-align:left;background:#edf0e4;font-size:13px}.topic-example th,.topic-example td{padding:15px 12px;vertical-align:top;text-align:left;border-bottom:1px solid #e1e3d8;overflow-wrap:anywhere;line-height:1.8}.topic-example thead th{background:#f2f4eb}.topic-example th[scope=row]{font-weight:600}.topic-example th:first-child{width:24%}
.topic-takeaway{padding:26px 30px;background:#e9eddf;border-left:4px solid #82956c;margin:32px 0}.topic-takeaway li{padding:6px 0;line-height:1.8}.topic-takeaway ol{padding-left:22px}
.choice-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-hero .topic-hero-image img{object-position:72% center}.life-next{flex-wrap:wrap}.life-next a{min-height:44px;display:inline-flex;align-items:center;line-height:1.6}
@media(max-width:760px){.topic-hero{grid-template-columns:1fr;margin:22px 0 34px;min-height:0}.topic-hero-image{min-height:230px;grid-row:1}.topic-hero-image img{object-position:center 42%}.topic-hero-copy{padding:26px}.topic-hero h1{font-size:30px}.topic-cards,.choice-cards{grid-template-columns:1fr;gap:20px}.topic-card-image{aspect-ratio:1.9}.topic-card h2{font-size:22px}.topic-small-action{padding:24px 20px;gap:15px}.topic-small-action>span{font-size:30px}.topic-takeaway{padding:22px 18px}.topic-example th,.topic-example td{padding:10px 7px;font-size:13px}.topic-example table{table-layout:auto}.topic-article-photo img{height:240px}.topic-diagram{margin:24px 0}.choice-hero .topic-hero-image img{object-position:center}}
.life-kicker{display:block;color:#76624c;font-size:11px;font-weight:700;letter-spacing:.12em;margin:0 0 14px}
.life-intro h1{font:clamp(32px,4vw,52px)/1.3 Georgia,'Batang',serif;letter-spacing:-1.5px;margin:0 0 16px;color:#283c2d}
.life-intro>p:last-child{font-size:16px;line-height:1.9;color:#65705d;margin:0}
.life-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0 0 24px}
.life-block{display:flex;flex-direction:column;min-width:0;background:#fffdf7;border:1px solid #e0dccf;border-radius:20px;overflow:hidden;color:#293c30;text-decoration:none;transition:transform .18s,border-color .18s}
.life-block:hover{transform:translateY(-4px);border-color:#9aab87}
.life-block:focus-visible,.life-story:focus-visible{outline:3px solid #718154;outline-offset:5px}
.life-art{position:relative;min-width:0;overflow:hidden;background:#ece5d9}
.life-art svg{display:block;width:100%;height:100%;max-height:260px}
.life-block>.life-art{height:215px}
.life-block.living>.life-art,.life-art.living{background:#e7ecdf}
.life-food-photo{width:100%;height:100%;object-fit:cover;object-position:center 52%;display:block}
.life-friends{position:absolute;right:8px;bottom:0;display:flex;align-items:end;background:#fffdf2;border-radius:40px 40px 0 0;padding:3px 6px 0}
.life-friends img{width:62px;height:70px;object-fit:contain;mix-blend-mode:multiply}
.life-block-copy{padding:23px 25px 25px;flex:1;display:flex;flex-direction:column;align-items:flex-start}
.life-syllable{font:700 13px/1.3 Georgia,serif;border-bottom:1px solid #b6ab96;padding-bottom:5px;margin-bottom:11px;color:#8a7052}
.life-block h2{font-size:26px;line-height:1.35;letter-spacing:-.7px;margin:0 0 12px}
.life-block p{font-size:14px;line-height:1.8;color:#66705f;margin:0 0 25px;max-width:48em}
.life-read{display:block;font-weight:650;font-size:13px;margin-top:auto;line-height:1.7}
.life-block.choice{grid-column:1/-1;display:grid;grid-template-columns:210px minmax(0,1fr);background:#eef1e3;border-color:#cbd4bb}
.life-block.choice>.life-art{height:210px;background:transparent}
.life-block.choice .life-block-copy{justify-content:center;padding:25px 30px}
.life-block.choice h2{font-size:29px}
.life-block.choice p{margin-bottom:14px}
.life-block.choice .life-read{margin-top:0}
.life-character-link{margin:20px 0;font-size:12px}
.life-character-link a{display:inline-flex;min-height:44px;align-items:center;text-underline-offset:4px}
.content-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:13px;margin:8px 0 20px;color:#596750}
.content-breadcrumb a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:4px}
.life-topic-head{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:30px;align-items:center;border-radius:20px;padding:25px 36px;margin:28px 0;background:#ece5d9}
.life-topic-head.living{background:#e7ecdf}
.life-topic-head h1{font:40px/1.3 Georgia,'Batang',serif;margin:0 0 16px;color:#2e402e}
.life-topic-head p{line-height:1.8;color:#5b6656}
.life-topic-head .life-art{background:transparent;height:190px}
.life-story{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:35px;text-decoration:none;color:#293c30;border:1px solid #d8dece;border-radius:18px;overflow:hidden;background:#fffdf7;margin:24px 0}
.life-story>div:last-child{padding:30px 30px 30px 0;align-self:center}
.life-story h2{font-size:27px;line-height:1.5;margin:0 0 15px}
.life-story p{font-size:15px;line-height:1.85;color:#626e5b}
.life-story .life-art{min-height:240px}
.life-next,.choice-crosslinks{display:flex;flex-wrap:wrap;gap:14px 24px;border-top:1px solid #d5ddc8;margin:30px 0;padding:24px 0}
.life-next h2,.life-next p,.choice-crosslinks h2{flex-basis:100%;margin:0;line-height:1.7}
.life-next h2,.choice-crosslinks h2{font-size:20px}
.life-next p{font-size:14px;color:#65705d}
.life-next a,.choice-crosslinks a{display:inline-flex;min-height:44px;align-items:center;text-underline-offset:4px}
.life-article{max-width:820px;margin:24px auto 50px;color:#344231;font-size:16px;line-height:2;overflow-wrap:anywhere}
.life-article>header{display:block!important;padding:0!important;border:0!important;height:auto!important}
.life-article h1{font:clamp(29px,3.2vw,43px)/1.45 Georgia,'Batang',serif;letter-spacing:-1px;margin:0 0 18px}
.life-byline{font-size:12px;color:#707666}
.life-article-art{height:240px;border-radius:16px;background:#eee4d7;overflow:hidden;margin:24px 0 35px}
.life-article-art.living{background:#e6eddd}
.life-article-art svg{display:block;width:100%;height:100%}
.life-article section{margin:32px 0}
.life-article h2{font-size:23px;line-height:1.6;margin:0 0 15px}
.life-article p{margin:0 0 18px}
.life-worksheet{padding:24px;border-radius:14px;background:#edf1e5}
.life-worksheet>p{font-size:13px}
.life-worksheet dl{margin:0}
.life-worksheet dl>div{display:grid;grid-template-columns:145px minmax(0,1fr);gap:20px;border-top:1px solid #ccd6bf;padding:16px 0}
.life-worksheet dt{font-weight:700}.life-worksheet dd{margin:0}
.life-sources{font-size:13px;border-top:1px solid #d4dcc7;padding-top:25px}
.life-sources a{overflow-wrap:anywhere;text-underline-offset:4px}
.life-archive{margin:36px 0}
@media(max-width:760px){.life-grid{grid-template-columns:1fr}.life-intro{padding:28px 0 25px}.life-block{display:grid;grid-template-columns:125px minmax(0,1fr)}.life-block>.life-art{height:100%;min-height:230px}.life-block-copy{padding:22px 20px}.life-block h2{font-size:23px}.life-block p{margin-bottom:18px}.life-block.choice{grid-template-columns:100px minmax(0,1fr)}.life-block.choice>.life-art{height:100%;min-height:230px}.life-block.choice .life-block-copy{padding:22px 18px}.life-block.choice h2{font-size:25px}.life-friends{right:0}.life-friends img{width:48px;height:65px}.life-topic-head{grid-template-columns:minmax(0,1fr) 130px;gap:10px;padding:24px 20px}.life-topic-head h1{font-size:30px}.life-topic-head .life-art{height:160px}.life-story{grid-template-columns:1fr;gap:0}.life-story .life-art{height:180px;min-height:0}.life-story>div:last-child{padding:24px}.life-story h2{font-size:23px}.life-article{font-size:15px}.life-article h2{font-size:21px}.life-worksheet{padding:18px}.life-worksheet dl>div{grid-template-columns:1fr;gap:5px}body:has(.life-intro,.life-topic-head,.life-article) .wrap{width:calc(100% - 32px)}}
@media(max-width:390px){.life-block{grid-template-columns:100px minmax(0,1fr)}.life-block.choice{grid-template-columns:75px minmax(0,1fr)}.life-block-copy{padding:20px 16px}.life-block h2{font-size:21px}.life-topic-head{grid-template-columns:1fr}.life-topic-head .life-art{height:130px}.life-intro h1{font-size:31px}}
@media(prefers-reduced-motion:reduce){.life-block{transition:none}.life-block:hover{transform:none}}

/* The front door presents four equally weighted rooms, without a feed. */
.life-intro{max-width:none;text-align:center;padding:34px 0}
.life-intro h1{font-size:clamp(29px,3.2vw,43px)}
.life-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:22px}
.life-block,.life-block.choice{grid-column:auto;display:grid;grid-template-columns:42% minmax(0,1fr);border-radius:16px;min-height:245px;background:#f0e6d9;border-color:#d2c0aa}
.life-block.food{background:#fff2df;border-color:#e1c8a1}
.life-block.living{background:#e5ecdf;border-color:#becbb4}
.life-block.choice{background:#e7eaf0;border-color:#c2cbd7}
.life-block>.life-art,.life-block.choice>.life-art{height:100%;min-height:245px;background:transparent}
.life-block-copy,.life-block.choice .life-block-copy{padding:28px 24px}
.life-block h2,.life-block.choice h2{font-size:26px}
.life-block .life-syllable{font-size:24px;border:0;margin-bottom:12px;padding:0}
.life-block.choice .life-kicker{font-size:11px;letter-spacing:0;line-height:1.6}
.life-block p{font-size:14px;margin-bottom:20px}
.life-block.choice p{max-width:24em}
.life-block .life-read{margin-top:auto}
@media(max-width:760px){
 .life-grid{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
 .life-intro{padding:24px 0}.life-intro>p:last-child{font-size:14px}
 .life-block,.life-block.choice{display:flex;flex-direction:column;min-height:0;border-radius:12px}
 .life-block>.life-art,.life-block.choice>.life-art{height:128px;min-height:128px}
 .life-block-copy,.life-block.choice .life-block-copy{padding:18px 14px;flex:1}
 .life-block h2,.life-block.choice h2{font-size:20px;letter-spacing:-.4px}
 .life-block .life-syllable{font-size:19px;margin-bottom:8px}
 .life-block p{font-size:12px;line-height:1.65;margin-bottom:14px}
 .life-block.choice .life-kicker{display:none}
 .life-friends img{width:38px;height:45px}
 .life-block.choice p{font-size:12px}
 .life-read{font-size:12px}
}
@media(max-width:390px){.life-block-copy,.life-block.choice .life-block-copy{padding:15px 11px}.life-block h2,.life-block.choice h2{font-size:18px}.life-block>.life-art,.life-block.choice>.life-art{height:110px;min-height:110px}.life-block p{display:none}.life-grid{gap:10px}.life-intro h1{font-size:28px}}

/* Image-led 3+1 entrance: the image and short label are the entire link. */
.visual-entry{padding:25px 0 0}
.visual-entry>h1{text-align:center;font:32px/1.4 Georgia,'Batang',serif;letter-spacing:.12em;color:#30402f;margin:0 0 25px}
.visual-entry .life-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto;gap:18px}
.visual-entry .life-block{position:relative;display:block;min-height:0;aspect-ratio:4/5;grid-column:auto;border:0;border-radius:10px;background:#e8e3d9}
.visual-entry .life-block>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.visual-entry .life-block::after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(13,24,16,.7));pointer-events:none}
.visual-entry .life-block h2{position:absolute;z-index:1;left:26px;right:20px;bottom:24px;margin:0;color:white;font-size:29px;line-height:1.4;letter-spacing:0;text-shadow:0 1px 3px #263020}
.visual-entry .life-block.choice{grid-column:1/-1;aspect-ratio:auto;height:170px;min-height:0}
.visual-entry .life-block.choice::after{inset:0;background:linear-gradient(90deg,rgba(249,245,232,.88),rgba(249,245,232,.1) 55%,transparent)}
.visual-entry .life-block.choice h2{color:#283c2d;text-shadow:none;bottom:50%;transform:translateY(50%);right:auto}
.visual-entry .life-block.food>img{object-position:center}
@media(max-width:760px){.visual-entry .life-grid{gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.visual-entry{padding-top:20px}.visual-entry>h1{font-size:25px;margin-bottom:20px}.visual-entry .life-block{aspect-ratio:3/5;border-radius:7px}.visual-entry .life-block h2{left:10px;right:7px;bottom:14px;font-size:19px}.visual-entry .life-block.choice{height:125px}.visual-entry .life-block.choice h2{font-size:22px;left:20px;max-width:60%}}
@media(max-width:390px){.visual-entry .life-grid{gap:8px}.visual-entry .life-block{aspect-ratio:1/2}.visual-entry .life-block h2{font-size:15px;left:8px;right:5px}.visual-entry .life-block.choice{height:110px}.visual-entry .life-block.choice h2{font-size:20px}}

/* Approved warm scenes: four real links and localized HTML titles. */
body:has(.mystic-entry){background:#fffcf5}
body:has(.mystic-entry) .wrap{width:min(1410px,calc(100% - 48px))}
.mystic-entry{padding-top:12px}
.mystic-entry>h1{font-size:clamp(25px,3.3vw,43px);font-weight:400;letter-spacing:.14em;margin-bottom:24px;color:#44462b}
.visual-entry.mystic-entry .life-grid{gap:14px}
.visual-entry.mystic-entry .life-block{aspect-ratio:469/652;border-radius:13px;background:#ede7d8;isolation:isolate;transition:none}
.visual-entry.mystic-entry .life-block:hover{transform:none}
.visual-entry.mystic-entry .life-block>img{position:absolute;max-width:none;object-fit:fill;pointer-events:none}
.visual-entry.mystic-entry canvas{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none}
.visual-entry.mystic-entry canvas[hidden]{display:none}
.visual-entry.mystic-entry .life-block::after{z-index:1;inset:72% 0 0;background:linear-gradient(transparent,#2e291b45)}
.visual-entry.mystic-entry .life-block h2{z-index:2;left:10px;right:10px;bottom:26px;text-align:center;font-family:Georgia,'Batang',serif;font-weight:400;font-size:clamp(17px,2.7vw,36px);text-shadow:0 2px 10px #403522}
.visual-entry.mystic-entry .life-block.choice{height:auto;aspect-ratio:1410/285}
.visual-entry.mystic-entry .life-block.choice::after{display:none}
.visual-entry.mystic-entry .life-block.choice h2{left:8%;right:auto;bottom:50%;max-width:38%;font-size:clamp(18px,2.9vw,39px);text-shadow:none;color:#414829}
.mystic-entry+.life-character-link{text-align:center;margin:18px 0 30px}
@media(max-width:760px){body:has(.mystic-entry) .wrap{width:calc(100% - 24px)}.visual-entry.mystic-entry .life-grid{gap:8px}.visual-entry.mystic-entry .life-block{border-radius:8px;aspect-ratio:469/720}.visual-entry.mystic-entry .life-block h2{left:5px;right:5px;bottom:12px;font-size:clamp(15px,3.5vw,24px);line-height:1.4}.visual-entry.mystic-entry .life-block.choice{aspect-ratio:1410/355}.visual-entry.mystic-entry .life-block.choice h2{left:5%;font-size:clamp(15px,3.8vw,25px);max-width:39%}.mystic-entry>h1{margin-bottom:16px}}

.topic-quick-links{display:flex;flex-wrap:wrap;gap:8px 16px;margin:18px 0 4px}.topic-quick-links a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:5px}.topic-quick-links a:focus-visible{outline:3px solid #647d55;outline-offset:3px}@media(max-width:760px){.topic-quick-links{gap:2px 13px}.topic-quick-links a{font-size:13px}}
@media(max-width:760px){.topic-hero:has(.topic-quick-links) .topic-hero-copy{grid-row:1}.topic-hero:has(.topic-quick-links) .topic-hero-image{grid-row:2}}
