:root{--bg:#FFF6F4;--deep:#F7E7E4;--card:#FFFCFB;--soft:#FDEEEB;--ink:#2A1618;--text:#4A2E32;--muted:#8A5A5E;--faint:#B0898C;--red:#E11D48;--wine:#8B1E3F;--pink:#F7C5C8;--gold:#D4A017;--cream:#FFF8F6;--border:rgba(225,29,72,.22);--strong-border:rgba(139,30,63,.40);--shadow:0 16px 36px rgba(42,22,24,.08);--max:1180px}
*{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",sans-serif;font-size:16px;line-height:1.75;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}.shell{width:min(calc(100% - 32px),var(--max));margin:0 auto}.site-header{position:fixed;z-index:50;top:0;left:0;right:0}.heart-line{height:12px;background:var(--wine);color:var(--cream);font-size:10px}.heart-line-inner{height:12px;display:flex;align-items:center;justify-content:space-between;line-height:1}.plain-btn{border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.search-open{padding:0 4px;font-size:10px}.peach-stage{height:58px;background:var(--cream);border-bottom:1px solid var(--border)}.stage-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand-link{display:flex;align-items:center;min-width:0}.brand-logo{height:28px;max-width:190px;object-fit:contain;object-position:left center}.brand-text{font-weight:800;color:var(--ink);font-size:21px}.stage-actions{display:flex;align-items:center;gap:10px}.primary-button,.secondary-button,.text-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border-radius:12px;font-weight:700;transition:.2s ease}.primary-button{border:1px solid transparent;background:linear-gradient(135deg,#E11D48 0%,#C41E3A 52%,#8B1E3F 100%);color:#fff}.secondary-button{border:1px solid var(--border);background:var(--cream);color:var(--wine);cursor:pointer}.compact{min-height:42px;padding:8px 14px}.primary-button:hover,.secondary-button:hover,.text-button:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(42,22,24,.10)}a:focus-visible,button:focus-visible{outline:3px solid rgba(212,160,23,.55);outline-offset:3px}.heart-tabs{height:48px;background:var(--pink);border-bottom:1px solid var(--border)}.heart-tabs-inner{height:48px;display:flex;align-items:center;justify-content:center;gap:28px}.heart-tabs a{position:relative;padding:7px 14px;border-radius:10px;color:var(--ink);font-weight:700}.heart-tabs a.active{background:var(--red);color:#fff}.heart-tabs a.active:after{content:"";position:absolute;left:10px;right:10px;bottom:-8px;height:2px;background:var(--gold)}.main-content{padding-top:138px;min-height:60vh}.page-hero{padding:34px 0 18px}.page-hero .eyebrow{margin:0 0 6px;color:var(--wine);font-weight:800;font-size:13px;letter-spacing:.08em}.page-hero h1{margin:0 0 12px;color:var(--ink);font-size:clamp(28px,4vw,32px);line-height:1.25}.page-hero p{max-width:850px;margin:0;color:var(--muted)}.hero-media,.media-slot{background:var(--soft);border:1px solid var(--border);border-radius:16px;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-media{width:100%;max-height:220px;min-height:150px}.hero-media img{width:100%;max-height:220px;object-fit:contain;object-position:center}.media-slot{min-height:156px}.media-slot img{width:100%;max-height:180px;object-fit:contain;object-position:center}.section{padding:24px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px}.section-head h2{margin:0;color:var(--ink);font-size:23px;line-height:1.3}.section-head p{margin:0;color:var(--muted);font-size:14px}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:20px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.content-card{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.content-card h3,.prose h2,.prose h3{color:var(--ink);margin:0 0 8px}.content-card p,.prose p{margin:0 0 12px}.content-card p:last-child,.prose p:last-child{margin-bottom:0}.tag{display:inline-flex;align-items:center;min-height:30px;padding:4px 9px;border-radius:10px;background:var(--deep);color:var(--wine);font-weight:700;font-size:13px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.text-button{border:1px solid var(--border);background:var(--cream);color:var(--wine)}.wide-note{background:linear-gradient(135deg,var(--soft),var(--cream));border:1px solid var(--border);border-left:4px solid var(--red);border-radius:16px;padding:22px}.status-card{background:var(--cream);border:1px solid var(--border);border-radius:14px;padding:18px}.status-card strong{display:block;color:var(--ink);margin-bottom:6px}.number-card{position:relative;padding-left:62px}.number-card .num{position:absolute;left:18px;top:18px;width:30px;height:30px;border-radius:10px;background:var(--wine);color:white;display:grid;place-items:center;font-weight:800}.index-list{display:grid;gap:12px}.index-list a,.index-list article{display:block;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px}.index-list strong{display:block;color:var(--ink);margin-bottom:4px}.index-list span{color:var(--muted)}.prose{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:24px}.prose + .prose{margin-top:18px}.notice{background:var(--deep);border:1px solid var(--strong-border);border-radius:14px;padding:16px;color:var(--ink)}.app-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:center}.app-visual{background:var(--soft);border:1px solid var(--border);border-radius:16px;min-height:300px;display:flex;align-items:center;justify-content:center}.app-visual img{max-height:420px;object-fit:contain}.faq-list details{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px 18px}.faq-list details+details{margin-top:12px}.faq-list summary{cursor:pointer;color:var(--ink);font-weight:800}.faq-list p{margin:10px 0 0}.site-footer{margin-top:44px;background:#2A1618;color:#FFF6F4;padding:36px 0 calc(24px + env(safe-area-inset-bottom))}.footer-grid{display:grid;grid-template-columns:1.45fr repeat(4,1fr);gap:26px}.footer-grid h2{font-size:15px;margin:0 0 8px;color:#F7C5C8}.footer-grid a{display:block;color:#FFF6F4;margin:6px 0;font-size:14px}.footer-brand p{color:#EACFD3;font-size:14px}.footer-logo-line{display:flex!important;align-items:center;gap:10px}.footer-logo{height:26px;max-width:160px;object-fit:contain}.footer-logo-line span{display:flex;flex-direction:column}.footer-logo-line small{color:#D9B8BE}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:28px;padding-top:16px;display:flex;gap:16px;flex-wrap:wrap;color:#EACFD3;font-size:13px}.footer-bottom a{color:#fff}.page-shade{position:fixed;inset:0;background:rgba(42,22,24,.46);z-index:70;opacity:0;visibility:hidden;pointer-events:none;transition:.2s}.page-shade.open{opacity:1;visibility:visible;pointer-events:auto}.peach-box,.search-layer{position:fixed;z-index:80;background:var(--cream);box-shadow:0 26px 60px rgba(42,22,24,.24);visibility:hidden;pointer-events:none;opacity:0;transition:.22s ease}.peach-box{top:70px;left:max(16px,calc((100vw - min(calc(100vw - 32px),1180px))/2));width:380px;max-height:calc(100vh - 88px);overflow:auto;border:1px solid var(--border);border-top:2px solid var(--red);border-radius:0 0 12px 12px;transform:translateY(-10px)}.peach-box.open,.search-layer.open{visibility:visible;pointer-events:auto;opacity:1;transform:translateY(0)}.peach-box-head,.search-head{display:flex;align-items:center;justify-content:space-between;padding:15px 16px;border-bottom:1px solid var(--border)}.peach-box-brand{display:flex;align-items:center;gap:8px;color:var(--ink)}.peach-box-brand img{height:24px;max-width:140px;object-fit:contain}.peach-groups{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px;padding:14px}.peach-groups h2{font-size:13px;color:var(--wine);margin:4px 0 8px}.peach-groups a{display:block;padding:9px 8px;border-radius:10px}.peach-groups a:hover{background:var(--soft)}.peach-groups strong{display:block;color:var(--ink);font-size:14px}.peach-groups span{display:block;color:var(--muted);font-size:12px;line-height:1.45}.search-layer{top:70px;left:50%;width:420px;max-width:calc(100vw - 32px);border:1px solid var(--border);border-top:2px solid var(--red);border-radius:0 0 14px 14px;transform:translate(-50%,-10px)}.search-layer.open{transform:translate(-50%,0)}.search-form-look{margin:16px;border:1px solid var(--strong-border);border-radius:12px;padding:13px 14px;background:white;color:var(--muted)}.search-shortcuts{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 18px}.search-shortcuts a{border:1px solid var(--border);border-radius:10px;padding:8px 10px;color:var(--wine);font-weight:700}.panel-open{overflow:hidden}.mobile-bottom{display:none}
@media(max-width:820px){.heart-tabs{display:none}.main-content{padding-top:70px}.grid-2,.grid-3,.grid-4,.app-layout{grid-template-columns:1fr}.section{padding:18px 0}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.peach-box{top:70px;left:16px;right:16px;width:auto;height:58vh;max-height:58vh}.search-layer{top:70px}.mobile-bottom{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;z-index:60;left:0;right:0;bottom:0;height:calc(50px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--cream);border-top:1px solid var(--border)}.mobile-bottom a{display:flex;align-items:center;justify-content:center;min-width:0;font-size:13px;font-weight:700;color:var(--wine)}.mobile-bottom a.active{background:var(--red);color:white}.site-footer{padding-bottom:calc(78px + env(safe-area-inset-bottom))}.hero-media{min-height:130px}.app-visual{min-height:220px}}
@media(max-width:560px){.shell{width:min(calc(100% - 32px),var(--max))}.heart-brand{max-width:75%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stage-actions{gap:6px}.secondary-button,.primary-button.compact{padding:8px 11px;font-size:14px;min-height:44px}.brand-logo{max-width:140px;height:26px}.footer-grid{grid-template-columns:1fr 1fr;gap:20px}.peach-groups{grid-template-columns:1fr 1fr;gap:8px}.card,.prose{padding:18px}.page-hero{padding-top:26px}}
