/* 《牛马杀》v0.14：出牌动画、桌心出牌区、快速反应、离职员工、梗快捷语、托管，以及竖屏一屏可玩布局。
   本文件最后加载，只覆盖需要改动的部分。 */

/* ───────── 通用：新界面元素 ───────── */
.round-chip b i{font-style:normal;opacity:.6;font-size:.8em;margin-left:1px}
.round-chip.bell-soon{color:#ffd28a}.round-chip.bell-soon b{color:#ffb347;animation:v14-bell 1.2s ease-in-out infinite}
@keyframes v14-bell{0%,100%{transform:rotate(0)}20%{transform:rotate(-6deg)}40%{transform:rotate(5deg)}60%{transform:rotate(-3deg)}}
.quick-start-note{display:block;font-size:12px;font-weight:600;opacity:.75;margin-top:2px;letter-spacing:0}
.event-line{margin:.4em 0 0;font-weight:800;color:#c83b2b}

/* 桌心出牌区：最近一张牌落在这里，结算后盖章 */
.table-play-pile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:96px;margin:2px auto 0;width:max-content;max-width:100%;pointer-events:none}
.table-play-pile.is-empty .pile-empty{display:grid;place-items:center;width:78px;height:96px;border:2px dashed rgba(234,219,185,.28);border-radius:10px;color:rgba(234,219,185,.45);font-size:12px;letter-spacing:2px}
.pile-card{position:relative;display:flex;flex-direction:column;align-items:center;width:84px;padding:4px 4px 6px;background:#eadbb9;border:2px solid #152623;border-radius:8px;box-shadow:3px 4px 0 rgba(21,38,35,.75);transform:rotate(-4deg);color:#152623}
.pile-card .pile-art{display:block;width:74px;height:58px;overflow:hidden;border-radius:4px;background:#152623}
.pile-card .pile-art svg,.pile-card .pile-art img{display:block;width:100%;height:100%;object-fit:cover}
.pile-card b{display:block;margin-top:3px;font-size:13px;line-height:1.15;font-weight:900;text-align:center;white-space:nowrap;max-width:80px;overflow:hidden;text-overflow:ellipsis}
.pile-stamp{position:absolute;right:-10px;top:30px;padding:1px 5px;border:2px solid #c83b2b;border-radius:4px;color:#c83b2b;background:rgba(234,219,185,.92);font:900 normal 12px/1.2 var(--sans,sans-serif);transform:rotate(-14deg);letter-spacing:1px}
.table-play-pile.is-skill .pile-card{background:#22423d;color:#eadbb9;border-color:#62d6c5}.table-play-pile.is-skill .pile-art{background:#0f1d1b}
.pile-route{font-size:12px;font-weight:800;color:rgba(234,219,185,.86);letter-spacing:1px}.pile-route em{font-style:normal;color:#ff8868;margin:0 2px}
.table-play-pile.is-arriving .pile-card,.table-play-pile.is-arriving .pile-route{opacity:0;animation:v14-pile-in .28s ease-out forwards;animation-delay:1.55s}
@keyframes v14-pile-in{from{opacity:0;transform:translateY(-6px) rotate(-4deg)}to{opacity:1}}
.table-play-pile.is-arriving .pile-route{transform:none}

/* 快速反应：大按钮 + 3 秒导火索 */
.quick-overlay{position:fixed;left:50%;z-index:60;display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 16px 18px;width:min(92vw,360px);background:rgba(16,23,25,.94);border:3px solid #ffb347;border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.55);transform:translateX(-50%);animation:v14-quick-pop .18s ease-out}
.quick-overlay.pos-a{top:34%}.quick-overlay.pos-b{top:42%}.quick-overlay.pos-c{top:28%}
.quick-overlay p{margin:0;color:#eadbb9;font-size:15px;font-weight:800;text-align:center;line-height:1.35}
.quick-hit{min-width:220px;min-height:64px;padding:10px 22px;border:3px solid #152623;border-radius:14px;background:#ffb347;color:#152623;font:1000 24px/1.1 var(--sans,sans-serif);box-shadow:0 6px 0 #a35a12;cursor:pointer;animation:v14-quick-pulse .5s ease-in-out infinite alternate}
.quick-hit:active{transform:translateY(4px);box-shadow:0 2px 0 #a35a12}
.quick-fuse{display:block;width:100%;height:6px;border-radius:3px;background:linear-gradient(90deg,#c83b2b,#ffb347);transform-origin:left center;animation:v14-fuse var(--quick-ms,3500ms) linear forwards}
@keyframes v14-quick-pop{from{opacity:0;transform:translateX(-50%) scale(.8)}to{opacity:1;transform:translateX(-50%) scale(1)}}
@keyframes v14-quick-pulse{from{transform:scale(1)}to{transform:scale(1.05)}}
@keyframes v14-fuse{from{transform:scaleX(1)}to{transform:scaleX(0)}}
.quick-response{border-color:#ffb347!important}

/* 离职员工：朋友圈点赞 / 吐槽 */
.ghost-response .ghost-actions{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.ghost-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.ghost-row b{min-width:2.6em;font-size:13px;color:#eadbb9}
.ghost-row .btn{min-height:44px;padding:6px 10px;font-size:13px}
.ghost-like{border-color:#4ed9b4!important}.ghost-roast{border-color:#ff8868!important}
.spectator-note{font-size:13px}

/* 托管提示条 */
.autopilot-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 10px;padding:6px 10px;border:2px solid #ffb347;border-radius:10px;background:rgba(255,179,71,.12);color:#ffd9a3;font-size:13px;font-weight:800}
.autopilot-banner .btn{min-height:40px;padding:4px 14px;font-size:14px}

/* 梗快捷语 */
.emote-toggle{font:1000 17px/1 var(--sans,sans-serif)!important;color:#152623!important;background:#ffb347!important;border-color:#152623!important}
.emote-list{position:fixed;right:8px;top:64px;z-index:55;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:min(78vw,320px);padding:8px;border-radius:12px;background:rgba(16,23,25,.95);border:2px solid rgba(234,219,185,.3)}
.emote-chip{min-height:40px;padding:6px 10px;border-radius:20px;border:2px solid rgba(234,219,185,.4);background:#22423d;color:#eadbb9;font-size:14px;font-weight:800;cursor:pointer}
.taunt-bubble.is-emote{background:#ffb347!important;color:#152623!important;border-color:#152623!important}

/* 带薪拉屎中：头像半透明，提示别人点不到 */
.opponent:has([data-status="hidden"]) .portrait-frame,.self-panel:has([data-status="hidden"]) .self-portrait{opacity:.55;filter:grayscale(.4)}

/* 头像统一成印刷质感，和漫画卡面更搭 */
.portrait-frame,.self-portrait{position:relative}
.portrait-frame:after,.self-portrait:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(rgba(21,38,35,.55) .8px,transparent 1.1px) 0 0/4px 4px;mix-blend-mode:multiply;opacity:.22;border-radius:inherit}
.role-portrait{filter:contrast(1.06) saturate(.9)}

/* 装备浮层只在聚焦时出现，不再卡在屏幕上 */
@media (hover:none){.equip-slot .equip-tooltip{display:none!important}}

/* ───────── 出牌动画：出牌 → 指向 → 命中 → 落桌 → 结算 ───────── */
.fx-source-ring,.fx-target-ring{position:absolute;width:74px;height:74px;border-radius:50%;pointer-events:none;z-index:4}
.fx-source-ring{border:3px solid #ffd28a;box-shadow:0 0 0 4px rgba(255,210,138,.25),0 0 22px rgba(255,210,138,.6)}
.fx-target-ring{border:3px dashed #ff6b55;box-shadow:0 0 18px rgba(255,107,85,.55);animation:v14-target-spin 2.2s linear infinite}
.fx-target-ring.tone-good{border-color:#4ed9b4;box-shadow:0 0 18px rgba(78,217,180,.55)}
.fx-target-ring.tone-risk{border-color:#ffb347;box-shadow:0 0 18px rgba(255,179,71,.5)}
@keyframes v14-target-spin{to{rotate:360deg}}
.fx-tag{position:absolute;left:50%;top:-14px;transform:translateX(-50%);padding:1px 7px;border-radius:9px;font:900 12px/1.4 var(--sans,sans-serif);letter-spacing:1px;white-space:nowrap;background:#ffd28a;color:#152623;border:2px solid #152623}
.fx-target-ring .fx-tag{top:auto;bottom:-14px;background:#ff6b55;color:#fff;animation:none}
.fx-target-ring.tone-good .fx-tag{background:#4ed9b4;color:#152623}.fx-target-ring.tone-risk .fx-tag{background:#ffb347;color:#152623}
.fx-target-ring .fx-tag{rotate:0deg}
.fx-source-ring.tone-ghost{border-color:#bda0ff;box-shadow:0 0 18px rgba(189,160,255,.6)}.fx-source-ring.tone-ghost .fx-tag{background:#bda0ff}
.fx-aim-layer{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:3}
.fx-aim-path{fill:none;stroke:#ff6b55;stroke-width:5;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;filter:drop-shadow(0 0 4px rgba(255,107,85,.7))}
.fx-aim-head{fill:#ff6b55}
.fx-aim-layer.tone-good .fx-aim-path{stroke:#4ed9b4;filter:drop-shadow(0 0 4px rgba(78,217,180,.7))}.fx-aim-layer.tone-good .fx-aim-head{fill:#4ed9b4}
.fx-aim-layer.tone-risk .fx-aim-path,.fx-aim-layer.tone-skill .fx-aim-path{stroke:#ffb347;filter:drop-shadow(0 0 4px rgba(255,179,71,.7))}.fx-aim-layer.tone-risk .fx-aim-head,.fx-aim-layer.tone-skill .fx-aim-head{fill:#ffb347}
.fx-aim-layer.tone-ghost .fx-aim-path{stroke:#bda0ff;stroke-dasharray:6 8}.fx-aim-layer.tone-ghost .fx-aim-head{fill:#bda0ff}
.fx-fly-card{position:absolute;width:86px;padding:4px 4px 6px;background:#eadbb9;border:2px solid #152623;border-radius:8px;box-shadow:4px 6px 0 rgba(21,38,35,.7),0 10px 26px rgba(0,0,0,.45);z-index:9;color:#152623;text-align:center;will-change:transform,opacity}
.fx-fly-card .fx-fly-sprite{display:block;width:76px;height:58px;object-fit:cover;border-radius:4px;background:#152623}
.fx-fly-card b{display:block;margin-top:3px;font:1000 14px/1.15 var(--sans,sans-serif);white-space:nowrap}
.fx-fly-card.tone-attack{border-color:#c83b2b}.fx-fly-card.tone-good{border-color:#245b52}
.fx-fly-stamp{position:absolute;right:-12px;top:26px;padding:1px 5px;border:2px solid #c83b2b;border-radius:4px;color:#c83b2b;background:rgba(234,219,185,.95);font:1000 normal 13px/1.2 var(--sans,sans-serif);opacity:0;letter-spacing:1px}
.fx-land-dust{position:absolute;width:120px;height:44px;border-radius:50%;background:radial-gradient(closest-side,rgba(234,219,185,.55),transparent);z-index:2}
.fx-quick-label{font-size:16px!important}.fx-quick-label.is-bad{background:#c83b2b!important;color:#fff!important}
.fx-skill-cut.is-ghost{filter:grayscale(.3) hue-rotate(220deg)}
.fx-impact.ghost b{color:#bda0ff}

/* ───────── 竖屏：一屏可玩 ───────── */
@media (orientation:portrait) and (max-width:640px){
  .arena-shell{display:flex!important;flex-direction:column!important;height:100dvh!important;min-height:0!important;max-height:100dvh;overflow:hidden!important;padding:0!important;gap:0!important}
  .arena-shell .orientation-tip{display:none!important}
  /* 顶栏 + 回合条 */
  .arena-shell .arena-header{flex:0 0 auto;height:42px!important;min-height:0!important;padding:4px 8px!important;gap:6px}
  .arena-shell .arena-header .wordmark{font-size:17px!important;gap:6px}.arena-shell .arena-header .brand-glyph{width:26px!important;height:26px!important;font-size:16px!important}
  .arena-shell .arena-edition{display:none!important}
  .arena-shell .round-chip{font-size:12px!important;line-height:1.15;text-align:right}.arena-shell .round-chip b{font-size:15px!important}
  .arena-shell .header-actions .icon-btn{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;padding:0!important}
  .arena-shell .sound-state,.arena-shell .fullscreen-btn{display:none!important}
  .arena-shell .turn-strip{flex:0 0 auto;margin:0 6px!important;padding:3px 8px!important;min-height:0!important;gap:6px!important;border-width:1px!important}
  .arena-shell .turn-indicator{font-size:14px!important}
  .arena-shell .turn-sequence{font-size:12px!important;gap:2px!important}.arena-shell .turn-sequence .turn-seat{width:20px!important;height:20px!important;font-size:12px!important}.arena-shell .turn-sequence small{font-size:12px!important}
  .arena-shell .deck-info{display:none!important}
  .arena-shell .action-clock{min-width:52px!important;padding:2px 6px!important}.arena-shell .action-clock b{font-size:18px!important}.arena-shell .action-clock small{font-size:12px!important}
  /* 桌面：对手一排 + 桌心 */
  .arena-shell .battlefield{position:relative!important;flex:1 1 auto!important;min-height:0!important;display:flex!important;flex-direction:column!important;padding:2px 6px 0!important;margin:0!important;gap:2px!important;overflow:visible!important}
  .arena-shell .table-hud{position:absolute!important;right:6px;bottom:2px;top:auto!important;left:auto!important;z-index:6;display:block!important;width:auto!important;margin:0!important;padding:0!important}
  .arena-shell .objective-banner{display:none!important}
  .arena-shell .event-slip{min-height:0!important;height:auto!important;padding:2px 6px!important;gap:4px!important;max-width:150px}
  .arena-shell .event-slip .event-badge-art{display:none!important}.arena-shell .event-slip .event-badge-copy small,.arena-shell .event-slip .event-badge-copy span{display:none!important}.arena-shell .event-slip b{font-size:12px!important}
  .arena-shell .opponents{flex:0 0 auto!important;display:grid!important;grid-template-columns:repeat(var(--opp,3),minmax(0,1fr))!important;gap:4px!important;margin:16px 0 0!important;padding:0!important;height:auto!important}
  .arena-shell .opponents[data-count="4"]{--opp:4}.arena-shell .opponents[data-count="5"]{--opp:5}.arena-shell .opponents[data-count="3"]{--opp:3}
  .arena-shell .opponent{min-height:0!important;height:auto!important;padding:2px 2px 4px!important;display:flex!important;flex-direction:column!important;align-items:center!important;overflow:visible!important}
  .arena-shell .opponent-head{position:relative!important;width:100%!important;height:62px!important;min-height:0!important;display:flex!important;justify-content:center!important;align-items:flex-end!important;overflow:visible!important}
  .arena-shell .opponent .portrait-frame{width:58px!important;height:58px!important;border-radius:50%!important;overflow:hidden!important;border:2px solid rgba(234,219,185,.35);flex:0 0 auto;background:#18302c}
  .arena-shell .opponent .portrait-frame .role-portrait{width:100%!important;height:100%!important;object-fit:cover!important;object-position:50% 18%!important;transform:none!important}
  .arena-shell .opponent .equipment-row{position:absolute!important;right:0!important;top:0!important;display:flex!important;flex-direction:column!important;gap:2px!important;width:auto!important}
  .arena-shell .opponent .equipment-row .equip-slot{width:22px!important;height:22px!important;min-width:0!important;min-height:0!important;padding:0!important;pointer-events:none}
  .arena-shell .opponent .equipment-row .equip-slot.empty{display:none!important}
  .arena-shell .opponent .equipment-row .equip-slot small,.arena-shell .opponent .equipment-row .slot-category{display:none!important}
  .arena-shell .opponent .hand-count-badge{position:absolute!important;left:2px!important;bottom:0!important;padding:1px 4px!important;font-size:12px!important;min-height:0!important}
  .arena-shell .opponent .hand-count-badge small{display:none!important}.arena-shell .opponent .hand-count-badge svg{width:12px!important;height:12px!important}
  .arena-shell .opponent-facts{width:100%!important;padding:2px 0 0!important;margin:0!important;min-height:0!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:1px!important;background:none!important;border:0!important;box-shadow:none!important}
  .arena-shell .opponent-name{font-size:13px!important;line-height:1.15!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .arena-shell .opponent .participant-label{font-size:12px!important;line-height:1.1}.arena-shell .opponent .participant-label i{display:none}
  .arena-shell .opponent-identity{font-size:12px!important;line-height:1.1}
  .arena-shell .opponent .hp-row{gap:1px!important}.arena-shell .opponent .hp-dot{width:6px!important;height:8px!important}.arena-shell .opponent .hp-number{font-size:12px!important}
  .arena-shell .opponent .seat-number{width:20px!important;height:20px!important;font-size:12px!important;left:0!important;top:0!important}
  .arena-shell .opponent .acting-badge,.arena-shell .opponent .owner-badge{font-size:12px!important;padding:0 4px!important;top:-12px!important}
  .arena-shell .opponent .status-stamps{position:absolute;left:0;top:22px;display:flex;flex-direction:column;gap:2px}.arena-shell .status-stamps span{font-size:12px!important;min-width:20px;min-height:18px;line-height:18px}
  .arena-shell .opponent .meeting-badge{font-size:12px!important;padding:0 3px!important}
  .arena-shell .opponents[data-count="5"] .opponent .portrait-frame{width:48px!important;height:48px!important}.arena-shell .opponents[data-count="5"] .opponent-head{height:52px!important}
  .arena-shell .opponents[data-count="5"] .opponent-name{font-size:12px!important}
  .arena-shell .board-center{flex:1 1 auto!important;min-height:0!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;padding:0!important;margin:0!important;gap:2px!important;background:none!important;border:0!important;overflow:hidden}
  .arena-shell .board-center .board-kicker{display:none!important}
  .arena-shell .battle-log{max-width:100%;margin:0!important;padding:0 6px!important;font-size:12px!important;line-height:1.3!important;text-align:center}
  .arena-shell .battle-log li:not(:last-child){display:none}
  .arena-shell .table-play-pile{min-height:0!important;margin:0 auto!important}
  .arena-shell .targeting-cue{max-width:96%;font-size:13px!important}
  /* 自己的工位 */
  .arena-shell .own-zone{flex:0 0 auto!important;display:flex!important;flex-direction:column!important;gap:3px!important;padding:2px 6px calc(4px + env(safe-area-inset-bottom,0px))!important;margin:0!important;min-height:0!important;height:auto!important;position:relative}
  .arena-shell .first-run{order:-2;font-size:12px!important;padding:2px 8px!important;min-height:0!important}
  .arena-shell .own-zone .response-panel:not(.card-choice-panel){position:absolute!important;left:6px;right:6px;bottom:calc(100% + 4px);z-index:30;margin:0!important;padding:6px 8px!important;box-shadow:0 8px 24px rgba(0,0,0,.5)}
  .arena-shell .own-zone .response-panel p{font-size:13px!important;margin:2px 0!important}.arena-shell .own-zone .response-heading{font-size:14px!important}
  .arena-shell .own-zone .response-actions .btn{min-height:44px!important;font-size:14px!important}
  .arena-shell .card-choice-panel{position:absolute!important;left:6px;right:6px;bottom:calc(100% + 4px);z-index:30;max-height:52vh;overflow:auto;margin:0!important}
  .arena-shell .self-panel{order:-1;position:relative!important;display:grid!important;grid-template-columns:52px minmax(0,1fr) auto!important;grid-template-rows:auto!important;grid-template-areas:'face info gear'!important;align-items:center!important;gap:6px!important;min-height:0!important;height:auto!important;padding:3px 6px!important;margin:0!important}
  .arena-shell .self-panel>.self-portrait{grid-area:face!important}.arena-shell .self-panel>.self-info{grid-area:info!important}.arena-shell .self-panel>.equipment-rack{grid-area:gear!important}
  .arena-shell .self-panel>.player-feedback,.arena-shell .self-panel>.taunt-bubble,.arena-shell .self-panel>.acting-badge,.arena-shell .self-panel>.owner-badge{position:absolute!important;grid-area:auto!important}
  .arena-shell .self-panel>.taunt-bubble{left:60px;top:-30px;z-index:20}
  .arena-shell .self-portrait{width:52px!important;height:52px!important;min-height:0!important;border-radius:50%!important;overflow:hidden!important;padding:0!important;grid-row:auto!important}
  .arena-shell .self-portrait .role-portrait{width:100%!important;height:100%!important;object-fit:cover!important;object-position:50% 18%!important}
  .arena-shell .self-portrait .self-hand-count{display:none!important}
  .arena-shell .self-info{min-width:0;padding:0!important;margin:0!important}
  .arena-shell .self-title{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:2px 6px!important}
  .arena-shell .self-title h2{font-size:16px!important;line-height:1.1!important;margin:0!important}
  .arena-shell .self-title .participant-label{display:none!important}
  .arena-shell .self-identity,.arena-shell .reach-value{font-size:12px!important}
  .arena-shell .self-panel .hp-number{font-size:12px!important}
  .arena-shell .self-status-row{min-height:0!important;margin:0!important}
  .arena-shell .self-panel .acting-badge,.arena-shell .self-panel .owner-badge{font-size:12px!important;padding:0 5px!important;top:-10px!important;left:4px!important}
  .arena-shell .equipment-rack{display:flex!important;gap:4px!important;grid-column:auto!important;width:auto!important;margin:0!important}
  .arena-shell .equipment-rack .equip-slot{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:2px!important;border-radius:8px!important}
  .arena-shell .equipment-rack .equip-slot small{font-size:12px!important;line-height:1;max-width:42px;overflow:hidden;white-space:nowrap;text-overflow:clip}
  .arena-shell .equipment-rack .equip-slot .slot-category{display:none!important}
  .arena-shell .equipment-rack .equip-slot.empty small{display:none}
  .arena-shell .equip-ready{font-size:12px!important}
  /* 手牌：一排横向滑动，名字和短句清楚 */
  .arena-shell .hand-zone{flex:0 0 auto!important;min-height:0!important;height:auto!important;padding:0!important;margin:0!important}
  .arena-shell .hand-label{font-size:12px!important;padding:0 2px!important;min-height:0!important;margin:0 0 1px!important}
  .arena-shell .hand-cards{display:flex!important;flex-wrap:nowrap!important;gap:6px!important;overflow-x:auto!important;overflow-y:visible!important;padding:10px 2px 4px!important;height:auto!important;min-height:0!important;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;perspective:none!important}
  .arena-shell .hand-cards .playing-card{flex:0 0 96px!important;width:96px!important;height:150px!important;min-height:0!important;margin:0!important;padding:4px!important;transform:none!important;rotate:0deg!important;translate:none!important;position:relative!important;left:auto!important;top:auto!important;display:flex!important;flex-direction:column!important;scroll-snap-align:start;grid-template-rows:none!important}
  .arena-shell .hand-cards .playing-card .card-top{font-size:12px!important;min-height:0!important;height:16px}
  .arena-shell .hand-cards .playing-card .card-category{display:none!important}
  .arena-shell .hand-cards .playing-card .card-art{height:60px!important;min-height:0!important;flex:0 0 60px;margin:0!important;overflow:hidden}
  .arena-shell .hand-cards .playing-card .card-art svg{width:100%!important;height:100%!important}
  .arena-shell .hand-cards .playing-card .card-name{font-size:15px!important;line-height:1.15!important;margin:3px 0 1px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;position:static!important;transform:none!important}
  .arena-shell .hand-cards .playing-card .card-summary{font-size:12px!important;line-height:1.25!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;position:static!important;margin:0!important}
  .arena-shell .hand-cards .playing-card .card-quip,.arena-shell .hand-cards .playing-card .card-type{display:none!important}
  .arena-shell .hand-cards .playing-card.is-playable{box-shadow:0 0 0 2px #ffd28a,0 4px 10px rgba(0,0,0,.35)!important}
  .arena-shell .hand-cards .playing-card.is-selected{transform:translateY(-10px)!important;box-shadow:0 0 0 3px #ff6b55,0 10px 18px rgba(0,0,0,.45)!important}
  .arena-shell .hand-cards .hand-empty{font-size:13px!important;min-height:120px}
  /* 指令区 */
  .arena-shell .command-zone{flex:0 0 auto!important;display:grid!important;grid-template-columns:1fr 1fr 1.25fr!important;gap:6px!important;padding:0!important;margin:0!important;min-height:0!important;height:auto!important}
  .arena-shell .skill-rail{display:contents!important}
  .arena-shell .skill-button{min-height:48px!important;height:48px!important;padding:2px 6px!important;font-size:14px!important;margin:0!important;width:auto!important}
  .arena-shell .skill-button svg{width:16px!important;height:16px!important}.arena-shell .skill-button .skill-status{font-size:12px!important;line-height:1.1!important}
  .arena-shell .turn-controls{display:flex!important;flex-direction:column!important;gap:0!important;margin:0!important;padding:0!important;min-width:0}
  .arena-shell .turn-controls .turn-hint,.arena-shell .turn-controls .text-btn{display:none!important}
  .arena-shell .turn-controls .btn{min-height:48px!important;height:48px!important;width:100%!important;font-size:16px!important;padding:2px 8px!important;margin:0!important}
  .arena-shell .network-warning,.arena-shell .save-warning,.arena-shell .spectator-note,.arena-shell .autopilot-banner{flex:0 0 auto;margin:2px 6px!important;padding:2px 8px!important;font-size:12px!important}
  .arena-shell .autopilot-banner .btn{min-height:34px!important;padding:2px 12px!important;font-size:13px!important}
  .arena-shell .spectator-note .btn{min-height:36px!important;font-size:12px!important}
  .arena-shell .live-action-callout{display:none!important}
  .arena-shell .taunt-bubble{font-size:12px!important;max-width:150px;white-space:normal!important}
  .emote-list{top:46px}
  .fx-source-ring,.fx-target-ring{width:62px;height:62px}
  .fx-fly-card{width:78px}.fx-fly-card .fx-fly-sprite{width:68px;height:50px}
}
@media (orientation:portrait) and (max-width:640px) and (max-height:640px){
  .arena-shell .opponent-head{height:52px!important}.arena-shell .opponent .portrait-frame{width:48px!important;height:48px!important}
  .arena-shell .hand-cards .playing-card{height:132px!important}.arena-shell .hand-cards .playing-card .card-art{height:48px!important;flex-basis:48px}
  .arena-shell .table-play-pile .pile-card{width:70px}.arena-shell .table-play-pile .pile-art{width:60px;height:44px}
}

/* v0.14 实机检查后的修正 */
.skill-rail.is-hidden{display:none!important}
@media (orientation: portrait) {
  /* 6人局：5名对手排成一行，把第二行让给桌面 */
  .arena-shell .opponents[data-count="5"]>.opponent{grid-column:auto!important;translate:none!important}
  .arena-shell .opponents[data-count="5"] .opponent .portrait-frame{width:46px!important;height:46px!important}
  .arena-shell .opponents[data-count="5"] .opponent-head{height:50px!important}
  .arena-shell .opponents[data-count="5"] .opponent .hp-dot{width:5px!important}
  .arena-shell .opponents[data-count="5"] .opponent .equipment-row .equip-slot{width:18px!important;height:18px!important}
  /* 单机里人人都是AI，“AI陪练”不再占一行；真人照常显示名字 */
  .arena-shell .opponent .participant-label[data-participant="ai"]{display:none!important}
  /* 新手提示占自己的一行，不再压住“出牌中”标签或对手 */
  .arena-shell .first-run{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;height:auto!important;margin:0 0 14px!important;transform:none!important}
  /* 最新一条战报靠左，避开右下角的事件按钮 */
  .arena-shell .board-center .battle-log{align-self:flex-start;max-width:calc(100% - 158px)!important;text-align:left!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .arena-shell .event-slip{min-height:32px!important}
  /* 自己装备名不截断 */
  .arena-shell .self-panel .equipment-rack .equip-slot small{font-size:11px!important;letter-spacing:-.5px;white-space:nowrap;overflow:visible}
}
@media (orientation: portrait) {
  /* 竖屏把新手提示并进手牌上方那行说明里，不额外占一整条 */
  .arena-shell .first-run{display:none!important}
  /* 事件按钮缩成小签，不压住对手的血条 */
  .arena-shell .table-hud{max-width:112px}
  .arena-shell .event-slip{max-width:112px!important}
  .arena-shell .event-slip b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
  .arena-shell .board-center .battle-log{max-width:calc(100% - 120px)!important}
}
@media (orientation: portrait) and (max-height: 620px) {
  .arena-shell .opponents{margin-top:12px!important}
  .arena-shell .table-hud{display:none!important}
}
@media (orientation: portrait) {
  .arena-shell .equip-ready{line-height:16px!important;top:-10px!important;right:2px!important;padding:0 3px!important;z-index:2}
  .arena-shell .self-panel .equipment-rack,.arena-shell .self-panel .equipment-rack .equip-slot{overflow:visible!important}
}
@media (orientation: portrait) {
  .arena-shell .table-hud{right:6px!important;overflow:visible}
  .arena-shell .table-hud .event-slip{width:auto!important;margin:0 0 0 auto!important;transform:none!important;translate:none!important;box-sizing:border-box}
}
@media (orientation: portrait) {
  .arena-shell .table-hud .event-slip{min-width:0!important;max-width:112px!important;overflow:hidden}
  .arena-shell .table-hud .event-slip .event-badge-copy{min-width:0!important;max-width:100%!important;overflow:hidden}
}
/* 离职员工面板：标题一行、说明一行、两排头像按钮，不再挤成窄列 */
.arena-shell .ghost-response{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:4px!important;grid-template-columns:none!important;height:auto!important;min-height:0!important}
.arena-shell .ghost-response>.response-heading,.arena-shell .ghost-response>p{max-width:none!important;width:auto!important;white-space:normal!important;writing-mode:horizontal-tb}
.arena-shell .ghost-response>.response-heading{display:flex;align-items:center;gap:6px;font-size:15px!important}
.arena-shell .ghost-response .ghost-actions{width:100%}
.arena-shell .ghost-row{display:grid!important;grid-template-columns:2.8em repeat(auto-fit,minmax(0,1fr));gap:6px}
.arena-shell .ghost-row .btn{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.arena-shell .ghost-response .text-btn{align-self:center;min-height:40px;padding:4px 18px}
@media (orientation: portrait) {
  .arena-shell .battle-log li{font-size:12px!important;line-height:1.3!important}
  .arena-shell .hand-cards .card-rank{font-size:12px!important;line-height:1.2!important}
  .arena-shell .table-hud .event-slip{min-height:40px!important}
}
