/* ═══════════════════════════════════════════
   草地牛朋友系列 Grassmoo Friends
   全站样式 · style.css
   grassmoo.com
═══════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --g1:#F2F9E8;--g2:#D8EBB4;--g3:#A8D870;
  --g4:#7EC850;--g5:#5AAA2A;--g6:#3D7818;--g7:#2A5010;
  --cream:#FAF7F0;--white:#fff;--ink:#1A1A1A;
  --gray:#6B7B6B;--lgray:#999;
  --amb:#E85A5A;--orange:#E8781A;
  --pink:#F5B5C5;--yellow:#F5D840;--red:#E8403A;
  --nav-h:62px;
}
html{scroll-behavior:smooth;font-size:16px;}
body{
  font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
  background:var(--cream);color:var(--ink);
  line-height:1.8;font-weight:400;overflow-x:hidden;
}
a{color:var(--g6);text-decoration:none;}
a:hover{text-decoration:underline;}
img{display:block;max-width:100%;}
button{font-family:inherit;cursor:pointer;}

/* ── NAV ── */
.nav{
  position:sticky;top:0;z-index:200;height:var(--nav-h);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 48px;
  background:rgba(250,247,240,.94);
  border-bottom:1px solid rgba(0,0,0,.07);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  transition:box-shadow .3s;
}
.nav.shadow{box-shadow:0 2px 18px rgba(0,0,0,.07);}
.nav-logo{
  font-weight:900;font-size:19px;color:var(--ink);
  display:flex;align-items:center;gap:8px;cursor:pointer;
  text-decoration:none;
}
.nav-logo .en{color:var(--g6);font-family:"Space Mono",monospace;
  font-size:12px;font-weight:700;letter-spacing:.06em;}
.nav-links{display:flex;gap:2px;align-items:center;}
.nav-links a{
  font-size:13px;color:var(--ink);padding:7px 12px;
  border-radius:6px;transition:background .2s;font-weight:400;
}
.nav-links a:hover,.nav-links a.active{
  background:var(--g2);color:var(--g6);text-decoration:none;font-weight:700;
}
.nav-links .divider{
  width:1px;height:16px;background:rgba(0,0,0,.1);margin:0 6px;
}
.nav-badge{
  font-family:"Space Mono",monospace;font-size:9px;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;
  color:var(--lgray);border:1px solid rgba(0,0,0,.12);
  padding:5px 12px;border-radius:2px;
}

/* ── REVEAL ── */
.rv{opacity:0;transform:translateY(28px);
  transition:opacity .85s cubic-bezier(.16,1,.3,1),
             transform .85s cubic-bezier(.16,1,.3,1);}
.rv.up{opacity:1;transform:translateY(0);}
.rv.d1{transition-delay:.08s;}.rv.d2{transition-delay:.16s;}
.rv.d3{transition-delay:.24s;}.rv.d4{transition-delay:.32s;}
.rv.d5{transition-delay:.40s;}.rv.d6{transition-delay:.48s;}

/* ── HERO (IP首屏) ── */
.ip-hero{
  min-height:auto;
  display:flex;flex-direction:column;
  align-items:center;justify-content:flex-start;
  padding:22px 24px 52px;
  background:
    radial-gradient(ellipse 80% 50% at 50% 100%,rgba(168,216,112,.45) 0%,transparent 65%),
    linear-gradient(180deg,var(--g1) 0%,var(--cream) 55%,var(--white) 100%);
  position:relative;
}
.ip-hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:
    radial-gradient(1.4px 1.4px at 7% 20%,rgba(90,170,42,.4) 0%,transparent 100%),
    radial-gradient(1px 1px at 34% 7%,rgba(90,170,42,.3) 0%,transparent 100%),
    radial-gradient(1.4px 1.4px at 61% 16%,rgba(90,170,42,.4) 0%,transparent 100%),
    radial-gradient(1px 1px at 87% 11%,rgba(90,170,42,.3) 0%,transparent 100%);
}
.hero-eyebrow{
  font-family:"Space Mono",monospace;font-size:10px;font-weight:700;
  letter-spacing:.32em;text-transform:uppercase;color:var(--g6);
  display:flex;align-items:center;gap:14px;margin-bottom:36px;position:relative;z-index:2;
}
.hero-eyebrow::before,.hero-eyebrow::after{
  content:"";display:inline-block;width:28px;height:1px;background:var(--g5);
}
.hero-img{
  width:100%;max-width:900px;aspect-ratio:1600/1200;
  position:relative;z-index:2;margin-bottom:44px;
  display:flex;align-items:center;justify-content:center;
}
.hero-img img{
  width:100%;height:100%;object-fit:contain;
  filter:drop-shadow(0 28px 56px rgba(0,0,0,.13));
}
.ip-title{
  font-family:"Dela Gothic One","Noto Sans SC",sans-serif;
  font-size:clamp(52px,10vw,136px);color:var(--ink);
  line-height:.96;letter-spacing:-.02em;margin-bottom:22px;
  text-align:center;position:relative;z-index:2;
}
.ip-title .moo{color:var(--g6);}
.ip-title .sep{color:var(--g3);margin:0 .12em;font-size:.7em;}
.ip-title .mee{color:var(--amb);}
.ip-title .boo{color:var(--yellow);text-shadow:2px 2px 0 var(--ink);}
.ip-tagline{
  font-family:"Noto Sans SC",sans-serif;font-weight:900;
  font-size:clamp(18px,2.4vw,28px);color:var(--ink);
  text-align:center;margin-bottom:12px;position:relative;z-index:2;line-height:1.5;
}
.ip-tagline .hl{
  display:inline-block;background:var(--yellow);
  padding:0 8px;border-radius:4px;transform:rotate(-.8deg);
}
.ip-sub{
  font-family:"Noto Sans SC",sans-serif;font-weight:400;
  font-size:clamp(13px,1.5vw,16px);color:var(--gray);
  text-align:center;margin-bottom:52px;position:relative;z-index:2;
}
.scroll-hint{
  font-family:"Space Mono",monospace;font-size:9px;font-weight:700;
  letter-spacing:.28em;color:var(--gray);text-transform:uppercase;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  position:relative;z-index:2;
}
.scroll-arrow{animation:bounce 2s ease-in-out infinite;font-size:13px;}
@keyframes bounce{0%,100%{transform:translateY(0);}50%{transform:translateY(7px);}}

/* ── IP SECTIONS ── */
.ip-sec{padding:120px 50px;scroll-margin-top:var(--nav-h);}
.ip-sec.bg-white{background:var(--white);}
.ip-sec.bg-g1{background:linear-gradient(180deg,var(--white) 0%,var(--g1) 100%);}
.ip-sec.bg-mee{background:linear-gradient(180deg,var(--g1) 0%,#FFF3F6 100%);}
.ip-sec.bg-boo{background:linear-gradient(180deg,#FFF3F6 0%,var(--g1) 100%);}
.ip-sec.bg-daily{background:var(--white);}

.eyebrow{
  font-family:"Space Mono",monospace;font-size:10px;font-weight:700;
  letter-spacing:.3em;text-transform:uppercase;color:var(--g6);margin-bottom:16px;
}
.sec-title{
  font-family:"Noto Sans SC",sans-serif;font-weight:900;
  font-size:clamp(26px,4vw,50px);color:var(--ink);
  line-height:1.25;letter-spacing:-.02em;margin-bottom:16px;
}
.sec-title em{
  font-style:normal;background:var(--g3);
  padding:0 10px;border-radius:5px;
  display:inline-block;transform:rotate(-1.2deg);
}
.sec-title em.amb{background:var(--pink);}
.sec-title em.boo{background:var(--yellow);}
.sec-desc{font-size:17px;color:var(--ink);line-height:1.9;}
.sec-desc .g{color:var(--gray);}

/* ── HOME CARDS ── */
.home-inner{max-width:1280px;margin:0 auto;text-align:center;}
.home-img-wrap{
  width:100%;max-width:1100px;margin:0 auto 56px;
  aspect-ratio:1400/900;border-radius:22px;overflow:hidden;
  background:var(--g2);box-shadow:0 28px 56px rgba(45,90,27,.14);
  display:flex;align-items:center;justify-content:center;
}
.home-img-wrap img{width:100%;height:100%;object-fit:cover;}
.home-cards{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:20px;max-width:960px;margin:0 auto;
}
.home-card{
  background:var(--white);border-radius:16px;padding:28px 22px 24px;
  border:1px solid rgba(0,0,0,.055);box-shadow:0 6px 20px rgba(0,0,0,.05);
  text-align:left;
}
.home-card-num{
  font-family:"Dela Gothic One","Noto Sans SC",sans-serif;
  font-size:52px;line-height:1;margin-bottom:8px;
}
.home-card-num.moo{color:var(--g5);}
.home-card-num.mee{color:var(--amb);}
.home-card-num.boo{color:var(--orange);}
.home-card-label{font-weight:900;font-size:18px;color:var(--ink);margin-bottom:4px;}
.home-card-sub{font-size:13px;color:var(--gray);line-height:1.6;}

/* ── TICKER ── */
.ticker{
  background:var(--ink);padding:13px 0;overflow:hidden;
  border-top:3px solid var(--g4);border-bottom:3px solid var(--g4);
}
.ticker-track{display:flex;animation:tick 32s linear infinite;white-space:nowrap;}
.ticker-item{
  font-family:"Noto Sans SC",sans-serif;font-weight:700;
  font-size:14px;letter-spacing:.05em;color:#A8D870;padding:0 26px;flex-shrink:0;
}
.ticker-item.en{
  font-family:"Space Mono",monospace;font-size:11px;
  letter-spacing:.24em;text-transform:uppercase;
}
.ticker-sep{color:var(--g5);opacity:.55;margin:0 3px;}
@keyframes tick{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ── CHAR SECTION ── */
.char-inner{
  max-width:1280px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;
  gap:72px;align-items:center;
}
.char-inner.rev{direction:rtl;}
.char-inner.rev>*{direction:ltr;}
.char-img-wrap{
  position:relative;aspect-ratio:1000/1300;
  display:flex;align-items:center;justify-content:center;
}
.char-img-wrap img{
  width:100%;height:100%;object-fit:contain;
  filter:drop-shadow(0 24px 48px rgba(0,0,0,.14));
}
.char-detail{
  position:absolute;width:36%;aspect-ratio:1/1;
  bottom:-7%;right:-7%;z-index:10;
  background:var(--white);border-radius:50%;padding:7px;
  box-shadow:0 18px 40px rgba(0,0,0,.18);border:5px solid var(--white);
}
.char-detail img{width:100%;height:100%;object-fit:contain;border-radius:50%;}
.char-tag{
  font-family:"Space Mono",monospace;font-size:10px;font-weight:700;
  letter-spacing:.28em;text-transform:uppercase;margin-bottom:14px;
  display:inline-block;padding:5px 12px;border-radius:3px;
}
.char-tag.moo{color:var(--g6);background:rgba(168,216,112,.25);}
.char-tag.mee{color:var(--amb);background:rgba(232,90,90,.1);}
.char-tag.boo{color:#9A6200;background:rgba(245,216,64,.3);}
.char-name{
  font-family:"Dela Gothic One","Noto Sans SC",sans-serif;
  font-size:clamp(54px,7.5vw,104px);color:var(--ink);
  line-height:.94;letter-spacing:-.02em;margin-bottom:7px;
}
.char-name .acc.moo{color:var(--g5);}
.char-name .acc.mee{color:var(--amb);}
.char-name .acc.boo{color:#D4A000;}
.char-cn{
  font-family:"Noto Sans SC",sans-serif;font-weight:900;
  font-size:28px;color:var(--ink);margin-bottom:24px;
}
.char-cn .nick{color:var(--gray);font-weight:400;font-size:20px;margin-left:10px;}
.char-quote{
  font-family:"Noto Sans SC",sans-serif;font-weight:900;
  font-size:clamp(20px,2.4vw,27px);color:var(--ink);
  line-height:1.5;margin-bottom:28px;letter-spacing:-.01em;
}
.char-quote .hl{display:inline-block;padding:0 9px;border-radius:4px;transform:rotate(-.8deg);}
.char-quote .hl.moo{background:var(--g3);}
.char-quote .hl.mee{background:var(--pink);}
.char-quote .hl.boo{background:var(--yellow);}
.char-meta{display:grid;grid-template-columns:repeat(3,auto);gap:20px 32px;margin-bottom:28px;}
.char-meta-label{font-family:"Space Mono",monospace;font-size:9px;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;color:var(--lgray);margin-bottom:3px;}
.char-meta-val{font-weight:700;font-size:14px;color:var(--ink);}
.char-modes{
  background:var(--white);border-radius:14px;padding:20px 22px;margin-bottom:22px;
  border:1px solid rgba(0,0,0,.055);box-shadow:0 6px 20px rgba(0,0,0,.04);
}
.char-modes-ttl{font-family:"Space Mono",monospace;font-size:9px;font-weight:700;
  letter-spacing:.24em;text-transform:uppercase;color:var(--lgray);margin-bottom:14px;}
.char-mode-list{display:flex;flex-direction:column;gap:10px;}
.char-mode{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;}
.char-mode-num{font-family:"Dela Gothic One","Noto Sans SC",sans-serif;font-size:15px;}
.char-mode-num.moo{color:var(--g5);}
.char-mode-num.mee{color:var(--amb);}
.char-mode-num.boo{color:#D4A000;}
.char-mode-txt{font-size:13px;color:var(--ink);line-height:1.6;}
.char-mode-txt strong{font-weight:900;}
.char-mode-txt .g{color:var(--lgray);}
.char-kws{display:flex;flex-wrap:wrap;gap:7px;}
.kw{display:inline-block;padding:5px 13px;font-weight:700;font-size:13px;border-radius:4px;}
.kw.green{background:var(--g2);color:var(--g7);}
.kw.yellow{background:var(--yellow);color:var(--ink);}
.kw.red{background:var(--red);color:var(--white);}
.kw.pink{background:var(--pink);color:#7A2040;}
.kw.dark{background:var(--ink);color:var(--white);}
.kw.amb{background:var(--amb);color:var(--white);}
.kw.orange{background:var(--orange);color:var(--white);}

/* ── IMG SLOT (占位) ── */
.img-slot{
  width:100%;height:100%;border:2px dashed rgba(90,170,42,.38);border-radius:14px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:6px;padding:16px;text-align:center;
  background:rgba(255,255,255,.45);color:var(--g6);
}
.img-slot strong{font-size:13px;font-weight:700;}
.img-slot span{font-family:"Space Mono",monospace;font-size:9px;letter-spacing:.12em;color:var(--lgray);}
.img-slot .theme{margin-top:6px;font-size:11px;color:var(--g6);line-height:1.5;}

/* ── DAILY ── */
.daily-inner{max-width:1280px;margin:0 auto;}
.daily-hd{text-align:center;margin-bottom:64px;}
.daily-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.daily-card{
  position:relative;border-radius:18px;overflow:hidden;
  aspect-ratio:1/1;background:var(--g1);
  cursor:pointer;transition:transform .4s cubic-bezier(.16,1,.3,1);
}
.daily-card:hover{transform:translateY(-6px);}
.daily-card img{width:100%;height:100%;object-fit:cover;}
.daily-card-ph{
  width:100%;height:100%;border:2px dashed rgba(90,170,42,.38);border-radius:18px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  color:var(--g7);text-align:center;padding:22px;
}
.daily-card-ph strong{font-size:14px;font-weight:700;margin-bottom:5px;}
.daily-card-ph span{font-family:"Space Mono",monospace;font-size:9px;letter-spacing:.14em;color:var(--lgray);}
.daily-card-ph .theme{margin-top:8px;font-size:11px;color:var(--g6);line-height:1.5;}
.daily-card-lbl{
  position:absolute;bottom:14px;left:14px;right:14px;
  background:rgba(255,255,255,.95);backdrop-filter:blur(10px);
  padding:12px 16px;border-radius:10px;
}
.daily-card-t{font-weight:900;font-size:16px;color:var(--ink);margin-bottom:3px;}
.daily-card-s{font-size:11px;color:var(--lgray);}

/* ── ENDING ── */
.ending{
  padding:150px 50px 96px;
  background:linear-gradient(180deg,var(--white) 0%,var(--g7) 100%);
  position:relative;overflow:hidden;
}
.ending::before{
  content:"GRASSMOO";position:absolute;
  font-family:"Dela Gothic One","Noto Sans SC",sans-serif;
  font-size:clamp(140px,26vw,340px);
  color:rgba(255,255,255,.04);
  bottom:-24px;left:50%;transform:translateX(-50%);
  line-height:.9;pointer-events:none;user-select:none;white-space:nowrap;
}
.ending-inner{max-width:860px;margin:0 auto;text-align:center;position:relative;z-index:2;}
.ending-eye{font-family:"Space Mono",monospace;font-size:10px;font-weight:700;
  letter-spacing:.3em;text-transform:uppercase;color:#A8D870;margin-bottom:30px;}
.ending-q{
  font-family:"Noto Sans SC",sans-serif;font-weight:900;
  font-size:clamp(24px,3.2vw,42px);color:var(--white);
  line-height:1.5;margin-bottom:18px;letter-spacing:-.01em;
}
.ending-q .hl{display:inline-block;background:var(--yellow);color:var(--ink);
  padding:0 11px;border-radius:5px;transform:rotate(-.8deg);}
.ending-sub{
  font-family:"Noto Sans SC",sans-serif;font-weight:400;
  font-size:16px;color:rgba(255,255,255,.5);line-height:1.9;margin-bottom:40px;
}
.ending-tags{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:48px;}
.etag{
  font-family:"Space Mono",monospace;font-size:10px;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;
  color:rgba(255,255,255,.45);border:1px solid rgba(255,255,255,.14);
  padding:7px 16px;border-radius:2px;
}
.ending-origin{
  margin-top:32px;padding:22px 28px;
  border:1px solid rgba(255,255,255,.12);border-radius:10px;
  background:rgba(255,255,255,.05);display:inline-block;text-align:left;
  max-width:640px;width:100%;
}
.ending-origin-label{
  font-family:"Space Mono",monospace;font-size:9px;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;
  color:rgba(255,255,255,.38);margin-bottom:10px;
}
.ending-origin-author{
  font-weight:900;font-size:16px;color:rgba(255,255,255,.72);margin-bottom:14px;
}
.ending-origin-regs{
  font-family:"Space Mono",monospace;font-size:8.5px;font-weight:700;
  letter-spacing:.15em;text-transform:uppercase;
  color:rgba(255,255,255,.28);line-height:2.4;
}
.ending-origin-regs .hl{color:rgba(255,255,255,.45);}

/* ── INFO LINKS (末尾导航) ── */
.info-nav{
  background:var(--ink);padding:64px 50px;
}
.info-nav-inner{
  max-width:1280px;margin:0 auto;
  display:grid;grid-template-columns:repeat(5,1fr);gap:24px;
}
.info-nav-col h3{
  font-family:"Space Mono",monospace;font-size:10px;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;
  color:#A8D870;margin-bottom:14px;
}
.info-nav-col p{font-size:13px;color:rgba(255,255,255,.45);line-height:1.8;margin-bottom:10px;}
.info-nav-col a{
  display:block;font-size:13px;color:rgba(255,255,255,.5);
  padding:3px 0;transition:color .2s;
}
.info-nav-col a:hover{color:#A8D870;text-decoration:none;}

/* ── INFO SECTIONS (子页) ── */
.info-hero{
  padding:80px 48px 72px;
  background:linear-gradient(160deg,var(--g1) 0%,var(--cream) 60%);
  border-bottom:1px solid var(--g2);
  scroll-margin-top:0;
}
.info-hero-inner{max-width:960px;margin:0 auto;}
.info-tag{
  display:inline-block;
  font-family:"Space Mono",monospace;font-size:10px;font-weight:700;
  letter-spacing:.3em;text-transform:uppercase;
  color:var(--g6);background:var(--g2);
  padding:5px 14px;border-radius:3px;margin-bottom:24px;
}
.info-hero h1{
  font-size:clamp(28px,5vw,52px);font-weight:900;color:var(--ink);
  line-height:1.2;letter-spacing:-.02em;margin-bottom:18px;
}
.info-hero .hero-desc{
  font-size:17px;color:var(--gray);line-height:1.85;
  max-width:680px;margin-bottom:28px;
}
.info-hero-meta{display:flex;flex-wrap:wrap;gap:24px;}
.info-hero-meta-item{
  font-family:"Space Mono",monospace;font-size:11px;color:var(--lgray);letter-spacing:.1em;
}
.info-hero-meta-item strong{color:var(--ink);font-size:12px;}
.info-sec{padding:64px 48px;}
.info-sec-inner{max-width:960px;margin:0 auto;}
.info-sec.alt{background:var(--white);}
.info-sec h2{
  font-size:clamp(18px,2.8vw,26px);font-weight:900;color:var(--ink);
  margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--g2);
}
.info-sec h3{font-size:17px;font-weight:700;color:var(--ink);margin:28px 0 10px;}
.info-sec p{font-size:15px;color:var(--gray);line-height:1.9;margin-bottom:16px;}
.info-sec p strong{color:var(--ink);}

/* ── TABLE ── */
.info-table{width:100%;border-collapse:collapse;margin:20px 0;font-size:14px;}
.info-table th,.info-table td{
  padding:12px 16px;text-align:left;border-bottom:1px solid rgba(0,0,0,.07);
}
.info-table th{background:var(--g1);color:var(--g7);font-weight:700;width:160px;font-size:13px;}
.info-table td{color:var(--ink);}
.info-table tr:last-child th,.info-table tr:last-child td{border-bottom:none;}

/* ── FAQ ── */
.faq-list{margin:20px 0;}
.faq-item{border:1px solid rgba(0,0,0,.08);border-radius:10px;margin-bottom:10px;overflow:hidden;}
.faq-q{
  padding:16px 20px;font-size:15px;font-weight:700;color:var(--ink);
  cursor:pointer;display:flex;justify-content:space-between;align-items:center;
  background:var(--white);transition:background .2s;list-style:none;
}
.faq-q:hover{background:var(--g1);}
.faq-q::after{content:"＋";font-size:18px;color:var(--g5);
  transition:transform .25s;flex-shrink:0;margin-left:12px;}
.faq-item.open .faq-q{background:var(--g1);}
.faq-item.open .faq-q::after{transform:rotate(45deg);}
.faq-a{
  display:none;padding:14px 20px 18px;
  font-size:14px;color:var(--gray);line-height:1.85;
  border-top:1px solid var(--g2);
}
.faq-item.open .faq-a{display:block;}

/* ── TIMELINE ── */
.timeline{margin:20px 0;}
.timeline-item{
  display:grid;grid-template-columns:160px 1fr;
  gap:16px;padding:16px 0;border-bottom:1px solid rgba(0,0,0,.06);align-items:start;
}
.timeline-item:last-child{border-bottom:none;}
.timeline-date{font-family:"Space Mono",monospace;font-size:12px;color:var(--g6);font-weight:700;padding-top:2px;}
.timeline-content{font-size:14px;color:var(--ink);line-height:1.7;}
.timeline-content .reg{
  display:inline-block;margin-top:4px;
  font-family:"Space Mono",monospace;font-size:11px;color:var(--lgray);letter-spacing:.05em;
}

/* ── NOTICE ── */
.notice{
  border-left:3px solid var(--g5);background:var(--g1);
  padding:14px 20px;border-radius:0 8px 8px 0;margin:20px 0;
  font-size:14px;color:var(--ink);line-height:1.7;
}

/* ── KW BLOCK ── */
.kw-block{
  background:var(--g1);border-radius:8px;
  padding:16px 20px;margin:20px 0;
  font-size:13px;color:var(--gray);line-height:2;
}

/* ── CARD GRID ── */
.card-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:14px;margin:20px 0;
}
.card{background:var(--g1);border-radius:10px;padding:18px;border:1px solid var(--g2);}
.card-num{font-family:"Space Mono",monospace;font-size:11px;color:var(--g5);font-weight:700;margin-bottom:5px;}
.card-title{font-size:15px;font-weight:700;color:var(--ink);}
.card p{font-size:13px;color:var(--gray);margin-top:5px;margin-bottom:0;}

/* ── FOOTER ── */
footer{background:var(--ink);padding:48px 50px 32px;}
.footer-in{
  max-width:1280px;margin:0 auto;
  display:grid;grid-template-columns:1fr auto;
  gap:40px;align-items:start;
  padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.09);
}
.f-logo{font-size:20px;font-weight:900;color:var(--white);margin-bottom:5px;}
.f-logo .acc{color:#A8D870;}
.f-tag{
  font-family:"Space Mono",monospace;font-size:10px;font-weight:700;
  letter-spacing:.24em;text-transform:uppercase;color:#A8D870;margin-bottom:16px;
}
.f-mantra{font-size:13px;color:rgba(255,255,255,.45);line-height:1.85;max-width:340px;}
.f-nav{display:flex;flex-direction:column;gap:5px;text-align:right;}
.f-nav a{font-size:13px;color:rgba(255,255,255,.4);transition:color .2s;}
.f-nav a:hover{color:#A8D870;text-decoration:none;}
.f-copy{
  max-width:1280px;margin:24px auto 0;
  font-family:"Space Mono",monospace;font-size:11px;font-weight:700;
  color:rgba(255,255,255,.28);line-height:2.2;letter-spacing:.04em;
}
.f-copy strong{color:rgba(255,255,255,.55);}
.f-copy a{color:rgba(255,255,255,.55);text-decoration:none;}
.f-copy a:hover{color:#A8D870;text-decoration:none;}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .char-inner{grid-template-columns:1fr;gap:44px;}
  .char-inner.rev{direction:ltr;}
  .info-nav-inner{grid-template-columns:repeat(2,1fr);}
  .home-cards{gap:14px;}
}
@media(max-width:768px){
  .nav{padding:0 20px;}
  .nav-links{display:none;}
  .ip-hero,.ip-sec,.ending{padding:80px 20px;}
  .info-hero{padding:52px 20px 48px;}
  .info-sec{padding:48px 20px;}
  .home-cards{grid-template-columns:1fr;}
  .daily-grid{grid-template-columns:1fr;}
  .footer-in{grid-template-columns:1fr;}
  .f-nav{text-align:left;}
  .char-detail{width:40%;bottom:-5%;right:-5%;}
  .char-meta{grid-template-columns:repeat(2,auto);}
  .timeline-item{grid-template-columns:1fr;gap:4px;}
  .info-nav-inner{grid-template-columns:1fr;}
  .footer-in{gap:28px;}
}
@media(max-width:480px){
  .ip-title{font-size:52px;}
  .char-name{font-size:46px;}
}

/* ── 信息页居中布局优化 ── */
.info-hero{text-align:center;}
.info-hero-inner{margin:0 auto;}
.info-hero h1{text-align:center;}
.info-hero .hero-desc{margin-left:auto;margin-right:auto;}
.info-hero-meta{justify-content:center;}

.info-sec-inner{
  max-width:860px;
  margin:0 auto;
}
.info-sec h2{text-align:left;}
.info-sec h3{text-align:left;}

/* timeline 居中容器 */
.timeline{max-width:760px;margin:20px auto;}

/* info-table 居中 */
.info-table{max-width:700px;margin:20px auto;}

/* notice 居中 */
.notice{max-width:760px;margin:20px auto;}

/* kw-block 居中 */
.kw-block{max-width:760px;margin:20px auto;}

/* card-grid 居中 */
.card-grid{max-width:760px;margin:20px auto;}

/* faq-list 居中 */
.faq-list{max-width:760px;margin:20px auto;}

/* origin样品区居中 */
.info-sec div[style*="max-width:480px"]{margin:24px auto 0;}

/* footer居中内容 */
.info-sec p{max-width:700px;}

/* info-nav 居中 */
.info-nav-inner{max-width:1100px;margin:0 auto;}

/* about角色grid居中 */
.info-sec div[style*="grid-template-columns:repeat(3,1fr)"]{max-width:760px;margin:20px auto;}


/* ===== IMAGE FIX PATCH ===== */
.hero-img,
.home-img-wrap,
.char-img-wrap,
.daily-card{
  overflow:hidden;
}

.hero-img img{
  width:100%;
  height:auto;
  object-fit:contain;
}

.home-img-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.char-img-wrap > img{
  width:100%;
  height:100%;
  object-fit:contain;
  position:relative;
  z-index:2;
}

.char-detail{
  overflow:hidden;
}

.char-detail img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.daily-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.img-slot,
.daily-card-ph{
  display:none !important;
}


/* ===== ORIGIN STRIP PATCH · 2026 官网蓝图 ===== */
.origin-strip{background:linear-gradient(180deg,var(--g1) 0%,var(--cream) 100%);padding:64px 24px;border-top:1px solid rgba(0,0,0,.04);border-bottom:1px solid rgba(0,0,0,.06);}
.origin-strip-inner{max-width:860px;margin:0 auto;text-align:center;background:rgba(255,255,255,.72);border:1px solid var(--g2);border-radius:22px;padding:42px 28px;box-shadow:0 22px 44px rgba(45,90,27,.08);}
.origin-strip h2{font-size:clamp(22px,3vw,34px);font-weight:900;color:var(--ink);line-height:1.35;margin:8px auto 10px;max-width:720px;}
.origin-strip p{font-size:16px;color:var(--gray);line-height:1.9;margin-bottom:22px;}
.origin-strip-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border-radius:999px;background:var(--ink);color:var(--white);font-size:13px;font-weight:900;text-decoration:none;}
.origin-strip-btn:hover{background:var(--g6);text-decoration:none;}
footer .f-nav{gap:7px;}


/* ===== V14 FINAL PATCH ===== */
.nav-links a.knowledge-link{display:none;}
.home-quick{background:var(--white);padding:84px 48px;}
.home-quick-inner{max-width:1120px;margin:0 auto;text-align:center;}
.home-quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px;text-align:left;}
.home-quick-card{background:var(--g1);border:1px solid var(--g2);border-radius:18px;padding:22px;}
.home-quick-card h3{font-size:18px;font-weight:900;color:var(--ink);margin-bottom:8px;}
.home-quick-card p{font-size:14px;color:var(--gray);line-height:1.85;margin-bottom:14px;}
.home-quick-card a{font-size:13px;font-weight:900;color:var(--g6);}
.info-sec .wide{max-width:900px;margin:0 auto;}
.text-lead{font-size:17px;line-height:2;color:var(--ink);font-weight:700;margin-bottom:18px;}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 20px;}
.pill{display:inline-flex;padding:6px 12px;border-radius:999px;background:var(--g1);border:1px solid var(--g2);font-size:12px;color:var(--g6);font-weight:700;}
.kcard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0;}
.kcard{display:block;background:var(--g1);border:1px solid var(--g2);border-radius:18px;padding:22px;text-decoration:none;transition:transform .2s,box-shadow .2s;background-clip:padding-box;}
.kcard:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(45,90,27,.08);text-decoration:none;}
.kcard h3{font-size:17px;font-weight:900;color:var(--ink);margin-bottom:8px;line-height:1.55;}
.kcard p{font-size:14px;color:var(--gray);line-height:1.85;margin:0 0 12px;}
.kcard .tags{font-size:12px;color:var(--g6);font-weight:700;line-height:1.7;}
.kcard .btn{display:inline-flex;margin-top:12px;font-size:13px;font-weight:900;color:var(--g6);}
.fact-grid{display:grid;grid-template-columns:190px 1fr;gap:0;border:1px solid rgba(0,0,0,.07);border-radius:14px;overflow:hidden;margin:20px 0;background:var(--white);}
.fact-grid div{padding:13px 16px;border-bottom:1px solid rgba(0,0,0,.06);font-size:14px;line-height:1.75;}
.fact-grid div:nth-child(odd){background:var(--g1);font-weight:900;color:var(--g7);}
.fact-grid div:nth-last-child(-n+2){border-bottom:none;}
.answer-block{background:var(--g1);border-left:4px solid var(--g5);border-radius:0 12px 12px 0;padding:18px 22px;margin:20px 0;color:var(--ink);line-height:1.95;font-size:15px;}
.answer-block strong{color:var(--g7);}
.clean-list{margin:12px 0 20px 1.1em;padding:0;}
.clean-list li{font-size:15px;color:var(--gray);line-height:1.95;margin:4px 0;}
.feature-list{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:22px 0;}
.feature-list div{background:var(--g1);border:1px solid var(--g2);border-radius:14px;padding:14px 10px;text-align:center;font-weight:900;color:var(--g7);font-size:14px;}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;}
.cta-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:999px;background:var(--ink);color:var(--white);font-size:13px;font-weight:900;text-decoration:none;}
.cta-btn:hover{background:var(--g6);text-decoration:none;}
.cta-btn.alt{background:var(--g2);color:var(--g7);}
.en-fact{font-family:"Noto Sans SC",sans-serif;}
.en-fact p{font-size:15px;color:var(--gray);line-height:1.95;margin-bottom:16px;}
@media(max-width:900px){.home-quick-grid,.kcard-grid{grid-template-columns:1fr}.feature-list{grid-template-columns:repeat(2,1fr)}.fact-grid{grid-template-columns:1fr}.fact-grid div:nth-child(odd){border-bottom:none}.fact-grid div:nth-child(even){border-bottom:1px solid rgba(0,0,0,.06)}}
@media(max-width:768px){.home-quick{padding:64px 20px}.feature-list{grid-template-columns:1fr}}


/* ── Evidence / Certificate ── */


/* Front light + IP intro update 2026-06-01 */
.ip-hero{min-height:auto;justify-content:flex-start;padding:42px 24px 60px;}
.ip-hero .hero-eyebrow{margin-top:0;margin-bottom:28px;}
.ip-hero .hero-img{margin-bottom:34px;}
.story-hero{background:linear-gradient(180deg,var(--g1) 0%,var(--cream) 100%);}
.story-lead p,.group-note p{font-size:18px;line-height:2;color:var(--gray);margin-bottom:16px;}
.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px;}
.story-card,.quote-card,.scene-item{background:#fff;border:1px solid rgba(0,0,0,.07);border-radius:18px;padding:26px 24px;box-shadow:0 12px 30px rgba(0,0,0,.04);}
.story-kicker{font-family:"Space Mono",monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--g6);font-weight:700;margin-bottom:10px;}
.story-card h3,.quote-card h3,.scene-item h3{font-size:20px;line-height:1.45;margin-bottom:12px;font-weight:900;color:var(--ink);}
.story-card p,.quote-card p,.scene-item p{font-size:15px;line-height:1.9;color:var(--gray);margin-bottom:10px;}
.moo-card{border-top:5px solid var(--g5);}.mee-card{border-top:5px solid var(--amb);}.boo-card{border-top:5px solid var(--yellow);}
.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px;}
.quote-card p{font-weight:700;color:var(--ink);}
.scene-list{display:grid;gap:16px;margin-top:20px;}
.group-note{max-width:900px;}
.timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:20px;}
.timeline div{background:#fff;border:1px solid rgba(0,0,0,.07);border-radius:16px;padding:20px;}
.timeline strong{display:block;color:var(--g6);font-weight:900;margin-bottom:8px;}
.timeline p{font-size:14px;color:var(--gray);line-height:1.7;}
.f-nav a[href="/knowledge/"]{opacity:.72;}
@media(max-width:900px){.story-grid,.quote-grid,.timeline{grid-template-columns:1fr;}.ip-hero{padding:30px 20px 50px;}}


/* === VISUAL ROLLBACK + FACT-RICH COMPAT PATCH 2026-06-01 === */
/* keep previous visual language; only support newer fact-rich content classes */
.home-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;max-width:760px;margin:28px auto 0 !important;}
.ip-hero{padding-top:24px !important;}

/* fact-rich article content compatibility */
.article-body h2{margin-top:42px;margin-bottom:14px;font-size:28px;line-height:1.35;color:var(--ink);}
.article-body h2:first-child{margin-top:0;}
.article-body p{font-size:16px;color:var(--gray);line-height:2;margin-bottom:16px;}
.article-body ul{color:var(--gray);line-height:1.9;}
.article-body .fact-box{background:var(--g1);border-left:4px solid var(--g5);border-radius:0 14px 14px 0;padding:18px 22px;margin:20px 0;color:var(--ink);line-height:1.95;font-size:15px;}
.article-body .fact-box strong{color:var(--g7);}
.kgroup{margin:0 0 56px;}
.kgroup h2{font-size:30px;line-height:1.35;margin:0 0 18px;padding-bottom:12px;border-bottom:2px solid var(--g2);}

/* statement page current markup, rendered in old style */
.fact-table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid rgba(0,0,0,.07);border-radius:16px;background:var(--white);margin:20px 0;}
.fact-table th,.fact-table td{text-align:left;padding:15px 18px;border-bottom:1px solid rgba(0,0,0,.06);font-size:15px;line-height:1.75;vertical-align:top;}
.fact-table tr:last-child th,.fact-table tr:last-child td{border-bottom:none;}
.fact-table th{width:210px;background:var(--g1);font-weight:900;color:var(--g7);}
.coop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:22px 0;}
.coop-card{background:var(--g1);border:1px solid var(--g2);border-radius:18px;padding:24px;}
.coop-card h3{font-size:18px;font-weight:900;color:var(--ink);margin-bottom:8px;}
.coop-card p{font-size:15px;color:var(--gray);line-height:1.9;margin:0;}
.steps{counter-reset:step;display:grid;grid-template-columns:1fr;gap:12px;margin:22px 0;padding:0;}
.steps li{list-style:none;background:var(--white);border:1px solid rgba(0,0,0,.07);border-radius:14px;padding:16px 18px;font-size:15px;color:var(--gray);line-height:1.75;}
.steps li:before{counter-increment:step;content:counter(step);display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--g6);color:#fff;font-weight:900;margin-right:10px;font-family:"Space Mono",monospace;font-size:12px;}

/* Current footer class compatibility if any remains */
.footer{background:#161817;color:#b7beb4;padding:64px 24px 36px;}
.footer-inner{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:1fr 260px;gap:60px;}
.footer-brand h3{color:#fff;font-size:28px;margin:0 0 8px;}
.footer-brand h3 span{color:#b8ed78;}
.footer .mini{font-family:"Space Mono",monospace;letter-spacing:.25em;color:#aee66a;font-size:12px;}
.footer-links{display:flex;flex-direction:column;gap:14px;text-align:right;}
.footer a{color:#aaa;text-decoration:none;}.footer a:hover{color:#b8ed78;}
.footer-bottom{grid-column:1/-1;border-top:1px solid #303430;padding-top:26px;font-family:"Space Mono",monospace;font-size:13px;color:#777;}

@media(max-width:900px){
  .home-quick-grid,.coop-grid{grid-template-columns:1fr !important;max-width:100%;}
  .fact-table th,.fact-table td{display:block;width:100%;}
  .fact-table th{border-bottom:none;}
  .footer-inner{grid-template-columns:1fr}.footer-links{text-align:left;}
}

/* === FINAL MICRO FIX · FAQ ACCORDION / FOOTER / CHARACTER IMAGE BACKGROUND === */
.faq-q{
  width:100%;
  border:0;
  text-align:left;
  font-family:inherit;
  appearance:none;
  -webkit-appearance:none;
}
.faq-q:focus-visible{
  outline:2px solid rgba(168,216,112,.75);
  outline-offset:-2px;
}
.faq-a p{
  font-size:14px;
  color:var(--gray);
  line-height:1.9;
  margin:0 0 12px;
}
.faq-a p:last-child{margin-bottom:0;}
footer .f-nav a,
footer .f-nav a[href="/knowledge/"]{
  font-size:13px;
  color:rgba(255,255,255,.4) !important;
  opacity:1 !important;
  font-weight:400;
  outline-color:rgba(168,216,112,.45);
}
footer .f-nav a:hover,
footer .f-nav a:focus-visible{
  color:#A8D870 !important;
  text-decoration:none;
}
footer .f-nav a:focus-visible{
  outline:1px solid rgba(168,216,112,.5);
  outline-offset:3px;
  border-radius:2px;
}
.char-img-wrap{
  background:#fff;
}
.char-img-wrap > img{
  background:#fff;
}
#moo .char-img-wrap{
  background:#fff;
}


/* === FINAL CLEANUP 2026-06-01 · mobile nav, clean FAQ accordion, search summary support === */
@media(max-width:768px){
  :root{--nav-h:108px;}
  .nav{
    height:auto;
    min-height:var(--nav-h);
    padding:10px 16px 8px;
    flex-wrap:wrap;
    align-items:center;
    row-gap:6px;
  }
  .nav-logo{order:1;font-size:18px;}
  .nav-badge{order:2;font-size:8px;padding:4px 8px;letter-spacing:.16em;}
  .nav-links{
    order:3;
    width:100%;
    display:flex !important;
    overflow-x:auto;
    white-space:nowrap;
    gap:4px;
    padding:7px 0 2px;
    border-top:1px solid rgba(0,0,0,.06);
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .nav-links::-webkit-scrollbar{display:none;}
  .nav-links a{font-size:12px;padding:6px 9px;flex:0 0 auto;}
  .nav-links .divider{display:none;}
  .ip-hero{padding-top:24px !important;}
}
.faq-list{max-width:760px;margin:24px auto;}
.faq-item{border:1px solid rgba(0,0,0,.08);border-radius:12px;margin-bottom:12px;overflow:hidden;background:#fff;}
.faq-q{display:flex;align-items:center;justify-content:space-between;width:100%;padding:20px 24px;background:#fff;font-size:16px;font-weight:900;color:var(--ink);border:0;text-align:left;}
.faq-q:hover{background:var(--g1);}
.faq-q::after{content:"＋";font-size:22px;line-height:1;color:var(--g5);transition:transform .2s;flex:0 0 auto;margin-left:16px;}
.faq-item.open .faq-q{background:var(--g1);}
.faq-item.open .faq-q::after{transform:rotate(45deg);}
.faq-a{display:none;padding:0 24px 24px;background:#fff;}
.faq-item.open .faq-a{display:block;}
.faq-a p{font-size:15px;color:var(--gray);line-height:1.95;margin:0 0 12px;}


/* === MOBILE NAV AUTO HIDE ON SCROLL · 2026-06-01 === */
@media(max-width:768px){
  .nav{transition:transform .38s ease, opacity .38s ease, box-shadow .3s ease, background .3s ease;}
  .nav.nav-mobile-hidden{transform:translateY(-105%);opacity:0;pointer-events:none;}
  body.mobile-nav-hidden{ }
}


/* 2026-06-01 final local patch: stable footer + statement page corrections */
footer{background:#161817!important;color:#8f9a8f!important;}
footer .f-logo{font-size:24px!important;line-height:1.2!important;color:#fff!important;}
footer .f-tag{font-size:12px!important;}
footer .f-mantra, footer .f-copy{font-size:13px!important;line-height:1.9!important;}
footer .f-nav a{color:#8f9a8f!important;font-size:14px!important;}
footer .f-nav a:hover{color:#b8ed78!important;}
.statement-collaboration .steps{display:none;}

/* === MOBILE NAV AUTO-HIDE FIX · 2026-06-01 === */
@media(max-width:768px){
  .nav{
    transition:transform .36s ease, opacity .36s ease, box-shadow .28s ease, background .28s ease !important;
    will-change:transform,opacity;
  }
  .nav.nav-mobile-hidden{
    transform:translate3d(0,-110%,0) !important;
    opacity:0 !important;
    pointer-events:none !important;
  }
}

/* === FOOTER NAV LINK COLOR FIX · 2026-06-01 === */
footer .f-nav a,
footer .f-nav a:visited,
footer .f-nav a[href="/knowledge/"],
footer .f-nav a[href="/knowledge/"]:visited{
  color:#8f9a8f!important;
  opacity:1!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  outline:none!important;
  text-decoration:none!important;
}
footer .f-nav a:focus,
footer .f-nav a:focus-visible,
footer .f-nav a[href="/knowledge/"]:focus,
footer .f-nav a[href="/knowledge/"]:focus-visible{
  color:#8f9a8f!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  outline:none!important;
  text-decoration:none!important;
}
footer .f-nav a:hover,
footer .f-nav a[href="/knowledge/"]:hover{
  color:#b8ed78!important;
  text-decoration:none!important;
}

/* === DAILY SECTION RESTORE · 2026-06-01 === */
.sec-sub{max-width:720px;margin:12px auto 0;font-size:16px;line-height:1.9;color:var(--gray);text-align:center;}
@media(max-width:768px){.sec-sub{font-size:14px;line-height:1.75;}}

/* === CLEANUP 2026-06-18 · prevent brand logo line-break in knowledge previews === */
.nav-logo{white-space:nowrap;flex-shrink:0;min-width:max-content;}
.nav-logo .en{white-space:nowrap;}
