/* ══════════════════════════════════════════════
   第 09 屏 · 摘橙大挑战（互动游戏·移植自《赣南脐橙 · 摘橙大挑战》）
   ───────────────────────────────────────────────
   作用域：全部选择器收进 #s09，CSS 变量由 :root 收进 #s09，
           避免游戏的 --gold / --blue 覆盖工程全局令牌。
   改名：与工程撞车的 11 个类统一加 g- 前缀；26 个关键帧统一加 gz- 前缀。
   集成：#s09 #app 由全屏浮层改为屏内舞台；字体改用工程令牌。
   ══════════════════════════════════════════════ */

#s09{
  --bg-deep:#2A0406;
  --bg-mid:#5C0B10;
  --bg-top:#8C1414;
  --soil:#3B1608;
  --soil-2:#54230C;
  --rock:#6B3418;
  --gold:#FFCE5C;
  --gold-hi:#FFF0BE;
  --gold-lo:#C9921F;
  --blue:#5FB6FF;
  --blue-lo:#2C7DC4;
  --leaf:#4CC46A;
  --leaf-lo:#2E8C46;
  --orange:#FF8A3D;
  --orange-lo:#D95E12;
  --white:#FFFFFF;
  --w70:rgba(255,255,255,.8);
  --w50:rgba(255,255,255,.55);
  --w30:rgba(255,255,255,.3);
  --line:rgba(255,255,255,.16);
  --card:rgba(255,255,255,.08);
  --fs:"SimSun","宋体","Songti SC","STSong",serif;
  --fs-ui:"PingFang SC","Microsoft YaHei","Hiragino Sans GB",sans-serif;
}#s09{
  font-family:var(--fs);color:var(--white);
  background:
    radial-gradient(70vw 42vh at 82% -10%,rgba(95,182,255,.20),transparent 66%),
    radial-gradient(74vw 50vh at 6% 106%,rgba(255,206,92,.16),transparent 70%),
    linear-gradient(172deg,var(--bg-deep),var(--bg-mid) 54%,var(--bg-top));
  
}/* ============ App 外壳 ============ */#s09 #app{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}#s09 #stageWrap{
  position:relative;width:min(430px,100vw);height:min(860px,100dvh);
  border-radius:clamp(0px,3.6vw,28px);overflow:hidden;isolation:isolate;
  box-shadow:0 30px 80px rgba(0,0,0,.62),0 0 0 1px rgba(255,255,255,.09) inset;
  background:linear-gradient(172deg,#3A0508,#65101A 55%,#8A1416);
}@media (max-width:470px),(max-height:700px){#s09 #stageWrap{border-radius:0}}/* ============ HUD 顶栏 ============ */#s09 #hud{
  position:absolute;top:0;left:0;right:0;z-index:30;
  padding:calc(env(safe-area-inset-top,0px) + 10px) 14px 10px;
  display:flex;align-items:center;gap:10px;
  background:linear-gradient(180deg,rgba(26,3,5,.92),rgba(26,3,5,.5) 70%,transparent);
  pointer-events:none;
}#s09 #hud .g-blk{
  background:rgba(20,4,6,.6);border:1px solid var(--line);border-radius:12px;
  padding:5px 10px;backdrop-filter:blur(8px);pointer-events:auto;
}#s09 .g-hall{font-size:11px;letter-spacing:2px;color:var(--w70);line-height:1.5}#s09 .g-hall b{color:var(--gold);font-weight:bold;letter-spacing:1px;font-size:12px}#s09 #hud .score{margin-left:auto;text-align:right;min-width:96px}#s09 #hud .score .lab{font-size:10px;letter-spacing:1.5px;color:var(--w50);font-family:var(--fs-ui)}#s09 #hud .score .val{
  font-size:20px;font-weight:bold;color:var(--gold);line-height:1.1;
  text-shadow:0 0 14px rgba(255,206,92,.6);font-variant-numeric:tabular-nums;
}#s09 #hud .score .val small{font-size:11px;color:var(--w70);margin-left:3px}#s09 #hud .shots{text-align:center;min-width:78px}#s09 #hud .shots .lab{font-size:10px;letter-spacing:1.5px;color:var(--w50);font-family:var(--fs-ui)}#s09 #hud .shots .sb{display:flex;gap:5px;justify-content:center;margin-top:4px}#s09 #hud .shots .sb i{
  width:16px;height:8px;border-radius:4px;display:block;
  background:linear-gradient(150deg,var(--gold-hi),var(--gold));
  box-shadow:0 0 8px rgba(255,206,92,.6);transition:.3s;
}#s09 #hud .shots .sb i.used{background:rgba(255,255,255,.16);box-shadow:none}#s09 #lvbar{margin-left:4px;display:flex;gap:4px;align-items:center;pointer-events:auto}#s09 #lvbar i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.2);transition:.3s}#s09 #lvbar i.on{background:var(--gold);box-shadow:0 0 8px var(--gold)}/* ============ 矿层内容 ============ */#s09 #layerHost{position:absolute;inset:0;z-index:1;overflow:hidden}/* 底部操作区高度由 JS 实测写入 --dock-h，内容区据此留白，彻底避免遮挡 */#s09 .layer{
  position:absolute;inset:0;
  padding:calc(var(--hud-h,96px) + 8px) 0 calc(var(--dock-h,300px) + 14px);
  display:flex;flex-direction:column;align-items:center;
  overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;
  transform:translateY(100%);opacity:0;
  transition:transform .62s cubic-bezier(.22,.9,.3,1),opacity .5s;
}#s09 .layer.in{transform:translateY(0);opacity:1}#s09 .layer.out-up{transform:translateY(-100%);opacity:0;pointer-events:none}#s09 .layer-inner{width:100%;padding:14px 18px 0;display:flex;flex-direction:column;gap:14px;align-items:center}/* 内容末尾留一段可滚动余量，保证最后一张卡能完全滚出遮挡区 */#s09 .layer-inner::after{content:"";display:block;height:10px;flex:0 0 10px}/* 矿层标题卡 */#s09 .strata{
  width:100%;text-align:center;position:relative;padding:6px 0 8px;
}/* 底部退出键：滚到底也能退出（回看态显示） */#s09 .lay-back-foot{display:none;margin:14px 0 2px;justify-content:center;width:100%}#s09 .layer.review .lay-back-foot{display:flex}#s09 .lay-back-foot button{
  display:flex;align-items:center;justify-content:center;gap:6px;
  border:1px solid rgba(255,206,92,.42);border-radius:13px;
  padding:11px 20px;background:rgba(255,206,92,.1);
  color:var(--gold);font-family:var(--fs-ui);font-size:12.5px;letter-spacing:.08em;
  cursor:pointer;transition:transform .15s,background .2s,box-shadow .25s;
  -webkit-appearance:none;appearance:none;
  box-shadow:0 6px 20px rgba(255,206,92,.16);
}#s09 .lay-back-foot button:hover{background:rgba(255,206,92,.2);box-shadow:0 8px 26px rgba(255,206,92,.3)}#s09 .lay-back-foot button:active{transform:scale(.96);background:rgba(255,206,92,.22)}#s09 .strata .depth{
  font-family:var(--fs-ui);font-size:10px;letter-spacing:3px;color:var(--blue);
  opacity:.9;margin-bottom:6px;
}#s09 .strata h2{
  font-size:clamp(22px,6.6vw,27px);font-weight:bold;letter-spacing:.06em;
  color:var(--white);text-shadow:0 0 20px rgba(95,182,255,.65),0 0 44px rgba(95,182,255,.28);
  animation:gz-titleGlow 4.8s ease-in-out infinite;
}@keyframes gz-titleGlow{0%,100%{opacity:.95;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}#s09 .strata .g-sub{font-size:12.5px;letter-spacing:.14em;color:var(--w50);margin-top:7px}#s09 .strata::after{
  content:"";display:block;width:64px;height:2px;margin:10px auto 0;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);border-radius:2px;
}/* 数字卡 */#s09 .grid2{display:grid;grid-template-columns:1fr 1fr;gap:11px;width:100%}#s09 .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;width:100%}#s09 .stat{
  position:relative;border-radius:14px;padding:16px 12px;
  background:var(--card);border:1px solid var(--line);
  backdrop-filter:blur(6px);overflow:hidden;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;
}#s09 .stat::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(120% 90% at 100% 0%,rgba(255,206,92,.13),transparent 62%);
  pointer-events:none;
}#s09 .stat .n{
  font-size:clamp(21px,6vw,26px);font-weight:bold;line-height:1.05;
  color:var(--white);font-variant-numeric:tabular-nums;position:relative;
  display:flex;align-items:baseline;justify-content:center;gap:1px;width:100%;
}#s09 .stat .n.gold{color:var(--gold);text-shadow:0 0 16px rgba(255,206,92,.55)}#s09 .stat .n.blue{color:var(--blue);text-shadow:0 0 16px rgba(95,182,255,.5)}#s09 .stat .n small{font-size:12px;color:var(--w70);font-weight:normal;margin-left:3px}#s09 .stat .c{font-size:11px;line-height:1.55;color:var(--w50);margin-top:8px;letter-spacing:.04em;text-align:center}#s09 .stat .c b{display:block;color:var(--w70);font-weight:normal;font-size:10.5px}#s09 .stat.wide{grid-column:span 2}/* ===== 核心数据动态特效 =====
   三个板块各用一种不同风格的特效：
   fx-a（品牌金脉）= 扫光 + 数字脉冲 + 强调刻度 + 边框呼吸光晕
   fx-b（出海金脉）= 星芒点阵流动 + 数字浮沉 + 描边跑马灯
   fx-c（产销金矿）= 光柱上升 + 数字心跳 + 环形涟漪
   ============================================================ */#s09 .stat.core{overflow:hidden}#s09 .stat.core .n{position:relative}#s09 .stat.core .c{position:relative}/* ---------- 共同基础：核心卡底纹 ---------- */#s09 .stat.core::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(120% 90% at 100% 0%,rgba(255,206,92,.16),transparent 62%);
  pointer-events:none;
}/* =========================================================
   FX-A：扫光 + 脉冲 + 刻度 + 呼吸光晕（品牌金脉）
   ========================================================= */#s09 .stat.core.fx-a::after{
  content:"";position:absolute;top:-60%;left:-70%;width:60%;height:220%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.42),transparent);
  transform:rotate(14deg);pointer-events:none;
  animation:gz-coreSweep 3.6s cubic-bezier(.4,0,.3,1) infinite;
}@keyframes gz-coreSweep{
  0%{left:-70%;opacity:0}
  12%{opacity:1}
  55%{left:120%;opacity:0}
  100%{left:120%;opacity:0}
}#s09 .stat.core.fx-a .n{animation:gz-corePulse 2.8s ease-in-out infinite}@keyframes gz-corePulse{
  0%,100%{transform:scale(1);filter:brightness(1)}
  50%{transform:scale(1.055);filter:brightness(1.18)}
}#s09 .stat.core.fx-a.gold-core{border-color:rgba(255,206,92,.55);animation:gz-coreHaloGold 3.2s ease-in-out infinite}@keyframes gz-coreHaloGold{
  0%,100%{box-shadow:0 0 0 1px rgba(255,206,92,.22),0 6px 20px rgba(255,206,92,.14)}
  50%{box-shadow:0 0 0 1px rgba(255,206,92,.5),0 10px 34px rgba(255,206,92,.42)}
}#s09 .stat.core.fx-a.blue-core{border-color:rgba(95,182,255,.55);animation:gz-coreHaloBlue 3.2s ease-in-out infinite}@keyframes gz-coreHaloBlue{
  0%,100%{box-shadow:0 0 0 1px rgba(95,182,255,.2),0 6px 20px rgba(95,182,255,.14)}
  50%{box-shadow:0 0 0 1px rgba(95,182,255,.48),0 10px 34px rgba(95,182,255,.4)}
}#s09 .stat.core.fx-a .n::before,#s09 .stat.core.fx-a .n::after{
  content:"";width:3px;height:.62em;border-radius:2px;display:inline-block;
  vertical-align:middle;margin:0 5px;opacity:.85;
  animation:gz-coreTick 2.8s ease-in-out infinite;
}#s09 .stat.core.fx-a .n::before,#s09 .stat.core.fx-a .n::after{background:linear-gradient(180deg,transparent,var(--gold),transparent)}#s09 .stat.core.fx-a .n::after{animation-delay:1.4s}#s09 .stat.core.fx-a.blue-core .n::before,#s09 .stat.core.fx-a.blue-core .n::after{background:linear-gradient(180deg,transparent,var(--blue),transparent)}@keyframes gz-coreTick{
  0%,100%{transform:scaleY(.55);opacity:.45}
  50%{transform:scaleY(1.15);opacity:1}
}/* =========================================================
   FX-B：星芒点阵流动 + 数字浮沉 + 描边跑马灯（出海金脉）
   ========================================================= */#s09 .stat.core.fx-b{
  border-color:rgba(95,182,255,.5);
  animation:gz-fxBGlow 3.4s ease-in-out infinite;
}@keyframes gz-fxBGlow{
  0%,100%{box-shadow:0 0 0 1px rgba(95,182,255,.18),inset 0 0 26px rgba(95,182,255,.06)}
  50%{box-shadow:0 0 0 1px rgba(95,182,255,.46),inset 0 0 34px rgba(95,182,255,.18)}
}/* 星芒点阵：用径向点阵做缓慢平移的“星流” */#s09 .stat.core.fx-b::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.85;
  background-image:
    radial-gradient(1.6px 1.6px at 20% 30%,rgba(255,255,255,.9),transparent),
    radial-gradient(1.4px 1.4px at 62% 18%,rgba(203,232,255,.9),transparent),
    radial-gradient(1.8px 1.8px at 40% 72%,rgba(255,255,255,.75),transparent),
    radial-gradient(1.3px 1.3px at 84% 58%,rgba(203,232,255,.85),transparent),
    radial-gradient(1.5px 1.5px at 72% 86%,rgba(255,255,255,.7),transparent);
  background-size:100% 100%;
  animation:gz-fxBStar 4.2s linear infinite;
}@keyframes gz-fxBStar{
  0%{transform:translate3d(0,10%,0) scale(.98);opacity:.2}
  35%{opacity:.95}
  70%{opacity:.55}
  100%{transform:translate3d(0,-14%,0) scale(1.04);opacity:.12}
}/* 数字浮沉 */#s09 .stat.core.fx-b .n{animation:gz-fxBFloat 3.6s ease-in-out infinite}@keyframes gz-fxBFloat{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-4px) scale(1.03)}
}/* 描边跑马灯：一圈流动的高光边 */#s09 .stat.core.fx-b{
  background-image:
    linear-gradient(90deg,transparent,rgba(95,182,255,.55),transparent),
    linear-gradient(0deg,transparent,rgba(95,182,255,.42),transparent);
  background-size:60% 1.5px,1.5px 60%;
  background-position:-70% 0,100% 140%;
  background-repeat:no-repeat;
  animation:gz-fxBGlow 3.4s ease-in-out infinite,gz-fxBMarquee 3.2s linear infinite;
}@keyframes gz-fxBMarquee{
  0%{background-position:-70% 0,100% 140%}
  50%{background-position:130% 100%,0% -60%}
  100%{background-position:-70% 0,100% 140%}
}/* =========================================================
   FX-C：光柱上升 + 数字心跳 + 环形涟漪（产销金矿）
   ========================================================= */#s09 .stat.core.fx-c{
  border-color:rgba(255,206,92,.52);
  animation:gz-fxCPulseRing 3s ease-out infinite;
}@keyframes gz-fxCPulseRing{
  0%{box-shadow:0 0 0 0 rgba(255,206,92,.4),0 6px 22px rgba(255,206,92,.18)}
  70%{box-shadow:0 0 0 9px rgba(255,206,92,0),0 8px 28px rgba(255,206,92,.3)}
  100%{box-shadow:0 0 0 0 rgba(255,206,92,0),0 6px 22px rgba(255,206,92,.16)}
}/* 光柱上升 */#s09 .stat.core.fx-c::after{
  content:"";position:absolute;left:0;right:0;bottom:-30%;height:70%;
  background:linear-gradient(180deg,transparent,rgba(255,206,92,.34) 55%,transparent);
  pointer-events:none;
  animation:gz-fxCBeam 2.6s cubic-bezier(.35,0,.25,1) infinite;
}@keyframes gz-fxCBeam{
  0%{transform:translateY(60%);opacity:0}
  25%{opacity:1}
  75%{opacity:.7}
  100%{transform:translateY(-140%);opacity:0}
}/* 数字心跳（两拍） */#s09 .stat.core.fx-c .n{animation:gz-fxCBeat 1.9s ease-in-out infinite}@keyframes gz-fxCBeat{
  0%{transform:scale(1)}
  14%{transform:scale(1.09)}
  28%{transform:scale(1)}
  42%{transform:scale(1.06)}
  60%,100%{transform:scale(1);}
}#s09 .stat.core.fx-c.blue-core{border-color:rgba(95,182,255,.52)}#s09 .stat.core.fx-c.blue-core{animation-name:gz-fxCPulseRingBlue}@keyframes gz-fxCPulseRingBlue{
  0%{box-shadow:0 0 0 0 rgba(95,182,255,.4),0 6px 22px rgba(95,182,255,.18)}
  70%{box-shadow:0 0 0 9px rgba(95,182,255,0),0 8px 28px rgba(95,182,255,.3)}
  100%{box-shadow:0 0 0 0 rgba(95,182,255,0),0 6px 22px rgba(95,182,255,.16)}
}#s09 .stat.core.fx-c.blue-core::after{
  background:linear-gradient(180deg,transparent,rgba(95,182,255,.34) 55%,transparent);
}@media (prefers-reduced-motion:reduce){#s09 .stat.core::after,#s09 .stat.core .n,#s09 .stat.core.fx-a .n::before,#s09 .stat.core.fx-a .n::after,#s09 .stat.core.gold-core,#s09 .stat.core.blue-core,#s09 .stat.core.fx-a.gold-core,#s09 .stat.core.fx-a.blue-core,#s09 .stat.core.fx-b,#s09 .stat.core.fx-c{animation:none}
}/* 果品卡 */#s09 .fruit-row{
  display:grid;grid-template-columns:repeat(3,1fr);gap:9px;width:100%;
}#s09 .fruit{
  border-radius:14px;padding:12px 8px 11px;text-align:center;
  background:linear-gradient(168deg,rgba(255,138,61,.16),rgba(255,255,255,.05));
  border:1px solid rgba(255,138,61,.26);
}#s09 .fruit .ico{
  width:34px;height:34px;margin:0 auto 8px;border-radius:50%;position:relative;
  background:radial-gradient(circle at 34% 30%,#FFD48A,var(--orange) 55%,var(--orange-lo));
  box-shadow:0 0 16px rgba(255,138,61,.45);
}#s09 .fruit .ico::after{
  content:"";position:absolute;top:-4px;left:50%;transform:translateX(-50%) rotate(-24deg);
  width:12px;height:7px;border-radius:60% 20% 60% 20%;
  background:linear-gradient(140deg,var(--leaf),var(--leaf-lo));
}#s09 .fruit .fn{font-size:16px;font-weight:bold;color:var(--gold);font-variant-numeric:tabular-nums}#s09 .fruit .fn small{font-size:10px;color:var(--w70);font-weight:normal;margin-left:2px}#s09 .fruit .fc{font-size:10.5px;color:var(--w50);margin-top:5px;line-height:1.5}/* 溯源链 */#s09 .chain{
  width:100%;border-radius:16px;padding:16px 14px 14px;
  background:rgba(0,0,0,.2);border:1px solid var(--line);
}#s09 .chain h3{font-size:13px;letter-spacing:.1em;color:var(--gold);margin-bottom:14px;text-align:center;font-weight:normal}#s09 .chain-list{position:relative;padding-left:8px}#s09 .chain-list::before{
  content:"";position:absolute;left:19px;top:8px;bottom:8px;width:2px;
  background:linear-gradient(180deg,var(--gold),rgba(255,206,92,.12));
}#s09 .cnode{display:flex;align-items:center;gap:13px;padding:8px 0;position:relative}#s09 .cnode .dot{
  width:24px;height:24px;border-radius:50%;flex:0 0 24px;z-index:1;
  display:flex;align-items:center;justify-content:center;font-size:11px;
  background:#48201A;border:2px solid rgba(255,206,92,.35);color:var(--w50);
  transition:.5s;
}#s09 .cnode.lit .dot{
  background:linear-gradient(150deg,var(--gold-hi),var(--gold));
  border-color:var(--gold-hi);color:#4A080C;font-weight:bold;
  box-shadow:0 0 14px rgba(255,206,92,.75);
}#s09 .cnode .txt{font-size:13px;color:var(--w50);letter-spacing:.06em;transition:.4s}#s09 .cnode.lit .txt{color:var(--white)}#s09 .cnode .txt em{font-style:normal;font-size:10.5px;color:var(--w30);margin-left:6px}/* 曲线 */#s09 .curvecard{
  width:100%;border-radius:16px;padding:15px 14px 10px;
  background:rgba(0,0,0,.2);border:1px solid var(--line);
}#s09 .curvecard h3{font-size:13px;letter-spacing:.1em;color:var(--blue);margin-bottom:6px;font-weight:normal;text-align:center}#s09 .curvecard svg{width:100%;height:auto;display:block;overflow:visible}#s09 .curve-line{fill:none;stroke:var(--blue);stroke-width:2.6;stroke-linecap:round;
  filter:drop-shadow(0 0 6px rgba(95,182,255,.8))}#s09 .curve-area{fill:url(#areaGrad)}#s09 .mkt{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;justify-content:center}#s09 .mkt span{
  font-size:10.5px;padding:4px 9px;border-radius:20px;
  background:rgba(255,255,255,.08);border:1px solid var(--line);color:var(--w70);
}#s09 .mkt span.hi{background:rgba(255,206,92,.16);border-color:rgba(255,206,92,.4);color:var(--gold)}/* 金色实绩卡 */#s09 .achieve{width:100%;border-radius:16px;padding:15px 14px;background:linear-gradient(160deg,rgba(255,206,92,.15),rgba(255,255,255,.04));border:1px solid rgba(255,206,92,.28)}#s09 .achieve h3{font-size:13px;letter-spacing:.1em;color:var(--gold);margin-bottom:11px;font-weight:normal;text-align:center}#s09 .arow{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0;border-bottom:1px dashed rgba(255,255,255,.1)}#s09 .arow:last-child{border-bottom:0}#s09 .arow .k{font-size:12px;color:var(--w70);flex:0 0 auto}#s09 .arow .v{font-size:12.5px;color:var(--white);text-align:right;font-variant-numeric:tabular-nums}#s09 .arow .v b{color:var(--gold);font-weight:bold}#s09 .arow .v em{font-style:normal;display:block;font-size:10.5px;color:var(--w30);margin-top:2px}/* 讲述卡 */#s09 .narr{
  width:100%;border-radius:16px;padding:14px 15px;
  background:rgba(255,255,255,.05);border:1px solid var(--line);
  font-size:12.5px;line-height:1.85;color:var(--w70);letter-spacing:.03em;
}#s09 .narr b{color:var(--gold);font-weight:bold}#s09 .narr i{font-style:normal;color:var(--blue)}#s09 .g-src{
  display:block;width:100%;font-family:var(--fs-ui);
  font-size:9.5px;color:var(--w30);text-decoration:none;letter-spacing:.02em;
  padding:8px 2px 0;line-height:1.6;text-align:center;
}#s09 .g-src:active{color:var(--w70)}/* 收获弹窗 */#s09 #harvest{
  position:absolute;inset:0;z-index:60;display:none;
  align-items:center;justify-content:center;padding:24px;
  background:rgba(20,3,5,.86);backdrop-filter:blur(10px);
}#s09 #harvest.show{display:flex;animation:gz-fadeIn .35s}@keyframes gz-fadeIn{from{opacity:0}to{opacity:1}}#s09 .hbox{
  width:100%;max-width:352px;border-radius:22px;padding:26px 22px 22px;
  background:linear-gradient(168deg,#5E0D14,#3A0508);
  border:1px solid rgba(255,206,92,.35);text-align:center;
  box-shadow:0 24px 60px rgba(0,0,0,.7),0 0 60px rgba(255,206,92,.14) inset;
  animation:gz-pop .45s cubic-bezier(.2,1.3,.4,1);
  max-height:92dvh;overflow-y:auto;
}@keyframes gz-pop{from{transform:scale(.82);opacity:0}to{transform:scale(1);opacity:1}}#s09 .hbox .medal{font-size:44px;line-height:1;margin-bottom:12px;filter:drop-shadow(0 0 18px rgba(255,206,92,.7))}#s09 .hbox h3{font-size:19px;color:var(--gold);letter-spacing:.08em;margin-bottom:8px}#s09 .hbox .g-desc{font-size:12.5px;color:var(--w70);line-height:1.75;margin-bottom:14px}#s09 .hbox .g-desc b{color:var(--gold)}/* 官方视频卡片 */#s09 .vcard{
  display:flex;align-items:center;gap:12px;width:100%;margin:0 0 18px;
  padding:11px 13px;border-radius:14px;text-decoration:none;text-align:left;
  background:linear-gradient(150deg,rgba(95,182,255,.2),rgba(95,182,255,.05));
  border:1px solid rgba(95,182,255,.4);
  box-shadow:0 8px 22px rgba(44,125,196,.24);
  transition:transform .16s,box-shadow .22s;
}#s09 .vcard:active{transform:scale(.97);box-shadow:0 4px 12px rgba(44,125,196,.2)}#s09 .vcard .thumb{
  flex:0 0 46px;height:46px;border-radius:11px;position:relative;
  background:radial-gradient(circle at 36% 30%,#FFD48A,var(--orange) 58%,var(--orange-lo));
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 16px rgba(255,138,61,.5);
}#s09 .vcard .thumb span{
  width:0;height:0;border-style:solid;border-width:8px 0 8px 13px;
  border-color:transparent transparent transparent #4A080C;margin-left:3px;
}#s09 .vcard .meta{flex:1;min-width:0}#s09 .vcard .meta .g-tag{
  font-family:var(--fs-ui);font-size:9px;letter-spacing:2px;color:var(--blue);
  opacity:.95;margin-bottom:3px;
}#s09 .vcard .meta .g-tt{
  font-size:12.5px;color:var(--white);line-height:1.42;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}#s09 .vcard .meta .ss{font-family:var(--fs-ui);font-size:9.5px;color:var(--w50);margin-top:4px;letter-spacing:.04em}#s09 .vcard .g-go{
  flex:0 0 18px;font-size:15px;color:var(--blue);opacity:.85;
}/* 收获弹窗 · 数据面板 */#s09 .hstat{margin-bottom:18px}#s09 .hstat .hero{
  position:relative;border-radius:16px;padding:15px 14px 13px;margin-bottom:10px;
  background:linear-gradient(160deg,rgba(255,206,92,.2),rgba(255,206,92,.05));
  border:1px solid rgba(255,206,92,.42);overflow:hidden;
}#s09 .hstat .hero::before{
  content:"";position:absolute;top:-30px;right:-24px;width:96px;height:96px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,206,92,.3),transparent 70%);pointer-events:none;
}#s09 .hstat .hero .hk{font-size:11px;letter-spacing:2px;color:rgba(255,240,190,.85);font-family:var(--fs-ui)}#s09 .hstat .hero .hv{
  font-size:40px;font-weight:bold;line-height:1.05;margin-top:5px;
  color:var(--gold-hi);text-shadow:0 0 22px rgba(255,206,92,.85);
  font-variant-numeric:tabular-nums;letter-spacing:-.01em;
}#s09 .hstat .hero .hv small{font-size:15px;margin-left:4px;color:var(--gold);font-weight:normal}#s09 .hstat .hero .hs{font-size:11px;color:var(--w70);margin-top:6px;letter-spacing:.05em}#s09 .hstat .pair{display:grid;grid-template-columns:1fr 1fr;gap:9px}#s09 .hstat .cell{
  border-radius:12px;padding:11px 9px;background:rgba(0,0,0,.28);
  border:1px solid var(--line);text-align:center;
}#s09 .hstat .cell .v{
  font-size:19px;font-weight:bold;color:var(--white);
  font-variant-numeric:tabular-nums;line-height:1.1;
}#s09 .hstat .cell .v.gold{color:var(--gold);text-shadow:0 0 12px rgba(255,206,92,.5)}#s09 .hstat .cell .v.blue{color:var(--blue);text-shadow:0 0 12px rgba(95,182,255,.5)}#s09 .hstat .cell .k{font-size:10px;color:var(--w50);margin-top:5px;letter-spacing:.06em}/* 结算页数据面板 */#s09 .fstat{
  width:100%;max-width:330px;margin:0 auto 20px;
  display:flex;flex-direction:column;gap:9px;
}#s09 .fstat .fline{
  display:flex;align-items:center;gap:11px;padding:11px 13px;border-radius:13px;
  background:rgba(255,255,255,.06);border:1px solid var(--line);text-align:left;
}#s09 .fstat .fline.key{
  background:linear-gradient(160deg,rgba(255,206,92,.18),rgba(255,255,255,.05));
  border-color:rgba(255,206,92,.4);
}#s09 .fstat .fline .fi{font-size:19px;flex:0 0 24px;text-align:center}#s09 .fstat .fline .ft{flex:1;min-width:0}#s09 .fstat .fline .ft .t{font-size:12.5px;color:var(--w70);letter-spacing:.04em}#s09 .fstat .fline .ft .s{font-size:10px;color:var(--w30);margin-top:2px}#s09 .fstat .fline .fv{
  font-size:20px;font-weight:bold;color:var(--white);
  font-variant-numeric:tabular-nums;letter-spacing:-.01em;
}#s09 .fstat .fline.key .fv{font-size:24px;color:var(--gold-hi);text-shadow:0 0 16px rgba(255,206,92,.7)}#s09 .fstat .fline .fv small{font-size:11px;color:var(--w50);font-weight:normal;margin-left:2px}/* 回看按钮：跳回对应数据层 */#s09 .fstat .fline .fback{
  flex:0 0 auto;display:flex;align-items:center;gap:4px;
  border:1px solid rgba(255,206,92,.45);border-radius:11px;
  padding:7px 10px;background:rgba(255,206,92,.1);
  color:var(--gold);font-family:var(--fs-ui);font-size:11px;letter-spacing:.06em;
  cursor:pointer;transition:transform .15s,background .2s,box-shadow .2s;
  -webkit-appearance:none;appearance:none;
}#s09 .fstat .fline .fback .kb{
  font-size:12px;line-height:1;opacity:.9;
}#s09 .fstat .fline .fback:active{transform:scale(.94);background:rgba(255,206,92,.2)}#s09 .fstat .fline.key .fback{background:rgba(255,206,92,.2);border-color:rgba(255,206,92,.7)}#s09 .hbtns{display:flex;gap:10px}#s09 .g-btn{
  flex:1;border:0;border-radius:13px;padding:13px 10px;cursor:pointer;
  font-family:var(--fs);font-size:14px;font-weight:bold;letter-spacing:.08em;
  transition:transform .15s,box-shadow .2s;
}#s09 .g-btn:active{transform:scale(.96)}#s09 .g-btn.primary{
  background:linear-gradient(150deg,var(--gold-hi),var(--gold));
  color:#4A080C;box-shadow:0 10px 24px rgba(255,206,92,.34);
}#s09 .g-btn.ghost{
  background:rgba(255,255,255,.09);color:var(--w70);border:1px solid var(--line);
}/* 结算页 */#s09 #final{
  position:absolute;inset:0;z-index:70;display:none;flex-direction:column;
  padding:calc(env(safe-area-inset-top,0px) + 34px) 22px 24px;
  background:linear-gradient(172deg,#2A0406,#6E0E13 55%,#8E1A14);
  text-align:center;overflow-y:auto;
}#s09 #final.show{display:flex;animation:gz-fadeIn .5s}#s09 #final .crown{font-size:52px;line-height:1;filter:drop-shadow(0 0 22px rgba(255,206,92,.8));animation:gz-breathe 3.4s ease-in-out infinite}@keyframes gz-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}#s09 #final h2{font-size:25px;color:var(--gold);letter-spacing:.1em;margin:14px 0 6px;text-shadow:0 0 24px rgba(255,206,92,.55)}#s09 #final .fs{font-size:12px;color:var(--w50);letter-spacing:.1em}#s09 #final .big{
  margin:22px auto 6px;padding:18px 20px;border-radius:20px;width:100%;max-width:330px;
  background:rgba(0,0,0,.28);border:1px solid rgba(255,206,92,.3);
}#s09 #final .big .v{font-size:40px;font-weight:bold;color:var(--gold);line-height:1;text-shadow:0 0 26px rgba(255,206,92,.7);font-variant-numeric:tabular-nums}#s09 #final .big .k{font-size:11.5px;color:var(--w70);margin-top:8px;letter-spacing:.12em}#s09 #final .trophy{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;max-width:330px;margin:6px auto 20px}#s09 #final .trophy div{border-radius:13px;padding:11px 8px;background:rgba(255,255,255,.06);border:1px solid var(--line)}#s09 #final .trophy .v{font-size:19px;font-weight:bold;color:var(--white);font-variant-numeric:tabular-nums}#s09 #final .trophy .v.gold{color:var(--gold)}#s09 #final .trophy .k{font-size:10px;color:var(--w50);margin-top:4px;line-height:1.5}#s09 #final .g-wrap{width:100%;max-width:330px;margin:0 auto}#s09 #final .fbtns{display:flex;gap:11px;align-items:stretch}#s09 #final .fbtns .g-btn{flex:1;min-width:0;white-space:nowrap}#s09 #final .fbtns .g-btn:disabled{opacity:.4;cursor:default;transform:none}#s09 #final .fnote{font-size:10px;color:var(--w30);line-height:1.7;margin-top:16px;letter-spacing:.02em}/* 底部操作区 · 可悬浮 / 可拖拽的摘橙操作窗 */#s09 #bottom{
  position:absolute;z-index:30;
  left:50%;bottom:14px;transform:translateX(-50%);
  width:min(340px,calc(100% - 24px));
  border-radius:18px;
  padding:0 12px 12px;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  background:linear-gradient(0deg,rgba(16,2,4,.97),rgba(22,4,6,.93) 60%,rgba(30,6,9,.86));
  backdrop-filter:blur(12px);
  border:1px solid rgba(255,206,92,.3);
  box-shadow:0 16px 44px rgba(0,0,0,.7),0 0 0 1px rgba(0,0,0,.4);
  pointer-events:none;
  transition:transform .2s,box-shadow .25s,border-color .25s;
  touch-action:none;
}#s09 #bottom.dragging{transition:none;box-shadow:0 24px 60px rgba(0,0,0,.8);border-color:rgba(255,206,92,.55)}#s09 #bottom.collapsed{padding-bottom:0;gap:0}/* ===== 回看态：操作窗自动缩成「最小版」贴在舞台最下方 ===== */#s09 #bottom.mini{
  width:auto;min-width:0;max-width:calc(100% - 24px);
  padding:0 12px;gap:0;border-radius:14px 14px 0 0;bottom:0;
  border-bottom:0;
  box-shadow:0 -6px 22px rgba(0,0,0,.5);
}#s09 #bottom.mini #dockBody{max-height:0;opacity:0;pointer-events:none}#s09 #bottom.mini #dockResize{display:none}#s09 #bottom.mini #dockHead{padding:7px 2px 8px;gap:10px}#s09 #bottom.mini #dockHead .dt{letter-spacing:1.6px}#s09 #bottom.mini .dt .dt-hint{display:inline}#s09 #bottom.mini #dockShot{display:none}#s09 #bottom.mini::before{width:76px;height:2px}#s09 #dockHead .dt .dt-hint{display:none;color:var(--gold);opacity:.85}/* 回看态：画布冻结（果实灰化 + 抓手定格） */#s09 #bottom.frozen #mine{cursor:default}#s09 #bottom.frozen #grabTip{display:none}#s09 #bottom.frozen #dockHead{cursor:default}#s09 .mine-frozen-note{
  position:absolute;left:50%;bottom:6px;transform:translateX(-50%);
  font-family:var(--fs-ui);font-size:9.5px;letter-spacing:.1em;
  color:rgba(255,255,255,.5);white-space:nowrap;pointer-events:none;
  display:none;
}#s09 #bottom.frozen .mine-frozen-note{display:block}/* 顶部金色提手弧（果篮沿） */#s09 #bottom::before{
  content:"";position:absolute;top:-1px;left:50%;transform:translateX(-50%);
  width:112px;height:3px;border-radius:3px;
  background:linear-gradient(90deg,transparent,rgba(255,206,92,.75),transparent);
  pointer-events:none;
}/* 拖拽把手条 */#s09 #dockHead{
  width:100%;display:flex;align-items:center;justify-content:space-between;
  gap:8px;padding:8px 2px 2px;pointer-events:auto;cursor:grab;
}#s09 #dockHead.grabbing{cursor:grabbing}#s09 #dockHead .dt{
  font-family:var(--fs-ui);font-size:9.5px;letter-spacing:2.4px;
  color:var(--w50);white-space:nowrap;display:flex;align-items:center;gap:6px;
}#s09 #dockHead .dt::before{
  content:"";width:14px;height:8px;flex:0 0 14px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.5) 0 2px,transparent 2px 3.5px,
                    rgba(255,255,255,.5) 3.5px 5.5px,transparent 5.5px 7px,
                    rgba(255,255,255,.5) 7px 8px);
  border-radius:1px;opacity:.65;
}#s09 #dockHead .dh{
  font-family:var(--fs-ui);font-size:9.5px;letter-spacing:.6px;
  color:var(--gold);opacity:.9;white-space:nowrap;
}/* 窗口操作按钮（收起 / 复位） */#s09 #dockHead .dwin{display:flex;gap:5px;margin-left:2px}#s09 #dockHead .dwin button{
  width:20px;height:20px;border-radius:6px;border:1px solid rgba(255,206,92,.34);
  background:rgba(255,206,92,.1);color:var(--gold);cursor:pointer;padding:0;
  font-family:var(--fs-ui);font-size:11px;line-height:1;display:flex;
  align-items:center;justify-content:center;transition:background .18s,transform .14s;
  -webkit-appearance:none;appearance:none;
}#s09 #dockHead .dwin button:active{transform:scale(.9);background:rgba(255,206,92,.24)}#s09 #dockBody{
  width:100%;display:flex;flex-direction:column;align-items:center;gap:8px;
  overflow:hidden;transition:max-height .32s cubic-bezier(.3,.9,.3,1),opacity .24s;
  max-height:340px;
}#s09 #bottom.collapsed #dockBody{max-height:0;opacity:0;pointer-events:none}#s09 #mine{position:relative;pointer-events:auto;touch-action:none;width:100%;display:flex;justify-content:center}#s09 #mine canvas{display:block;border-radius:2px;touch-action:none}#s09 #grabTip{
  position:absolute;left:50%;transform:translateX(-50%);top:-6px;
  font-family:var(--fs-ui);font-size:10px;letter-spacing:1.5px;color:var(--w50);
  white-space:nowrap;animation:gz-hintFloat 2.4s ease-in-out infinite;pointer-events:none;
}@keyframes gz-hintFloat{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,4px)}}#s09 #grabHint{
  position:absolute;left:50%;bottom:8px;transform:translateX(-50%);
  font-family:var(--fs-ui);font-size:11px;letter-spacing:2px;color:var(--gold);
  background:rgba(20,3,5,.72);border:1px solid rgba(255,206,92,.35);
  border-radius:20px;padding:6px 16px;white-space:nowrap;
  pointer-events:none;opacity:0;transition:opacity .3s;
}#s09 #grabHint.on{opacity:1}/* 缩放手柄（右下角） */#s09 #dockResize{
  position:absolute;right:2px;bottom:2px;width:22px;height:22px;
  cursor:nwse-resize;pointer-events:auto;touch-action:none;opacity:.55;
}#s09 #dockResize::after{
  content:"";position:absolute;right:5px;bottom:5px;width:8px;height:8px;
  border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);
  border-radius:0 0 3px 0;
}#s09 #dockResize:active{opacity:1}#s09 #bottom.collapsed #dockResize{display:none}/* 按钮行：回到顶层在左（宽度自适应），摘橙主按钮居中偏右 */#s09 #ctrl{position:relative;pointer-events:auto;display:flex;align-items:center;gap:10px;width:100%}#s09 #ctrl .g-btn{flex:0 1 auto;padding:10px 12px;font-size:12px}#s09 #ctrl .g-btn:disabled{opacity:.34;cursor:default}#s09 #btnTop{margin-right:auto}/* 摘橙按钮（出钩） */#s09 #dig{
  position:relative;pointer-events:auto;width:64px;height:64px;border-radius:50%;
  border:0;cursor:pointer;font-family:var(--fs);font-weight:bold;
  background:radial-gradient(circle at 34% 28%,#FFE8A8,var(--gold) 52%,#B87E12);
  color:#4A080C;font-size:13px;letter-spacing:.04em;line-height:1.2;
  box-shadow:0 8px 22px rgba(255,206,92,.42),0 0 0 5px rgba(255,206,92,.12);
  transition:transform .14s,box-shadow .2s;touch-action:manipulation;
  margin-left:auto;
}#s09 #dig:active{transform:scale(.93);box-shadow:0 5px 14px rgba(255,206,92,.5),0 0 0 3px rgba(255,206,92,.24)}#s09 #dig:disabled{opacity:.42}#s09 #dig.busy{animation:gz-digPulse .9s ease-in-out infinite}@keyframes gz-digPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}#s09 #dig .g-ring{
  position:absolute;inset:-7px;border-radius:50%;
  border:2px dashed rgba(255,206,92,.42);animation:gz-spin 9s linear infinite;
}@keyframes gz-spin{to{transform:rotate(360deg)}}#s09 #dig .txt{position:relative;display:block}#s09 #dig .txt small{display:block;font-size:9px;letter-spacing:1.8px;font-weight:normal;opacity:.7;margin-top:1px}/* 金豆飘字 */#s09 .pop{
  position:absolute;font-family:var(--fs);font-size:15px;font-weight:bold;
  color:var(--gold);pointer-events:none;z-index:40;white-space:nowrap;
  text-shadow:0 0 12px rgba(255,206,92,.9);
  animation:gz-popUp 1.15s cubic-bezier(.2,.9,.3,1) forwards;
}@keyframes gz-popUp{
  0%{opacity:0;transform:translate(-50%,0) scale(.6)}
  22%{opacity:1;transform:translate(-50%,-16px) scale(1.12)}
  100%{opacity:0;transform:translate(-50%,-70px) scale(.94)}
}#s09 .pop.miss{color:var(--w70);text-shadow:0 0 10px rgba(0,0,0,.8);font-size:13px}#s09 .spark{
  position:absolute;width:5px;height:5px;border-radius:50%;pointer-events:none;z-index:39;
  background:var(--gold-hi);box-shadow:0 0 9px var(--gold);
  animation:gz-sparkFly .8s ease-out forwards;
}@keyframes gz-sparkFly{
  0%{opacity:1;transform:translate(0,0) scale(1)}
  100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.2)}
}/* ============ 橙园装饰层 ============ */#s09 #orchard{
  position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden;
}/* 顶部橙树枝叶 */#s09 #orchard .bough{
  position:absolute;top:0;left:0;right:0;height:152px;
  background:
    radial-gradient(ellipse 58px 24px at 5% 14%,rgba(46,140,70,.9),transparent 70%),
    radial-gradient(ellipse 72px 28px at 22% 3%,rgba(58,164,86,.82),transparent 70%),
    radial-gradient(ellipse 66px 26px at 42% 16%,rgba(40,124,62,.85),transparent 70%),
    radial-gradient(ellipse 78px 29px at 60% 4%,rgba(58,164,86,.78),transparent 70%),
    radial-gradient(ellipse 64px 25px at 78% 14%,rgba(42,130,64,.82),transparent 70%),
    radial-gradient(ellipse 80px 30px at 94% 3%,rgba(58,164,86,.72),transparent 70%),
    linear-gradient(180deg,rgba(28,86,44,.55),transparent 84%);
  filter:blur(.4px);
}/* 枝条线条 */#s09 #orchard .bough::after{
  content:"";position:absolute;left:-2%;right:-2%;top:26px;height:3px;
  background:linear-gradient(90deg,transparent,rgba(112,68,26,.85) 12%,rgba(132,84,36,.9) 50%,rgba(112,68,26,.85) 88%,transparent);
  border-radius:3px;
  transform:rotate(-1.6deg);
  box-shadow:0 0 8px rgba(0,0,0,.35);
}/* 挂在枝头的橙子 */#s09 #orchard .hang{
  position:absolute;border-radius:50%;
  background:radial-gradient(circle at 34% 30%,#FFD48A,var(--orange) 55%,var(--orange-lo));
  box-shadow:0 0 18px rgba(255,138,61,.7),0 0 0 1px rgba(255,220,160,.25) inset;
  transform-origin:50% -18px;
  animation:gz-sway 3.6s ease-in-out infinite;
}#s09 #orchard .hang::before{
  content:"";position:absolute;left:50%;top:-19px;width:1.6px;height:19px;
  background:linear-gradient(180deg,rgba(120,80,20,.1),rgba(120,80,20,.7));
  transform:translateX(-50%);
}#s09 #orchard .hang::after{
  content:"";position:absolute;top:-5px;left:46%;
  width:15px;height:8px;border-radius:60% 20% 60% 20%;
  background:linear-gradient(140deg,var(--leaf),var(--leaf-lo));
  transform:rotate(-26deg);
}@keyframes gz-sway{
  0%,100%{transform:rotate(-6deg) translateY(0)}
  50%{transform:rotate(6deg) translateY(2px)}
}/* 橙花点缀 */#s09 #orchard .blossom{
  position:absolute;width:9px;height:9px;border-radius:50%;
  background:radial-gradient(circle at 38% 34%,#FFFFFF,#FFEBC2 62%,#F5C86A);
  box-shadow:0 0 10px rgba(255,236,194,.9);
  animation:gz-bloomPulse 3.2s ease-in-out infinite;
}#s09 #orchard .blossom::before{
  content:"";position:absolute;inset:-3px;border-radius:50%;
  border:1px solid rgba(255,255,255,.45);
}@keyframes gz-bloomPulse{0%,100%{opacity:.55;transform:scale(.9)}50%{opacity:1;transform:scale(1.12)}}/* 飘落的橙叶 */#s09 #orchard .leaf{
  position:absolute;top:-24px;width:11px;height:6px;
  border-radius:60% 20% 60% 20%;
  background:linear-gradient(140deg,rgba(76,196,106,.95),rgba(46,140,70,.85));
  opacity:.75;animation:gz-leafFall linear infinite;
}@keyframes gz-leafFall{
  0%{opacity:0;transform:translateY(0) rotate(0deg)}
  10%{opacity:.8}
  100%{opacity:0;transform:translateY(102%) translateX(var(--dx,26px)) rotate(540deg)}
}/* 底部草地/果筐沿 */#s09 #orchard .ground{
  position:absolute;left:0;right:0;bottom:0;height:86px;
  background:
    radial-gradient(ellipse 130px 30px at 18% 100%,rgba(46,140,70,.5),transparent 72%),
    radial-gradient(ellipse 150px 34px at 52% 100%,rgba(58,164,86,.44),transparent 72%),
    radial-gradient(ellipse 128px 30px at 84% 100%,rgba(46,140,70,.5),transparent 72%),
    linear-gradient(0deg,rgba(22,72,38,.55),transparent 92%);
}/* 草丛剪影 */#s09 #orchard .ground::before{
  content:"";position:absolute;left:0;right:0;bottom:0;height:34px;
  background:repeating-linear-gradient(86deg,
    rgba(58,164,86,.55) 0 2px, transparent 2px 7px,
    rgba(46,140,70,.5) 7px 9px, transparent 9px 15px);
  mask-image:linear-gradient(0deg,#000 30%,transparent);
  -webkit-mask-image:linear-gradient(0deg,#000 30%,transparent);
}/* 篮子提手弧线 */#s09 #orchard .handle{
  position:absolute;left:50%;bottom:-40px;transform:translateX(-50%);
  width:262px;height:100px;border-radius:50%;
  border:2.5px dashed rgba(255,206,92,.22);
  border-bottom-color:transparent;border-left-color:transparent;border-right-color:transparent;
  animation:gz-handlePulse 4.4s ease-in-out infinite;
}@keyframes gz-handlePulse{0%,100%{opacity:.5}50%{opacity:.95}}/* 进度指示 */#s09 #progress{
  position:absolute;right:8px;top:50%;transform:translateY(-50%);z-index:30;
  display:flex;flex-direction:column;gap:8px;pointer-events:none;
}#s09 #progress i{
  width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.22);transition:.35s;
}#s09 #progress i.on{background:var(--gold);box-shadow:0 0 9px var(--gold);height:18px;border-radius:4px}/* 泥土/矿层质感 */#s09 #stageWrap::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:2;opacity:.5;
  background-image:
    radial-gradient(2px 2px at 18% 22%,rgba(255,255,255,.09),transparent),
    radial-gradient(1.6px 1.6px at 74% 41%,rgba(255,206,92,.12),transparent),
    radial-gradient(2px 2px at 42% 76%,rgba(255,255,255,.07),transparent),
    radial-gradient(1.5px 1.5px at 88% 68%,rgba(95,182,255,.12),transparent);
  background-size:260px 260px,300px 300px,340px 340px,280px 280px;
}@media (prefers-reduced-motion:reduce){
}


/* ══════════════════════════════════════════════
   第 09 屏 · 与工程整合层
   （写在移植样式之后，同优先级下后出现者生效）
   ══════════════════════════════════════════════ */
#s09{
  --fs:var(--serif);          /* 游戏内部正文改用工程的思源宋 */
  --fs-ui:var(--sans);        /* 界面小字改用工程无衬线 */
  padding:0;overflow:hidden;
}
#s09 .s-head{
  /* 版面跟第 08 屏（.screen.hall{padding:…19px 6px}）对齐：
     屏内水平边距 19px，页眉再叠 40px 右空档 = 59px，
     与全片其它带页眉的屏一致 —— 否则右上角固定音乐按钮（right:14px、宽 42px）
     会压掉分类标签的末字。左侧 19px 让 09 与 08 的左边界对齐。 */
  padding-top:max(12px,env(safe-area-inset-top));padding-bottom:0;
  padding-left:19px;padding-right:19px;margin-bottom:5px;
}
@media (max-width:560px){#s09 .s-head{padding-right:59px}}
/* 与第 08 屏（.screen.hall 系）对齐：同属展馆三，页眉字号/字距/颜色应一致。
   s09 是 .screen.game9 拿不到 .screen.hall 的那组规则，需显式补上。 */
#s09 .s-head .cat{font-size:11px;letter-spacing:.16em;color:#FFE0A0}
#s09>h2{padding:0 19px;font-family:var(--serif);font-size:clamp(19px,5.2vw,24px);
  line-height:1.22;color:var(--ink);margin-bottom:5px}
#s09>.lead{padding:0 19px;font-size:12.4px;line-height:1.56;color:var(--ink-soft);margin-bottom:9px}
#s09>.lead b{color:var(--gold-bright);font-weight:700}

/* 游戏舞台：不是全屏浮层，而是屏内一块"投影幕"。
   高度是关键：.layer 用 --hud-h / --dock-h 上下留白，
   舞台 380px 时留给矿层数据的只有 ~59px（原版全屏是 539px），
   统计卡会被压成一条缝；72vh 下留白回到 ~165px，可正常阅读/滚动，
   同时保证底部「跳过游戏 / 下一页」落在首屏内（首屏预算见下）。 */
#s09 #app{
  position:relative;inset:auto;display:block;
  width:auto;height:clamp(430px,72vh,600px);
  margin:0 19px;flex:0 0 auto;
}
#s09 #stageWrap{
  width:100%;height:100%;border-radius:16px;user-select:none;
  box-shadow:0 16px 40px rgba(0,0,0,.5),0 0 0 1px rgba(255,206,92,.22) inset;
}
@media (max-width:470px),(max-height:700px){#s09 #stageWrap{border-radius:14px}}

/* ── 09 → 10 的衔接：出口按钮下方补一句「下一站」，把果园与文创串起来 ── */
#s09 .g9cue{
  margin:9px 19px 0;font-family:var(--sans);
  font-size:10.8px;line-height:1.62;letter-spacing:.045em;
  color:rgba(255,232,206,.62);
}
#s09 .g9cue-k{
  display:inline-block;margin-right:7px;padding:1.5px 7px;border-radius:999px;
  font-size:9.6px;letter-spacing:.1em;color:#FFE0A0;
  background:rgba(255,206,92,.13);box-shadow:inset 0 0 0 1px rgba(255,206,92,.3);
}
#s09 .g9cue b{color:var(--gold-hi);font-weight:600}
#s09 .fnext{
  font-style:normal;font-size:11px;letter-spacing:.05em;
  color:var(--gold-bright);
}
#s09 .s-foot{padding:0 19px 6px}
