:root{
  --canvas:#FFF7FA;--white:#FFFFFF;--soft:#FFEAF2;--text:#5C2A3E;--title:#4A1630;
  --muted:#8A4A62;--fine:#B07A90;--pink:#E85A8B;--bright:#FF7AA8;--deep:#C43B6E;
  --line:rgba(232,90,139,.16);--shadow:0 14px 34px rgba(196,59,110,.10);
  --gradient:linear-gradient(135deg,#FF7AA8 0%,#E85A8B 55%,#C43B6E 100%);
  --container:1180px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip}
body{margin:0;min-width:0;background:var(--canvas);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;font-size:16px;line-height:1.8;overflow-x:clip;-webkit-font-smoothing:antialiased}
button,input{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}a,button{touch-action:manipulation}
img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--title);line-height:1.37;letter-spacing:-.018em}p{overflow-wrap:anywhere}
:focus-visible{outline:3px solid var(--deep);outline-offset:3px}
[hidden]{display:none!important}
.container{width:calc(100% - 32px);max-width:var(--container);margin-inline:auto}
.header-inner{width:calc(100% - 32px);max-width:var(--container);margin-inline:auto}
.skip-link{position:fixed;left:16px;top:-80px;z-index:130;background:var(--deep);color:#fff;padding:10px 16px;border-radius:9px}
.skip-link:focus{top:16px}
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;width:100%;background:#fff;box-shadow:0 3px 15px rgba(74,22,48,.04)}
.candy-strip{height:22px;background:var(--deep);color:#fff;width:100%}
.strip-inner{height:22px;display:flex;justify-content:space-between;align-items:center;position:relative}
.strip-name{font-size:10px;line-height:1.2;font-weight:800;letter-spacing:.045em;white-space:nowrap;color:#fff}
.strip-search{height:44px;width:44px;border:0;background:transparent;color:#fff;position:relative;z-index:3;display:grid;place-items:center;transform:translate(4px,0);border-radius:11px}
.strip-search:hover,.strip-search:focus-visible{background:rgba(255,255,255,.16)}
.search-icon{display:block;position:relative;flex:none;width:15px;height:15px;border:2px solid currentColor;border-radius:50%}
.search-icon::after{content:"";width:7px;height:2px;background:currentColor;position:absolute;right:-6px;bottom:-2px;transform:rotate(46deg);border-radius:2px}
.cover-bar{height:64px;background:var(--white);border-bottom:1px solid var(--line);width:100%}
.cover-inner{height:64px;display:grid;align-items:center;grid-template-columns:minmax(0,1fr) minmax(48px,auto) minmax(0,1fr);gap:10px}
.brand-link{display:flex;justify-self:start;align-items:center;min-width:0;min-height:44px;max-width:220px;color:var(--title)}
.brand-link img{display:block;width:auto;max-width:100%;height:36px;max-height:36px;object-fit:contain;object-position:left center}
.brand-link strong{font-size:22px;color:var(--title);white-space:nowrap}
.envelope-toggle{justify-self:center;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;justify-content:center;gap:11px;background:var(--soft);color:var(--title);font-size:13px;font-weight:800;min-height:44px;padding:0 16px;transition:background .2s,transform .2s}
.envelope-toggle:hover{background:#FFD7E6;transform:translateY(-1px)}
.envelope-icon{display:block;width:24px;height:18px;border:2px solid var(--deep);border-radius:4px;position:relative;transform:rotate(-5deg)}
.envelope-icon i{position:absolute;left:2px;right:2px;top:1px;border-bottom:2px solid var(--deep);height:9px;transform:rotate(-0deg);border-radius:3px}
.envelope-icon::after{content:"";position:absolute;width:14px;height:2px;left:3px;top:7px;background:var(--deep);transform:rotate(-27deg);opacity:.5}
.open-app{min-height:44px;justify-self:end;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:0 20px;border-radius:999px;background:var(--gradient);color:#fff;font-size:14px;font-weight:800;box-shadow:0 7px 16px rgba(196,59,110,.17)}
.open-app:hover{filter:saturate(1.15) brightness(.96)}
.sticker-rail{height:44px;background:var(--soft);border-bottom:1px solid var(--line)}
.sticker-inner{height:44px;display:flex;align-items:center;gap:8px;overflow:hidden}
.sticker-link{height:44px;min-height:44px;min-width:86px;position:relative;isolation:isolate;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;color:var(--title);font-size:13px;font-weight:750;white-space:nowrap}
.sticker-link:hover{background:#FAD5E3;color:var(--deep)}
.sticker-link.active{background:transparent;color:#fff}
.sticker-link.active::before{content:"";position:absolute;inset:5px 0;background:var(--deep);border-radius:9px;z-index:-1}
.main-content{padding:165px 0 56px;min-height:60vh}
.eyebrow{font-size:11px;display:inline-flex;align-items:center;gap:9px;letter-spacing:.14em;font-weight:850;color:var(--deep);text-transform:uppercase}
.eyebrow span{font-size:13px;color:var(--pink)}
.media-slot{position:relative;width:100%;background:var(--soft);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:18px;isolation:isolate}
.media-slot img{width:100%;height:100%;max-height:100%;object-fit:contain;object-position:center}
.media-fallback-text{display:flex;align-items:center;justify-content:center;text-align:center;font-size:20px;color:var(--title);font-weight:800;padding:18px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:46px;padding:10px 24px;border-radius:999px;font-weight:800;font-size:14px;border:1px solid transparent;transition:transform .2s,box-shadow .2s,background .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(196,59,110,.14)}
.btn-primary{color:#fff;background:var(--gradient);box-shadow:0 9px 22px rgba(196,59,110,.16)}
.btn-outline{color:var(--deep);background:#fff;border-color:rgba(196,59,110,.32)}
.action-row{display:flex;flex-wrap:wrap;gap:11px;margin-top:22px}
.text-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--deep);font-size:14px;font-weight:850}
.text-link:hover{color:var(--title);text-decoration:underline;text-underline-offset:4px}
/* Main home editorial */
.home-layout{min-width:0}
.home-cover{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);overflow:hidden}
.cover-image{background:#FFEAF2;padding:16px 16px 0}
.media-slot.hero-slot{height:clamp(125px,26.5vw,300px);max-height:300px;border-radius:16px;background:#FFF4F7;border-color:#F6DDE5}
.cover-copy{padding:24px 38px 34px}
.cover-copy h1{font-family:"Noto Serif CJK SC","Songti SC","STSong",Georgia,serif;font-size:clamp(27px,3.3vw,33px);margin:10px 0 13px;line-height:1.45}
.cover-copy p{max-width:790px;color:var(--text);line-height:1.95;font-size:16px;margin:0}
.tiny-marquee{display:flex;justify-content:center;align-items:center;gap:24px;margin:20px 0 37px;color:var(--muted);font-size:12px;letter-spacing:.08em}
.tiny-marquee span:nth-child(even){color:var(--pink);font-size:18px}
.home-section{margin:46px 0 74px;min-width:0}
.section-heading{margin-bottom:24px;position:relative}
.section-heading h2{font-family:"Noto Serif CJK SC","Songti SC","STSong",Georgia,serif;font-size:clamp(24px,2.8vw,30px);margin:7px 0 8px}
.section-heading>p{color:var(--muted);font-size:14px;margin:0}
.home-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.home-topic-card{min-width:0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.home-topic-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.media-slot.card-media{height:190px;border-radius:13px}
.topic-copy{padding:13px 7px 4px;display:flex;flex-direction:column;flex:1}
.topic-mini{font-size:10px;letter-spacing:.13em;color:var(--muted);font-weight:850}
.topic-copy h3{font-size:21px;margin:6px 0 9px}
.topic-copy p{font-size:15px;line-height:1.92;color:var(--text);margin-bottom:12px;flex:1}
.editorial-panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;display:grid;grid-template-columns:1.1fr .9fr;gap:27px;align-items:center}
.editorial-text{min-width:0;padding:4px 4px 4px 9px}
.editorial-text .feature-long{font-size:16px;line-height:2.05;margin:0 0 15px}
.media-slot.feature-media{height:270px;min-width:0;background:#FFF0F5}
.inline-note-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:17px}
.inline-note-index a{min-height:44px;padding:9px 12px;border-radius:10px;background:var(--canvas);color:var(--title);font-size:13px;font-weight:800}
.inline-note-index a:hover{background:var(--soft)}
.inline-note-index b{color:var(--pink);font-size:14px;margin-right:8px}
.album-home-wrap{display:grid;grid-template-columns:1.35fr .65fr;gap:18px;align-items:stretch}
.album-books{min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.album-book{border-radius:12px 20px 18px 11px;position:relative;min-height:290px;padding:22px 16px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;border-left:9px solid rgba(94,39,63,.11);box-shadow:8px 9px 18px rgba(85,29,52,.11);color:#5C2A3E;transition:transform .2s;min-width:0}
.album-book:hover{transform:translateY(-6px)}
.album-book span:first-child{font-size:10px;font-weight:800;letter-spacing:.1em}
.album-book strong{font-size:22px;line-height:1.4;writing-mode:vertical-rl;letter-spacing:.12em;margin:14px auto;align-self:center}
.album-book em{font-style:normal;font-size:12px;line-height:1.5}
.album-book .book-arrow{font-size:18px;align-self:end}
.strawberry{background:#FED0E0}.peach{background:#FFE3CF}.berry{background:#F1D5EB}.milk{background:#F9E9E1}
.media-slot.album-home-media{height:290px}
.weekly-wrap{display:grid;grid-template-columns:.75fr 1.25fr;align-items:center;gap:23px;background:#fff;border-radius:20px;border:1px solid var(--line);padding:22px}
.media-slot.weekly-picture{height:300px}
.weekly-list{display:grid;gap:2px}
.weekly-list a{min-height:72px;display:flex;align-items:center;gap:18px;padding:12px 10px;border-bottom:1px solid var(--line);min-width:0}
.weekly-list a:last-child{border-bottom:none}
.weekly-list a:hover{background:var(--canvas);border-radius:10px}
.weekly-list a>span:nth-child(2){flex:1;min-width:0}
.weekly-list strong{display:block;color:var(--title);font-size:17px}
.weekly-list small{display:block;color:var(--muted);font-size:13px}
.weekly-num{font-size:38px;font-weight:900;color:var(--pink);font-family:Georgia,serif;line-height:1}
.plan-home-wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;align-items:stretch}
.plan-state-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.plan-state{border-radius:16px;background:#fff;border:1px solid var(--line);padding:21px;min-width:0}
.plan-state:hover{background:#FFEAF2}
.plan-state>span{color:var(--deep);font-family:Georgia,serif;font-size:28px;font-weight:900}
.plan-state h3{font-size:18px;margin:7px 0}
.plan-state p{font-size:14px;line-height:1.8;margin:0}
.media-slot.plan-media{min-height:328px}
.edit-home-wrap{display:grid;grid-template-columns:.88fr 1.12fr;gap:20px;align-items:center}
.media-slot.edit-picture{height:330px}
.edit-home-steps{background:#fff;border:1px solid var(--line);border-radius:18px;padding:8px 18px}
.edit-home-steps a{min-height:68px;padding:9px 4px;display:flex;align-items:center;gap:17px;border-bottom:1px solid var(--line)}
.edit-home-steps a:last-child{border:0}.edit-home-steps a:hover strong{color:var(--deep)}
.edit-home-steps b{font-size:24px;color:var(--pink);font-family:Georgia,serif}
.edit-home-steps a span:nth-child(2){flex:1;min-width:0}
.edit-home-steps strong,.edit-home-steps small{display:block}.edit-home-steps strong{font-size:17px;color:var(--title)}
.edit-home-steps small{font-size:13px;color:var(--muted)}
.letter-home-wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}
.letter-home-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.letter-home-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:25px 20px;position:relative;min-width:0;display:flex;flex-direction:column}
.letter-home-card::before{content:"";position:absolute;right:17px;top:-8px;width:54px;height:17px;border-radius:3px;background:#F9C7D9;transform:rotate(4deg)}
.letter-home-card h3{font-size:18px;margin:12px 0}
.letter-home-card p{font-size:14px;line-height:2;flex:1}
.letter-small{font-size:11px;letter-spacing:.07em;color:var(--deep);font-weight:900}
.media-slot.letter-home-art{min-height:320px}
.slow-home-wrap{display:grid;grid-template-columns:.82fr 1.18fr;gap:20px;align-items:center}
.media-slot.slow-art{height:320px}
.slow-links{display:grid;gap:10px}
.slow-links a{min-height:72px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:12px 18px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 10px}
.slow-links a strong{font-size:16px;color:var(--title)}.slow-links a span:nth-child(2){grid-column:1;color:var(--muted);font-size:13px}
.slow-links a span:last-child{grid-column:2;grid-row:1/3;color:var(--deep)}.slow-links a:hover{background:#FFF0F5}
.app-home-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;border:1px solid var(--line);border-radius:20px;background:#fff;padding:24px;align-items:center}
.app-home-copy{padding:5px 3px 5px 12px}.app-home-copy p{line-height:2.04;font-size:16px}
.app-brand-line{display:flex;align-items:center;gap:12px;margin-bottom:15px;color:var(--deep);font-size:13px;font-weight:900;letter-spacing:.12em}
.media-slot.app-icon-slot{height:66px;width:66px;min-width:66px;border-radius:17px}
.media-slot.app-home-image{height:420px;max-height:420px}
.service-home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.service-home-card{border-radius:17px;background:#fff;border:1px solid var(--line);padding:24px;min-width:0;display:flex;flex-direction:column}
.service-home-card h3{font-size:20px;margin:0 0 14px}
.service-home-card p{line-height:1.95;font-size:14px;flex:1}
.home-last{background:#FFE4EE;border:1px solid var(--line);padding:35px 24px;text-align:center;border-radius:20px;margin-bottom:10px}
.home-last p{font-family:"Noto Serif CJK SC",Georgia,serif;font-size:24px;color:var(--title);margin:10px 0 18px}
/* Independent pages */
.inner-layout{min-width:0}
.page-intro{position:relative;border-radius:20px;padding:33px 38px 29px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px rgba(196,59,110,.045);overflow:hidden}
.page-intro::before{content:"";width:190px;height:190px;position:absolute;right:-65px;top:-95px;border-radius:50%;background:#FFE7F0;z-index:0}
.page-intro>*{position:relative;z-index:1}
.page-intro h1{font-family:"Noto Serif CJK SC","Songti SC",Georgia,serif;font-size:clamp(28px,3vw,32px);margin:11px 0 13px}
.page-intro .intro-text{max-width:890px;line-height:2.08;font-size:16px;margin-bottom:12px}
.intro-mini{font-size:12px;display:flex;gap:11px;flex-wrap:wrap;color:var(--muted);font-weight:700;margin-top:14px}
.inner-feature{position:relative;margin:20px 0 24px;border-radius:20px;background:#fff;border:1px solid var(--line);padding:17px}
.image-note{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);font-weight:800;letter-spacing:.09em;margin:0 5px 10px}
.image-note span:last-child{letter-spacing:0;font-weight:600}
.media-slot.feature-media{height:300px;border-radius:15px}
.media-slot.phone-asset{height:410px;max-height:420px}
.reading-layout{padding:4px 0 8px;min-width:0}
.reading-layout h2{font-size:21px;margin:5px 0 12px;line-height:1.5}
.reading-layout p{line-height:2.05;font-size:16px}
.diary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.diary-page{padding:28px 27px 21px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 5px 15px rgba(196,59,110,.035);position:relative}
.diary-page::after{content:"";position:absolute;top:25px;right:30px;width:35px;height:35px;border-radius:50%;background:#FFEAF2}
.diary-index{font-size:12px;font-weight:900;letter-spacing:.12em;color:var(--deep);margin-bottom:8px}
.diary-page p{margin-bottom:0}
.portrait-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.portrait-entry{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;display:grid;grid-template-columns:48px 1fr;gap:14px}
.portrait-bubble{width:48px;height:48px;border-radius:15px;background:#FBD1E0;color:var(--deep);font-weight:900;display:grid;place-items:center}
.fact-notice{font-size:11px;color:var(--deep);font-weight:750;margin-bottom:8px}.portrait-entry p{margin:0}
.index-list{border-radius:18px;overflow:hidden;background:#fff;border:1px solid var(--line)}
.index-row{display:grid;grid-template-columns:56px minmax(0,1fr) 34px;gap:18px;align-items:start;padding:26px 25px;border-bottom:1px solid var(--line)}
.index-row:last-child{border:0}.index-number{color:var(--pink);font-size:31px;font-weight:900;font-family:Georgia,serif}
.index-row p{margin:0}.index-mark{color:var(--pink);font-size:21px}
.clip-list{display:grid;gap:13px}
.clip-row{background:#fff;border:1px solid var(--line);border-radius:17px;padding:24px;display:grid;grid-template-columns:60px 1fr;gap:4px 17px}
.clip-num{grid-row:1/3;font-size:33px;color:var(--pink);font-weight:900;font-family:Georgia,serif}
.clip-row h2{margin:0 0 8px}.clip-row p{grid-column:2;margin:0}
.prose-body{background:#fff;border:1px solid var(--line);border-radius:19px;padding:9px 38px 12px}
.prose-section{padding:27px 4px 25px;border-bottom:1px solid var(--line)}.prose-section:last-child{border:0}
.section-marker{display:block;color:var(--deep);font-weight:850;letter-spacing:.1em;font-size:11px;margin-bottom:5px}
.prose-section p{margin:0}
.steps-list{display:grid;gap:11px}
.step-row{background:#fff;border:1px solid var(--line);border-radius:16px;padding:25px;display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px}
.step-stamp{font-size:41px;font-family:Georgia,serif;color:var(--pink);font-weight:900;line-height:1.3}.step-row p{margin:0}
.mood-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.mood-card{padding:24px 25px;background:#fff;border:1px solid var(--line);border-radius:17px;min-width:0;display:flex;flex-direction:column}
.mood-card:nth-child(3n+2){background:#FFF1F6}.mood-card:nth-child(3n){background:#FFF8F0}
.mood-number{font-size:33px;color:var(--pink);font-weight:900;font-family:Georgia,serif}
.mood-card h2{margin:9px 0}.mood-card p{flex:1;margin-bottom:14px}
.shelf-list{display:grid;gap:15px}
.shelf-entry{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;background:#fff;border:1px solid var(--line);border-radius:17px;padding:18px;align-items:center}
.mini-book{display:flex;flex-direction:column;justify-content:space-between;min-height:200px;border-left:8px solid rgba(90,33,57,.14);padding:15px;color:var(--title);border-radius:8px 16px 16px 8px}
.mini-book span{font-size:10px;font-weight:850}.mini-book strong{font-size:22px;writing-mode:vertical-rl;align-self:center;letter-spacing:.1em}
.shelf-entry h2{margin-bottom:11px}.shelf-entry p{margin:0}
.number-list{display:grid;gap:13px}.number-entry{display:grid;grid-template-columns:115px 1fr;gap:18px;background:#fff;border:1px solid var(--line);border-radius:17px;padding:25px;align-items:start}
.big-number{font-size:76px;color:var(--pink);font-family:Georgia,serif;font-weight:900;line-height:1}
.number-entry p{margin:0}.status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.status-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:26px}
.status-pill{display:inline-flex;padding:3px 13px;background:#FFE1EC;border-radius:999px;color:var(--deep);font-size:12px;font-weight:850;margin-bottom:9px}
.status-card p{margin:0}
.letter-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.letter-entry{border-radius:17px;border:1px solid var(--line);background:#FFFCF9;padding:30px 29px;position:relative;min-width:0}
.letter-entry::before{content:"";position:absolute;right:25px;top:-8px;width:50px;height:16px;background:#FBCBD9;transform:rotate(4deg)}
.letter-entry h2{margin:12px 0}.letter-entry p{margin:0}
.page-ending{background:#FFEAF2;border:1px solid var(--line);border-radius:16px;display:flex;align-items:start;gap:16px;padding:22px 25px;margin:22px 0 0}
.page-ending p{margin:0;color:var(--title);font-size:15px;line-height:1.97}.ending-symbol{font-size:26px;color:var(--pink);line-height:1.5}
.related-panel{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:29px 34px;border-radius:18px;background:#fff;border:1px solid var(--line);margin-top:23px}
.related-panel h2{font-size:23px;margin:7px 0}.related-panel p{font-size:14px;color:var(--muted);margin:0}
.related-panel nav{display:flex;flex-wrap:wrap;gap:9px;max-width:50%;justify-content:flex-end}
.related-panel nav a{display:inline-flex;min-height:44px;align-items:center;border-radius:999px;padding:8px 16px;background:#FFF0F5;color:var(--deep);font-size:13px;font-weight:850}
.related-panel nav a:hover{background:#FFE0EC}
.faq-index{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;padding:20px 26px;margin:20px 0;background:#FFEAF2;border-radius:15px;color:var(--title)}
.faq-index span{font-size:13px;color:var(--muted)}.faq-list{display:grid;gap:11px}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px 25px;display:grid;grid-template-columns:55px 1fr;gap:13px;align-items:start}
.faq-item>span{font-family:Georgia,serif;color:var(--pink);font-size:27px;font-weight:800}.faq-item h2{font-size:19px;margin:0 0 10px}.faq-item p{margin:0}
/* Footer */
.site-footer{background:var(--title);color:#F8D6E4;padding:40px 0 26px;min-width:0}
.footer-head{display:flex;gap:22px;align-items:center;padding-bottom:27px;border-bottom:1px solid rgba(248,214,228,.17)}
.footer-brand{display:flex;align-items:center;max-width:205px;min-height:56px}
.footer-brand img{max-height:52px;object-fit:contain;filter:brightness(0) invert(1);opacity:.96}
.footer-brand strong{color:#fff;font-size:22px}
.footer-head>div{display:flex;flex-direction:column;gap:0}.footer-head strong{font-size:20px;color:#fff;line-height:1.45}
.footer-head span{font-size:11px;letter-spacing:.12em;color:#F8D6E4;font-weight:800}.footer-head p{margin:8px 0 0;font-size:13px;color:#F5CDDC}
.footer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;padding:30px 0}
.footer-column{display:flex;flex-direction:column;align-items:start;gap:8px}
.footer-column h2{font-size:15px;margin:0 0 10px;color:#fff;font-weight:800}
.footer-column a{font-size:14px;line-height:1.55;min-height:44px;display:inline-flex;align-items:center;color:#F8D6E4}
.footer-column a:hover{text-decoration:underline;text-underline-offset:3px;color:#fff}
.footer-statement{border-top:1px solid rgba(248,214,228,.14);padding-top:19px;font-size:13px;line-height:1.9;color:#F8D6E4;margin:0}
.footer-copy{font-size:12px;color:#F8D6E4;opacity:.8;margin:13px 0 0}
/* Controlled overlays and real navigation */
.layer-backdrop{position:fixed;inset:0;background:rgba(60,15,36,.43);z-index:80;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s,visibility .25s}
.layer-backdrop.is-open{opacity:1;visibility:visible;pointer-events:auto}
.envelope-drawer{position:fixed;z-index:101;bottom:0;left:50%;width:calc(100% - 32px);max-width:920px;max-height:70dvh;min-height:150px;background:#FFF9FB;border:1px solid rgba(196,59,110,.25);border-bottom:0;border-radius:24px 24px 0 0;box-shadow:0 -12px 55px rgba(74,22,48,.19);display:flex;flex-direction:column;opacity:0;transform:translate(-50%,105%);visibility:hidden;pointer-events:none;transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .25s,visibility .25s}
.envelope-drawer.is-open{opacity:1;transform:translate(-50%,0);visibility:visible;pointer-events:auto}
.drawer-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:84px;padding:16px 23px;border-bottom:1px solid var(--line);flex:none}
.drawer-brand{display:flex;align-items:center;gap:16px;min-width:0}.drawer-brand img{width:auto;max-width:140px;height:34px;object-fit:contain;object-position:left}
.drawer-brand>span{color:var(--muted);font-size:13px}
.drawer-brand strong{color:var(--title);font-size:20px}
.icon-button{min-width:44px;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;color:var(--title);font-size:28px;background:#fff;display:grid;place-items:center;line-height:1}
.icon-button:hover{background:#FFE1EC}
.drawer-scroll{padding:12px 22px 28px;overflow-y:auto;overscroll-behavior:contain;min-height:0}
.drawer-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px;align-items:start}
.drawer-group{min-width:0}
.drawer-group h2{color:var(--deep);font-size:16px;padding:9px 9px 6px;border-bottom:1px solid var(--line);margin:2px 0 8px}
.drawer-item{padding:9px 10px;border-radius:12px;display:block;min-height:60px}
.drawer-item:hover{background:#FFEAF2}
.drawer-item-title{font-size:15px;font-weight:900;color:var(--title);display:flex;justify-content:space-between;align-items:center;gap:8px}
.drawer-item-title>span{color:var(--deep);font-size:13px}
.drawer-item-desc{display:block;font-size:12px;line-height:1.75;color:var(--muted);margin-top:3px}
.search-panel{position:fixed;z-index:102;top:90px;right:max(16px,calc((100vw - 1180px)/2));width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 105px);overflow-y:auto;background:#fff;border:1px solid rgba(196,59,110,.28);box-shadow:0 18px 45px rgba(74,22,48,.16);border-radius:18px;padding:23px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-14px);transition:opacity .23s,visibility .23s,transform .23s}
.search-panel.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.search-top{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:21px;font-weight:900;color:var(--title)}
.search-panel>p{font-size:14px;color:var(--muted);margin:8px 0 18px}
.search-box{height:54px;border:1px solid rgba(196,59,110,.28);background:var(--canvas);border-radius:12px;padding:0 14px;display:flex;align-items:center;gap:12px;color:var(--deep)}
.search-box input{border:0;outline:0;background:transparent;min-width:0;flex:1;font-size:15px;color:var(--title)}
.search-box:focus-within{outline:2px solid var(--pink);outline-offset:2px}
.preset-title{font-size:12px;font-weight:900;color:var(--deep);margin:19px 0 8px}
.search-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.search-shortcuts a{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--soft);padding:12px;min-height:48px;border-radius:11px;color:var(--title);font-weight:800;font-size:14px}
.search-shortcuts a:hover{background:#FFD9E8}.search-shortcuts a span{color:var(--deep)}
.search-panel .search-footnote{font-size:12px;margin:15px 0 0}.search-panel .search-no-result{margin:15px 0;color:var(--deep);font-size:13px}
html.dialog-open,body.dialog-open{overflow:hidden;overscroll-behavior:none}
.mobile-bottom{display:none}
/* Responsive at different sizes */
@media(max-width:1000px){
 .home-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .album-home-wrap,.weekly-wrap,.plan-home-wrap,.edit-home-wrap,.letter-home-wrap,.slow-home-wrap{grid-template-columns:1fr}
 .album-home-wrap>.media-slot{height:260px}.plan-media{height:270px}.media-slot.letter-home-art{height:265px}
 .service-home-grid{grid-template-columns:1fr 1fr}.editorial-panel{grid-template-columns:1fr}
 .editorial-panel>.media-slot{height:275px}.app-home-layout{grid-template-columns:1fr .75fr}
}
@media(max-width:760px){
 .sticker-rail{display:none}
 .main-content{padding-top:105px;padding-bottom:36px}
 .strip-name{font-size:10px}
 .cover-inner{grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);gap:6px}
 .brand-link{max-width:165px;width:100%;min-width:0}.brand-link img{height:32px;max-height:32px}
 .envelope-toggle{width:46px;min-width:46px;height:46px;padding:0;border-radius:12px}
 .menu-label{display:none}.open-app{padding:0 13px;gap:6px;min-height:44px;white-space:nowrap;font-size:12px}
 .home-section{margin:39px 0 59px}
 .cover-copy{padding:21px 24px 27px}
 .home-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .media-slot.card-media{height:160px}.topic-copy{padding:10px 4px 2px}.topic-copy h3{font-size:19px}
 .topic-copy p{font-size:14px}.album-books{gap:8px}.album-book{min-height:230px;padding:14px 10px}.album-book strong{font-size:18px}
 .letter-home-cards{grid-template-columns:1fr 1fr}.app-home-layout{grid-template-columns:1fr;gap:12px}.app-home-copy{padding:0}
 .service-home-grid{grid-template-columns:1fr}.media-slot.app-home-image{height:400px}
 .page-intro{padding:25px}.inner-feature{padding:10px}.media-slot.feature-media{height:250px}
 .related-panel{flex-direction:column;align-items:stretch}.related-panel nav{justify-content:flex-start;max-width:none}
 .diary-grid,.portrait-grid,.mood-grid,.status-grid,.letter-stack{grid-template-columns:1fr}
 .site-footer{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}
 .footer-grid{grid-template-columns:1fr 1fr;row-gap:25px}
 .search-panel{top:89px;left:16px;right:16px;width:auto;max-height:calc(100dvh - 110px)}
 .envelope-drawer{width:100%;max-width:none;max-height:82dvh;border-radius:23px 23px 0 0}
 .drawer-groups{gap:10px 17px}.drawer-brand>span{display:none}
 .mobile-bottom{height:calc(50px + env(safe-area-inset-bottom,0px));position:fixed;left:0;right:0;bottom:0;width:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;z-index:45;gap:3px;padding:3px 8px calc(3px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid rgba(196,59,110,.17);box-shadow:0 -6px 18px rgba(74,22,48,.05)}
 .mobile-bottom a{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;border-radius:10px;line-height:1.1;color:var(--muted);font-size:11px;font-weight:850;min-height:44px}
 .mobile-bottom a.current{background:var(--pink);color:#fff}
 .bottom-symbol{font-size:18px;line-height:1.08;min-height:21px;font-weight:900}
}
@media(max-width:540px){
 .strip-search{transform:translate(1px,0)}
 .brand-link{max-width:126px}.brand-link img{height:30px;max-height:30px}
 .home-cover{border-radius:17px}.cover-image{padding:8px 8px 0}.media-slot.hero-slot{height:auto;aspect-ratio:3/1;max-height:300px}
 .cover-copy{padding:18px 19px 23px}.cover-copy h1{font-size:28px}.cover-copy p{font-size:15px;line-height:1.92}
 .btn{font-size:13px;padding:10px 18px}.action-row{gap:8px}
 .tiny-marquee{gap:11px;font-size:11px;flex-wrap:wrap;margin:18px 0 30px}
 .section-heading h2{font-size:24px}
 .home-card-grid{grid-template-columns:1fr;gap:14px}.media-slot.card-media{height:200px}
 .topic-copy{padding:13px 8px 4px}
 .editorial-panel{padding:14px}.editorial-text{padding:9px}
 .album-books{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.album-book{min-height:215px}
 .weekly-wrap{padding:13px}.weekly-list a{gap:10px}.weekly-num{font-size:32px}
 .plan-state-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.plan-state{padding:13px}
 .plan-state h3{font-size:16px}.plan-state p{font-size:13px}.media-slot.plan-media{min-height:230px;height:240px}
 .letter-home-cards{grid-template-columns:1fr}.media-slot.edit-picture{height:250px}.media-slot.slow-art{height:250px}
 .app-home-layout{padding:16px}.media-slot.app-home-image{height:350px}
 .page-intro{padding:24px 20px}.page-intro h1{font-size:30px}.page-intro .intro-text{font-size:15px}
 .reading-layout p{font-size:15px}.reading-layout h2{font-size:19px}
 .media-slot.feature-media{height:225px}.media-slot.phone-asset{height:350px}
 .diary-page,.mood-card,.portrait-entry,.status-card,.step-row,.clip-row{padding:19px}
 .prose-body{padding:0 18px}.prose-section{padding:22px 3px}
 .index-row{padding:20px 16px;grid-template-columns:40px minmax(0,1fr);gap:11px}.index-number{font-size:25px}.index-mark{display:none}
 .shelf-entry{grid-template-columns:91px 1fr;gap:14px;padding:13px}.mini-book{min-height:180px}.mini-book strong{font-size:18px}
 .number-entry{grid-template-columns:70px minmax(0,1fr);gap:12px;padding:19px}.big-number{font-size:47px}
 .clip-row{grid-template-columns:36px 1fr;gap:6px 12px}.clip-num{font-size:27px}
 .step-row{grid-template-columns:44px 1fr;gap:12px}.step-stamp{font-size:31px}
 .letter-entry{padding:24px 20px}.faq-item{padding:18px;grid-template-columns:40px 1fr;gap:10px}.faq-item>span{font-size:23px}.faq-item h2{font-size:17px}
 .page-ending{padding:19px 17px;gap:10px}.related-panel{padding:24px 19px}
 .footer-head{gap:12px;align-items:center}.footer-brand{max-width:112px;min-width:0}.footer-brand img{max-height:34px}.footer-head strong{font-size:16px}.footer-head p{font-size:12px}
 .footer-grid{gap:15px}.footer-column h2{font-size:14px}.footer-column a{font-size:13px}
 .drawer-heading{padding:12px 16px;min-height:75px}.drawer-scroll{padding:10px 13px 24px}.drawer-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .drawer-item{padding:7px 6px;min-height:65px}.drawer-item-title{font-size:13px}.drawer-item-desc{font-size:11px;line-height:1.62;overflow-wrap:anywhere}
 .search-panel{padding:18px}.search-shortcuts{gap:8px}
}
@media(max-width:360px){
 .brand-link{max-width:115px}.cover-inner{gap:4px}.open-app{padding:0 10px;font-size:11px}
 .strip-name{font-size:9px}.inline-note-index{grid-template-columns:1fr 1fr;gap:6px}.inline-note-index a{font-size:12px;padding:7px}
 .footer-head{flex-direction:column;align-items:start}.footer-brand{max-width:175px}
 .drawer-item{padding:6px 4px}.drawer-item-desc{font-size:10.5px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
