/* SAVE BO — STAR COMMAND FIELD TERMINAL / cinematic design system
 * Deliberately restrained film-prop UI: typography, light and real mission data.
 * Non-destructive override of terminal.css; hologram/teaser/ops unaffected.
 */
:root {
  --t-bg:#070c12; --t-panel:#101923; --t-panel-2:#111d28;
  --t-line:rgba(157,185,204,.17); --t-line-strong:rgba(166,193,207,.33);
  --t-text:#f0f3f4; --t-sub:#9aaab7; --t-blue:#8dbfd8;
  --t-blue-2:#547f99; --t-green:#5bdba8; --t-violet:#8f93bf;
  --t-warn:#efc78b; --t-danger:#e9818a;
  --nav-h:73px;
}
body[data-state="idle"] { background:#070c12; }
.terminal {
  isolation:isolate;
  overflow:hidden;
  background:
    radial-gradient(ellipse 75% 34% at 105% -11%,rgba(91,140,169,.14),transparent 73%),
    linear-gradient(167deg,#101923 0%,#080e14 41%,#060a10 100%);
  color:var(--t-text);
  font-family: -apple-system,BlinkMacSystemFont,"Pretendard","Noto Sans KR",Arial,sans-serif;
  letter-spacing:-.015em;
}
.terminal::before {
  opacity:.3;
  background-image:linear-gradient(rgba(145,174,194,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(145,174,194,.025) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(#000,transparent 80%);
  -webkit-mask-image:linear-gradient(#000,transparent 80%);
}
.terminal::after {
  content:"";position:absolute;z-index:0;pointer-events:none;top:-8vh;right:-30vw;
  width:min(70vw,390px);height:min(70vw,390px);border-radius:50%;
  background:radial-gradient(circle at 25% 68%,rgba(137,182,208,.15),rgba(45,67,83,.1) 43%,#0a1520 60%,transparent 61%);
  box-shadow:-15px 19px 45px rgba(100,164,192,.025);
  opacity:.72;
}
.term-top {
  flex:none;padding:calc(var(--safe-t) + 18px) 22px 18px;z-index:4;
  background:linear-gradient(180deg,rgba(7,12,18,.93),rgba(7,12,18,.87));
  border-bottom:1px solid rgba(182,206,219,.18);
  box-shadow:none;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
}
.term-top__row { gap:10px; }
.term-top__cmd {
  color:#a5b7c5;font-size:10px;font-weight:650;
  letter-spacing:.33em;display:inline-flex;align-items:center;gap:12px;
}
.term-top__cmd::before {
  content:"";width:16px;height:16px;flex:none;
  background:linear-gradient(90deg,transparent 43%,#e7edf0 43% 57%,transparent 57%),linear-gradient(transparent 43%,#e7edf0 43% 57%,transparent 57%);
  clip-path:polygon(50% 0,58% 38%,100% 50%,58% 58%,50% 100%,42% 58%,0 50%,42% 42%);
  filter:drop-shadow(0 0 4px rgba(160,201,225,.16));
}
.term-top__agent {
  color:#dce9e6;font-size:11px;font-weight:600;letter-spacing:.02em;
}
.term-top__agent::before{background:var(--t-green);width:6px;height:6px;box-shadow:0 0 12px rgba(91,219,168,.28);}
.term-top__title {
  font-size:clamp(24px,8vw,36px);line-height:1.05;letter-spacing:-.055em;
  margin:20px 0 14px;font-weight:800;color:#f3f5f4;
  font-family:Impact,"Arial Narrow",-apple-system,BlinkMacSystemFont,sans-serif;
}
.term-top__status{gap:16px;}
.term-chip, .term-chip[data-status="active"],.term-chip[data-status="pending"] {
  border:0;background:transparent;border-radius:0;padding:0;letter-spacing:.16em;
  text-transform:uppercase;color:#b7c5d0;font-size:10px;font-weight:700;
}
.term-chip[data-status="active"] { color:#8fdfb5; }
.term-chip[data-status="pending"] { color:var(--t-warn); }
.term-progress {height:2px;background:rgba(155,183,199,.13);border-radius:0;}
.term-progress span {border-radius:0;background:var(--t-green);box-shadow:none;}
.term-view {
  padding:24px 20px 28px;margin-bottom:calc(var(--nav-h) + var(--safe-b));
  scrollbar-color:#243747 transparent;
}
.view {max-width:680px;gap:16px;animation:view-in .2s ease both;}
.term-nav {
  padding:9px 12px calc(var(--safe-b) + 7px);
  background:rgba(7,12,18,.97);
  border-top:1px solid rgba(182,206,219,.18);gap:1px;
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
}
.term-nav__btn {
  min-height:53px;gap:7px;border-radius:0;font-size:10px;font-weight:600;
  letter-spacing:-.02em;color:#83939f;
}
.term-nav__btn svg{height:21px;width:21px;}
.term-nav__btn.is-active{background:transparent;color:#c8e4f2;}
.term-nav__btn.is-active::before {
  top:-10px;left:22%;right:22%;height:2px;background:#87bdd6;box-shadow:none;border-radius:0;
}
.term-nav__badge {top:1px;background:#5bdba8;box-shadow:none;color:#081b14;}
.card {
  border:1px solid rgba(157,185,204,.16);
  background:linear-gradient(148deg,rgba(18,29,40,.78),rgba(10,17,24,.88));
  box-shadow:none;border-radius:3px;padding:20px;
}
.card--flat {background:transparent;border:0;padding:0;}
.card__label {
  margin:0 0 13px;color:#b9cedb;font-size:10px;letter-spacing:.18em;font-weight:650;
}
.card__eyebrow {color:var(--t-blue);font-size:11px;}
.card__title {font-size:24px;letter-spacing:-.04em;line-height:1.25;}
.card p {line-height:1.68;}
.muted{color:var(--t-sub);}
a{color:#c1dced;}
.map-note {font-size:11px;letter-spacing:.025em;line-height:1.5;opacity:.68;}
.map-note__dot {background:#8bb7d0;box-shadow:none;height:4px;width:4px;}
/* Hero is the only visually dominant surface. */
.mission {
  position:relative;overflow:hidden;
  border:1px solid rgba(172,199,216,.22);
  padding:27px 22px 24px;border-radius:3px;
  background:linear-gradient(150deg,#16232d 0%,#0e1822 48%,#0b131c 100%);
}
.mission::after {display:none;}
.mission::before {
  content:"";position:absolute;pointer-events:none;right:-60px;top:-90px;
  width:300px;height:330px;background:radial-gradient(ellipse,rgba(102,147,167,.11),transparent 65%);
}
.mission__head {margin:0 0 17px;position:relative;z-index:1;}
.mission__num {color:#91b9d2;font-size:11px;letter-spacing:.23em;}
.mission__title {font-size:clamp(27px,7.3vw,35px);font-weight:750;letter-spacing:-.052em;line-height:1.17;margin:0 0 18px;}
.status{border-radius:2px;font-size:9px;letter-spacing:.11em;padding:5px 7px;}
.status--active {color:#92d8b5;border:1px solid rgba(91,219,168,.5);background:rgba(91,219,168,.06);}
.status--pending{color:#e7c78e;border:1px solid rgba(231,199,142,.35);background:transparent;}
.status--done{color:#92d8b5;border:1px solid rgba(91,219,168,.35);}
.mission__meta {gap:7px;font-size:13px;margin:0 0 19px;max-width:380px;position:relative;z-index:1;}
.mission__meta div {gap:15px;}
.mission__meta dt {width:52px;color:#879aa9;}
.mission__meta dd {color:#e0e7ea;}
.mission__brief {max-width:390px;font-size:14px;line-height:1.8 !important;position:relative;z-index:1;}
/* Generic, non-photographic evidence visual: never suggests real station footage. */
.mission__visual {
  position:relative;height:148px;margin:18px 0 15px;overflow:hidden;
  background:
   linear-gradient(0deg,rgba(4,9,13,.62),rgba(4,9,13,.06)),
   repeating-linear-gradient(90deg,transparent 0 18%,rgba(0,0,0,.42) 18% 19%,rgba(143,160,169,.12) 19% 19.3%,transparent 19.3% 20%),
   linear-gradient(118deg,#18222a,#33414b 48%,#161f28);
  border:1px solid rgba(180,194,203,.19);
}
.mission__visual::before {
  content:"";position:absolute;inset:0;
  background:linear-gradient(112deg,transparent 13%,rgba(235,243,240,.2) 19%,transparent 25% 75%,rgba(178,206,220,.06) 84%,transparent 90%);
  opacity:.42;
}
.mission__visual::after {
  content:"FIELD REFERENCE  /  LOCKER ARRAY";
  position:absolute;bottom:12px;left:14px;color:#d4dde1;
  font-size:9px;letter-spacing:.17em;font-family:ui-monospace,SFMono-Regular,monospace;
}
.mission__visual-num {
  position:absolute;right:13px;top:10px;font-size:10px;letter-spacing:.15em;
  color:#e2e8eb;background:rgba(5,13,19,.54);padding:5px 7px;border:1px solid rgba(255,255,255,.16);
}
.mission__detail {margin-top:22px;border-top:1px solid rgba(178,199,208,.14);padding-top:2px;}
.mission__detail summary {
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:15px 0 7px;color:#a7cbdc;font-size:12px;font-weight:650;
  letter-spacing:.065em;cursor:pointer;list-style:none;
}
.mission__detail summary::-webkit-details-marker{display:none;}
.mission__detail summary::after{content:"＋";font-size:16px;font-weight:400;}
.mission__detail[open] summary::after{content:"−";}
.mission__detail .mission__steps {margin-top:10px;border-top:1px solid rgba(178,199,208,.08);padding-top:13px;}
.mission__steps{font-size:13px;line-height:1.6;gap:8px;padding-left:19px;}
.mission__steps li::marker{color:#80a9bf;}
.mission--pending{min-height:180px;display:flex;flex-direction:column;justify-content:center;}
.mission--pending .mission__title{font-size:23px;}
/* Action sits directly below the objective, without a redundant card. */
.view--map > .card--action {
  border:0;background:transparent;padding:0;box-shadow:none;
}
.view--map > .card--action .card__label{display:none;}
.hold {
  min-height:66px;border:1px solid rgba(91,219,168,.54);border-radius:3px;
  background:linear-gradient(100deg,#0e302a,#133c32);color:#e6fff2;
  box-shadow:inset 3px 0 #65d9a9;gap:3px;
}
.hold__label{font-size:15px;letter-spacing:-.025em;}
.hold__sub{font-size:11px;color:#a6c3b6;}
.hold__fill{background:linear-gradient(90deg,rgba(91,219,168,.25),rgba(91,219,168,.65));}
.btn-term{
  min-height:50px;padding:12px 16px;border-radius:3px;
  font-size:14px;font-weight:650;letter-spacing:-.02em;
  transition:background-color .16s,transform .12s;
}
.btn-term--primary {
  background:#d1e2e7;border:1px solid #d1e2e7;color:#0c1a22;box-shadow:none;
}
.btn-term--ghost {
  border:1px solid rgba(149,185,206,.3);background:rgba(12,26,36,.56);color:#c4dce9;
}
.btn-term--collect {
  background:#5fd6a3;color:#0a251b;box-shadow:none;border-radius:3px;
}
.btn-term--collect:disabled{background:#13232a;color:#748894;}
.btn-term:focus-visible,.hold:focus-visible,.term-nav__btn:focus-visible,.filter:focus-visible {
  outline:2px solid #b6d7e8;outline-offset:3px;
}
.answer__input{border-radius:3px;background:#0b141d;border-color:rgba(170,192,205,.3);}
.answer__input:focus{box-shadow:0 0 0 2px rgba(141,191,216,.12);}
/* Two genuinely secondary panels, not giant stacked cards */
.mission-support {display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.mission-support .card {
  padding:16px 14px;min-width:0;border-color:rgba(157,185,204,.13);background:rgba(18,30,41,.46);
}
.mission-support .card__label{font-size:10px;line-height:1.3;margin-bottom:12px;}
.mission-support .muted{font-size:12px;line-height:1.6;}
.mission-support .btn-term {font-size:12px;padding:7px;min-height:48px;}
.mission-support .clue {font-size:12px;padding:8px;}
.hints li {padding:9px;border-radius:2px;border:1px solid rgba(231,199,142,.28);font-size:12px;}
.clue{border-radius:2px;border-left-color:#97bdd3;background:rgba(129,169,194,.08);}
.chip-item{border-radius:2px;font-size:12px;min-height:36px;}
/* Log reads like a ledger. */
.view--map > .card:last-child {background:transparent;border:0;border-top:1px solid rgba(161,188,206,.17);border-radius:0;padding:20px 0 0;}
.logs {gap:0;}
.log,.log > a {border:0;background:transparent;border-radius:0;box-shadow:none;min-height:58px;border-bottom:1px solid rgba(157,185,204,.1);}
.log--active{background:rgba(91,219,168,.055);}
.log__num{color:#9ac0d3;font-size:10px;letter-spacing:.08em;}
.log__title{font-size:12px;}
.log--locked {background:transparent;opacity:.48;}
.log__pulse{width:7px;height:7px;background:#69d6aa;box-shadow:none;}
.log__check{box-shadow:none;}
/* Inventory — the evidence tray */
.view--inventory .inv-head {padding:8px 0 12px;}
.inv-head .card__label,.view--comms .card__label {font-size:11px;color:#b8cfdf;}
.filters {gap:5px;padding-bottom:6px;}
.filter {
  border:1px solid transparent;border-bottom:1px solid rgba(157,185,204,.2);
  background:transparent;color:#9eb0bc;border-radius:0;padding:10px 12px;
  font-size:12px;letter-spacing:.01em;
}
.filter.is-on{border:1px solid rgba(166,193,207,.23);background:rgba(135,166,185,.11);color:#edf2f5;box-shadow:none;}
.items{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.item{min-height:163px;border-radius:3px;border:1px solid rgba(157,185,204,.2);background:linear-gradient(145deg,#15232e,#0b141d);box-shadow:none;padding:16px;}
.item__icon{background:rgba(150,180,195,.045);border:1px solid rgba(157,185,204,.11);border-radius:2px;}
.item__icon svg{fill:#a2c8d8;}
.item__name{font-weight:650;font-size:13px;line-height:1.35;}
.item__type{font-size:10px;letter-spacing:.1em;}
.item--locked{background:rgba(11,18,25,.5);border-style:dashed;opacity:.57;}
.item-detail {border-radius:3px;}
.item-detail__icon {border-radius:2px;background:rgba(135,169,191,.06);}
.cipher{background:#0d1c27;border:1px solid rgba(157,185,204,.16);border-radius:2px;}
/* Communications — radio intercept ledger */
.comms{gap:0;}
.comm {
  border:0;border-bottom:1px solid rgba(157,185,204,.16);
  border-radius:0;background:transparent;min-height:90px;padding:15px 5px;
}
.comm.is-new{background:rgba(91,219,168,.055);border-color:rgba(91,219,168,.21);}
.comm__icon{background:rgba(124,169,194,.09);border:1px solid rgba(157,185,204,.21);border-radius:50%;box-shadow:none;}
.comm__icon svg{fill:#adcbd9;}
.comm__title{color:#e8eef1;font-size:16px;}
.comm__meta,.comm__heard{color:#91a9b8;}
.badge-new{background:#5bdba8;box-shadow:none;color:#081b14;}
.comm-detail {background:linear-gradient(180deg,#152733,#0b141d);}
.comm-actions {gap:10px;}
.transcript {border-top:1px solid rgba(157,185,204,.16);}
.transcript li {border-bottom:1px solid rgba(157,185,204,.1);font-size:13px;color:#d1dde4;}
.transcript__t{color:#88b4ca;}
/* Scanner — utilitarian camera optics, never faux success. */
.view--scanner {gap:18px;}
.seg{background:transparent;padding:0;border-bottom:1px solid rgba(157,185,204,.25);border-radius:0;gap:2px;}
.seg__btn {border:0;border-radius:0;background:transparent;font-size:11px;letter-spacing:.01em;color:#93a7b4;padding:14px 5px;}
.seg__btn.is-on{background:transparent;color:#d2ebf6;box-shadow:inset 0 -2px #87c4df;}
.targets{gap:7px;}
.target{border-radius:2px;background:#101d27;border:1px solid rgba(157,185,204,.19);font-size:12px;}
.target.is-on{background:#1a313f;border-color:rgba(151,194,217,.65);color:#deedf5;}
.scan-stage{border-radius:2px;border-color:rgba(157,185,204,.35);background:#05090d;min-height:310px;box-shadow:none;}
.scan-status{background:rgba(5,12,16,.84);border:1px solid rgba(157,185,204,.16);border-radius:2px;color:#d5e1e9;font-size:12px;letter-spacing:.02em;}
.scan-reticle i{border-color:#a0cede;}
.scan-actions .btn-term{min-height:54px;}
.scan-help {border-radius:2px;border-color:rgba(157,185,204,.22);background:#111e28;}
/* Completion and boot belong to the film, rather than arcade screens. */
.fx__card{background:#101e27;border:1px solid rgba(172,198,213,.35);border-radius:3px;box-shadow:0 20px 70px rgba(0,0,0,.5);}
.fx__card--complete,.fx__card--unlock{border-color:rgba(91,219,168,.5);}
.fx__title{letter-spacing:.06em;text-shadow:none;}
.term-boot{background:#050b11;}
.term-boot__title{letter-spacing:-.03em;}
.term-boot__bar{border-radius:0;}
.term-boot__bar span{border-radius:0;}
@media(max-width:355px){
 .term-top{padding-left:16px;padding-right:16px;}
 .term-view{padding-left:14px;padding-right:14px;}
 .mission{padding:21px 16px;}
 .mission-support{grid-template-columns:1fr;}
 .mission__title{font-size:25px;}
}
@media(min-width:700px){
 .term-view{padding:30px 24px;}
 .mission{padding:32px 35px;}
 .mission__visual{height:200px;}
}
@media(prefers-reduced-motion:reduce){
 .term-progress span,.term-nav__btn,.btn-term{transition:none;}
}


/* Identity modules / each tab has a distinct piece of field equipment */
.module-head {
  position:relative;min-height:112px;display:flex;flex-direction:column;
  justify-content:center;gap:5px;margin:0 0 2px;
  padding:12px 0 20px;border-bottom:1px solid rgba(157,185,204,.2);
}
.module-head__eyebrow {
  color:#87a6b7;letter-spacing:.19em;font-size:10px;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
}
.module-head__title {
  margin:4px 0 0;font-size:30px;font-weight:740;letter-spacing:-.05em;
  line-height:1.22;color:#edf3f6;
}
.module-head__caption {margin:0;font-size:12px;color:#91a4b1;line-height:1.6;}
.module-head--signal {
  background:linear-gradient(90deg,transparent 0%,rgba(42,88,109,.095) 85%,transparent);
}
.module-head__wave{
  position:absolute;right:4px;top:29px;width:68px;height:42px;opacity:.42;
  background:repeating-linear-gradient(90deg,transparent 0 5px,rgba(141,191,216,.78) 5px 7px,transparent 7px 11px);
  mask-image:radial-gradient(ellipse 56% 40% at 50% 50%,#000 40%,transparent 97%);
  -webkit-mask-image:radial-gradient(ellipse 56% 40% at 50% 50%,#000 40%,transparent 97%);
}
.module-head--scanner::after {
  content:"";position:absolute;right:12px;top:27px;width:49px;height:49px;
  border:1px solid rgba(141,191,216,.35);
  background:linear-gradient(#7cacc6,#7cacc6) center/1px 70% no-repeat,
  linear-gradient(90deg,#7cacc6,#7cacc6) center/70% 1px no-repeat;
  opacity:.48;
}
.view--inventory .card--flat .inv-head .card__label {display:none;}
.view--comms > .card--flat .card__label {margin:10px 0 0;}
.view--comms .empty{padding:24px 0;text-align:left;font-size:12px;}
.view--scanner [data-panel] {display:grid;gap:12px;}
.view--item,.view--comm {gap:20px;}
@media(min-width:700px){.module-head{min-height:135px;}}
