/* Yuji Boku, SIL OFL 1.1; complete license preserved alongside source subset. */
@font-face{font-family:Yuji;src:url('/fonts/yuji-boku.7c4318c0.woff2') format('woff2');font-display:swap}
@font-face{font-family:Manrope;src:url('/fonts/manrope.a30ddcd3.woff2') format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:Libre;src:url('/fonts/libre-baskerville.22219fb9.woff2') format('woff2');font-weight:400 700;font-display:swap}
@media(max-width:480px){.saju-card>[data-action=skip]{position:absolute;left:12px;bottom:8px;margin:0}}
:root{color:#253E37;background:#F6F2E8;font:16px/1.65 Manrope,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}header{max-width:1020px;margin:auto;padding:24px;display:flex;justify-content:space-between;border-bottom:1px solid #c7c9bc}header a:first-child{font-family:Libre,serif;letter-spacing:.15em}a{color:inherit}main{max-width:680px;margin:0 auto;padding:32px 24px 130px}section{padding:32px 0;border-bottom:1px solid #c7c9bc}h1,h2{font:400 clamp(25px,4vw,34px)/1.4 Libre,serif;margin:16px 0}p{margin:14px 0}.eyebrow{font-size:13px;font-weight:700;letter-spacing:.07em}.birth,.caption{font-size:13px}.saju-card{position:relative;padding:26px 24px 28px;background:#faf8f0;border:1px solid #c7c9bc;border-radius:3px;min-height:425px}.pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:25px 0 16px}.pillar{position:relative;display:flex;align-items:center;flex-direction:column;padding:12px 3px;border:1.5px solid transparent;min-height:236px}.pillar.you{border-color:#253E37}.pillar-label{font-size:12px}.you-label{position:absolute;top:-15px;background:#faf8f0;padding:0 7px;font-size:12px}.hanja{font-family:Yuji,serif;font-size:64px;line-height:1.35;display:block;-webkit-text-stroke:.25px #253E37;animation:brush .2s both;animation-delay:calc(var(--order,0)*.2s);will-change:clip-path,filter}.romanized,.animal{font-size:11px}.wood{color:#4E7A48}.fire{color:#C0503A}.earth{color:#B08A3A}.metal{color:#8C8F8B}.water{color:#2E4A6A}.saju-card .seal{animation:stamp .34s both;animation-delay:1.58s}.saju-card.done .hanja{animation:none;clip-path:none;filter:none;opacity:1}.saju-card.done .seal{animation:none}.saju-card>[data-action=skip]{position:absolute;left:14px;bottom:10px;margin:0;background:none;border:0;padding:6px 8px;font:600 12px/1 Manrope,Arial,sans-serif;color:#5B645E;text-decoration:underline;cursor:pointer}.seal{font:23px/1 Yuji,serif;color:#F4EFE3;background:#B8432F;border:0;border-radius:6px;padding:9px 7px 7px;position:absolute;right:16px;bottom:20px;transform:rotate(-4deg);box-shadow:0 4px 10px rgba(60,45,20,.22)}.caption{padding-right:70px}.missing{font:64px/2 Yuji,serif}.pillar a{font-size:11px;text-align:center}.nature img,.public-nature img{display:block;width:240px;height:240px;margin:0 auto;object-fit:contain}.elements{display:grid;gap:12px}.element{display:grid;grid-template-columns:64px 1fr 20px;gap:14px;align-items:center;font-size:14px}.track{height:10px;background:#e4e1d5;border-radius:2px;overflow:hidden}.track span{display:block;height:100%}.wood-bar{background:#4E7A48}.fire-bar{background:#C0503A}.earth-bar{background:#B08A3A}.metal-bar{background:#8C8F8B}.water-bar{background:#2E4A6A}.season-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:25px 0}.season-strip>div{font-size:12px;padding:8px 0;opacity:.72}.season-strip>div[aria-current]{opacity:1;font-weight:700}.season-strip span{display:block;height:5px;margin-bottom:10px}.season-strip small{display:block}.annual{border-top:1px solid #c7c9bc;margin-top:26px;padding-top:10px;font-size:14px}.locked{font-style:italic}blockquote{border-left:2px solid #253E37;margin:0;padding-left:20px}button,.button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;font:600 14px/1.3 Manrope,sans-serif;background:#253E37;color:#F6F2E8;border:1px solid #253E37;border-radius:3px;padding:12px 17px;margin:6px 8px 6px 0;text-decoration:none;cursor:pointer}.paid{background:#B8432F;border-color:#B8432F}button:disabled{opacity:.5;cursor:wait}:focus-visible{outline:3px solid #2E4A6A;outline-offset:4px}[hidden]{display:none!important}footer{font-size:12px;padding-top:25px}footer a{display:inline-flex;min-height:44px;align-items:center}#sticky{position:fixed;bottom:0;left:0;right:0;background:#F6F2E8;border-top:1px solid #c7c9bc;padding:8px 18px calc(8px + env(safe-area-inset-bottom));text-align:center;z-index:10}.public-nature{text-align:center}.public-nature p{text-align:left}.public-nature .hanja{display:inline-block;font-size:70px}.done .hanja{animation:none}@keyframes reveal{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes brush{0%{clip-path:inset(0 0 100% 0);filter:blur(2.2px);opacity:.9}70%{filter:blur(.5px);opacity:1}100%{clip-path:inset(0 0 0 0);filter:none;opacity:1}}@keyframes stamp{0%{opacity:0;transform:rotate(-16deg) scale(1.75)}55%{opacity:1}100%{opacity:1;transform:rotate(-4deg) scale(1)}}dialog#card-inapp-dialog{max-width:420px;border:1px solid #c7c9bc;border-radius:4px;padding:24px;background:#faf8f0;color:#253E37}dialog#card-inapp-dialog::backdrop{background:rgba(22,36,32,.62)}dialog#card-inapp-dialog small{display:block;margin-top:12px}@media(max-width:480px){main{padding:24px 16px 120px}.saju-card{padding:20px 12px 62px;min-height:0}.pillars{gap:4px}.pillar{padding:14px 0}.hanja{font-size:60px}.birth{font-size:12px}.romanized{font-size:10px}.seal{font-size:20px;right:12px;bottom:16px}}@media(min-width:1000px){main{max-width:1040px;display:grid;grid-template-columns:340px minmax(0,1fr);gap:40px;align-items:start;padding:36px 24px 64px}.saju-card{grid-column:1;grid-row:1;position:sticky;top:24px}main>section:not(.saju-card),main>footer{grid-column:2}#sticky{display:none}}@media(prefers-reduced-motion:reduce){.hanja{animation:none;clip-path:none;filter:none}.saju-card .seal{animation:none}}

#life-theme .life-status{color:#6f6a5e;font-style:italic;margin:0 0 6px}
#life-theme .life-skeleton{display:grid;gap:10px;margin:12px 0 4px}
#life-theme .life-skeleton i{display:block;height:10px;border-radius:5px;background:linear-gradient(90deg,#ebe4d4,#f6f2e8,#ebe4d4);background-size:200% 100%;animation:life-pulse 1.6s ease-in-out infinite}
#life-theme .life-skeleton i:nth-child(2){width:88%}
#life-theme .life-skeleton i:nth-child(3){width:72%}
@keyframes life-pulse{0%{background-position:100% 0}100%{background-position:-100% 0}}
#life-theme .life-prose p{margin:0 0 16px;line-height:1.75}
#life-theme .life-offer{margin-top:22px;padding-top:18px;border-top:1px solid #e1d9c6}
@media(prefers-reduced-motion:reduce){#life-theme .life-skeleton i{animation:none}}
#more .more-list{margin:0 0 20px;padding-left:18px}
#more .more-list li{margin:0 0 10px;line-height:1.6}
#more .more-list b{font-weight:600}
#more .hook-list{list-style:none;margin:4px 0 22px;padding:0}
#more .hook-list li{display:grid;gap:3px;padding:12px 0;border-top:1px solid #e1d9c6;line-height:1.55}
#more .hook-list li:first-child{border-top:0;padding-top:4px}
#more .hook-fact{font:400 17px/1.45 Libre,serif;color:#1f2a26}
#more .hook-next{font-size:14px;color:#4c5a55}
#more .hook-next b{font-weight:600;color:#253E37}
#more .hook-next i{display:inline-block;font:600 10px/1 Manrope,sans-serif;font-style:normal;letter-spacing:.08em;text-transform:uppercase;color:#B8432F;border:1px solid #d9b3aa;border-radius:2px;padding:3px 5px;margin-left:6px;vertical-align:1px}
#more .hook-actions{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px}
#more .hook-actions .paid{font-size:15px;padding:13px 20px}
#more button.link{background:none;border:0;color:#253E37;font-weight:600;text-decoration:underline;text-underline-offset:3px;padding:8px 0;margin:0}
#more .hook-note{font-size:12.5px;line-height:1.6;color:#6f6a5e;margin:10px 0 0}
#more .hook-note span{color:#B8432F;font-weight:600}
/* nature pages, the natures index and the not-found page: one column, a page not a paragraph */
body[data-page=nature] main{display:block;max-width:820px}
.public-nature .eyebrow{margin:14px 0 0}
.public-nature h1 .hanja{font-size:1.2em;vertical-align:-2px}
.natures-intro img{display:none}
/* sections already draw their own bottom rule */
.nature-offer,.nature-list{text-align:left}
.nature-offer h2,.nature-list h2{margin:8px 0 12px}
.nature-offer ul{margin:0 0 16px;padding-left:20px;line-height:1.7}
.nature-offer .button{margin-left:0}
.nature-offer .small{font-size:12.5px;color:#6f6a5e;margin:6px 0 0}
.nature-list ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.nature-list li a{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:center;min-height:88px;padding:10px 12px;border:1px solid #e1d9c6;border-radius:3px;text-decoration:none;color:inherit;background:#fbf8f0}
.nature-list li a:hover{border-color:#b7a16e}
.nature-list li img{width:64px;height:64px;object-fit:contain;margin:0}
.nature-list li b{display:block;font:600 15px/1.3 Manrope,sans-serif;margin-bottom:3px}
.nature-list li b .hanja{font-size:19px;margin-right:2px}
.nature-list li .tag{display:block;font-size:13px;line-height:1.4;color:#4c5a55}
.notfound .button{margin:8px 8px 0 0}
/* the life theme being written: seen in the section, and from anywhere on the page — 2026-09-22 (R11) */
#life-theme .life-writing{padding:18px 18px 16px;border:1px solid #dcc6b6;border-left:4px solid #B8432F;border-radius:4px;background:#fbf5ee}
#life-theme .life-writing-title{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 6px;font:600 16px/1.4 Manrope,sans-serif;color:#1f2a26}
#life-theme .life-writing-title .life-elapsed{font-weight:400;color:#6f6a5e;font-variant-numeric:tabular-nums}
#life-theme .life-writing-note{margin:0 0 14px;font-size:14px;line-height:1.55;color:#4c5a55}
#life-theme .life-writing .life-skeleton{margin:0}
.life-dots{display:inline-flex;gap:4px;align-items:center}
.life-dots i{display:block;width:7px;height:7px;border-radius:50%;background:#B8432F;animation:life-dot 1.2s infinite ease-in-out}
.life-dots i:nth-child(2){animation-delay:.2s}
.life-dots i:nth-child(3){animation-delay:.4s}
@keyframes life-dot{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
#life-notice{position:fixed;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 12px;padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top));background:#253E37;color:#F6F2E8;font:600 14px/1.3 Manrope,sans-serif;box-shadow:0 2px 8px rgba(0,0,0,.18)}
#life-notice[hidden]{display:none}
#life-notice .life-elapsed{font-weight:400;opacity:.8;font-variant-numeric:tabular-nums}
#life-notice .life-elapsed[hidden]{display:none}
#life-notice a{color:#F6F2E8;text-decoration:underline;text-underline-offset:3px;font-weight:600;min-height:32px;display:inline-flex;align-items:center}
#life-notice .life-dots i{background:#F6F2E8}
#life-notice[data-state=ready]{background:#B8432F}
#life-notice[data-state=ready] .life-dots{display:none}
@media(prefers-reduced-motion:reduce){.life-dots i{animation:none;opacity:.85}}
/* R27: three filled slots, and the glance under the strip */
.season-strip .season-empty{opacity:.45;font-style:italic}
.season-strip .season-before span{opacity:.5}
.season-body{margin:0 0 6px}
.season-glance-title{font-size:12px;font-weight:700;letter-spacing:.07em;color:#6f6a5e;margin:0 0 6px}
.season-glance{margin:0 0 12px;line-height:1.75}
.season-writing{padding:12px 14px 12px}
.season-writing .life-writing-title{font-size:14px;margin:0 0 8px}
/* R30: the coupon on its own line; the assumed-birthplace note */
#hook-coupon{display:block;margin-top:4px}
.birth-note{font-size:12px;line-height:1.5;color:#6f6a5e;font-style:italic;margin:4px 0 0}
/* R32: the nature lead, the elements intro, the share row above the offer */
.nature-lead{font-size:13px;line-height:1.5;color:#6f6a5e;margin:0 0 10px}
.element-intro{font-size:14px;line-height:1.6;color:#4c5a55;margin:0 0 14px}
.hook-share{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0 0 14px;padding:12px 14px;border:1px solid #dcc6b6;border-radius:4px;background:#fbf5ee}
.hook-share span{font-size:13px;line-height:1.5;color:#4c5a55}
/* R33-a: the share window */
#card-share-dialog{max-width:440px;width:calc(100% - 32px);border:1px solid #c7c9bc;border-radius:4px;padding:20px;background:#faf8f0;color:#253E37}
#card-share-dialog::backdrop{background:rgba(22,36,32,.62)}
#card-share-dialog h2{margin:0 0 12px;font-size:20px}
#card-share-dialog img{display:block;width:100%;max-height:52vh;object-fit:contain;border:1px solid #e1d9c6;background:#F6F2E8;margin:0 0 12px}
#card-share-dialog .share-actions{display:flex;flex-wrap:wrap;gap:8px}
#card-share-dialog .share-note{font-size:13px;line-height:1.5;color:#6f6a5e;margin:12px 0}
#card-share-dialog .link{background:none;border:0;color:#253E37;text-decoration:underline;padding:0;cursor:pointer;font:inherit}
/* R33-b: this week on the card; the share window */
#week h2{margin:6px 0 10px}
.week-lead{margin:0 0 12px;line-height:1.6}
.week-button{margin:0 0 8px}
.week-headline{font:700 20px/1.35 "Libre Baskerville",Georgia,serif;margin:0 0 10px;color:#1e2a26}
.week-text{margin:0 0 12px;line-height:1.75}
.week-note{font-size:13px;color:#6f6a5e;margin:0}
.week-writing{margin:0 0 8px}
#card-share-dialog .share-sub{margin:-6px 0 12px;font-size:14px;color:#4c5a55}
#card-share-dialog .share-format{display:flex;gap:6px;margin:0 0 10px}
#card-share-dialog .share-format button{font-size:13px;padding:6px 10px;background:#f1ebdd;color:#253E37;border:1px solid #c7c9bc}
#card-share-dialog .share-format button[aria-pressed=true]{background:#253E37;color:#F6F2E8}
#card-share-dialog img{max-height:56vh}
#card-share-dialog img.story{width:auto;max-width:100%;margin-left:auto;margin-right:auto}
#card-share-dialog .share-apps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
#card-share-dialog .share-app{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;background:#f1ebdd;color:#253E37;border:1px solid #c7c9bc;border-radius:6px;font-size:12px;line-height:1.2}
#card-share-dialog .share-app svg{width:26px;height:26px}
#card-share-dialog .share-app:hover{background:#e6dfcc}
@media(max-width:480px){#card-share-dialog{padding:16px}#card-share-dialog img{max-height:36vh}#card-share-dialog .share-apps{gap:6px}}
/* R34: the share row with the apps */
.hook-share{display:block}
.hook-share-lead{margin:0 0 8px;font:700 15px/1.4 Manrope,sans-serif;color:#1e2a26}
.hook-share .share-format{display:flex;gap:6px;margin:0 0 10px}
.hook-share .share-format button{font-size:12px;padding:5px 10px;background:#f1ebdd;color:#253E37;border:1px solid #c7c9bc}
.hook-share .share-format button[aria-pressed=true]{background:#253E37;color:#F6F2E8}
.hook-share .share-apps{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
.hook-share .share-app{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;background:#f1ebdd;color:#253E37;border:1px solid #c7c9bc;border-radius:6px;font-size:12px;line-height:1.2;cursor:pointer}
.hook-share .share-app svg{width:26px;height:26px}
.hook-share .share-app:hover{background:#e6dfcc}
.hook-share .share-note{font-size:13px;line-height:1.5;color:#4c5a55;margin:8px 0 0;min-height:0}
.hook-share .share-note:empty{display:none}
