:root{
  --bg:#fff5f8;
  --card:#ffffff;
  --primary:#e86f9b;
  --primary-dark:#b94d78;
  --primary-light:#ffd6e4;
  --deep:#4a2636;
  --muted:#8a6372;
  --border:#f3c6d6;
  --shadow:0 10px 34px rgba(232,111,155,.12);
}

*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body,#app{width:100%;height:100%;overflow:hidden}
body{font-family:"Microsoft YaHei",Arial,sans-serif;color:var(--deep);background:radial-gradient(circle at top left,#ffe0ec 0,#fff6fa 35%,transparent 60%),linear-gradient(135deg,#fff5f8,#ffe8f0);touch-action:manipulation}
button{font:inherit}

.boot-loading,.loading-page{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--primary-dark);font-size:2vw;background:var(--bg)}

.app{width:100vw;height:100vh;padding:1vw 1.1vw 2.3vw;display:flex;flex-direction:column;overflow:hidden}
.hero{height:60vh;display:grid;grid-template-columns:57% 43%;gap:1vw;flex-shrink:0;min-height:0}

.hero-card{height:100%;background:rgba(255,255,255,.95);border:1px solid var(--border);border-radius:1.4vw;padding:1.65vw 2vw;box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden}
.hero-info{flex:0 0 auto;padding-top:.1vw}
.brand{font-size:2.65vw;line-height:1.18;font-weight:850;letter-spacing:.035em}
.slogan{margin-top:.75vw;font-size:1.08vw;line-height:1.65;color:var(--muted);max-width:94%}
.meta{margin-top:1.25vw;display:flex;gap:.8vw;flex-wrap:wrap}
.pill{padding:.62vw 1vw;border-radius:999px;background:#fff;border:1px solid var(--border);font-size:.86vw;color:var(--primary-dark);white-space:nowrap}

.partner-board{margin-top:1.35vw;min-height:0;display:flex;flex-direction:column;flex:1;border-top:1px solid #f5dce5;padding-top:.85vw}
.partner-title{font-size:.9vw;font-weight:800;color:var(--primary-dark);margin-bottom:.65vw;letter-spacing:.08em}
.partner-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.62vw;overflow:auto;padding-right:.25vw}
.partner-item{min-height:4.05vw;border:1px solid #f3d8e2;border-radius:.75vw;background:#fff;display:flex;align-items:center;justify-content:center;gap:.42vw;padding:.42vw .5vw;overflow:hidden}
.partner-item img{max-width:58%;height:2.45vw;object-fit:contain;flex:0 1 auto}
.partner-item span{font-size:.67vw;color:#795664;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.hero-media{width:100%;height:100%;position:relative;overflow:hidden;border-radius:1.4vw;border:1px solid var(--border);background:#000;box-shadow:var(--shadow)}
.hero-media img,.hero-media video,.home-video{width:100%;height:100%;display:block;object-fit:cover;background:#000;border:0;outline:0}
.empty-media{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--primary-dark);font-size:1.8vw;background:linear-gradient(135deg,#fff,#ffe9f1)}

.section-grid{margin-top:.9vw;height:30vh;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:minmax(74px,1fr);gap:.72vw;overflow-y:auto;overscroll-behavior:contain;padding-right:.18vw;flex-shrink:0}
.section-card{border:1px solid var(--border);border-radius:1vw;background:rgba(255,255,255,.96);padding:.78vw .9vw;text-align:left;color:inherit;box-shadow:0 5px 16px rgba(232,111,155,.07);overflow:hidden;cursor:pointer;transition:.16s}
.section-card:active{transform:scale(.985)}
.section-card h3{font-size:1.22vw;line-height:1.25;color:var(--primary-dark);margin-bottom:.3vw}
.section-card p{font-size:.72vw;line-height:1.45;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

.site-copyright{position:fixed;left:0;right:0;bottom:.42vw;text-align:center;font-size:.62vw;color:#b98798;letter-spacing:.06em;pointer-events:none;z-index:500}

.detail-app{padding-bottom:2.4vw}
.topbar{display:flex;align-items:center;gap:1vw;margin-bottom:.8vw;flex-shrink:0}
.back{border:0;border-radius:.72vw;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;padding:.68vw 1.05vw;box-shadow:0 7px 20px rgba(232,111,155,.22);cursor:pointer}
.title{font-size:1.75vw;font-weight:800}
.content-grid{flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:max-content;gap:1vw;overflow:auto;padding-right:.3vw;padding-bottom:1vw}
.item{background:#fff;border:1px solid var(--border);border-radius:1vw;overflow:hidden;box-shadow:0 6px 20px rgba(232,111,155,.08)}
.thumb{width:100%;height:14vw;border:0;background:#ffe8f0;position:relative;overflow:hidden;display:block;padding:0;cursor:pointer}
.thumb img,.thumb video{width:100%;height:100%;display:block;object-fit:cover;background:#000}
.thumb span{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--muted)}
.play-mask{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:4vw;height:4vw;border-radius:50%;background:rgba(0,0,0,.5);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.55vw;padding-left:.15vw;pointer-events:none;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.item-body{padding:.9vw 1vw 1.05vw}
.item-body h3{font-size:1.14vw;color:var(--primary-dark);margin-bottom:.35vw}
.item-body p{font-size:.78vw;line-height:1.58;color:var(--muted);white-space:pre-wrap}
.item-body .subtitle{color:#9f6a7f;margin-bottom:.3vw}

.modal{position:fixed;inset:0;background:rgba(0,0,0,.86);display:none;align-items:center;justify-content:center;z-index:9999}
.modal.open{display:flex}
.modal-content{width:91vw;height:86vh;display:flex;align-items:center;justify-content:center}
.modal img,.modal video{max-width:100%;max-height:100%;object-fit:contain;background:#000;border-radius:1vw}
.modal-video{width:100%;height:100%}
.close{position:absolute;right:1.6vw;top:1.4vw;width:3vw;height:3vw;border:0;border-radius:50%;background:#fff;color:var(--primary-dark);font-size:1.5vw;cursor:pointer;z-index:10000}

.section-grid::-webkit-scrollbar,.content-grid::-webkit-scrollbar,.partner-grid::-webkit-scrollbar{width:6px}
.section-grid::-webkit-scrollbar-thumb,.content-grid::-webkit-scrollbar-thumb,.partner-grid::-webkit-scrollbar-thumb{background:#efc5d5;border-radius:999px}

@media(max-width:900px){
  html,body,#app{overflow:auto}
  .app{height:auto;min-height:100vh;padding:14px 14px 34px;overflow:visible}
  .hero{height:auto;grid-template-columns:1fr}
  .hero-card{min-height:360px;padding:24px}
  .hero-media{height:360px}
  .brand{font-size:38px}
  .slogan{font-size:18px}
  .pill{font-size:14px;padding:9px 14px}
  .partner-title{font-size:15px}
  .partner-grid{grid-template-columns:repeat(2,1fr)}
  .partner-item{min-height:64px}
  .partner-item img{height:42px}
  .partner-item span{font-size:13px}
  .section-grid{height:auto;grid-template-columns:repeat(2,1fr);overflow:visible}
  .section-card h3{font-size:22px}
  .section-card p{font-size:15px}
  .content-grid{grid-template-columns:1fr;overflow:visible}
  .thumb{height:240px}
  .item-body h3{font-size:22px}
  .item-body p{font-size:16px}
  .site-copyright{font-size:12px;bottom:7px}
}
