/* Сектор 54 · site update 1.1
   UX первого часа, текущая цель, контакты, эпилог.
   Не меняет механику сохранений. */

.s54-goal{
  position:absolute;left:10px;top:10px;z-index:7;
  width:min(360px,calc(100% - 150px));
  padding:11px 12px 10px;
  border:1px solid rgba(224,145,58,.45);
  border-left:3px solid var(--signal);
  border-radius:8px;
  background:linear-gradient(180deg,rgba(9,14,16,.94),rgba(7,10,11,.88));
  box-shadow:0 12px 34px rgba(0,0,0,.38);
  backdrop-filter:blur(9px);
  transition:.18s ease;
}
.s54-goal:hover{border-color:rgba(240,184,96,.72)}
.s54-goal__eyebrow{font:800 8px/1 ui-monospace,monospace;letter-spacing:.18em;color:var(--signal2);text-transform:uppercase}
.s54-goal__title{margin-top:5px;font:800 14px/1.15 "Arial Narrow",system-ui;letter-spacing:.035em;color:var(--ink)}
.s54-goal__text{margin-top:4px;max-width:31em;font:11.5px/1.35 Georgia,serif;color:var(--dim)}
.s54-goal__bottom{display:flex;align-items:center;gap:8px;margin-top:8px}
.s54-goal__trace{display:flex;gap:3px;flex:1}
.s54-goal__trace i{height:3px;flex:1;border-radius:4px;background:var(--line)}
.s54-goal__trace i.on{background:var(--toxic);box-shadow:0 0 7px rgba(185,194,74,.35)}
.s54-goal__btn{
  min-height:32px!important;padding:7px 10px;border:1px solid rgba(224,145,58,.44);
  border-radius:6px;background:rgba(224,145,58,.10);color:var(--signal2);
  font:800 9px/1 ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase
}
.s54-goal__btn:hover{background:rgba(224,145,58,.18)}
.s54-goal.is-finished{border-left-color:var(--toxic)}
.s54-goal.is-finished .s54-goal__eyebrow{color:var(--toxic)}

.s54-contacts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 18px}
.s54-contact{border:1px solid var(--line);border-radius:7px;padding:10px 11px;background:rgba(11,17,19,.72)}
.s54-contact__name{font:800 12px/1.1 "Arial Narrow",system-ui;color:var(--bone)}
.s54-contact__role{margin-top:3px;font:700 8px/1.2 ui-monospace,monospace;letter-spacing:.08em;color:var(--steel);text-transform:uppercase}
.s54-contact__state{margin-top:7px;font:12px/1.35 Georgia,serif;color:var(--dim)}
.s54-contact.hot{border-color:rgba(224,145,58,.5);box-shadow:inset 0 0 0 1px rgba(224,145,58,.06)}
.s54-contact.hot .s54-contact__state{color:var(--signal2)}

.s54-choice-tag{
  display:inline-block;margin-top:5px;padding:3px 6px;border:1px solid var(--line);
  border-radius:999px;font:700 8px/1 ui-monospace,monospace;letter-spacing:.06em;
  color:var(--steel);background:rgba(255,255,255,.025)
}

.s54-ending{
  margin:2px 0 14px;padding:12px;border:1px solid rgba(224,145,58,.34);
  border-radius:8px;background:linear-gradient(180deg,rgba(224,145,58,.08),rgba(255,255,255,.018))
}
.s54-ending__title{font:900 9px/1 ui-monospace,monospace;letter-spacing:.16em;color:var(--signal2);text-transform:uppercase}
.s54-ending__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:9px}
.s54-ending__stat{padding:8px;border:1px solid var(--line2);border-radius:6px;background:rgba(0,0,0,.14)}
.s54-ending__stat b{display:block;font:800 16px/1 ui-monospace,monospace;color:var(--ink)}
.s54-ending__stat span{display:block;margin-top:3px;font:700 7.5px/1.2 ui-monospace,monospace;letter-spacing:.08em;color:var(--steel);text-transform:uppercase}
.s54-ending__hint{margin-top:9px;font:12px/1.4 Georgia,serif;color:var(--dim)}
.s54-new-run{margin-top:10px;width:100%;min-height:42px;border:1px solid var(--signal);border-radius:6px;background:rgba(224,145,58,.10);color:var(--signal2);font:800 10px/1 ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase}

.s54-pulse54{animation:s54pulse54 .75s ease}
@keyframes s54pulse54{0%,100%{box-shadow:none}35%{box-shadow:inset 0 0 90px rgba(224,145,58,.08)}}

/* На телефоне постоянно оставляем только жизнь и силы.
   Еда/вода/сон возвращаются сами, когда показатель становится опасным. */
@media (max-width:900px){
  #game .gauges .g[data-k="food"]:not(.low):not(.s54-warn),
  #game .gauges .g[data-k="water"]:not(.low):not(.s54-warn),
  #game .gauges .g[data-k="sleep"]:not(.low):not(.s54-warn){display:none}
  #game .gauges .g[data-k="hp"],#game .gauges .g[data-k="en"]{min-width:96px;flex:1}
  .s54-goal{left:8px;top:8px;width:min(315px,calc(100% - 70px));padding:9px 10px}
  .s54-goal__text{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .s54-goal__title{font-size:12.5px}
  .s54-goal__bottom{margin-top:6px}
  .s54-contacts{grid-template-columns:1fr}
  .s54-ending__grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-height:500px) and (orientation:landscape){
  .s54-goal{max-width:300px;padding:7px 9px}
  .s54-goal__text{display:none}
  .s54-goal__bottom{margin-top:5px}
  .s54-goal__btn{min-height:27px!important;padding:5px 8px}
}
