:root{--bg:#FFF7FA;--surface:#FFFFFF;--soft:#FFEAF2;--title:#4A1630;--text:#5C2A3E;--muted:#8A4A62;--faint:#B07A90;--pink:#E85A8B;--bright:#FF7AA8;--deep:#C43B6E;--pale:#FFE1EC;--border:rgba(232,90,139,.16);--shadow:0 14px 34px rgba(196,59,110,.10);--max:1180px;--header-h:130px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;font-size:16px;line-height:1.78;overflow-x:hidden}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-wrap,.header-wrap{width:min(calc(100% - 32px),var(--max));margin:0 auto}.site-header{position:fixed;inset:0 0 auto 0;z-index:80}.sugar-strip{height:22px;background:var(--deep);color:#fff;font-size:12px;line-height:22px}.sugar-strip-inner{display:flex;align-items:center;justify-content:space-between;height:22px}.text-button{position:relative;border:0;background:transparent;color:#fff;min-height:22px;padding:0 6px}.text-button::before{content:"";position:absolute;inset:-11px -8px}.cover-bar{height:64px;background:#fff;border-bottom:1px solid var(--border)}.cover-bar-inner{height:64px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}.logo-link{justify-self:start;display:flex;align-items:center;min-height:44px;max-width:220px}.brand-logo{height:34px;width:auto;max-width:190px;object-fit:contain;object-position:left center}.brand-text{font-weight:800;color:var(--title);letter-spacing:.02em}.envelope-button,.app-link{min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:0 18px;font-weight:700}.envelope-button{border:1px solid var(--border);background:#fff;color:var(--deep)}.app-link{justify-self:end;color:#fff;background:linear-gradient(135deg,var(--bright) 0%,var(--pink) 55%,var(--deep) 100%)}.sticker-track{height:44px;background:var(--soft);border-bottom:1px solid var(--border)}.sticker-track-inner{height:44px;display:flex;align-items:center;gap:8px}.sticker-link{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:9px;color:var(--muted);font-weight:700;font-size:14px}.sticker-link:hover,.sticker-link:focus-visible{background:#fff;color:var(--deep);outline:none}.sticker-link.is-current{background:var(--deep);color:#fff}.site-main{padding-top:calc(var(--header-h) + 26px);min-height:70vh}.hero,.section-block,.article-card,.policy-section,.faq-item{background:#fff;border:1px solid var(--border);box-shadow:var(--shadow);border-radius:20px}.hero{padding:22px;margin-bottom:24px}.hero-copy{padding:18px 2px 4px}.eyebrow{margin:0 0 8px;color:var(--deep);font-size:13px;font-weight:800;letter-spacing:.12em}.hero h1,.article-header h1{font-size:clamp(28px,4vw,32px);line-height:1.25;color:var(--title);margin:0 0 14px}.lead{font-size:17px;color:var(--text);max-width:880px}.button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.button-primary,.button-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:999px;font-weight:800}.button-primary{background:linear-gradient(135deg,var(--bright) 0%,var(--pink) 55%,var(--deep) 100%);color:#fff}.button-secondary{background:#fff;border:1px solid rgba(196,59,110,.28);color:var(--deep)}.button-primary:hover,.button-primary:focus-visible,.button-secondary:hover,.button-secondary:focus-visible{transform:translateY(-1px);outline:2px solid rgba(232,90,139,.28);outline-offset:2px}.banner-media,.content-media,.card-media,.app-media{background:var(--soft);border:1px solid var(--border);border-radius:18px;display:flex;align-items:center;justify-content:center;overflow:hidden}.banner-media{width:100%;aspect-ratio:16/7;max-height:300px}.banner-media img,.content-media img,.card-media img,.app-media img{width:100%;height:100%;object-fit:contain;object-position:center}.media-placeholder{width:100%;height:100%;min-height:170px;background:linear-gradient(145deg,#fff 0%,#FFEAF2 58%,#FFE1EC 100%)}.banner-media .media-placeholder{min-height:220px}.section-block{padding:24px;margin:24px auto}.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}.section-head h2{margin:0;color:var(--title);font-size:24px}.section-head p{margin:0;color:var(--muted);font-size:14px}.note-grid,.card-grid,.status-grid,.album-grid,.step-grid,.index-grid{display:grid;gap:16px}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.note-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.status-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.album-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.step-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.note-card,.content-card,.status-card,.album-card,.step-card,.index-card{border:1px solid var(--border);border-radius:18px;background:#fff;padding:17px}.content-card{padding:14px}.content-card h3,.note-card h3,.status-card h3,.album-card h3,.step-card h3,.index-card h3{color:var(--title);margin:10px 0 7px;font-size:18px}.content-card p,.note-card p,.status-card p,.album-card p,.step-card p,.index-card p{margin:0;color:var(--muted)}.card-media{height:200px}.numbered-list{display:grid;gap:12px;margin:18px 0}.number-item{display:grid;grid-template-columns:56px 1fr;gap:14px;align-items:start;padding:16px;border-radius:16px;background:var(--soft)}.number-item b,.big-number{font-size:24px;color:var(--deep);line-height:1}.number-item strong{color:var(--title)}.weekly-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.weekly-item{padding:20px;border-radius:18px;background:var(--soft);border:1px solid var(--border)}.weekly-item .big-number{font-size:38px;font-weight:900}.weekly-item h3{margin:12px 0 6px;color:var(--title)}.letter-card{padding:20px;border-left:4px solid var(--pink);background:var(--soft);border-radius:0 16px 16px 0}.letter-card + .letter-card{margin-top:14px}.letter-card .opinion{font-size:13px;font-weight:800;color:var(--deep)}.article-page{width:min(calc(100% - 32px),920px);margin:0 auto 34px}.article-header{margin-bottom:20px}.article-header .content-media{margin-top:18px;height:min(310px,50vw)}.article-card{padding:26px}.article-card section + section{margin-top:26px;padding-top:24px;border-top:1px solid var(--border)}.article-card h2,.policy-section h2{font-size:22px;color:var(--title);margin:0 0 10px}.article-card h3{font-size:18px;color:var(--title);margin:16px 0 8px}.article-card p{margin:0 0 12px}.soft-box{padding:18px;border-radius:16px;background:var(--soft);margin:14px 0}.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.tag{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:999px;background:var(--pale);color:var(--deep);font-weight:700;font-size:14px}.policy-stack{display:grid;gap:16px}.policy-section{padding:22px}.faq-list{display:grid;gap:14px}.faq-item{padding:20px}.faq-item h2{font-size:18px;margin:0 0 8px;color:var(--title)}.faq-item p{margin:0}.app-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}.app-media{min-height:360px;max-height:420px}.app-icon{width:64px;height:64px;border-radius:16px;object-fit:contain;background:#fff;border:1px solid var(--border);padding:4px}.site-footer{background:var(--title);color:#F8D6E4;margin-top:36px;padding:34px 0 calc(34px + env(safe-area-inset-bottom))}.footer-brand-line{display:flex;align-items:center;gap:14px;margin-bottom:26px}.footer-brand-line .brand-logo{height:32px}.footer-brand-line strong{display:block;color:#fff;font-size:18px}.footer-brand-line span{display:block;font-size:12px;letter-spacing:.1em}.footer-groups{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.footer-group h2{color:#fff;font-size:15px;margin:0 0 10px}.footer-group a{display:flex;align-items:center;min-height:44px;color:#F8D6E4;font-size:14px}.footer-group a:hover,.footer-group a:focus-visible{color:#fff;text-decoration:underline;outline:none}.footer-note{margin:26px 0 8px;color:#F8D6E4}.copyright{margin:0;color:#DDAFC2;font-size:13px}.page-overlay{position:fixed;inset:0;background:rgba(74,22,48,.34);z-index:90;opacity:0;visibility:hidden;pointer-events:none;transition:.2s}.page-overlay.is-active{opacity:1;visibility:visible;pointer-events:auto}.envelope-drawer{position:fixed;left:50%;bottom:0;z-index:100;width:min(920px,100%);max-height:70vh;background:#fff;border-radius:24px 24px 0 0;box-shadow:0 -20px 60px rgba(74,22,48,.18);transform:translate(-50%,105%);visibility:hidden;pointer-events:none;transition:transform .24s ease,visibility .24s}.envelope-drawer.is-open{transform:translate(-50%,0);visibility:visible;pointer-events:auto}.drawer-head{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid var(--border)}.drawer-brand{display:flex;align-items:center;gap:10px}.drawer-brand .brand-logo{height:30px;max-width:150px}.drawer-brand strong,.drawer-brand small{display:block}.drawer-brand strong{color:var(--title)}.drawer-brand small{color:var(--muted);font-size:11px}.round-close{min-height:44px;border:1px solid var(--border);background:#fff;color:var(--deep);border-radius:999px;padding:0 14px}.drawer-scroll{overflow-y:auto;max-height:calc(70vh - 76px);padding:20px}.drawer-group + .drawer-group{margin-top:20px}.drawer-group h2{margin:0 0 10px;font-size:15px;color:var(--deep)}.drawer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.drawer-links a{padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--bg)}.drawer-links strong,.drawer-links span{display:block}.drawer-links strong{color:var(--title)}.drawer-links span{color:var(--muted);font-size:13px;margin-top:2px}.drawer-links a:hover,.drawer-links a:focus-visible{border-color:rgba(196,59,110,.35);background:var(--soft);outline:none}.search-panel{position:fixed;z-index:100;top:140px;left:50%;width:min(720px,calc(100% - 32px));transform:translate(-50%,-12px);background:#fff;border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow);padding:18px;opacity:0;visibility:hidden;pointer-events:none;transition:.2s}.search-panel.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}.search-head{display:flex;align-items:center;justify-content:space-between;color:var(--title)}.search-box{display:block;margin:14px 0}.search-box input{width:100%;min-height:48px;border:1px solid rgba(196,59,110,.24);border-radius:14px;padding:0 14px;color:var(--title);background:var(--bg);outline:none}.search-box input:focus{border-color:var(--pink);box-shadow:0 0 0 3px rgba(232,90,139,.12)}.search-presets{display:flex;flex-wrap:wrap;gap:8px}.search-presets a{display:inline-flex;min-height:44px;align-items:center;padding:0 13px;background:var(--soft);color:var(--deep);border-radius:999px}.mobile-bottom-nav{display:none}.home-copy{max-width:900px}.compact-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.compact-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:999px;background:var(--soft);color:var(--deep);font-weight:700}.compact-links a:hover,.compact-links a:focus-visible{background:var(--pale);outline:2px solid rgba(232,90,139,.2)}
.placeholder-title{font-size:28px;font-weight:900;color:var(--title);letter-spacing:.04em}.card-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.card-layout section,.card-layout section+section{margin:0;padding:18px;border:1px solid var(--border);border-radius:16px;background:var(--soft)}.card-layout section h2{font-size:19px}.mail-layout section{padding-left:20px;border-left:4px solid var(--pink)}.mail-layout section+section{border-top:0;border-left:4px solid var(--pink);padding-top:0}.mail-layout section h2{font-size:20px}
@media (max-width:900px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.album-grid,.weekly-grid,.status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.step-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-groups{grid-template-columns:repeat(2,1fr)}.app-layout{grid-template-columns:1fr}.app-media{max-width:360px;margin:0 auto}}
@media (max-width:680px){.card-layout{grid-template-columns:1fr}:root{--header-h:86px}.sticker-track{display:none}.site-main{padding-top:calc(var(--header-h) + 20px)}.cover-bar-inner{grid-template-columns:minmax(0,1fr) auto auto;gap:7px}.logo-link{min-width:0;max-width:140px;overflow:hidden}.brand-logo{height:28px;max-width:130px}.brand-text{font-size:15px;white-space:nowrap}.envelope-button,.app-link{min-height:44px;padding:0 12px;font-size:13px}.page-wrap,.header-wrap{width:min(calc(100% - 32px),var(--max))}.hero,.section-block,.article-card{padding:18px}.banner-media{aspect-ratio:3/2}.banner-media .media-placeholder{min-height:190px}.card-grid,.note-grid,.index-grid,.album-grid,.weekly-grid,.status-grid,.step-grid{grid-template-columns:1fr}.card-media{height:190px}.section-head{align-items:start;flex-direction:column}.number-item{grid-template-columns:44px 1fr}.footer-groups{grid-template-columns:1fr 1fr;gap:16px}.site-footer{padding-bottom:calc(82px + env(safe-area-inset-bottom))}.mobile-bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:0;right:0;bottom:0;z-index:70;height:calc(50px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid var(--border)}.mobile-bottom-nav a{display:flex;align-items:center;justify-content:center;min-height:50px;font-size:12px;color:var(--muted);font-weight:800}.mobile-bottom-nav a.is-current{background:var(--pink);color:#fff}.drawer-links{grid-template-columns:1fr}.envelope-drawer{max-height:78vh}.drawer-scroll{max-height:calc(78vh - 76px)}.search-panel{top:94px;width:calc(100% - 24px)}.article-page{width:calc(100% - 32px)}.article-header .content-media{height:240px}}
@media (max-width:390px){.sugar-strip{font-size:11px}.sugar-strip-inner span{max-width:235px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cover-bar-inner{gap:4px}.envelope-button,.app-link{padding:0 9px}.brand-logo{max-width:108px}.brand-text{font-size:14px}.footer-groups{grid-template-columns:1fr}}
