
:root{--bg:#FFF9F8;--paper:#fff;--blush:#FBE5EC;--pink:#EB7295;--soft:#F4B7C8;--yellow:#FFF1BF;--deep:#171316;--text:#393237;--sub:#72666D;--weak:#968A90;--line:rgba(35,22,28,.12);--shadow:0 12px 30px rgba(80,35,50,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:0;background:var(--bg);color:var(--text);font:15.5px/1.75 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;overflow-x:hidden}body.panel-active{overflow:hidden}a{color:inherit;text-decoration:none}a:hover{color:#ad365d}button,input{font:inherit}button{cursor:pointer}button:active,.btn:active{transform:scale(.98)}a,button,input{transition:color .18s,background .18s,box-shadow .18s}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--pink);outline-offset:2px}img{display:block;max-width:100%;width:100%;height:100%;object-fit:contain;object-position:center}p{margin:0 0 1em}h1,h2,h3{color:var(--deep);line-height:1.35;margin:0 0 .7em}h1{font-size:30px;letter-spacing:-.5px}h2{font-size:22px}h3{font-size:17px}.wrap{width:min(1140px,calc(100% - 48px));margin-inline:auto}.reading{max-width:840px}.site-main{min-height:46vh}.muted{color:var(--sub)}.tiny{font-size:13px}.eyebrow{font-size:12px;font-weight:750;color:#a53f62;letter-spacing:.12em}.skip-link{position:absolute;left:8px;top:-60px;background:#fff;padding:8px;z-index:30}.skip-link:focus{top:8px}.brand-strip{background:var(--deep);color:#fff;font-size:12px}.strip-inner{min-height:32px;display:flex;justify-content:space-between;align-items:center;gap:10px}.strip-en{color:var(--yellow)}.strip-actions{display:flex;gap:12px;align-items:center}.strip-actions a{color:var(--yellow)}.site-header{background:#fff;border-bottom:1px solid #f7dce5}.header-inner{height:64px;display:flex;gap:22px;align-items:center;justify-content:space-between}.site-logo{display:flex;align-items:center;min-width:145px;font-size:17px;color:var(--deep)}.logo-image{width:auto;height:28px;max-width:205px}.primary-nav{display:flex;gap:26px;align-items:center;align-self:stretch}.primary-nav a{display:flex;align-items:center;font-size:14px;position:relative;white-space:nowrap}.primary-nav a.is-current{color:#ba3d66}.primary-nav a.is-current:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--pink)}.header-actions{display:flex;gap:12px;align-items:center}.header-actions>a{font-size:13px;white-space:nowrap}.icon-button,.menu-button{background:transparent;color:inherit;border:0;min-height:44px;min-width:44px}.icon-button{font-size:23px}.menu-button{font-size:13px;border:1px solid var(--line);border-radius:10px;padding:7px 13px}.mobile-search{display:none}.category-band{background:var(--yellow);border-bottom:1px solid var(--line)}.category-inner{min-height:43px;display:flex;align-items:center}.desktop-cats,.mobile-cats{display:flex;gap:21px;flex-wrap:wrap}.mobile-cats{display:none}.category-band a{font-size:13px;min-height:40px;display:inline-flex;align-items:center}.category-band .is-current{font-weight:700;color:#aa365e}.page{padding-block:52px 68px}.section{padding-block:56px}.section+.section{border-top:1px solid var(--line)}.hero{display:grid;grid-template-columns:56fr 44fr;gap:38px;align-items:center;padding:64px 0}.hero p{max-width:610px}.media{width:100%;height:220px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:14px;min-width:0}.media img{width:100%;height:100%}.hero-media{height:310px;max-width:500px;background:var(--blush)}.wide-media{height:230px}.brand-media{height:260px}.portrait-media{width:270px;height:420px;max-width:100%;background:var(--blush)}.portrait-media img{height:100%}.icon-media{width:64px;height:64px}.icon-media img{width:64px;height:64px}.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 0}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 21px;font-size:14px;font-weight:700;border-radius:11px;border:1px solid var(--line);background:#fff;color:var(--deep)}.btn-primary{background:#c64d72;color:#fff;border-color:#c64d72}.btn-secondary{background:var(--yellow)}.btn:hover{box-shadow:var(--shadow)}.topic-mosaic{display:grid;grid-template-columns:1.12fr .88fr;gap:18px}.mosaic-lead{grid-row:span 2}.mosaic-lead .media{height:330px}.mosaic-small{display:grid;grid-template-columns:40% 1fr;gap:16px;align-items:center}.mosaic-small .media{height:145px}.surface{background:#fff;border:1px solid var(--line);border-radius:15px;padding:26px;box-shadow:var(--shadow)}.surface-soft{background:var(--blush)}.surface-yellow{background:var(--yellow)}.surface p:last-child,.feature-text p:last-child{margin-bottom:0}.topic-mosaic h3,.feature-text h2{margin-bottom:.5em}.text-link{font-size:14px;font-weight:750;color:#a83d63}.split{display:grid;grid-template-columns:42% minmax(0,58%);gap:32px;align-items:center}.split.reverse{grid-template-columns:minmax(0,58%) 42%}.split.reverse .media{order:2}.split.reverse .feature-text{order:1}.feature-text{min-width:0}.feature-text p{max-width:760px}.band-feature{background:var(--yellow);border-radius:16px;padding:22px 30px;display:grid;grid-template-columns:40% 1fr;gap:30px;align-items:center}.line-notes{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:20px}.line-notes>div{padding-top:12px;border-top:2px solid #eab5c4}.prose-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.prose-columns>div{border-top:3px solid var(--pink);padding-top:14px}.muted-block{background:var(--blush);padding:28px;border-radius:14px}.faq-teasers{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}.faq-teasers a{padding:13px 0;border-bottom:1px solid var(--line);font-weight:600}.services{display:flex;flex-wrap:wrap;gap:12px}.services a{padding:11px 14px;border:1px solid var(--line);border-radius:9px;min-height:44px;background:#fff}.adult-note{padding:24px 28px;border-left:4px solid #cb607e;background:var(--yellow);border-radius:11px}.adult-note strong{color:var(--deep)}.intro{max-width:830px}.intro .summary{font-size:16px;color:var(--sub);max-width:840px}.breadcrumb{font-size:13px;color:var(--sub);margin-bottom:22px}.breadcrumb a{text-decoration:underline;text-underline-offset:3px}.page-top{margin-bottom:28px}.page-label{display:inline-block;background:var(--blush);color:#923751;border-radius:5px;padding:4px 9px;font-size:12px;font-weight:700;margin-bottom:14px}.article{max-width:840px}.article section{margin:28px 0 36px}.article h2{padding-bottom:10px;border-bottom:1px solid var(--line)}.article p{font-size:15.5px}.article ul{padding-left:20px}.article li{margin-bottom:8px}.feature-article{display:grid;grid-template-columns:42% 1fr;gap:30px;align-items:start;margin:28px 0}.feature-article .media{height:240px}.timeline{counter-reset:timeline}.timeline section{position:relative;padding-left:32px;border-left:2px solid #f1c1cf;margin-left:10px;padding-bottom:12px}.timeline section:before{counter-increment:timeline;content:counter(timeline);display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--pink);color:#fff;font-weight:700;position:absolute;left:-15px;top:0}.rule-block{border-top:1px solid var(--line);padding-top:15px;margin-top:22px}.note-strip{padding:16px 20px;background:var(--yellow);border-radius:10px}.faq-list{max-width:860px}.qa{border-bottom:1px solid var(--line);padding:20px 0}.qa h2{font-size:17px;margin-bottom:10px}.qa p{margin:0}.quick-access{display:flex;align-items:center;justify-content:flex-start;gap:20px;flex-wrap:wrap;padding-block:20px 26px;border-top:1px solid var(--line)}.quick-access strong{font-size:14px}.quick-access a{font-size:13px;min-height:44px;display:inline-flex;align-items:center}.site-footer{background:#171316;color:#eadfe4;padding:48px 0 24px;font-size:13px}.footer-brand{display:flex;gap:18px;align-items:center;margin-bottom:26px}.footer-brand>a{color:#fff;font-size:17px}.footer-logo{height:28px;width:auto;max-width:200px}.footer-brand span{font-weight:750;color:#fff}.footer-brand small{display:block;font-size:12px;font-weight:400;color:#f6de8f}.footer-groups{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.footer-groups h2{color:#fff;font-size:15px}.footer-groups a{display:block;padding:4px 0;color:#d7cbd0;min-height:32px}.footer-groups a:hover{color:#fff}.footer-note{border-top:1px solid #40363d;margin-top:30px;padding-top:18px;color:#b9afb4}.footer-note p{margin-bottom:5px}.panel-backdrop{position:fixed;inset:0;background:rgba(23,19,22,.4);z-index:30;visibility:hidden;pointer-events:none;opacity:0;transition:opacity .18s}.panel-backdrop.open{visibility:visible;pointer-events:auto;opacity:1}.overlay-panel{position:fixed;top:106px;left:50%;transform:translateX(-50%);width:min(900px,calc(100vw - 40px));max-height:68vh;overflow-y:auto;background:#fff;border-top:3px solid var(--pink);border-radius:0 0 14px 14px;box-shadow:0 25px 80px rgba(35,22,28,.2);padding:22px 26px;z-index:31;visibility:hidden;pointer-events:none;opacity:0;transition:opacity .18s}.overlay-panel.open{visibility:visible;pointer-events:auto;opacity:1}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.panel-heading h2{font-size:20px;margin:0}.panel-close{min-height:44px;min-width:44px;border:0;background:var(--blush);border-radius:8px}.directory-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 34px}.directory-grid h3{font-size:15px;padding-bottom:8px;border-bottom:1px solid var(--line)}.directory-entry{display:block;padding:7px 0}.directory-entry strong{display:block;font-size:14px}.directory-entry span{display:block;font-size:12px;color:var(--sub)}.search-panel{width:min(640px,calc(100vw - 32px))}.search-panel label{display:block;font-size:13px;margin-bottom:8px}.search-panel input{width:100%;height:46px;padding:10px 14px;border-radius:9px;border:1px solid #cdbfc5;background:#fff}.search-results{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}.search-results a{display:flex;align-items:center;min-height:44px;padding:7px 12px;border-radius:8px;background:var(--bg)}.search-results a[hidden]{display:none}.search-empty{color:#a33a5a}
@media(max-width:950px){.primary-nav{gap:13px}.wrap{width:calc(100% - 48px)}.header-inner{gap:12px}.header-actions{gap:6px}.mosaic-small{grid-template-columns:1fr}.mosaic-small .media{height:165px}}
@media(max-width:720px){h1{font-size:26px}h2{font-size:20px}.wrap{width:calc(100% - 32px)}.page{padding-block:34px 46px}.section{padding-block:38px}.strip-en{display:none}.strip-search{display:none}.site-header .header-inner{height:58px}.site-logo{min-width:0}.site-logo strong{font-size:17px}.logo-image{height:27px;max-width:160px}.primary-nav,.app-shortcut{display:none!important}.mobile-search{display:inline-flex;align-items:center;justify-content:center}.menu-button{padding:7px 9px}.desktop-cats{display:none}.mobile-cats{display:flex;gap:0 17px}.category-inner{min-height:0;padding-block:3px}.category-band a{min-height:39px}.hero{grid-template-columns:1fr;padding:34px 0;gap:22px}.hero-media{height:205px;max-width:100%}.topic-mosaic,.split,.split.reverse,.band-feature,.feature-article{grid-template-columns:1fr}.mosaic-lead{grid-row:auto}.mosaic-lead .media{height:190px}.mosaic-small{grid-template-columns:39% 1fr}.mosaic-small .media{height:135px}.surface{padding:17px}.split.reverse .media,.split.reverse .feature-text{order:initial}.media,.wide-media,.feature-article .media{height:195px}.band-feature{padding:18px;gap:14px}.line-notes,.faq-teasers{grid-template-columns:1fr}.prose-columns{grid-template-columns:1fr;gap:15px}.portrait-media{width:220px;height:350px}.brand-media{height:180px}.footer-groups{grid-template-columns:1fr 1fr;gap:18px}.overlay-panel{top:90px;width:calc(100vw - 24px);max-height:72vh;padding:17px}.directory-grid{grid-template-columns:1fr;gap:12px}.quick-access{gap:8px 16px}.quick-access strong{width:100%}.page-top{margin-bottom:18px}}
@media(max-width:390px){.header-inner{gap:5px}.menu-button{font-size:12px}.category-band .mobile-cats{gap:0 12px}.category-band a{font-size:12px}.mosaic-small{grid-template-columns:1fr}.footer-groups{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.app-brand-row{display:flex;gap:12px;align-items:center;margin-bottom:10px}

.split:not(:has(.media)),.split.reverse:not(:has(.media)),.band-feature:not(:has(.media)),.feature-article:not(:has(.media)){grid-template-columns:1fr}
