/* Trailhead5 Alpha 2 additions. Uses only the existing design-system tokens so
   Basecamp, Outpost, Summit, Aurora, Campfire, Midnight, and Daybreak inherit
   the same hierarchy and contrast behavior. */

.field-mode-shell {
  grid-template-columns: minmax(0,1fr);
  grid-template-rows: auto auto auto auto minmax(0,1fr) auto auto;
  grid-template-areas: "top" "safety" "preview" "chatcontrols" "chat" "composer" "actions";
}
.field-top { grid-area: top; }
.field-safety-strip { grid-area: safety; }
.field-preview, .field-preview-restore { grid-area: preview; }
.field-chat-controls { grid-area: chatcontrols; }
.field-chat-workspace { grid-area: chat; }
.field-composer { grid-area: composer; }
.field-actions { grid-area: actions; }

.field-emergency-button {
  min-width: 48px; min-height: 48px; display:inline-flex; align-items:center; justify-content:center; gap:7px;
  padding:9px 12px; border:1px solid color-mix(in srgb,var(--danger) 58%,var(--line)); border-radius:var(--pill);
  background:color-mix(in srgb,var(--danger) 14%,var(--surface-1)); color:var(--text); font-weight:800;
}
.field-emergency-button .ms { color:var(--danger); }
body.field-mode .field-emergency-button {
  position:fixed; z-index:130; right:max(12px,env(safe-area-inset-right)); bottom:calc(92px + env(safe-area-inset-bottom));
  box-shadow:var(--shadow-l); background:color-mix(in srgb,var(--danger) 22%,var(--surface-0));
}

.field-safety-strip {
  display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; align-items:center; gap:10px;
  padding:10px max(12px,env(safe-area-inset-left)); border-bottom:1px solid color-mix(in srgb,var(--danger) 45%,var(--line));
  background:color-mix(in srgb,var(--danger) 12%,var(--surface-1));
}
.field-safety-strip[hidden]{display:none}.field-safety-strip>.ms{color:var(--danger);font-size:25px}
.field-safety-strip>span:nth-child(2){display:grid;gap:2px;min-width:0}.field-safety-strip small{font:800 8px/1 var(--mono);letter-spacing:.12em;color:var(--danger)}
.field-safety-strip b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-safety-strip em{font-style:normal;color:var(--muted);font-size:11px}

.field-preview { min-height:0; margin:8px 10px 0; border:1px solid var(--line); border-radius:var(--radius-m); overflow:hidden; background:var(--surface-0); }
.field-preview[hidden],.field-preview-restore[hidden]{display:none}
.field-preview>header{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 8px 6px 11px;border-bottom:1px solid var(--line);background:var(--surface-1)}
.field-preview>header>span{display:flex;align-items:center;gap:7px}.field-preview>header>span:first-child{min-width:0}.field-preview>header small{color:var(--muted);font-size:9px}.field-preview-frame{aspect-ratio:16/9;min-height:150px;background:#000;overflow:hidden}
.field-preview-frame iframe{display:block;width:100%;height:100%;border:0}.field-preview.collapsed .field-preview-frame{display:none}.field-preview.collapsed{min-height:auto}
.field-preview-restore{justify-self:start;margin:7px 10px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--pill);background:var(--surface-1);color:var(--text);font-weight:750}

.field-merged-label{display:flex;align-items:center;gap:8px;min-width:0}.field-merged-label>span:last-child{display:grid;gap:2px}.field-merged-label small{font:750 8px/1 var(--mono);letter-spacing:.11em;color:var(--faint)}
.field-chat-controls label{margin-left:auto}.field-chat-controls select{min-width:145px;max-width:220px}
.field-compose-destination{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:8px;color:var(--muted);font:750 9px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.field-chat-workspace[data-chat-mode="merged"]{grid-template-columns:1fr}
.field-message-source{display:inline-flex;align-items:center;margin-left:5px;padding:1px 6px;border-radius:var(--pill);background:color-mix(in srgb,var(--accent) 12%,var(--surface-2));color:var(--accent);font:750 8px/1.4 var(--mono);letter-spacing:.05em}
.field-event-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:start;padding:9px 11px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--signal) 5%,var(--surface-0))}.field-event-row>.ms{color:var(--signal)}.field-event-row span:nth-child(2){display:grid;gap:3px}.field-event-row small{color:var(--muted)}
.field-limited-row{margin:8px;padding:10px 12px;border:1px dashed var(--line-strong);border-radius:var(--radius-m);color:var(--muted);font-size:11px}

.emergency-mode-dialog .sheet-shell{max-width:620px}.emergency-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.emergency-preset{min-height:72px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface-1);text-align:left}.emergency-preset.selected{border-color:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 12%,transparent)}.emergency-preset>.ms{color:var(--danger)}.emergency-preset span:last-child{display:grid;gap:3px}.emergency-preset small{color:var(--muted);line-height:1.35}
.emergency-silent-toggle{margin:12px 0;padding:11px;border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface-0)}
.emergency-confirm{position:relative;min-height:72px;width:100%;display:flex;align-items:center;justify-content:center;gap:12px;border:2px solid var(--danger);border-radius:var(--radius-l);background:color-mix(in srgb,var(--danger) 15%,var(--surface-1));color:var(--text);overflow:hidden}.emergency-confirm::before{content:"";position:absolute;inset:0 auto 0 0;width:var(--hold-progress,0%);background:color-mix(in srgb,var(--danger) 30%,transparent);transition:width .05s linear}.emergency-confirm>*{position:relative}.emergency-confirm>.ms{font-size:30px;color:var(--danger)}.emergency-confirm span:last-child{display:grid;gap:4px}.emergency-confirm small{color:var(--muted)}
.emergency-fallback{display:grid;grid-template-columns:auto 1fr;gap:9px;margin-top:12px;padding:12px;border:1px solid var(--danger);border-radius:var(--radius-m);background:color-mix(in srgb,var(--danger) 12%,var(--surface-0))}.emergency-fallback>.ms{color:var(--danger)}.emergency-fallback span:last-child{display:grid;gap:3px}.emergency-fallback small{color:var(--muted);line-height:1.4}

.safety-recipient-tray{position:fixed;inset:0;z-index:240;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:color-mix(in srgb,var(--surface-0) 82%,transparent);backdrop-filter:blur(10px)}.safety-recipient-tray[hidden]{display:none}.safety-recipient-tray>div{width:min(620px,100%);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:22px;border:2px solid var(--danger);border-radius:var(--radius-l);background:var(--surface-1);box-shadow:var(--shadow-l)}.safety-recipient-tray>div>span:first-child{display:none}.safety-recipient-tray>div>span:nth-child(2){display:grid;gap:8px}.safety-recipient-tray small{font:800 9px/1 var(--mono);letter-spacing:.12em;color:var(--danger)}.safety-recipient-tray h2,.safety-recipient-tray p{margin:0}.safety-recipient-tray em{font-style:normal;color:var(--muted)}

.raid-alpha2-filters{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(110px,1fr)) minmax(150px,1.2fr) auto auto;gap:8px;align-items:end;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.raid-alpha2-filters label{display:grid;gap:4px;min-width:0}.raid-alpha2-filters label>span{font:750 8px/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--faint)}.raid-alpha2-filters input,.raid-alpha2-filters select{min-width:0;width:100%}.raid-category-filter{grid-column:span 2}.raid-undo-bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;margin-top:13px;padding:12px;border:1px solid var(--danger);border-radius:var(--radius-m);background:color-mix(in srgb,var(--danger) 10%,var(--surface-0))}.raid-undo-bar[hidden]{display:none}.raid-undo-bar>.ms{color:var(--danger)}.raid-undo-bar>span:nth-child(2){display:grid;gap:3px}.raid-undo-bar small{color:var(--muted)}.raid-history-card{grid-column:1/-1}.raid-history-list{display:grid;gap:7px}.raid-history-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface-0)}.raid-history-row>.ms{color:var(--accent)}.raid-history-row>span{display:grid;gap:3px}.raid-history-row small{color:var(--muted)}.raid-history-row time{font:700 9px/1 var(--mono);color:var(--faint)}

@media (orientation:landscape) and (max-height:720px) and (min-width:700px){
  .field-mode-shell{grid-template-columns:minmax(280px,42vw) minmax(0,1fr);grid-template-rows:auto auto auto minmax(0,1fr) auto auto;grid-template-areas:"top top" "safety safety" "preview chatcontrols" "preview chat" "preview composer" "actions actions"}
  .field-preview{height:calc(100% - 10px);display:grid;grid-template-rows:auto minmax(0,1fr)}.field-preview-frame{height:100%;min-height:0;aspect-ratio:auto}.field-preview-frame iframe{height:100%}
  .field-preview-restore{align-self:start}.field-chat-controls{border-left:1px solid var(--line)}.field-chat-workspace{border-left:1px solid var(--line)}.field-composer{border-left:1px solid var(--line)}
}
@media(max-width:760px){.raid-alpha2-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.raid-category-filter,.raid-saved-set{grid-column:span 2}.safety-recipient-tray>div{grid-template-columns:1fr}.field-emergency-button span:last-child{display:none}.emergency-presets{grid-template-columns:1fr}}
@media(max-width:520px){.field-safety-strip{grid-template-columns:auto minmax(0,1fr) auto}.field-safety-strip #fieldSafetyDetails{display:none}.raid-alpha2-filters{grid-template-columns:1fr}.raid-category-filter,.raid-saved-set{grid-column:auto}}
body[data-large-controls="true"] :is(.field-emergency-button,.emergency-preset,.emergency-confirm,.safety-recipient-tray button,.raid-alpha2-filters button){min-height:52px}
body[data-large-text="true"] :is(.emergency-presets,.raid-alpha2-filters){grid-template-columns:1fr}.field-safety-strip{grid-template-columns:1fr}.field-safety-strip>.ms{display:none}
@media(prefers-reduced-motion:reduce){.emergency-confirm::before{transition:none}}
.safety-detail-list{grid-column:1/-1;display:grid;gap:8px}.safety-detail-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:center;padding:10px 11px;border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface-0)}.safety-detail-row>.ms{color:var(--muted)}.safety-detail-row[data-status="acknowledged"]>.ms{color:var(--success)}.safety-detail-row>span:last-child{display:grid;gap:3px}.safety-detail-row small{color:var(--muted)}
.raid-source-explanation{display:block;margin-top:4px;color:var(--muted);font-size:9px;line-height:1.35}

.emergency-secondary-actions{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface-1)}
.emergency-secondary-actions .soft-btn{justify-self:start;min-height:44px}
.emergency-secondary-actions>small{color:var(--muted);line-height:1.45}
html[data-large-controls="true"] .emergency-secondary-actions .soft-btn{min-height:52px}
