.detective-interface{
  --bg: #030607;
  --panel: rgba(5, 12, 13, 0.78);
  --panel-solid: #071113;
  --ink: #eef7f2;
  --muted: #8ca09f;
  --dim: #536665;
  --acid: #8ff7dc;
  --cyan: #48c7d8;
  --red: #ff4e4e;
  --amber: #f0d7a0;
  --line: rgba(238, 247, 242, 0.14);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}.detective-interface *{
  box-sizing: border-box;
}.detective-interface{
  scroll-behavior: smooth;
}.detective-interface{
  margin: 0;
  color: var(--ink);
  background: var(--bg);
  overflow-x: hidden;
  overflow-anchor: none;
}.detective-interface a{
  color: inherit;
  text-decoration: none;
}.detective-interface .experience{
  min-height: 100vh;
  overflow: hidden;
  background:
    radial-gradient(circle at 15% 10%, rgba(72, 199, 216, 0.16), transparent 34rem),
    radial-gradient(circle at 86% 18%, rgba(255, 78, 78, 0.12), transparent 24rem),
    linear-gradient(180deg, #030607, #071113 56%, #030607);
}.detective-interface .detective-interface-heading{
  display: grid;
  gap: clamp(14px, 2vw, 24px);
  max-width: 1320px;
  margin: 0 auto;
  padding: clamp(64px, 8vw, 118px) clamp(18px, 4vw, 58px) clamp(20px, 3vw, 42px);
}.detective-interface .detective-interface-kicker{
  margin: 0;
  color: var(--amber);
  font-size: clamp(12px, 1vw, 14px);
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}.detective-interface .detective-interface-heading h2{
  max-width: 920px;
  margin: 0;
  color: var(--ink);
  font-family: "Arial Narrow", Impact, Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(42px, 6vw, 96px);
  font-weight: 950;
  line-height: 0.9;
  letter-spacing: 0;
  text-transform: uppercase;
  text-shadow: 0 6px 28px rgba(0, 0, 0, 0.62);
}.detective-interface .detective-progress{
  display: grid;
  grid-template-columns: auto auto minmax(180px, 320px);
  gap: 12px 16px;
  align-items: center;
  width: min(100%, 620px);
  padding: 14px 16px;
  border: 1px solid rgba(240, 215, 160, 0.26);
  border-radius: 8px;
  background:
    linear-gradient(90deg, rgba(240, 215, 160, 0.1), rgba(72, 199, 216, 0.05)),
    rgba(5, 12, 13, 0.72);
  box-shadow: 0 18px 54px rgba(0, 0, 0, 0.24);
}.detective-interface .detective-progress span{
  color: rgba(238, 247, 242, 0.74);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}.detective-interface .detective-progress strong{
  color: var(--amber);
  font-size: clamp(20px, 2vw, 28px);
  line-height: 1;
}.detective-interface .detective-progress b{
  font: inherit;
}.detective-interface .detective-progress i{
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  gap: 5px;
}.detective-interface .detective-progress em{
  display: block;
  height: 8px;
  border-radius: 999px;
  background: rgba(238, 247, 242, 0.16);
}.detective-interface .detective-progress em.is-active{
  background: linear-gradient(90deg, var(--amber), var(--cyan));
  box-shadow: 0 0 14px rgba(240, 215, 160, 0.28);
}@media (max-width: 760px){
  .detective-interface .detective-interface-heading{
    padding: 92px 16px 24px;
  }.detective-interface .detective-interface-heading h2{
    font-size: clamp(34px, 12vw, 54px);
  }.detective-interface .detective-progress{
    grid-template-columns: 1fr auto;
  }.detective-interface .detective-progress i{
    grid-column: 1 / -1;
  }
}.detective-interface .live-case{
  position: relative;
  min-height: 100vh;
  padding: 26px clamp(18px, 4vw, 58px) 38px;
  isolation: isolate;
  overflow: hidden;
  overflow-anchor: none;
}.detective-interface .signal-bg, .detective-interface .noise{
  position: absolute;
  inset: 0;
  pointer-events: none;
}.detective-interface .signal-bg{
  z-index: -4;
  background:
    linear-gradient(90deg, rgba(3, 6, 7, 0.9), rgba(3, 6, 7, 0.48), rgba(3, 6, 7, 0.96)),
    url("assets/detective/lighthouse-site-concept.png") center / cover;
  opacity: 0.24;
  filter: grayscale(0.2) saturate(0.7) blur(2px);
  transform: scale(1.02);
}.detective-interface .signal-bg::after{
  content: "1801\A иммерсивный\A детектив";
  position: absolute;
  left: clamp(62px, 10.8vw, 190px);
  top: clamp(160px, 27vh, 290px);
  display: block;
  width: clamp(270px, 34vw, 560px);
  padding: clamp(12px, 1.6vw, 22px) 0;
  color: rgba(238, 247, 242, 0.92);
  background:
    linear-gradient(90deg, rgba(3, 6, 7, 0.96) 0%, rgba(3, 6, 7, 0.88) 72%, rgba(3, 6, 7, 0) 100%);
  font-family: "Arial Narrow", Impact, Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(44px, 5.2vw, 88px);
  font-weight: 900;
  line-height: 0.88;
  letter-spacing: 0;
  text-transform: uppercase;
  white-space: pre-line;
  text-shadow: 0 4px 24px rgba(0, 0, 0, 0.72);
}.detective-interface .noise{
  z-index: -3;
  opacity: 0.3;
  background:
    repeating-linear-gradient(0deg, transparent 0 5px, rgba(238, 247, 242, 0.055) 6px),
    repeating-linear-gradient(90deg, rgba(143, 247, 220, 0.055) 0 1px, transparent 1px 74px);
  mix-blend-mode: screen;
}.detective-interface .distress-markers{
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  color: rgba(143, 247, 220, 0.35);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: clamp(11px, 1vw, 14px);
  letter-spacing: 0.12em;
}.detective-interface .marker{
  position: absolute;
  padding: 8px 10px;
  border: 1px solid rgba(143, 247, 220, 0.12);
  background: rgba(3, 6, 7, 0.28);
}.detective-interface .m-one{
  left: 9vw;
  bottom: 10vh;
}.detective-interface .m-two{
  left: 46vw;
  top: 16vh;
  color: rgba(255, 78, 78, 0.48);
}.detective-interface .m-three{
  right: 9vw;
  bottom: 16vh;
}.detective-interface .m-four{
  right: 32vw;
  top: 72vh;
}.detective-interface .topbar{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  max-width: 1320px;
  margin: 0 auto;
}.detective-interface .brand, .detective-interface .system-status{
  display: inline-flex;
  align-items: center;
}.detective-interface .brand{
  gap: 12px;
  font-size: 14px;
  font-weight: 850;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}.detective-interface .brand-mark{
  width: 34px;
  height: 34px;
  border: 1px solid var(--line);
  background:
    linear-gradient(90deg, transparent 47%, var(--red) 47% 53%, transparent 53%),
    linear-gradient(0deg, transparent 47%, var(--red) 47% 53%, transparent 53%),
    rgba(5, 12, 13, 0.72);
}.detective-interface .system-status{
  gap: 8px;
  color: var(--acid);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}.detective-interface .pulse{
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--acid);
  box-shadow: 0 0 18px var(--acid);
  animation: pulse 1.4s ease-in-out infinite;
}.detective-interface .live-layout{
  display: grid;
  grid-template-columns: minmax(320px, 0.72fr) minmax(420px, 1fr);
  align-items: center;
  gap: clamp(24px, 5vw, 74px);
  max-width: 1320px;
  min-height: calc(100vh - 80px);
  margin: 0 auto;
  padding-top: 18px;
}.detective-interface .case-intro{
  position: relative;
  min-height: 800px;
  padding-top: 48px;
}.detective-interface .eyebrow{
  margin: 0 0 16px;
  color: var(--acid);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}.detective-interface h1, .detective-interface h2, .detective-interface h3, .detective-interface p{
  margin-top: 0;
}.detective-interface h1{
  max-width: 560px;
  margin-bottom: 22px;
  font-size: clamp(48px, 6.2vw, 96px);
  line-height: 0.88;
  letter-spacing: 0;
}.detective-interface .channel-deck{
  position: relative;
  min-height: 800px;
  perspective: 1200px;
  overflow-anchor: none;
  align-self: stretch;
  margin-top: 0;
  transform: translateY(-360px);
  --card-y: 109%;
  --active-card-shift: 0px;
}.detective-interface .channel-deck.has-open-hint{
  --active-card-shift: 150px;
}.detective-interface .channel-deck.has-visible-hint:not(.has-open-hint){
  --active-card-shift: 0px;
}.detective-interface .channel-deck::before{
  content: "";
  position: absolute;
  left: 50%;
  top: var(--card-y, 56%);
  width: min(660px, 118%);
  height: 680px;
  transform: translate(-50%, -50%);
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 48%, rgba(3, 6, 7, 0.94) 0 38%, rgba(3, 6, 7, 0.76) 55%, rgba(3, 6, 7, 0.2) 78%, transparent 100%);
  filter: blur(0.2px);
}.detective-interface .deck-hint{
  position: absolute;
  left: 50%;
  top: calc(var(--card-y, 109%) - 455px);
  z-index: 35;
  width: min(560px, 44vw);
  margin: 0;
  padding: 13px 16px;
  border: 1px solid rgba(143, 247, 220, 0.52);
  border-radius: 7px;
  color: rgba(238, 247, 242, 0.94);
  background:
    linear-gradient(90deg, rgba(143, 247, 220, 0.08), transparent),
    rgba(3, 6, 7, 0.82);
  font-size: 14px;
  font-weight: 650;
  line-height: 1.25;
  text-align: left;
  text-shadow: 0 0 15px rgba(143, 247, 220, 0.22);
  box-shadow:
    0 0 0 1px rgba(238, 247, 242, 0.06),
    0 0 32px rgba(143, 247, 220, 0.13);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 6px);
  transition: opacity 180ms ease, transform 180ms ease;
}.detective-interface .deck-hint-row{
  display: block;
}.detective-interface .deck-hint-row strong{
  color: var(--red);
  font-weight: 900;
  text-transform: uppercase;
  text-shadow: 0 0 14px rgba(255, 78, 78, 0.5);
}.detective-interface .deck-hint-row span{
  color: rgba(238, 247, 242, 0.94);
  font-weight: 650;
  text-transform: none;
  text-shadow: 0 0 15px rgba(143, 247, 220, 0.22);
}.detective-interface .deck-hint-toggle{
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  margin-top: 9px;
  padding: 4px 0;
  border: 0;
  border-radius: 0;
  color: rgba(238, 247, 242, 0.52);
  background: transparent;
  font: inherit;
  font-size: 12px;
  font-weight: 750;
  cursor: pointer;
}.detective-interface .deck-hint-toggle::after{
  content: "";
  width: 0;
  height: 0;
  margin-left: 8px;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid currentColor;
}.detective-interface .deck-hint.is-open .deck-hint-toggle::after{
  transform: rotate(180deg);
}.detective-interface .deck-hint-detail{
  display: block;
  max-height: 0;
  margin-top: 0;
  color: rgba(238, 247, 242, 0);
  font-size: 13px;
  line-height: 1.24;
  overflow: hidden;
  transition:
    max-height 180ms ease,
    margin-top 180ms ease,
    color 180ms ease;
}.detective-interface .deck-hint.is-open .deck-hint-detail{
  max-height: 150px;
  margin-top: 8px;
  color: rgba(238, 247, 242, 0.62);
}.detective-interface .deck-hint.is-visible{
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
}.detective-interface .deck-nav{
  position: relative;
  left: auto;
  top: auto;
  z-index: 40;
  width: 430px;
  height: 680px;
  margin-top: 20px;
  margin-left: -130px;
  transform: none;
  pointer-events: none;
}.detective-interface .deck-nav::before{
  content: "";
  position: absolute;
  left: -260px;
  top: 50%;
  width: 680px;
  height: 680px;
  border: 1px solid rgba(143, 247, 220, 0.16);
  border-right-color: transparent;
  border-bottom-color: rgba(143, 247, 220, 0.05);
  border-radius: 50%;
  transform: translateY(-50%);
  opacity: 0.7;
}.detective-interface .deck-nav::after{
  content: "";
  position: absolute;
  left: -150px;
  top: 50%;
  width: 420px;
  height: 420px;
  border: 1px dashed rgba(143, 247, 220, 0.12);
  border-radius: 50%;
  transform: translateY(-50%);
}.detective-interface .deck-nav-track{
  display: contents;
}.detective-interface .deck-nav button{
  position: absolute;
  left: var(--nav-x);
  top: calc(50% + var(--nav-y));
  width: max-content;
  max-width: 440px;
  min-height: 56px;
  padding: 0;
  border: 0;
  color: rgba(213, 255, 244, 0.42);
  background: transparent;
  font: inherit;
  font-size: 42px;
  font-weight: 900;
  letter-spacing: 0;
  text-align: left;
  text-transform: none;
  cursor: pointer;
  text-shadow: 0 0 18px rgba(143, 247, 220, 0.05);
  box-shadow: none;
  opacity: 0;
  transform: translateY(-50%) scale(var(--nav-scale));
  transform-origin: 100% 50%;
  pointer-events: none;
  transition:
    left 900ms cubic-bezier(0.22, 0.72, 0.16, 1),
    top 900ms cubic-bezier(0.22, 0.72, 0.16, 1),
    opacity 360ms ease,
    border-color 220ms ease,
    background 220ms ease,
    color 220ms ease,
    transform 360ms ease;
}.detective-interface .deck-nav button.is-visible{
  opacity: 0.36;
  pointer-events: auto;
  z-index: 1;
}.detective-interface .deck-nav button::before{
  content: "";
  display: none;
  width: 8px;
  height: 8px;
  margin: 0 10px 1px 0;
  background: currentColor;
}.detective-interface .deck-nav button.is-center{
  opacity: 1;
  color: rgba(213, 255, 244, 0.62);
  z-index: 3;
}.detective-interface .deck-nav button.is-active{
  color: var(--acid);
  background: transparent;
  border-color: transparent;
  transform: translate(14px, -50%) scale(1.05);
  text-shadow: 0 0 28px rgba(143, 247, 220, 0.44);
  box-shadow: none;
}.detective-interface .deck-nav button.is-disabled{
  color: rgba(213, 255, 244, 0.48);
}.detective-interface .deck-nav button.is-marquee-copy{
  display: none;
}.detective-interface .deck-nav button:focus-visible, .detective-interface .camera-button:focus-visible, .detective-interface .round-button:focus-visible, .detective-interface .archive-document:focus-visible{
  outline: 1px solid var(--acid);
  outline-offset: 3px;
}.detective-interface .deck-card{
  position: absolute;
  inset: var(--card-y, 56%) auto auto 50%;
  width: min(520px, 100%);
  height: 560px;
  min-height: 560px;
  transform: translate(34%, -50%) rotate(4deg) scale(0.96);
  z-index: 2;
  opacity: 0;
  pointer-events: none;
  transition: transform 520ms cubic-bezier(0.2, 0.75, 0.16, 1), opacity 360ms ease, filter 360ms ease;
}.detective-interface .deck-card:not(.is-active), .detective-interface .deck-card:not(.is-active) *{
  animation-play-state: paused !important;
}.detective-interface .deck-card.is-active{
  z-index: 10;
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, calc(-50% + var(--active-card-shift))) rotate(0deg) scale(1);
}.detective-interface .deck-card.is-active:hover{
  transform: translate(-50%, calc(-50% + var(--active-card-shift))) rotate(0deg) scale(1);
}.detective-interface .deck-card.is-entering{
  animation: cardEnterFromRight 620ms cubic-bezier(0.18, 0.82, 0.16, 1) both;
}.detective-interface .card-tab{
  display: none;
}.detective-interface .deck-card:not(.is-active) .card-tab{
}.detective-interface .deck-card.is-active .card-tab{
}.detective-interface .deck-card.incoming-call, .detective-interface .deck-card.video-feed, .detective-interface .deck-card.code-card, .detective-interface .deck-card.archive-card, .detective-interface .deck-card.audio-card, .detective-interface .deck-card.coordinate-card, .detective-interface .deck-card.dossier-card, .detective-interface .deck-card.event-log{
  position: absolute;
}.detective-interface .card-hint{
  display: none;
}.detective-interface .case-line{
  max-width: 420px;
  color: #c5d4d1;
  font-size: 20px;
  line-height: 1.35;
  font-weight: 750;
}.detective-interface .incoming-call, .detective-interface .video-feed, .detective-interface .code-card, .detective-interface .audio-card, .detective-interface .timer-card, .detective-interface .coordinate-card, .detective-interface .dossier-card, .detective-interface .event-log, .detective-interface .presence-grid article, .detective-interface .channel{
  border: 1px solid rgba(143, 247, 220, 0.12);
  background: linear-gradient(180deg, rgba(7, 17, 19, 0.62), rgba(3, 6, 7, 0.42));
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(16px);
}.detective-interface .incoming-call{
  position: relative;
  width: min(420px, 100%);
  max-width: none;
  margin-top: 0;
  min-height: 560px;
  padding: 54px 34px 34px;
  border-radius: 52px;
  border: 1px solid rgba(238, 247, 242, 0.18);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), transparent 10%),
    radial-gradient(circle at 50% 14%, rgba(143, 247, 220, 0.18), transparent 9rem),
    linear-gradient(180deg, rgba(8, 19, 21, 0.88), rgba(2, 6, 7, 0.88));
  box-shadow:
    inset 0 0 0 9px rgba(238, 247, 242, 0.035),
    inset 0 0 0 10px rgba(3, 6, 7, 0.62),
    0 34px 100px rgba(0, 0, 0, 0.5);
}.detective-interface .incoming-call::before{
  content: "";
  position: absolute;
  left: 50%;
  top: 18px;
  width: 92px;
  height: 6px;
  border-radius: 999px;
  background: rgba(238, 247, 242, 0.22);
  transform: translateX(-50%);
}.detective-interface .incoming-call::after{
  content: "";
  position: absolute;
  left: 50%;
  bottom: 16px;
  width: 112px;
  height: 4px;
  border-radius: 999px;
  background: rgba(238, 247, 242, 0.16);
  transform: translateX(-50%);
}.detective-interface .incoming-call.call-accepted{
  box-shadow:
    inset 0 0 0 7px rgba(143, 247, 220, 0.05),
    0 0 70px rgba(143, 247, 220, 0.18),
    0 34px 100px rgba(0, 0, 0, 0.5);
}.detective-interface .incoming-call.call-accepted .waveform span{
  background: var(--amber);
  animation-duration: 0.62s;
}.detective-interface .caller{
  display: flex;
  align-items: center;
  gap: 14px;
  justify-content: center;
  text-align: center;
  flex-direction: column;
}.detective-interface .avatar{
  display: inline-flex;
  width: 94px;
  height: 94px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(143, 247, 220, 0.35);
  border-radius: 50%;
  color: var(--acid);
  background: rgba(143, 247, 220, 0.08);
  font-weight: 900;
}.detective-interface .caller span{
  display: block;
  margin-bottom: 4px;
  color: var(--muted);
  font-size: 13px;
}.detective-interface .caller strong{
  color: var(--ink);
  font-size: 24px;
  white-space: nowrap;
}.detective-interface .waveform{
  display: flex;
  align-items: center;
  gap: 5px;
  justify-content: center;
  height: 128px;
  margin: 36px 0;
  overflow: hidden;
}.detective-interface .waveform span{
  width: 6px;
  height: 18px;
  background: var(--acid);
  opacity: 0.72;
  animation: wave 1.05s ease-in-out infinite;
}.detective-interface .waveform span:nth-child(2n){
  animation-delay: 0.12s;
}.detective-interface .waveform span:nth-child(3n){
  animation-delay: 0.24s;
}.detective-interface .waveform span:nth-child(4n){
  animation-delay: 0.36s;
}.detective-interface .call-actions{
  display: flex;
  justify-content: center;
  gap: 46px;
}.detective-interface .round-button{
  display: inline-flex;
  width: 88px;
  height: 88px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #020607;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}.detective-interface .decline{
  background: var(--red);
}.detective-interface .accept{
  background: var(--acid);
  box-shadow: 0 0 42px rgba(143, 247, 220, 0.34);
}.detective-interface .camera-controls{
  position: absolute;
  z-index: 8;
  right: 28px;
  bottom: 28px;
}.detective-interface .camera-controls{
  z-index: 70;
  display: inline-flex;
  gap: 10px;
  padding: 0;
  border: 0;
  background: transparent;
  backdrop-filter: none;
}.detective-interface .camera-button{
  display: inline-grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border: 1px solid rgba(143, 247, 220, 0.22);
  border-radius: 50%;
  color: var(--acid);
  background: rgba(3, 6, 7, 0.78);
  font: inherit;
  font-size: 20px;
  font-weight: 900;
  letter-spacing: 0;
  cursor: pointer;
  box-shadow: 0 0 18px rgba(3, 6, 7, 0.44);
}.detective-interface .pause-button{
  font-size: 22px;
}.detective-interface .camera-button.is-active{
  color: #03100e;
  background: var(--acid);
  border-color: var(--acid);
  box-shadow: 0 0 22px rgba(143, 247, 220, 0.24);
}.detective-interface .rec-button{
  color: var(--red);
}.detective-interface .rec-button.is-active{
  color: #220404;
  background: var(--red);
  border-color: var(--red);
  box-shadow: 0 0 22px rgba(255, 78, 78, 0.28);
}.detective-interface .camera-controls:hover, .detective-interface .camera-button:hover{
  border-color: var(--acid);
  box-shadow: 0 0 24px rgba(143, 247, 220, 0.16);
}.detective-interface .video-feed{
  position: relative;
  z-index: auto;
  margin-left: 0;
  margin-right: 0;
  padding: 0;
  overflow: visible;
  background:
    linear-gradient(180deg, rgba(7, 17, 19, 0.72), rgba(3, 6, 7, 0.54)),
    rgba(3, 6, 7, 0.58);
}.detective-interface .code-card{
  position: relative;
  display: grid;
  place-items: center;
  min-height: 560px;
  padding: 34px 28px;
  overflow: hidden;
}.detective-interface .archive-card{
  position: relative;
  display: grid;
  min-height: 560px;
  place-items: center;
  padding: 34px;
  overflow: hidden;
}.detective-interface .archive-card::before{
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 70%, rgba(255, 183, 77, 0.12), transparent 14rem),
    radial-gradient(circle at 18% 18%, rgba(143, 247, 220, 0.08), transparent 12rem);
  pointer-events: none;
}.detective-interface .archive-scene{
  position: relative;
  width: min(520px, 100%);
  height: 430px;
}.detective-interface .archive-stack{
  position: absolute;
  inset: 0;
}.detective-interface .archive-box{
  position: absolute;
  left: 23%;
  bottom: 60px;
  z-index: 5;
  width: 190px;
  height: 72px;
  transform: translateX(-50%);
  pointer-events: none;
}.detective-interface .summary-box{
  position: absolute;
  right: 34px;
  bottom: 60px;
  z-index: 6;
  width: 170px;
  height: 72px;
  pointer-events: none;
  transition: filter 180ms ease, transform 180ms ease;
}.detective-interface .summary-box.is-ready{
  filter: drop-shadow(0 0 28px rgba(143, 247, 220, 0.34));
  transform: translateY(-3px) scale(1.02);
}.detective-interface .summary-box-lid, .detective-interface .summary-box-front{
  position: absolute;
  left: 0;
  right: 0;
  border: 1px solid rgba(143, 247, 220, 0.34);
  background:
    linear-gradient(135deg, rgba(22, 72, 64, 0.92), rgba(8, 29, 28, 0.96));
}.detective-interface .summary-box-lid{
  display: none;
}.detective-interface .summary-box-front{
  inset: 0;
  display: grid;
  grid-template-rows: auto 1fr;
  align-items: center;
  justify-items: center;
  gap: 2px;
  padding: 12px 10px 10px;
  border-radius: 4px;
  background:
    linear-gradient(90deg, rgba(143, 247, 220, 0.12), transparent),
    rgba(3, 6, 7, 0.12);
  box-shadow:
    inset 0 0 0 1px rgba(143, 247, 220, 0.08),
    0 14px 34px rgba(0, 0, 0, 0.16);
}.detective-interface .box-back, .detective-interface .box-front{
  position: absolute;
  left: 0;
  right: 0;
  border: 1px solid rgba(255, 183, 77, 0.34);
  background:
    linear-gradient(135deg, rgba(109, 62, 27, 0.9), rgba(44, 24, 16, 0.96));
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.05),
    0 28px 80px rgba(0, 0, 0, 0.38);
}.detective-interface .box-back{
  display: none;
}.detective-interface .box-front{
  inset: 0;
  display: grid;
  grid-template-rows: auto 1fr;
  align-items: center;
  justify-items: center;
  gap: 2px;
  padding: 12px 10px 10px;
  border-radius: 4px;
  background:
    linear-gradient(90deg, rgba(255, 183, 77, 0.12), transparent),
    rgba(3, 6, 7, 0.1);
  box-shadow:
    inset 0 0 0 1px rgba(255, 183, 77, 0.08),
    0 14px 34px rgba(0, 0, 0, 0.16);
}.detective-interface .box-front strong, .detective-interface .summary-box-front strong{
  position: relative;
  z-index: 1;
  color: rgba(255, 240, 228, 0.5);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}.detective-interface .summary-box-front strong{
  color: rgba(213, 255, 244, 0.72);
  font-size: 12px;
}.detective-interface .box-front em, .detective-interface .summary-box-front em{
  position: relative;
  z-index: 1;
  align-self: end;
  color: var(--amber);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 22px;
  font-style: normal;
  font-weight: 950;
  line-height: 1;
}.detective-interface .summary-box-front em{
  color: var(--acid);
  font-size: 22px;
}.detective-interface .archive-document{
  position: absolute;
  left: 26%;
  bottom: 184px;
  z-index: 7;
  display: grid;
  width: 122px;
  min-height: 92px;
  align-content: start;
  gap: 8px;
  padding: 12px 14px;
  border: 1px solid rgba(238, 247, 242, 0.22);
  border-radius: 4px;
  color: #2b1711;
  background:
    linear-gradient(180deg, rgba(255, 250, 235, 0.98), rgba(216, 201, 178, 0.98));
  font: inherit;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.34);
  transform: translateX(-50%) translate(var(--rest-x, 0), var(--rest-y, 0)) rotate(var(--rest-r, 0deg));
  transition:
    transform 520ms cubic-bezier(0.2, 0.9, 0.18, 1),
    filter 180ms ease,
    z-index 0ms linear 120ms;
}.detective-interface .archive-document span{
  color: rgba(43, 23, 17, 0.72);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}.detective-interface .archive-document strong{
  color: #27120c;
  font-size: 15px;
  line-height: 1.05;
  text-transform: uppercase;
}.detective-interface .archive-document:hover{
  filter: brightness(1.08);
}.detective-interface .doc-one{
  --rest-x: -92px;
  --rest-y: 18px;
  --rest-r: -9deg;
}.detective-interface .doc-two{
  --rest-x: -28px;
  --rest-y: -4px;
  --rest-r: 5deg;
}.detective-interface .doc-three{
  --rest-x: 34px;
  --rest-y: 14px;
  --rest-r: -3deg;
}.detective-interface .doc-four{
  --rest-x: 98px;
  --rest-y: 26px;
  --rest-r: 8deg;
}.detective-interface .archive-document.is-pulled{
  z-index: 8;
  transform: translateX(-50%) translate(var(--pull-x), var(--pull-y)) rotate(var(--pull-r));
}.detective-interface .archive-document.is-discarded{
  z-index: 12;
  pointer-events: none;
  animation: archiveFileDiscard 760ms cubic-bezier(0.24, 0.78, 0.16, 1) both;
}.detective-interface .archive-document.is-dragging{
  z-index: 30;
  cursor: grabbing;
  transform:
    translateX(-50%)
    translate(var(--rest-x, 0), var(--rest-y, 0))
    translate(var(--drag-x, 0), var(--drag-y, 0))
    rotate(var(--rest-r, 0deg))
    scale(1.04);
  transition: none;
}.detective-interface .archive-document.is-sorted{
  z-index: 8;
  pointer-events: none;
  transform: translateX(-50%) translate(var(--sorted-x, 268px), var(--sorted-y, 52px)) rotate(var(--sorted-r, 4deg)) scale(0.64);
  opacity: 0.82;
}.detective-interface .archive-document.is-warning{
  animation: archiveFileWarning 300ms ease-out;
}.detective-interface .archive-document-needed{
  align-content: center;
  color: #170906;
  background:
    linear-gradient(180deg, rgba(255, 236, 177, 0.98), rgba(255, 183, 77, 0.96));
}.detective-interface .archive-document-needed strong{
  font-size: 20px;
  line-height: 1.05;
  text-align: center;
}.detective-interface .archive-document-needed.is-locked{
  filter: saturate(0.45) brightness(0.82);
}.detective-interface .archive-document-needed.is-found{
  z-index: 9;
  transform: translateX(-50%) translate(132px, -154px) rotate(0deg) scale(1.12);
  box-shadow:
    0 0 0 1px rgba(255, 183, 77, 0.45),
    0 24px 70px rgba(255, 183, 77, 0.2);
}.detective-interface .archive-message{
  position: absolute;
  left: 50%;
  bottom: 16px;
  z-index: 10;
  width: min(360px, 100%);
  margin: 0;
  color: var(--acid);
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-align: center;
  text-transform: uppercase;
  transform: translateX(-50%);
  text-shadow: 0 0 24px rgba(143, 247, 220, 0.26);
}.detective-interface .archive-stamp{
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 70;
  display: grid;
  width: min(440px, calc(100% - 56px));
  max-width: 440px;
  min-height: 168px;
  padding: 14px 18px;
  box-sizing: border-box;
  border: 5px solid rgba(255, 36, 31, 0.98);
  border-radius: 10px;
  color: rgba(255, 44, 38, 1);
  font-family: Georgia, "Times New Roman", serif;
  text-align: center;
  text-transform: lowercase;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -50%) rotate(-8deg) scale(1.06);
  transition: opacity 180ms ease, transform 220ms cubic-bezier(0.16, 0.9, 0.18, 1);
  mix-blend-mode: normal;
  filter:
    drop-shadow(0 18px 24px rgba(0, 0, 0, 0.5))
    drop-shadow(0 0 22px rgba(255, 44, 38, 0.34));
}.detective-interface .archive-stamp::before{
  content: "";
  position: absolute;
  inset: 6px;
  border: 2px solid rgba(255, 44, 38, 0.96);
  border-radius: 7px;
  pointer-events: none;
}.detective-interface .archive-stamp::after{
  content: "";
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(17deg, rgba(255, 255, 255, 0.18) 0 2px, transparent 2px 9px),
    radial-gradient(circle at 18% 24%, transparent 0 2px, rgba(238, 24, 20, 0.2) 3px 4px, transparent 5px),
    radial-gradient(circle at 78% 62%, transparent 0 2px, rgba(238, 24, 20, 0.18) 3px 5px, transparent 6px);
  opacity: 0.55;
  mix-blend-mode: screen;
  pointer-events: none;
}.detective-interface .archive-stamp.is-visible{
  opacity: 1;
  transform: translate(-50%, -50%) rotate(-8deg) scale(1);
  filter:
    drop-shadow(0 20px 26px rgba(0, 0, 0, 0.62))
    drop-shadow(0 0 26px rgba(255, 44, 38, 0.5));
}.detective-interface .archive-stamp span{
  position: relative;
  z-index: 1;
  padding: 5px 0;
  border-top: 2px solid rgba(255, 44, 38, 0.94);
  border-bottom: 2px solid rgba(255, 44, 38, 0.94);
  font-size: clamp(13px, 2vw, 16px);
  font-weight: 900;
  letter-spacing: 0.08em;
  white-space: nowrap;
}.detective-interface .archive-stamp strong{
  position: relative;
  z-index: 1;
  padding: 12px 0 13px;
  font-size: clamp(36px, 6.2vw, 48px);
  font-weight: 950;
  line-height: 0.96;
  white-space: nowrap;
}.detective-interface .incoming-call .archive-stamp{
  transform-origin: center;
  width: min(340px, calc(100% - 44px));
  min-height: 132px;
  padding: 12px 14px;
  border-width: 4px;
  border-radius: 9px;
  transform: translate(-50%, -50%) rotate(-8deg) scale(1.04);
}.detective-interface .incoming-call .archive-stamp.is-visible{
  transform: translate(-50%, -50%) rotate(-8deg) scale(0.98);
}.detective-interface .incoming-call .archive-stamp span{
  padding: 4px 0;
  font-size: 12px;
  letter-spacing: 0.06em;
}.detective-interface .incoming-call .archive-stamp strong{
  padding: 9px 0 10px;
  font-size: 34px;
}.detective-interface .coordinate-card .archive-stamp, .detective-interface .timer-card .archive-stamp{
  transform: translate(-50%, -50%) rotate(-8deg) scale(1.06);
}.detective-interface .dossier-card .archive-stamp{
  transform: translate(-50%, -50%) rotate(-8deg) scale(1.06);
}.detective-interface .coordinate-card .archive-stamp.is-visible, .detective-interface .timer-card .archive-stamp.is-visible{
  transform: translate(-50%, -50%) rotate(-8deg) scale(1);
}.detective-interface .dossier-card .archive-stamp.is-visible{
  transform: translate(-50%, -50%) rotate(-8deg) scale(1);
}.detective-interface .dossier-card .case-panel{
  background: rgba(0, 0, 0, 0.88);
}.detective-interface .dossier-card .case-panel.has-stamp{
  background: rgba(0, 0, 0, 0.94);
}.detective-interface .case-panel{
  position: absolute;
  inset: 0;
  z-index: 68;
  display: grid;
  place-items: center;
  padding: 28px;
  color: #eff7f2;
  background:
    radial-gradient(circle at 50% 50%, rgba(255, 78, 78, 0.12), transparent 15rem),
    rgba(0, 0, 0, 0.94);
  opacity: 0;
  pointer-events: none;
  transform: scale(0.98);
  transition: opacity 180ms ease, transform 220ms cubic-bezier(0.16, 0.9, 0.18, 1);
}.detective-interface .event-log .case-panel{
  z-index: 120;
}.detective-interface .event-log .archive-stamp{
  z-index: 130;
}.detective-interface .case-panel.is-visible{
  opacity: 1;
  transform: scale(1);
}.detective-interface .case-panel.has-stamp{
  background:
    radial-gradient(circle at 50% 50%, rgba(255, 78, 78, 0.06), transparent 14rem),
    rgba(0, 0, 0, 0.98);
}.detective-interface .case-panel strong{
  display: block;
  max-width: min(380px, 100%);
  color: #eff7f2;
  font-size: clamp(21px, 3.4vw, 34px);
  font-weight: 900;
  line-height: 1.14;
  letter-spacing: 0.02em;
  text-align: center;
  text-wrap: balance;
  overflow-wrap: anywhere;
  text-shadow:
    0 0 14px rgba(255, 78, 78, 0.26),
    0 0 28px rgba(143, 247, 220, 0.14);
}.detective-interface .case-panel.has-stamp strong{
  opacity: 0.28;
  filter: blur(0.2px);
}.detective-interface .deck-card.is-stamp-showing > :not(.archive-stamp):not(.case-panel){
  filter: brightness(0.36) saturate(0.72);
  transition: filter 180ms ease;
}.detective-interface .audio-card{
  position: relative;
  height: 520px;
  min-height: 520px;
  padding: 18px;
  overflow: hidden;
}.detective-interface .audio-card::before{
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 16%, rgba(143, 247, 220, 0.14), transparent 12rem),
    radial-gradient(circle at 82% 76%, rgba(255, 183, 77, 0.1), transparent 13rem),
    repeating-linear-gradient(180deg, rgba(143, 247, 220, 0.035) 0 1px, transparent 1px 5px);
  pointer-events: none;
}.detective-interface .audio-device{
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-rows: auto auto auto auto;
  gap: 10px;
  min-height: 484px;
  padding: 18px 20px;
  border: 1px solid rgba(143, 247, 220, 0.2);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(6, 17, 18, 0.92), rgba(2, 6, 7, 0.9)),
    radial-gradient(circle at 50% 0%, rgba(143, 247, 220, 0.14), transparent 18rem);
  box-shadow:
    inset 0 0 0 1px rgba(238, 247, 242, 0.035),
    0 22px 70px rgba(0, 0, 0, 0.32);
}.detective-interface .audio-topline, .detective-interface .audio-noise-control, .detective-interface .audio-tracks{
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
}.detective-interface .audio-topline{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  color: rgba(213, 255, 244, 0.72);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}.detective-interface .audio-topline strong{
  color: #ff4e4e;
  text-shadow: 0 0 18px rgba(255, 78, 78, 0.36);
}.detective-interface .audio-card.is-playing .audio-topline strong, .detective-interface .audio-card.is-solved .audio-topline strong{
  color: var(--acid);
  text-shadow: 0 0 18px rgba(143, 247, 220, 0.36);
}.detective-interface .audio-tracks{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  align-items: end;
  border-bottom: 1px solid rgba(143, 247, 220, 0.32);
}.detective-interface .audio-track{
  display: grid;
  place-items: center;
  min-width: 0;
  min-height: 46px;
  padding: 11px 8px 10px;
  border: 1px solid rgba(143, 247, 220, 0.16);
  border-bottom: 0;
  background: rgba(143, 247, 220, 0.035);
  color: rgba(213, 255, 244, 0.7);
  text-align: center;
  cursor: pointer;
}.detective-interface .audio-track:hover, .detective-interface .audio-track.is-active{
  border-color: rgba(143, 247, 220, 0.56);
  background: linear-gradient(180deg, rgba(143, 247, 220, 0.16), rgba(143, 247, 220, 0.06));
  color: #eff7f2;
  box-shadow: 0 0 22px rgba(143, 247, 220, 0.1);
}.detective-interface .audio-track.is-found{
  border-color: rgba(255, 183, 77, 0.62);
}.detective-interface .audio-tab-panel{
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: center;
  min-height: 104px;
  padding: 18px;
  border: 1px solid rgba(143, 247, 220, 0.32);
  border-top: 0;
  background:
    radial-gradient(circle at 20% 50%, rgba(143, 247, 220, 0.12), transparent 10rem),
    rgba(0, 0, 0, 0.18);
}.detective-interface .audio-current-play{
  position: relative;
  display: grid;
  place-items: center;
  width: 44px;
  aspect-ratio: 1;
  border-radius: 50%;
  border: 0;
  background: var(--acid);
  color: #061113;
  font-size: 17px;
  line-height: 1;
  cursor: pointer;
}.detective-interface .audio-current-play.is-playing{
  width: 62px;
  border-radius: 999px;
  background: #ff4e4e;
  color: #061113;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.04em;
}.detective-interface .audio-track strong{
  min-width: 0;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}.detective-interface .audio-tab-panel strong{
  display: block;
  color: #eff7f2;
  font-size: 18px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}.detective-interface .audio-tab-panel em{
  display: block;
  margin-top: 4px;
  min-width: 0;
  color: rgba(213, 255, 244, 0.52);
  font-size: 12px;
  font-style: normal;
  white-space: nowrap;
}.detective-interface .audio-noise-control{
  display: grid;
  justify-items: center;
  gap: 12px;
  color: rgba(213, 255, 244, 0.82);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}.detective-interface .audio-noise-control input{
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}.detective-interface .audio-noise-dial{
  position: relative;
  display: grid;
  place-items: center;
  width: 168px;
  aspect-ratio: 1;
  border: 1px solid rgba(143, 247, 220, calc(0.2 + var(--audio-target-intensity, 0) * 0.48));
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(143, 247, 220, 0.14) 0 7%, transparent 8%),
    conic-gradient(from -135deg, rgba(143, 247, 220, 0.44) 0 270deg, rgba(213, 255, 244, 0.06) 270deg 360deg),
    radial-gradient(circle, #061113 0 48%, rgba(143, 247, 220, 0.08) 49% 58%, rgba(3, 6, 7, 0.88) 59%);
  color: #eff7f2;
  cursor: grab;
  touch-action: none;
  box-shadow:
    inset 0 0 24px rgba(0, 0, 0, 0.42),
    0 0 calc(6px + var(--audio-noise-width, 0) * 30px) rgba(143, 247, 220, calc(var(--audio-noise-width, 0) * 0.22)),
    0 0 calc(var(--audio-target-intensity, 0) * 34px) rgba(255, 78, 78, calc(var(--audio-target-intensity, 0) * 0.32));
  animation: audioSuspicionShake calc(340ms - var(--audio-target-intensity, 0) * 180ms) linear infinite;
  animation-play-state: paused;
}.detective-interface .audio-card.is-playing .audio-noise-dial{
  animation-play-state: running;
}.detective-interface .audio-noise-dial:active{
  cursor: grabbing;
}.detective-interface .audio-dial-noise{
  position: absolute;
  inset: calc(10px + var(--audio-target-intensity, 0) * 34px);
  border-radius: 50%;
  opacity: calc(var(--audio-noise-width, 0) * 0.78);
  background:
    repeating-conic-gradient(from 0deg, rgba(143, 247, 220, 0.48) 0deg 7deg, rgba(255, 78, 78, 0.22) 8deg 13deg, transparent 14deg 20deg),
    radial-gradient(circle, transparent 0 38%, rgba(143, 247, 220, 0.2) 39% 58%, transparent 59%);
  filter: blur(calc(var(--audio-noise-width, 0) * 1.2px));
  animation: audioNoiseSpin 840ms linear infinite;
  animation-play-state: paused;
}.detective-interface .audio-card.is-playing .audio-dial-noise{
  animation-play-state: running;
}.detective-interface .audio-dial-scale{
  position: absolute;
  inset: 12px;
  border-radius: 50%;
  background:
    repeating-conic-gradient(from -135deg, rgba(238, 247, 242, 0.34) 0deg 1deg, transparent 1deg 13.5deg);
  mask: radial-gradient(circle, transparent 0 55%, #000 56% 64%, transparent 65%);
}.detective-interface .audio-dial-needle{
  position: absolute;
  left: calc(50% - 3px);
  bottom: 50%;
  width: 6px;
  height: 58px;
  border-radius: 999px;
  background: var(--acid);
  transform: rotate(var(--audio-noise-angle, 135deg));
  transform-origin: 50% 100%;
  box-shadow:
    0 0 16px rgba(143, 247, 220, 0.48),
    0 0 calc(var(--audio-target-intensity, 0) * 28px) rgba(255, 78, 78, calc(var(--audio-target-intensity, 0) * 0.42));
  transition: transform 180ms ease, box-shadow 160ms ease;
  animation: audioNeedleTremble calc(300ms - var(--audio-target-intensity, 0) * 150ms) linear infinite;
  animation-play-state: paused;
}.detective-interface .audio-dial-needle::after{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: #ff4e4e;
  opacity: var(--audio-target-intensity, 0);
}.detective-interface .audio-card.is-playing .audio-dial-needle{
  animation-play-state: running;
}.detective-interface .audio-noise-dial strong{
  position: relative;
  z-index: 1;
  color: rgba(238, 247, 242, 0.86);
  font-size: 24px;
  font-weight: 950;
  letter-spacing: 0;
  text-shadow: 0 0 18px rgba(143, 247, 220, 0.24);
}@keyframes audioMeterFlow{
  to {
    background-position: -220% 0;
  }
}@keyframes audioSuspicionShake{
  0%,
  100% {
    transform: translate(0, 0);
  }

  25% {
    transform: translate(calc(var(--audio-target-intensity, 0) * 1.5px), calc(var(--audio-target-intensity, 0) * -1px));
  }

  50% {
    transform: translate(calc(var(--audio-target-intensity, 0) * -1px), calc(var(--audio-target-intensity, 0) * 1px));
  }

  75% {
    transform: translate(calc(var(--audio-target-intensity, 0) * 1px), calc(var(--audio-target-intensity, 0) * 0.5px));
  }
}@keyframes audioNoiseSpin{
  to {
    transform: rotate(360deg);
  }
}@keyframes audioNeedleTremble{
  0%,
  100% {
    margin-left: 0;
  }

  25% {
    margin-left: calc(var(--audio-target-intensity, 0) * -2px);
  }

  50% {
    margin-left: calc(var(--audio-target-intensity, 0) * 2px);
  }

  75% {
    margin-left: calc(var(--audio-target-intensity, 0) * -1px);
  }
}@keyframes audioBar{
  0%,
  100% {
    transform: scaleY(0.58);
  }

  50% {
    transform: scaleY(1.16);
  }
}.detective-interface .timer-card{
  position: relative;
  display: block;
  min-height: 560px;
  padding: 34px;
  border-color: transparent;
  overflow: hidden;
}.detective-interface .timer-card::before{
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 12%, rgba(255, 78, 78, 0.12), transparent 14rem),
    radial-gradient(circle at 12% 80%, rgba(255, 183, 77, 0.08), transparent 16rem);
  pointer-events: none;
}.detective-interface .timer-display{
  position: absolute;
  top: 24px;
  left: 28px;
  z-index: 6;
  color: var(--acid);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 26px;
  font-weight: 900;
  line-height: 1;
  text-shadow: 0 0 28px rgba(143, 247, 220, 0.26);
  opacity: 0;
  transition: opacity 180ms ease;
}.detective-interface .timer-card.is-running .timer-display, .detective-interface .timer-card.is-finished .timer-display{
  opacity: 1;
}.detective-interface .timer-trigger{
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 6;
  width: 206px;
  height: 68px;
  border: 1px solid rgba(255, 78, 78, 0.52);
  border-radius: 999px;
  color: #ffd7d7;
  background:
    radial-gradient(circle at 50% 35%, rgba(255, 78, 78, 0.22), transparent 60%),
    rgba(22, 5, 7, 0.92);
  font: inherit;
  font-size: 14px;
  font-weight: 950;
  letter-spacing: 0.14em;
  cursor: pointer;
  box-shadow:
    inset 0 0 0 6px rgba(255, 78, 78, 0.035),
    0 0 36px rgba(255, 78, 78, 0.16);
  transform: translate(-50%, -50%);
  animation: runawayButton 22s cubic-bezier(0.45, 0, 0.55, 1) infinite;
  transition: opacity 180ms ease, transform 180ms ease;
}.detective-interface .timer-trigger.is-hidden{
  opacity: 0;
  pointer-events: none;
}.detective-interface .timer-card.is-running .timer-display{
  color: var(--red);
  text-shadow: 0 0 30px rgba(255, 78, 78, 0.3);
}.detective-interface .timer-card.is-running.is-reversing .timer-display{
  color: var(--acid);
  text-shadow:
    0 0 24px rgba(143, 247, 220, 0.34),
    0 0 54px rgba(143, 247, 220, 0.18);
}.detective-interface .timer-card.is-running.is-critical .timer-display{
  animation: criticalTimerBlink 520ms steps(2, start) infinite;
}.detective-interface .timer-card.is-finished .timer-display{
  color: var(--amber);
}.detective-interface .timer-display.is-zero-blinking{
  opacity: 1;
  color: var(--red);
  animation: zeroTimerBlink 340ms steps(2, start) 5;
  text-shadow: 0 0 34px rgba(255, 78, 78, 0.42);
}.detective-interface .timer-display.is-hidden-after-blink{
  opacity: 0;
}.detective-interface .timer-card.is-finished .timer-display.is-hidden-after-blink{
  opacity: 0;
}.detective-interface .timer-result{
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 7;
  width: min(420px, calc(100% - 64px));
  display: grid;
  gap: 8px;
  justify-items: center;
  color: #ffd7d7;
  font-size: 20px;
  font-weight: 900;
  line-height: 1.25;
  text-align: center;
  text-transform: uppercase;
  text-shadow: 0 0 28px rgba(255, 78, 78, 0.28);
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.92);
  transition: opacity 260ms ease, transform 260ms ease;
  pointer-events: none;
}.detective-interface .timer-card.is-finished .timer-result:not(:empty){
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}.detective-interface .timer-card .archive-stamp{
  top: 50%;
  z-index: 90;
}.detective-interface .coordinate-card{
  position: relative;
  display: grid;
  min-height: 560px;
  padding: 28px;
  overflow: hidden;
}.detective-interface .coordinate-card::before{
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 22% 18%, rgba(143, 247, 220, 0.12), transparent 12rem),
    radial-gradient(circle at 78% 72%, rgba(255, 183, 77, 0.1), transparent 14rem);
  pointer-events: none;
}.detective-interface .dossier-card{
  position: relative;
  display: grid;
  height: 500px;
  min-height: 500px;
  padding: 20px;
  overflow: hidden;
}.detective-interface .dossier-board{
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr auto auto;
  gap: 12px;
  min-height: 456px;
}.detective-interface .dossier-cover{
  position: absolute;
  inset: 0;
  z-index: 20;
  display: grid;
  grid-template-rows: 1fr auto;
  overflow: hidden;
  border-radius: 14px;
  background: rgba(3, 6, 7, 0.96);
  box-shadow: inset 0 0 0 1px rgba(143, 247, 220, 0.22);
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity 260ms ease, transform 260ms ease, visibility 0s linear 260ms;
}.detective-interface .dossier-card.is-dossier-uncovered .dossier-cover{
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: scale(0.98);
}.detective-interface .dossier-cover.is-thinking .dossier-cover-panel{
  animation: dossierPanelNudge 520ms ease;
}.detective-interface .dossier-cover-image{
  position: relative;
  display: grid;
  place-items: center;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: #020607;
  cursor: zoom-in;
}.detective-interface .dossier-cover-image img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}.detective-interface .dossier-cover-panel{
  display: grid;
  gap: 14px;
  padding: 18px;
  background:
    linear-gradient(180deg, rgba(3, 6, 7, 0.58), rgba(3, 6, 7, 0.92)),
    rgba(3, 6, 7, 0.88);
  box-shadow: 0 -18px 50px rgba(3, 6, 7, 0.86);
}.detective-interface .dossier-cover-panel h3{
  margin: 0;
  color: #eff7f2;
  font-size: 24px;
  line-height: 1.08;
  text-align: center;
  text-shadow: 0 0 18px rgba(143, 247, 220, 0.26);
}.detective-interface .dossier-cover-actions{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}.detective-interface .dossier-cover-actions button{
  min-height: 44px;
  border: 1px solid rgba(238, 247, 242, 0.18);
  border-radius: 999px;
  color: #eff7f2;
  background: rgba(3, 6, 7, 0.7);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
}.detective-interface .dossier-cover-open{
  box-shadow: inset 0 0 0 1px rgba(143, 247, 220, 0.36), 0 0 22px rgba(143, 247, 220, 0.08);
}.detective-interface .dossier-cover-silent{
  box-shadow: inset 0 0 0 1px rgba(255, 78, 78, 0.24);
}body.dossier-lightbox-open{
  overflow: hidden;
}.detective-interface .dossier-lightbox, .dossier-lightbox{
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  place-items: center;
  padding: 28px;
  background: rgba(0, 0, 0, 0.88);
  cursor: zoom-out;
}.detective-interface .dossier-lightbox[hidden], .dossier-lightbox[hidden]{
  display: none;
}.detective-interface .dossier-lightbox img, .dossier-lightbox img{
  max-width: min(96vw, 1500px);
  max-height: 92vh;
  object-fit: contain;
  border: 1px solid rgba(143, 247, 220, 0.28);
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.72);
  cursor: zoom-out;
}.detective-interface .dossier-lightbox-close, .dossier-lightbox-close{
  position: fixed;
  top: 22px;
  right: 24px;
  z-index: 101;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(238, 247, 242, 0.3);
  border-radius: 50%;
  color: #eff7f2;
  background: rgba(3, 6, 7, 0.78);
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}@keyframes dossierPanelNudge{
  0%,
  100% {
    transform: translateY(0);
  }
  45% {
    transform: translateY(-5px);
  }
}.detective-interface .dossier-topline, .detective-interface .dossier-status{
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: rgba(238, 247, 242, 0.72);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}.detective-interface .dossier-topline strong, .detective-interface .dossier-status strong{
  color: var(--acid);
}.detective-interface .dossier-stack{
  position: relative;
  min-height: 286px;
}.detective-interface .dossier-profile{
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-rows: 1fr auto;
  overflow: hidden;
  border: 1px solid rgba(143, 247, 220, 0.22);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(238, 247, 242, 0.05), transparent 44%),
    rgba(3, 6, 7, 0.9);
  box-shadow:
    0 18px 44px rgba(0, 0, 0, 0.38),
    inset 0 0 0 1px rgba(238, 247, 242, 0.04);
  opacity: 0;
  pointer-events: none;
  touch-action: none;
  user-select: none;
  transform: translateY(18px) scale(0.96);
  transition:
    opacity 240ms ease,
    transform 340ms cubic-bezier(0.18, 0.82, 0.16, 1);
}.detective-interface .dossier-profile::before, .detective-interface .dossier-profile::after{
  position: absolute;
  top: 24px;
  z-index: 6;
  padding: 9px 14px;
  border: 3px solid currentColor;
  border-radius: 8px;
  background: rgba(3, 6, 7, 0.42);
  font-size: 15px;
  font-weight: 950;
  letter-spacing: 0.08em;
  line-height: 1;
  text-shadow: 0 0 14px currentColor, 0 1px 8px rgba(0, 0, 0, 0.8);
  text-transform: uppercase;
  opacity: 0;
  pointer-events: none;
  transform: rotate(var(--dossier-label-rotate, 0deg)) scale(0.96);
  transition: opacity 120ms ease, transform 120ms ease;
}.detective-interface .dossier-profile::before{
  content: "Свободен";
  left: 42px;
  color: #ff4e4e;
  --dossier-label-rotate: -8deg;
}.detective-interface .dossier-profile::after{
  content: "Есть вопросики";
  right: 42px;
  color: #55e58b;
  --dossier-label-rotate: 8deg;
}.detective-interface .dossier-profile.is-current, .detective-interface .dossier-profile.is-next{
  opacity: 1;
}.detective-interface .dossier-profile.is-current{
  z-index: 3;
  pointer-events: auto;
  transform: translateY(0) scale(1);
  cursor: grab;
}.detective-interface .dossier-profile.is-current.is-dragging{
  cursor: grabbing;
  transition: opacity 140ms ease;
  transform:
    translate(var(--dossier-drag-x, 0), var(--dossier-drag-y, 0))
    rotate(var(--dossier-drag-rotate, 0deg))
    scale(1.02);
}.detective-interface .dossier-profile.is-current.is-drag-pick{
  box-shadow:
    0 18px 44px rgba(0, 0, 0, 0.38),
    0 0 34px rgba(143, 247, 220, calc(0.2 + var(--dossier-drag-intensity, 0) * 0.38)),
    inset -34px 0 70px rgba(143, 247, 220, calc(0.18 + var(--dossier-drag-intensity, 0) * 0.42)),
    inset 0 0 0 2px rgba(143, 247, 220, calc(0.36 + var(--dossier-drag-intensity, 0) * 0.34));
}.detective-interface .dossier-profile.is-current.is-drag-reject{
  box-shadow:
    0 18px 44px rgba(0, 0, 0, 0.38),
    0 0 34px rgba(255, 78, 78, calc(0.2 + var(--dossier-drag-intensity, 0) * 0.38)),
    inset 34px 0 70px rgba(255, 78, 78, calc(0.18 + var(--dossier-drag-intensity, 0) * 0.42)),
    inset 0 0 0 2px rgba(255, 78, 78, calc(0.36 + var(--dossier-drag-intensity, 0) * 0.34));
}.detective-interface .dossier-profile.is-current.is-drag-reject::before, .detective-interface .dossier-profile.is-current.is-drag-pick::after{
  opacity: calc(0.34 + var(--dossier-drag-intensity, 0) * 0.66);
  transform: rotate(var(--dossier-label-rotate, 0deg)) scale(1.05);
}.detective-interface .dossier-profile.is-next{
  z-index: 2;
  filter: brightness(0.76);
  transform: translateY(18px) scale(0.96);
}.detective-interface .dossier-profile.is-picked{
  transform: translateX(124%) rotate(10deg);
  opacity: 0;
}.detective-interface .dossier-profile.is-rejected{
  transform: translateX(-124%) rotate(-10deg);
  opacity: 0;
}.detective-interface .dossier-profile.is-gone{
  opacity: 0;
}.detective-interface .dossier-photo{
  position: relative;
  display: grid;
  place-items: center;
  min-height: 184px;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 30%, rgba(143, 247, 220, 0.28), transparent 7rem),
    linear-gradient(135deg, rgba(143, 247, 220, 0.12), rgba(255, 78, 78, 0.08));
  isolation: isolate;
}.detective-interface .dossier-photo::after{
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(3, 6, 7, 0) 58%, rgba(3, 6, 7, 0.76) 100%),
    linear-gradient(90deg, rgba(3, 6, 7, 0.16), transparent 28%, transparent 72%, rgba(3, 6, 7, 0.16));
  pointer-events: none;
  z-index: 2;
}.detective-interface .dossier-photo img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  transform: none;
  transform-origin: center top;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
  z-index: 1;
}.detective-interface .photo-one img{
  object-position: center 8%;
}.detective-interface .dossier-photo span{
  display: grid;
  place-items: center;
  width: 96px;
  height: 96px;
  border: 1px solid rgba(238, 247, 242, 0.52);
  border-radius: 50%;
  color: rgba(238, 247, 242, 0.88);
  background: rgba(3, 6, 7, 0.38);
  font-size: 30px;
  font-weight: 950;
}.detective-interface .photo-two{
  background: radial-gradient(circle at 50% 32%, rgba(255, 183, 77, 0.22), transparent 7rem), rgba(238, 236, 229, 0.94);
}.detective-interface .photo-three{
  background: radial-gradient(circle at 50% 32%, rgba(143, 247, 220, 0.2), transparent 7rem), rgba(238, 236, 229, 0.94);
}.detective-interface .photo-four{
  background: radial-gradient(circle at 50% 32%, rgba(255, 78, 78, 0.18), transparent 7rem), rgba(238, 236, 229, 0.94);
}.detective-interface .photo-five{
  background: radial-gradient(circle at 50% 32%, rgba(238, 247, 242, 0.24), transparent 7rem), rgba(3, 6, 7, 0.82);
}.detective-interface .dossier-copy{
  position: relative;
  z-index: 4;
  margin: -48px 34px 18px;
  padding: 10px 16px 12px;
  border-radius: 14px;
  background: rgba(3, 6, 7, 0.42);
  box-shadow:
    0 0 22px rgba(143, 247, 220, 0.12),
    inset 0 0 0 1px rgba(143, 247, 220, 0.14);
  backdrop-filter: blur(5px);
}.detective-interface .dossier-copy span{
  display: none;
}.detective-interface .dossier-copy h3{
  margin: 0;
  color: #eff7f2;
  font-size: 24px;
  line-height: 1.06;
  text-align: center;
  text-shadow: 0 0 14px rgba(238, 247, 242, 0.42), 0 2px 8px rgba(0, 0, 0, 0.78);
}.detective-interface .dossier-copy p{
  display: none;
}.detective-interface .dossier-actions{
  display: flex;
  justify-content: center;
  gap: 12px;
}.detective-interface .dossier-actions button{
  min-width: 116px;
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid rgba(238, 247, 242, 0.18);
  border-radius: 999px;
  color: #eff7f2;
  background: rgba(3, 6, 7, 0.72);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
}.detective-interface .dossier-reject{
  box-shadow: inset 0 0 0 1px rgba(255, 78, 78, 0.22);
}.detective-interface .dossier-actions .dossier-pick{
  min-width: 150px;
  box-shadow: inset 0 0 0 1px rgba(143, 247, 220, 0.32);
}.detective-interface .dossier-reset{
  color: rgba(238, 247, 242, 0.72);
  box-shadow: inset 0 0 0 1px rgba(238, 247, 242, 0.16);
}.detective-interface .dossier-actions button:disabled{
  opacity: 0.38;
  cursor: default;
}.detective-interface .dossier-message{
  min-height: 20px;
  margin: 0;
  color: var(--amber);
  font-size: 13px;
  font-weight: 850;
  text-align: center;
}.detective-interface .dossier-result{
  position: absolute;
  inset: 0;
  z-index: 18;
  display: grid;
  grid-template-rows: 1fr auto;
  align-items: center;
  justify-items: center;
  gap: 18px;
  padding: 34px;
  border-radius: 14px;
  background:
    radial-gradient(circle at 50% 44%, rgba(3, 6, 7, 0.82), rgba(3, 6, 7, 0.96) 72%),
    rgba(3, 6, 7, 0.94);
  box-shadow: inset 0 0 0 1px rgba(143, 247, 220, 0.2);
}.detective-interface .dossier-result[hidden]{
  display: none;
}.detective-interface .dossier-result-content{
  display: grid;
  gap: 14px;
  width: min(380px, 100%);
  color: #eff7f2;
  font-size: 20px;
  font-weight: 850;
  line-height: 1.28;
  text-align: center;
  text-shadow: 0 0 18px rgba(143, 247, 220, 0.18);
}.detective-interface .dossier-result.is-dialog .dossier-result-content{
  text-align: left;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 17px;
  font-weight: 800;
}.detective-interface .dossier-result.is-warning .dossier-result-content{
  color: rgba(238, 247, 242, 0.9);
}.detective-interface .dossier-result-content p{
  margin: 0;
}.detective-interface .dossier-result-reset{
  align-self: end;
  min-height: 44px;
  padding: 0 20px;
  border: 1px solid rgba(143, 247, 220, 0.3);
  border-radius: 999px;
  color: #eff7f2;
  background: rgba(3, 6, 7, 0.72);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: 0 0 26px rgba(143, 247, 220, 0.12);
}.detective-interface .dossier-result.is-tiffany-win .dossier-result-reset{
  display: none;
}.detective-interface .coordinate-map{
  position: relative;
  min-height: 504px;
  overflow: hidden;
  border: 1px solid rgba(143, 247, 220, 0.22);
  border-radius: 8px;
  background:
    radial-gradient(circle at 26% 24%, rgba(143, 247, 220, 0.14), transparent 8rem),
    radial-gradient(circle at 74% 66%, rgba(255, 78, 78, 0.1), transparent 9rem),
    linear-gradient(135deg, rgba(6, 25, 26, 0.96), rgba(3, 8, 10, 0.98));
  box-shadow:
    inset 0 0 0 1px rgba(143, 247, 220, 0.08),
    inset 0 -70px 120px rgba(0, 0, 0, 0.36);
}.detective-interface .map-grid{
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(143, 247, 220, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(143, 247, 220, 0.08) 1px, transparent 1px);
  background-size: 34px 34px;
  opacity: 0.62;
}.detective-interface .map-found-counter{
  position: absolute;
  left: 14px;
  top: 14px;
  z-index: 8;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 30px;
  padding: 6px 9px;
  border: 1px solid rgba(143, 247, 220, 0.38);
  color: rgba(238, 247, 242, 0.82);
  background: rgba(3, 6, 7, 0.72);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
  box-shadow: 0 0 18px rgba(143, 247, 220, 0.12);
  pointer-events: none;
}.detective-interface .map-found-counter strong{
  color: var(--acid);
  font-size: 14px;
  text-shadow: 0 0 10px rgba(143, 247, 220, 0.48);
}.detective-interface .map-found-counter strong.is-flashing{
  animation: counterDigitFlash 0.46s ease-out;
}.detective-interface .map-found-spark{
  position: absolute;
  left: 0;
  top: 0;
  z-index: 9;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: radial-gradient(circle, #fff 0 18%, var(--acid) 20% 54%, rgba(255, 183, 77, 0.85) 56% 100%);
  box-shadow:
    0 0 12px rgba(255, 255, 255, 0.9),
    0 0 24px rgba(143, 247, 220, 0.8),
    0 0 38px rgba(255, 183, 77, 0.4);
  pointer-events: none;
  transform: translate(-50%, -50%);
  animation: foundSparkFly 0.82s cubic-bezier(0.18, 0.82, 0.22, 1) forwards;
}.detective-interface .map-found-spark::after{
  content: "";
  position: absolute;
  left: -18px;
  top: 50%;
  width: 28px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(143, 247, 220, 0.78));
  transform: translateY(-50%) rotate(var(--spark-angle, 0deg));
  transform-origin: right center;
}.detective-interface .map-route{
  position: absolute;
  border: 1px solid rgba(143, 247, 220, 0.38);
  border-color: rgba(143, 247, 220, 0.38) transparent transparent rgba(143, 247, 220, 0.38);
  pointer-events: none;
}.detective-interface .route-one{
  left: 12%;
  top: 18%;
  width: 68%;
  height: 46%;
  transform: rotate(-9deg);
}.detective-interface .route-two{
  left: 22%;
  top: 36%;
  width: 58%;
  height: 40%;
  border-color: transparent rgba(255, 183, 77, 0.32) rgba(255, 183, 77, 0.32) transparent;
  transform: rotate(12deg);
}.detective-interface .map-zone{
  position: absolute;
  z-index: 2;
  display: grid;
  place-items: center;
  min-width: 92px;
  min-height: 38px;
  padding: 8px 10px;
  border: 1px solid rgba(143, 247, 220, 0.32);
  color: rgba(238, 247, 242, 0.74);
  background: rgba(3, 6, 7, 0.5);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}.detective-interface .zone-one{
  left: 12%;
  top: 16%;
}.detective-interface .zone-two{
  right: 13%;
  top: 26%;
}.detective-interface .zone-three{
  left: 17%;
  bottom: 22%;
  color: var(--red);
  border-color: rgba(255, 78, 78, 0.42);
}.detective-interface .zone-four{
  right: 16%;
  bottom: 15%;
  color: var(--amber);
  border-color: rgba(255, 183, 77, 0.38);
}.detective-interface .map-zone::after{
  content: "";
  position: absolute;
  inset: -8px;
  border: 1px solid currentColor;
  opacity: 0;
  transform: scale(0.82);
  pointer-events: none;
}.detective-interface .map-object{
  position: absolute;
  left: var(--x);
  top: var(--y);
  z-index: 3;
  display: block;
  width: 54px;
  height: 42px;
  padding: 0;
  border: 0;
  color: transparent;
  background: transparent;
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.86);
  transition:
    opacity 160ms ease,
    transform 180ms ease,
    color 160ms ease,
    box-shadow 160ms ease;
}.detective-interface .map-object.is-detected{
  opacity: 1;
  color: #eff7f2;
  box-shadow: 0 0 24px rgba(143, 247, 220, 0.26);
  transform: translate(-50%, -50%) scale(1);
}.detective-interface .map-object::before, .detective-interface .map-object::after{
  content: "";
  position: absolute;
  pointer-events: none;
}.detective-interface .object-house::before{
  left: 12px;
  top: 17px;
  width: 30px;
  height: 20px;
  background: rgba(238, 247, 242, 0.88);
  box-shadow: inset 10px 0 0 rgba(143, 247, 220, 0.28);
}.detective-interface .object-house::after{
  left: 9px;
  top: 7px;
  width: 36px;
  height: 24px;
  background: rgba(255, 183, 77, 0.9);
  clip-path: polygon(50% 0, 100% 58%, 0 58%);
}.detective-interface .object-car::before{
  left: 7px;
  top: 18px;
  width: 40px;
  height: 14px;
  border-radius: 10px 12px 6px 6px;
  background: rgba(143, 247, 220, 0.9);
  box-shadow: inset 12px -7px 0 rgba(3, 6, 7, 0.34);
}.detective-interface .object-car::after{
  left: 13px;
  top: 29px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(3, 6, 7, 0.92);
  box-shadow: 20px 0 0 rgba(3, 6, 7, 0.92);
}.detective-interface .object-gold{
  width: 50px;
  height: 34px;
}.detective-interface .object-gold::before{
  left: 9px;
  top: 7px;
  width: 28px;
  height: 10px;
  border-radius: 2px;
  background: rgba(255, 183, 77, 0.98);
  box-shadow:
    8px 8px 0 rgba(255, 214, 116, 0.94),
    -3px 16px 0 rgba(204, 139, 43, 0.96);
}.detective-interface .object-gold.is-detected{
  color: var(--amber);
  box-shadow: 0 0 24px rgba(255, 183, 77, 0.28);
}.detective-interface .object-case-box{
  display: grid;
  place-items: center;
  width: 58px;
  height: 42px;
  color: transparent;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 0;
  font-weight: 900;
  letter-spacing: 0;
  text-shadow: none;
}.detective-interface .object-case-box::before{
  inset: 8px 7px 6px;
  border-radius: 2px;
  background:
    linear-gradient(135deg, rgba(255, 248, 196, 0.22) 0 22%, transparent 23%),
    linear-gradient(180deg, rgba(119, 73, 33, 0.98), rgba(69, 37, 16, 0.98));
  box-shadow:
    inset 0 8px 0 rgba(172, 105, 43, 0.72),
    inset 0 0 0 1px rgba(255, 183, 77, 0.34),
    0 0 16px rgba(255, 183, 77, 0.18);
}.detective-interface .object-case-box::after{
  content: "1801";
  left: 50%;
  top: 53%;
  z-index: 2;
  width: auto;
  height: auto;
  color: transparent;
  background: transparent;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 16px;
  font-weight: 900;
  line-height: 1;
  transform: translate(-50%, -50%);
}.detective-interface .object-case-box.is-detected{
  box-shadow: 0 0 24px rgba(255, 183, 77, 0.28);
}.detective-interface .object-case-box.is-detected::after{
  color: rgba(255, 248, 196, 1);
  text-shadow:
    0 1px 0 rgba(3, 6, 7, 0.92),
    0 0 9px rgba(255, 248, 196, 0.62);
}.detective-interface .object-windmill{
  width: 52px;
  height: 52px;
}.detective-interface .object-windmill::before{
  inset: 8px;
  background:
    radial-gradient(circle, rgba(255, 214, 116, 0.98) 0 18%, transparent 20%),
    conic-gradient(from 18deg, rgba(255, 214, 116, 0.92), transparent 12deg 36deg, rgba(255, 214, 116, 0.92) 38deg 54deg, transparent 56deg 86deg, rgba(255, 214, 116, 0.92) 88deg 108deg, transparent 110deg 144deg, rgba(255, 214, 116, 0.92) 146deg 166deg, transparent 168deg 206deg, rgba(255, 214, 116, 0.92) 208deg 230deg, transparent 232deg 270deg, rgba(255, 214, 116, 0.92) 272deg 292deg, transparent 294deg 336deg, rgba(255, 214, 116, 0.92) 338deg);
  border-radius: 50%;
}.detective-interface .object-windmill::after{
  left: 24px;
  top: 25px;
  width: 4px;
  height: 22px;
  background: rgba(255, 214, 116, 0.75);
}.detective-interface .object-windmill.is-detected{
  color: var(--amber);
  box-shadow: 0 0 24px rgba(255, 183, 77, 0.28);
}.detective-interface .object-ufo.is-detected{
  color: var(--red);
  box-shadow: 0 0 24px rgba(255, 78, 78, 0.28);
}.detective-interface .object-ufo{
  width: 58px;
  height: 34px;
}.detective-interface .object-ufo::before{
  left: 10px;
  top: 14px;
  width: 38px;
  height: 12px;
  border-radius: 50%;
  background: rgba(238, 247, 242, 0.88);
  box-shadow:
    0 0 14px rgba(143, 247, 220, 0.38),
    inset 0 -5px 0 rgba(143, 247, 220, 0.34);
}.detective-interface .object-ufo::after{
  left: 20px;
  top: 7px;
  width: 18px;
  height: 12px;
  border-radius: 18px 18px 0 0;
  background: rgba(143, 247, 220, 0.72);
}.detective-interface .object-crown{
  width: 54px;
  height: 38px;
}.detective-interface .object-crown::before{
  left: 8px;
  top: 8px;
  width: 38px;
  height: 22px;
  background:
    radial-gradient(circle at 14% 20%, rgba(255, 248, 196, 0.95) 0 5%, transparent 6%),
    radial-gradient(circle at 50% 8%, rgba(255, 248, 196, 0.95) 0 5%, transparent 6%),
    radial-gradient(circle at 86% 20%, rgba(255, 248, 196, 0.95) 0 5%, transparent 6%),
    linear-gradient(180deg, rgba(255, 214, 116, 0.98), rgba(204, 139, 43, 0.96));
  clip-path: polygon(0 100%, 0 36%, 23% 68%, 50% 0, 77% 68%, 100% 36%, 100% 100%);
  box-shadow: 0 0 14px rgba(255, 183, 77, 0.34);
}.detective-interface .object-crown::after{
  left: 8px;
  top: 27px;
  width: 38px;
  height: 5px;
  border-radius: 2px;
  background: rgba(255, 248, 196, 0.92);
  box-shadow: inset 0 -2px 0 rgba(139, 84, 21, 0.35);
}.detective-interface .object-crown.is-detected{
  color: var(--amber);
  box-shadow: 0 0 25px rgba(255, 183, 77, 0.34);
}.detective-interface .object-ghost{
  width: 54px;
  height: 48px;
}.detective-interface .object-ghost::before{
  left: 12px;
  top: 6px;
  width: 29px;
  height: 36px;
  border-radius: 18px 18px 10px 10px;
  background:
    radial-gradient(circle at 34% 35%, rgba(3, 6, 7, 0.86) 0 6%, transparent 7%),
    radial-gradient(circle at 64% 35%, rgba(3, 6, 7, 0.86) 0 6%, transparent 7%),
    linear-gradient(180deg, rgba(238, 247, 242, 0.96), rgba(143, 247, 220, 0.76));
  clip-path: polygon(0 26%, 7% 9%, 22% 0, 50% 0, 78% 0, 93% 9%, 100% 26%, 100% 100%, 82% 86%, 66% 100%, 50% 86%, 34% 100%, 18% 86%, 0 100%);
  box-shadow:
    0 0 16px rgba(238, 247, 242, 0.32),
    inset -5px -5px 0 rgba(3, 6, 7, 0.08);
}.detective-interface .object-ghost::after{
  left: 36px;
  top: 20px;
  width: 16px;
  height: 9px;
  border-top: 5px solid rgba(238, 247, 242, 0.88);
  border-radius: 50%;
  transform: rotate(-18deg);
  transform-origin: 2px 7px;
}.detective-interface .object-ghost.is-detected{
  color: #eff7f2;
  box-shadow: 0 0 26px rgba(143, 247, 220, 0.32);
}.detective-interface .object-ghost.is-detected::after{
  animation: ghostWave 0.72s ease-in-out infinite;
}.detective-interface .object-winged-ball{
  width: 74px;
  height: 38px;
}.detective-interface .object-winged-ball::before{
  left: 27px;
  top: 10px;
  z-index: 2;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 62% 32%, rgba(255, 248, 196, 0.98) 0 13%, transparent 15%),
    radial-gradient(circle at 34% 68%, rgba(139, 84, 21, 0.42) 0 15%, transparent 17%),
    radial-gradient(circle at 42% 38%, rgba(255, 214, 116, 0.98), rgba(204, 139, 43, 0.98) 74%);
  box-shadow:
    0 0 18px rgba(255, 183, 77, 0.48),
    inset -4px -4px 0 rgba(77, 42, 11, 0.22),
    inset 3px 3px 0 rgba(255, 248, 196, 0.22);
}.detective-interface .object-winged-ball::after{
  left: 2px;
  top: 5px;
  width: 70px;
  height: 25px;
  background:
    linear-gradient(160deg, transparent 0 12%, rgba(238, 247, 242, 0.88) 13% 17%, transparent 18% 28%, rgba(238, 247, 242, 0.74) 29% 33%, transparent 34% 45%),
    linear-gradient(20deg, transparent 55%, rgba(238, 247, 242, 0.74) 56% 60%, transparent 61% 71%, rgba(238, 247, 242, 0.88) 72% 76%, transparent 77%),
    linear-gradient(172deg, transparent 0 21%, rgba(143, 247, 220, 0.56) 22% 27%, transparent 28% 39%),
    linear-gradient(8deg, transparent 61%, rgba(143, 247, 220, 0.56) 62% 67%, transparent 68%);
  clip-path: polygon(0 38%, 30% 6%, 47% 43%, 53% 43%, 70% 6%, 100% 38%, 71% 67%, 55% 55%, 50% 64%, 45% 55%, 29% 67%);
  filter: drop-shadow(0 0 8px rgba(238, 247, 242, 0.28));
}.detective-interface .object-winged-ball.is-detected{
  color: var(--amber);
  box-shadow: 0 0 26px rgba(255, 183, 77, 0.34);
}.detective-interface .coordinate-map:has(.map-scanner) .map-zone{
  animation: mapZonePulse 4.8s ease-in-out infinite;
}.detective-interface .zone-two{
  animation-delay: 1.2s;
}.detective-interface .zone-three{
  animation-delay: 2.1s;
}.detective-interface .zone-four{
  animation-delay: 3.2s;
}.detective-interface .map-scanner{
  position: absolute;
  left: 10%;
  top: 12%;
  z-index: 5;
  width: 126px;
  height: 82px;
  border: 2px solid rgba(143, 247, 220, 0.82);
  background:
    linear-gradient(90deg, rgba(143, 247, 220, 0.18), rgba(143, 247, 220, 0.02)),
    rgba(3, 6, 7, 0.22);
  box-shadow:
    0 0 0 1px rgba(238, 247, 242, 0.12),
    0 0 28px rgba(143, 247, 220, 0.24),
    inset 0 0 24px rgba(143, 247, 220, 0.14);
  animation: mapScannerRoam 9.6s cubic-bezier(0.45, 0.02, 0.2, 1) infinite;
}.detective-interface .coordinate-map.is-pointer-scanning .map-scanner{
  left: 0;
  top: 0;
  animation: none;
  transform: translate(var(--scanner-x, 0), var(--scanner-y, 0));
  transition: transform 90ms linear;
}.detective-interface .map-scanner.is-read-aborted{
  border-color: rgba(255, 78, 78, 0.95);
  box-shadow:
    0 0 0 1px rgba(255, 78, 78, 0.26),
    0 0 32px rgba(255, 78, 78, 0.38),
    inset 0 0 26px rgba(255, 78, 78, 0.16);
  animation: scannerReadFrameAbort 0.36s ease-in-out 2;
}.detective-interface .map-scanner span{
  position: absolute;
  inset: 10px;
  border: 1px solid rgba(238, 247, 242, 0.42);
}.detective-interface .map-scanner-label{
  position: absolute;
  left: 50%;
  bottom: calc(100% + 8px);
  z-index: 3;
  --read-progress: 0%;
  --read-color: rgba(255, 78, 78, 0.95);
  min-width: 92px;
  max-width: 168px;
  padding: 5px 7px 8px;
  color: rgba(255, 248, 196, 0);
  background: rgba(3, 6, 7, 0.78);
  border: 1px solid rgba(255, 183, 77, 0);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.1;
  text-align: center;
  text-transform: uppercase;
  transform: translateX(-50%) translateY(4px);
  opacity: 0;
  pointer-events: none;
  transition:
    opacity 140ms ease,
    color 140ms ease,
    border-color 140ms ease,
    transform 140ms ease;
  white-space: normal;
}.detective-interface .map-scanner-label::before{
  content: "";
  position: absolute;
  left: 7px;
  right: 7px;
  bottom: 4px;
  height: 2px;
  background:
    linear-gradient(90deg, var(--read-color) var(--read-progress), rgba(255, 183, 77, 0.18) var(--read-progress));
  box-shadow: 0 0 9px var(--read-color);
  opacity: 0;
}.detective-interface .map-scanner-label.is-visible{
  color: rgba(255, 248, 196, 0.96);
  border-color: rgba(255, 183, 77, 0.42);
  opacity: 1;
  text-shadow: 0 0 9px rgba(255, 183, 77, 0.46);
  transform: translateX(-50%);
}.detective-interface .map-scanner-label.is-visible::before{
  opacity: 1;
}.detective-interface .map-scanner-label.is-aborted{
  color: rgba(255, 78, 78, 0.96);
  border-color: rgba(255, 78, 78, 0.62);
  text-shadow: 0 0 11px rgba(255, 78, 78, 0.6);
  animation: scannerReadAbort 0.38s ease-in-out 2;
}.detective-interface .map-scanner-label.is-aborted::before{
  background: linear-gradient(90deg, rgba(255, 78, 78, 0.95), rgba(255, 78, 78, 0.22));
  box-shadow: 0 0 10px rgba(255, 78, 78, 0.5);
}.detective-interface .map-scanner-label.is-visible::after{
  content: "";
  display: inline-block;
  width: 5px;
  height: 1em;
  margin-left: 3px;
  background: currentColor;
  vertical-align: -0.15em;
  animation: scannerLabelCursor 0.7s steps(2, end) infinite;
}.detective-interface .map-scanner::before{
  content: "";
  position: absolute;
  left: 50%;
  top: -18px;
  bottom: -18px;
  width: 1px;
  background: rgba(238, 247, 242, 0.62);
  box-shadow: 0 0 18px rgba(143, 247, 220, 0.7);
  animation: mapScanLine 1.1s ease-in-out infinite;
}.detective-interface .map-scanner::after{
  content: "";
  position: absolute;
  inset: -18px;
  background: radial-gradient(circle, rgba(143, 247, 220, 0.22), transparent 64%);
  opacity: 0.78;
  pointer-events: none;
}.detective-interface .timer-result strong{
  color: var(--amber);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: clamp(84px, 16vw, 148px);
  line-height: 0.9;
  text-shadow:
    0 0 22px rgba(255, 183, 77, 0.34),
    0 0 54px rgba(255, 78, 78, 0.18);
}.detective-interface .timer-result span:last-child{
  max-width: 320px;
  color: #fff0e4;
  font-size: 22px;
  line-height: 1.15;
}.detective-interface .countdown{
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 8;
  color: var(--red);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 138px;
  font-weight: 950;
  line-height: 1;
  transform: translate(-50%, -50%);
  text-shadow: 0 0 42px rgba(255, 78, 78, 0.34);
  pointer-events: none;
}.detective-interface .countdown.is-popping{
  animation: countdownPop 680ms cubic-bezier(0.2, 0.95, 0.18, 1) both;
}.detective-interface .timer-bomb{
  position: absolute;
  left: var(--bomb-x);
  top: var(--bomb-y);
  z-index: 5;
  width: 22px;
  height: 22px;
  border: 0;
  border-radius: 50%;
  color: transparent;
  background:
    radial-gradient(circle at 38% 34%, rgba(238, 247, 242, 0.58) 0 10%, transparent 12%),
    radial-gradient(circle, #1a1a1a 0 54%, #050505 56% 100%);
  box-shadow:
    0 0 0 1px rgba(255, 78, 78, 0.24),
    0 0 18px rgba(255, 78, 78, 0.22);
  transform: translate(-50%, -50%) scale(var(--bomb-scale));
  animation: timerBombAppear 220ms ease-out both, timerBombPulse 1.05s ease-in-out 220ms infinite;
  cursor: pointer;
}.detective-interface .timer-bomb.is-defused{
  animation: bombDefused 160ms ease-out both;
}.detective-interface .timer-bomb::before{
  content: "";
  position: absolute;
  left: 15px;
  top: -5px;
  width: 10px;
  height: 8px;
  border-top: 2px solid var(--amber);
  border-radius: 50%;
  transform: rotate(28deg);
}.detective-interface .timer-bomb::after{
  content: "";
  position: absolute;
  left: 22px;
  top: -8px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--red);
  box-shadow: 0 0 12px rgba(255, 78, 78, 0.56);
}.detective-interface .code-card::before{
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 10%, rgba(143, 247, 220, 0.12), transparent 15rem),
    linear-gradient(135deg, rgba(255, 78, 78, 0.08), transparent 38%),
    repeating-linear-gradient(0deg, rgba(238, 247, 242, 0.035) 0 1px, transparent 1px 6px);
  opacity: 0.72;
  pointer-events: none;
}.detective-interface .laptop{
  position: relative;
  z-index: 1;
  width: min(440px, 100%);
  padding-top: 28px;
}.detective-interface .laptop-screen{
  position: relative;
  min-height: 320px;
  padding: 86px 36px 34px;
  border: 9px solid rgba(4, 10, 11, 0.96);
  border-radius: 18px 18px 10px 10px;
  background:
    linear-gradient(180deg, rgba(143, 247, 220, 0.08), transparent 36%),
    radial-gradient(circle at 50% 30%, rgba(143, 247, 220, 0.12), transparent 12rem),
    #041011;
  box-shadow:
    inset 0 0 0 1px rgba(143, 247, 220, 0.18),
    inset 0 -60px 90px rgba(0, 0, 0, 0.4),
    0 28px 60px rgba(0, 0, 0, 0.44);
}.detective-interface .laptop-screen::after{
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 86px;
  height: 86px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(143, 247, 220, 0.18), transparent 68%);
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.4);
  pointer-events: none;
}.detective-interface .archive-file{
  position: absolute;
  left: 50%;
  top: 54%;
  z-index: 8;
  display: grid;
  width: 48px;
  height: 58px;
  place-items: end center;
  padding-bottom: 9px;
  border: 1px solid rgba(143, 247, 220, 0.45);
  border-radius: 5px 5px 8px 8px;
  color: #dffff7;
  background:
    linear-gradient(135deg, rgba(238, 247, 242, 0.24) 0 18%, transparent 18%),
    linear-gradient(180deg, rgba(143, 247, 220, 0.18), rgba(3, 6, 7, 0.92));
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0.08em;
  box-shadow:
    0 0 0 1px rgba(3, 6, 7, 0.5),
    0 14px 28px rgba(0, 0, 0, 0.32),
    0 0 22px rgba(143, 247, 220, 0.16);
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.42) rotate(0deg);
  animation: archiveFileBurst 1500ms cubic-bezier(0.14, 0.76, 0.17, 1) var(--file-delay, 0ms) both;
  pointer-events: none;
}.detective-interface .archive-file::before{
  content: "";
  position: absolute;
  left: 10px;
  right: 10px;
  top: 17px;
  height: 2px;
  background: rgba(143, 247, 220, 0.36);
  box-shadow:
    0 7px 0 rgba(143, 247, 220, 0.24),
    0 14px 0 rgba(143, 247, 220, 0.16);
}.detective-interface .code-card:has(.archive-file) .laptop-screen::after{
  animation: archiveScreenPulse 760ms ease-out both;
}.detective-interface .laptop-base{
  width: 108%;
  height: 32px;
  margin-left: -4%;
  border-radius: 0 0 42px 42px;
  background:
    linear-gradient(90deg, rgba(238, 247, 242, 0.18), rgba(238, 247, 242, 0.04) 20% 80%, rgba(238, 247, 242, 0.16)),
    #071214;
  box-shadow: 0 18px 36px rgba(0, 0, 0, 0.34);
}.detective-interface .password-note{
  position: absolute;
  left: 32px;
  top: 54px;
  z-index: 4;
  width: 128px;
  min-height: 58px;
  padding: 0;
  color: #182018;
  border: 0;
  background: transparent;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.12;
  transform: rotate(-7deg);
  transform-style: preserve-3d;
  cursor: pointer;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.24);
  transition:
    left 360ms ease,
    top 360ms ease,
    width 360ms ease,
    min-height 360ms ease,
    transform 520ms cubic-bezier(0.2, 0.75, 0.2, 1),
    box-shadow 360ms ease;
}.detective-interface .password-note::before{
  content: "";
  position: absolute;
  left: 26px;
  right: 26px;
  top: -7px;
  height: 14px;
  background: rgba(238, 247, 242, 0.45);
  transform: translateZ(2px);
  transition: opacity 220ms ease;
}.detective-interface .password-note__face{
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 12px 12px 10px;
  background: #f0d57a;
  backface-visibility: hidden;
}.detective-interface .password-note__front{
  background:
    repeating-linear-gradient(-8deg, rgba(24, 32, 24, 0.08) 0 1px, transparent 1px 14px),
    #f0d57a;
}.detective-interface .password-note__back{
  font-size: 18px;
  text-align: center;
  transform: rotateY(180deg);
}.detective-interface .password-note:hover, .detective-interface .password-note:focus-visible{
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.32);
}.detective-interface .password-note:focus-visible{
  outline: 3px solid rgba(143, 247, 220, 0.84);
  outline-offset: 4px;
}.detective-interface .code-card.is-note-open .password-note{
  left: 50%;
  top: 50%;
  z-index: 18;
  width: 178px;
  min-height: 96px;
  transform: translate(-50%, -50%) rotate(0deg) rotateY(180deg);
  box-shadow: 0 26px 50px rgba(0, 0, 0, 0.42);
}.detective-interface .code-card.is-note-open .password-note::before{
  opacity: 0;
}.detective-interface .code-header{
  position: absolute;
  top: 18px;
  right: 26px;
  z-index: 5;
  display: grid;
  gap: 5px;
  justify-items: end;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.14em;
  text-align: right;
  text-transform: uppercase;
}.detective-interface .code-header strong{
  color: var(--red);
}.detective-interface .code-card.is-unlocked .code-header strong{
  color: var(--acid);
}.detective-interface .code-form{
  display: grid;
  gap: 22px;
  justify-items: center;
  margin-top: 56px;
  transition: opacity 180ms ease, transform 180ms ease;
}.detective-interface .code-card.is-unlocked .code-form{
  opacity: 0;
  transform: translateY(10px) scale(0.96);
  pointer-events: none;
}.detective-interface .code-inputs{
  display: grid;
  grid-template-columns: repeat(4, 58px);
  gap: 12px;
}.detective-interface .code-inputs input{
  width: 58px;
  height: 58px;
  border: 1px solid rgba(143, 247, 220, 0.46);
  border-radius: 6px;
  color: var(--acid);
  background: rgba(143, 247, 220, 0.07);
  font: inherit;
  font-size: 30px;
  font-weight: 900;
  text-align: center;
  outline: none;
  box-shadow: inset 0 0 22px rgba(143, 247, 220, 0.05);
}.detective-interface .code-inputs input:focus{
  border-color: var(--acid);
  box-shadow:
    0 0 0 1px rgba(143, 247, 220, 0.28),
    0 0 24px rgba(143, 247, 220, 0.18);
}.detective-interface .code-form button{
  min-width: 148px;
  min-height: 46px;
  border: 1px solid rgba(143, 247, 220, 0.52);
  color: #04100e;
  background: var(--acid);
  font: inherit;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.12em;
  cursor: pointer;
  box-shadow: 0 0 30px rgba(143, 247, 220, 0.24);
}.detective-interface .code-message{
  min-height: 24px;
  margin: 20px 0 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-align: center;
  text-transform: uppercase;
}.detective-interface .code-card.has-code-error .code-inputs input{
  border-color: rgba(255, 78, 78, 0.6);
  box-shadow: 0 0 18px rgba(255, 78, 78, 0.14);
}.detective-interface .code-card.has-code-error .code-message{
  color: var(--red);
}.detective-interface .feed-top{
  position: absolute;
  top: 18px;
  left: 64px;
  right: 18px;
  z-index: 3;
  display: flex;
  justify-content: space-between;
  padding: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}.detective-interface .feed-top strong{
  display: inline-flex;
  align-items: center;
  padding: 3px 6px;
  border: 1px solid rgba(255, 78, 78, 0.62);
  color: var(--red);
  text-transform: none;
}.detective-interface .feed-top strong::before{
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 8px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 14px currentColor;
}.detective-interface .video-feed:not(.is-paused) .feed-top strong{
  animation: recFrameBlink 780ms steps(1, end) infinite;
}.detective-interface .telemetry-readouts{
  position: absolute;
  left: 24px;
  top: 76px;
  z-index: 4;
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 156px;
}.detective-interface .telemetry-readouts span{
  display: block;
  padding: 8px 10px;
  border-left: 2px solid var(--acid);
  color: #c5d4d1;
  background: rgba(3, 6, 7, 0.46);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}.detective-interface .feed-frame{
  position: relative;
  height: 100%;
  min-height: 100%;
  overflow: hidden;
  border: 1px solid rgba(143, 247, 220, 0.22);
  background:
    linear-gradient(90deg, rgba(3, 6, 7, 0.86), transparent 24%, transparent 72%, rgba(3, 6, 7, 0.9)),
    linear-gradient(180deg, rgba(5, 12, 13, 0.06), rgba(5, 12, 13, 0.94)),
    radial-gradient(circle at 54% 42%, rgba(143, 247, 220, 0.18), transparent 16rem),
    linear-gradient(150deg, #0c2025, #020607 72%);
  box-shadow:
    inset 0 0 0 1px rgba(238, 247, 242, 0.04),
    inset 0 -80px 120px rgba(0, 0, 0, 0.52);
  transition: background 120ms ease, box-shadow 120ms ease;
}.detective-interface .feed-frame > *{
  transition: opacity 120ms ease;
}.detective-interface .feed-frame::before{
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(110deg, transparent 0 40%, rgba(238, 247, 242, 0.08) 41% 42%, transparent 43% 100%),
    repeating-linear-gradient(0deg, rgba(238, 247, 242, 0.06) 0 1px, transparent 1px 5px);
  opacity: 0.52;
}.detective-interface .feed-frame::after{
  content: "";
  position: absolute;
  inset: 20% 7% 13% 14%;
  border: 1px solid rgba(143, 247, 220, 0.18);
  clip-path: polygon(0 0, 56% 0, 56% 18%, 100% 18%, 100% 100%, 0 100%);
}.detective-interface .camera-alert{
  position: absolute;
  top: 18px;
  left: 24px;
  z-index: 5;
  padding: 5px 8px;
  border: 1px solid rgba(255, 78, 78, 0.42);
  color: var(--red);
  background: rgba(3, 6, 7, 0.64);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}.detective-interface .camera-reticle{
  position: absolute;
  left: 48%;
  top: 45%;
  z-index: 5;
  width: 132px;
  height: 92px;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(143, 247, 220, 0.36);
  box-shadow: 0 0 28px rgba(143, 247, 220, 0.1);
  opacity: 1;
  transition: opacity 320ms ease;
  animation: cameraSearch 24s ease-in-out infinite;
}.detective-interface .camera-reticle span{
  position: absolute;
  width: 20px;
  height: 20px;
  border-color: var(--acid);
  opacity: 0.72;
}.detective-interface .camera-reticle span:nth-child(1){
  left: -1px;
  top: -1px;
  border-top: 2px solid;
  border-left: 2px solid;
}.detective-interface .camera-reticle span:nth-child(2){
  right: -1px;
  top: -1px;
  border-top: 2px solid;
  border-right: 2px solid;
}.detective-interface .camera-reticle span:nth-child(3){
  right: -1px;
  bottom: -1px;
  border-right: 2px solid;
  border-bottom: 2px solid;
}.detective-interface .camera-reticle span:nth-child(4){
  left: -1px;
  bottom: -1px;
  border-left: 2px solid;
  border-bottom: 2px solid;
}.detective-interface .video-feed.is-paused .beam, .detective-interface .video-feed.is-paused .pulse, .detective-interface .video-feed.is-paused .waveform span{
  animation-play-state: paused;
}.detective-interface .video-feed.is-paused .feed-frame::before{
  opacity: 0.2;
}.detective-interface .video-feed.is-paused .feed-top strong{
  border-color: transparent;
  box-shadow: none;
  color: var(--amber);
}.detective-interface .video-feed.is-paused .feed-top strong::before{
  content: "Ⅱ";
  width: auto;
  height: auto;
  margin-right: 7px;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: currentColor;
  font-size: 13px;
  line-height: 1;
  animation: pauseGlyphBlink 640ms steps(1, end) infinite;
}.detective-interface .video-feed.is-paused .camera-reticle{
  left: 70%;
  top: 71.5%;
  opacity: 1;
  animation: none;
  border-color: rgba(143, 247, 220, 0.42);
  box-shadow: 0 0 20px rgba(143, 247, 220, 0.12);
}.detective-interface .video-feed.is-camera-blinking .camera-reticle{
  animation: cameraTargetFlash 300ms steps(1, end) 3 both;
}.detective-interface .video-feed.is-paused .camera-alert{
  color: var(--amber);
  border-color: rgba(240, 215, 160, 0.44);
}.detective-interface .corpse-token{
  position: absolute;
  right: 22%;
  bottom: 22.2%;
  z-index: 6;
  width: 58px;
  height: 16px;
  border-radius: 999px 999px 4px 4px;
  background: rgba(0, 0, 0, 0.92);
  box-shadow:
    0 0 0 1px rgba(143, 247, 220, 0.18),
    0 0 18px rgba(143, 247, 220, 0.12),
    0 0 28px rgba(0, 0, 0, 0.76);
  opacity: 0;
  transform: rotate(-7deg) scale(0.62);
  transition: opacity 90ms ease, transform 120ms ease;
}.detective-interface .corpse-token::before{
  content: "";
  position: absolute;
  left: -7px;
  top: 1px;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.94);
}.detective-interface .corpse-token::after{
  content: "";
  position: absolute;
  right: -13px;
  bottom: 1px;
  width: 24px;
  height: 7px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.92);
  transform: rotate(10deg);
}.detective-interface .video-feed.is-paused .corpse-token{
  opacity: 1;
  transform: rotate(-7deg) scale(1);
}.detective-interface .video-feed.is-camera-blinking .corpse-token{
  animation: corpseFlash 300ms steps(1, end) 3 both;
}.detective-interface .horizon{
  position: absolute;
  left: -8%;
  right: -8%;
  bottom: 22%;
  height: 30%;
  background:
    repeating-linear-gradient(170deg, rgba(72, 199, 216, 0.14) 0 5px, transparent 6px 42px),
    linear-gradient(180deg, transparent, rgba(72, 199, 216, 0.08));
  transform: rotate(-2deg);
}.detective-interface .lighthouse{
  position: absolute;
  right: 18%;
  bottom: 10%;
  width: 116px;
  height: 410px;
  transform: rotate(-2deg);
}.detective-interface .lantern, .detective-interface .tower{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  display: block;
}.detective-interface .lantern{
  top: 0;
  width: 74px;
  height: 52px;
  border: 1px solid rgba(238, 247, 242, 0.45);
  background: rgba(143, 247, 220, 0.16);
  box-shadow: 0 0 50px rgba(143, 247, 220, 0.28);
}.detective-interface .tower{
  top: 52px;
  width: 68px;
  height: 288px;
  background: linear-gradient(90deg, rgba(238, 247, 242, 0.58), rgba(83, 102, 101, 0.54));
  clip-path: polygon(24% 0, 76% 0, 100% 100%, 0 100%);
}.detective-interface .beam{
  position: absolute;
  right: 23%;
  top: 14%;
  width: 96%;
  height: 38%;
  background: linear-gradient(90deg, transparent, rgba(143, 247, 220, 0.15) 34%, rgba(238, 247, 242, 0.48));
  clip-path: polygon(0 42%, 100% 0, 100% 100%, 0 58%);
  animation: sweep 6s ease-in-out infinite;
}.detective-interface .timestamp, .detective-interface .subtitles{
  position: absolute;
  z-index: 2;
}.detective-interface .timestamp{
  left: 24px;
  right: 18px;
  top: 48px;
  color: var(--acid);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 14px;
}.detective-interface .camera-target{
  position: absolute;
  right: 58px;
  top: 47%;
  z-index: 5;
  padding: 7px 10px;
  border: 1px solid rgba(143, 247, 220, 0.32);
  color: var(--acid);
  background: rgba(3, 6, 7, 0.58);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}.detective-interface .camera-target::before{
  content: "";
  position: absolute;
  left: -56px;
  top: 50%;
  width: 56px;
  border-top: 1px solid rgba(143, 247, 220, 0.42);
}.detective-interface .subtitles{
  left: auto;
  right: 28px;
  bottom: 24px;
  max-width: 310px;
  padding: 12px 14px;
  color: var(--amber);
  background: rgba(3, 6, 7, 0.56);
  font-size: 22px;
  font-weight: 750;
  text-transform: lowercase;
}.detective-interface .event-log{
  position: relative;
  z-index: auto;
  align-self: auto;
  min-height: 560px;
  margin-left: 0;
  padding: 28px 24px 34px;
  border-left: 1px solid rgba(143, 247, 220, 0.12);
  background:
    radial-gradient(circle at 50% 0, rgba(143, 247, 220, 0.08), transparent 14rem),
    rgba(3, 6, 7, 0.5);
  overflow: hidden;
  contain: layout paint;
  overflow-anchor: none;
}.detective-interface .log-header{
  display: flex;
  justify-content: space-between;
  margin-bottom: 18px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}.detective-interface .log-header strong{
  color: var(--red);
}.detective-interface .event-log.is-hover-paused .log-header strong, .detective-interface .event-log.is-hint-hovered .log-header strong, .detective-interface .event-log:hover .log-header strong{
  animation: onlineAlert 520ms steps(1, end) infinite;
}.detective-interface .event-log ol{
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 10px;
  margin: 0;
  padding: 0 0 8px;
  list-style: none;
  height: 450px;
  max-height: 450px;
  overflow: hidden;
  overflow-anchor: none;
  contain: layout paint;
}.detective-interface .event-log li{
  position: relative;
  flex: 0 0 auto;
  width: fit-content;
  max-width: 92%;
  padding: 8px 12px;
  border: 1px solid rgba(143, 247, 220, 0.16);
  border-radius: 16px 16px 16px 4px;
  background: rgba(143, 247, 220, 0.1);
  transform: translateY(calc(var(--log-shift, 0px) + var(--hover-push, 0px) + 34px));
  opacity: 0;
  transition:
    opacity 420ms ease,
    transform 760ms cubic-bezier(0.18, 0.82, 0.16, 1),
    margin 320ms ease,
    padding 320ms ease,
    max-height 320ms ease;
  max-height: 112px;
  will-change: opacity, transform;
}.detective-interface .event-log li.is-new{
  transform: translateY(calc(var(--log-shift, 0px) + 96px));
}.detective-interface .event-log li.is-new.is-visible{
  animation: logFloatIn 820ms cubic-bezier(0.18, 0.82, 0.16, 1) both;
}.detective-interface .event-log li.is-visible{
  opacity: 1;
  transform: translateY(calc(var(--log-shift, 0px) + var(--hover-push, 0px)));
}.detective-interface .event-log.is-hover-paused li.is-visible:not(.is-new):not(.is-intruding), .detective-interface .event-log.is-hint-hovered li.is-visible:not(.is-new):not(.is-intruding), .detective-interface .event-log:hover li.is-visible:not(.is-new):not(.is-intruding){
  animation: bubbleJitter 160ms steps(2, end) infinite;
}.detective-interface .event-log.is-intruder-shifting li.is-visible:not(.hover-intruder){
  animation: none !important;
}.detective-interface .event-log.has-intruder-bubble li.is-visible:not(.is-intruding){
  animation: none !important;
}.detective-interface .event-log.is-hover-paused li.is-visible:not(.is-new):not(.is-intruding):nth-child(2n), .detective-interface .event-log.is-hint-hovered li.is-visible:not(.is-new):not(.is-intruding):nth-child(2n), .detective-interface .event-log:hover li.is-visible:not(.is-new):not(.is-intruding):nth-child(2n){
  animation-delay: 40ms;
}.detective-interface .event-log.is-hover-paused li.is-visible:not(.is-new):not(.is-intruding):nth-child(3n), .detective-interface .event-log.is-hint-hovered li.is-visible:not(.is-new):not(.is-intruding):nth-child(3n), .detective-interface .event-log:hover li.is-visible:not(.is-new):not(.is-intruding):nth-child(3n){
  animation-delay: 80ms;
}.detective-interface .event-log li.is-leaving{
  opacity: 0;
  transform: translateY(-14px);
}.detective-interface .event-log li::before{
  content: "Смотритель";
  display: block;
  margin-bottom: 4px;
  color: var(--acid);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}.detective-interface .event-log li.from-b{
  justify-self: end;
  border-radius: 16px 16px 4px 16px;
  border-color: rgba(240, 215, 160, 0.18);
  background: rgba(240, 215, 160, 0.1);
}.detective-interface .event-log li.from-b::before{
  content: "Вы";
  color: var(--amber);
}.detective-interface .event-log li.from-system{
  justify-self: center;
  max-width: 86%;
  border-radius: 10px;
  text-align: center;
}.detective-interface .event-log li.from-system::before{
  content: "Система";
  color: var(--amber);
}.detective-interface .event-log li.from-unknown{
  max-width: 88%;
  border-color: rgba(255, 78, 78, 0.72);
  background:
    linear-gradient(90deg, rgba(255, 78, 78, 0.2), rgba(255, 78, 78, 0.04)),
    rgba(20, 4, 6, 0.72);
  box-shadow:
    0 0 0 1px rgba(255, 78, 78, 0.14),
    0 0 24px rgba(255, 78, 78, 0.2);
}.detective-interface .event-log li.from-unknown::before{
  content: "Неизвестный";
  color: var(--red);
  text-shadow: 0 0 14px rgba(255, 78, 78, 0.46);
}.detective-interface .event-log li.from-unknown p{
  color: #ffd6d6;
}.detective-interface .event-log li.hover-intruder.is-intruding.is-visible{
  animation: intruderReveal 760ms cubic-bezier(0.18, 0.82, 0.16, 1) both;
}.detective-interface .event-log time{
  display: block;
  color: rgba(238, 247, 242, 0.42);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 10px;
}.detective-interface .event-log p{
  margin: 3px 0 0;
  color: #bfd0cd;
  font-size: 14px;
  line-height: 1.24;
}.detective-interface .presence-section, .detective-interface .archive-section{
  max-width: 1320px;
  margin: 0 auto;
  padding: 92px clamp(18px, 4vw, 58px);
}.detective-interface .section-copy{
  max-width: 780px;
  margin-bottom: 34px;
}.detective-interface .section-copy h2{
  margin-bottom: 18px;
  font-size: clamp(34px, 4.6vw, 68px);
  line-height: 1;
}.detective-interface .section-copy p:last-child{
  color: #bfd0cd;
  font-size: 17px;
  line-height: 1.5;
}.detective-interface .presence-grid, .detective-interface .channels{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}.detective-interface .presence-grid article, .detective-interface .channel{
  min-height: 220px;
  padding: 24px;
}.detective-interface .presence-grid span, .detective-interface .channel span{
  display: block;
  margin-bottom: 38px;
  color: var(--acid);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}.detective-interface .presence-grid h3, .detective-interface .channel h3{
  margin-bottom: 12px;
  color: var(--amber);
  font-size: 26px;
}.detective-interface .presence-grid p, .detective-interface .channel p{
  color: var(--muted);
  line-height: 1.45;
}.detective-interface .channel{
  position: relative;
  overflow: hidden;
}.detective-interface .channel::after{
  content: "";
  position: absolute;
  inset: auto -20% 24px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(143, 247, 220, 0.5), transparent);
}.detective-interface .channel.active{
  border-color: rgba(143, 247, 220, 0.42);
}.detective-interface .channel:not(.active){
  filter: saturate(0.6);
}@keyframes pulse{
  0%,
  100% {
    opacity: 0.36;
    transform: scale(0.82);
  }
  50% {
    opacity: 1;
    transform: scale(1.12);
  }
}@keyframes wave{
  0%,
  100% {
    height: 14px;
  }
  50% {
    height: 58px;
  }
}@keyframes sweep{
  0%,
  100% {
    opacity: 0.2;
    transform: rotate(-7deg);
  }
  50% {
    opacity: 0.78;
    transform: rotate(4deg);
  }
}@keyframes cardEnterFromRight{
  0% {
    opacity: 0;
    transform: translate(54%, -50%) rotate(5deg) scale(0.96);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, -50%) rotate(0deg) scale(1);
  }
}@media (max-width: 940px){.detective-interface .live-layout{
    grid-template-columns: 1fr;
    gap: 0;
  }.detective-interface .case-intro{
    min-height: auto;
    padding-top: 28px;
  }.detective-interface .channel-deck{
    min-height: 610px;
    transform: none;
    margin-top: 18px;
    --card-y: 292px;
    --active-card-shift: 0px;
  }.detective-interface .channel-deck.has-open-hint{
    --active-card-shift: 140px;
  }.detective-interface .channel-deck.has-visible-hint:not(.has-open-hint){
    --active-card-shift: 0px;
  }.detective-interface .deck-hint{
    left: 50%;
    top: calc(var(--card-y, 292px) - 410px);
    width: min(560px, 92vw);
    padding: 10px 12px;
    font-size: 12px;
    line-height: 1.2;
    transform: translate(-50%, 6px);
  }.detective-interface .deck-hint.is-visible{
    transform: translate(-50%, 0);
  }.detective-interface .channel-deck::before{
    display: none;
  }.detective-interface .deck-card{
    width: min(560px, 92vw);
    height: auto;
    min-height: 520px;
    inset: var(--card-y, 292px) auto auto 50%;
  }.detective-interface .event-log ol{
    padding-top: 0;
  }.detective-interface .deck-card.incoming-call{
    width: min(330px, 86vw);
    min-height: 500px;
    padding: 48px 26px 30px;
    border-radius: 42px;
  }.detective-interface .incoming-call::before{
    width: 74px;
  }.detective-interface .incoming-call::after{
    width: 88px;
  }.detective-interface .incoming-call .avatar{
    width: 86px;
    height: 86px;
  }.detective-interface .incoming-call .waveform{
    height: 112px;
    margin: 28px 0;
  }.detective-interface .incoming-call .call-actions{
    gap: 28px;
  }.detective-interface .incoming-call .round-button{
    width: 78px;
    height: 78px;
    font-size: 11px;
  }.detective-interface .archive-scene{
    height: 500px;
  }.detective-interface .archive-box{
    left: 50%;
    bottom: 184px;
    width: min(300px, 82vw);
  }.detective-interface .summary-box{
    right: 50%;
    bottom: 58px;
    width: min(220px, 70vw);
    transform: translateX(50%);
  }.detective-interface .summary-box.is-ready{
    transform: translateX(50%) translateY(-3px) scale(1.02);
  }.detective-interface .archive-document{
    left: 50%;
    bottom: 256px;
  }.detective-interface .archive-document.is-sorted{
    transform: translateX(-50%) translate(var(--sorted-x, 0), var(--sorted-y, 170px)) rotate(var(--sorted-r, 4deg)) scale(0.64);
  }.detective-interface .archive-document-needed.is-found{
    transform: translateX(-50%) translate(0, -94px) rotate(0deg) scale(1.08);
  }.detective-interface .coordinate-card{
    min-height: 520px;
    padding: 20px;
  }.detective-interface .coordinate-map{
    min-height: 480px;
  }.detective-interface .map-scanner{
    width: 96px;
    height: 66px;
    animation-name: mapScannerRoamMobile;
  }.detective-interface .feed-frame{
    min-height: 520px;
  }.detective-interface .deck-nav{
    position: relative;
    left: auto;
    top: auto;
    width: 100vw;
    height: 46px;
    margin: 18px 0 0 calc(50% - 50vw);
    padding: 0;
    overflow-x: hidden;
    overflow-y: hidden;
    transform: none;
  }.detective-interface .deck-nav::before, .detective-interface .deck-nav::after{
    display: none;
  }.detective-interface .deck-nav-track{
    display: flex;
    align-items: center;
    gap: 64px;
    width: max-content;
    min-width: max-content;
    height: 100%;
    transform: translateX(var(--mobile-track-x, 0));
    will-change: transform;
  }.detective-interface .deck-nav-track.is-paused{
    animation-play-state: paused;
  }.detective-interface .deck-nav button{
    position: relative;
    left: auto;
    top: auto;
    flex: 0 0 auto;
    max-width: none;
    white-space: nowrap;
    min-height: 38px;
    font-size: clamp(18px, 5vw, 26px);
    opacity: 0.38;
    transform: none;
    transform-origin: 50% 50%;
    pointer-events: auto;
    transition:
      opacity 220ms ease,
      color 220ms ease,
      text-shadow 220ms ease;
  }.detective-interface .deck-nav button.is-marquee-copy{
    display: block;
    pointer-events: auto;
  }.detective-interface .deck-nav button.is-active{
    transform: none;
  }.detective-interface .deck-nav button:focus, .detective-interface .deck-nav button:focus-visible{
    outline: none;
  }
}@keyframes mobileNavMarquee{
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}@keyframes cameraSearch{
  0% {
    left: 31%;
    top: 38%;
  }

  12% {
    left: 58%;
    top: 31%;
  }

  23% {
    left: 72%;
    top: 51%;
  }

  36% {
    left: 42%;
    top: 63%;
  }

  49% {
    left: 24%;
    top: 55%;
  }

  62% {
    left: 66%;
    top: 68%;
  }

  75% {
    left: 78%;
    top: 40%;
  }

  88% {
    left: 36%;
    top: 29%;
  }

  100% {
    left: 31%;
    top: 38%;
  }
}@keyframes cameraTargetFlash{
  0%,
  28% {
    border-color: rgba(238, 247, 242, 0.95);
    box-shadow:
      0 0 0 1px rgba(238, 247, 242, 0.32),
      0 0 34px rgba(238, 247, 242, 0.52),
      0 0 62px rgba(255, 78, 78, 0.22);
  }

  29%,
  56% {
    border-color: rgba(255, 78, 78, 0.24);
    box-shadow: none;
  }

  57%,
  100% {
    border-color: rgba(255, 78, 78, 0.72);
    box-shadow:
      0 0 0 1px rgba(255, 78, 78, 0.18),
      0 0 24px rgba(255, 78, 78, 0.24);
  }
}@keyframes corpseFlash{
  0%,
  28% {
    filter: brightness(1.9) contrast(1.35);
    box-shadow:
      0 0 0 1px rgba(238, 247, 242, 0.34),
      0 0 30px rgba(238, 247, 242, 0.48),
      0 0 58px rgba(143, 247, 220, 0.24);
  }

  29%,
  56% {
    filter: brightness(0.45) contrast(1.8);
    box-shadow:
      0 0 0 1px rgba(143, 247, 220, 0.06),
      0 0 18px rgba(0, 0, 0, 0.68);
  }

  57%,
  100% {
    filter: none;
    box-shadow:
      0 0 0 1px rgba(143, 247, 220, 0.18),
      0 0 18px rgba(143, 247, 220, 0.12),
      0 0 28px rgba(0, 0, 0, 0.76);
  }
}@keyframes recFrameBlink{
  0%,
  49% {
    border-color: rgba(255, 78, 78, 0.82);
    box-shadow:
      0 0 0 1px rgba(255, 78, 78, 0.16),
      0 0 16px rgba(255, 78, 78, 0.22);
  }

  50%,
  100% {
    border-color: rgba(255, 78, 78, 0.18);
    box-shadow: none;
  }
}@keyframes pauseGlyphBlink{
  0%,
  49% {
    opacity: 1;
  }

  50%,
  100% {
    opacity: 0.18;
  }
}@keyframes mapScannerRoam{
  0% {
    transform: translate(0, 0) rotate(-3deg);
  }

  13% {
    transform: translate(210px, 46px) rotate(4deg);
  }

  27% {
    transform: translate(92px, 250px) rotate(-8deg);
  }

  41% {
    transform: translate(286px, 180px) rotate(7deg);
  }

  57% {
    transform: translate(34px, 322px) rotate(2deg);
  }

  73% {
    transform: translate(318px, 72px) rotate(-5deg);
  }

  88% {
    transform: translate(154px, 336px) rotate(6deg);
  }

  100% {
    transform: translate(0, 0) rotate(-3deg);
  }
}@keyframes mapScannerRoamMobile{
  0% {
    transform: translate(0, 0) rotate(-3deg);
  }

  16% {
    transform: translate(118px, 44px) rotate(5deg);
  }

  32% {
    transform: translate(38px, 226px) rotate(-7deg);
  }

  49% {
    transform: translate(140px, 160px) rotate(6deg);
  }

  66% {
    transform: translate(18px, 316px) rotate(2deg);
  }

  84% {
    transform: translate(130px, 86px) rotate(-5deg);
  }

  100% {
    transform: translate(0, 0) rotate(-3deg);
  }
}@keyframes mapScanLine{
  0%,
  100% {
    transform: translateX(-44px);
    opacity: 0.18;
  }

  50% {
    transform: translateX(44px);
    opacity: 1;
  }
}@keyframes scannerLabelCursor{
  0%,
  49% {
    opacity: 1;
  }

  50%,
  100% {
    opacity: 0;
  }
}@keyframes scannerReadAbort{
  0%,
  100% {
    transform: translateX(-50%);
  }

  35% {
    transform: translateX(calc(-50% - 3px));
  }

  70% {
    transform: translateX(calc(-50% + 3px));
  }
}@keyframes scannerReadFrameAbort{
  0%,
  100% {
    transform: translate(var(--scanner-x, 0), var(--scanner-y, 0));
  }

  35% {
    transform: translate(calc(var(--scanner-x, 0) - 4px), var(--scanner-y, 0));
  }

  70% {
    transform: translate(calc(var(--scanner-x, 0) + 4px), var(--scanner-y, 0));
  }
}@keyframes counterDigitFlash{
  0% {
    color: #ffffff;
    text-shadow:
      0 0 8px rgba(255, 255, 255, 0.95),
      0 0 22px rgba(143, 247, 220, 0.95),
      0 0 38px rgba(255, 183, 77, 0.55);
    transform: scale(1.34);
  }

  55% {
    color: var(--amber);
    text-shadow:
      0 0 14px rgba(255, 183, 77, 0.9),
      0 0 30px rgba(143, 247, 220, 0.45);
    transform: scale(1.12);
  }

  100% {
    color: var(--acid);
    text-shadow: 0 0 10px rgba(143, 247, 220, 0.48);
    transform: scale(1);
  }
}@keyframes foundSparkFly{
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) translate(0, 0) scale(0.64);
  }

  12% {
    opacity: 1;
    transform: translate(-50%, -50%) translate(0, 0) scale(1.28);
  }

  72% {
    opacity: 1;
    transform:
      translate(-50%, -50%)
      translate(calc(var(--spark-x) * 0.9), calc(var(--spark-y) * 0.9))
      scale(1);
  }

  100% {
    opacity: 0;
    transform:
      translate(-50%, -50%)
      translate(var(--spark-x), var(--spark-y))
      scale(0.28);
  }
}@keyframes ghostWave{
  0%,
  100% {
    transform: rotate(-18deg);
  }

  50% {
    transform: rotate(28deg);
  }
}@keyframes mapZonePulse{
  0%,
  72%,
  100% {
    filter: none;
    box-shadow: none;
  }

  8%,
  18% {
    filter: brightness(1.35);
    box-shadow:
      0 0 0 1px currentColor,
      0 0 28px rgba(143, 247, 220, 0.24);
  }
}@keyframes archiveFileBurst{
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.34) rotate(0deg);
    filter: brightness(1.7);
  }

  14% {
    opacity: 1;
  }

  72% {
    opacity: 1;
    transform:
      translate(calc(-50% + var(--file-x)), calc(-50% + var(--file-y)))
      scale(1)
      rotate(var(--file-rotate));
  }

  100% {
    opacity: 0;
    transform:
      translate(calc(-50% + var(--file-x)), calc(-50% + var(--file-y) - 22px))
      scale(0.86)
      rotate(var(--file-rotate));
    filter: brightness(1);
  }
}@keyframes archiveScreenPulse{
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.35);
  }

  28% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.8);
  }

  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(2.8);
  }
}@keyframes timerBombAppear{
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(calc(var(--bomb-scale) * 0.55));
    filter: brightness(1.3);
  }

  100% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(var(--bomb-scale));
    filter: brightness(1);
  }
}@keyframes timerBombPulse{
  0%,
  100% {
    transform: translate(-50%, -50%) scale(var(--bomb-scale));
    box-shadow:
      0 0 0 1px rgba(255, 78, 78, 0.24),
      0 0 18px rgba(255, 78, 78, 0.22);
  }

  50% {
    transform: translate(-50%, -50%) scale(calc(var(--bomb-scale) * 1.14));
    box-shadow:
      0 0 0 1px rgba(255, 78, 78, 0.42),
      0 0 28px rgba(255, 78, 78, 0.42);
  }
}@keyframes bombDefused{
  from {
    opacity: 1;
    transform: translate(-50%, -50%) scale(var(--bomb-scale));
    filter: brightness(1.6);
  }

  to {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.12);
    filter: brightness(2.6);
  }
}@keyframes archiveFileDiscard{
  0% {
    opacity: 1;
    transform: translateX(-50%) translate(var(--rest-x, 0), var(--rest-y, 0)) rotate(var(--rest-r, 0deg));
  }

  100% {
    opacity: 0;
    transform: translateX(-50%) translate(var(--pull-x), -360px) rotate(var(--pull-r)) scale(0.82);
  }
}@keyframes archiveFileWarning{
  0%,
  100% {
    transform: translateX(-50%) translate(var(--rest-x, 0), var(--rest-y, 0)) rotate(var(--rest-r, 0deg));
  }

  30% {
    transform: translateX(-50%) translate(calc(var(--rest-x, 0) - 8px), var(--rest-y, 0)) rotate(calc(var(--rest-r, 0deg) - 2deg));
  }

  64% {
    transform: translateX(-50%) translate(calc(var(--rest-x, 0) + 8px), var(--rest-y, 0)) rotate(calc(var(--rest-r, 0deg) + 2deg));
  }
}@keyframes countdownPop{
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.42);
    filter: blur(3px) brightness(1.4);
  }

  36% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.16);
    filter: blur(0) brightness(1.2);
  }

  100% {
    opacity: 0.88;
    transform: translate(-50%, -50%) scale(1);
    filter: blur(0) brightness(1);
  }
}@keyframes criticalTimerBlink{
  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: 0.22;
  }
}@keyframes zeroTimerBlink{
  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }
}@keyframes runawayButton{
  0% {
    transform: translate(-50%, -50%) translate(-124px, -116px) rotate(-4deg);
  }

  11% {
    transform: translate(-50%, -50%) translate(112px, -142px) rotate(3deg);
  }

  20% {
    transform: translate(-50%, -50%) translate(28px, -36px) rotate(-2deg);
  }

  31% {
    transform: translate(-50%, -50%) translate(132px, 106px) rotate(4deg);
  }

  42% {
    transform: translate(-50%, -50%) translate(-138px, 86px) rotate(-3deg);
  }

  53% {
    transform: translate(-50%, -50%) translate(-42px, -154px) rotate(2deg);
  }

  64% {
    transform: translate(-50%, -50%) translate(148px, -18px) rotate(-3deg);
  }

  75% {
    transform: translate(-50%, -50%) translate(-18px, 132px) rotate(3deg);
  }

  84% {
    transform: translate(-50%, -50%) translate(-142px, -16px) rotate(-2deg);
  }

  93% {
    transform: translate(-50%, -50%) translate(86px, 72px) rotate(2deg);
  }

  100% {
    transform: translate(-50%, -50%) translate(-124px, -116px) rotate(-4deg);
  }
}@keyframes logFloatIn{
  from {
    opacity: 0;
    transform: translateY(104px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}@keyframes bubbleJitter{
  0% {
    transform: translate(0, calc(var(--log-shift, 0px) + var(--hover-push, 0px))) rotate(0deg);
  }

  25% {
    transform: translate(1px, calc(var(--log-shift, 0px) + var(--hover-push, 0px) - 1px)) rotate(-0.35deg);
  }

  50% {
    transform: translate(-1px, calc(var(--log-shift, 0px) + var(--hover-push, 0px) + 1px)) rotate(0.35deg);
  }

  75% {
    transform: translate(1px, calc(var(--log-shift, 0px) + var(--hover-push, 0px) + 1px)) rotate(0.2deg);
  }

  100% {
    transform: translate(-1px, calc(var(--log-shift, 0px) + var(--hover-push, 0px) - 1px)) rotate(-0.2deg);
  }
}@keyframes intruderReveal{
  0% {
    opacity: 0;
    transform: translateY(var(--log-shift, 0px)) scaleY(0.18);
    filter: saturate(1.8) brightness(1.25);
  }

  52% {
    opacity: 1;
    transform: translateY(var(--log-shift, 0px)) scaleY(1.08);
  }

  100% {
    opacity: 1;
    transform: translateY(var(--log-shift, 0px)) scaleY(1);
    filter: saturate(1) brightness(1);
  }
}@keyframes onlineAlert{
  0%,
  49% {
    color: var(--red);
    text-shadow: 0 0 14px rgba(255, 78, 78, 0.48);
  }

  50%,
  100% {
    color: var(--acid);
    text-shadow: 0 0 14px rgba(143, 247, 220, 0.48);
  }
}@media (max-width: 760px){.detective-interface .topbar, .detective-interface .live-layout, .detective-interface .presence-grid, .detective-interface .channels{
    grid-template-columns: 1fr;
  }.detective-interface .topbar{
    display: grid;
  }.detective-interface .live-layout{
    align-items: start;
  }.detective-interface h1{
    font-size: 48px;
  }.detective-interface .case-line{
    font-size: 16px;
  }.detective-interface .feed-frame{
    min-height: 420px;
  }.detective-interface .call-actions{
    gap: 18px;
  }
}
.detective-interface [hidden],
.detective-interface [data-temporarily-hidden="skills-channel"] {
  display: none !important;
}
