*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#FFF7FA;color:#5C2A3E;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;line-height:1.72;overflow-x:hidden}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:3px solid rgba(232,90,139,.35);outline-offset:3px}
.polaroid:hover,.album-book:hover{box-shadow:0 18px 38px rgba(196,59,110,.14)}
.directory-group a:hover,.search-links a:hover{background:#FFF7FA}
button,input{font:inherit}
img{max-width:100%;display:block}
.skip-link{position:fixed;left:16px;top:-80px;z-index:2000;background:#4A1630;color:#fff;padding:10px 16px;border-radius:999px}
.skip-link:focus{top:12px}
.topbar{position:fixed;z-index:500;top:0;left:0;right:0;height:56px;background:rgba(255,255,255,.94);border-bottom:1px solid rgba(232,90,139,.16);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 18px;backdrop-filter:blur(12px)}
.topbar-left{display:flex;justify-content:flex-start}
.topbar-brand{height:44px;min-width:120px;display:flex;align-items:center;justify-content:center;font-weight:800;color:#4A1630}
.topbar-brand img{max-height:36px;width:auto}
.topbar-menu,.topbar-app,.close-button,.rail-button{min-height:44px;border-radius:999px;border:1px solid rgba(232,90,139,.18);background:#fff;color:#C43B6E;cursor:pointer;padding:0 14px}
.topbar-app{display:flex;align-items:center;justify-self:end;font-weight:700}
.topbar-menu{display:none}
.side-rail{position:fixed;z-index:420;left:0;top:0;bottom:0;width:88px;background:#FFEAF2;border-right:1px solid rgba(232,90,139,.16);display:flex;flex-direction:column;align-items:center;padding:70px 8px 14px;gap:8px}
.rail-brand{width:58px;height:58px;display:grid;place-items:center;margin-bottom:5px}
.rail-icon,.rail-brand .media-slot{width:50px;height:50px;border-radius:16px;min-height:50px}
.rail-link,.rail-button{width:72px;min-height:44px;display:grid;place-items:center;text-align:center;font-size:13px;font-weight:700;padding:7px}
.rail-link:hover,.rail-link:focus-visible,.rail-button:hover,.rail-button:focus-visible,.topbar-menu:hover,.topbar-menu:focus-visible,.topbar-app:hover,.topbar-app:focus-visible,.close-button:hover,.close-button:focus-visible{outline:none;border-color:#E85A8B;box-shadow:0 0 0 3px rgba(232,90,139,.12)}
.rail-link.is-active{background:#C43B6E;color:#fff;border-radius:999px}
.site-main{margin-left:88px;padding:82px 24px 70px;min-height:70vh}
.page-wrap{max-width:1180px;margin:0 auto}
.page-hero{margin-bottom:30px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;color:#C43B6E;background:#FFE1EC;border:1px solid rgba(232,90,139,.16);border-radius:999px;padding:7px 12px;font-size:13px;font-weight:800;letter-spacing:.04em}
.page-hero h1,.journal-cover h1{font-size:clamp(28px,4vw,34px);line-height:1.25;color:#4A1630;margin:14px 0 12px}
.lead{font-size:17px;color:#8A4A62;max-width:780px;margin:0}
.section{margin:32px 0}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:16px}
.section h2,.section-head h2{font-size:24px;line-height:1.35;color:#4A1630;margin:0}
.section-head p,.section-intro{margin:6px 0 0;color:#8A4A62}
.card{background:#fff;border:1px solid rgba(232,90,139,.16);border-radius:20px;box-shadow:0 14px 34px rgba(196,59,110,.10);padding:22px}
.card h3{margin:0 0 8px;color:#4A1630;font-size:19px}
.card p:last-child{margin-bottom:0}
.soft-card{background:#FFEAF2;border:1px solid rgba(232,90,139,.16);border-radius:18px;padding:20px}
.grid-2,.grid-3,.grid-4{display:grid;gap:18px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.btn-primary,.btn-secondary{min-height:44px;padding:0 18px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:800}
.btn-primary{background:linear-gradient(135deg,#FF7AA8 0%,#E85A8B 55%,#C43B6E 100%);color:#fff}
.btn-secondary{background:#fff;color:#C43B6E;border:1px solid rgba(232,90,139,.22)}
.btn-primary:hover,.btn-primary:focus-visible,.btn-secondary:hover,.btn-secondary:focus-visible{outline:none;transform:translateY(-1px);box-shadow:0 10px 22px rgba(196,59,110,.14)}
.local-media,.media-slot{width:100%;border-radius:18px;background:linear-gradient(145deg,#FFEAF2,#FFF7FA);border:1px solid rgba(232,90,139,.12)}
.media-slot{min-height:180px;position:relative}
.media-slot:after{content:"";position:absolute;inset:18%;border:1px dashed rgba(196,59,110,.20);border-radius:18px}
.content-image{max-height:360px;object-fit:cover}
.journal-cover{background:#fff;border:1px solid rgba(232,90,139,.16);border-radius:22px;padding:28px;box-shadow:0 14px 34px rgba(196,59,110,.10)}
.journal-cover .cover-media{margin-top:24px;max-height:360px;object-fit:cover}
.polaroid-wall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.polaroid{background:#fff;padding:12px 12px 20px;border-radius:18px;box-shadow:0 14px 34px rgba(196,59,110,.10);border:1px solid rgba(232,90,139,.14)}
.polaroid:nth-child(2n){transform:rotate(.8deg)}
.polaroid:nth-child(3n){transform:rotate(-1deg)}
.polaroid .local-media,.polaroid .media-slot{aspect-ratio:4/3;object-fit:cover;border-radius:14px}
.polaroid h3{margin:14px 4px 6px;color:#4A1630}
.polaroid p{margin:0 4px;color:#8A4A62}
.notebook{background:#fff;border-radius:20px;border:1px solid rgba(232,90,139,.16);padding:22px;box-shadow:0 14px 34px rgba(196,59,110,.10)}
.notebook-row{display:grid;grid-template-columns:72px 1fr;gap:16px;padding:16px 0;border-bottom:1px dashed rgba(232,90,139,.24)}
.notebook-row:last-child{border-bottom:0}
.notebook-no{font-size:28px;font-weight:900;color:#E85A8B}
.album-shelf{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.album-book{background:#fff;border:1px solid rgba(232,90,139,.16);border-radius:20px;padding:14px;box-shadow:0 14px 34px rgba(196,59,110,.10)}
.album-cover{aspect-ratio:3/4;border-radius:16px;overflow:hidden;background:#FFEAF2}
.album-cover .local-media,.album-cover .media-slot{height:100%;object-fit:cover;border-radius:16px}
.album-book h3{margin:14px 2px 6px;color:#4A1630}
.number-list{display:grid;gap:14px}
.number-item{display:grid;grid-template-columns:90px 1fr;gap:18px;align-items:start;background:#fff;border-radius:18px;border:1px solid rgba(232,90,139,.16);padding:20px}
.big-no{font-size:38px;line-height:1;font-weight:900;color:#E85A8B}
.status-card{background:#FFEAF2;border-radius:18px;padding:20px;border:1px solid rgba(232,90,139,.16)}
.status-card .status{display:inline-block;background:#C43B6E;color:#fff;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800}
.letter-card{background:#fffdfd;border:1px solid rgba(232,90,139,.18);border-radius:18px;padding:24px;position:relative}
.letter-card:before{content:"编辑观点";position:absolute;top:16px;right:16px;font-size:12px;color:#C43B6E;background:#FFE1EC;border-radius:999px;padding:4px 9px}
.letter-card h3,.letter-card h2{padding-right:76px}
.article-flow{background:#fff;border:1px solid rgba(232,90,139,.16);border-radius:20px;padding:26px;box-shadow:0 14px 34px rgba(196,59,110,.08)}
.article-flow h2{margin:28px 0 10px;color:#4A1630;font-size:22px}
.article-flow h2:first-child{margin-top:0}
.article-flow p{margin:0 0 14px}
.index-list{display:grid;gap:14px}
.index-item{display:grid;grid-template-columns:minmax(120px,.36fr) 1fr;gap:20px;background:#fff;border:1px solid rgba(232,90,139,.16);border-radius:18px;padding:20px}
.index-item strong{font-size:18px;color:#4A1630}
.steps{counter-reset:step;display:grid;gap:16px}
.step{counter-increment:step;background:#fff;border:1px solid rgba(232,90,139,.16);border-radius:20px;padding:22px 22px 22px 78px;position:relative}
.step:before{content:counter(step,decimal-leading-zero);position:absolute;left:22px;top:22px;width:42px;height:42px;border-radius:50%;background:#FFE1EC;color:#C43B6E;display:grid;place-items:center;font-weight:900}
.faq-list{display:grid;gap:14px}
.faq-item{background:#fff;border:1px solid rgba(232,90,139,.16);border-radius:18px;padding:20px}
.faq-item h2{font-size:18px;margin:0 0 8px;color:#4A1630}
.tag-row{display:flex;flex-wrap:wrap;gap:8px}
.tag{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:999px;background:#FFE1EC;color:#C43B6E;font-size:13px;font-weight:800}
.notice{background:#FFEAF2;border-left:4px solid #E85A8B;border-radius:0 16px 16px 0;padding:16px 18px;color:#5C2A3E}
.site-footer{margin-left:88px;background:#4A1630;color:#F8D6E4;padding:40px 24px 34px}
.footer-inner{max-width:1180px;margin:0 auto}
.footer-brand{display:flex;align-items:center;gap:16px;margin-bottom:28px}
.footer-logo-wrap{max-width:150px}
.footer-logo-wrap img{max-height:36px;width:auto}
.footer-brand strong{display:block;font-size:19px;color:#fff}
.footer-brand span{display:block;font-size:12px;letter-spacing:.12em}
.footer-groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.footer-groups nav{display:flex;flex-direction:column;gap:8px}
.footer-groups h2{font-size:15px;color:#fff;margin:0 0 6px}
.footer-groups a{color:#F8D6E4;font-size:14px}
.footer-groups a:hover,.footer-groups a:focus-visible{text-decoration:underline;outline:none}
.footer-note{margin:28px 0 10px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);font-size:14px}
.copyright{margin:0;font-size:13px;color:#eab9cd}
.overlay{position:fixed;inset:0;z-index:1200;visibility:hidden;pointer-events:none}
.overlay.is-open{visibility:visible;pointer-events:auto}
.overlay-backdrop{position:absolute;inset:0;border:0;background:rgba(74,22,48,.25);cursor:pointer}
.menu-overlay{overflow:auto;background:#FFF7FA}
.menu-overlay .overlay-backdrop{position:fixed;background:#FFF7FA}
.menu-panel{position:relative;z-index:2;width:min(1180px,calc(100% - 32px));min-height:100%;margin:0 auto;background:transparent;padding:22px 0}
.overlay-head{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:52px}
.overlay-brand img{max-height:34px;width:auto}
.menu-panel>h2{color:#4A1630;margin:16px 0 18px}
.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding-bottom:28px}
.directory-group{background:#fff;border:1px solid rgba(232,90,139,.16);border-radius:20px;padding:18px}
.directory-group h3{margin:0 0 12px;color:#C43B6E}
.directory-group a{display:block;border-top:1px solid rgba(232,90,139,.12);padding:12px 2px}
.directory-group a:first-of-type{border-top:0}
.directory-group strong{display:block;color:#4A1630}
.directory-group span{display:block;color:#8A4A62;font-size:13px;margin-top:3px;line-height:1.5}
.search-panel{position:relative;z-index:2;width:min(620px,calc(100% - 32px));max-height:calc(100vh - 48px);overflow:auto;margin:24px auto;background:#fff;border:1px solid rgba(232,90,139,.18);border-radius:22px;padding:22px;box-shadow:0 20px 60px rgba(74,22,48,.18)}
.search-panel h2{margin:0;color:#4A1630}
.search-label{display:block;margin:16px 0 8px;color:#8A4A62}
.search-input{width:100%;height:50px;border-radius:999px;border:1px solid rgba(232,90,139,.25);padding:0 18px;color:#4A1630;background:#FFF7FA;outline:none}
.search-input:focus{border-color:#E85A8B;box-shadow:0 0 0 4px rgba(232,90,139,.10)}
.search-links{display:grid;gap:10px;margin-top:16px}
.search-links a{background:#FFEAF2;border-radius:16px;padding:14px 16px}
.search-links a span{display:block;color:#8A4A62;font-size:13px}
.search-empty{color:#8A4A62}
.overlay-open{overflow:hidden}
.mobile-bottom{display:none}
.split-media{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:22px;align-items:center}
.app-card{display:grid;grid-template-columns:160px 1fr;gap:24px;align-items:center}

.weekly-media{max-height:300px;object-fit:cover;margin-bottom:18px}
.app-visual{position:relative;align-self:stretch;min-width:0}
.app-showcase{height:100%;min-height:240px;max-height:340px;object-fit:cover}
.app-visual .app-icon{position:absolute;right:-10px;bottom:-10px;width:72px;height:72px;min-height:72px;border:5px solid #fff;box-shadow:0 10px 24px rgba(196,59,110,.16)}
.app-icon{width:120px;height:120px}
.app-icon.local-media,.app-icon.media-slot{border-radius:28px;min-height:120px}
.app-visual .app-icon.local-media,.app-visual .app-icon.media-slot{min-height:72px;border-radius:20px}
.legal-nav{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}
.legal-nav a{min-height:40px;padding:0 14px;border-radius:999px;background:#FFEAF2;color:#C43B6E;display:flex;align-items:center;font-weight:700}
@media (max-width:980px){
  .grid-4,.album-shelf{grid-template-columns:repeat(2,minmax(0,1fr))}
  .polaroid-wall{grid-template-columns:repeat(2,minmax(0,1fr))}
  .directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:899px){
  .side-rail{display:none}
  .topbar-menu{display:inline-flex;align-items:center}
  .site-main,.site-footer{margin-left:0}
  .site-main{padding:76px 18px 82px}
  .mobile-bottom{position:fixed;z-index:350;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);min-height:calc(50px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:rgba(255,255,255,.96);border-top:1px solid rgba(232,90,139,.16);backdrop-filter:blur(10px)}
  .mobile-bottom a{min-height:50px;display:grid;place-items:center;font-size:13px;color:#8A4A62}
  .mobile-bottom a.is-active{color:#E85A8B;font-weight:900}
  .site-footer{padding-bottom:calc(80px + env(safe-area-inset-bottom))}
}
@media (max-width:680px){
  .topbar{padding:0 12px;grid-template-columns:1fr minmax(112px,1.3fr) 1fr}
  .topbar-menu,.topbar-app{font-size:13px;padding:0 11px}
  .topbar-brand{min-width:0;font-size:16px}
  .journal-cover{padding:20px}
  .grid-2,.grid-3,.grid-4,.polaroid-wall,.album-shelf,.split-media,.app-card{grid-template-columns:1fr}
  .polaroid:nth-child(n){transform:none}
  .section-head{align-items:start;flex-direction:column}
  .index-item{grid-template-columns:1fr;gap:6px}
  .number-item{grid-template-columns:64px 1fr}
  .notebook-row{grid-template-columns:58px 1fr}
  .footer-groups{grid-template-columns:repeat(2,minmax(0,1fr))}
  .menu-panel{padding:16px 0}
  .directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .directory-group{padding:14px}
  .directory-group span{font-size:12px}
  .search-panel{margin:12px auto;max-height:calc(100vh - 24px)}
  .article-flow{padding:20px}
  .page-hero h1,.journal-cover h1{font-size:28px}
  .app-icon{width:96px;height:96px}
}
@media (max-width:430px){
  .directory-group{border-radius:16px}
  .directory-group a{padding:10px 0}
  .directory-group span{font-size:11px}
  .number-item{grid-template-columns:52px 1fr}
  .big-no{font-size:32px}
}
