/* LXGW WenKai v1.530, page and quote subset; license: LXGWWenKai-OFL.txt. */
@font-face{font-family:'LXGW WenKai';src:url('wenkai-reading-e3ac65262c8f.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}

:root{--paper:#f8f1e7;--ink:#54434e;--muted:#8a7d7b;--rose:#b98081;--violet:#6c5875;--line:#e7d9ce;--beige:#fffaf2;--warm:#edceae;font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #9f8098;outline-offset:3px}button{border:0}a{color:inherit}.sr-only{position:absolute;height:1px;width:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-orb{position:fixed;width:400px;height:400px;pointer-events:none;filter:blur(95px);z-index:-1;opacity:.3}.orb-one{left:-190px;top:100px;background:#f3b9b2}.orb-two{right:-210px;top:400px;background:#c5b7d9}.site-wrap{max-width:1130px;margin:0 auto;padding:0 34px}.site-header{height:104px;display:flex;align-items:center;justify-content:space-between}.logo{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-weight:700;letter-spacing:.05em;font-size:22px;line-height:1}.logo-symbol{width:41px;height:41px;display:grid;place-items:center;color:#9b7d93}.logo-symbol svg{width:36px;height:36px}.logo-dot{color:#dc9a84}.logo small{display:block;font-size:10px;font-weight:500;color:#af9c99;letter-spacing:.12em;margin-top:6px}.dim-switch{display:flex;align-items:center;gap:10px;background:#fffaf4;color:#8a7083;padding:11px 16px;border:1px solid #eee1d8;border-radius:30px;font-size:12px;box-shadow:0 5px 25px rgba(121,89,93,.04);transition:transform .2s,background .2s}.dim-switch:hover{transform:translateY(-2px)}.switch-star{font-size:17px;color:#c7a17d}
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:492px;border-radius:29px;overflow:hidden;background:linear-gradient(122deg,#fffaf2,#f8e5db 58%,#ded0d7);position:relative;box-shadow:0 22px 65px rgba(114,88,95,.09)}.hero-copy{padding:61px 0 44px 66px;position:relative;z-index:2}.eyebrow,.overline{color:#b88b88;font-size:11px;font-weight:700;letter-spacing:.18em}.eyebrow-star{font-size:17px;vertical-align:-1px;color:#c5a1ac;margin-right:7px}.hero h1{margin:30px 0 22px;font-size:clamp(46px,5vw,67px);font-weight:400;line-height:1.31;letter-spacing:.04em;font-family:'LXGW WenKai','Kaiti SC',STKaiti,serif;color:#5c4958}.hero h1 span{color:#b88282}.hero-lede{max-width:344px;font-size:14px;line-height:2.15;color:#857578;margin:0}.time-ribbon{width:min(100%,380px);margin-top:38px;display:flex;align-items:center;gap:14px}.time-part{display:flex;flex-direction:column;flex:none;gap:6px}.time-part b{font-family:Georgia,serif;font-size:25px;font-weight:400;letter-spacing:.02em;color:#684f63}.time-part span{font-size:10px;white-space:nowrap;color:#9a7e7b;letter-spacing:.03em}.time-part.end{text-align:right}.time-trail{height:2px;flex:1;min-width:60px;display:flex;justify-content:space-evenly;align-items:center}.time-trail i{width:4px;height:4px;background:#d4b3ac;border-radius:50%}.time-trail span{font-size:17px;color:#b38b89}.time-footnote{font-size:10px;color:#af9992;margin-top:12px}.scene-wrap{position:relative;display:flex;align-items:center;justify-content:center;align-self:stretch;isolation:isolate}.scene-wrap:before{content:'';position:absolute;inset:10% 4% 8% -7%;background:radial-gradient(ellipse,#fdf1dd 0%,#f6dccb66 45%,transparent 75%);z-index:-1}.night-scene{width:114%;max-width:565px;transform:translate(-5px,7px);overflow:visible}.scene-caption{position:absolute;bottom:31px;right:43px;font-size:11px;color:#947c86;letter-spacing:.06em}.scene-caption span{color:#cfad87;margin-right:5px}.twinkle{animation:twinkle 5s ease-in-out infinite}.zletters{animation:float 4s ease-in-out infinite}.sleepy-cat{transform-origin:273px 340px;animation:sleep 4s ease-in-out infinite}.lamp-light{transition:opacity .5s}
.section-head{margin:94px 0 26px;display:flex;justify-content:space-between;align-items:end;gap:35px}.section-head h2,.worry-section h2,.bed-copy h2{font-family:'LXGW WenKai','Kaiti SC',STKaiti,serif;font-weight:400;letter-spacing:.02em;font-size:clamp(24px,2.8vw,33px);line-height:1.5;margin:13px 0 0}.section-head p{margin:0 0 7px;font-size:12px;color:#a18b88;line-height:1.8}.ritual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ritual-card{border-radius:23px;overflow:hidden;min-height:360px;border:1px solid #e9dacf;transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column}.ritual-card:hover{transform:translateY(-5px);box-shadow:0 15px 35px rgba(111,78,81,.08)}.card-light{background:#fcf0e0}.card-bath{background:#f5e7df}.card-thought{background:#e9eadd}.card-book{background:#e8e1ef}.card-visual{height:162px;display:flex;justify-content:center;align-items:center}.card-visual svg{height:142px;width:205px;transition:transform .25s}.ritual-card:hover .card-visual svg{transform:rotate(-3deg) translateY(-4px)}.card-text{background:#fffaf6b3;border-radius:22px 22px 0 0;flex:1;padding:23px 25px 24px}.card-label{font-size:10px;font-weight:700;color:#bc9085;letter-spacing:.1em}.card-text h3{font-family:'LXGW WenKai','Kaiti SC',STKaiti,serif;font-size:20px;font-weight:400;line-height:1.5;margin:11px 0 11px;color:#594755}.card-text p{font-size:12px;line-height:2;color:#8f7d7d;margin:0;min-height:47px}.more-link{font-size:11px;color:#ac7a80;margin-top:20px;background:transparent;padding:4px 0;border-bottom:1px solid #d4acaa}.more-link span{margin-left:9px;font-size:14px}.card-detail{font-size:12px;color:#816c74;line-height:2;margin-top:17px;padding-top:14px;border-top:1px solid #eaded9}.ritual-card:has(.card-detail:not([hidden])){box-shadow:0 13px 30px rgba(111,78,81,.06)}
.worry-section{margin-top:100px;border-radius:27px;background:#eee3e6;min-height:325px;display:grid;grid-template-columns:36% 64%;position:relative;overflow:hidden}.worry-art{position:relative;display:flex;justify-content:center;align-items:center}.worry-art:before{content:'';position:absolute;width:170px;height:170px;border-radius:50%;background:#e2cdd5;box-shadow:0 0 0 29px #f1e7e94d}.worry-letter{position:relative;font-size:100px;color:#fff9ed;text-shadow:0 8px 0 #d5b8b7,0 20px 25px #9c7f8b30;transform:rotate(-11deg);animation:float 4.5s ease-in-out infinite}.paper-star{position:absolute;top:66px;left:20%;font-size:27px;color:#ba9bad}.worry-sparkle{position:absolute;bottom:48px;right:16%;font-size:33px;color:#c69aa2}.worry-content{padding:44px 70px 35px 0}.worry-section h2{margin-top:9px}.worry-section h2 em{font-style:normal;color:#b78192}.worry-section p{font-size:12px;color:#9b868c;line-height:2;margin:10px 0 19px}.worry-form{display:flex;gap:8px}.worry-form input{background:#fffaf8;border:1px solid #ead6db;padding:13px 15px;border-radius:13px;min-width:0;flex:1;color:#685461;font-size:16px}.worry-form input::placeholder{color:#b8a4a8}.worry-form button{background:#795e73;color:#fff9f0;border-radius:12px;white-space:nowrap;padding:12px 16px;font-size:12px}.worry-form button:hover{background:#6b5166}.worry-message{min-height:21px;margin-top:8px;font-size:12px;color:#92728a}.privacy-hint{font-size:10px;color:#b19da5;margin-top:5px}
.bed-section{margin-top:95px;display:grid;grid-template-columns:250px 1fr;column-gap:38px;align-items:center;padding:20px 7% 25px;background:#fcf7ef;border-radius:26px;border:1px solid #f1e8dc}.bed-graphic{width:220px;height:220px;border-radius:50%;background:#efe3dd;display:grid;place-items:center}.bed-graphic svg{width:180px}.bed-copy h2{margin:8px 0 13px}.bed-copy p{font-size:13px;line-height:2.05;color:#8d7a79;max-width:550px;margin:0}.bed-toggle{font-size:12px;color:#9c7380;background:transparent;padding:9px 0;border-bottom:1px solid #ccabb1;margin-top:16px}.bed-toggle span{font-size:17px;margin-left:12px}.bed-extra{max-width:560px;border-left:2px solid #d4b1b8;padding:5px 0 5px 15px;color:#8b747d;font-size:12px;line-height:2;margin-top:19px}
.goodnight-section{margin:90px auto 70px;text-align:center;max-width:700px;position:relative}.small-spark{font-size:25px;color:#cfa98d}.goodnight-section p{font-family:'Noto Serif SC',STSong,serif;font-size:clamp(20px,3vw,29px);font-weight:400;line-height:1.85;letter-spacing:.04em;margin:14px 0 18px;color:#9a7c89;transition:opacity .2s}.goodnight-section button{background:transparent;border-bottom:1px solid #d9bbc0;color:#b48d91;font-size:12px;padding:7px}.goodnight-section button span{font-size:17px;margin-left:7px}.footer{border-top:1px solid #e5d8cf;padding:37px 8px 34px;color:#a49191}.footer>div:first-child{font-size:12px}.footer strong{color:#7f6572;font-size:15px}.footer>div:first-child span{margin-left:8px}.footer>p{font-size:12px;line-height:2;margin:17px 0 8px}.evidence-toggle{background:transparent;font-size:11px;color:#967b86;text-decoration:underline;padding:10px 0}.evidence-content{background:#fffaf4;border-radius:15px;padding:4px 17px;margin-top:8px;font-size:12px;line-height:2.1;color:#806f77}.evidence-content a{color:#936a81}.footer-bottom{padding-top:30px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.12em;color:#bba6a4}
body.dimmed{--paper:#27233a;--ink:#f9e6dc;--muted:#bbabbf;--line:#67566a;background:#292338}body.dimmed .site-wrap{color:#eadcd8}body.dimmed .site-header .dim-switch{background:#55465d;color:#f3d9d0;border-color:#706176}body.dimmed .logo{color:#f5dace}body.dimmed .hero{background:linear-gradient(122deg,#42334b,#56465e 60%,#6b566a)}body.dimmed .hero h1{color:#f7e8df}body.dimmed .hero-lede,body.dimmed .time-footnote,body.dimmed .time-part span{color:#d3bec8}body.dimmed .time-part b{color:#f0d6d5}body.dimmed .section-head h2,body.dimmed .bed-copy h2{color:#f4ddd7}body.dimmed .section-head p,body.dimmed .footer p{color:#bbacb9}body.dimmed .ritual-card{border-color:#67566a}body.dimmed .card-text{background:#43364b}body.dimmed .card-text h3{color:#f1dfd6}body.dimmed .card-text p,body.dimmed .card-detail{color:#d0b7c5}body.dimmed .card-light{background:#73566c}body.dimmed .card-bath{background:#755466}body.dimmed .card-thought{background:#626278}body.dimmed .card-book{background:#615374}body.dimmed .worry-section{background:#514259}body.dimmed .worry-section p,body.dimmed .privacy-hint{color:#d1becb}body.dimmed .worry-form input{background:#68596d;color:#fff;border-color:#837184}body.dimmed .worry-form input::placeholder{color:#d2bfcc}body.dimmed .bed-section{background:#41384d;border-color:#67556b}body.dimmed .bed-graphic{background:#67546d}body.dimmed .bed-copy p,body.dimmed .bed-extra{color:#dcc4d0}body.dimmed .footer{border-color:#62536d}body.dimmed .evidence-content{background:#3f344b;color:#e6cedc}body.dimmed .goodnight-section p{color:#e4bfce}body.dimmed .lamp-light{opacity:.22}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes twinkle{0%,100%{opacity:1}50%{opacity:.45}}@keyframes sleep{0%,100%{transform:scale(1)}50%{transform:scale(1.015,.99)}}
@media(max-width:950px){.site-wrap{padding:0 24px}.hero-copy{padding-left:35px;padding-top:49px}.hero h1{font-size:48px}.scene-wrap .night-scene{width:120%}.worry-content{padding-right:28px}.bed-section{grid-template-columns:200px 1fr;column-gap:20px;padding:18px 4%}.bed-graphic{width:180px;height:180px}.bed-graphic svg{width:160px}.card-text{padding:20px}.card-text h3{font-size:18px}}
@media(max-width:700px){.site-wrap{padding:0 16px}.site-header{height:78px}.logo{font-size:19px}.logo-symbol{width:35px;height:35px}.logo-symbol svg{width:32px;height:32px}.dim-switch{padding:9px 12px;font-size:11px}.hero{display:flex;flex-direction:column;min-height:0;border-radius:23px}.hero-copy{padding:32px 25px 0}.hero h1{margin:23px 0 12px;font-size:47px;line-height:1.29}.hero-lede{font-size:12px;max-width:380px;line-height:2}.time-ribbon{margin-top:23px;max-width:340px}.time-footnote{font-size:10px}.scene-wrap{height:290px}.night-scene{width:100%!important;max-width:330px;transform:translateY(-15px)}.scene-caption{bottom:10px;right:20px;font-size:10px}.section-head{margin:62px 0 20px;display:block}.section-head h2{font-size:25px}.section-head p{margin-top:9px}.ritual-grid{grid-template-columns:1fr;gap:12px}.ritual-card{min-height:unset;flex-direction:row;align-items:stretch;border-radius:20px}.card-visual{width:125px;min-width:125px;height:auto;align-self:stretch}.card-visual svg{width:123px;height:130px}.card-text{padding:19px 17px 19px 4px;border-radius:0;background:transparent}.card-text h3{font-size:17px;margin:9px 0 7px}.card-text p{font-size:11px;min-height:auto;line-height:1.85}.more-link{margin-top:10px}.card-detail{font-size:11px;margin-top:10px}.worry-section{margin-top:68px;display:block;border-radius:23px}.worry-art{height:105px}.worry-art:before{width:95px;height:95px;box-shadow:0 0 0 16px #f1e7e94d}.worry-letter{font-size:65px}.paper-star{top:20px;left:30%}.worry-sparkle{bottom:13px;right:31%}.worry-content{padding:0 23px 27px}.worry-section h2{font-size:24px}.worry-form{flex-direction:column}.worry-form button{padding:12px 15px}.bed-section{margin-top:64px;display:block;padding:24px 23px}.bed-graphic{width:130px;height:130px;margin:0 auto 14px}.bed-graphic svg{width:130px}.bed-copy h2{font-size:24px}.bed-copy p{font-size:12px}.goodnight-section{margin:70px auto 54px}.goodnight-section p{font-size:21px}.footer{padding-top:26px}.footer>p{font-size:11px}.footer-bottom{padding-top:22px}}
@media(max-width:365px){.hero h1{font-size:42px}.time-part b{font-size:22px}.time-ribbon{gap:8px}.card-visual{width:103px;min-width:103px}.card-visual svg{width:106px}.card-text h3{font-size:15px}.card-label{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* 四个小仪式：桌面端两列，手机端沿用温柔的纵向书单样式。 */
@media (min-width:701px){.ritual-card{min-height:330px}.ritual-grid{align-items:stretch}}

/* v1.2 · quiet guided corner (optional, no scores, no enforced timing) */
.breath-invite{display:block;width:max-content;max-width:100%;margin-top:16px;padding:10px 13px;border-radius:50px;background:#ead8d6;color:#795b70;border:1px solid #ddc3c7;font-size:12px;line-height:1.5;transition:transform .2s,background .2s;text-align:left}
.breath-invite:hover{background:#e7cdd1;transform:translateY(-1px)}.breath-invite span{margin-left:7px}
.breath-overlay[hidden]{display:none}.breath-overlay{position:fixed;inset:0;z-index:50;background:#211c35cc;display:grid;place-items:center;padding:16px;overscroll-behavior:contain}
.breath-panel{position:relative;overflow:hidden;width:min(440px,100%);max-height:min(94svh,740px);overflow-y:auto;box-shadow:0 30px 80px #16102555;text-align:center;border:1px solid #a18a9e;border-radius:28px;padding:44px 24px 28px;background:radial-gradient(ellipse at 50% 55%,#736181,#483954 65%,#3b314d);color:#f6e9df}
.breath-panel h2{font-family:'LXGW WenKai','Kaiti SC',STKaiti,serif;font-size:clamp(22px,5.7vw,29px);line-height:1.5;font-weight:400;margin:17px 0 9px;color:#fff0e9}
.breath-panel p{font-size:12px;line-height:2;color:#e0cdd9}.breath-tiny{font-size:9px;letter-spacing:.18em;color:#d7b8be}.breath-close{position:absolute;top:15px;right:16px;width:40px;height:40px;border:1px solid #a18ba3;background:#ffffff12;color:#f4e2e8;border-radius:50%;font-size:15px}
.breath-stage{height:235px;display:grid;place-items:center;position:relative;isolation:isolate}.breath-halo{position:absolute;width:160px;height:160px;border-radius:50%;background:#f5ceab77;filter:blur(27px);animation:moonBreath 8s ease-in-out infinite alternate}.breath-moon{width:152px;height:152px;animation:moonBreath 8s ease-in-out infinite alternate;filter:drop-shadow(0 9px 18px #1b1429aa)}.breath-spark{position:absolute;color:#eed6c1}.b1{left:22%;top:32%;font-size:24px}.b2{right:21%;bottom:30%;font-size:12px}.breath-under{margin-top:0}.breath-end{border:1px solid #bca2ba;background:#f3e7eb;color:#69546d;border-radius:50px;padding:13px 23px;font-size:12px;margin-top:12px;min-height:44px}
body.breath-open{overflow:hidden}body.dimmed .breath-invite{background:#65536a;color:#eedbe7;border-color:#857188}
@keyframes moonBreath{from{transform:scale(.9)}to{transform:scale(1.08)}}
@media(max-width:700px){.breath-panel{padding:42px 18px 25px}.breath-stage{height:210px}.breath-moon{width:140px;height:140px}.more-link,.bed-toggle,.evidence-toggle,.goodnight-section button{min-height:42px;display:inline-flex;align-items:center}.worry-form button,.dim-switch{min-height:44px}}
@media(prefers-reduced-motion:reduce){.breath-moon,.breath-halo{animation:none}}

/* Non-modal iOS guide; no focus trap and no automatic install claim. */
.install-hint{position:fixed;z-index:40;left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);width:calc(100% - 32px);max-width:420px;padding:18px 18px 16px;background:#fffaf4;color:#685461;border:1px solid #e5d3d8;border-radius:22px;box-shadow:0 12px 42px #543b5730}
.install-hint[hidden],.install-hint [hidden]{display:none!important}.install-hint-heading{display:flex;gap:12px;align-items:center;padding-right:22px}.install-hint-heading img{border-radius:11px;flex:none}.install-hint h2{font-size:16px;font-weight:600;line-height:1.55;margin:0}.install-hint p{margin:4px 0 0;font-size:12px;line-height:1.85;color:#8d737f}.install-hint .install-hint-steps{margin-top:13px;padding-top:11px;border-top:1px solid #eddee0;font-size:12px}.install-hint-steps svg{display:inline-block;width:17px;height:20px;vertical-align:-5px;margin:0 3px}.install-hint-close{position:absolute;right:3px;top:3px;width:44px;height:44px;background:transparent;color:#8d737f;font-size:25px;line-height:1;border-radius:50%}.install-hint-close:hover{background:#f2e5e9}
body.dimmed .install-hint{background:#43364b;color:#f1dfd6;border-color:#827087}body.dimmed .install-hint p,body.dimmed .install-hint-close{color:#dbc4d2}body.dimmed .install-hint-steps{border-color:#736078}body.dimmed .install-hint-close:hover{background:#574360}body.breath-open .install-hint{display:none}
@media(display-mode:standalone){.site-wrap{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}.install-hint{display:none!important}}

/* A short, local acknowledgement; it never represents the network result. */
#pocketSubmit{position:relative;isolation:isolate;overflow:hidden;min-width:132px;min-height:44px;touch-action:manipulation}
.pocket-idle{display:inline-block}
.pocket-confirm{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:3px;opacity:0;pointer-events:none}
.pocket-confirm-label{opacity:0;white-space:nowrap}
.pocket-scene{display:block;width:68px;height:34px;overflow:visible;color:#f4d9b7}
.pocket-paper{transform-origin:17px 18px;opacity:0}
.pocket-moon{fill:#f7dfbd;transform-origin:59px 18px}
.pocket-glow{fill:#f5d7a8;opacity:0;transform-origin:59px 18px}
.pocket-sparkles{opacity:0}
#pocketSubmit.is-stowing{animation:pocket-press 2.4s ease-out both}
.is-stowing .pocket-idle{animation:pocket-label-out 2.4s ease both}
.is-stowing .pocket-confirm{animation:pocket-stage 2.4s ease both}
/* One uninterrupted transform curve; opacity changes never restart its easing. */
.is-stowing .pocket-paper{animation:pocket-flight 1.25s cubic-bezier(.4,0,.2,1) .12s both,pocket-paper-fade 1.25s linear .12s both}
.is-stowing .pocket-moon{animation:pocket-receive 2.4s ease-in-out both}
.is-stowing .pocket-glow{animation:pocket-glow 2.4s ease-out both}
.is-stowing .pocket-sparkles{animation:pocket-stars 2.4s ease-out both}
.is-stowing .pocket-confirm-label{animation:pocket-confirm-label 2.4s ease both}
@keyframes pocket-press{0%,15%,100%{transform:scale(1)}5%{transform:scale(.985)}}
@keyframes pocket-label-out{0%,100%{opacity:1}8%,82%{opacity:0}}
@keyframes pocket-stage{0%,100%{opacity:0}10%,82%{opacity:1}}
@keyframes pocket-flight{from{transform:translate(-5px,3px) rotate(-8deg) scale(1)}to{transform:translate(41px,0) rotate(8deg) scale(.12)}}
@keyframes pocket-paper-fade{0%,100%{opacity:0}12%,72%{opacity:1}}
@keyframes pocket-receive{0%,40%,80%,100%{transform:scale(1)}56%{transform:scale(1.035)}}
@keyframes pocket-glow{0%,40%,100%{opacity:0;transform:scale(.8)}56%{opacity:.18;transform:scale(1)}80%{opacity:0;transform:scale(1.12)}}
@keyframes pocket-stars{0%,44%,80%,100%{opacity:0}59%{opacity:.45}}
@keyframes pocket-confirm-label{0%,40%,100%{opacity:0;transform:translateY(2px)}54%,82%{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){
  #pocketSubmit.is-stowing,.is-stowing .pocket-idle,.is-stowing .pocket-moon,.is-stowing .pocket-confirm-label{animation:none!important;transform:none}
  .is-stowing .pocket-idle{opacity:0}
  .is-stowing .pocket-confirm{animation:pocket-soft-in .16s ease-out both!important}
  .is-stowing .pocket-confirm-label{opacity:1}
  .is-stowing .pocket-paper,.is-stowing .pocket-glow,.is-stowing .pocket-sparkles{display:none}
  @keyframes pocket-soft-in{from{opacity:0}to{opacity:1}}
}

/* Keep keyboard positioning free from the page-wide smooth-scroll animation. */
html.pocket-editing{scroll-behavior:auto!important}
html.pocket-editing .install-hint{display:none}

/* Vector decorations keep their color and shape across iOS emoji fonts. */
.fixed-icon{display:inline-block;flex:none;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
.eyebrow-star.fixed-icon{width:17px;height:17px;vertical-align:-3px}
.footer-star.fixed-icon{width:14px;height:14px;vertical-align:-2px}
.worry-letter.fixed-icon{width:92px;height:76px;stroke-width:1.4;filter:drop-shadow(0 6px 0 #d5b8b7) drop-shadow(0 15px 14px #9c7f8b30)}
@media(max-width:700px){.worry-letter.fixed-icon{width:58px;height:48px}}

/* Typography A: WenKai headings and quotations, clear system sans for reading. */
:root{--muted:#75626b}
.hero-lede,.card-text p,.card-detail,.worry-section p,.bed-copy p,.bed-extra,.evidence-content{font-size:16px;line-height:1.85;color:#6e5964}
.hero-lede{max-width:375px}
.eyebrow,.overline,.card-label{font-size:14px;letter-spacing:.04em;color:#806571}
.dim-switch,.logo small,.time-part span,.time-footnote,.scene-caption,.section-head p,.worry-message,.privacy-hint,.footer>div:first-child,.footer>p,.footer-bottom,.install-hint p,.install-hint .install-hint-steps{font-size:14px;line-height:1.7;color:#75626b}
.logo small{font-size:14px;letter-spacing:.02em}
.time-part b{font-family:inherit;font-size:27px;font-weight:500;font-variant-numeric:tabular-nums}
.time-part span{white-space:normal}
.time-ribbon{gap:10px;max-width:390px}
.time-trail{min-width:30px}
.more-link,.worry-form button,.bed-toggle,.evidence-toggle,.breath-invite,.breath-end{font-size:15px;line-height:1.6}
.more-link,.bed-toggle,.evidence-toggle{color:#845d70}
.card-text h3{font-size:25px;line-height:1.5}
.card-text p{min-height:0}
.worry-message{color:#7e5d74}
.worry-form input::placeholder{color:#806e78}
.footer strong{font-size:18px}
.footer-bottom{letter-spacing:.03em}
.breath-panel p{font-size:16px;line-height:1.8}
.breath-tiny{font-size:14px;letter-spacing:.05em}
body.dimmed :is(.eyebrow,.overline,.card-label,.logo small,.dim-switch,.time-part span,.time-footnote,.scene-caption,.section-head p,.worry-message,.privacy-hint,.footer>div:first-child,.footer>p,.footer-bottom){color:#d5bdcc}
body.dimmed :is(.more-link,.bed-toggle,.evidence-toggle){color:#e5bfcc}
body.dimmed .hero h1 span,body.dimmed .worry-section h2 em{color:#e6b5bb}
@media(max-width:700px){
  .hero h1{font-size:44px;line-height:1.35;letter-spacing:.015em}
  .hero-copy{padding:32px 24px 0}
  .hero-lede{font-size:16px}
  .card-visual{width:76px;min-width:76px}
  .card-visual svg{width:78px;height:100px}
  .card-text{padding:22px 16px 22px 5px}
  .card-text h3{font-size:24px;margin:8px 0 10px}
  .section-head h2,.worry-section h2,.bed-copy h2{font-size:28px}
  .time-footnote,.scene-caption,.card-label{font-size:14px}
  .dim-switch{font-size:14px;padding:8px 11px;gap:5px}
  .logo{gap:6px;font-size:19px}.logo small{font-size:14px}
  .worry-content{padding:0 22px 27px}
  .bed-section{padding:24px 22px}
  .footer>p{font-size:14px}
}
@media(max-width:365px){
  .site-wrap{padding:0 12px}.hero-copy{padding-inline:20px}
  .site-header .switch-star{display:none}.site-header .logo-symbol{width:29px}
  .hero h1{font-size:42px}.card-visual{width:60px;min-width:60px}.card-visual svg{width:64px}
  .card-text{padding-right:13px}.card-text h3{font-size:23px}
}

/* A small invitation on the page; the complete drawing lives in the dialog. */
.goodnight-section{display:flex;flex-direction:column;align-items:center;max-width:720px;margin:70px auto 64px;padding:20px 0}
.fortune-entry-rabbit{object-fit:contain;margin-bottom:12px}
.goodnight-section h2{font-family:'LXGW WenKai','Kaiti SC',STKaiti,serif;font-size:clamp(27px,3.5vw,35px);font-weight:400;line-height:1.5;letter-spacing:.01em;margin:14px 0 8px;color:#6f5367}
.goodnight-section .fortune-entry-copy{font-family:inherit;font-size:16px;line-height:1.8;letter-spacing:0;color:#75626b;margin:0 0 23px}
.goodnight-section .fortune-entry-button{font-size:16px;color:#fff8ef;background:#795e73;border:1px solid #795e73;border-radius:40px;padding:13px 24px;box-shadow:0 6px 18px #795e7315;transition:background .25s,transform .25s}
.fortune-entry-button:hover{background:#674d62;transform:translateY(-2px)}
body.dimmed .goodnight-section h2{color:#f3ddd8}body.dimmed .goodnight-section .fortune-entry-copy{color:#d5bdcc}
body.dimmed .fortune-entry-button{background:#d9b9c8;color:#443448;border-color:#d9b9c8}
body.fortune-open{overflow:hidden}body.fortune-open .install-hint{display:none}
.fortune-dialog{padding:0;border:1px solid #e6d5da;border-radius:30px;width:min(440px,calc(100% - 28px));max-height:calc(100svh - 28px);overflow:auto;overscroll-behavior:contain;background:#fff8ef;color:#5f485b;box-shadow:0 28px 90px #24152c40}
.fortune-dialog::backdrop{background:#33263d99;backdrop-filter:blur(6px)}
.fortune-dialog[open]{animation:fortune-enter .35s ease-out both}
.fortune-panel{position:relative;padding:36px 24px 24px;text-align:center;background:radial-gradient(ellipse at 50% 46%,#f4e3d4 0,transparent 65%)}
.fortune-close{position:absolute;top:12px;right:12px;z-index:4;width:44px;height:44px;border-radius:50%;font-size:26px;color:#826a7a;background:#f3e7e9;line-height:1}
.fortune-eyebrow{display:block;font-size:14px;color:#917182;letter-spacing:.08em;margin:9px 35px 0}
.fortune-panel h2{font-family:'LXGW WenKai','Kaiti SC',STKaiti,serif;font-size:34px;font-weight:400;line-height:1.4;margin:10px 0}
.fortune-hint{font-size:15px;line-height:1.7;min-height:26px;color:#806676;margin:0 0 5px}
.fortune-stage{position:relative;display:grid;width:min(320px,100%);margin:0 auto 12px;isolation:isolate}
.fortune-illustration{grid-area:1/1;position:relative;aspect-ratio:1;align-self:center;width:100%}
.fortune-rabbit{display:block;width:100%;height:100%;object-fit:contain;transition:opacity .6s ease,transform .9s ease}
.fortune-stick-target{position:absolute;top:50%;width:44px;height:82px;padding:0;border-radius:24px;background:transparent;border:2px solid transparent;transition:background .2s,border-color .2s}
.stick-left{left:calc(40% - 22px);transform:rotate(-18deg)}
.stick-middle{left:calc(50% - 22px);top:47%}
.stick-right{left:calc(60% - 22px);transform:rotate(18deg)}
.fortune-stick-target:hover,.fortune-stick-target:focus-visible{background:#f9d5a331;border-color:#c795a580}
.fortune-choices{display:flex;justify-content:center;align-items:center;gap:10px;min-height:98px}
.fortune-choices button{min-height:48px;padding:10px 17px;background:#f2e4e6;border:1px solid #e0c9d0;border-radius:24px;color:#765369;font-size:15px;transition:background .2s,opacity .4s}
.fortune-choices button:hover{background:#ead3da}
.fortune-choices button:disabled{cursor:default;opacity:.4}
.fortune-result-actions{display:grid;gap:7px;justify-items:center;min-height:98px}
.fortune-result-actions button{min-height:44px;font-size:15px;line-height:1.6}
#fortuneDone{padding:11px 25px;border-radius:28px;background:#795e73;color:#fff8ef}
#fortuneAgain{padding:5px 14px;background:transparent;color:#806174;text-decoration:underline;text-underline-offset:5px}
.fortune-footnote{font-size:14px;line-height:1.7;color:#846d78;margin:18px auto 0;max-width:310px}
.fortune-flying-slip{position:absolute;top:51%;left:calc(50% - 13px);width:26px;height:100px;border-radius:13px 13px 7px 7px;background:linear-gradient(90deg,#f2d4a3,#ffe9c6,#edca99);border:1px solid #d5ae84;color:#a6788c;box-shadow:0 4px 12px #6c4a5e15;opacity:0;pointer-events:none;transform-origin:50% 100%}
.fortune-flying-slip svg{width:18px;height:18px;margin-top:12px}
.fortune-paper{grid-area:1/1;position:relative;min-height:340px;margin:9px 0 2px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px 15px;border:1px solid #dfc5c6;border-radius:70px 70px 16px 16px;background:linear-gradient(150deg,#fffcf4,#f7e8da);box-shadow:0 10px 30px #86647712;opacity:0;pointer-events:none;transform-origin:50% 28%;overflow:visible}
.fortune-paper:after{content:'';position:absolute;inset:8px;border:1px solid #dfc5c660;border-radius:62px 62px 10px 10px;pointer-events:none}
.fortune-paper-moon{color:#bd919c;display:block;margin-bottom:10px}.fortune-paper-moon svg{width:26px;height:26px;display:block}
.fortune-paper-label{font-size:14px;letter-spacing:.06em;color:#987584}
#fortuneQuote{font-family:'LXGW WenKai','Kaiti SC',STKaiti,serif;font-size:24px;line-height:1.7;letter-spacing:0;margin:15px 0;color:#704f66;outline-offset:6px}
.fortune-paper-sign{font-size:14px;color:#8c7280;line-height:1.7}
.fortune-panel[data-phase=drawing] .fortune-rabbit{opacity:0;transform:translateY(12px) scale(.93);transition-delay:.65s}
.fortune-panel[data-phase=drawing] .fortune-flying-slip{animation:fortune-slip-flight .85s cubic-bezier(.25,.1,.25,1) both,fortune-slip-fade 1.05s linear both}
.fortune-panel[data-phase=drawing] .fortune-paper{animation:fortune-unfold .75s cubic-bezier(.22,.65,.3,1) .85s both}
.fortune-panel[data-phase=revealed] .fortune-rabbit{opacity:0;transform:translateY(12px) scale(.93)}
.fortune-panel[data-phase=revealed] .fortune-paper{opacity:1;pointer-events:auto}
.fortune-panel[data-phase=revealed] #fortuneQuote,.fortune-panel[data-phase=revealed] .fortune-result-actions{animation:fortune-words .65s ease both}
.fortune-dialog [hidden]{display:none!important}
body.dimmed .fortune-dialog{background:#45374e;color:#f3dfe2;border-color:#8d7189}
body.dimmed .fortune-panel{background:radial-gradient(ellipse at 50% 45%,#6f536646,transparent 68%)}
body.dimmed :is(.fortune-eyebrow,.fortune-hint,.fortune-footnote,#fortuneAgain){color:#dcc0d1}
body.dimmed .fortune-close,body.dimmed .fortune-choices button{background:#655067;color:#f5dce6;border-color:#9f8096}
body.dimmed .fortune-paper{background:linear-gradient(150deg,#615063,#514155);border-color:#a1879b}
body.dimmed #fortuneQuote{color:#fae6e4}
body.dimmed :is(.fortune-paper-label,.fortune-paper-sign,.fortune-paper-moon){color:#e0bbc9}
body.dimmed #fortuneDone{background:#d5b1c4;color:#49364e}
@keyframes fortune-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes fortune-slip-flight{from{transform:translate(var(--stick-x),0) rotate(var(--stick-angle))}to{transform:translate(0,-120px) rotate(0deg)}}
@keyframes fortune-slip-fade{0%{opacity:0}12%,72%{opacity:1}100%{opacity:0}}
@keyframes fortune-unfold{from{opacity:0;transform:translateY(-10px) scale(.12,.35)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes fortune-words{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:365px){.fortune-panel{padding:35px 17px 22px}.fortune-choices{gap:8px}.fortune-choices button{padding:10px 13px}#fortuneQuote{font-size:22px}}
@media(max-height:700px){.fortune-panel{padding-top:27px;padding-bottom:18px}.fortune-stage{width:min(270px,100%)}.fortune-panel h2{font-size:30px;margin:7px 0}.fortune-footnote{margin-top:12px}#fortuneQuote{font-size:22px}.fortune-paper{padding:15px 10px}.fortune-paper-moon{margin-bottom:5px}.fortune-paper-sign{font-size:14px}}
@media(prefers-reduced-motion:reduce){.fortune-dialog[open],.fortune-panel[data-phase=revealed] #fortuneQuote,.fortune-panel[data-phase=revealed] .fortune-result-actions{animation:none}.fortune-rabbit{transition:none}.fortune-flying-slip{display:none}}
