/* ============ 绿国行动 · 全局样式 ============ */
* { margin:0; padding:0; box-sizing:border-box; user-select:none; }
html,body { width:100%; height:100%; overflow:hidden; background:#0b0d10; }
body { font-family:"Segoe UI","Microsoft YaHei",sans-serif; color:#cfd6d3; font-size:14px; }
.hidden { display:none !important; }

#cv { position:fixed; inset:0; display:block; }
#hud ~ #popup-search, #popup-search { cursor:default; }

/* ---------- HUD ---------- */
#hud { position:fixed; inset:0; pointer-events:none; z-index:5; }
#hud-tl { position:absolute; top:14px; left:16px; width:250px; }
.bar { position:relative; height:22px; background:#000a; border:1px solid #ffffff22; border-radius:3px; margin-bottom:6px; overflow:hidden; }
.bar > div { height:100%; width:100%; transition:width .12s; }
.bar.hp > div { background:linear-gradient(90deg,#5fae4e,#8fd06a); }
.bar.armor { height:14px; }
.bar.armor > div { background:linear-gradient(90deg,#5b7d9e,#87aecf); }
.bar span { position:absolute; inset:0; text-align:center; font-size:12px; line-height:21px; color:#fff; text-shadow:0 1px 2px #000; font-weight:600; }
.bar.armor span { line-height:13px; font-size:10px; }
#buff-line { font-size:12px; color:#e8c96a; text-shadow:0 1px 2px #000; min-height:16px; }

#hud-tr { position:absolute; top:14px; right:16px; text-align:right; }
#body-diag { margin-top:8px; display:inline-block; padding:6px 8px; background:#000a; border:1px solid #ffffff18; border-radius:5px; }
.bd-row { display:flex; justify-content:center; gap:2px; }
.bd { background:#5fae4e; }
.bd.head { width:13px; height:13px; border-radius:50%; margin:0 auto 2px; }
.bd.torso { width:16px; height:24px; border-radius:2px; }
.bd.arm { width:5px; height:22px; border-radius:2px; margin-top:2px; }
.bd.leg { width:7px; height:20px; border-radius:2px; }
#obj-text { font-size:13px; color:#d8e0d8; text-shadow:0 1px 3px #000; margin-bottom:4px; }
#obj-text b { color:#8fd06a; }
#raid-timer { font-size:12px; color:#9aa39d; text-shadow:0 1px 3px #000; }

#hud-bl { position:absolute; bottom:16px; left:16px; }
#skill-line { font-size:13px; color:#cfe0c8; text-shadow:0 1px 3px #000; margin-bottom:3px; min-height:17px; }
#weapon-line { font-size:15px; font-weight:600; color:#fff; text-shadow:0 1px 3px #000; }
#weapon-line .ammo { color:#e8c96a; }
#weapon-line .rld { color:#e07a5f; font-size:12px; }
#med-line { margin-top:4px; font-size:12px; color:#b9c4bb; text-shadow:0 1px 3px #000; }
#med-line b { color:#8fd06a; }

#mini { position:absolute; right:16px; bottom:16px; background:#0b0d10cc; border:1px solid #ffffff22; border-radius:4px; pointer-events:auto; cursor:zoom-in; }

#hint { position:absolute; bottom:22%; left:50%; transform:translateX(-50%); font-size:15px; color:#fff; text-shadow:0 1px 4px #000; background:#000a; padding:6px 14px; border-radius:4px; border:1px solid #ffffff18; }
#hint b { color:#8fd06a; }

#bossbar { position:absolute; top:52px; left:50%; transform:translateX(-50%); width:420px; text-align:center; }
#boss-name { font-size:14px; font-weight:700; color:#ffb3a7; text-shadow:0 1px 4px #000; letter-spacing:2px; }
.bbar { height:10px; background:#000a; border:1px solid #ffffff30; border-radius:3px; overflow:hidden; margin-top:3px; }
#boss-fill { height:100%; width:100%; background:linear-gradient(90deg,#a53c2e,#e06a4e); transition:width .15s; }

#toasts { position:absolute; top:120px; left:50%; transform:translateX(-50%); text-align:center; }
.toast { background:#000c; border:1px solid #ffffff22; border-left:3px solid #8fd06a; padding:6px 16px; margin-bottom:6px; border-radius:3px; font-size:13px; color:#e6ece6; animation:tfade 3.2s forwards; }
.toast.bad { border-left-color:#e06a4e; }
.toast.gold { border-left-color:#e8c96a; }
@keyframes tfade { 0%{opacity:0; transform:translateY(-6px)} 8%{opacity:1; transform:none} 80%{opacity:1} 100%{opacity:0} }

#extract-big { position:absolute; top:34%; left:50%; transform:translate(-50%,-50%); font-size:34px; font-weight:800; color:#8fd06a; text-shadow:0 2px 8px #000; letter-spacing:4px; }
#extract-big.bad { color:#e06a4e; }
#extract-big small { display:block; font-size:14px; color:#cfd6d3; letter-spacing:1px; text-align:center; font-weight:400; }

/* ---------- 面板 / 按钮 ---------- */
.screen { position:fixed; inset:0; z-index:10; display:flex; overflow:auto; padding:24px 12px; box-sizing:border-box; }
.screen > .panel { margin:auto; }
.screen.dim { background:#000a; z-index:20; }
.panel { background:#14171b; border:1px solid #2c3238; border-radius:8px; padding:22px 26px; box-shadow:0 8px 40px #000c; }
.popup { position:fixed; z-index:15; top:50%; left:50%; transform:translate(-50%,-50%); min-width:340px; }

h1.title { font-size:30px; letter-spacing:6px; color:#e8efe8; text-align:center; }
h1.title small { display:block; font-size:13px; letter-spacing:3px; color:#7f8a82; margin-top:6px; font-weight:400; }
h2 { font-size:18px; color:#e8efe8; margin-bottom:14px; letter-spacing:2px; }
h3 { font-size:14px; color:#aeb8ae; margin:10px 0 8px; }

.btn { display:inline-block; background:#232a30; border:1px solid #3a444c; color:#d8e0d8; padding:8px 18px; border-radius:4px; cursor:pointer; font-size:14px; transition:all .12s; text-align:center; }
.btn:hover { background:#2e373f; border-color:#5a6a75; }
.btn.primary { background:#3d5c34; border-color:#5f8a4e; color:#eafbe8; }
.btn.primary:hover { background:#4a703d; }
.btn.danger { background:#5c3028; border-color:#8a4a3e; color:#ffe8e4; }
.btn.danger:hover { background:#703a2f; }
.btn.small { padding:3px 10px; font-size:12px; border-radius:3px; }
.btn:disabled { opacity:.4; cursor:not-allowed; }
.btn.ghost { background:transparent; border-color:#ffffff22; }

.tag { display:inline-block; font-size:11px; padding:1px 8px; border-radius:10px; background:#232a30; border:1px solid #3a444c; color:#9fb09f; margin-right:4px; }
.tag.gold { color:#e8c96a; border-color:#8a7430; }
.tag.red { color:#e88a7a; border-color:#8a4a3e; }
.tag.green { color:#9fd88a; border-color:#4e7a3e; }

#money-chip { position:fixed; top:14px; right:16px; z-index:12; background:#14171b; border:1px solid #3a444c; padding:6px 14px; border-radius:4px; font-size:14px; color:#e8c96a; font-weight:700; }

/* ---------- 主菜单 ---------- */
#screen-menu .panel { width:420px; text-align:center; padding:40px 36px; }
#screen-menu .menu-list { margin-top:26px; display:flex; flex-direction:column; gap:10px; }
#screen-menu .menu-list .btn { font-size:16px; padding:12px; letter-spacing:4px; }
#screen-menu .save-info { margin-top:18px; font-size:12px; color:#7f8a82; }
#screen-menu .logo-badge { width:74px; height:74px; margin:0 auto 16px; border:2px solid #5f8a4e; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:34px; background:#0f1a0d; }

/* ---------- 商店 ---------- */
.shop-wrap { width:860px; max-width:94vw; }
.shop-body { display:flex; gap:18px; }
.shop-tabs { display:flex; flex-direction:column; gap:8px; width:130px; }
.shop-tabs .btn { text-align:left; }
.shop-tabs .btn.on { background:#3d5c34; border-color:#5f8a4e; color:#eafbe8; }
.shop-list { flex:1; max-height:56vh; overflow:auto; }
.srow { display:flex; align-items:center; gap:12px; background:#191d22; border:1px solid #2c3238; border-radius:5px; padding:10px 14px; margin-bottom:8px; }
.srow .ic { font-size:24px; width:34px; text-align:center; }
.srow .nm { flex:1; }
.srow .nm b { color:#e8efe8; }
.srow .nm .d { font-size:12px; color:#8a958c; margin-top:2px; }
.srow .pr { color:#e8c96a; font-weight:700; width:90px; text-align:right; }

/* ---------- 选图 / BOSS大厅 ---------- */
.cards { display:flex; gap:16px; flex-wrap:wrap; justify-content:center; }
.card { width:250px; background:#191d22; border:1px solid #2c3238; border-radius:8px; padding:18px; display:flex; flex-direction:column; }
.card.boss-card { width:262px; }
.card .art { height:86px; border-radius:5px; margin-bottom:12px; display:flex; align-items:center; justify-content:center; font-size:44px; border:1px solid #ffffff14; }
.card b.nm { font-size:16px; color:#e8efe8; }
.card .desc { font-size:12px; color:#8a958c; margin:8px 0 10px; flex:1; line-height:1.5; }
.card .stats { font-size:12px; color:#aeb8ae; margin-bottom:12px; line-height:1.7; }
.card .stats i { color:#e8c96a; font-style:normal; }

/* ---------- 仓库 ---------- */
.stash-wrap { width:900px; max-width:95vw; }
.stash-body { display:flex; gap:16px; }
.stash-col { flex:1; }
.stash-col h3 { display:flex; justify-content:space-between; align-items:center; }
.irow { display:flex; align-items:center; gap:10px; background:#191d22; border:1px solid #2c3238; border-radius:5px; padding:7px 10px; margin-bottom:6px; font-size:13px; }
.irow .ic { font-size:18px; width:26px; text-align:center; }
.irow .nm { flex:1; }
.irow .nm small { color:#8a958c; margin-left:6px; }
.irow.equip-on { border-color:#5f8a4e; background:#1b2418; }
.empty-note { color:#5a655c; font-size:12px; padding:14px; text-align:center; border:1px dashed #2c3238; border-radius:5px; }
.equip-bar { display:flex; gap:10px; margin-bottom:14px; }
.equip-slot { flex:1; background:#191d22; border:1px solid #2c3238; border-radius:5px; padding:8px 12px; font-size:13px; min-height:44px; }
.equip-slot small { display:block; color:#8a958c; margin-top:2px; }

/* ---------- 结算 ---------- */
#screen-result .panel { width:520px; max-width:94vw; }
.result-head { text-align:center; font-size:26px; font-weight:800; letter-spacing:6px; margin-bottom:4px; }
.result-head.ok { color:#8fd06a; } .result-head.no { color:#e06a4e; }
.result-sub { text-align:center; color:#8a958c; font-size:13px; margin-bottom:16px; }
.result-stats { display:flex; justify-content:center; gap:24px; margin-bottom:14px; font-size:13px; color:#aeb8ae; }
.result-stats b { color:#e8c96a; }
.loot-list { max-height:220px; overflow:auto; margin-bottom:16px; }
.result-actions { display:flex; gap:10px; justify-content:center; }

/* ---------- 弹窗 / 背包 / 暂停 ---------- */
.popup h3 { margin-top:0; }
.popup .loot-row { display:flex; align-items:center; gap:10px; padding:6px 8px; border-bottom:1px solid #23282e; font-size:14px; }
.popup .loot-row .val { margin-left:auto; color:#e8c96a; font-size:12px; }
.popup .loot-row.taken { opacity:.35; text-decoration:line-through; }
.popup .popup-actions { margin-top:12px; display:flex; gap:8px; justify-content:flex-end; }
.inv-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; min-width:560px; }
.inv-cell { background:#191d22; border:1px solid #2c3238; border-radius:5px; padding:8px; min-height:64px; font-size:12px; display:flex; flex-direction:column; gap:3px; }
.inv-cell .nm { color:#e8efe8; font-weight:600; }
.inv-cell .sub { color:#8a958c; }
.inv-cell .acts { margin-top:auto; display:flex; gap:4px; flex-wrap:wrap; }
.inv-cell.loot-c { border-color:#6a5a2e; }
.help-table { font-size:13px; line-height:2; color:#b9c4bb; }
.help-table kbd { background:#232a30; border:1px solid #3a444c; border-radius:3px; padding:1px 7px; font-family:inherit; color:#e8efe8; margin-right:6px; }

/* ---------- 干员卡片 ---------- */
.op-cards { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.op-card { background:#191d22; border:1px solid #2c3238; border-radius:6px; padding:9px 11px; cursor:pointer; transition:all .12s; }
.op-card:hover { border-color:#5a6a75; }
.op-card.on { border-color:#5f8a4e; background:#1b2418; box-shadow:0 0 0 1px #5f8a4e66; }
.op-head { font-size:13px; color:#e8efe8; margin-bottom:4px; }
.op-line { font-size:11px; color:#8a958c; line-height:1.5; }
.op-line.skill { color:#aeb8ae; margin-top:2px; }
.op-line.pass { color:#8fb08a; }

/* ---------- 仓库拖动 ---------- */
.drag-item { cursor:grab; }
.drag-item:active { cursor:grabbing; }
.drop-hover { outline:2px dashed #8fd06a; outline-offset:-2px; background:#1a221a55; border-radius:5px; }

/* ---------- 转盘式搜索卡片 ---------- */
.search-cards { display:flex; flex-wrap:wrap; gap:10px; margin:10px 0 4px; min-height:92px; }

/* F版迭代：搜索弹窗=真网格布局（与背包界面统一：空格可见，物品按占地落在格子坐标上） */
.loot-grid-wrap { position:relative; margin:10px auto 4px; }
.lg-cell { float:left; box-sizing:border-box; width:54px; height:54px; border:1px solid #262c33; background:#101317; }
.lg-cell.alt { background:#12161a; }
.lg-item { position:absolute; box-sizing:border-box; background:#191d22; border:1.5px solid #3f4b42; border-radius:5px;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; padding:1px;
  cursor:pointer; overflow:hidden; transition:transform .12s, border-color .15s; }
.lg-item:hover { border-color:#8fd06a; transform:translateY(-1px); }
.lg-item.down { background:#14171b; cursor:wait; color:#5a655c; }
.lg-item.taken { opacity:.35; }
.lg-item.bonus { box-shadow:0 0 8px #e0a93844; }
.lg-item.spin { transform:rotateY(90deg) scale(1.06); }
.lg-item .sc-name { font-size:10px; color:#e8efe8; max-width:97%; text-align:center; line-height:1.2;
  overflow:hidden; word-break:break-all; }
.lg-item .sc-sub { font-size:9.5px; color:#8a958c; display:flex; gap:3px; align-items:center; flex-wrap:wrap; justify-content:center; }
.lg-item .sc-emoji { font-size:20px; }
.lg-item .sc-emoji .picon { width:24px; height:24px; }
.lg-item .sc-emoji .wicon { width:40px; height:20px; }
.scard { width:86px; height:92px; background:#191d22; border:1px solid #2c3238; border-radius:6px;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px;
  transition:transform .22s ease, border-color .2s; cursor:default; }
.scard.down { color:#5a655c; background:#14171b; }
.scard.spin { transform:rotateY(90deg) scale(1.06); }
.scard.rev { cursor:pointer; border-color:#3f4b42; }
.scard.rev:hover { border-color:#8fd06a; transform:translateY(-2px); }
.scard.rev.taken { opacity:.35; }
.scard.rev.bonus { border-color:#e0a938; box-shadow:0 0 8px #e0a93844; }
.sc-emoji { font-size:24px; }
.sc-name { font-size:10.5px; color:#e8efe8; max-width:78px; max-height:27px; text-align:center; line-height:1.25; overflow:hidden; word-break:break-all; }
.sc-sub { font-size:10px; color:#8a958c; }

::-webkit-scrollbar { width:8px; height:8px; }
::-webkit-scrollbar-thumb { background:#2c3238; border-radius:4px; }
::-webkit-scrollbar-track { background:transparent; }

/* ============ F版新增 ============ */

/* 武器独立像素图标 */
.wicon { width:40px; height:20px; display:block; image-rendering:pixelated; }
.ic-gun { display:flex; align-items:center; justify-content:center; }
.sc-gun { display:flex; align-items:center; justify-content:center; height:24px; }
.sc-gun .wicon { width:38px; height:19px; }
.srow .ic-gun .wicon { width:44px; height:22px; }

/* F版：护甲/子弹独立像素图标 */
.picon { width:28px; height:28px; display:block; image-rendering:pixelated; }
.srow .ic-gun .picon { width:30px; height:30px; }
.sc-emoji .picon { width:26px; height:26px; }
.equip-slot .picon { width:20px; height:20px; display:inline-block; }
.equip-slot .wicon { width:34px; height:17px; display:inline-block; }

/* 悬浮属性浮窗 */
#tooltip { position:fixed; z-index:999; max-width:280px; background:#12161add; border:1px solid #5f8a4e;
  border-radius:7px; padding:10px 12px; font-size:12px; color:#c4cdc4; line-height:1.6;
  box-shadow:0 6px 24px #000c; pointer-events:none; backdrop-filter:blur(3px); }
#tooltip h4 { margin:0 0 6px; color:#e8efe8; font-size:13px; }
#tooltip .trow { border-bottom:1px dashed #2c3238; padding:2px 0; }
#tooltip .trow:last-of-type { border-bottom:none; }
#tooltip .trow b { color:#e8c96a; }
#tooltip .tdesc { margin-top:5px; color:#8a958c; font-size:11px; }
.has-tip:hover { outline:1px solid #5f8a4e66; outline-offset:-1px; cursor:help; }

/* 地图玩法规则 */
.rule-line { font-size:11.5px; color:#e0a938; background:#2a241655; border:1px dashed #8a5a2e;
  border-radius:5px; padding:5px 8px; margin:7px 0; line-height:1.5; }
.rule-line.dim { color:#5a655c; border-color:#3a444c; background:transparent; }

/* 电脑终端密码键盘 */
.pw-box { display:flex; flex-direction:column; align-items:center; gap:10px; padding:10px 0 4px; }
.pw-progress { color:#8a958c; font-size:13px; letter-spacing:4px; }
.pw-progress b { color:#8fd06a; }
.pw-target { font-size:52px; font-weight:700; color:#3fd07a; text-shadow:0 0 18px #3fd07a66;
  background:#10171a; border:1px solid #2c4438; border-radius:9px; padding:2px 34px; line-height:1.3; }
.pw-tip { color:#8a958c; font-size:12px; }
.pw-keys { display:flex; gap:8px; }
.pw-key { width:52px; height:52px; font-size:22px; font-weight:700; color:#e8efe8;
  background:#1c2126; border:1px solid #3a444c; border-radius:8px; cursor:pointer; transition:all .1s; }
.pw-key:hover { border-color:#3fd07a; color:#3fd07a; }
.pw-key:active { transform:scale(0.94); background:#23303a; }

/* ============ H1：主线任务 / 安全箱 / 解锁 ============ */
.quest-list { display:flex; flex-direction:column; gap:8px; max-height:62vh; overflow-y:auto; padding:2px; }
.qrow { display:flex; align-items:center; gap:12px; background:#191d22; border:1px solid #2c3238;
  border-radius:7px; padding:10px 12px; }
.qrow.done { opacity:.55; }
.qrow.current { border-color:#5f8a4e; background:#1a221a; }
.qrow.locked { opacity:.45; }
.q-idx { width:30px; height:30px; flex:none; display:flex; align-items:center; justify-content:center;
  border-radius:50%; background:#232a30; color:#9aa39d; font-weight:700; font-size:13px; }
.qrow.current .q-idx { background:#2e4029; color:#8fd06a; }
.q-main { flex:1; min-width:0; }
.q-main b { color:#e8efe8; font-size:13.5px; }
.q-desc { color:#8a958c; font-size:11.5px; margin:2px 0; }
.q-bar { height:6px; background:#10141a; border-radius:3px; overflow:hidden; margin:4px 0 2px; }
.q-fill { height:100%; background:linear-gradient(90deg,#4e7a3e,#8fd06a); border-radius:3px; transition:width .3s; }
.q-prog { color:#aeb8ae; font-size:10.5px; }
.q-reward { color:#e8c96a; font-size:11px; margin-top:3px; line-height:1.6; }

/* 安全箱面板 */
.secure-box { text-align:center; }
.secure-box h4 { margin:0 0 6px; color:#e8c96a; font-size:13px; }
.sec-grid { position:relative; margin:0 auto 4px; }
.sec-cell { float:left; box-sizing:border-box; width:47px; height:47px; border:1px solid #5a5230; background:#1a1a12; }
.sec-grid .lg-item { border-color:#8a7a3e; }
.sec-grid .lg-item:hover { border-color:#e0a938; }

/* 干员锁定卡片 */
.op-card.locked { opacity:.6; cursor:not-allowed; border-style:dashed; }
.op-card.locked:hover { border-color:#d05a4e; }

/* 特勤处锁定配方 */
.srow.recipe-locked { opacity:.6; }
.srow.recipe-locked .ic-gun { filter:grayscale(1); }

/* H1：1×1 小格紧凑显示修复（名称完整可见） */
.lg-item.sm { gap:0; }
.lg-item.sm .sc-emoji { font-size:14px; }
.lg-item.sm .sc-emoji .picon { width:18px; height:18px; }
.lg-item.sm .sc-emoji .wicon { width:26px; height:13px; }
.lg-item.sm .sc-name { font-size:8.5px; line-height:1.1; }
.lg-item.sm .sc-sub { font-size:8px; }

/* ============================================================
   H版迭代：硬核军事风格全局覆写（全 UI）
   切角面板 / 扫描线质感 / 全直角 / 等宽数字 / 军绿对比 / 战术条
   ============================================================ */

* { border-radius:0 !important; }

body { background:#06080a; font-family:"Microsoft YaHei", Consolas, monospace; }

/* 面板：切角轮廓 + 扫描线质感 + 军绿框线 */
.panel { position:relative;
  clip-path:polygon(16px 0, 100% 0, 100% calc(100% - 16px), calc(100% - 16px) 100%, 0 100%, 0 16px);
  background:linear-gradient(180deg,#10141a,#0b0e12);
  border:1px solid #39443a;
}
.panel::after { content:''; position:absolute; inset:0; pointer-events:none;
  background:repeating-linear-gradient(0deg, rgba(255,255,255,0.016) 0 1px, transparent 1px 3px); }
.panel > * { position:relative; z-index:1; }

/* 标题：军用字距 + 左侧战术条 */
h1, h2, h3 { letter-spacing:5px; }
h2 { border-left:4px solid #7da05a; padding-left:10px; }
h1.title { border-left:none; padding-left:0; }

/* 按钮：切角 + 字距 + 亮化反馈 */
.btn { letter-spacing:3px; font-weight:700;
  clip-path:polygon(9px 0, 100% 0, 100% calc(100% - 9px), calc(100% - 9px) 100%, 0 100%, 0 9px); }
.btn.primary { background:linear-gradient(180deg,#31452c,#253521); }
.btn:hover { filter:brightness(1.25) saturate(1.08); }
.btn.small { letter-spacing:1px; }

/* 标签：等宽字 */
.tag { font-family:Consolas,'Courier New',monospace; letter-spacing:1px; font-weight:700; }

/* 浮窗：直角 + 军绿框 */
#tooltip { border-color:#5f8a4e; box-shadow:0 8px 28px #000d; }

/* HUD：扫描线 + 战术切角 + 等宽计时 */
#hud::after { content:''; position:absolute; inset:0; pointer-events:none; z-index:4;
  background:repeating-linear-gradient(0deg, rgba(0,0,0,0.045) 0 1px, transparent 1px 3px); }
#hud .bar { clip-path:polygon(0 0, 100% 0, calc(100% - 8px) 100%, 0 100%); }
#hud-tl, #hud-tr, #hud-bl { text-shadow:0 1px 0 #000; }
#mini { border:1px solid #3a4438; }
#raid-timer { font-family:Consolas,monospace; letter-spacing:2px; font-weight:700; }
#hint { border:1px solid #3a4438; background:#0d1114e6;
  clip-path:polygon(10px 0, 100% 0, 100% 100%, 0 100%, 0 10px); }
#obj-text { letter-spacing:1px; }

/* toast：左缘警示条 */
.toast { border-left:3px solid #7da05a; font-weight:600; letter-spacing:1px; }
.toast.bad { border-left-color:#d05a4e; }
.toast.gold { border-left-color:#e0a938; }

/* 列表行：左缘战术条，悬浮点亮 */
.srow, .irow { border-left:3px solid #2c3238; transition:border-color .12s, background .12s; }
.srow:hover, .irow:hover { border-left-color:#7da05a; background:#161b16; }

/* 商店分类 */
.shop-tabs .btn { letter-spacing:2px; }

/* 遮罩层更沉 */
.screen.dim { background:#040608dd; }

/* 主菜单军徽：方形切角 */
.logo-badge { border:2px solid #5f8a4e;
  clip-path:polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px); }
.menu-list .btn { margin:0; }

/* 大标题：更硬 */
h1.title { letter-spacing:8px; }
h1.title small { letter-spacing:2px; }

/* 结算头 */
.result-head { letter-spacing:10px; }

/* 密码键盘：直角 */
.pw-key { letter-spacing:0; }
.pw-target { border-radius:0; }

/* 任务面板 */
.qrow { border-left:3px solid #2c3238; }
.qrow.current { border-left-color:#8fd06a; }
.q-fill { border-radius:0; }
