:root{--gold:#f4bf18;--black:#060606;--shadow:0 12px 30px rgba(0,0,0,.06)}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:"Microsoft YaHei",system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:#111;background:#fff}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}.page{min-height:100vh;background:#fff}.container{width:min(1280px,calc(100% - 72px));margin:0 auto}.hero{position:relative;min-height:510px;color:#fff;overflow:hidden;background:radial-gradient(circle at 50% 15%, rgba(255,208,75,.10), rgba(0,0,0,0) 35%), linear-gradient(180deg, rgba(0,0,0,.90), rgba(0,0,0,.86)), #050505}.hero.custom-bg{background-size:cover;background-position:center center}.header{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-start;padding:28px 0 0}.brand{color:#fff}.brand .logo-line{font-size:34px;font-weight:800;line-height:1;letter-spacing:.2px}.brand .logo-line span{color:var(--gold)}.brand .sub{margin-top:12px;font-size:16px;font-weight:600}.brand .accent{width:42px;height:4px;border-radius:3px;background:var(--gold);margin-top:16px}.share-link{display:flex;align-items:center;gap:10px;color:#fff;font-size:16px;font-weight:600;margin-top:4px;background:none;border:none}.share-link svg{width:22px;height:22px;stroke:#fff;stroke-width:1.8;fill:none}.hero-center{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:12px;min-height:390px;text-align:center}.hero-title{font-size:60px;line-height:1.1;margin:0;font-weight:800;letter-spacing:.2px}.hero-title span{color:var(--gold)}.hero-sub{margin-top:24px;font-size:18px;color:#ededed}.cta-wrap{background:#f3f3f3;padding:28px 0 22px}.cta-button{margin:0 auto;display:flex;align-items:center;justify-content:center;gap:12px;width:320px;height:68px;border:none;border-radius:16px;background:var(--gold);color:#111;box-shadow:0 14px 30px rgba(244,191,24,.18);font-size:20px;font-weight:800}.cta-button svg{width:34px;height:34px;stroke:#111;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.answers{background:#f5f5f5;padding:10px 0 32px}.answers-head{display:flex;align-items:flex-end;justify-content:space-between}.answers-title{font-size:28px;font-weight:800;margin:0}.answers-link{font-size:16px;font-weight:700;color:#222}.tabs{display:flex;gap:28px;margin-top:18px;align-items:center}.tab{position:relative;padding-bottom:10px;color:#6a6a6a;font-size:16px;font-weight:700;cursor:pointer}.tab.active{color:#111}.tab.active::after{content:"";position:absolute;left:0;bottom:0;width:38px;height:3px;border-radius:3px;background:var(--gold)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:14px}.card{background:#fff;border-radius:16px;min-height:285px;padding:30px 24px 22px;box-shadow:var(--shadow);display:flex;flex-direction:column}.card-id{font-size:14px;font-weight:800;color:#222}.card-content{margin-top:18px;font-size:17px;font-weight:700;line-height:1.7;color:#1c1c1c;flex:1}.card-meta{display:flex;justify-content:space-between;align-items:center;margin-top:24px;gap:12px}.card-author{display:flex;align-items:center;gap:10px;color:#6f6f6f;font-size:14px;font-weight:700}.avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(145deg,#30435b,#0d1117);display:grid;place-items:center;font-size:18px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.12)}.card-actions{display:flex;align-items:center;gap:16px;color:#222}.like-btn,.icon-btn{border:none;background:none;padding:0;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:#222}.like-btn svg,.icon-btn svg{width:20px;height:20px;stroke:#000;stroke-width:1.7;fill:none}.like-btn.liked svg{fill:#ff5a5a;stroke:#ff5a5a}.more-link{text-align:center;margin:20px auto 0;font-size:16px;font-weight:700;color:#222;width:max-content;display:block}.footer{background:#050505;color:#fff;padding:30px 0}.footer-inner{display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:center;gap:18px}.footer-item{display:flex;align-items:center;gap:18px;min-height:88px;padding:8px 12px;position:relative}.footer-item + .footer-item::before{content:"";position:absolute;left:-8px;top:8px;bottom:8px;width:1px;background:#202020}.footer-item .fi-icon{width:46px;height:46px;display:grid;place-items:center;flex:0 0 46px}.footer-item .fi-icon svg{width:38px;height:38px;stroke:var(--gold);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.footer-item .fi-text strong{display:block;font-size:18px;line-height:1.25;margin-bottom:8px}.footer-item .fi-text span{display:block;font-size:16px;color:#e9e9e9;line-height:1.2}.social-group{display:flex;align-items:center;gap:10px;justify-self:end}.social-pill{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;font-size:12px;font-weight:800;color:#fff}.wx{background:#20b44b}.xhs{background:#ff3355}.dy{background:#121212;border:1px solid #2d2d2d}.lk{background:#1f2937}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;align-items:center;justify-content:center;z-index:30}.modal-backdrop.show{display:flex}.modal{width:min(680px,calc(100% - 36px));background:#fff;border-radius:18px;padding:24px 24px 20px;box-shadow:0 20px 60px rgba(0,0,0,.18)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.modal-title{font-size:22px;font-weight:800;margin:0}.close-btn{border:none;background:none;font-size:26px;line-height:1;color:#777}.form-grid{display:grid;gap:14px}.form-row label{display:block;font-size:14px;font-weight:700;color:#333;margin-bottom:7px}.form-row input,.form-row textarea,.form-row select{width:100%;padding:12px 14px;border:1px solid #ddd;border-radius:12px;background:#fafafa;outline:none}.form-row textarea{min-height:120px;resize:vertical}.hint{font-size:13px;color:#888;margin-top:6px}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:18px}.secondary-btn,.primary-btn{border:none;border-radius:12px;height:44px;padding:0 18px;font-weight:700}.secondary-btn{background:#efefef}.primary-btn{background:var(--gold)}.notice{margin-top:12px;padding:10px 12px;border-radius:12px;background:#fff7d4;color:#6b5600;font-size:14px;display:none}.notice.show{display:block}.detail-layout{background:#f5f5f5;min-height:100vh}.detail-topbar{background:#050505;color:#fff;padding:18px 0}.detail-topbar .back-link{font-weight:700}.detail-card{background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:28px;margin-top:22px}.detail-title{font-size:16px;color:#6a6a6a;font-weight:800}.detail-content{font-size:24px;line-height:1.7;font-weight:700;margin-top:18px}.detail-meta{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:22px;flex-wrap:wrap}.detail-comments{margin-top:26px}.comment-item{background:#fafafa;border:1px solid #ededed;border-radius:12px;padding:14px;margin-top:10px}.comment-item strong{display:block;margin-bottom:6px}.comment-form{margin-top:16px;display:grid;gap:10px}.comment-form input,.comment-form textarea{border:1px solid #ddd;border-radius:12px;padding:12px}.comment-form textarea{min-height:90px}.admin-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh;background:#f5f5f5}.admin-sidebar{background:#0e1014;color:#fff;padding:24px 18px}.admin-logo{font-size:30px;font-weight:800;line-height:1}.admin-logo span{color:var(--gold)}.admin-sub{margin-top:8px;color:#cfcfcf}.admin-nav{margin-top:24px;display:grid;gap:10px}.admin-nav button{border:none;background:#181b22;color:#fff;height:44px;border-radius:12px;text-align:left;padding:0 14px;font-weight:700}.admin-nav button.active{background:var(--gold);color:#111}.admin-main{padding:24px}.admin-section{display:none}.admin-section.active{display:block}.panel{background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:20px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat-card{background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:18px}.stat-card small{color:#777}.stat-card strong{display:block;font-size:28px;margin-top:8px}.login-wrap{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#0b0d10,#12161d)}.login-card{width:min(420px,calc(100% - 32px));background:#fff;border-radius:20px;padding:28px;box-shadow:0 20px 60px rgba(0,0,0,.25)}.login-card h1{margin:0 0 10px;font-size:28px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:12px 10px;border-bottom:1px solid #eee;vertical-align:top;text-align:left;font-size:14px}.badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700}.badge.pending{background:#fff0c0;color:#806200}.badge.approved{background:#e7f8e8;color:#16712a}.action-group{display:flex;flex-wrap:wrap;gap:8px}.mini-btn{border:none;border-radius:10px;padding:8px 10px;font-size:12px;font-weight:700;background:#efefef}.mini-btn.gold{background:var(--gold)}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.admin-form-row label{display:block;font-size:13px;font-weight:700;margin-bottom:7px}.admin-form-row input,.admin-form-row textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:12px;background:#fafafa}.admin-form-row textarea{min-height:120px}.full{grid-column:1/-1}.tools{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}@media (max-width:1100px){.cards{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr;justify-items:start}.footer-item+.footer-item::before{display:none}}@media (max-width:768px){.container{width:min(100% - 28px,1280px)}.header{padding-top:22px}.brand .logo-line{font-size:26px}.brand .sub{font-size:14px}.hero{min-height:470px}.hero-center{min-height:350px;padding-top:30px}.hero-title{font-size:34px}.hero-sub{font-size:16px;line-height:1.6;padding:0 12px}.cta-wrap{padding:24px 0 18px}.cta-button{width:100%;max-width:320px;height:62px;font-size:18px}.answers-title{font-size:24px}.answers-head{align-items:flex-start;gap:16px;flex-direction:column}.cards{grid-template-columns:1fr}.admin-shell{grid-template-columns:1fr}.admin-sidebar{padding-bottom:12px}.stat-grid{grid-template-columns:1fr 1fr}.admin-form-grid{grid-template-columns:1fr}}


/* v3：按最终效果图恢复页头，并仅修正灯泡、页脚图标和社交平台 Logo */
.header{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  z-index:4;
  padding:28px 36px 0;
}
.brand .logo-line{font-size:34px}
.share-link{
  position:absolute;
  top:28px;
  right:36px;
  margin:0;
}
.share-link svg{
  width:23px;
  height:23px;
}

.cta-button{gap:36px}
.cta-button svg{
  width:34px;
  height:34px;
  overflow:visible;
}
.cta-button svg path{
  stroke:#111;
  stroke-width:1.65;
}

.footer-item .fi-icon{
  width:54px;
  height:54px;
  flex-basis:54px;
}
.footer-item .fi-icon svg{
  width:46px;
  height:46px;
  stroke:var(--gold);
  fill:none;
  stroke-width:1.65;
}
.footer-item .fi-icon svg .dot{
  fill:var(--gold);
  stroke:none;
}

.social-pill{
  width:38px;
  height:38px;
  padding:0;
  overflow:hidden;
}
.social-pill svg{
  width:28px;
  height:28px;
}
.wx svg{
  fill:#fff;
  stroke:#fff;
  stroke-width:1.7;
}
.wx svg .eye{
  fill:#20b44b;
  stroke:none;
}
.xhs svg{
  fill:none;
  stroke:#fff;
  stroke-width:2.2;
  stroke-linecap:round;
}
.dy{
  position:relative;
  background:#16181d;
}
.dy svg{
  width:30px;
  height:30px;
  fill:none;
  stroke:none;
}
.dy .dy-cyan{fill:#25f4ee}
.dy .dy-red{fill:#fe2c55}
.dy .dy-white{fill:#fff}
.lk svg{
  fill:none;
  stroke:#fff;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

@media (max-width:768px){
  .header{padding:22px 20px 0}
  .share-link{top:22px;right:20px}
}


/* v4：仅按本轮确认修改主视觉排版、灯泡和页脚图标；删除顶部与页脚多余分享入口 */
.hero{min-height:470px}
.hero-center{
  min-height:365px;
  padding-top:48px;
}
.hero-title{
  width:min(680px, 100%);
  font-size:48px;
  line-height:1.16;
  letter-spacing:0;
}
.hero-sub{
  margin-top:22px;
  font-size:17px;
}
.cta-button svg{
  width:30px;
  height:30px;
}
.cta-button svg path{
  stroke:#111;
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.footer-inner{
  grid-template-columns:repeat(3,1fr);
  max-width:980px;
  margin:0 auto;
  gap:0;
}
.footer-item{
  justify-content:center;
  padding:8px 30px;
}
.footer-item + .footer-item::before{
  left:0;
  top:4px;
  bottom:4px;
}
.footer-item .fi-icon{
  width:58px;
  height:58px;
  flex:0 0 58px;
}
.footer-item .fi-icon svg{
  width:52px;
  height:52px;
  stroke:var(--gold);
  fill:none;
  stroke-width:1.5;
}
.footer-item .fi-icon svg .dot{
  fill:var(--gold);
  stroke:none;
}
.footer-item .fi-text strong{font-size:18px}
.footer-item .fi-text span{font-size:16px}
@media (max-width:768px){
  .hero{min-height:450px}
  .hero-center{min-height:345px;padding-top:54px}
  .hero-title{font-size:34px;line-height:1.2}
  .footer-inner{grid-template-columns:1fr}
  .footer-item{justify-content:flex-start;padding:10px 12px}
}




/* v8 exact bulb asset */
.cta-button{gap:10px}
.cta-button .cta-bulb-exact{display:block;width:36px;height:auto;object-fit:contain;flex:0 0 auto}
@media (max-width:768px){.cta-button .cta-bulb-exact{width:32px}}


/* v12 button icon ratio fix - match reference 1 */
.cta-button{gap:18px !important;}
.cta-button .cta-bulb-exact{width:28px !important;height:auto !important;}
@media (max-width:768px){.cta-button .cta-bulb-exact{width:26px !important;}}


/* v13：让宽屏下的主标题、副标题和按钮保持紧凑协调，不随屏幕高度拉开 */
@media (min-width:1101px){
  .hero{
    min-height:360px !important;
    height:360px;
  }
  .hero-center{
    min-height:360px !important;
    height:360px;
    padding-top:30px !important;
  }
  .hero-title{
    font-size:48px !important;
    line-height:1.16 !important;
  }
  .hero-sub{
    margin-top:22px !important;
    font-size:17px !important;
  }
  .cta-wrap{
    padding:20px 0 14px !important;
  }
}


/* v14 hero subtitle spacing refinement */
.hero-sub{margin-top:30px !important;font-size:19px !important;line-height:1.9 !important;letter-spacing:.6px !important;color:#f0f0f0 !important;max-width:980px;}


/* v15 hero title typography - match reference 1 */
.hero-title{font-weight:700 !important;letter-spacing:.15px !important;}
@media (min-width:1101px){
  .hero-title{font-size:46px !important;line-height:1.24 !important;}
}


/* v16 hero typography refine to match approved mockup */
.hero-title{
  font-weight:600 !important;
  letter-spacing:.35px !important;
}
.hero-sub{
  margin-top:26px !important;
  font-size:17px !important;
  line-height:2.0 !important;
  letter-spacing:.9px !important;
  font-weight:400 !important;
  color:#f2f2f2 !important;
  max-width:920px !important;
}
@media (min-width:1101px){
  .hero-title{
    font-size:44px !important;
    line-height:1.26 !important;
  }
}


/* v17：响应式稳定、真实交互与后台预览 */
.hero-title{width:min(720px,92vw)!important;text-wrap:balance;}
.hero-sub{width:min(760px,90vw);text-wrap:balance;}
@media (min-width:1101px){
  .hero{height:360px!important;min-height:360px!important;}
  .hero-center{height:360px!important;min-height:360px!important;padding-top:28px!important;}
}
@media (min-width:769px) and (max-width:1100px){
  .hero{height:430px!important;min-height:430px!important;}
  .hero-center{height:430px!important;min-height:430px!important;padding-top:40px!important;}
  .hero-title{font-size:clamp(38px,5vw,44px)!important;}
}

.tab{border:0;background:transparent;}
.card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;border:1px solid transparent;}
.card-clickable{cursor:pointer;}
.card-clickable:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(0,0,0,.10);border-color:rgba(244,191,24,.22);}
.card-clickable:focus-visible{outline:3px solid rgba(244,191,24,.5);outline-offset:3px;}
.card-content{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;}
.like-btn,.icon-btn{border-radius:8px;padding:5px;transition:background .18s ease,transform .18s ease;}
.like-btn:hover,.icon-btn:hover{background:#f2f2f2;}
.like-btn:active,.icon-btn:active{transform:scale(.94);}
.like-btn.liked svg{fill:#ff5555!important;stroke:#ff5555!important;}

.primary-btn:disabled{opacity:.65;cursor:not-allowed;}
.form-hint-row{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:6px;}
.char-count{font-size:13px;color:#888;white-space:nowrap;}
.char-count.warning{color:#b66b00;font-weight:700;}
.image-preview{margin-top:10px;display:flex;align-items:center;gap:12px;padding:10px;border:1px solid #e5e5e5;background:#fafafa;border-radius:12px;}
.image-preview[hidden]{display:none;}
.image-preview img{width:88px;height:64px;object-fit:cover;border-radius:8px;}
.image-preview span{font-size:13px;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,18px);z-index:60;background:#111;color:#fff;padding:12px 18px;border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.22);opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;font-size:14px;}
.toast.show{opacity:1;transform:translate(-50%,0);}
.all-title{margin:0 0 6px;font-size:28px;}.all-sub{color:#777;margin-bottom:18px;}.detail-comments h3{margin:0 0 10px;font-size:20px;}.comment-time{color:#666;font-size:13px;margin-bottom:8px;}.empty-text{color:#777;}
.bg-meta{margin-top:8px;color:#6b5600;font-size:13px;}
@media (max-width:768px){
  .card-content{-webkit-line-clamp:5;}
  .form-hint-row{align-items:flex-start;}
  .toast{width:calc(100% - 40px);text-align:center;border-radius:14px;}
}


/* v18: when a custom hero background is uploaded, hide the default decorative layers */
.hero.custom-bg::before,
.hero.custom-bg::after,
.hero.custom-bg .texture{
  display:none !important;
}


/* v19: custom background clarity and detail-page repair */
.hero.custom-bg{
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  filter:none !important;
}
.hero.custom-bg .hero-center{backdrop-filter:none !important;}


/* v20: adjustable hero overlay and optional idea images */
#overlayInput{width:100%;accent-color:var(--gold);}
.admin-image-preview{display:flex;align-items:center;gap:9px;margin-top:9px;color:#6b5600;font-size:12px;font-weight:700;}
.admin-image-preview img{width:72px;height:48px;object-fit:cover;border-radius:7px;border:1px solid #ddd;}
.legacy-image-note{display:block;margin-top:7px;color:#a05c00;}
.idea-media{margin:24px 0 4px;}
.idea-media img{width:100%;max-height:680px;object-fit:contain;background:#f2f2f2;border-radius:14px;border:1px solid #e5e5e5;}
.idea-media figcaption{margin-top:7px;color:#888;font-size:12px;text-align:center;}
.has-image-badge{display:inline-block;margin-left:9px;padding:2px 7px;border-radius:999px;background:#fff3bd;color:#705600;font-size:11px;font-weight:700;vertical-align:middle;}


/* v21: visible sorting and share-poster workflow */
.tabs-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;}
.sort-note{font-size:13px;color:#888;padding-bottom:10px;}
.cards-refresh{animation:cardsRefresh .24s ease;}
@keyframes cardsRefresh{from{opacity:.55;transform:translateY(4px)}to{opacity:1;transform:none}}
.all-list-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;}
.all-answer-tabs{margin-top:0;}
.all-sort-note{text-align:right;margin:-4px 0 14px;}
.all-answer-cards{margin-top:0;}
.share-panel-backdrop{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.62);display:none;align-items:center;justify-content:center;padding:20px;}
.share-panel-backdrop.show{display:flex;}
.share-panel{width:min(920px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:20px;padding:22px;box-shadow:0 24px 80px rgba(0,0,0,.3);}
.share-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px;}
.share-panel-head h3{margin:0;font-size:24px;}
.share-panel-head p{margin:6px 0 0;color:#777;font-size:14px;}
.share-poster-wrap{width:min(420px,100%);margin:0 auto;background:#eee;border-radius:14px;overflow:hidden;min-height:300px;display:grid;place-items:center;}
.share-poster-wrap img{width:100%;height:auto;display:block;}
.share-loading{color:#777;font-size:14px;padding:40px;}
.share-platform-title{margin:18px 0 10px;font-size:14px;color:#777;font-weight:700;}
.share-platforms{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.share-platform{border:1px solid #e4e4e4;background:#fafafa;border-radius:14px;padding:12px;display:flex;align-items:center;justify-content:center;gap:9px;font-weight:700;transition:.18s ease;}
.share-platform:hover{transform:translateY(-2px);border-color:#f4bf18;background:#fffaf0;}
.platform-mark{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:#fff;font-size:15px;font-weight:800;}
.wechat .platform-mark{background:#20b44b;}.xhs-share .platform-mark{background:#ff3154;}.douyin-share .platform-mark{background:#17191e;}
.share-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:16px;}
.share-help{text-align:center;color:#888;font-size:12px;line-height:1.65;margin-top:12px;}
@media(max-width:768px){
  .tabs-row,.all-list-head{align-items:flex-start;}
  .sort-note{display:none;}
  .all-list-head{flex-direction:column;}
  .all-answer-tabs{margin-top:4px;}
  .all-sort-note{display:block;text-align:left;margin:0 0 12px;}
  .share-panel{padding:16px;}
  .share-platforms{grid-template-columns:1fr 1fr 1fr;gap:8px;}
  .share-platform{padding:9px 5px;flex-direction:column;font-size:12px;gap:5px;}
  .share-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;}
  .share-actions .primary-btn{grid-column:1/-1;}
}


/* v22: cleaner all-answer sorting and platform-specific share preparation */
.all-sort-note{display:none!important;}
.share-platform{cursor:pointer;}
.share-platform.active{border-color:#f4bf18;background:#fff7d6;box-shadow:0 0 0 2px rgba(244,191,24,.16);}
.platform-mark{overflow:hidden;}
.platform-mark svg{width:26px;height:26px;display:block;}
.wechat .platform-mark{background:#20b44b;}
.wechat .platform-mark svg{fill:#fff;stroke:#fff;stroke-width:1.5;}
.wechat .platform-mark .brand-eye{fill:#20b44b;stroke:none;}
.xhs-share .platform-mark{width:46px;background:#ff2442;border-radius:10px;}
.xhs-logo-text{display:block;color:#fff;font-size:11px;font-weight:900;line-height:1;letter-spacing:-1px;white-space:nowrap;transform:scale(.88);}
.douyin-share .platform-mark{background:#16181d;}
.douyin-share .platform-mark svg{width:29px;height:29px;}
.douyin-share .dy-cyan{fill:#25f4ee}.douyin-share .dy-red{fill:#fe2c55}.douyin-share .dy-white{fill:#fff}
.wechat-channels{display:flex;justify-content:center;gap:10px;margin:12px 0 0;}
.wechat-channels[hidden]{display:none;}
.channel-btn{border:1px solid #ddd;background:#fff;border-radius:999px;padding:8px 16px;font-weight:700;color:#555;}
.channel-btn.active{border-color:#20b44b;color:#137c32;background:#eefaf1;}
.platform-guide{margin:14px auto 0;padding:14px 16px;width:min(620px,100%);border-radius:14px;background:#f7f7f7;border:1px solid #e9e9e9;text-align:left;}
.platform-guide strong{font-size:15px;}.platform-guide span{margin-left:10px;color:#8a6500;font-size:13px;font-weight:700;}.platform-guide p{margin:7px 0 0;color:#666;font-size:13px;line-height:1.65;}
#systemShareBtn[hidden]{display:none;}
@media(max-width:768px){
  .xhs-share .platform-mark{width:38px;}
  .platform-guide span{display:block;margin:5px 0 0;}
  .share-actions{grid-template-columns:1fr 1fr;}
  .share-actions #systemShareBtn{grid-column:1/-1;}
}


/* v23：iPad / 平板布局优化 */
@media (min-width:700px) and (max-width:1100px){
  .container{width:min(100% - 44px,1280px);}
  .hero{min-height:430px !important;height:auto !important;}
  .hero-center{min-height:430px !important;height:auto !important;padding-top:46px !important;}
  .hero-title{font-size:40px !important;line-height:1.25 !important;max-width:650px;}
  .hero-sub{font-size:16px !important;line-height:1.8 !important;max-width:760px !important;}
  .cards,.all-answer-cards{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .footer-inner{grid-template-columns:repeat(3,minmax(0,1fr)) !important;max-width:980px;margin:0 auto;justify-items:stretch !important;gap:0 !important;}
  .footer-item{justify-content:center !important;padding:8px 18px !important;}
  .footer-item + .footer-item::before{display:block !important;left:0 !important;top:4px !important;bottom:4px !important;}
  .footer-item .fi-icon{width:50px;height:50px;flex:0 0 50px;}
  .footer-item .fi-icon svg{width:44px;height:44px;}
  .footer-item .fi-text strong{font-size:17px;}
  .footer-item .fi-text span{font-size:14px;}
  .share-panel{width:min(760px,calc(100% - 32px));}
}
@media (max-width:699px){
  .cards,.all-answer-cards{grid-template-columns:1fr !important;}
}


/* v24 admin dashboard drill-down */
.stat-card-link{
  width:100%;
  border:0;
  text-align:left;
  color:inherit;
  cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
  border:1px solid transparent;
}
.stat-card-link:hover{
  transform:translateY(-3px);
  box-shadow:0 15px 34px rgba(0,0,0,.09);
  border-color:rgba(244,191,24,.55);
}
.stat-card-link:focus-visible{outline:3px solid rgba(244,191,24,.35);outline-offset:3px}
.stat-click-hint{display:block;margin-top:12px;font-size:12px;font-weight:700;color:#a07800}
.ideas-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.ideas-filter-label{margin-top:8px;color:#777;font-size:13px;line-height:1.6}
.ideas-clear-filter{height:38px;white-space:nowrap}
.admin-empty-state{text-align:center;padding:42px 10px;color:#888;font-weight:700}
@media(max-width:768px){.ideas-panel-head{align-items:stretch;flex-direction:column}.ideas-clear-filter{align-self:flex-start}}

/* v28：手机端专项比例优化 + iPad 背景完整显示 */
@media (min-width:700px) and (max-width:1100px){
  .hero{
    height:370px !important;
    min-height:370px !important;
  }
  .hero.custom-bg{
    background-size:100% 100%, contain !important;
    background-position:center center, center center !important;
    background-repeat:no-repeat, no-repeat !important;
    background-color:#071729 !important;
  }
  .header{
    position:absolute !important;
    inset:0 0 auto 0;
    z-index:3;
    padding:24px 28px 0 !important;
  }
  .hero-center{
    height:370px !important;
    min-height:0 !important;
    padding:66px 28px 18px !important;
    justify-content:center !important;
  }
  .hero-title{
    font-size:38px !important;
    line-height:1.22 !important;
  }
  .hero-sub{
    margin-top:18px !important;
    font-size:15px !important;
    line-height:1.75 !important;
  }
}

@media (max-width:699px){
  .container{
    width:calc(100% - 32px) !important;
  }
  .hero{
    height:390px !important;
    min-height:390px !important;
  }
  .hero.custom-bg{
    background-size:100% 100%, auto 58% !important;
    background-position:center center, center 62% !important;
    background-repeat:no-repeat, no-repeat !important;
    background-color:#071729 !important;
  }
  .header{
    position:absolute !important;
    inset:0 0 auto 0;
    z-index:3;
    padding:18px 18px 0 !important;
  }
  .brand .logo-line{
    font-size:24px !important;
    line-height:1 !important;
  }
  .brand .sub{
    margin-top:8px !important;
    font-size:13px !important;
  }
  .brand .accent{
    width:34px !important;
    height:3px !important;
    margin-top:10px !important;
  }
  .hero-center{
    height:390px !important;
    min-height:0 !important;
    padding:92px 10px 18px !important;
    justify-content:center !important;
  }
  .hero-title{
    width:100% !important;
    max-width:360px !important;
    font-size:clamp(28px,8vw,32px) !important;
    line-height:1.18 !important;
    letter-spacing:0 !important;
  }
  .hero-sub{
    width:100% !important;
    max-width:320px !important;
    margin-top:16px !important;
    padding:0 !important;
    font-size:14px !important;
    line-height:1.75 !important;
    letter-spacing:.25px !important;
  }
  .cta-wrap{
    padding:16px 0 12px !important;
  }
  .cta-button{
    width:min(100%,290px) !important;
    height:54px !important;
    border-radius:15px !important;
    gap:14px !important;
    font-size:17px !important;
    box-shadow:0 10px 24px rgba(244,191,24,.18) !important;
  }
  .cta-button .cta-bulb-exact{
    width:23px !important;
  }
  .answers{
    padding:18px 0 24px !important;
  }
  .answers-head{
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
  }
  .answers-title{
    font-size:24px !important;
    line-height:1.2 !important;
  }
  .answers-link{
    font-size:14px !important;
    white-space:nowrap;
  }
  .tabs{
    gap:24px !important;
    margin-top:16px !important;
  }
  .tab{
    font-size:15px !important;
    padding-bottom:9px !important;
  }
  .tab.active::after{
    width:34px !important;
  }
  .cards{
    gap:16px !important;
    margin-top:14px !important;
  }
  .card{
    min-height:230px !important;
    padding:24px 20px 18px !important;
    border-radius:16px !important;
  }
  .card-content{
    margin-top:16px !important;
    font-size:16px !important;
    line-height:1.65 !important;
  }
  .card-meta{
    margin-top:20px !important;
  }
  .card-author{
    font-size:13px !important;
  }
  .avatar{
    width:32px !important;
    height:32px !important;
  }
  .card-actions{
    gap:10px !important;
  }
  .more-link{
    margin-top:18px !important;
    font-size:15px !important;
  }
  .footer{
    padding:18px 0 calc(18px + env(safe-area-inset-bottom)) !important;
  }
  .footer-inner{
    width:calc(100% - 40px) !important;
    gap:0 !important;
  }
  .footer-item{
    min-height:0 !important;
    justify-content:flex-start !important;
    gap:16px !important;
    padding:14px 0 !important;
  }
  .footer-item + .footer-item::before{
    display:none !important;
  }
  .footer-item .fi-icon{
    width:40px !important;
    height:40px !important;
    flex:0 0 40px !important;
  }
  .footer-item .fi-icon svg{
    width:35px !important;
    height:35px !important;
    stroke-width:1.45 !important;
  }
  .footer-item .fi-text strong{
    margin-bottom:5px !important;
    font-size:17px !important;
    line-height:1.25 !important;
  }
  .footer-item .fi-text span{
    font-size:14px !important;
    line-height:1.35 !important;
    color:#d9d9d9 !important;
  }
}

@media (max-width:380px){
  .hero{
    height:375px !important;
    min-height:375px !important;
  }
  .hero-center{
    height:375px !important;
    padding-top:88px !important;
  }
  .hero-title{
    font-size:28px !important;
  }
}

@media (min-width:700px) and (max-width:1100px) and (orientation:landscape) and (max-height:650px){
  .hero{
    height:330px !important;
    min-height:330px !important;
  }
  .hero-center{
    height:330px !important;
    padding-top:58px !important;
  }
}

/* v29：进一步压缩手机首屏，并将底部三项改为横向排列 */
@media (max-width:699px){
  .hero{
    height:330px !important;
    min-height:330px !important;
  }
  .hero.custom-bg{
    /* 第一层为遮罩，第二层地图保持原始比例，不拉伸 */
    background-size:100% 100%, auto 47% !important;
    background-position:center center, center 62% !important;
    background-repeat:no-repeat, no-repeat !important;
  }
  .header{
    padding:15px 16px 0 !important;
  }
  .brand .logo-line{
    font-size:22px !important;
  }
  .brand .sub{
    margin-top:7px !important;
    font-size:12px !important;
  }
  .brand .accent{
    width:31px !important;
    margin-top:8px !important;
  }
  .hero-center{
    height:330px !important;
    padding:76px 12px 10px !important;
  }
  .hero-title{
    max-width:345px !important;
    font-size:clamp(27px,7.5vw,30px) !important;
    line-height:1.16 !important;
  }
  .hero-sub{
    max-width:310px !important;
    margin-top:12px !important;
    font-size:13px !important;
    line-height:1.55 !important;
  }

  .footer{
    padding:14px 0 calc(14px + env(safe-area-inset-bottom)) !important;
  }
  .footer-inner{
    width:calc(100% - 20px) !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    align-items:stretch !important;
    justify-items:stretch !important;
    gap:0 !important;
  }
  .footer-item{
    min-width:0 !important;
    min-height:104px !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:center !important;
    gap:8px !important;
    padding:8px 4px !important;
    text-align:center !important;
  }
  .footer-item + .footer-item::before{
    display:block !important;
    left:0 !important;
    top:10px !important;
    bottom:10px !important;
    background:#262626 !important;
  }
  .footer-item .fi-icon{
    width:32px !important;
    height:32px !important;
    flex:0 0 32px !important;
  }
  .footer-item .fi-icon svg{
    width:30px !important;
    height:30px !important;
    stroke-width:1.5 !important;
  }
  .footer-item .fi-text{
    min-width:0 !important;
  }
  .footer-item .fi-text strong{
    margin-bottom:4px !important;
    font-size:13px !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
  }
  .footer-item .fi-text span{
    font-size:11px !important;
    line-height:1.25 !important;
    white-space:nowrap !important;
  }
}

@media (max-width:380px){
  .hero{
    height:315px !important;
    min-height:315px !important;
  }
  .hero-center{
    height:315px !important;
    padding-top:72px !important;
  }
  .hero-title{
    font-size:26px !important;
  }
  .hero-sub{
    font-size:12px !important;
  }
  .footer-inner{
    width:calc(100% - 12px) !important;
  }
  .footer-item{
    min-height:98px !important;
    padding-left:2px !important;
    padding-right:2px !important;
  }
  .footer-item .fi-icon{
    width:29px !important;
    height:29px !important;
    flex-basis:29px !important;
  }
  .footer-item .fi-icon svg{
    width:27px !important;
    height:27px !important;
  }
  .footer-item .fi-text strong{
    font-size:12px !important;
  }
  .footer-item .fi-text span{
    font-size:10px !important;
  }
}

/* v30：按确认稿重做手机首屏，并加入可视化头像选择 */
.avatar{overflow:hidden;padding:0;background:#111 !important;}
.avatar .avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block;}
.modal{width:min(780px,calc(100% - 36px));max-height:calc(100vh - 40px);overflow:auto;}
.avatar-current{height:50px;border:1px solid #ddd;border-radius:12px;background:#fafafa;display:flex;align-items:center;justify-content:space-between;padding:6px 14px;}
.avatar-current-main{display:flex;align-items:center;gap:10px;min-width:0;}
.avatar-current-image{width:34px;height:34px;border-radius:50%;overflow:hidden;flex:0 0 34px;box-shadow:0 0 0 1px rgba(0,0,0,.06);}
.avatar-current-image img{width:100%;height:100%;object-fit:cover;}
.avatar-current-main strong{font-size:15px;}
.avatar-current-arrow{font-size:22px;color:#6c86a4;line-height:1;transform:translateY(-2px);}
.avatar-suggestions-title{margin:14px 0 10px;font-size:14px;font-weight:800;color:#222;}
.avatar-picker{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px 10px;}
.avatar-choice{border:0;background:transparent;padding:0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:7px;color:#222;font-size:12px;line-height:1.2;}
.avatar-choice-image{position:relative;width:64px;height:64px;border-radius:50%;overflow:hidden;display:block;background:#eee;box-shadow:0 0 0 2px transparent;transition:.16s ease;}
.avatar-choice-image img{width:100%;height:100%;object-fit:cover;display:block;}
.avatar-choice:hover .avatar-choice-image{transform:translateY(-2px);box-shadow:0 5px 14px rgba(0,0,0,.12);}
.avatar-choice.selected{color:#2574c8;font-weight:800;}
.avatar-choice.selected .avatar-choice-image{box-shadow:0 0 0 3px #fff,0 0 0 5px #2c7acb;}
.avatar-choice.selected .avatar-choice-image::after{content:'✓';position:absolute;right:0;bottom:0;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#2c7acb;color:#fff;font-size:12px;font-weight:900;border:2px solid #fff;}

@media (max-width:699px){
  .hero{
    height:auto !important;
    min-height:0 !important;
    background:#fff !important;
    overflow:hidden !important;
  }
  .hero.custom-bg{
    background-color:#fff !important;
  }
  .header{
    position:relative !important;
    inset:auto !important;
    min-height:108px !important;
    padding:20px 20px 16px !important;
    background:#fff !important;
  }
  .brand{color:#111 !important;}
  .brand .logo-line{
    font-size:24px !important;
    color:#111 !important;
  }
  .brand .sub{
    margin-top:8px !important;
    font-size:13px !important;
    color:#111 !important;
  }
  .brand .accent{
    width:34px !important;
    height:3px !important;
    margin-top:10px !important;
  }
  .hero-center{
    height:176px !important;
    min-height:176px !important;
    padding:14px 16px 12px !important;
    justify-content:center !important;
    background-color:#071729 !important;
  }
  .hero.custom-bg .hero-center{
    background-image:linear-gradient(rgba(0,0,0,var(--hero-overlay,.25)),rgba(0,0,0,var(--hero-overlay,.25))),var(--hero-image) !important;
    background-size:100% 100%,100% auto !important;
    background-position:center center,center center !important;
    background-repeat:no-repeat,no-repeat !important;
  }
  .hero-title{
    max-width:350px !important;
    font-size:clamp(25px,7vw,28px) !important;
    line-height:1.13 !important;
    text-shadow:0 2px 10px rgba(0,0,0,.24);
  }
  .hero-sub{
    max-width:none !important;
    width:auto !important;
    margin-top:11px !important;
    padding:0 !important;
    font-size:12.5px !important;
    line-height:1.4 !important;
    letter-spacing:0 !important;
    white-space:nowrap !important;
    text-shadow:0 1px 6px rgba(0,0,0,.28);
  }
  .cta-wrap{
    background:#fff !important;
    padding:14px 0 14px !important;
  }
  .cta-button{
    width:min(260px,calc(100% - 48px)) !important;
    height:50px !important;
    border-radius:14px !important;
    gap:12px !important;
    font-size:17px !important;
  }
  .cta-button .cta-bulb-exact{width:22px !important;}
  .answers{
    background:#f8f8f8 !important;
    padding:22px 0 24px !important;
  }
  .answers-head{align-items:center !important;}
  .answers-title{font-size:25px !important;}
  .answers-link{font-size:14px !important;}
  .tabs-row{margin-top:0 !important;}
  .tabs{margin-top:16px !important;}
  .sort-note{display:none !important;}
  .card{
    min-height:220px !important;
    padding:22px 18px 17px !important;
    border-radius:15px !important;
  }
  .card-content{font-size:16px !important;line-height:1.62 !important;}
  .modal-backdrop{align-items:flex-start !important;padding:12px 0 !important;overflow:auto !important;}
  .modal{width:calc(100% - 24px) !important;max-height:none !important;margin:auto;padding:19px 16px 16px !important;border-radius:17px !important;}
  .modal-title{font-size:20px !important;}
  .form-grid{gap:13px !important;}
  .form-row textarea{min-height:105px !important;}
  .avatar-picker{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 6px;}
  .avatar-choice-image{width:55px;height:55px;}
  .avatar-choice{font-size:11px;}
  .form-actions{position:sticky;bottom:-16px;background:#fff;padding:12px 0 0;margin-top:12px;}
}

@media (max-width:380px){
  .header{min-height:102px !important;padding:18px 18px 14px !important;}
  .hero-center{height:166px !important;min-height:166px !important;padding-left:10px !important;padding-right:10px !important;}
  .hero-title{font-size:24px !important;}
  .hero-sub{font-size:11.5px !important;white-space:normal !important;max-width:340px !important;}
  .avatar-picker{grid-template-columns:repeat(4,minmax(0,1fr));}
  .avatar-choice-image{width:50px;height:50px;}
}
@media (max-width:699px){
  .hero > .container{width:100% !important;max-width:none !important;}
}


/* v31：手机端首屏继续精简，恢复地图完整显示，补充更多动物头像 */
@media (max-width:699px){
  .hero{
    height:auto !important;
    min-height:0 !important;
  }
  .hero.custom-bg{
    background-size:100% 100%, contain !important;
    background-position:center center, center center !important;
    background-repeat:no-repeat, no-repeat !important;
    background-color:#08203a !important;
  }
  .header{
    position:relative !important;
    inset:auto !important;
    padding:12px 16px 10px !important;
    background:#fff !important;
  }
  .brand .logo-line{
    font-size:16px !important;
    line-height:1 !important;
  }
  .brand .sub{
    margin-top:6px !important;
    font-size:10px !important;
    font-weight:700 !important;
  }
  .brand .accent{
    width:26px !important;
    height:3px !important;
    margin-top:8px !important;
  }
  .hero-center{
    height:238px !important;
    min-height:238px !important;
    padding:14px 12px 16px !important;
    justify-content:center !important;
  }
  .hero-title{
    max-width:340px !important;
    font-size:clamp(25px,7.3vw,29px) !important;
    line-height:1.14 !important;
  }
  .hero-sub{
    max-width:310px !important;
    margin-top:12px !important;
    font-size:12.5px !important;
    line-height:1.55 !important;
    letter-spacing:.1px !important;
  }
  .cta-wrap{
    padding:14px 0 10px !important;
  }
  .cta-button{
    width:min(100%,280px) !important;
    height:52px !important;
    font-size:16px !important;
  }
}
@media (max-width:380px){
  .hero-center{
    height:220px !important;
    min-height:220px !important;
  }
  .hero-title{font-size:26px !important;}
}

/* v32：修正手机端首屏白色区域过高、恢复背景图完整显示，并优化动物头像 */
@media (max-width:699px){
  .hero{
    height:auto !important;
    min-height:0 !important;
  }
  .hero.custom-bg{
    background-color:#fff !important;
  }
  .header{
    position:relative !important;
    inset:auto !important;
    min-height:0 !important;
    padding:8px 16px 6px !important;
    background:#fff !important;
  }
  .brand .logo-line{
    font-size:15px !important;
    line-height:1 !important;
    color:#111 !important;
  }
  .brand .sub{
    margin-top:4px !important;
    font-size:9px !important;
    font-weight:700 !important;
    color:#111 !important;
  }
  .brand .accent{
    width:24px !important;
    height:3px !important;
    margin-top:6px !important;
  }
  .hero > .container{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
  }
  .hero-center{
    height:230px !important;
    min-height:230px !important;
    padding:12px 12px 14px !important;
    justify-content:center !important;
    background-color:#08203a !important;
  }
  .hero.custom-bg .hero-center{
    background-image:linear-gradient(rgba(0,0,0,var(--hero-overlay,.25)),rgba(0,0,0,var(--hero-overlay,.25))),var(--hero-image) !important;
    background-size:contain !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
    background-color:#08203a !important;
  }
  .hero-title{
    width:min(100%,336px) !important;
    max-width:336px !important;
    font-size:clamp(24px,7.2vw,28px) !important;
    line-height:1.12 !important;
    letter-spacing:0 !important;
    text-shadow:0 2px 8px rgba(0,0,0,.22);
  }
  .hero-sub{
    width:min(100%,320px) !important;
    max-width:320px !important;
    margin-top:10px !important;
    padding:0 !important;
    font-size:12px !important;
    line-height:1.5 !important;
    letter-spacing:0 !important;
    white-space:normal !important;
    text-shadow:0 1px 6px rgba(0,0,0,.24);
  }
  .cta-wrap{
    background:#fff !important;
    padding:12px 0 10px !important;
  }
  .cta-button{
    width:min(100%,270px) !important;
    height:50px !important;
    font-size:16px !important;
    border-radius:14px !important;
    gap:12px !important;
  }
  .cta-button .cta-bulb-exact{width:22px !important;}
}
@media (max-width:380px){
  .header{padding:8px 14px 6px !important;}
  .hero-center{height:214px !important;min-height:214px !important;}
  .hero-title{font-size:24px !important;}
  .hero-sub{font-size:11.5px !important;line-height:1.45 !important;}
}

/* v33：确保手机端首屏背景图稳定显示，并优化新动物头像辨识度 */
@media (max-width:699px){
  .hero-center{
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
  }
  .hero.custom-bg .hero-center{
    background-size:100% 100%, contain !important;
    background-position:center center, center center !important;
    background-repeat:no-repeat, no-repeat !important;
  }
}

/* v34 mobile hero final fix */
@media (max-width:699px){
  .hero.custom-bg .hero-center{
    background-image:
      linear-gradient(rgba(0,0,0,.25),rgba(0,0,0,.25)),
      var(--hero-image) !important;
    background-size:contain !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
  }
}


/* v35：只修背景图显示逻辑，避免手机端再次丢失背景 */
.hero.custom-bg{
  background-repeat:no-repeat !important;
  background-position:center center !important;
}
@media (min-width:700px){
  .hero.custom-bg{
    background-size:cover !important;
  }
}
@media (min-width:700px) and (max-width:1100px){
  .hero.custom-bg{
    background-size:contain !important;
    background-color:#08203a !important;
  }
}
@media (max-width:699px){
  .hero{
    height:auto !important;
    min-height:0 !important;
  }
  .header{
    position:relative !important;
    inset:auto !important;
    min-height:0 !important;
    padding:8px 16px 6px !important;
    background:#fff !important;
  }
  .brand .logo-line{font-size:15px !important;line-height:1 !important;color:#111 !important;}
  .brand .sub{margin-top:4px !important;font-size:9px !important;font-weight:700 !important;color:#111 !important;}
  .brand .accent{width:24px !important;height:3px !important;margin-top:6px !important;}
  .hero > .container{width:100% !important;max-width:none !important;margin:0 !important;}
  .hero.custom-bg{
    background-image:var(--hero-bg-composite) !important;
    background-size:contain !important;
    background-position:center bottom !important;
    background-repeat:no-repeat !important;
    background-color:#08203a !important;
  }
  .hero-center{
    height:230px !important;
    min-height:230px !important;
    padding:12px 12px 14px !important;
    justify-content:center !important;
    background:transparent !important;
  }
  .hero.custom-bg .hero-center{
    background:none !important;
    background-image:none !important;
  }
  .hero-title{
    width:min(100%,336px) !important;
    max-width:336px !important;
    font-size:clamp(24px,7.2vw,28px) !important;
    line-height:1.12 !important;
    letter-spacing:0 !important;
    text-shadow:0 2px 8px rgba(0,0,0,.22);
  }
  .hero-sub{
    width:min(100%,320px) !important;
    max-width:320px !important;
    margin-top:10px !important;
    padding:0 !important;
    font-size:12px !important;
    line-height:1.5 !important;
    letter-spacing:0 !important;
    white-space:normal !important;
    text-shadow:0 1px 6px rgba(0,0,0,.24);
  }
}
@media (max-width:380px){
  .header{padding:8px 14px 6px !important;}
  .hero-center{height:214px !important;min-height:214px !important;}
  .hero-title{font-size:24px !important;}
  .hero-sub{font-size:11.5px !important;line-height:1.45 !important;}
}


/* v36: only fix hero background priority */
@media (max-width:699px){
  .hero.custom-bg{
    background-image:var(--hero-bg-composite) !important;
    background-size:contain !important;
    background-position:center bottom !important;
    background-repeat:no-repeat !important;
    background-color:#08203a !important;
  }
}


/* v43：填写弹窗细节优化 */
.modal-heading{min-width:0;}
.modal-subtitle{margin:6px 0 0;color:#777;font-size:14px;line-height:1.5;}
.avatar-current{justify-content:flex-start !important;}
.avatar-current-arrow,.avatar-suggestions-title{display:none !important;}
#contentInput{
  min-height:120px;
  max-height:46vh;
  resize:none;
  overflow-y:hidden;
  line-height:1.7;
  transition:height .12s ease;
}
.visually-hidden-file{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
.file-picker-row{
  min-height:50px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:7px 10px;
  border:1px solid #ddd;
  border-radius:12px;
  background:#fafafa;
}
.file-picker-btn{
  flex:0 0 auto;
  border:1px solid #cfcfcf;
  border-radius:9px;
  background:#fff;
  color:#222;
  padding:8px 13px;
  font-size:13px;
  font-weight:700;
}
.file-picker-btn:hover{border-color:#b99516;background:#fffaf0;}
.file-picker-name{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#999;
  font-size:12px;
}
.image-preview{position:relative;}
.image-preview-media{position:relative;flex:0 0 auto;}
.image-preview-media img{width:88px;height:64px;object-fit:cover;border-radius:8px;}
.image-remove-btn{
  position:absolute;
  top:-7px;
  right:-7px;
  width:23px;
  height:23px;
  display:grid;
  place-items:center;
  border:2px solid #fff;
  border-radius:50%;
  background:#222;
  color:#fff;
  font-size:16px;
  line-height:1;
  padding:0;
  box-shadow:0 3px 10px rgba(0,0,0,.2);
}
@media(max-width:699px){
  .modal-subtitle{font-size:13px;}
  .file-picker-row{gap:9px;}
  .file-picker-btn{padding:8px 11px;}
  #contentInput{max-height:42vh;}
}


/* v44: clearer success message and higher toast placement */
.notice{
  margin-top:14px;
  padding:14px 16px;
  border-radius:14px;
  border:1px solid rgba(244,191,24,.42);
  background:linear-gradient(180deg,#fff8da 0%,#ffe9a8 100%);
  color:#6a4e00;
  font-size:15px;
  font-weight:700;
  line-height:1.55;
  box-shadow:0 10px 24px rgba(244,191,24,.10);
}
.toast{
  bottom:84px;
  transform:translate(-50%,12px);
  background:rgba(28,24,10,.96);
  color:#ffe8a3;
  border:1px solid rgba(244,191,24,.28);
  font-weight:700;
}
@media (max-width:768px){
  .toast{bottom:112px;}
  .notice{font-size:14px;}
}


/* v45 comment likes */
.comment-head{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.comment-content{margin-top:6px;line-height:1.7;color:#222;}
.comment-like-btn{display:inline-flex;align-items:center;gap:6px;border:none;background:transparent;color:#8a8a8a;padding:0;cursor:pointer;font-size:13px;font-weight:600;}
.comment-like-btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2.2;}
.comment-like-btn.liked{color:#f4bf18;}
.comment-like-btn.liked svg{fill:rgba(244,191,24,.18);}

/* v46：评论更轻、审核设置 */
.detail-comments{margin-top:34px;border-top:1px solid #ededed;padding-top:24px;}
.detail-comments h3{font-size:19px;margin-bottom:14px;}
.comment-item{background:transparent;border:0;border-bottom:1px solid #ececec;border-radius:0;padding:16px 0;margin:0;}
.comment-head{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.comment-author-line{display:flex;align-items:center;gap:10px;min-width:0;}
.comment-author-line strong{margin:0;font-size:14px;color:#222;}
.comment-author-line span{font-size:12px;color:#999;white-space:nowrap;}
.comment-content{margin-top:8px;font-size:14px;line-height:1.75;color:#333;}
.comment-like-btn{display:inline-flex;align-items:center;gap:5px;border:none;background:transparent;color:#999;padding:4px 2px;cursor:pointer;font-size:12px;font-weight:600;}
.comment-like-btn svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2.2;}
.comment-like-btn.liked{color:#e2a900;}
.comment-like-btn.liked svg{fill:rgba(244,191,24,.18);}
.comment-form{margin-top:20px;padding-top:2px;}
.stat-grid{grid-template-columns:repeat(5,1fr);}
.moderation-list{display:grid;gap:14px;margin-top:16px;}
.moderation-option{display:flex;gap:14px;align-items:flex-start;padding:16px;border:1px solid #e8e8e8;border-radius:14px;background:#fafafa;cursor:pointer;}
.moderation-option input{width:20px;height:20px;margin-top:2px;accent-color:#f4bf18;}
.moderation-option span{display:grid;gap:6px;}
.moderation-option strong{font-size:16px;}
.moderation-option small{font-size:13px;color:#777;line-height:1.6;}
@media(max-width:1100px){.stat-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.stat-grid{grid-template-columns:1fr;}.comment-author-line{align-items:flex-start;flex-direction:column;gap:3px;}}


/* v50：压缩头像选择区，让“想法内容”成为视觉重点 */
.avatar-form-row{
  margin-bottom:-2px;
}
.avatar-current{
  height:44px !important;
  min-height:44px;
  padding:5px 12px !important;
  border-radius:11px;
}
.avatar-current-main{
  gap:8px;
}
.avatar-current-image{
  width:30px;
  height:30px;
  flex-basis:30px;
}
.avatar-current-main strong{
  font-size:14px;
}
.avatar-picker{
  margin-top:7px;
  gap:8px 7px;
}
.avatar-choice{
  gap:5px;
  font-size:11px;
}
.avatar-choice-image{
  width:50px;
  height:50px;
}
.avatar-choice.selected .avatar-choice-image{
  box-shadow:0 0 0 2px #fff,0 0 0 4px #2c7acb;
}
.avatar-choice.selected .avatar-choice-image::after{
  width:17px;
  height:17px;
  font-size:10px;
  border-width:1.5px;
}
@media (max-width:699px){
  .avatar-current{
    height:42px !important;
    min-height:42px;
  }
  .avatar-current-image{
    width:28px;
    height:28px;
    flex-basis:28px;
  }
  .avatar-picker{
    margin-top:6px;
    gap:9px 5px;
  }
  .avatar-choice-image{
    width:48px;
    height:48px;
  }
  .avatar-choice{
    gap:4px;
    font-size:10.5px;
  }
}
@media (max-width:380px){
  .avatar-choice-image{
    width:45px;
    height:45px;
  }
}


/* v66: device-aware poster saving */
.share-actions #savePosterBtn{min-width:180px;}
.share-actions #savePosterBtn:disabled{opacity:.55;cursor:wait;}
.poster-save-backdrop{position:fixed;inset:0;z-index:130;background:rgba(0,0,0,.86);display:none;align-items:center;justify-content:center;padding:18px;}
.poster-save-backdrop.show{display:flex;}
.poster-save-sheet{width:min(620px,100%);max-height:calc(100vh - 36px);overflow:auto;background:#fff;border-radius:18px;padding:16px;box-shadow:0 24px 80px rgba(0,0,0,.42);}
.poster-save-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px;}
.poster-save-head strong{display:block;font-size:20px;}
.poster-save-head p{margin:5px 0 0;color:#666;font-size:14px;line-height:1.55;}
.poster-save-image{background:#111;border-radius:12px;overflow:hidden;display:flex;justify-content:center;}
.poster-save-image img{display:block;width:100%;height:auto;max-height:calc(100vh - 190px);object-fit:contain;-webkit-touch-callout:default;user-select:auto;-webkit-user-select:auto;}
.poster-save-tip{text-align:center;color:#888;font-size:12px;line-height:1.6;margin-top:10px;}
@media(max-width:699px){
  .share-actions{grid-template-columns:1fr 1fr!important;}
  .share-actions #savePosterBtn,.share-actions #copyShareTextBtn{grid-column:auto!important;}
  .poster-save-backdrop{padding:8px;align-items:flex-start;overflow:auto;}
  .poster-save-sheet{margin-top:8px;padding:12px;border-radius:14px;max-height:none;}
  .poster-save-image img{max-height:none;}
}


/* v70: visible and reliable share-text copy feedback */
.copy-share-status{max-width:620px;margin:10px auto 0;text-align:center;color:#666;font-size:13px;line-height:1.65;}
.copy-share-status.success{color:#16712a;font-weight:700;}
#copyShareTextBtn.copied{background:#e7f8e8;color:#16712a;}
.share-copy-fallback{display:block;width:min(620px,100%);min-height:116px;margin:10px auto 0;padding:12px 14px;border:1px solid #f0c84b;border-radius:12px;background:#fffdf4;color:#222;font-size:13px;line-height:1.65;resize:vertical;}
.share-copy-fallback[hidden]{display:none!important;}
.toast{z-index:180!important;}
@media(max-width:768px){.copy-share-status{font-size:12px;padding:0 4px;}.share-copy-fallback{min-height:132px;font-size:14px;}}

/* v71 server API loading states */
.api-loading-state{grid-column:1/-1;padding:34px 20px;text-align:center;color:#666;font-size:15px}.api-loading-state .mini-btn{margin-left:10px}

/* v73 联网后台 */
.admin-topline{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-bottom:16px;color:#666;font-size:14px}.admin-filter-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-filter-row select{height:42px;border:1px solid #ddd;border-radius:10px;padding:0 12px;background:#fff}.admin-content-cell{max-width:520px;line-height:1.6;white-space:pre-wrap}.admin-notice-error{background:#ffe8e8!important;color:#8a1111!important}.admin-table-link{color:#1d5fa7;text-decoration:underline}@media(max-width:768px){.admin-topline{justify-content:space-between}.admin-filter-row{width:100%;margin-top:12px}.ideas-panel-head{align-items:flex-start;flex-direction:column}.admin-filter-row select,.admin-filter-row button{flex:1;min-width:120px}}


/* v74: idea image upload and display */
.card-idea-image{margin:16px 0 2px;border-radius:12px;overflow:hidden;background:#f0f0f0;aspect-ratio:16/10;}
.card-idea-image img{width:100%;height:100%;object-fit:cover;display:block;}
.detail-idea-image{margin-top:20px;border-radius:16px;overflow:hidden;background:#f0f0f0;}
.detail-idea-image img{display:block;width:100%;max-height:680px;object-fit:contain;background:#111;}
.image-preview .mini-btn{margin-left:auto;flex:0 0 auto;}
@media (max-width:699px){
  .card-idea-image{margin-top:12px;border-radius:10px;}
  .detail-idea-image{margin-top:16px;border-radius:12px;}
}


/* v76 system status and error states */
.system-status-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;margin:16px 0 6px}
.system-status-card{background:#fafafa;border:1px solid #ececec;border-radius:14px;padding:15px;min-height:105px;display:flex;flex-direction:column;gap:7px}
.system-status-card small{color:#777;font-weight:700}.system-status-card strong{font-size:18px;line-height:1.25;word-break:break-word}.system-status-card span{color:#777;font-size:12px}.status-ok{color:#16853b}.detail-error-link{display:inline-flex;margin-top:12px;text-decoration:none}
.error-page{min-height:100vh;background:#07111e;color:#fff;display:grid;place-items:center;padding:24px}.error-card{width:min(560px,100%);text-align:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);border-radius:22px;padding:46px 26px}.error-code{font-size:68px;font-weight:800;color:var(--gold);line-height:1}.error-card h1{margin:16px 0 8px}.error-card p{color:#d9e0e8;line-height:1.8}.error-card .primary-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;margin-top:14px}
@media(max-width:1100px){.system-status-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}}
@media(max-width:620px){.system-status-grid{grid-template-columns:1fr}}


/* v76: iPhone 8 Plus / older iOS WeChat fixed-overlay compatibility.
   Older WebKit may ignore `inset:0`; explicit four edges keep write/share dialogs visible. */
.modal-backdrop,
.share-panel-backdrop,
.poster-save-backdrop{
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  left:0 !important;
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  -webkit-overflow-scrolling:touch;
}
button,
[role="button"]{
  touch-action:manipulation;
  -webkit-tap-highlight-color:rgba(0,0,0,0);
}
@media (max-width:699px){
  .modal-backdrop.show,
  .share-panel-backdrop.show,
  .poster-save-backdrop.show{
    display:-webkit-flex !important;
    display:flex !important;
  }
}


/* v78：正式上线版备案信息。保持原页脚布局不变，仅在最底部居中显示。 */
.site-record{
  width:min(1280px,calc(100% - 72px));
  margin:18px auto 0;
  padding-top:16px;
  border-top:1px solid #202020;
  text-align:center;
  font-size:12px;
  line-height:1.7;
  color:#8f8f8f;
}
.site-record a{color:inherit;text-decoration:none;}
.site-record a:hover,.site-record a:focus{color:#d7d7d7;text-decoration:underline;}
.detail-layout{display:flex;flex-direction:column;min-height:100vh;}
.detail-layout #detailContainer{flex:1;}
.detail-site-footer{margin-top:28px;padding:0 0 18px;background:#050505;}
.site-record--detail{width:100%;margin:0;padding-top:16px;border-top:0;}
@media (max-width:768px){
  .site-record{width:calc(100% - 28px);margin-top:12px;padding-top:12px;font-size:11px;}
  .detail-site-footer{margin-top:20px;padding-bottom:14px;}
}
