:root{
  --bg:#fbfaf8;--surface:#fff;--ink:#2f2a28;--muted:#776f6a;--line:#eadfd9;
  --accent:#cc8d93;--accent-strong:#b66e77;--accent-soft:#f7e8e8;--sage:#dfe9e2;
  --shadow:0 12px 35px rgba(69,53,46,.08);--radius:18px;
}
*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Yu Gothic",sans-serif;background:linear-gradient(180deg,#fff 0,#fbfaf8 42%,#f8f4f0 100%);color:var(--ink)}
a{color:inherit}.container{max-width:1120px;margin:auto;padding:0 20px}.header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid #f0e7e2}.nav{height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:11px;cursor:pointer}.mark{width:36px;height:36px;border:2px solid var(--accent);border-radius:50% 50% 50% 8px;transform:rotate(-45deg);position:relative}.mark:after{content:"";position:absolute;width:12px;height:12px;border:2px solid var(--accent);border-radius:50%;right:6px;top:6px}.brand b{font-size:18px;letter-spacing:.04em}.brand small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.navlinks{display:flex;gap:10px;align-items:center}.navlinks button,.ghost{border:0;background:transparent;padding:10px 12px;border-radius:12px;color:#514946;font-weight:600;cursor:pointer}.navlinks button:hover,.ghost:hover{background:#faf3f1}.btn{border:0;background:var(--accent);color:#fff;padding:13px 18px;border-radius:12px;font-weight:700;cursor:pointer;box-shadow:0 6px 16px rgba(182,110,119,.18)}.btn:hover{background:var(--accent-strong)}.btn.secondary{background:#fff;color:var(--accent-strong);border:1px solid var(--accent);box-shadow:none}.btn.small{padding:9px 12px;font-size:13px}.hero{padding:64px 0 38px}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:center}.eyebrow{color:var(--accent-strong);font-weight:800;letter-spacing:.08em;font-size:13px}.hero h1{font-family:Georgia,"Yu Mincho",serif;font-size:46px;line-height:1.28;margin:12px 0 18px;font-weight:500}.hero p{color:#625a56;line-height:1.9;max-width:610px}.hero-actions{display:flex;gap:12px;margin-top:26px}.hero-art{min-height:320px;border-radius:28px;background:radial-gradient(circle at 70% 25%,#fff 0 18%,transparent 19%),linear-gradient(135deg,#f9efec,#f4f7f1);box-shadow:var(--shadow);position:relative;overflow:hidden}.hero-art:before{content:"";position:absolute;width:190px;height:190px;border-radius:50%;background:#fff9;right:38px;top:42px;box-shadow:0 0 0 28px #fff4}.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(249,239,236,.08),rgba(255,255,255,.22));pointer-events:none}.hero-art-c{background:radial-gradient(circle at 78% 25%,rgba(255,255,255,.92) 0 17%,transparent 18%),linear-gradient(135deg,#f7eeea 0%,#f2f6f0 55%,#eef3ef 100%)}.hero-soft-copy{position:absolute;z-index:2;right:42px;top:78px;width:245px;padding:25px 26px;border-radius:22px;background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.72);backdrop-filter:blur(7px);box-shadow:0 14px 35px rgba(72,63,57,.06)}.hero-soft-copy span{display:block;color:#a5807d;font-size:10px;font-weight:800;letter-spacing:.16em;margin-bottom:13px}.hero-soft-copy p{margin:0;color:#514a47;font-family:Georgia,"Yu Mincho",serif;font-size:20px;line-height:1.85;letter-spacing:.02em}.plant{position:absolute;left:55px;bottom:20px;width:180px;height:200px}.plant .pot{position:absolute;bottom:0;left:42px;width:95px;height:92px;border-radius:12px 12px 28px 28px;background:linear-gradient(#e7ded6,#d5c8bd)}.leaf{position:absolute;width:62px;height:26px;background:#b9cbbd;border-radius:100% 0 100% 0;transform-origin:100% 50%}.leaf:nth-child(1){left:74px;top:12px;transform:rotate(25deg)}.leaf:nth-child(2){left:38px;top:42px;transform:rotate(160deg)}.leaf:nth-child(3){left:82px;top:56px;transform:rotate(-8deg)}.leaf:nth-child(4){left:35px;top:82px;transform:rotate(140deg)}.leaf:nth-child(5){left:90px;top:100px;transform:rotate(15deg)}.card{background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.notice-age{padding:18px 20px;margin-top:26px;display:flex;gap:12px;align-items:center}.notice-age strong{display:block}.notice-age span{font-size:13px;color:var(--muted)}.section{padding:24px 0}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.section-title h2{font-size:22px;margin:0}.grid2{display:grid;grid-template-columns:1fr 1.2fr;gap:18px}.pad{padding:22px}.notice-list{display:grid;gap:11px}.notice-row{display:flex;gap:16px;padding:11px 0;border-bottom:1px solid #f2e8e3;font-size:14px}.notice-row time{color:var(--muted);white-space:nowrap}.filters{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.field label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}.field select,.field input,.field textarea{width:100%;padding:12px 13px;border:1px solid #ddd2cc;border-radius:10px;background:#fff;color:var(--ink);font:inherit}.field textarea{min-height:130px;resize:vertical}.filter-actions{grid-column:1/-1;display:flex;gap:10px}.regions{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.region{padding:20px 10px;text-align:center;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer}.region:hover{background:#fff8f7}.posts{display:grid;gap:12px}.post-card{padding:18px;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center}.avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#dae8f5,#edf3f7);display:grid;place-items:center;color:#7890a4;font-weight:800}.avatar.f{background:linear-gradient(135deg,#f3dfe2,#faeeee);color:#b77c84}.meta{font-size:12px;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap}.post-card h3{font-size:17px;margin:6px 0}.excerpt{color:#655e5a;font-size:14px;line-height:1.7}.post-side{text-align:right;font-size:12px;color:var(--muted)}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:11px;font-weight:800}.footer{margin-top:48px;padding:30px 0;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.page{padding:32px 0 50px}.page h1{font-size:30px;margin:0 0 20px}.toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px}.detail{padding:26px}.detail h1{font-size:27px;margin:12px 0}.detail-body{line-height:1.95;white-space:pre-wrap;color:#514b48}.detail-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px}.replies{margin-top:18px;display:grid;gap:10px}.reply{padding:18px}.reply .meta{margin-bottom:8px}.form{padding:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.full{grid-column:1/-1}.help{font-size:12px;color:var(--muted);margin-top:5px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.bottomnav{display:none}.empty-note{text-align:center;padding:26px;color:var(--muted)}.danger{background:#fff3f2;color:#a04f56;border:1px solid #efc8c9}.info-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);overflow:hidden}.info-item{background:#fff;padding:20px}.info-item b{display:block;margin-bottom:6px}.info-item span{font-size:12px;color:var(--muted);line-height:1.6}
@media(max-width:780px){.container{padding:0 14px}.nav{height:62px}.navlinks{display:none}.brand small{display:none}.hero{padding:34px 0 24px}.hero-grid{grid-template-columns:1fr}.hero h1{font-size:34px}.hero-art{min-height:260px}.hero-soft-copy{right:18px;top:40px;width:220px;padding:20px}.hero-soft-copy p{font-size:17px}.plant{left:18px;transform:scale(.78);transform-origin:left bottom}.grid2{grid-template-columns:1fr}.regions{grid-template-columns:repeat(2,1fr)}.post-card{grid-template-columns:auto 1fr}.post-side{grid-column:2;text-align:left}.filters{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.info-strip{grid-template-columns:1fr 1fr}.bottomnav{display:flex;position:fixed;z-index:20;bottom:0;left:0;right:0;height:62px;background:#fffc;border-top:1px solid var(--line);backdrop-filter:blur(8px);justify-content:space-around;align-items:center}.bottomnav button{border:0;background:transparent;font-size:11px;color:#5d5551}.footer{padding-bottom:88px}.page{padding-bottom:90px}}
.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.stat{padding:20px;text-align:center}.stat b{display:block;font-size:30px;color:var(--accent-strong)}.stat span{font-size:12px;color:var(--muted)}.admin-panel{padding:22px;margin-top:16px}.admin-panel h2{margin-top:0}.admin-list{display:grid;gap:10px}.admin-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 0;border-top:1px solid #f0e7e2}.admin-row:first-child{border-top:0}.admin-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.admin-row .excerpt{margin-top:5px;max-width:720px}
@media(max-width:780px){.admin-stats{grid-template-columns:1fr 1fr}.admin-row{align-items:flex-start;flex-direction:column}.admin-actions{justify-content:flex-start}}


/* v0.6 age verification */
.age-gate{display:flex;gap:18px;align-items:flex-start;padding:24px;margin-top:18px;border:1px solid #eadfd8;background:#fffdfb}
.age-gate h3{margin:0 0 8px}
.age-gate p{margin:0 0 14px;color:#6f6661;line-height:1.8}
.age-icon{width:54px;height:54px;border-radius:18px;background:#f4e5df;display:grid;place-items:center;font-weight:800;color:#8b6257;flex:0 0 auto}
.verified-pill,.verified-note{display:inline-flex;align-items:center;gap:7px;border-radius:999px;background:#eef5ef;color:#49664f;padding:8px 12px;font-weight:700;font-size:13px}
.verified-note{margin-bottom:12px}
.age-flow{display:flex;align-items:center;justify-content:center;margin:24px 0}
.flow-step{display:flex;align-items:center;gap:8px;color:#8c827c;font-size:13px}
.flow-step b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#eee7e3;color:#756963}
.flow-step.active b{background:#a97869;color:#fff}
.flow-line{height:1px;width:80px;background:#e5d8d1;margin:0 10px}
.notice-soft,.notice-success,.notice-warn{margin-top:14px;padding:14px 16px;border-radius:14px;line-height:1.7}
.notice-soft{background:#f7f3f0;color:#625a56}
.notice-success{background:#eef6ef;color:#45624b;border:1px solid #d7ead9}
.notice-warn{background:#fff7e8;color:#775f2f;border:1px solid #f0dfb6}
@media(max-width:700px){
  .age-gate{padding:18px}
  .flow-line{width:30px}
  .age-flow{justify-content:flex-start;overflow:auto}
  .verified-pill{margin-top:8px}
}


/* RC2 SEO / crawlable navigation */
.brand-link{text-decoration:none}
.navlinks a,.ghost{border:0;background:transparent;padding:10px 12px;border-radius:12px;color:#514946;font-weight:600;cursor:pointer;text-decoration:none}
.navlinks a:hover,.ghost:hover{background:#faf3f1}
.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.post-card h3 a{text-decoration:none}
.post-card h3 a:hover{text-decoration:underline;text-underline-offset:3px}
.meta a{text-decoration:none}
.meta a:hover{text-decoration:underline}
.region-links{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.region-link{padding:18px;text-decoration:none;display:flex;flex-direction:column;gap:5px}
.region-link:hover{transform:translateY(-1px);border-color:#dcc7c3}
.region-link span{font-size:12px;color:var(--muted)}
.breadcrumbs{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:18px;font-size:13px;color:var(--muted)}
.breadcrumbs a{text-decoration:none}
.breadcrumbs a:hover{text-decoration:underline}
.seo-copy{margin-top:20px;line-height:1.8}
.bottomnav a{border:0;background:transparent;font-size:11px;color:#5d5551;text-decoration:none;text-align:center}
@media(max-width:780px){
  .region-links{grid-template-columns:1fr 1fr}
  .bottomnav a{min-width:62px}
}

/* RC2.1 adult confirmation / safety / reporting */
.confirm-list{display:grid;gap:12px;margin:18px 0}.confirm-check{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}.confirm-check input{margin-top:3px;width:auto}.confirm-check b{display:block}.confirm-check small{display:block;color:var(--muted);line-height:1.6;margin-top:4px}.confirm-inline{display:grid;gap:8px}.confirm-inline label{font-size:13px;color:#514946}.policy-copy{line-height:1.9}.policy-copy h3{margin-top:24px}.policy-copy li{margin:7px 0}.safety-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.safety-grid h2{margin-top:0;font-size:20px}.safety-grid p{color:#625a56;line-height:1.8}.reply-actions{display:flex;gap:5px;justify-content:flex-end;margin-top:8px}.small-link{font-size:12px;padding:6px 8px}.modal-backdrop{position:fixed;z-index:1000;inset:0;background:rgba(35,28,25,.42);display:grid;place-items:center;padding:18px}.report-modal{width:min(620px,100%);padding:22px;max-height:90vh;overflow:auto}.report-modal h2{margin:0}.danger-solid{background:#a9565d;color:#fff}.danger-solid:hover{background:#91454c}.priority{display:inline-block;border-radius:999px;padding:3px 8px;background:#f2efec;color:#716864;font-size:11px;font-weight:800}.priority.high{background:#fff0ef;color:#a1474d}.report-urgent{background:#fffafa;border-radius:12px;padding-left:10px;padding-right:10px}.stat-alert{border-color:#e9b8ba}.stat-alert b{color:#a1474d}
@media(max-width:780px){.safety-grid{grid-template-columns:1fr}.confirm-check{padding:12px}.report-modal{padding:18px}}
