/* ============================================================
   小森 · 共用样式
   五个世界共享的底色、字体、导航、回家的路
   ============================================================ */

:root{
  --paper:#F7F3E8; --card:#FFFCF4;
  --kamo:#86A9B8; --kamo-d:#5C8494; --sky:#B9D7DE;
  --ruozhu:#8FB07A; --ruozhu-d:#5F7F4E; --ruozhu-l:#B6CCA2;
  --lugan:#E09A50; --qingmei:#C8D6A8;
  --soil:#8A6646; --soil-d:#6A4C33;
  --wood:#A87A52; --wood-d:#7F5938;
  --ink:#404A3C; --muted:#8B9683;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'LXGW WenKai TC','Noto Serif SC',serif;
  background:transparent;color:var(--ink);
  line-height:1.95;overflow-x:hidden;-webkit-font-smoothing:antialiased;
}
h1,h2,h3,.hand{font-family:'Ma Shan Zheng',cursive;font-weight:400;line-height:1.45}
button,input{font-family:inherit}
a{color:var(--ruozhu-d)}
:focus-visible{outline:3px solid var(--ruozhu-d);outline-offset:3px;border-radius:6px}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---------- 回家 ---------- */
.home{
  position:fixed;top:14px;left:14px;z-index:400;
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(255,252,244,.92);backdrop-filter:blur(10px);
  border:2px solid var(--ruozhu-l);border-radius:30px;
  padding:6px 16px;text-decoration:none;color:var(--ruozhu-d);
  font-size:.9rem;box-shadow:0 5px 16px rgba(64,74,60,.14);transition:.22s;
}
.home:hover{transform:translateX(-3px);background:var(--ruozhu);color:#fff;border-color:var(--ruozhu)}

/* ---------- 页头 ---------- */
.page-head{text-align:center;padding:96px 22px 10px;position:relative;z-index:2}
.page-head h1{font-size:clamp(2.3rem,7vw,3.6rem);color:#3B5240;letter-spacing:.08em}
.page-head .sub{color:var(--muted);letter-spacing:.1em;font-size:.95rem;margin-top:6px}

/* ---------- 通用块 ---------- */
.wrap{max-width:1060px;margin:0 auto;padding:0 22px}
.quote{text-align:center;max-width:620px;margin:0 auto 40px;color:#4F6B55}
.quote .hand{display:block;font-size:1.45rem;color:var(--ruozhu-d);margin-bottom:8px}
.quote small{color:var(--muted);font-size:.8rem;display:block;margin-top:8px}
.small{font-size:.85rem;color:var(--muted)}
.btn{
  background:var(--ruozhu);color:#fff;border:none;border-radius:11px;padding:8px 20px;
  cursor:pointer;font-size:1rem;box-shadow:0 3px 0 var(--ruozhu-d);transition:.15s;
  font-family:'Ma Shan Zheng',cursive;
}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(2px);box-shadow:0 1px 0 var(--ruozhu-d)}

/* ---------- 搜索框 ---------- */
.seek{
  display:flex;gap:9px;max-width:560px;margin:0 auto 14px;
  background:var(--card);border:2px solid var(--ruozhu-l);border-radius:30px;padding:6px 6px 6px 20px;
  box-shadow:0 6px 20px rgba(64,74,60,.1);
}
.seek input{flex:1;border:none;background:none;font-size:.98rem;color:var(--ink);outline:none;min-width:0}
.seek input::placeholder{color:#AEB8A4}
.seek button{
  background:var(--ruozhu);color:#fff;border:none;border-radius:24px;
  padding:8px 20px;cursor:pointer;font-size:.92rem;white-space:nowrap;transition:.2s;
}
.seek button:hover{background:var(--ruozhu-d)}
.seek-where{display:flex;gap:7px;justify-content:center;flex-wrap:wrap;margin-bottom:38px}
.seek-where button{
  background:var(--card);border:2px solid #E6E0CE;color:var(--muted);
  border-radius:20px;padding:4px 14px;cursor:pointer;font-size:.8rem;transition:.2s;
}
.seek-where button.on{background:var(--ruozhu);color:#fff;border-color:var(--ruozhu)}

/* ---------- 外链小药丸 ---------- */
.pills{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.pills a{
  font-size:.74rem;color:var(--ruozhu-d);text-decoration:none;
  border:1.5px solid var(--ruozhu-l);border-radius:20px;padding:2px 11px;
  transition:.2s;white-space:nowrap;
}
.pills a:hover{background:var(--ruozhu);color:#fff;border-color:var(--ruozhu)}

/* ---------- 页脚 ---------- */
.foot{
  background:#3B5240;color:#E6EEDC;text-align:center;
  padding:42px 20px 56px;margin-top:80px;
}
.foot .hand{font-size:1.4rem;letter-spacing:.06em}
.foot p{font-size:.8rem;opacity:.7;margin-top:8px;letter-spacing:.08em}
.foot a{color:#CFE0C2}

/* ---------- 飘浮物 ---------- */
.drift-item{
  position:fixed;top:-5vh;z-index:3;pointer-events:none;
  animation:floatdown linear infinite;opacity:.8;
}
@keyframes floatdown{
  0%{transform:translate(0,-6vh) rotate(0)}
  33%{transform:translate(44px,32vh) rotate(130deg)}
  66%{transform:translate(-34px,66vh) rotate(250deg)}
  100%{transform:translate(28px,108vh) rotate(380deg)}
}

@media(max-width:640px){
  .page-head{padding-top:84px}
  .home{padding:5px 13px;font-size:.84rem}
}
