:root{--bg:#FDECEC;--deep:#F4D4D4;--card:#FFF8F6;--soft:#F8E8E6;--title:#4A2020;--text:#5A3030;--muted:#8A5858;--aux:#B08080;--pink:#E88888;--rose:#C45A5A;--gold:#C4A070;--line:rgba(196,90,90,.18);--line2:rgba(232,136,136,.50);--shadow:0 12px 28px rgba(74,32,32,.08)}*{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","Microsoft YaHei",Arial,sans-serif;font-size:15px;line-height:1.7;overflow-x:hidden}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.shell{width:min(960px,calc(100% - 32px));margin:0 auto}.heart-edge{position:fixed;z-index:60;top:0;left:0;right:0;height:20px;background:var(--rose);color:var(--card);font-size:12px}.edge-inner{height:20px;display:flex;align-items:center;justify-content:space-between}.plain-btn{border:0;background:transparent;color:var(--card);height:20px;padding:0 4px;cursor:pointer}.peach-head{position:fixed;z-index:59;top:20px;left:0;right:0;height:54px;background:var(--card);border-bottom:1px solid var(--line)}.head-inner{height:54px;display:flex;align-items:center;justify-content:space-between}.brand,.head-actions{display:flex;align-items:center}.logo-img{height:24px;max-width:150px;object-fit:contain;object-position:center}.brand-text{font-size:16px;font-weight:800;color:var(--title)}.head-actions{gap:8px}.app-link,.drawer-open{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border-radius:14px;font-size:14px}.app-link{border:1px solid var(--rose);color:var(--title);background:var(--card)}.drawer-open{border:0;background:linear-gradient(135deg,#E88888 0%,#C45A5A 100%);color:var(--card);cursor:pointer}.heart-leaves{position:fixed;z-index:58;top:74px;left:0;right:0;height:46px;background:var(--deep);border-bottom:1px solid var(--line)}.leaves-inner{height:46px;display:flex;align-items:center;justify-content:center;gap:10px}.leaf{height:34px;min-width:92px;display:flex;align-items:center;justify-content:center;border-radius:0 18px 18px 0;background:var(--card);font-size:13px;border:1px solid var(--line)}.leaf.active{background:var(--rose);color:var(--card)}.site-main{padding-top:142px;padding-bottom:42px}.section{margin:0 auto 22px}.eyebrow{font-size:12px;color:var(--muted);letter-spacing:.08em}.page-hero{padding:26px 0 8px}.page-hero h1,.home-intro h1{font-size:24px;line-height:1.3;color:var(--title);margin:7px 0 12px}.page-hero p,.home-intro p{margin:0;color:var(--text)}h2{font-size:20px;line-height:1.4;color:var(--title);margin:0 0 10px}h3{font-size:16px;color:var(--title);margin:0 0 8px}.btn-primary,.btn-secondary{height:42px;display:inline-flex;align-items:center;justify-content:center;padding:0 18px;border-radius:13px;font-size:14px;margin-top:16px}.btn-primary{background:linear-gradient(135deg,#E88888 0%,#C45A5A 100%);color:var(--card)}.btn-secondary{background:var(--card);border:1px solid var(--rose);color:var(--title)}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.btn-primary:hover,.drawer-open:hover{filter:brightness(.97)}.btn-secondary:hover,.app-link:hover{background:var(--soft)}.home-leaf-index{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.home-leaf-index a{background:var(--card);border:1px solid var(--line2);border-radius:0 18px 18px 0;padding:8px 16px;font-size:13px}.home-intro{padding:26px 0 16px}.home-intro .lead{max-width:760px}.spread{display:grid;grid-template-columns:1fr 1fr;background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.spread>div{padding:24px}.spread>div+div{border-left:1px solid var(--line)}.image-slot{min-height:145px;background:var(--deep);border:1px dashed var(--line2);border-radius:16px;display:flex;align-items:center;justify-content:center;overflow:hidden}.image-slot img{width:100%;height:100%;object-fit:contain;object-position:center}.spread .image-slot{height:168px;margin-bottom:14px}.heart-strips{display:grid;gap:12px}.strip{display:grid;grid-template-columns:160px 1fr;gap:18px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px}.strip.no-image{grid-template-columns:1fr}.strip .image-slot{height:120px}.leaf-cards{display:grid;grid-template-columns:1.1fr .9fr;gap:14px}.leaf-card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:20px}.leaf-card .image-slot{height:150px;margin-bottom:14px}.shelf-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}.shelf-card{background:var(--soft);border:1px solid var(--line);border-radius:18px;padding:20px}.shelf-head{height:120px;margin-bottom:14px}.periods{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.period{background:var(--card);border-top:3px solid var(--rose);border-radius:16px;padding:18px}.status-list{display:grid;gap:10px}.status-item{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;background:var(--card);border:1px solid var(--line);padding:16px 18px;border-radius:16px}.badge{white-space:nowrap;background:var(--deep);color:var(--title);padding:5px 10px;border-radius:99px;font-size:12px}.app-split{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center;background:var(--card);border-radius:20px;padding:24px;border:1px solid var(--line)}.app-art{display:grid;grid-template-columns:1fr 64px;gap:12px;align-items:center}.app-art .image-slot{height:300px}.app-icon-slot{width:64px;height:64px;border-radius:16px;background:var(--deep);display:flex;align-items:center;justify-content:center}.app-icon-slot img{width:48px;height:48px;object-fit:contain}.point-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.point{background:var(--card);border-left:4px solid var(--pink);border-radius:14px;padding:17px}.faq-mini{display:grid;gap:10px}.faq-mini details{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px}.faq-mini summary{font-weight:700;color:var(--title);cursor:pointer}.brand-story{background:var(--rose);color:var(--card);border-radius:20px;padding:24px}.brand-story h2{color:var(--card)}.layout-card,.terms{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:var(--shadow)}.layout-card p,.terms p{margin:0 0 12px}.heart-index{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:16px 0}.heart-index a{background:var(--soft);border:1px solid var(--line);border-radius:16px;padding:12px;text-align:center}.open-book{display:grid;grid-template-columns:1fr 1fr;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:var(--card)}.book-page{padding:22px;min-height:220px}.book-page+ .book-page{border-left:1px solid var(--line)}.book-page .image-slot{height:168px;margin-bottom:14px}.single-flow{display:grid;gap:14px}.single-flow article{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px}.memo-list{counter-reset:memo;display:grid;gap:10px}.memo-list article{counter-increment:memo;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px 18px 18px 62px;position:relative}.memo-list article:before{content:counter(memo,decimal-leading-zero);position:absolute;left:18px;top:18px;color:var(--rose);font-weight:800}.topic-list{display:grid;gap:12px}.topic-row{display:grid;grid-template-columns:130px 1fr;gap:18px;background:var(--card);border-radius:16px;padding:18px;border:1px solid var(--line)}.center-card{max-width:760px;margin:0 auto;background:var(--card);text-align:center;border:1px solid var(--line);border-radius:22px;padding:26px}.center-card p{text-align:left}.center-card .image-slot{height:190px;margin:0 auto 18px}.terms section{padding:16px 0;border-bottom:1px solid var(--line)}.terms section:last-child{border-bottom:0}.faq-list{display:grid;gap:12px}.faq-item{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px}.faq-item h2{font-size:16px}.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.contact-grid article{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px}.about-banner{height:200px;margin-bottom:18px}.site-footer{background:#3A1818;color:#FDECEC;padding:30px 0 76px;border-top:1px solid rgba(255,248,246,.25);font-size:13px}.footer-brand{display:flex;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid rgba(255,248,246,.18)}.footer-brand div{display:flex;flex-direction:column}.footer-brand span{opacity:.75}.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:20px 0}.footer-grid h2{font-size:13px;color:#FFF8F6;margin-bottom:8px}.footer-grid a{display:block;padding:3px 0;color:#FDECEC}.footer-note{padding-top:14px;border-top:1px solid rgba(255,248,246,.18);opacity:.9}.copyright{padding-top:10px;opacity:.72}.overlay{position:fixed;z-index:80;inset:0;background:rgba(58,24,24,.32);opacity:0;visibility:hidden;pointer-events:none;transition:.2s}.overlay.show{opacity:1;visibility:visible;pointer-events:auto}.heart-drawer{position:fixed;z-index:90;right:20px;bottom:20px;width:320px;max-height:420px;background:var(--card);border:1px solid var(--line2);border-radius:22px;box-shadow:0 22px 60px rgba(58,24,24,.24);transform:translateY(26px);opacity:0;visibility:hidden;pointer-events:none;transition:.22s;overflow:hidden}.heart-drawer.show{transform:none;opacity:1;visibility:visible;pointer-events:auto}.drawer-top{height:58px;padding:0 14px 0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.drawer-brand{display:flex;gap:8px;align-items:center}.drawer-close,.search-close{min-height:44px;border:0;background:transparent;color:var(--rose);cursor:pointer}.drawer-scroll{max-height:362px;overflow:auto;padding:12px 14px 18px}.drawer-scroll section+section{margin-top:14px}.drawer-scroll h2{font-size:13px;margin:0 0 6px}.drawer-scroll a{display:grid;grid-template-columns:72px 1fr;gap:6px;padding:7px 0;border-bottom:1px dashed var(--line)}.drawer-scroll b{color:var(--title)}.drawer-scroll span{font-size:12px;color:var(--muted)}.search-layer{position:fixed;z-index:91;top:74px;left:0;right:0;opacity:0;visibility:hidden;pointer-events:none;transition:.2s}.search-layer.show{opacity:1;visibility:visible;pointer-events:auto}.search-card{width:min(640px,calc(100% - 32px));margin:10px auto 0;background:var(--card);border:1px solid var(--line2);border-radius:18px;padding:18px;box-shadow:var(--shadow)}.search-head{display:flex;align-items:center;justify-content:space-between}.search-card p{margin:4px 0 12px}.preset-links{display:flex;flex-wrap:wrap;gap:8px}.preset-links a{background:var(--soft);border:1px solid var(--line);padding:8px 12px;border-radius:12px}.mobile-bottom{display:none}
@media(max-width:700px){.heart-leaves{display:none}.site-main{padding-top:96px;padding-bottom:78px}.head-inner,.edge-inner{width:calc(100% - 24px)}.brand .logo-img{max-width:120px}.app-link,.drawer-open{padding:0 10px}.spread,.open-book,.leaf-cards,.shelf-cards,.periods,.app-split,.point-list,.contact-grid{grid-template-columns:1fr}.spread>div+div,.book-page+.book-page{border-left:0;border-top:1px solid var(--line)}.strip{grid-template-columns:1fr}.strip .image-slot{height:150px}.heart-index{grid-template-columns:repeat(2,1fr)}.topic-row{grid-template-columns:1fr}.footer-grid{grid-template-columns:repeat(2,1fr)}.heart-drawer{width:88%;right:6%;bottom:62px;max-height:68vh}.drawer-scroll{max-height:calc(68vh - 58px)}.search-layer{top:0;bottom:0;background:var(--rose)}.search-card{width:100%;height:100%;margin:0;border:0;border-radius:0;background:var(--rose);color:var(--card);padding:24px 18px}.search-card strong,.search-card p{color:var(--card)}.search-close{color:var(--card)}.preset-links a{background:#FFF8F6;color:var(--title);border-color:rgba(255,255,255,.45)}.mobile-bottom{position:fixed;z-index:70;left:0;right:0;bottom:0;height:calc(48px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(4,1fr);background:var(--card);border-top:1px solid var(--line)}.mobile-bottom a{display:flex;align-items:center;justify-content:center;font-size:13px;min-height:48px}.mobile-bottom a.active{background:var(--rose);color:var(--card)}.site-footer{padding-bottom:86px}.status-item{flex-direction:column;gap:8px}.app-art{grid-template-columns:1fr}.app-icon-slot{margin:0 auto}.about-banner{height:170px}}
