@charset "UTF-8";
/* 像素 UI 皮肤（v0.8 起默认）：网址加 ?ui=old 换回旧界面，?ui=pixel 换回来（会记住）。
   素材全部来自 scripts/draw-ui-pixel.py → assets/ui/；九宫格 border-image 按 2 倍画，和游戏像素一样大。
   规则全部挂在 body.ui-pixel 下，不开就完全是原来的样子。 */
body.ui-pixel{--wood-ink:#4a2e20;--cream:#fff4dc;--ink:#5a3a26;background:#3c4a34}
body.ui-pixel .machine{background:#e8d9b4;image-rendering:pixelated}
body.ui-pixel *{image-rendering:pixelated}
/* 字：粗、硬描边（四向 2px 阴影 = 像素描边），不要柔和投影 */
body.ui-pixel .hud,body.ui-pixel .ammo-bar{color:var(--cream);text-shadow:2px 0 var(--wood-ink),-2px 0 var(--wood-ink),0 2px var(--wood-ink),0 -2px var(--wood-ink),2px 2px var(--wood-ink)}

/* ---- 顶栏：木牌 ---- */
body.ui-pixel .hud{border:0;border-image:url(assets/ui/wood.png) 8 fill / 16px round;padding:10px 14px;margin:0;gap:12px}
body.ui-pixel .wave-stat>span,body.ui-pixel .score-stat>span{color:#ffe2a8;font-size:11px;font-weight:900;letter-spacing:.08em}
body.ui-pixel .wave-stat>strong{color:var(--cream);font-weight:900}
body.ui-pixel .wave-stat i{color:#f0cf96;font-style:normal}
body.ui-pixel .health-stat span{font-size:0;width:18px;height:16px;background:url(assets/ui/i-heart.png) center/18px 16px no-repeat}
body.ui-pixel .health-stat b{color:var(--cream);font-size:12px;font-weight:900}
body.ui-pixel .health-track{height:16px;border-radius:0;background:none;border:0;border-image:url(assets/ui/track.png) 4 fill / 8px;overflow:visible;padding:0}
body.ui-pixel #hp-fill{border-radius:0;background:#e5504c!important;box-shadow:inset 0 3px 0 #ff9c8c,inset 0 -2px 0 #a8343c;margin:0}
body.ui-pixel .score-stat strong{color:#ffe08a;font-size:18px;font-weight:900}
body.ui-pixel .icon-button{border:0;border-image:url(assets/ui/btn-paper.png) 6 6 9 6 fill / 12px 12px 18px 12px;border-radius:0;box-shadow:none;background:none;font-size:0;text-shadow:none}
body.ui-pixel .icon-button::after{content:"";display:block;width:12px;height:12px;margin:-4px auto 0;background:url(assets/ui/i-pause.png) center/12px 12px no-repeat}
body.ui-pixel .icon-button:active{transform:translateY(2px)}
/* 波次进度：小方块 */
body.ui-pixel .chapter{background:#c79a62;border:0;border-bottom:3px solid var(--wood-ink);height:20px}
body.ui-pixel .chapter-dots i{width:10px!important;height:10px!important;border-radius:0!important;background:#8f6a44!important;border:2px solid var(--wood-ink)!important;box-shadow:none!important}
body.ui-pixel .chapter-dots i.done{background:#ffd25a!important}

/* ---- 底栏：木牌 + 一排像素胡萝卜当弹药 ---- */
body.ui-pixel .control-deck{border-radius:0;border:0;border-image:url(assets/ui/wood.png) 8 fill / 16px round;box-shadow:none;padding:4px 12px 0;background:none}
body.ui-pixel #ammo-pips{gap:2px}
body.ui-pixel #ammo-pips i{height:18px;max-width:18px;border-radius:0;box-shadow:none;background:url(assets/ui/i-carrot.png) center/16px 16px no-repeat}
body.ui-pixel #ammo-pips i.empty{background-image:url(assets/ui/i-carrot-empty.png)}
body.ui-pixel #ammo-count{color:var(--cream);font-size:13px;font-weight:900}
body.ui-pixel #reload{border:0;border-image:url(assets/ui/btn-paper.png) 6 6 9 6 fill / 10px 10px 14px 10px;border-radius:0;background:none;font-size:0;width:38px;height:36px;text-shadow:none}
body.ui-pixel #reload::after{content:"";display:block;width:14px;height:14px;margin:-3px auto 0;background:url(assets/ui/i-reload.png) center/14px 14px no-repeat}
body.ui-pixel .utility-bar{border-top:3px solid var(--wood-ink);background:#9c6a40}
body.ui-pixel .utility-bar button::after{content:""!important;display:block;width:16px;height:16px;margin:auto;background:center/16px 16px no-repeat}
body.ui-pixel .utility-bar button:nth-child(1)::after{background-image:url(assets/ui/i-reload.png)}
body.ui-pixel .utility-bar button:nth-child(2)::after{background-image:url(assets/ui/i-music.png)}
body.ui-pixel .utility-bar button:nth-child(3)::after{background-image:url(assets/ui/i-full.png)}
body.ui-pixel .utility-bar button:nth-child(4)::after{background-image:url(assets/ui/i-retry.png)}
body.ui-pixel .utility-bar button::after{filter:brightness(0) invert(94%) sepia(30%) saturate(300%) hue-rotate(-10deg)}

/* ---- 弹窗：像素纸卡 ---- */
body.ui-pixel .overlay{background:#2a3826aa}
body.ui-pixel .modal{border:0;border-image:url(assets/ui/paper.png) 8 fill / 16px;border-radius:0;box-shadow:0 6px 0 #00000040;background:none;padding:18px 14px 14px}
body.ui-pixel h2{color:var(--ink);font-weight:900;text-shadow:2px 2px 0 #ecd6a8}
body.ui-pixel p,body.ui-pixel .plant-legend,body.ui-pixel .map-chapter{color:#8a6a48;font-weight:800}
body.ui-pixel .start-button{border:0;border-image:url(assets/ui/btn-gold.png) 6 6 9 6 fill / 12px 12px 18px 12px;border-radius:0;box-shadow:none;background:none;color:#5a3812;font-weight:900;font-size:17px;letter-spacing:.2em;text-shadow:1px 1px 0 #ffe9a8;padding:8px 12px 12px}
body.ui-pixel .start-button:active{transform:translateY(2px)}
body.ui-pixel .sub-actions button,body.ui-pixel .plant-card,body.ui-pixel .choice{border:0;border-image:url(assets/ui/btn-paper.png) 6 6 9 6 fill / 12px 12px 18px 12px;border-radius:0;box-shadow:none;background:none;color:var(--ink)}
body.ui-pixel .choice:nth-of-type(n){background:none;border-color:transparent}
body.ui-pixel .choice strong{color:var(--ink)}body.ui-pixel .choice small{color:#8a6a48}
body.ui-pixel .choice-icon{color:#c0862e}
body.ui-pixel .choice-tag{border-radius:0;border:2px solid #c9a774;color:#8a6a48}
body.ui-pixel .classic-link{color:#9c7a52;font-weight:900}
body.ui-pixel .map-total{border:0;border-image:url(assets/ui/slot-gold.png) 5 5 7 5 fill / 10px 10px 14px 10px;border-radius:0;background:none;color:#7a4e14;padding:2px 8px 6px}
body.ui-pixel .map-total i{font-size:0;width:18px;height:16px;background:url(assets/ui/i-star.png) center/18px 16px no-repeat;display:inline-block}
/* 关卡格：凹进去的槽；拿过星的变金；没解锁的是灰槽 + 像素小锁 */
body.ui-pixel .lv-map::before{border-color:#b98c56;border-width:3px;border-radius:0}
body.ui-pixel .lv-node{border:0;border-image:url(assets/ui/slot.png) 5 5 7 5 fill / 10px 10px 14px 10px;border-radius:0;box-shadow:none;background:none}
body.ui-pixel .lv-node b{color:var(--ink)}
body.ui-pixel .lv-node.done{border-image-source:url(assets/ui/slot-gold.png);box-shadow:none;background:none}
body.ui-pixel .lv-node.boss b{color:#c0503c}
body.ui-pixel .lv-node.boss{box-shadow:none}
body.ui-pixel .lv-node.on{transform:translateY(-3px);box-shadow:none;background:none;filter:drop-shadow(0 3px 0 #c58a2a)}
body.ui-pixel .lv-node.locked{border-image:url(assets/ui/slot-lock.png) 5 fill / 10px;border-style:solid}
body.ui-pixel .lv-node.locked::before{display:none}
body.ui-pixel .lv-node.locked::after{width:16px;height:16px;margin:0;border-radius:0;background:url(assets/ui/i-lock.png) center/16px 16px no-repeat}
body.ui-pixel .lv-stars s,body.ui-pixel .lv-best s,body.ui-pixel .result-stars s{clip-path:none;background:url(assets/ui/i-star.png) center/contain no-repeat;filter:grayscale(1) brightness(1.3) opacity(.5)}
body.ui-pixel .lv-stars s{width:10px;height:9px}
body.ui-pixel .lv-stars s.on,body.ui-pixel .lv-best s.on,body.ui-pixel .result-stars s.on{filter:none;background-color:transparent}
body.ui-pixel .result-stars s{width:45px;height:40px}body.ui-pixel .result-stars s:nth-child(2){width:63px;height:56px}
@keyframes starPopPx{0%{transform:scale(.2)}60%{transform:scale(1.25)}100%{transform:scale(1)}}
body.ui-pixel .result-stars s.on{animation:starPopPx .36s steps(4) both}
body.ui-pixel .lv-pick,body.ui-pixel .result-stats>div{border:0;border-image:url(assets/ui/slot.png) 5 5 7 5 fill / 10px 10px 14px 10px;border-radius:0;background:none}
body.ui-pixel .result-stats b{color:var(--ink)}
body.ui-pixel .lv-icon,body.ui-pixel .modal-emblem,body.ui-pixel .home-mark{border:0;border-image:url(assets/ui/btn-green.png) 6 6 9 6 fill / 12px 12px 18px 12px;border-radius:0;background:none;color:#fff;box-shadow:none;text-shadow:2px 2px 0 #2c5a30}
body.ui-pixel .lv-name{color:var(--ink)}
body.ui-pixel .plant-card b{color:#a8681c}body.ui-pixel .plant-card em{color:#4f7d40}
/* 提示条 */
body.ui-pixel .toast{border-radius:0;background:#3e2a20e6;color:var(--cream);border:3px solid #24170f;box-shadow:0 3px 0 #0005}
body.ui-pixel .ch-arrow{border:0;border-image:url(assets/ui/btn-paper.png) 6 6 9 6 fill / 10px 10px 14px 10px;border-radius:0;background:none;color:var(--ink)}

/* 温室技能仍沿用木牌，小屏每行四项，触控高度不挤成细条。 */
body.ui-pixel .skill-pick{display:flex;flex-wrap:wrap;justify-content:center;gap:3px}
body.ui-pixel .skill-pick button{min-height:32px;flex:0 0 calc(25% - 4px);border-radius:0}
@media(max-height:620px){body.ui-pixel .skill-pick button{min-height:28px;padding:3px 2px;font-size:11px}body.ui-pixel .skill-pick{gap:2px}}
