/* 核爆 · 第三轮布局（在 ../shared/game-2.css 之后加载）：与海啸、地震同一顺序。
 * 顶栏：名牌 → 场景 ▾ → 强化观察 / 防护模式 … 状态 → ⋯（DSKit.menu）。
 * 画面框左上：本局卡片（DSKit.goal，#ds-tl），场景标题在它下面；右上 ⌂（转动 / 缩放过才出现）。
 * 底部：时间轴（核爆特有的回放条）→ 档位 .ds-lv（强化 / 灾害）→ 托盘（防护模式）→ 当量、空中 / 地表、定位 → 操作组 → 核爆来临。
 * 手机（html.ds-m）：档位、参数、播放操作按视口分行；运行前后保留相同位置。 */

/* ---------- 顶栏 ---------- */
.d2g-nu header{justify-content:flex-start;gap:12px}
.d2g-nu header .ds-mode-top{margin-left:0}
.d2g-nu .ds-head-r{margin-left:auto;display:flex;align-items:center;gap:10px;min-width:0}
.d2g-nu .ds-head-r .view-actions{display:flex;align-items:center;gap:6px}
.d2g-nu .ds-head-r .view-actions .dsk-menu-btn{min-width:42px;min-height:40px;padding:0 12px;font-size:17px}
.d2g-nu header .ds-scene-btn{flex:0 1 auto;min-width:0;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 12px 0 14px;border:0;
  border-radius:var(--d2-r-md);background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);color:var(--d2-on-ink);
  font:700 var(--d2-fs-sm)/1 var(--d2-font);white-space:nowrap;cursor:pointer;transition:background var(--d2-dur-2)}
.d2g-nu header .ds-scene-btn small{font:600 11px/1 var(--d2-font);color:var(--ds-dim)}
.d2g-nu header .ds-scene-btn b{min-width:0;overflow:hidden;text-overflow:ellipsis;color:#fff;font-weight:800;letter-spacing:.02em}
.d2g-nu header .ds-scene-btn i{font-style:normal;font-size:10px;color:var(--ds-dim)}
.d2g-nu header .ds-scene-btn:hover{background:rgba(255,255,255,.1)}
.d2g-nu header .ds-scene-btn[aria-expanded="true"]{background:var(--ds-m-soft);box-shadow:inset 0 0 0 1.5px var(--ds-m)}
.d2g-nu .ds-head-r .ds-status{flex:0 1 auto;min-width:0}

/* ---------- 画面框：左上本局卡片，右上 ⌂ ---------- */
.d2g-nu .ds-tl{position:absolute;z-index:4;left:16px;top:14px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;
  width:min(340px,calc(100% - 84px));pointer-events:none}
.d2g-nu .ds-tl .dsk-goal{width:100%;pointer-events:auto}
.d2g-nu .ds-tl .scene-copy{position:static;max-width:100%;pointer-events:none}
.d2g-nu .stage .ds-home{position:absolute;z-index:4;top:14px;right:16px}
.d2g-nu .workspace.cinema .ds-tl{display:none}
/* 详情：原来左下的实时读数（热闪遮挡、损毁、地表改变）和观察手记里的三项 */
.d2g-nu .ds-goal-det .ds-live{position:static;max-width:none;display:flex;flex-wrap:wrap;gap:4px 14px;padding:0;border:0;border-radius:0;
  background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;font-size:12px;color:var(--ds-dim);pointer-events:auto}
.d2g-nu .ds-goal-det .ds-live-pts,.d2g-nu .ds-goal-det .ds-live-energy{display:none!important}
.d2g-nu .ds-goal-det .metric{margin-top:8px;padding:0 0 0 9px;border-left:2px solid rgba(255,255,255,.12)}
.d2g-nu .ds-goal-det .metric>span{display:block;font-size:11px;color:var(--ds-dim)}
.d2g-nu .ds-goal-det .metric strong{display:block;font:800 13px/1.4 var(--d2-font);color:#e9e2d2}
.d2g-nu .ds-goal-det .metric small{display:block;font-size:11px;line-height:1.45;color:var(--ds-dim)}
.d2g-nu.ds-live2 .stage #hint,.d2g-nu.ds-live2 .ds-chip{bottom:14px}
.d2g-nu .observation-body{grid-template-columns:1fr}
/* 吐司：桌面在画面框顶部、本局卡片右侧；手机在本局卡片下方 */
.d2g-nu:not(.ds-m):not(.ds-land) .dsk-toast{top:calc(var(--head-h) + 26px);left:calc(50% + min(180px,16vw));max-width:min(560px,calc(100vw - 460px))}
.d2g-nu.ds-m:not(.ds-land) .dsk-toast{top:calc(env(safe-area-inset-top) + 214px)}

/* ---------- 底部：档位 → 托盘 → 参数 → 操作组 → 主按钮 ---------- */
.d2g-nu .ds-ctx{height:auto;min-height:44px;align-items:center;gap:12px}
.d2g-nu .ds-ctx .ds-lv{flex:none}
.d2g-nu .ds-ctx .ds-lv button{min-height:36px}
/* 触屏（平板横屏等走桌面布局时）：档位按钮回到 40px，时间轴这一行跟着长高 */
@media (pointer:coarse){.d2g-nu .ds-ctx{height:auto;min-height:44px}.d2g-nu .ds-ctx .ds-lv button{min-height:40px}}
.d2g-nu .deck .ds-lv{background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);-webkit-backdrop-filter:none;backdrop-filter:none}
.d2g-nu .ds-bar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px}
.d2g-nu .ds-bar-yield{gap:10px}
.d2g-nu .ds-burst{display:inline-grid;grid-template-columns:auto auto;column-gap:7px;align-items:center;justify-items:start;min-height:44px;padding:0 13px;
  border-radius:var(--d2-r-sm);text-align:left;line-height:1.15}
.d2g-nu .ds-burst b{grid-row:span 2;font-size:16px}
.d2g-nu .ds-burst small{font:600 10.5px/1.2 var(--d2-font);color:var(--ds-dim)}
.d2g-nu .ds-burst[aria-pressed="true"] small{color:inherit;opacity:.85}
.d2g-nu #ds-place{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 13px;border:0;border-radius:var(--d2-r-sm);
  background:var(--ds-chip);box-shadow:inset 0 0 0 1px var(--ds-chip-l);color:var(--d2-on-ink);font:700 var(--d2-fs-sm)/1 var(--d2-font);white-space:nowrap;cursor:pointer}
.d2g-nu #ds-place b{font-size:16px;font-weight:700}
.d2g-nu #ds-place:hover{background:var(--ds-chip-h)}
.d2g-nu #ds-place[aria-pressed="true"]{background:var(--ds-m-soft);box-shadow:inset 0 0 0 1.5px var(--ds-m);color:var(--ds-m-hi)}
.d2g-nu .ds-bar-go{flex:none}
.d2g-nu .ds-ops .ds-op.ds-restart{border:0;background:var(--ds-m-soft);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--ds-m) 80%,transparent);color:var(--ds-m-hi)}
.d2g-nu .ds-ops .ds-op.ds-restart.arm{background:color-mix(in srgb,var(--d2-warn) 26%,transparent);box-shadow:inset 0 0 0 1.5px var(--d2-warn);color:#ffd88a}
.d2g-nu .ds-ops .ds-op.ds-restart b{font-size:18px}
/* 操作组与主按钮：三款统一高度（桌面 52px，手机 48px） */
.d2g-nu .ds-ops .ds-op,.d2g-nu .ds-bar-actions .ds-launch{min-height:52px}
/* 进行中保留参数占位；时间轴左侧的 ▶ 结束后用于回放。 */
.d2g-nu.ds-running .control-dock #play{visibility:hidden}
@media (max-width:1360px){
  .d2g-nu:not(.ds-m) .ds-bar{grid-template-columns:minmax(0,1fr) auto}
  .d2g-nu:not(.ds-m) .ds-bar-yield{grid-column:1/-1}
  .d2g-nu:not(.ds-m) .ds-ops{justify-self:end}
}
@media (max-width:1180px){
  .d2g-nu:not(.ds-m) .ds-burst small{display:none}
  .d2g-nu:not(.ds-m) .ds-burst{display:inline-flex;gap:6px}
}

/* ---------- 手机 ---------- */
.d2g-nu.ds-m header{gap:8px}
.d2g-nu.ds-m header .ds-scene-btn{display:inline-flex;min-height:38px;padding:0 10px}
.d2g-nu.ds-m header .ds-scene-btn small{display:none}
.d2g-nu.ds-m .ds-head-r .ds-status{display:none}
.d2g-nu.ds-m .ds-head-r .view-actions .dsk-menu-btn{min-height:38px;min-width:40px;padding:0 10px}
@media (max-width:600px){.d2g-nu.ds-m .brand>span:last-child{display:none}}
.d2g-nu.ds-m .ds-tl{left:8px;top:8px;width:calc(100% - 64px);gap:6px}
.d2g-nu.ds-m .ds-tl .scene-copy{display:none}
.d2g-nu.ds-m .stage .ds-home{top:8px;right:8px}
.d2g-nu.ds-m .control-dock #play{display:inline-flex;align-items:center;justify-content:center}
.d2g-nu.ds-m{--ds-bar-h:168px}
.d2g-nu.ds-m .ds-bar{display:grid;grid-template-columns:minmax(0,1fr) auto 44px;align-items:center;gap:6px}
.d2g-nu.ds-m .ds-bar::after{content:none}
.d2g-nu.ds-m .ds-bar .ds-lv{grid-row:1;grid-column:1;min-width:0}
.d2g-nu.ds-m .ds-bar-yield{display:contents}
.d2g-nu.ds-m .ds-burst{grid-row:1;grid-column:2;margin-left:0;min-height:40px;padding:0 10px}
.d2g-nu.ds-m .ds-burst small{display:none}
.d2g-nu.ds-m #ds-place{grid-row:1;grid-column:3;min-height:40px;min-width:0;padding:0 9px;justify-content:center}
.d2g-nu.ds-m #ds-place span{display:none}
.d2g-nu.ds-m .ds-bar-yield label{display:none}
.d2g-nu.ds-m .ds-bar-yield output{grid-row:2;grid-column:1;justify-self:start;min-width:0;font-size:15px}
.d2g-nu.ds-m .ds-bar-yield small{display:none}
.d2g-nu.ds-m .ds-bar-yield input{grid-row:2;grid-column:1;min-width:0;width:calc(100% - 62px);margin-left:62px;height:40px}
.d2g-nu.ds-m .ds-ops{grid-row:3;grid-column:1/-1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;min-width:0}
.d2g-nu.ds-m .ds-bar-go{grid-row:2;grid-column:2/-1;display:flex}
.d2g-nu.ds-m .ds-ops .ds-op{min-width:0;min-height:48px;padding:0 4px;font-size:10.5px;flex-direction:column;gap:3px}
.d2g-nu.ds-m .ds-ops .ds-restart{font-size:10px}
.d2g-nu.ds-m .ds-bar-actions.ds-bar-go .ds-launch{flex:1;min-width:0;min-height:48px;height:48px;padding:0 12px;font-size:14px;letter-spacing:.04em;gap:6px}
@media (max-width:380px){
  .d2g-nu.ds-m .ds-lv button{min-width:36px;padding:0 6px}
  .d2g-nu.ds-m .ds-lv-k{display:none}
  .d2g-nu.ds-m .ds-burst{padding:0 7px;column-gap:4px;font-size:11px}
}
/* 平板横屏 / 宽手机：参数行 + 操作行，按视口固定，动画不改行。 */
@media (min-width:700px){
  .d2g-nu.ds-m{--ds-bar-h:118px}
  .d2g-nu.ds-m .ds-bar{grid-template-columns:auto auto 44px auto minmax(56px,1fr) auto}
  .d2g-nu.ds-m .ds-bar-yield output{grid-row:1;grid-column:4}
  .d2g-nu.ds-m .ds-bar-yield input{grid-row:1;grid-column:5;width:100%;margin:0}
  .d2g-nu.ds-m .ds-ops{grid-row:2;grid-column:1/-1;width:min(100%,360px);justify-self:end}
  .d2g-nu.ds-m .ds-bar-go{grid-row:1;grid-column:6}
  .d2g-nu.ds-m .ds-bar .ds-lv button{min-width:36px;padding:0 6px}
}
/* 场景抽屉：只留场景、本档说明和任意当量（可用当量已在本局卡片上） */
.d2g-nu #ds-fort-energy{display:none!important}
/* 桌面：参数 + 操作组 + 主按钮是一个整体，放不下就整体换到下一行（防护模式托盘在上一行），不挤压重叠 */
.d2g-nu:not(.ds-m) .ds-bar{flex:1 1 780px}
.d2g-nu:not(.ds-m):not(.ds-pm-fortify):not(.embedded){--chrome:300px}
