/* ============================================================
   方寸菜园 · 站内游戏感点缀层（2026-07-12）
   覆盖层：不改任何业务样式/变量名，删掉本文件+bridge.js 即完整回退。
   注：原「风格桥接」（黄铜按钮 / 城市光圈）已随作品集解耦移除——
       主按钮回归站内绿色手账语言，本层只留呼吸光环 / 藤蔓四季条 /
       金印盖章 / 种下土花粒子 / 作物道具卡 等站内点缀。
   ============================================================ */

/* ---------- 2 · 图纸手柄呼吸光环（主页热区同款语言，克制版）---------- */
.dim-handle{animation:fc-breathe 2.8s ease-in-out infinite}
.dim-handle:hover{animation-duration:1.2s}
@keyframes fc-breathe{
  0%,100%{box-shadow:0 0 0 0 rgba(224,162,27,0)}
  50%{box-shadow:0 0 0 5px rgba(224,162,27,.26)}
}

/* ---------- 3 · 作物卡片：纸片拿起 + 种下弹跳 ---------- */
.crop-card{transition:transform .18s ease, box-shadow .18s ease}
.crop-card:hover{transform:translateY(-3px) rotate(-.35deg)}
.select-card{transition:transform .16s ease, box-shadow .16s ease}
.select-card:hover{transform:translateY(-2px) rotate(-.3deg)}
.select-card.selected{animation:fc-plant .32s ease}
@keyframes fc-plant{
  0%{transform:scale(1)}
  45%{transform:scale(1.035) rotate(.5deg)}
  100%{transform:scale(1)}
}

/* ---------- 4 · 四季占用条 → 藤蔓生长 ---------- */
.season-bar-fill{
  transition:width 1.1s cubic-bezier(.25,.6,.3,1);
  position:relative;
  background-image:linear-gradient(90deg, rgba(90,154,85,.0) 60%, rgba(120,180,110,.35));
}
.season-bar-fill::after{
  content:'';
  position:absolute;right:-6px;top:50%;
  width:11px;height:11px;
  transform:translateY(-58%) rotate(-18deg);
  background:radial-gradient(ellipse at 30% 70%, #5A9A55 0%, #3C7A43 75%);
  border-radius:80% 12% 80% 12%;   /* 叶尖 */
}
.season-bar-fill[style*="width: 0"]::after{display:none}

/* ---------- 5 · 金印「排妥」（生成方案时盖章）---------- */
#page-plan{position:relative}
.fc-seal{
  position:absolute;right:clamp(12px,6vw,72px);top:86px;z-index:8;
  width:78px;height:78px;
  display:grid;place-items:center;
  border:3px solid #7D590B;
  border-radius:7px 11px 6px 10px;  /* 手绘不对称 */
  color:#7D590B;
  font:600 26px/1.1 "Songti SC","Noto Serif CJK SC",serif;
  letter-spacing:3px;
  writing-mode:vertical-rl;
  transform:rotate(6deg);
  background:rgba(244,241,230,.55);
  box-shadow:inset 0 0 14px rgba(125,89,11,.12);
  pointer-events:none;
  animation:fc-stamp .55s cubic-bezier(.2,1.4,.4,1);
}
.fc-seal.fc-seal-fade{transition:opacity 1.2s ease;opacity:0}
@keyframes fc-stamp{
  0%{transform:scale(2.2) rotate(16deg);opacity:0}
  55%{transform:scale(.93) rotate(4deg);opacity:1}
  75%{transform:scale(1.03) rotate(7deg)}
  100%{transform:scale(1) rotate(6deg)}
}

/* ---------- 6 · 种下土花粒子 ---------- */
.fc-particle{
  position:fixed;z-index:99;
  width:7px;height:7px;
  border-radius:55% 40% 60% 45%;
  pointer-events:none;
  animation:fc-pop .7s ease-out forwards;
}
@keyframes fc-pop{
  0%{transform:translate(0,0) scale(1);opacity:1}
  100%{transform:translate(var(--dx),var(--dy)) scale(.35);opacity:0}
}

/* ---------- reduced motion：全部静默 ---------- */
@media (prefers-reduced-motion: reduce){
  .dim-handle,.crop-card.selected,.fc-seal{animation:none !important}
  .season-bar-fill{transition:none}
}

/* ---------- 8 · 着陆页叙事（日记条）---------- */
.fc-story{
  max-width:520px;margin:14px auto 6px;
  text-align:left;
}
.fc-story p{
  margin:7px 0;padding:2px 0 2px 16px;
  border-left:2px solid rgba(125,89,11,.35);
  font-size:14.5px;line-height:1.75;color:var(--muted);
}
.fc-story p:nth-child(2){transform:rotate(-.2deg)}
.fc-story p:nth-child(3){transform:rotate(.2deg)}
.fc-story-turn{
  border-left:0 !important;padding-left:0 !important;
  text-align:center;
  font-family:"Songti SC","Noto Serif CJK SC",serif;
  font-size:19px !important;font-weight:700;
  color:var(--gold-ink) !important;
  letter-spacing:.12em;
  margin-top:12px !important;
}

/* ---------- 9 · 作物道具卡（游戏物品说明弹窗）---------- */
.select-card .select-card-header img, .crop-card img{cursor:zoom-in}
#fc-item{
  position:fixed;inset:0;z-index:120;
  display:grid;place-items:center;
  background:rgba(30,22,12,.5);
  backdrop-filter:blur(2px);
  opacity:0;transition:opacity .3s ease;
}
#fc-item.open{opacity:1}
#fc-item[hidden]{display:none}
.fc-item-card{
  position:relative;
  width:min(400px,92vw);max-height:86vh;overflow:auto;
  background:var(--card,#F4F1E6);
  border-radius:8px;
  padding:20px 22px 18px;
  color:var(--ink);
  transform:scale(.85);
  transition:transform .38s cubic-bezier(.3,1.35,.4,1);
  box-shadow:0 22px 60px rgba(20,14,6,.5);
  border:2px solid var(--green);
  outline:4px solid rgba(60,122,67,.18);
}
#fc-item.open .fc-item-card{transform:scale(1)}
/* 稀有度边框：进阶种=金 */
.fc-item-card[data-tier="advanced"]{
  border-color:#B8862D;
  outline-color:rgba(224,162,27,.28);
}
.fc-item-close{
  position:absolute;right:10px;top:10px;
  width:30px;height:30px;border-radius:50%;
  border:1px solid rgba(32,49,42,.3);background:rgba(232,228,213,.8);
  font-size:16px;line-height:1;cursor:pointer;color:var(--ink);
}
.fc-item-head{display:flex;gap:14px;align-items:center;margin-bottom:10px}
.fc-item-head img{
  width:84px;height:84px;object-fit:contain;flex:none;
  filter:drop-shadow(0 4px 8px rgba(32,49,42,.25));
}
.fc-item-head h3{
  font-family:"Songti SC","Noto Serif CJK SC",serif;
  font-size:26px;letter-spacing:.12em;margin:0 0 6px;
}
.fc-item-chips{display:flex;gap:6px;flex-wrap:wrap}
.fc-chip{
  font-size:11px;padding:3px 8px;border-radius:3px;
  border:1px solid rgba(32,49,42,.25);color:var(--muted);
  background:rgba(232,228,213,.6);
}
.fc-chip.tier-advanced{color:#7D590B;border-color:#B8862D;background:rgba(224,162,27,.12)}
.fc-chip.tier-national{color:var(--primary-dark);border-color:var(--primary);background:rgba(60,122,67,.1)}
.fc-stats{list-style:none;margin:12px 0;padding:10px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.fc-stats li{
  display:flex;align-items:center;gap:10px;
  padding:5px 0;font-size:13px;
}
.fc-stats svg{width:16px;height:16px;flex:none;stroke:var(--gold-ink);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fc-stats .k{color:var(--muted);width:66px;flex:none}
.fc-dots{letter-spacing:3px;color:var(--gold-ink);font-size:11px}
.fc-bond,.fc-avoid{
  display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;
  font-size:12.5px;margin:7px 0;
}
.fc-bond b,.fc-avoid b{flex:none;font-weight:600;color:var(--muted);font-size:12px}
.fc-bond span{color:var(--primary-dark);background:rgba(60,122,67,.1);border:1px solid rgba(60,122,67,.35);padding:2px 8px;border-radius:3px}
.fc-avoid span{color:#B23A5E;background:rgba(178,58,94,.07);border:1px solid rgba(178,58,94,.3);padding:2px 8px;border-radius:3px}
.fc-flavor{
  margin:12px 0 0;
  font-family:"Songti SC","Noto Serif CJK SC",serif;
  font-style:normal;font-size:13.5px;line-height:1.8;
  color:var(--muted);
  padding-left:12px;border-left:3px solid var(--gold);
}
@media (prefers-reduced-motion: reduce){
  #fc-item,.fc-item-card{transition:none}
}

/* ============================================================
   10 · 开场手账漫画（仅首访：空落→不安→求而不得→那就自己种）
   ============================================================ */
#fc-intro{
  position:fixed;inset:0;z-index:200;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:clamp(18px,4vh,34px);
  padding:5vh 5vw;
  background:var(--paper,#E8E4D5);
  cursor:pointer;
  animation:fci-in .5s ease both;
}
#fc-intro.fci-out{animation:fci-out .7s ease forwards;pointer-events:none}
@keyframes fci-in{from{opacity:0}to{opacity:1}}
@keyframes fci-out{to{opacity:0;transform:scale(1.04)}}
/* 纸面颗粒 + 中心聚光 */
#fc-intro::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(120% 90% at 50% 42%, transparent 55%, rgba(58,46,31,.14));
}
.fci-stage{
  position:relative;margin:0;
  width:min(760px,92vw);
  display:flex;flex-direction:column;align-items:center;gap:clamp(14px,3vh,26px);
}
.fci-frame{
  position:relative;width:100%;aspect-ratio:3/2;border-radius:10px;overflow:hidden;
  background:#DCD6C4;
  box-shadow:0 18px 44px rgba(32,25,12,.34), 0 2px 0 rgba(255,250,235,.5) inset;
  border:1px solid rgba(125,89,11,.22);
}
/* washi 胶带角 */
.fci-frame::before{
  content:"";position:absolute;top:-9px;left:50%;transform:translateX(-50%) rotate(-2deg);
  width:88px;height:22px;z-index:3;
  background:linear-gradient(105deg, rgba(224,162,27,.42), rgba(224,162,27,.24));
  box-shadow:0 1px 3px rgba(32,25,12,.2);
}
.fci-img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transform:translateX(var(--fromx,18px));
}
.fci-img.show{
  opacity:1;transform:none;
  transition:opacity .42s ease, transform .5s cubic-bezier(.2,.7,.25,1);
}
/* 旁白：可读的口语短句（手动翻页，能放两行也不慌）*/
.fci-narr{
  min-height:3.4em;max-width:34em;text-align:center;
  font-family:var(--display,"Songti SC",serif);
  font-size:clamp(16px,2.5vw,21px);line-height:1.75;letter-spacing:.02em;
  color:var(--ink,#20312A);
  opacity:0;transform:translateY(8px);
}
.fci-narr.show{opacity:1;transform:none;transition:opacity .45s ease, transform .45s ease}
.fci-narr.empty{min-height:1em}
.fci-nav{
  display:flex;align-items:center;justify-content:center;gap:clamp(14px,4vw,32px);
}
.fci-prev,.fci-next{
  background:var(--card,#F4F1E6);border:1.5px solid var(--ink,#20312A);border-radius:6px;
  font-family:var(--mono,monospace);font-size:clamp(12px,2vw,13.5px);letter-spacing:.04em;
  color:var(--ink,#20312A);padding:.5rem .9rem;cursor:pointer;
  box-shadow:2px 2px 0 var(--ink,#20312A);transition:transform .1s, box-shadow .1s;
}
.fci-next{background:var(--primary,#3C7A43);color:#fff;border-color:var(--primary-dark,#2A5A33)}
.fci-prev:hover,.fci-next:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--ink,#20312A)}
.fci-prev:active,.fci-next:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ink,#20312A)}
.fci-dots{display:flex;gap:9px;position:relative}
.fci-dots i{
  width:8px;height:8px;border-radius:50%;cursor:pointer;
  background:rgba(125,89,11,.26);transition:background .3s, transform .3s;
}
.fci-dots i.on{background:var(--gold,#E0A21B);transform:scale(1.3)}
.fci-skip{
  position:absolute;top:max(16px,3vh);right:max(16px,3vw);z-index:4;
  background:none;border:0;cursor:pointer;
  font-family:var(--mono,monospace);font-size:12px;letter-spacing:.14em;
  color:var(--muted,#525E53);opacity:.7;padding:8px 10px;
}
.fci-skip:hover{opacity:1}
.fci-hint{
  position:absolute;bottom:max(14px,2.4vh);left:0;right:0;text-align:center;
  font-family:var(--mono,monospace);font-size:11px;letter-spacing:.1em;
  color:var(--muted,#525E53);opacity:.55;pointer-events:none;
}
/* 页尾「重看开场」入口 */
.fc-replay-intro{
  display:inline-block;margin-top:.9rem;
  font-family:var(--mono,monospace);font-size:.76rem;letter-spacing:.04em;
  color:var(--muted,#525E53);opacity:.75;cursor:pointer;
  background:none;border:0;border-bottom:1px dashed rgba(125,89,11,.4);padding:2px 0;
}
.fc-replay-intro:hover{opacity:1;color:var(--gold-ink,#7D590B)}
@media (prefers-reduced-motion:reduce){
  #fc-intro,#fc-intro.fci-out,.fci-img,.fci-img.show,.fci-narr,.fci-narr.show{animation:none;transition:none}
  .fci-img{opacity:1;transform:none}
  .fci-narr{opacity:1;transform:none}
}
