* { box-sizing: border-box; }

:root{
  --bg:#080d14;
  --panel:#111925;
  --panel2:#0d141e;
  --text:#f7f4ec;
  --muted:#9ca7b6;
  --line:rgba(255,255,255,.09);
  --gold:#e8b85e;
  --gold2:#ffd98c;
  --red:#da5b5b;
  --green:#51c790;
}

html,body{
  margin:0;
  min-height:100%;
  background:var(--bg);
  color:var(--text);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}

body{
  min-height:100vh;
  background:
    radial-gradient(circle at 15% 0%, rgba(232,184,94,.12), transparent 30%),
    radial-gradient(circle at 90% 80%, rgba(91,101,174,.12), transparent 35%),
    linear-gradient(180deg,#090e15,#070b11);
}

button,input{font:inherit}
button{touch-action:manipulation}

#app{
  min-height:100vh;
  padding:18px 12px 36px;
  display:flex;
  justify-content:center;
  align-items:center;
}

.screen{
  display:none;
  width:100%;
  max-width:590px;
  animation:screenIn .36s ease;
}
.screen.active{display:block}

@keyframes screenIn{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:translateY(0)}
}

.case-card{
  width:100%;
  padding:26px 22px;
  border:1px solid var(--line);
  border-radius:26px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.025),transparent 20%),
    rgba(17,25,37,.95);
  box-shadow:0 28px 80px rgba(0,0,0,.42);
  position:relative;
  overflow:hidden;
}

.case-card:after{
  content:"";
  position:absolute;
  width:150px;height:150px;border-radius:50%;
  background:rgba(232,184,94,.06);
  filter:blur(40px);
  right:-70px;top:-60px;
  pointer-events:none;
}

.hero-card{text-align:center;padding-top:32px}

.case-stamp{
  display:inline-block;
  color:#f5dba7;
  border:1px solid rgba(232,184,94,.35);
  padding:7px 10px;
  border-radius:7px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.18em;
  transform:rotate(-1deg);
}

.hero-icon{font-size:48px;margin:22px 0 8px}
.kicker{
  color:var(--gold);
  font-weight:900;
  letter-spacing:.16em;
  font-size:11px;
  margin:5px 0;
}

h1{
  margin:5px 0 22px;
  font-size:clamp(43px,12vw,66px);
  line-height:.88;
  letter-spacing:-.055em;
}
h1 span{color:var(--gold)}

h2{
  font-size:33px;
  line-height:1.02;
  letter-spacing:-.035em;
  margin:10px 0 12px;
}

p{color:#d5dbe4;line-height:1.56}
.lead{font-size:17px}
.small{font-size:13px}
.muted{color:var(--muted)}
.centered{text-align:center}

.topline{
  display:flex;
  justify-content:space-between;
  color:var(--gold);
  letter-spacing:.13em;
  font-size:10px;
  font-weight:900;
  margin-bottom:16px;
}

.icon-badge{
  width:58px;height:58px;
  border-radius:17px;
  display:grid;place-items:center;
  font-size:27px;
  border:1px solid rgba(232,184,94,.2);
  background:rgba(232,184,94,.08);
}
.icon-badge.center{margin-left:auto;margin-right:auto}

.alert-box{
  display:flex;
  gap:13px;
  align-items:center;
  text-align:left;
  padding:15px;
  border-radius:17px;
  margin:20px 0;
  border:1px solid var(--line);
}
.alert-box.red{background:rgba(218,91,91,.08);border-color:rgba(218,91,91,.22)}
.alert-box.amber{background:rgba(232,184,94,.08);border-color:rgba(232,184,94,.2)}
.alert-box strong{display:block;font-size:12px;letter-spacing:.08em}
.alert-box p{margin:4px 0 0;font-size:14px}
.alert-icon{font-size:26px}
.big-alert{margin-top:22px}

.divider{height:1px;background:var(--line);margin:22px 0}

.btn{
  width:100%;
  border:0;
  border-radius:15px;
  cursor:pointer;
  padding:15px 16px;
  font-weight:900;
  letter-spacing:.035em;
  transition:transform .12s ease,filter .12s ease;
}
.btn:active{transform:translateY(1px)}
.btn.primary{
  margin-top:9px;
  color:#17120a;
  background:linear-gradient(135deg,var(--gold2),#dfa347);
  box-shadow:0 12px 34px rgba(223,163,71,.14);
}
.btn.compact{
  width:auto;
  min-width:105px;
  background:#e8b85e;
  color:#17120a;
  padding:0 14px;
}

.evidence-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:11px;
  margin:22px 0 14px;
}
.evidence{
  min-height:150px;
  padding:15px;
  text-align:left;
  border-radius:18px;
  color:var(--text);
  background:var(--panel2);
  border:1px solid var(--line);
  cursor:pointer;
}
.evidence:first-child{grid-column:1/-1}
.evidence:active{transform:scale(.99)}
.evidence-no{
  display:block;
  color:var(--gold);
  font-size:9px;
  letter-spacing:.13em;
  font-weight:900;
}
.evidence-emoji{display:block;font-size:31px;margin:14px 0 10px}
.evidence strong{display:block;font-size:14px}
.evidence small{display:block;color:var(--muted);margin-top:4px}

.evidence-viewer{
  margin:12px 0 18px;
  background:#0b111a;
  border:1px solid rgba(232,184,94,.2);
  border-radius:18px;
  padding:18px;
  animation:screenIn .25s ease;
}
.evidence-viewer h3{margin:0 0 12px;font-size:15px;color:#f5dba7}
.evidence-viewer p{margin:7px 0}
.evidence-viewer .paper{
  padding:17px;
  border-radius:4px;
  color:#222;
  background:#e8e1d2;
  box-shadow:0 12px 28px rgba(0,0,0,.22);
  transform:rotate(-.4deg);
  font-family:Georgia,serif;
}
.evidence-viewer .paper p{color:#292929;margin:8px 0}
.evidence-viewer .paper .scribble{
  margin-top:14px;
  font-weight:700;
  color:#6b1515;
}
.evidence-viewer .photo{
  min-height:155px;
  border-radius:14px;
  display:flex;
  align-items:flex-end;
  padding:15px;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 72% 30%, rgba(235,225,192,.55) 0 3%, transparent 4%),
    linear-gradient(145deg,#293126,#111810 58%,#090e09);
}
.evidence-viewer .photo:before,
.evidence-viewer .photo:after{
  content:"";
  position:absolute;
  bottom:-10px;
  width:85px;height:180px;
  background:#10140f;
  border-radius:50% 50% 0 0;
}
.evidence-viewer .photo:before{left:15%;transform:rotate(-7deg)}
.evidence-viewer .photo:after{right:16%;transform:rotate(8deg)}
.evidence-viewer .photo span{
  z-index:2;
  background:rgba(0,0,0,.65);
  padding:7px 9px;
  border-radius:7px;
  font-size:11px;
  color:#e9edf3;
}
.hidden{display:none!important}

.answer-area{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid var(--line);
}
.answer-area label{display:block;font-weight:800;font-size:13px;margin-bottom:9px}
.input-row{display:flex;gap:8px}
input{
  width:100%;
  border:1px solid rgba(255,255,255,.12);
  background:#0b111a;
  color:var(--text);
  border-radius:14px;
  outline:none;
  padding:15px;
}
input:focus{
  border-color:rgba(232,184,94,.65);
  box-shadow:0 0 0 3px rgba(232,184,94,.08);
}
.error{
  color:#ff8f97;
  min-height:18px;
  margin-top:8px;
  font-size:12px;
  font-weight:800;
}

.success-mark{
  width:58px;height:58px;
  border-radius:50%;
  margin:8px 0 14px;
  display:grid;place-items:center;
  font-weight:1000;
  font-size:30px;
  color:#07150f;
  background:var(--green);
  box-shadow:0 0 0 8px rgba(81,199,144,.08);
}
.success-mark.big{width:72px;height:72px;font-size:36px;margin:10px auto 22px}

.tool-card{
  display:flex;
  gap:18px;
  align-items:center;
  padding:18px;
  margin:18px 0 20px;
  border-radius:20px;
  border:1px solid rgba(232,184,94,.18);
  background:linear-gradient(135deg,#171e29,#0c121b);
}
.tool-card img{
  width:95px;
  height:120px;
  object-fit:contain;
  filter:drop-shadow(0 12px 12px rgba(0,0,0,.25));
}
.tool-copy span{
  color:var(--gold);
  display:block;
  font-size:9px;
  letter-spacing:.14em;
  font-weight:900;
}
.tool-copy strong{
  display:block;
  font-size:24px;
  margin:4px 0 2px;
}
.tool-copy p{font-size:13px;margin:4px 0}

.location-card{
  position:relative;
  display:grid;
  gap:7px;
  padding:18px;
  margin:20px 0;
  border-radius:18px;
  border:1px solid rgba(93,128,223,.2);
  background:rgba(93,128,223,.08);
}
.location-card.gold{
  border-color:rgba(232,184,94,.22);
  background:rgba(232,184,94,.07);
}
.location-card span{color:#aebfff;font-size:10px;font-weight:900;letter-spacing:.14em}
.location-card.gold span{color:var(--gold)}
.location-card strong{font-size:18px;word-break:break-word;padding-right:78px}
.ghost-btn{
  position:absolute;right:12px;top:50%;transform:translateY(-50%);
  border:1px solid var(--line);
  border-radius:9px;
  padding:7px 8px;
  background:rgba(255,255,255,.04);
  color:#cbd3df;
  font-size:9px;
  font-weight:900;
  cursor:pointer;
}

.video-wrap{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  border-radius:19px;
  background:#060a10;
  border:1px solid var(--line);
  margin:18px 0;
}
.video-wrap iframe{
  position:absolute;inset:0;width:100%;height:100%;
  border:0;display:none;
}
.video-wrap.has-video iframe{display:block}
.video-wrap.has-video .video-placeholder{display:none}
.video-placeholder{
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  text-align:center;
  color:var(--muted);
  padding:20px;
}
.video-placeholder span{font-size:30px}
.video-placeholder strong{color:#d9e0e9;font-size:12px;letter-spacing:.08em}
.video-placeholder small{font-size:11px}
code{color:#f5dba7}

.clue-box{
  display:flex;
  gap:12px;
  align-items:center;
  padding:14px;
  margin:16px 0 19px;
  border-radius:16px;
  background:rgba(255,255,255,.035);
  border:1px solid var(--line);
}
.clue-box span{font-size:25px}
.clue-box p{margin:0;font-size:13px}
.clue-box.goldish{background:rgba(232,184,94,.05)}

.pin-input{
  margin:15px 0 10px;
  text-align:center;
  font-size:38px;
  font-weight:900;
  letter-spacing:.42em;
  padding-left:.42em;
}

.final-card{padding-top:32px}
.confetti{font-size:23px;letter-spacing:5px;margin-bottom:12px}
.final-message{
  margin:24px 0;
  padding:18px;
  border-radius:18px;
  text-align:left;
  background:rgba(255,255,255,.035);
  border:1px solid var(--line);
}
.final-message p:first-child{margin-top:0}
.final-message p:last-child{margin-bottom:0}
.case-closed{
  display:inline-block;
  margin-top:8px;
  color:#f0c674;
  border:2px solid rgba(232,184,94,.55);
  padding:9px 14px;
  font-weight:1000;
  letter-spacing:.18em;
  transform:rotate(-2deg);
  border-radius:4px;
}

.modal{
  position:fixed;
  inset:0;
  z-index:20;
  padding:18px;
  background:rgba(0,0,0,.74);
  display:flex;
  justify-content:center;
  align-items:center;
  backdrop-filter:blur(7px);
}
.modal-card{
  width:min(100%,520px);
  max-height:82vh;
  overflow:auto;
  background:#101824;
  border:1px solid var(--line);
  border-radius:22px;
  padding:20px;
  box-shadow:0 25px 80px rgba(0,0,0,.55);
}

.toast{
  position:fixed;
  left:50%;bottom:24px;
  transform:translateX(-50%) translateY(20px);
  opacity:0;
  pointer-events:none;
  background:#f5efe2;
  color:#18130d;
  border-radius:12px;
  padding:10px 13px;
  font-size:12px;
  font-weight:900;
  transition:.22s ease;
  z-index:30;
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

@media(max-width:430px){
  #app{align-items:flex-start;padding-top:10px}
  .case-card{border-radius:22px;padding:22px 17px}
  .evidence-grid{grid-template-columns:1fr 1fr}
  .evidence{min-height:138px;padding:13px}
  .tool-card img{width:76px;height:105px}
  .tool-copy strong{font-size:21px}
  .location-card strong{font-size:16px}
  .btn.compact{min-width:92px}
}


.quote-box{
  margin: 20px 0 6px;
  padding: 14px 18px;
  border-left: 3px solid var(--gold);
  text-align: left;
  background: rgba(255,255,255,.03);
  border-radius: 12px;
}
.quote-box p{
  margin: 0;
  font-style: italic;
  color: #f3e1b7;
}

.evidence-viewer .photo{
  min-height: 190px;
  border-radius: 14px;
  display:flex;
  align-items:flex-end;
  justify-content: space-between;
  padding:15px;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 72% 18%, rgba(255,246,204,.75) 0 3%, transparent 6%),
    linear-gradient(180deg,#44544a 0%, #263226 54%, #121712 100%);
}
.evidence-viewer .photo:before{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:38%;
  background:linear-gradient(180deg, rgba(15,22,14,0), rgba(7,10,7,.35) 25%, #0b100c 100%);
}
.evidence-viewer .photo:after{
  content:"";
  position:absolute;
  left:-10%;
  right:-10%;
  bottom:26px;
  height:2px;
  background:rgba(223,233,208,.10);
}
.evidence-viewer .photo span{
  z-index:3;
  background:rgba(0,0,0,.58);
  padding:7px 9px;
  border-radius:7px;
  font-size:11px;
  color:#e9edf3;
}
.tree-scene{
  position:absolute;
  inset:0;
  z-index:1;
}
.tree-trunk{
  position:absolute;
  bottom:26px;
  left:50%;
  transform:translateX(-50%);
  width:18px;
  height:84px;
  background:linear-gradient(180deg,#46321f,#271a12);
  border-radius:8px;
  box-shadow:0 0 0 1px rgba(0,0,0,.15);
}
.tree-canopy{
  position:absolute;
  background:radial-gradient(circle at 45% 40%, #38563a 0%, #244028 60%, #172a1a 100%);
  border-radius:50%;
  filter: drop-shadow(0 8px 10px rgba(0,0,0,.22));
}
.canopy-1{
  width:98px;height:82px;
  left:calc(50% - 66px);
  bottom:96px;
}
.canopy-2{
  width:110px;height:88px;
  left:calc(50% - 16px);
  bottom:100px;
}
.canopy-3{
  width:88px;height:70px;
  left:calc(50% - 4px);
  bottom:126px;
}
.grass{
  position:absolute;
  left:0;right:0;bottom:0;
  height:44px;
  background:
    linear-gradient(180deg, rgba(12,18,12,0), rgba(12,18,12,.25)),
    linear-gradient(0deg,#10150f,#161d14);
}


.btn.secondary{
  margin-top: 0;
  color: var(--text);
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.12);
}

.instruction-card{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:14px;
  margin:14px 0 16px;
  border-radius:16px;
  background: rgba(93,128,223,.07);
  border:1px solid rgba(93,128,223,.18);
}
.instruction-icon{
  font-size:24px;
  line-height:1;
}
.instruction-card strong{
  display:block;
  margin-bottom:4px;
  font-size:14px;
}
.instruction-card p{
  margin:0;
  font-size:13px;
}

.hint-box{
  display:flex;
  gap:14px;
  align-items:center;
  justify-content:space-between;
  padding:15px;
  margin:16px 0 20px;
  border-radius:18px;
  border:1px dashed rgba(232,184,94,.28);
  background: rgba(232,184,94,.05);
}
.hint-box strong{
  display:block;
  margin-bottom:4px;
  font-size:14px;
}
.hint-box p{
  margin:0;
  font-size:13px;
}
.hint-box .btn{
  width:auto;
  flex-shrink:0;
  min-width:170px;
}

.hint-modal .hint-kicker{
  color: var(--gold);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .16em;
  margin-bottom: 6px;
}
.hint-modal h3{
  margin: 0 0 6px;
  font-size: 24px;
}
.hint-modal p{
  margin: 0 0 14px;
}
.hint-modal img{
  display:block;
  width:100%;
  max-height:60vh;
  object-fit:contain;
  border-radius:16px;
  border:1px solid var(--line);
  background:#0b111a;
}

@media(max-width:430px){
  .hint-box{
    flex-direction:column;
    align-items:stretch;
  }
  .hint-box .btn{
    width:100%;
    min-width:0;
  }
}


.location-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:8px;
}

.location-card .location-actions .ghost-btn{
  position:static;
  transform:none;
}

.location-card strong{
  padding-right:0;
}

.map-btn{
  padding-left:10px;
  padding-right:10px;
}

.placeholder-note{
  margin:12px 0 0;
  text-align:center;
  font-size:12px;
  color:var(--muted);
}

@media(max-width:430px){
  .location-actions{
    flex-direction:column;
  }
  .location-card .location-actions .ghost-btn{
    width:100%;
  }
}


.team-box{
  margin-top: 16px;
}

.pin-hint{
  margin-top: 18px;
  text-align: left;
}


/* ===== V7: BYLOS / CLASSIFIED POLISH ===== */

.case-card{
  isolation:isolate;
}

.case-card:before{
  content:"CONFIDENTIAL";
  position:absolute;
  right:18px;
  bottom:14px;
  z-index:-1;
  font-size:34px;
  font-weight:1000;
  letter-spacing:.08em;
  color:rgba(232,184,94,.035);
  transform:rotate(-8deg);
  pointer-events:none;
}

.topline{
  border-bottom:1px solid rgba(255,255,255,.06);
  padding-bottom:11px;
}

.case-stamp{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);
}

.evidence{
  position:relative;
  overflow:hidden;
}

.evidence:after{
  content:"EVIDENCE";
  position:absolute;
  right:-16px;
  bottom:7px;
  font-size:20px;
  font-weight:1000;
  letter-spacing:.08em;
  color:rgba(255,255,255,.025);
  transform:rotate(-10deg);
}

.dossier-line{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin:10px 0 0;
  padding-top:10px;
  border-top:1px dashed rgba(255,255,255,.08);
  color:var(--muted);
  font-size:10px;
  letter-spacing:.08em;
}

.transition-overlay{
  position:fixed;
  inset:0;
  z-index:100;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(5,8,12,.92);
  backdrop-filter:blur(10px);
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
}

.transition-overlay.show{
  opacity:1;
  pointer-events:auto;
}

.transition-card{
  width:min(100%,440px);
  text-align:center;
  padding:28px 22px;
  border-radius:22px;
  border:1px solid rgba(232,184,94,.25);
  background:linear-gradient(180deg,#111925,#0b1119);
  box-shadow:0 30px 90px rgba(0,0,0,.5);
}

.transition-check{
  width:68px;
  height:68px;
  margin:0 auto 16px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--green);
  color:#07150f;
  font-size:35px;
  font-weight:1000;
  box-shadow:0 0 0 9px rgba(81,199,144,.08);
}

.transition-kicker{
  color:var(--gold);
  font-size:10px;
  font-weight:900;
  letter-spacing:.16em;
}

.transition-card h3{
  margin:8px 0 6px;
  font-size:27px;
}

.transition-card p{
  margin:0;
  color:var(--muted);
  font-size:13px;
}

.hint-box .btn.secondary{
  position:relative;
  overflow:hidden;
}

.hint-box .btn.secondary:before{
  content:"🔒";
  margin-right:7px;
}

.hint-box.revealed .btn.secondary:before{
  content:"🔓";
}

/* Finalo vizualinis atlygis */
.final-card{
  background:
    radial-gradient(circle at 50% 4%, rgba(232,184,94,.14), transparent 27%),
    linear-gradient(180deg, rgba(255,255,255,.025), transparent 22%),
    rgba(17,25,37,.97);
}

.final-card .confetti{
  animation:floatConfetti 3.2s ease-in-out infinite;
}

@keyframes floatConfetti{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-4px)}
}

.final-card h1{
  margin-top:4px;
}

.final-seal{
  width:92px;
  height:92px;
  margin:22px auto 16px;
  border-radius:50%;
  display:grid;
  place-items:center;
  position:relative;
  border:1px solid rgba(232,184,94,.3);
  background:radial-gradient(circle,rgba(232,184,94,.12),rgba(232,184,94,.03));
}

.final-seal:before{
  content:"💍";
  font-size:38px;
}

.final-seal:after{
  content:"V + J";
  position:absolute;
  bottom:12px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
  color:var(--gold);
}

.final-toast{
  margin:20px 0 4px;
  padding:14px 16px;
  border-radius:16px;
  border:1px solid rgba(232,184,94,.16);
  background:rgba(232,184,94,.05);
  color:#f1dfba;
  font-size:13px;
}

@media(max-width:430px){
  .case-card:before{
    font-size:27px;
    right:10px;
  }
}


/* ===== V8: FINAL FIREWORKS REVEAL ===== */

.celebration-overlay{
  position:fixed;
  inset:0;
  z-index:140;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(circle at 50% 42%, rgba(232,184,94,.08), transparent 28%),
    #05080d;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .8s ease, visibility 0s linear .8s;
}

.celebration-overlay.show{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity .3s ease;
}

.celebration-overlay.fade-out{
  opacity:0;
}

.celebration-content{
  position:relative;
  z-index:3;
  text-align:center;
  padding:24px;
  animation:celebrationReveal 1.1s cubic-bezier(.2,.8,.2,1) both;
}

.celebration-rings{
  font-size:58px;
  margin-bottom:14px;
  filter:drop-shadow(0 0 22px rgba(232,184,94,.25));
}

.celebration-kicker{
  color:var(--gold);
  font-size:11px;
  font-weight:900;
  letter-spacing:.22em;
  margin-bottom:8px;
}

.celebration-title{
  font-size:clamp(42px,12vw,72px);
  line-height:.9;
  font-weight:1000;
  letter-spacing:-.045em;
  color:#fff7e8;
  text-shadow:0 0 28px rgba(232,184,94,.14);
}

.celebration-sub{
  margin-top:14px;
  color:#d7c7a5;
  font-size:15px;
  letter-spacing:.16em;
  text-transform:uppercase;
}

@keyframes celebrationReveal{
  0%{opacity:0;transform:scale(.88) translateY(8px)}
  55%{opacity:1;transform:scale(1.025) translateY(0)}
  100%{opacity:1;transform:scale(1)}
}

/* Fejerverkas sukurtas iš box-shadow dalelių */
.fireworks{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
}

.firework{
  position:absolute;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#ffd98c;
  box-shadow:
    0 -54px #ffd98c,
    0 54px #fff1bd,
    54px 0 #e8b85e,
    -54px 0 #ffe7a9,
    38px 38px #fff1bd,
    -38px 38px #e8b85e,
    38px -38px #ffe4a0,
    -38px -38px #fff7d4,
    20px -67px #f2c46d,
    -20px -67px #fff2c0,
    20px 67px #ffe09b,
    -20px 67px #e8b85e,
    67px 20px #fff4ca,
    67px -20px #e6b25a,
    -67px 20px #ffe6a4,
    -67px -20px #f5cf7d;
  transform:scale(.05);
  opacity:0;
  animation:fireworkBurst 1.45s ease-out infinite;
}

.f1{left:18%;top:24%;animation-delay:.05s}
.f2{left:78%;top:28%;animation-delay:.38s}
.f3{left:50%;top:18%;animation-delay:.72s}
.f4{left:28%;top:62%;animation-delay:1.08s}
.f5{left:72%;top:64%;animation-delay:1.38s}

@keyframes fireworkBurst{
  0%{
    opacity:0;
    transform:scale(.05);
    filter:blur(0);
  }
  16%{
    opacity:1;
  }
  65%{
    opacity:1;
    transform:scale(1);
  }
  100%{
    opacity:0;
    transform:scale(1.28);
    filter:blur(.8px);
  }
}

/* papildomos mažos kibirkštys */
.celebration-overlay:before,
.celebration-overlay:after{
  content:"✦  ·  ✧  ·  ✦  ·  ✧  ·  ✦";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  color:rgba(255,224,155,.55);
  letter-spacing:16px;
  white-space:nowrap;
  font-size:20px;
  animation:sparkDrift 2.8s ease-in-out infinite;
}

.celebration-overlay:before{top:10%}
.celebration-overlay:after{bottom:10%;animation-delay:.8s}

@keyframes sparkDrift{
  0%,100%{opacity:.25;transform:translateX(-50%) translateY(0)}
  50%{opacity:.8;transform:translateX(-50%) translateY(-7px)}
}

@media(prefers-reduced-motion: reduce){
  .firework,
  .celebration-content,
  .celebration-overlay:before,
  .celebration-overlay:after{
    animation:none!important;
  }
}


/* ===== V9: TRŪKSTAMAS ĮVYKIS / TIMELINE ===== */

.timeline-case{
  margin:22px 0;
  position:relative;
}

.timeline-case:before{
  content:"";
  position:absolute;
  left:59px;
  top:21px;
  bottom:21px;
  width:1px;
  background:linear-gradient(
    180deg,
    rgba(232,184,94,.18),
    rgba(232,184,94,.48),
    rgba(232,184,94,.18)
  );
}

.timeline-row{
  display:grid;
  grid-template-columns:46px 26px 1fr;
  gap:0 9px;
  align-items:start;
  position:relative;
  padding:9px 0;
}

.timeline-time{
  padding-top:8px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  color:#d9c28f;
  font-size:12px;
  font-weight:900;
}

.timeline-dot{
  width:11px;
  height:11px;
  margin:10px auto 0;
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 0 5px rgba(232,184,94,.08);
  z-index:2;
}

.timeline-dot.question{
  width:24px;
  height:24px;
  margin-top:3px;
  display:grid;
  place-items:center;
  background:#181f2b;
  border:1px solid rgba(232,184,94,.45);
  color:var(--gold);
  font-size:12px;
  font-weight:1000;
  box-shadow:0 0 0 5px rgba(232,184,94,.06);
}

.timeline-event{
  padding:11px 13px;
  border-radius:14px;
  border:1px solid var(--line);
  background:#0c131d;
}

.timeline-row.missing .timeline-event{
  border-style:dashed;
  border-color:rgba(232,184,94,.3);
  background:rgba(232,184,94,.04);
}

.timeline-label{
  display:block;
  margin-bottom:4px;
  color:var(--gold);
  font-size:8px;
  font-weight:900;
  letter-spacing:.15em;
}

.timeline-event strong{
  display:block;
  color:#e8edf4;
  font-size:13px;
  line-height:1.45;
}

.timeline-question{
  margin:18px 0 10px;
  padding-top:17px;
  border-top:1px solid var(--line);
}

.timeline-question span{
  color:var(--gold);
  font-size:9px;
  font-weight:900;
  letter-spacing:.15em;
}

.timeline-question p{
  margin:5px 0 0;
  font-size:14px;
  font-weight:700;
}

.timeline-choices{
  display:grid;
  gap:9px;
}

.timeline-choice{
  width:100%;
  display:flex;
  gap:12px;
  align-items:center;
  padding:13px;
  text-align:left;
  color:var(--text);
  background:#0b111a;
  border:1px solid var(--line);
  border-radius:14px;
  cursor:pointer;
  transition:border-color .15s ease, background .15s ease, transform .12s ease;
}

.timeline-choice:active{
  transform:scale(.992);
}

.timeline-choice > span{
  flex:0 0 31px;
  height:31px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:rgba(255,255,255,.05);
  color:var(--gold);
  font-size:11px;
  font-weight:1000;
}

.timeline-choice strong{
  font-size:13px;
}

.timeline-choice.wrong{
  border-color:rgba(218,91,91,.5);
  background:rgba(218,91,91,.07);
}

.timeline-choice.correct{
  border-color:rgba(81,199,144,.5);
  background:rgba(81,199,144,.08);
}

.timeline-choice.correct > span{
  background:rgba(81,199,144,.18);
  color:#8ce0b8;
}

@media(max-width:430px){
  .timeline-case:before{
    left:54px;
  }

  .timeline-row{
    grid-template-columns:42px 24px 1fr;
    gap:0 7px;
  }

  .timeline-event{
    padding:10px 11px;
  }
}


/* ===== V10: EXTRA DETECTIVE POLISH ===== */

.case-progress{
  height:5px;
  margin:-4px 0 16px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.05);
}
.case-progress span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--gold),#f4d793);
  box-shadow:0 0 16px rgba(232,184,94,.18);
}

.redacted-doc{
  padding:16px;
  border-radius:14px;
  background:#e6dfd0;
  color:#252525;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  transform:rotate(-.25deg);
}
.redacted-line{
  display:flex;
  gap:10px;
  justify-content:space-between;
  padding:7px 0;
  border-bottom:1px solid rgba(0,0,0,.08);
}
.redacted-line:last-child{border-bottom:0}
.redacted-line span{font-size:11px;color:#555}
.redacted-line b{font-size:11px;color:#222;text-align:right}
.redacted{letter-spacing:.06em}

.suspicious-badge{
  display:inline-block;
  margin-left:6px;
  padding:3px 6px;
  border-radius:999px;
  background:rgba(232,184,94,.11);
  color:var(--gold);
  font-size:8px;
  letter-spacing:.08em;
  vertical-align:middle;
}

.hint-confirm h3{
  margin:6px 0 8px;
  font-size:25px;
}
.hint-confirm p{margin:0 0 18px}
.hint-confirm-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
}
.hint-confirm-actions .btn{margin:0}

.treasure-earned{
  display:inline-block;
  margin:0 0 14px;
  padding:9px 12px;
  border-radius:12px;
  background:rgba(232,184,94,.06);
  border:1px solid rgba(232,184,94,.16);
  color:#efd7a7;
  font-size:12px;
}

.case-close-btn{
  border:2px solid rgba(232,184,94,.55);
  background:transparent;
  cursor:pointer;
}
.case-close-btn:hover{
  background:rgba(232,184,94,.06);
}

.case-stamp-hit{
  position:absolute;
  left:50%;
  top:52%;
  z-index:20;
  opacity:0;
  padding:13px 20px;
  color:#f0c674;
  border:4px solid rgba(232,184,94,.9);
  font-weight:1000;
  font-size:24px;
  letter-spacing:.16em;
  transform:translate(-50%,-50%) rotate(-9deg) scale(2.1);
  pointer-events:none;
  text-shadow:0 1px 0 rgba(0,0,0,.2);
}
.case-stamp-hit.hit{
  animation:stampHit .85s cubic-bezier(.18,.85,.25,1) forwards;
}
@keyframes stampHit{
  0%{opacity:0;transform:translate(-50%,-50%) rotate(-9deg) scale(2.1)}
  45%{opacity:1;transform:translate(-50%,-50%) rotate(-9deg) scale(.92)}
  65%{transform:translate(-50%,-50%) rotate(-9deg) scale(1.04)}
  100%{opacity:1;transform:translate(-50%,-50%) rotate(-9deg) scale(1)}
}

.easter-egg-toast{
  position:fixed;
  left:50%;
  top:18px;
  z-index:200;
  transform:translateX(-50%) translateY(-16px);
  opacity:0;
  padding:11px 14px;
  border-radius:12px;
  background:#f4ede0;
  color:#19130b;
  font-size:12px;
  font-weight:900;
  transition:.22s ease;
  pointer-events:none;
}
.easter-egg-toast.show{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}

.case-stamp{
  cursor:pointer;
  user-select:none;
}

@media(max-width:430px){
  .hint-confirm-actions{
    grid-template-columns:1fr;
  }
  .redacted-line{
    flex-direction:column;
    gap:3px;
  }
  .redacted-line b{text-align:left}
  .case-stamp-hit{
    font-size:18px;
    white-space:nowrap;
  }
}


/* ===== V11: WOW CASE CLOSED OVERLAY ===== */

.case-close-btn{
  margin-top: 10px;
  position: relative;
  overflow: hidden;
}

.case-close-btn:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg, transparent 0%, rgba(255,255,255,.18) 45%, transparent 70%);
  transform:translateX(-120%);
  transition:transform .55s ease;
}

.case-close-btn:hover:before{
  transform:translateX(120%);
}

.case-closed-overlay{
  position:fixed;
  inset:0;
  z-index:250;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 45%, rgba(232,184,94,.08), transparent 28%),
    linear-gradient(180deg, rgba(7,10,16,.98), rgba(4,6,10,1));
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .28s ease, visibility 0s linear .28s;
}

.case-closed-overlay.show{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity .2s ease;
}

.case-closed-overlay::before,
.case-closed-overlay::after{
  content:"";
  position:absolute;
  width:140vmax;
  height:140vmax;
  border-radius:50%;
  border:1px solid rgba(232,184,94,.06);
  opacity:0;
  transform:scale(.35);
}

.case-closed-overlay.show::before{
  animation:shockwave 1.2s ease-out .18s forwards;
}

.case-closed-overlay.show::after{
  animation:shockwave 1.5s ease-out .36s forwards;
}

@keyframes shockwave{
  0%{opacity:.45;transform:scale(.16)}
  100%{opacity:0;transform:scale(1)}
}

.case-closed-glow{
  position:absolute;
  width:280px;
  height:280px;
  border-radius:50%;
  filter:blur(80px);
  opacity:.16;
}

.case-closed-glow.glow-a{
  background:#e8b85e;
  top:18%;
  left:18%;
}

.case-closed-glow.glow-b{
  background:#8f6eff;
  right:16%;
  bottom:18%;
}

.case-closed-rings{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 20% 25%, rgba(255,217,140,.9) 0 2px, transparent 3px),
    radial-gradient(circle at 82% 22%, rgba(255,239,194,.85) 0 2px, transparent 3px),
    radial-gradient(circle at 74% 78%, rgba(232,184,94,.9) 0 2px, transparent 3px),
    radial-gradient(circle at 22% 76%, rgba(255,226,155,.8) 0 2px, transparent 3px),
    radial-gradient(circle at 52% 18%, rgba(255,245,225,.95) 0 2px, transparent 3px),
    radial-gradient(circle at 50% 82%, rgba(232,184,94,.85) 0 2px, transparent 3px);
  opacity:0;
}

.case-closed-overlay.show .case-closed-rings{
  animation:flashDust 1.4s ease-out .08s forwards;
}

@keyframes flashDust{
  0%{opacity:0}
  25%{opacity:1}
  100%{opacity:.35}
}

.case-closed-content{
  position:relative;
  z-index:3;
  width:min(92vw, 860px);
  text-align:center;
  padding:24px 16px;
}

.case-closed-kicker{
  margin-bottom:14px;
  color:#e8b85e;
  font-size:12px;
  font-weight:900;
  letter-spacing:.28em;
  opacity:0;
  transform:translateY(8px);
}

.case-closed-main-stamp{
  display:inline-block;
  padding:22px 34px;
  border:6px solid rgba(240,198,116,.96);
  color:#f0c674;
  font-size:clamp(42px, 10vw, 92px);
  line-height:1;
  font-weight:1000;
  letter-spacing:.14em;
  text-transform:uppercase;
  border-radius:10px;
  box-shadow:
    0 0 0 3px rgba(240,198,116,.14) inset,
    0 0 34px rgba(240,198,116,.12);
  background:rgba(240,198,116,.03);
  text-shadow:0 0 10px rgba(240,198,116,.08);
  transform:rotate(-9deg) scale(3.2);
  opacity:0;
  filter:blur(6px);
}

.case-closed-subline{
  margin-top:20px;
  color:#d7c9a8;
  font-size:13px;
  font-weight:800;
  letter-spacing:.18em;
  opacity:0;
  transform:translateY(8px);
}

.case-closed-overlay.show .case-closed-kicker{
  animation:overlayFadeUp .5s ease .12s forwards;
}
.case-closed-overlay.show .case-closed-subline{
  animation:overlayFadeUp .55s ease .72s forwards;
}

@keyframes overlayFadeUp{
  from{opacity:0; transform:translateY(8px)}
  to{opacity:1; transform:translateY(0)}
}

.case-closed-overlay.show .case-closed-main-stamp{
  animation:stampSlam 1s cubic-bezier(.16,.92,.24,1.15) .15s forwards;
}

@keyframes stampSlam{
  0%{
    opacity:0;
    transform:rotate(-9deg) scale(3.2);
    filter:blur(7px);
  }
  35%{
    opacity:1;
    transform:rotate(-9deg) scale(.82);
    filter:blur(0);
  }
  55%{
    transform:rotate(-9deg) scale(1.08);
  }
  72%{
    transform:rotate(-9deg) scale(.96);
  }
  100%{
    opacity:1;
    transform:rotate(-9deg) scale(1);
    filter:blur(0);
  }
}

body.case-closed-mode{
  overflow:hidden;
}

body.case-closed-mode #app{
  filter:blur(.6px);
}

@media(max-width:430px){
  .case-closed-main-stamp{
    padding:18px 18px;
    border-width:5px;
    letter-spacing:.1em;
  }
  .case-closed-kicker{
    font-size:10px;
  }
  .case-closed-subline{
    font-size:11px;
    letter-spacing:.13em;
  }
}


/* ===== V12: EXTRA WOW + DATE RECOVERY ===== */

.file-tag{
  display:inline-block;
  margin:-2px 0 12px;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  color:#b8c1cd;
  font-size:9px;
  font-weight:900;
  letter-spacing:.16em;
}
.center-tag{margin-left:auto;margin-right:auto}

.glitch-box{
  margin:18px 0 16px;
  padding:16px;
  border-radius:16px;
  background:#0b111a;
  border:1px solid rgba(218,91,91,.18);
  text-align:left;
}
.glitch-line{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  color:#ff9499;
  font-size:12px;
  letter-spacing:.06em;
  animation:glitchFlicker 2s linear infinite;
}
.glitch-line + .glitch-line{margin-top:8px}
.glitch-line.ok{
  color:#f3dca7;
  animation:none;
}
@keyframes glitchFlicker{
  0%,100%{opacity:1}
  8%{opacity:.35}
  10%{opacity:1}
  22%{opacity:.55}
  24%{opacity:1}
  70%{opacity:1}
  72%{opacity:.4}
  74%{opacity:1}
}
.recovery-box{
  margin-top:10px;
  text-align:left;
}
.recovery-box label{
  display:block;
  margin-bottom:8px;
  font-weight:800;
  font-size:13px;
}
.recovery-box .btn{margin-top:10px}

.hint-image-wrap{
  position:relative;
}
.hint-modal img.blurred{
  filter:blur(12px) saturate(.7);
  transform:scale(1.02);
}
.hint-modal img{
  transition:filter .45s ease, transform .45s ease;
}
.hint-reveal-btn{
  position:absolute;
  left:50%;
  bottom:14px;
  transform:translateX(-50%);
  width:auto;
  min-width:190px;
  box-shadow:0 10px 25px rgba(0,0,0,.28);
}

.achievement-badge{
  margin:18px 0 0;
  padding:11px 14px;
  border-radius:14px;
  background:rgba(81,199,144,.08);
  border:1px solid rgba(81,199,144,.22);
  color:#b8f1d0;
  font-size:11px;
  font-weight:900;
  letter-spacing:.06em;
}

#app.screen-shake{
  animation:screenShake .52s ease both;
}
@keyframes screenShake{
  0%,100%{transform:translateX(0)}
  12%{transform:translateX(-4px)}
  24%{transform:translateX(4px)}
  36%{transform:translateX(-3px)}
  48%{transform:translateX(3px)}
  60%{transform:translateX(-2px)}
  72%{transform:translateX(2px)}
}

.case-archive-panel{
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.08);
  opacity:0;
  transform:translateY(10px);
}
.case-archive-panel.show{
  animation:archiveFadeIn .65s ease forwards;
}
.archive-kicker{
  color:#e8b85e;
  font-size:10px;
  font-weight:900;
  letter-spacing:.22em;
  margin-bottom:8px;
}
.archive-line{
  color:#d7c9a8;
  font-size:12px;
  font-weight:800;
  letter-spacing:.13em;
}
@keyframes archiveFadeIn{
  from{opacity:0; transform:translateY(10px)}
  to{opacity:1; transform:translateY(0)}
}

@media(max-width:430px){
  .hint-reveal-btn{
    min-width:0;
    width:calc(100% - 28px);
  }
}


/* ===== V13: EPIC SYSTEM FAILURE SCREEN ===== */

.danger-card{
  background:
    radial-gradient(circle at 50% -10%, rgba(218,91,91,.16), transparent 34%),
    radial-gradient(circle at 90% 90%, rgba(218,91,91,.08), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.025), transparent 22%),
    rgba(17,25,37,.97);
  border-color: rgba(218,91,91,.22);
}

.danger-card:before{
  content:"SYSTEM FAILURE";
  color:rgba(218,91,91,.06);
}

.danger-header{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:4px 0 14px;
  flex-wrap:wrap;
}

.danger-title{
  color:#ffb3b3;
  font-size:12px;
  font-weight:1000;
  letter-spacing:.22em;
}

.danger-led{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#ff6767;
  box-shadow:0 0 10px rgba(255,103,103,.65);
  animation:dangerBlink 1s linear infinite;
}
.danger-led:nth-child(2),
.danger-led:nth-child(6){animation-delay:.18s}
.danger-led:nth-child(3),
.danger-led:nth-child(5){animation-delay:.36s}

@keyframes dangerBlink{
  0%,100%{opacity:1}
  50%{opacity:.25}
}

.danger-badge{
  border-color:rgba(218,91,91,.3);
  background:rgba(218,91,91,.12);
}

.red-tag{
  color:#ffb7b7;
  border-color:rgba(218,91,91,.25);
  background:rgba(218,91,91,.07);
}

.danger-lead{
  color:#f0d9d9;
}

.epic-glitch{
  text-align:left;
  border-color:rgba(218,91,91,.28);
  background:
    linear-gradient(180deg, rgba(218,91,91,.08), rgba(255,255,255,.02)),
    #0b111a;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
}

.epic-glitch .glitch-line{
  color:#ff8f97;
}

.epic-glitch .glitch-line.hard{
  color:#ffd1d1;
  font-weight:1000;
  letter-spacing:.08em;
  margin-bottom:8px;
}

.epic-glitch .glitch-line.ok{
  margin-top:8px;
  color:#ffe4ab;
  font-weight:900;
}

.danger-note{
  margin:16px 0 10px;
  padding:14px 15px;
  border-radius:16px;
  text-align:left;
  background:rgba(218,91,91,.06);
  border:1px dashed rgba(218,91,91,.28);
}
.danger-note strong{
  display:block;
  margin-bottom:5px;
  color:#ffb8b8;
  font-size:11px;
  letter-spacing:.13em;
}
.danger-note p{
  margin:0;
  font-size:13px;
}

.danger-btn{
  background:linear-gradient(135deg,#ffd0a1,#e27f54);
  box-shadow:0 12px 34px rgba(226,127,84,.18);
}

@media(max-width:430px){
  .danger-title{
    font-size:10px;
    letter-spacing:.14em;
  }
}


/* ===== V14: EPIC SERVER FAILURE / RECOVERY SCREEN ===== */

.recovery-screen{
  max-width: 100% !important;
}

.server-overlay{
  width:100%;
  min-height:100vh;
  position:relative;
  overflow:hidden;
  padding:20px 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(circle at 50% 10%, rgba(255,80,80,.12), transparent 26%),
    radial-gradient(circle at 80% 80%, rgba(140,20,20,.12), transparent 26%),
    linear-gradient(180deg, #090b0f 0%, #05070a 100%);
  border-radius:28px;
  border:1px solid rgba(255,90,90,.12);
  box-shadow:0 30px 100px rgba(0,0,0,.55);
}

.server-noise{
  position:absolute;
  inset:0;
  opacity:.06;
  pointer-events:none;
  background-image:
    linear-gradient(0deg, transparent 24%, rgba(255,255,255,.12) 25%, transparent 26%, transparent 74%, rgba(255,255,255,.08) 75%, transparent 76%),
    linear-gradient(90deg, rgba(255,255,255,.04), transparent 18%, rgba(255,255,255,.03) 36%, transparent 54%, rgba(255,255,255,.03) 72%, transparent 90%);
  background-size:100% 6px, 220px 100%;
}

.server-scanline{
  position:absolute;
  left:0;
  right:0;
  top:-20%;
  height:22%;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(255,95,95,0), rgba(255,95,95,.18), rgba(255,95,95,0));
  filter:blur(12px);
  animation:scanlineMove 4.2s linear infinite;
}
@keyframes scanlineMove{
  0%{top:-25%}
  100%{top:105%}
}

.server-panel{
  position:relative;
  z-index:2;
  width:min(100%, 980px);
  border-radius:26px;
  overflow:hidden;
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), transparent 12%),
    rgba(10,13,18,.96);
  border:1px solid rgba(255,90,90,.18);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.02),
    0 20px 80px rgba(0,0,0,.5);
}

.server-topbar{
  display:flex;
  align-items:center;
  gap:8px;
  padding:12px 16px;
  border-bottom:1px solid rgba(255,255,255,.06);
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
}

.server-status-dot{
  width:10px;
  height:10px;
  border-radius:50%;
}
.server-status-dot.red{background:#ff5c67; box-shadow:0 0 12px rgba(255,92,103,.5)}
.server-status-dot.amber{background:#ffbe55; box-shadow:0 0 12px rgba(255,190,85,.4)}
.server-status-dot.green{background:#5be38b; box-shadow:0 0 12px rgba(91,227,139,.35)}

.server-title{
  margin-left:8px;
  color:#c8d2e2;
  font-size:11px;
  font-weight:900;
  letter-spacing:.18em;
}

.server-header{
  padding:26px 20px 16px;
  text-align:center;
  border-bottom:1px solid rgba(255,255,255,.05);
}

.server-alert{
  color:#ffd7d7;
  font-size:clamp(26px, 6vw, 48px);
  font-weight:1000;
  letter-spacing:.08em;
  line-height:1;
  text-shadow:0 0 24px rgba(255,95,95,.14);
}

.server-subalert{
  margin-top:10px;
  color:#ff999f;
  font-size:11px;
  font-weight:900;
  letter-spacing:.22em;
}

.server-grid{
  display:grid;
  grid-template-columns:1.15fr .95fr;
  gap:18px;
  padding:18px;
}

.server-block{
  margin-bottom:16px;
  padding:16px;
  border-radius:18px;
  background:#080c12;
  border:1px solid rgba(255,255,255,.07);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.01);
}

.server-label{
  margin-bottom:10px;
  color:#ffb6ba;
  font-size:10px;
  font-weight:1000;
  letter-spacing:.18em;
}

.server-line{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:12px;
  line-height:1.6;
  letter-spacing:.04em;
}
.server-line.bad{color:#ff8b92}
.server-line.ok{color:#f6d59a}
.server-line.funny{color:#d7e0ef}

.server-copy{
  color:#d9e1ec;
  margin:0;
  line-height:1.58;
}
.server-copy.small{
  margin-top:10px;
  color:#b6c0d0;
  font-size:13px;
}

.server-input-label{
  display:block;
  margin-bottom:8px;
  color:#f1dada;
  font-weight:800;
  font-size:13px;
}

.server-input{
  width:100%;
  border:1px solid rgba(255,95,95,.2);
  background:#070a10;
  color:#fff3f3;
  border-radius:14px;
  outline:none;
  padding:16px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.12em;
}
.server-input:focus{
  border-color:rgba(255,115,115,.55);
  box-shadow:0 0 0 4px rgba(255,95,95,.08);
}

.server-btn{
  margin-top:12px;
  color:#1a0d0d;
  background:linear-gradient(135deg,#ffc28e,#ef7b63);
  box-shadow:0 12px 30px rgba(239,123,99,.18);
}

.server-error{
  margin-top:10px;
  text-align:left;
}

.server-footer-note{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:15px 16px;
  border-radius:18px;
  background:rgba(255,95,95,.05);
  border:1px dashed rgba(255,95,95,.22);
}
.server-footer-note span{
  font-size:22px;
  line-height:1;
}
.server-footer-note p{
  margin:0;
  color:#f0d6d6;
  font-size:13px;
  line-height:1.55;
}

@media(max-width:780px){
  .server-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:430px){
  .server-overlay{
    padding:10px 6px;
    border-radius:22px;
  }
  .server-header{
    padding:22px 14px 14px;
  }
  .server-grid{
    padding:12px;
    gap:12px;
  }
  .server-title{
    font-size:9px;
    letter-spacing:.12em;
  }
  .server-subalert{
    font-size:9px;
    letter-spacing:.14em;
  }
}


/* ===== V16: MOBILE KEYWORD INPUT FIX ===== */

.input-row{
  display:flex;
  align-items:stretch;
  gap:8px;
  max-width:390px;
}

.keyword-input{
  flex:1 1 220px;
  min-width:0;
  width:auto;
}

.input-row .btn.compact{
  flex:0 0 auto;
  width:auto;
  min-width:96px;
  padding-left:13px;
  padding-right:13px;
}

@media(max-width:430px){
  .answer-area{
    text-align:left;
  }

  .input-row{
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto;
    width:100%;
    max-width:none;
    gap:7px;
  }

  .keyword-input{
    width:100%;
    min-width:0;
    padding:13px 12px;
  }

  .input-row .btn.compact{
    min-width:82px;
    padding:0 10px;
    font-size:12px;
    letter-spacing:.02em;
  }
}


/* ===== V17: FINAL POLISH PASS ===== */

/* Bylos viršelio atidarymas */
.dossier-open-overlay{
  position:fixed;
  inset:0;
  z-index:230;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(5,8,12,.96);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  perspective:1200px;
  transition:opacity .3s ease;
}
.dossier-open-overlay.show{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.dossier-stage{
  position:relative;
  width:min(88vw,460px);
  aspect-ratio:1.38/1;
  transform-style:preserve-3d;
}
.dossier-cover,
.dossier-inside{
  position:absolute;
  inset:0;
  border-radius:20px 20px 14px 14px;
}
.dossier-cover{
  z-index:2;
  transform-origin:left center;
  background:
    linear-gradient(135deg,rgba(255,255,255,.05),transparent 40%),
    #5a4227;
  border:1px solid rgba(255,231,190,.16);
  box-shadow:0 30px 70px rgba(0,0,0,.45);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:12px;
  transition:transform 3.2s cubic-bezier(.16,.84,.22,1), filter 1.4s ease;
  backface-visibility:hidden;
}
.dossier-open-overlay.opening .dossier-cover{
  transform:rotateY(-112deg);
  filter:brightness(.92);
}
.dossier-inside{
  background:
    linear-gradient(rgba(255,255,255,.015),rgba(255,255,255,.015)),
    #111925;
  border:1px solid rgba(232,184,94,.18);
  display:grid;
  place-content:center;
  text-align:center;
  padding:24px;
}
.dossier-stamp{
  padding:8px 12px;
  border:2px solid rgba(255,229,182,.55);
  color:#ffe1aa;
  font-size:11px;
  font-weight:1000;
  letter-spacing:.18em;
  transform:rotate(-3deg);
}
.dossier-lock{font-size:48px}
.dossier-title{
  color:#fff1d0;
  font-size:clamp(28px,7vw,42px);
  font-weight:1000;
  letter-spacing:-.02em;
}
.dossier-meta{
  color:#d0b98d;
  font-size:10px;
  font-weight:800;
  letter-spacing:.13em;
}
.dossier-inside-kicker{
  color:var(--gold);
  font-size:10px;
  font-weight:900;
  letter-spacing:.18em;
}
.dossier-inside-title{
  margin-top:7px;
  font-size:31px;
  font-weight:1000;
}
.dossier-inside-copy{
  margin-top:8px;
  color:var(--muted);
  font-size:13px;
}
.dossier-open-overlay.leaving{opacity:0}

/* Lokacijos signalas */
.signal-overlay{
  position:fixed;
  inset:0;
  z-index:225;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(3,7,11,.94);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .25s ease;
}
.signal-overlay.show{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.signal-overlay.leaving{opacity:0}
.signal-terminal{
  width:min(92vw,500px);
  position:relative;
  overflow:hidden;
  padding:24px;
  border-radius:18px;
  background:#07100d;
  border:1px solid rgba(81,199,144,.24);
  box-shadow:0 25px 70px rgba(0,0,0,.45), inset 0 0 30px rgba(81,199,144,.03);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
}
.signal-scan{
  position:absolute;
  left:0;right:0;top:-20%;
  height:35%;
  background:linear-gradient(transparent,rgba(81,199,144,.08),transparent);
  animation:signalScan 1.5s linear infinite;
}
@keyframes signalScan{to{top:110%}}
.signal-kicker{
  color:#79d6a4;
  font-size:10px;
  font-weight:900;
  letter-spacing:.18em;
}
.signal-title{
  margin:8px 0 18px;
  color:#d6f5e3;
  font-size:25px;
  font-weight:1000;
}
.signal-lines{
  display:grid;
  gap:7px;
  color:#8fa59a;
  font-size:12px;
}
.signal-lines span{animation:signalBlink 1s ease both}
.signal-lines span:nth-child(2){animation-delay:.35s}
.signal-lines span:nth-child(3){animation-delay:.7s}
.signal-lines .signal-ok{color:#73e2a6}
@keyframes signalBlink{
  from{opacity:0;transform:translateX(-5px)}
  to{opacity:1;transform:translateX(0)}
}

/* Finalinė bylos suvestinė prieš fejerverkus */
.mission-report-overlay{
  position:fixed;
  inset:0;
  z-index:235;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(5,8,12,.96);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .35s ease;
}
.mission-report-overlay.show{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.mission-report-overlay.leaving{opacity:0}
.mission-report-card{
  width:min(92vw,560px);
  padding:26px 22px;
  border-radius:24px;
  text-align:center;
  background:
    radial-gradient(circle at 50% 0%,rgba(232,184,94,.1),transparent 35%),
    #101824;
  border:1px solid rgba(232,184,94,.2);
}
.report-kicker{
  color:var(--gold);
  font-size:10px;
  font-weight:900;
  letter-spacing:.18em;
}
.report-title{
  margin:8px 0 20px;
  font-size:clamp(31px,8vw,48px);
  font-weight:1000;
  letter-spacing:-.03em;
}
.report-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
}
.report-grid div{
  padding:13px 7px;
  border-radius:14px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.06);
}
.report-grid strong{
  display:block;
  color:#f5d28b;
  font-size:24px;
}
.report-grid span{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:10px;
}
.report-joke{
  margin-top:16px;
  color:#dce4ef;
  font-size:13px;
}
.report-status{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.07);
  color:#8ee0b4;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
}

/* Mobile polish 320–375px */
@media(max-width:375px){
  #app{
    padding:8px 7px 24px;
    align-items:flex-start;
  }
  .case-card{
    padding:20px 14px;
    border-radius:20px;
  }
  .hero-card{
    padding-top:24px;
  }
  h1{
    font-size:clamp(38px,13vw,52px);
  }
  h2{
    font-size:28px;
  }
  p{
    font-size:14px;
  }
  .topline{
    gap:8px;
    flex-wrap:wrap;
    font-size:9px;
  }
  .btn{
    min-height:48px;
    padding:13px 12px;
    font-size:13px;
  }
  .location-card{
    padding:14px;
  }
  .location-actions{
    gap:7px;
  }
  .location-card .location-actions .ghost-btn{
    min-height:42px;
    white-space:normal;
    line-height:1.25;
  }
  .pin-input{
    font-size:31px;
    letter-spacing:.32em;
    padding-left:.32em;
  }
  .evidence{
    min-height:126px;
    padding:12px;
  }
  .evidence-grid{
    gap:8px;
  }
  .timeline-row{
    grid-template-columns:38px 22px 1fr;
    gap:0 5px;
  }
  .timeline-case:before{
    left:49px;
  }
  .timeline-time{
    font-size:10px;
  }
  .timeline-event strong{
    font-size:12px;
  }
  .server-overlay{
    padding:6px 3px;
  }
  .server-panel{
    border-radius:18px;
  }
  .server-topbar{
    padding:10px 11px;
  }
  .server-grid{
    padding:9px;
  }
  .server-block{
    padding:13px;
    border-radius:15px;
  }
  .server-alert{
    font-size:24px;
  }
  .server-line{
    font-size:10px;
    overflow-wrap:anywhere;
  }
  .server-input{
    padding:14px 11px;
    letter-spacing:.08em;
  }
  .report-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .mission-report-card{
    padding:22px 15px;
  }
  .dossier-stage{
    width:92vw;
  }
}

@media(max-width:335px){
  .input-row{
    grid-template-columns:minmax(0,1fr) 76px;
  }
  .input-row .btn.compact{
    min-width:76px;
    padding:0 7px;
    font-size:11px;
  }
  .keyword-input{
    font-size:13px;
  }
  .hero-icon{
    font-size:42px;
  }
}


/* ===== V18: ASSET INTEGRATION + OVERLAY POLISH ===== */

.couple-photo-card{
  width:min(100%, 290px);
  margin:8px auto 18px;
  padding:10px;
  border-radius:22px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 18px 38px rgba(0,0,0,.22);
}
.couple-photo-card img{
  width:100%;
  display:block;
  border-radius:16px;
}
.couple-photo-caption{
  margin-top:9px;
  color:#f0ddb4;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.case-closed-content{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.case-closed-kicker{
  margin-bottom:20px;
  position:relative;
  z-index:4;
}

.case-closed-main-stamp{
  position:relative;
  z-index:3;
  margin:8px 0 18px;
}

.case-closed-subline{
  position:relative;
  z-index:2;
  margin-top:10px;
  max-width:420px;
  line-height:1.45;
}

.case-closed-overlay.show .case-closed-kicker{
  animation:overlayFadeUp .5s ease .08s forwards;
}
.case-closed-overlay.show .case-closed-main-stamp{
  animation:stampSlam 1.18s cubic-bezier(.16,.92,.24,1.15) .18s forwards;
}
.case-closed-overlay.show .case-closed-subline{
  animation:overlayFadeUp .55s ease 1.12s forwards;
}

.case-archive-panel{
  margin-top:22px;
}

@media(max-width:430px){
  .couple-photo-card{
    width:min(100%, 250px);
    margin-bottom:14px;
  }
  .case-closed-subline{
    max-width:280px;
    margin-top:8px;
  }
}


.dossier-open-overlay{
  transition:opacity .45s ease;
}
.dossier-open-overlay.leaving{
  transition:opacity .5s ease;
}

.signal-overlay{
  transition:opacity .35s ease;
}
.signal-terminal{
  width:min(92vw,520px);
}
.signal-title{
  margin:10px 0 20px;
  font-size:27px;
}
.signal-lines{
  gap:8px;
  font-size:13px;
}
.signal-lines span:nth-child(2){animation-delay:.45s}
.signal-lines span:nth-child(3){animation-delay:.95s}


/* ===== V21: DOSSIER OPENING FIXES ===== */

.dossier-cover{
  transform-style:preserve-3d;
}

.dossier-cover::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:
    linear-gradient(135deg,rgba(255,255,255,.035),transparent 40%),
    #5a4227;
  border:1px solid rgba(255,231,190,.12);
  transform:rotateY(180deg);
  backface-visibility:hidden;
}

.dossier-cover > *{
  position:relative;
  z-index:2;
}


/* ===== V23: GARAGE CHECK + LONGER GREEN OVERLAYS ===== */

.garage-card{
  background:
    radial-gradient(circle at 50% 0%, rgba(232,184,94,.10), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.025), transparent 22%),
    rgba(17,25,37,.97);
}
.garage-door-frame{
  margin:8px auto 18px;
  padding:18px 16px;
  width:min(100%, 340px);
  border-radius:22px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), transparent 18%),
    repeating-linear-gradient(180deg, #816245 0 16px, #7a5b3f 16px 32px);
  border:1px solid rgba(255,230,190,.12);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.08), 0 20px 38px rgba(0,0,0,.18);
}
.garage-label{
  color:#f4debb;
  font-size:10px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.garage-code-badge{
  margin:12px auto 10px;
  display:inline-block;
  padding:10px 16px;
  border-radius:14px;
  background:rgba(7,10,16,.22);
  border:1px dashed rgba(255,244,217,.28);
  color:#fff1d3;
  font-size:26px;
  font-weight:1000;
  letter-spacing:.16em;
}
.garage-stripes{
  margin-top:10px;
  height:6px;
  border-radius:999px;
  background:linear-gradient(90deg, transparent 0 6%, #e8b85e 6% 12%, transparent 12% 18%, #e8b85e 18% 24%, transparent 24% 30%, #e8b85e 30% 36%, transparent 36% 42%, #e8b85e 42% 48%, transparent 48%);
  opacity:.7;
}
.garage-input{
  width:min(100%, 280px);
  margin:6px auto 0;
  display:block;
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.hint-continue-btn{
  margin-top:14px;
}

.signal-overlay{
  transition:opacity .45s ease;
}
.signal-terminal{
  width:min(92vw,560px);
  padding:28px;
}
.signal-scan{
  animation:signalScan 2.3s linear infinite;
}
.signal-lines{
  gap:10px;
  font-size:13px;
}
.signal-lines span{
  animation:signalBlink 1.55s ease both;
}
.signal-lines span:nth-child(2){animation-delay:.7s}
.signal-lines span:nth-child(3){animation-delay:1.45s}
.signal-title{
  margin:10px 0 22px;
  font-size:28px;
}
.signal-overlay.leaving{
  transition:opacity .6s ease;
}

.transition-overlay{
  transition:opacity .28s ease;
}
.transition-card{
  width:min(100%,460px);
  padding:32px 24px;
}
.transition-card h3{
  margin:10px 0 8px;
}
.transition-card p{
  font-size:14px;
  line-height:1.45;
}

@media(max-width:430px){
  .garage-code-badge{
    font-size:22px;
  }
  .garage-input{
    width:100%;
  }
}


/* ===== V24: MOBILE CRITICAL FAILURE ===== */

.server-overlay::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
  box-shadow:inset 0 0 80px rgba(255,45,55,.14);
  animation:emergencyGlow 1.25s ease-in-out infinite;
}

.server-panel::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:6px;
  z-index:6;
  pointer-events:none;
  background:repeating-linear-gradient(
    90deg,
    #ff3948 0 26px,
    #7b1820 26px 52px
  );
  background-size:104px 100%;
  animation:emergencyStrip 1.1s linear infinite;
  box-shadow:0 0 18px rgba(255,57,72,.45);
}

@keyframes emergencyGlow{
  0%,100%{
    box-shadow:inset 0 0 55px rgba(255,45,55,.10);
    background:rgba(255,30,40,0);
  }
  50%{
    box-shadow:inset 0 0 115px rgba(255,45,55,.27);
    background:rgba(255,30,40,.035);
  }
}

@keyframes emergencyStrip{
  to{background-position:104px 0}
}

@media(max-width:600px){
  .recovery-screen.active{
    width:calc(100% + 24px);
    max-width:none !important;
    margin-left:-12px;
    margin-right:-12px;
  }

  .server-overlay{
    min-height:100dvh;
    border-radius:0;
    padding:14px 8px max(18px, env(safe-area-inset-bottom));
    background:
      radial-gradient(circle at 50% 8%, rgba(255,34,48,.30), transparent 33%),
      radial-gradient(circle at 12% 66%, rgba(190,18,30,.22), transparent 38%),
      linear-gradient(180deg,#16080c 0%,#09090d 44%,#05070a 100%);
    border-top:2px solid rgba(255,73,82,.45);
    border-bottom:2px solid rgba(255,73,82,.28);
    box-shadow:
      inset 0 0 70px rgba(255,35,45,.18),
      0 0 50px rgba(180,20,30,.15);
  }

  .server-overlay::before{
    box-shadow:inset 0 0 95px rgba(255,38,50,.25);
    animation-duration:.92s;
  }

  .server-scanline{
    height:34%;
    background:linear-gradient(
      180deg,
      rgba(255,50,60,0),
      rgba(255,65,75,.34),
      rgba(255,50,60,0)
    );
    filter:blur(7px);
    animation-duration:2.8s;
  }

  .server-panel{
    border:2px solid rgba(255,75,85,.32);
    box-shadow:
      inset 0 0 28px rgba(255,50,60,.06),
      0 0 38px rgba(255,35,45,.18),
      0 22px 60px rgba(0,0,0,.55);
  }

  .server-header{
    background:linear-gradient(180deg,rgba(150,18,27,.20),rgba(255,40,50,.035));
    border-bottom-color:rgba(255,83,92,.18);
  }

  .server-alert{
    color:#fff0f0;
    text-shadow:
      0 0 10px rgba(255,80,90,.45),
      0 0 26px rgba(255,35,45,.26);
    animation:mobileAlertPulse 1.2s ease-in-out infinite;
  }

  .server-status-dot.red{
    animation:redLedPulse .7s ease-in-out infinite;
  }

  .server-block{
    background:linear-gradient(180deg,rgba(90,12,18,.10),#080c12 34%);
    border-color:rgba(255,75,85,.12);
  }

  .server-line.bad{
    color:#ff9aa1;
    text-shadow:0 0 8px rgba(255,75,85,.15);
  }
}

@keyframes mobileAlertPulse{
  0%,100%{opacity:1; transform:scale(1)}
  50%{opacity:.78; transform:scale(.985)}
}

@keyframes redLedPulse{
  0%,100%{box-shadow:0 0 8px rgba(255,92,103,.45); opacity:.7}
  50%{box-shadow:0 0 22px rgba(255,92,103,.95); opacity:1}
}


/* ===== V24: MOBILE CASE CLOSED LAYOUT ===== */

@media(max-width:600px){
  .case-closed-overlay{
    align-items:stretch;
    justify-content:center;
    overflow-y:auto;
  }

  .case-closed-content{
    width:100%;
    min-height:100dvh;
    padding:
      max(46px, env(safe-area-inset-top))
      18px
      max(40px, env(safe-area-inset-bottom));
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:20px;
  }

  .case-closed-kicker{
    margin:0;
    font-size:10px;
    line-height:1.4;
    letter-spacing:.22em;
  }

  .case-closed-main-stamp{
    width:min(92vw,360px);
    max-width:100%;
    margin:0;
    padding:15px 10px;
    border-width:4px;
    font-size:clamp(32px,10.5vw,48px);
    letter-spacing:.08em;
    line-height:1;
  }

  .case-closed-subline{
    margin:0;
    max-width:310px;
    font-size:11px;
    line-height:1.65;
    letter-spacing:.11em;
  }

  .case-archive-panel{
    width:min(100%,340px);
    margin:0;
    padding-top:18px;
  }

  .archive-kicker{
    line-height:1.5;
  }

  .archive-line{
    line-height:1.7;
    letter-spacing:.08em;
  }

  .case-closed-overlay.show .case-closed-main-stamp{
    animation:stampSlamMobile 1.15s cubic-bezier(.16,.92,.24,1.08) .2s forwards;
  }
}

@keyframes stampSlamMobile{
  0%{
    opacity:0;
    transform:rotate(-6deg) scale(1.75);
    filter:blur(5px);
  }
  42%{
    opacity:1;
    transform:rotate(-6deg) scale(.90);
    filter:blur(0);
  }
  68%{
    transform:rotate(-6deg) scale(1.04);
  }
  100%{
    opacity:1;
    transform:rotate(-6deg) scale(1);
    filter:blur(0);
  }
}


/* ===== V25: FINAL FLOW HARD FIX ===== */

/*
  Fejerverkų sluoksnis privalo būti aukščiau už MISIJA ĮVYKDYTA.
  Taip tarp dviejų overlay niekada nepraslysta po jais esantis puslapis.
*/
.celebration-overlay{
  z-index:245 !important;
  background:
    radial-gradient(circle at 50% 42%, rgba(232,184,94,.09), transparent 28%),
    #05080d !important;
}

.mission-report-overlay{
  z-index:235 !important;
}

/*
  Svarbu: filter ant #app sukuria naują containing block ir mobile sugadina
  position:fixed overlay centravimą. Todėl CASE CLOSED metu #app nebefiltruojamas.
*/
body.case-closed-mode #app{
  filter:none !important;
}

/* Blur paliekamas tik pačiam finaliniam turiniui po overlay, ne jo tėviniam #app. */
body.case-closed-mode .screen.active{
  filter:blur(.7px);
}

/* ===== V25: TRUE VIEWPORT-CENTERED CASE CLOSED ON MOBILE ===== */

@media(max-width:600px){
  .case-closed-overlay{
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    height:100dvh !important;
    min-height:100dvh !important;
    overflow:hidden !important;
    display:block !important;
  }

  .case-closed-content{
    position:absolute !important;
    top:50% !important;
    left:50% !important;
    transform:translate(-50%,-50%) !important;

    width:min(92vw,380px) !important;
    min-height:0 !important;
    height:auto !important;
    padding:18px 12px !important;
    margin:0 !important;

    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .case-closed-kicker{
    margin:0 0 34px !important;
    padding:0 !important;
    font-size:10px !important;
    line-height:1.45 !important;
    letter-spacing:.22em !important;
  }

  .case-closed-main-stamp{
    width:min(88vw,350px) !important;
    max-width:100% !important;
    margin:0 !important;
    padding:16px 10px !important;
    border-width:4px !important;
    font-size:clamp(31px,10vw,46px) !important;
    line-height:1 !important;
    letter-spacing:.075em !important;
  }

  .case-closed-subline{
    margin:34px 0 0 !important;
    padding:0 !important;
    max-width:310px !important;
    font-size:11px !important;
    line-height:1.65 !important;
    letter-spacing:.11em !important;
  }

  .case-archive-panel{
    width:min(100%,330px) !important;
    margin:30px 0 0 !important;
    padding:20px 4px 0 !important;
  }

  .archive-kicker{
    margin-bottom:10px !important;
    line-height:1.5 !important;
  }

  .archive-line{
    line-height:1.7 !important;
    letter-spacing:.075em !important;
  }
}

/* Labai žemiems telefonams šiek tiek suspaudžiame tik bendrą mastelį,
   bet paliekame aiškius tarpus aplink CASE CLOSED. */
@media(max-width:600px) and (max-height:650px){
  .case-closed-content{
    transform:translate(-50%,-50%) scale(.88) !important;
  }
}


/* ===== V26: TRIPLE MINI-PUZZLE INTRO ===== */

.paper-assembly{
  margin-top:16px;
}
.assembly-status{
  margin-bottom:14px;
}
.assembly-status > span{
  display:block;
  margin-bottom:8px;
  color:#b9c3d2;
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
}
.assembly-slots{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  min-height:48px;
  padding:12px;
  border-radius:16px;
  background:rgba(255,255,255,.03);
  border:1px dashed rgba(255,255,255,.08);
}
.slot-empty{
  color:#94a0b2;
  font-size:13px;
}
.slot-chip{
  display:inline-flex;
  align-items:center;
  padding:8px 10px;
  border-radius:999px;
  background:rgba(232,184,94,.10);
  border:1px solid rgba(232,184,94,.22);
  color:#f4ddb2;
  font-size:12px;
  font-weight:800;
}
.torn-fragments{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.fragment-btn{
  padding:14px 12px;
  border:none;
  border-radius:16px;
  background:linear-gradient(180deg,#f2ead7,#ddd0b2);
  color:#31271b;
  font-weight:900;
  font-size:13px;
  box-shadow:0 12px 24px rgba(0,0,0,.12);
  transform:rotate(calc((var(--r, 0))*1deg));
  cursor:pointer;
}
.fragment-btn:nth-child(1){--r:-2}
.fragment-btn:nth-child(2){--r:1}
.fragment-btn:nth-child(3){--r:-1}
.fragment-btn:nth-child(4){--r:2}
.fragment-btn:nth-child(5){--r:-1; grid-column:1 / -1}
.fragment-btn.used{
  opacity:.38;
  transform:scale(.98);
}
.assembly-actions{
  display:flex;
  gap:10px;
  margin-top:12px;
}
.assembled-note{
  margin-top:14px;
  padding:16px;
  border-radius:16px;
  background:rgba(81,199,144,.08);
  border:1px solid rgba(81,199,144,.22);
}
.assembled-kicker{
  color:#b7f0cb;
  font-size:10px;
  font-weight:1000;
  letter-spacing:.18em;
  margin-bottom:8px;
}

.cipher-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:16px 0 10px;
}
.cipher-card{
  padding:16px;
  border-radius:18px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
}
.cipher-label{
  color:#b9c3d2;
  font-size:10px;
  font-weight:1000;
  letter-spacing:.18em;
  margin-bottom:10px;
}
.cipher-code{
  font-size:28px;
  line-height:1.1;
  letter-spacing:.12em;
  font-weight:1000;
  color:#f0ddb4;
}
.cipher-legend{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  color:#d7deea;
  font-size:12px;
}

.compact-answer label{
  display:block;
  margin:8px 0 8px;
  font-weight:800;
}

.cctv-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}
.cctv-card{
  text-align:left;
  padding:14px;
  border:none;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.08);
  color:#eef2f8;
  cursor:pointer;
}
.cctv-time{
  display:block;
  color:#9fb0c7;
  font-size:11px;
  font-weight:1000;
  letter-spacing:.12em;
  margin-bottom:10px;
}
.cctv-scene{
  display:flex;
  align-items:center;
  justify-content:center;
  height:74px;
  border-radius:14px;
  margin-bottom:10px;
  font-size:34px;
  background:linear-gradient(180deg,#182130,#0e1420);
}
.cctv-card strong{
  display:block;
  margin-bottom:6px;
}
.cctv-card small{
  display:block;
  color:#b5c2d5;
  line-height:1.45;
}
.cctv-card.correct{
  outline:2px solid rgba(81,199,144,.9);
  box-shadow:0 0 0 4px rgba(81,199,144,.10);
}
.cctv-card.wrong{
  outline:2px solid rgba(218,91,91,.9);
  box-shadow:0 0 0 4px rgba(218,91,91,.10);
}

@media(max-width:430px){
  .torn-fragments,
  .cctv-grid,
  .cipher-grid{
    grid-template-columns:1fr;
  }
  .assembly-actions{
    flex-direction:column;
  }
  .cipher-code{
    font-size:24px;
  }
}


/* ===== V26.1: WORKING TORN EVIDENCE ===== */
.torn-help{
  margin:0 0 14px;
  padding:11px 12px;
  border-radius:14px;
  background:rgba(90,150,220,.07);
  border:1px solid rgba(120,180,255,.12);
  color:#bdcbe0;
  font-size:12px;
  line-height:1.5;
}

.fragment-btn{
  position:relative;
  min-height:52px;
  transition:
    transform .18s ease,
    opacity .18s ease,
    box-shadow .18s ease;
}

.fragment-btn:not(.used):active{
  transform:scale(.96);
}

.fragment-btn.used{
  opacity:.25 !important;
  filter:grayscale(.3);
  box-shadow:none;
  cursor:default;
}

.assembly-slots{
  align-items:center;
}

.assembly-slots.piece-added{
  animation:pieceAdded .34s ease;
}

@keyframes pieceAdded{
  0%{transform:scale(.985); border-color:rgba(232,184,94,.08)}
  55%{transform:scale(1.015); border-color:rgba(232,184,94,.38)}
  100%{transform:scale(1); border-color:rgba(255,255,255,.08)}
}

.slot-chip{
  animation:chipIn .22s ease both;
}

@keyframes chipIn{
  from{opacity:0; transform:translateY(5px) scale(.94)}
  to{opacity:1; transform:translateY(0) scale(1)}
}

@media(max-width:430px){
  .torn-fragments{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .fragment-btn{
    font-size:12px;
    padding:12px 8px;
  }
}


/* ===== V26.2: HARDER WORKING CIPHER ===== */

.cipher-intercept{
  margin:16px 0 14px;
  padding:18px;
  border-radius:18px;
  background:
    linear-gradient(180deg,rgba(81,199,144,.055),rgba(255,255,255,.018)),
    #0b1218;
  border:1px solid rgba(81,199,144,.17);
  box-shadow:inset 0 0 24px rgba(81,199,144,.025);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
}

.cipher-intercept-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
  color:#8fa59a;
  font-size:10px;
  font-weight:1000;
  letter-spacing:.16em;
}

.cipher-live-dot{
  color:#71daa1;
  animation:cipherLive 1.2s ease-in-out infinite;
}

@keyframes cipherLive{
  0%,100%{opacity:.55}
  50%{opacity:1; text-shadow:0 0 10px rgba(113,218,161,.55)}
}

.cipher-code.harder{
  font-size:clamp(22px,6vw,32px);
  letter-spacing:.08em;
  color:#dcf6e8;
  text-shadow:0 0 15px rgba(81,199,144,.12);
}

.cipher-key-stamp{
  display:inline-block;
  margin-top:15px;
  padding:8px 10px;
  border-radius:10px;
  border:1px dashed rgba(232,184,94,.34);
  color:#e8c98b;
  font-size:11px;
  letter-spacing:.08em;
  transform:rotate(-1deg);
}

.cipher-alphabet{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:7px;
}

.cipher-alphabet span{
  padding:7px 5px;
  border-radius:8px;
  background:rgba(255,255,255,.035);
  color:#cbd5e4;
  text-align:center;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:10px;
}

.cipher-rule-card p{
  margin:0 0 12px;
  color:#c3cede;
  line-height:1.55;
  font-size:13px;
}

.cipher-hint-btn{
  width:100%;
  font-size:10px;
}

.cipher-hint{
  margin-top:12px;
  padding:11px 12px;
  border-radius:12px;
  background:rgba(232,184,94,.07);
  border:1px solid rgba(232,184,94,.15);
  color:#e5d2aa;
  font-size:12px;
  line-height:1.5;
}

.cipher-hint-show{
  animation:cipherHintIn .3s ease both;
}

@keyframes cipherHintIn{
  from{opacity:0; transform:translateY(5px)}
  to{opacity:1; transform:translateY(0)}
}

@media(max-width:430px){
  .cipher-alphabet{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  .cipher-intercept{
    padding:15px 12px;
  }
}


/* ===== V26.3: PUZZLE POLISH ===== */

/* 1 užduotis — fragmentai turi jaustis kaip normalūs dideli mygtukai */
.fragment-btn{
  min-height:66px !important;
  padding:16px 14px !important;
  border:1px solid rgba(70,50,28,.18) !important;
  border-radius:16px !important;
  font-size:13px !important;
  font-weight:1000 !important;
  line-height:1.2 !important;
  box-shadow:
    0 10px 22px rgba(0,0,0,.16),
    inset 0 1px 0 rgba(255,255,255,.45) !important;
}

.fragment-btn:not(.used):hover{
  transform:translateY(-2px) rotate(calc((var(--r, 0))*1deg));
  box-shadow:
    0 14px 28px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.5) !important;
}

/* 2 užduotis — jokio persidengimo tarp dekoderio ir užuominos */
.cipher-grid{
  align-items:start;
}

.cipher-card{
  min-width:0;
  overflow:hidden;
}

.cipher-rule-card{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.cipher-rule-card .cipher-label{
  margin-bottom:0 !important;
}

.cipher-rule-card p{
  margin:0 !important;
}

.cipher-rule-example{
  padding:9px 10px;
  border-radius:10px;
  background:rgba(81,199,144,.06);
  border:1px solid rgba(81,199,144,.12);
  color:#bfe2cf;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:11px;
  line-height:1.45;
}

.cipher-hint-btn{
  position:static !important;
  display:block !important;
  width:100% !important;
  margin:2px 0 0 !important;
  white-space:normal !important;
  line-height:1.35 !important;
}

/* 3 užduotis — CCTV laiko galvosūkis */
.cctv-log{
  margin:16px 0;
  padding:15px;
  border-radius:18px;
  background:#091117;
  border:1px solid rgba(81,199,144,.14);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  box-shadow:inset 0 0 26px rgba(81,199,144,.025);
}

.cctv-log-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding-bottom:11px;
  margin-bottom:9px;
  border-bottom:1px solid rgba(255,255,255,.06);
  color:#8fa59a;
  font-size:10px;
  font-weight:1000;
  letter-spacing:.12em;
}

.cctv-rec{
  color:#ff6670;
  animation:cipherLive 1.1s ease-in-out infinite;
}

.cctv-log-line{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:10px;
  padding:8px 0;
  color:#cbd8d0;
  font-size:11px;
  line-height:1.4;
}

.cctv-log-line span{
  color:#79d6a4;
  font-weight:1000;
}

.cctv-question{
  margin:16px 0 12px;
  padding:13px 14px;
  border-radius:15px;
  background:rgba(232,184,94,.055);
  border:1px solid rgba(232,184,94,.13);
}

.cctv-question > span{
  display:block;
  color:#e7c982;
  font-size:10px;
  font-weight:1000;
  letter-spacing:.14em;
  margin-bottom:7px;
}

.cctv-question p{
  margin:0;
}

.time-card{
  text-align:center;
}

.cctv-frame-no{
  display:block;
  color:#8392a7;
  font-size:9px;
  font-weight:1000;
  letter-spacing:.12em;
  margin-bottom:8px;
}

.camera-frame{
  position:relative;
  overflow:hidden;
  color:#769285;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:28px !important;
  background:
    linear-gradient(rgba(8,20,16,.45),rgba(8,20,16,.45)),
    repeating-linear-gradient(0deg,#14221d 0 2px,#0d1713 2px 4px) !important;
}

.camera-frame::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-25%;
  height:35%;
  background:linear-gradient(transparent,rgba(97,222,159,.10),transparent);
  animation:signalScan 2.1s linear infinite;
}

.time-card strong{
  font-size:24px;
  color:#eef5f1;
  letter-spacing:.04em;
}

.cctv-success{
  position:relative;
  overflow:hidden;
  margin-top:15px;
  padding:15px;
  border-radius:15px;
  background:rgba(81,199,144,.075);
  border:1px solid rgba(81,199,144,.22);
  text-align:center;
  color:#bdf0d0;
}

.cctv-success strong,
.cctv-success span{
  position:relative;
  z-index:2;
  display:block;
}

.cctv-success strong{
  font-size:12px;
  letter-spacing:.14em;
}

.cctv-success span{
  margin-top:6px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:11px;
  color:#8fd2aa;
}

.cctv-success-scan{
  position:absolute;
  inset:-40% 0 auto;
  height:55%;
  background:linear-gradient(transparent,rgba(81,199,144,.14),transparent);
  animation:signalScan 1.4s linear infinite;
}

@media(max-width:600px){
  .cipher-grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .cipher-alphabet{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }

  .cipher-rule-card{
    margin-top:0 !important;
  }

  .torn-fragments{
    gap:10px !important;
  }

  .fragment-btn{
    min-height:62px !important;
  }
}

@media(max-width:380px){
  .cipher-alphabet{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }

  .cctv-log-line{
    grid-template-columns:62px 1fr;
    font-size:10px;
  }
}


/* ===== V26.4: ACTION BUTTON FIX + CCTV OBSERVATION GAME ===== */

/* Pirmos užduoties apatiniai mygtukai — normalūs, ne "ploni". */
.assembly-actions{
  display:grid !important;
  grid-template-columns:1fr 1.35fr !important;
  gap:10px !important;
  margin-top:14px !important;
}

.assembly-actions .btn{
  width:100% !important;
  min-width:0 !important;
  min-height:54px !important;
  padding:15px 16px !important;
  margin:0 !important;
  line-height:1.2 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  white-space:normal !important;
}

/* CCTV ekranas */
.cctv-playback{
  margin-top:16px;
}

.cctv-monitor-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border:1px solid rgba(81,199,144,.14);
  border-bottom:0;
  border-radius:16px 16px 0 0;
  background:#0a1015;
  color:#8ca197;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:10px;
  font-weight:900;
  letter-spacing:.1em;
}

.cctv-rec-state{
  color:#8ca197;
}

.cctv-rec-state.recording{
  color:#ff6670;
  animation:redLedPulse .75s ease-in-out infinite;
}

.cctv-monitor{
  position:relative;
  overflow:hidden;
  min-height:270px;
  border:1px solid rgba(81,199,144,.16);
  border-radius:0 0 18px 18px;
  background:
    radial-gradient(circle at 48% 48%,rgba(61,104,82,.10),transparent 35%),
    repeating-linear-gradient(0deg,#0f1815 0 3px,#0b1310 3px 6px);
  box-shadow:
    inset 0 0 48px rgba(0,0,0,.44),
    inset 0 0 18px rgba(81,199,144,.03);
}

.cctv-monitor-noise{
  position:absolute;
  inset:0;
  z-index:5;
  pointer-events:none;
  opacity:.12;
  background-image:
    radial-gradient(circle,rgba(255,255,255,.4) 0 1px,transparent 1px);
  background-size:8px 8px;
  mix-blend-mode:screen;
}

.cctv-monitor-scan{
  position:absolute;
  z-index:6;
  left:0;
  right:0;
  top:-25%;
  height:30%;
  pointer-events:none;
  background:linear-gradient(transparent,rgba(92,220,158,.09),transparent);
  animation:signalScan 2.5s linear infinite;
}

.cctv-timecode{
  position:absolute;
  top:12px;
  left:12px;
  z-index:10;
  color:#b7d9c4;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:13px;
  font-weight:900;
  text-shadow:0 0 8px rgba(81,199,144,.25);
}

.cctv-frame-label{
  position:absolute;
  top:13px;
  right:12px;
  z-index:10;
  color:#748b80;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
}

.cctv-yard{
  position:relative;
  width:100%;
  height:270px;
}

.yard-slot{
  position:absolute;
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border:1px dashed rgba(120,160,140,.11);
  border-radius:14px;
}

.slot-a{left:8%; top:31%}
.slot-b{left:29%; top:58%}
.slot-c{left:48%; top:35%}
.slot-d{right:22%; top:60%}
.slot-e{right:6%; top:29%}

.yard-object{
  position:absolute;
  z-index:8;
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  font-size:32px;
  filter:saturate(.72) contrast(1.08);
  transition:
    left .45s ease,
    top .45s ease,
    opacity .28s ease,
    transform .28s ease;
}

.static-object{
  position:static;
}

.target-object{
  left:48%;
  top:35%;
  text-shadow:0 0 10px rgba(255,255,255,.08);
}

.target-object.tool-pos-c{left:48%; top:35%}
.target-object.tool-pos-b{left:29%; top:58%}
.target-object.tool-pos-d{left:70%; top:60%}

.target-object.object-gone{
  opacity:0;
  transform:scale(.72);
}

.cctv-monitor.frame-flash::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:20;
  pointer-events:none;
  background:rgba(185,255,220,.10);
  animation:cctvFrameFlash .24s ease-out both;
}

@keyframes cctvFrameFlash{
  from{opacity:1}
  to{opacity:0}
}

.cctv-playback-actions{
  margin-top:12px;
}

.cctv-playback-actions .btn{
  min-height:52px;
}

.cctv-replay-note{
  margin-top:8px;
  color:#8291a5;
  text-align:center;
  font-size:10px;
  line-height:1.45;
}

.cctv-observation-question{
  margin-top:18px;
  padding:15px;
  border-radius:18px;
  border:1px solid rgba(232,184,94,.14);
  background:rgba(232,184,94,.045);
  transition:opacity .25s ease,filter .25s ease;
}

.cctv-observation-question.locked{
  opacity:.55;
  filter:saturate(.6);
}

.cctv-lock-note{
  margin-bottom:12px;
  padding:9px 10px;
  border-radius:11px;
  background:rgba(255,255,255,.035);
  color:#aab5c5;
  font-size:11px;
  font-weight:800;
}

.cctv-observation-question > span{
  display:block;
  color:#e6c984;
  font-size:10px;
  font-weight:1000;
  letter-spacing:.14em;
  margin-bottom:7px;
}

.cctv-observation-question p{
  margin:0 0 13px;
}

.cctv-object-choices{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.cctv-object-choice{
  min-height:76px;
  padding:12px;
  border-radius:15px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.035);
  color:#e8edf4;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:10px;
  text-align:left;
}

.cctv-object-choice span{
  font-size:26px;
}

.cctv-object-choice strong{
  font-size:12px;
}

.cctv-object-choice:disabled{
  cursor:not-allowed;
  opacity:.45;
}

.cctv-object-choice.correct{
  border-color:rgba(81,199,144,.65);
  background:rgba(81,199,144,.09);
  box-shadow:0 0 0 3px rgba(81,199,144,.08);
}

.cctv-object-choice.wrong{
  border-color:rgba(218,91,91,.60);
  background:rgba(218,91,91,.08);
}

@media(max-width:430px){
  .assembly-actions{
    grid-template-columns:1fr !important;
  }

  .assembly-actions .btn{
    min-height:56px !important;
  }

  .cctv-monitor,
  .cctv-yard{
    min-height:245px;
    height:245px;
  }

  .yard-slot,
  .yard-object{
    width:50px;
    height:50px;
  }

  .yard-object{
    font-size:28px;
  }

  .cctv-object-choices{
    grid-template-columns:1fr 1fr;
  }

  .cctv-object-choice{
    min-height:70px;
    padding:10px;
  }
}


/* ===== V26.6: OVERLAY STABILITY + POLISH ===== */

/* Screen shake juda tik turinį, ne #app. Taip fixed overlay lieka tikrame viewport centre. */
#app.screen-shake{
  animation:none !important;
  transform:none !important;
}

.screen-shake-target{
  animation:screenShakeLocal .52s ease both;
}

@keyframes screenShakeLocal{
  0%,100%{transform:translateX(0)}
  12%{transform:translateX(-4px)}
  24%{transform:translateX(4px)}
  36%{transform:translateX(-3px)}
  48%{transform:translateX(3px)}
  60%{transform:translateX(-2px)}
  72%{transform:translateX(2px)}
}

/* Transition popup visada tiksliai viewport centre. */
.transition-overlay{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100dvh !important;
  min-height:100dvh !important;
  display:grid !important;
  place-items:center !important;
  padding:18px !important;
}

.transition-card{
  margin:0 !important;
  align-self:center !important;
  justify-self:center !important;
}

/* Cipher: aiškus tarpas tarp pavyzdžio ir užuominos mygtuko. */
.cipher-rule-card{
  gap:12px !important;
}

.cipher-rule-example{
  margin:2px 0 8px !important;
}

.cipher-hint-btn{
  margin-top:8px !important;
  min-height:42px !important;
}

/* CCTV: labai subtilus kelių pikselių judesys. */
.target-object{
  transition:
    left .62s ease,
    top .62s ease,
    opacity .28s ease,
    transform .28s ease !important;
}

.target-object.tool-pos-c{left:48%; top:35% !important}
.target-object.tool-pos-b{left:49.4%; top:36.1% !important}
.target-object.tool-pos-d{left:47.2%; top:34.2% !important}
.target-object.tool-pos-e{left:49.0%; top:35.4% !important}

/* Saugumo pastaba prieš kasimą. */
.dig-warning{
  display:flex;
  gap:12px;
  align-items:flex-start;
  margin:14px 0;
  padding:14px;
  border-radius:16px;
  background:rgba(232,184,94,.07);
  border:1px solid rgba(232,184,94,.18);
}

.dig-warning > span{
  flex:0 0 auto;
  font-size:20px;
}

.dig-warning strong{
  display:block;
  margin-bottom:5px;
  color:#f0cc85;
  font-size:11px;
  letter-spacing:.12em;
}

.dig-warning p{
  margin:0;
  color:#c8d0db;
  font-size:12px;
  line-height:1.55;
}

/* CASE CLOSED turi iškart uždengti VISĄ viewport, be dalinio seno ekrano kadro. */
.case-closed-overlay{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100dvh !important;
  min-height:100dvh !important;
  z-index:1000 !important;
  background:#05070b !important;
  isolation:isolate;
}

.case-closed-overlay.show{
  opacity:1 !important;
  visibility:visible !important;
}

/* Neblurinam aktyvaus final screen — filter irgi gali sukurti keistus kompozicijos sluoksnius mobile. */
body.case-closed-mode .screen.active{
  filter:none !important;
}

/* Pirmą overlay kadrą padarom pilnai tamsų, dekoracijos ateina po to. */
.case-closed-overlay::marker{
  display:none;
}

@media(max-width:600px){
  .transition-overlay{
    padding:
      max(16px, env(safe-area-inset-top))
      14px
      max(16px, env(safe-area-inset-bottom)) !important;
  }

  .transition-card{
    width:min(92vw,440px) !important;
  }
}

/* CASE CLOSED: jokio seno lango persišvietimo fade pradžioje. */
.case-closed-overlay{
  transition:visibility 0s linear .18s, opacity .18s ease !important;
}
.case-closed-overlay.show{
  transition:none !important;
}


/* =========================================================
   V27 — WOW POLISH
   ========================================================= */

/* ---------- 5 sekundžių HOLD TO UNLOCK ---------- */
.hold-unlock-wrap{
  margin-top:14px;
}

.hold-unlock-btn{
  --hold-progress:0%;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  width:100%;
  min-height:62px;
  padding:15px 66px 15px 18px;
  border:1px solid rgba(81,199,144,.30);
  border-radius:17px;
  background:#101b18;
  color:#dff7e8;
  font:inherit;
  font-weight:1000;
  letter-spacing:.035em;
  cursor:pointer;
  touch-action:none;
  user-select:none;
  -webkit-user-select:none;
  box-shadow:
    0 14px 32px rgba(0,0,0,.20),
    inset 0 0 0 1px rgba(255,255,255,.025);
}

.hold-unlock-fill{
  position:absolute;
  inset:0 auto 0 0;
  z-index:-1;
  width:var(--hold-progress);
  background:
    linear-gradient(90deg,rgba(43,144,94,.52),rgba(81,199,144,.34));
  box-shadow:12px 0 26px rgba(81,199,144,.16);
  transition:width .05s linear;
}

.hold-unlock-text{
  position:relative;
  z-index:2;
}

.hold-unlock-percent{
  position:absolute;
  right:16px;
  top:50%;
  z-index:2;
  transform:translateY(-50%);
  min-width:42px;
  color:#91bda4;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:12px;
  text-align:right;
}

.hold-unlock-btn.holding{
  border-color:rgba(81,199,144,.68);
  box-shadow:
    0 0 0 3px rgba(81,199,144,.08),
    0 14px 34px rgba(0,0,0,.22),
    inset 0 0 24px rgba(81,199,144,.05);
  animation:holdPulse 1.05s ease-in-out infinite;
}

.hold-unlock-btn.hold-complete{
  border-color:rgba(111,232,163,.92);
  color:#f0fff6;
  box-shadow:
    0 0 0 4px rgba(81,199,144,.12),
    0 0 32px rgba(81,199,144,.18);
}

.gold-hold{
  border-color:rgba(232,184,94,.34);
  background:#211a10;
  color:#ffe8b5;
}

.gold-hold .hold-unlock-fill{
  background:
    linear-gradient(90deg,rgba(176,122,38,.62),rgba(232,184,94,.42));
  box-shadow:12px 0 28px rgba(232,184,94,.17);
}

.gold-hold .hold-unlock-percent{
  color:#d9bc82;
}

.gold-hold.holding{
  border-color:rgba(232,184,94,.78);
  box-shadow:
    0 0 0 3px rgba(232,184,94,.09),
    0 14px 34px rgba(0,0,0,.22),
    inset 0 0 24px rgba(232,184,94,.06);
}

.hold-unlock-help{
  margin-top:8px;
  color:#8d9bad;
  font-size:10px;
  line-height:1.45;
  text-align:center;
}

@keyframes holdPulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(.992)}
}

/* ---------- Signal strength ---------- */
.signal-strength{
  margin-top:20px;
  padding-top:15px;
  border-top:1px solid rgba(81,199,144,.10);
}

.signal-strength-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
  color:#78958a;
  font-size:9px;
  font-weight:1000;
  letter-spacing:.14em;
}

.signal-strength-top strong{
  color:#86e1ad;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:12px;
}

.signal-bars{
  height:35px;
  display:flex;
  align-items:flex-end;
  gap:7px;
}

.signal-bars i{
  display:block;
  flex:1;
  min-width:0;
  border-radius:4px 4px 2px 2px;
  background:rgba(81,199,144,.10);
  border:1px solid rgba(81,199,144,.08);
  transition:
    background .25s ease,
    box-shadow .25s ease,
    transform .25s ease;
  transform-origin:bottom;
}

.signal-bars i:nth-child(1){height:24%}
.signal-bars i:nth-child(2){height:40%}
.signal-bars i:nth-child(3){height:58%}
.signal-bars i:nth-child(4){height:78%}
.signal-bars i:nth-child(5){height:100%}

.signal-bars i.active{
  background:linear-gradient(180deg,#7be1a9,#319a69);
  border-color:rgba(123,225,169,.48);
  box-shadow:0 0 12px rgba(81,199,144,.20);
  transform:scaleY(1.04);
}

/* ---------- Evidence board ---------- */
.evidence-board-overlay{
  position:fixed;
  inset:0;
  z-index:242;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(4,7,11,.97);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .28s ease;
}

.evidence-board-overlay.show{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.evidence-board-overlay.leaving{
  opacity:0;
}

.evidence-board{
  position:relative;
  overflow:hidden;
  width:min(94vw,560px);
  max-height:min(88dvh,720px);
  padding:22px;
  border-radius:22px;
  background:
    radial-gradient(circle at 18% 0%,rgba(232,184,94,.07),transparent 27%),
    linear-gradient(180deg,#141b25,#0c121b);
  border:1px solid rgba(232,184,94,.16);
  box-shadow:
    0 30px 80px rgba(0,0,0,.55),
    inset 0 0 32px rgba(232,184,94,.018);
}

.evidence-board-scan{
  position:absolute;
  z-index:0;
  left:0;
  right:0;
  top:-30%;
  height:30%;
  pointer-events:none;
  background:linear-gradient(transparent,rgba(232,184,94,.035),transparent);
  animation:evidenceScan 2.8s linear infinite;
}

@keyframes evidenceScan{
  to{top:115%}
}

.evidence-board-head,
.evidence-board-progress,
.evidence-board-list,
.evidence-board-footer{
  position:relative;
  z-index:2;
}

.evidence-board-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:14px;
}

.evidence-board-head span{
  display:block;
  margin-bottom:5px;
  color:#9aa8bb;
  font-size:9px;
  font-weight:1000;
  letter-spacing:.2em;
}

.evidence-board-head strong{
  display:block;
  color:#f4e5c4;
  font-size:22px;
  line-height:1;
}

.evidence-board-count{
  color:#e6c377;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:13px;
  font-weight:1000;
}

.evidence-board-progress{
  overflow:hidden;
  height:6px;
  margin:15px 0 16px;
  border-radius:999px;
  background:rgba(255,255,255,.05);
}

.evidence-board-progress span{
  display:block;
  width:0;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#93702f,#e8b85e);
  box-shadow:0 0 15px rgba(232,184,94,.20);
  transition:width .65s cubic-bezier(.2,.8,.2,1);
}

.evidence-board-list{
  display:grid;
  gap:8px;
}

.evidence-progress-item{
  position:relative;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  min-height:54px;
  padding:9px 10px;
  border-radius:13px;
  background:rgba(255,255,255,.026);
  border:1px solid rgba(255,255,255,.045);
  opacity:.50;
  transition:
    opacity .25s ease,
    background .25s ease,
    border-color .25s ease,
    transform .25s ease;
}

.evidence-progress-item > b{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:9px;
  background:rgba(255,255,255,.04);
  color:#8896aa;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:10px;
}

.evidence-progress-item div strong{
  display:block;
  color:#c6cfdb;
  font-size:10px;
  letter-spacing:.06em;
}

.evidence-progress-item div span{
  display:block;
  margin-top:3px;
  color:#78879b;
  font-size:9px;
}

.evidence-progress-item em{
  opacity:0;
  padding:5px 7px;
  border:1px solid rgba(87,197,135,.42);
  border-radius:6px;
  color:#77dca1;
  font-size:8px;
  font-style:normal;
  font-weight:1000;
  letter-spacing:.07em;
  transform:rotate(-4deg) scale(1.35);
}

.evidence-progress-item.done{
  opacity:1;
  background:rgba(81,199,144,.045);
  border-color:rgba(81,199,144,.12);
}

.evidence-progress-item.done > b{
  background:rgba(81,199,144,.09);
  color:#86dca9;
}

.evidence-progress-item.done em{
  opacity:1;
  transform:rotate(-4deg) scale(1);
}

.evidence-progress-item.newly-done{
  background:rgba(81,199,144,.09);
  border-color:rgba(81,199,144,.30);
  transform:scale(1.012);
}

.evidence-progress-item.newly-done em{
  animation:evidenceStamp .7s cubic-bezier(.18,.95,.24,1.12) both;
}

@keyframes evidenceStamp{
  0%{opacity:0;transform:rotate(-7deg) scale(2.1)}
  55%{opacity:1;transform:rotate(-4deg) scale(.88)}
  78%{transform:rotate(-4deg) scale(1.08)}
  100%{opacity:1;transform:rotate(-4deg) scale(1)}
}

.evidence-board-footer{
  margin-top:14px;
  color:#647286;
  text-align:center;
  font-size:8px;
  font-weight:900;
  letter-spacing:.17em;
}

@media(max-width:430px){
  .evidence-board{
    width:94vw;
    padding:17px 13px;
  }

  .evidence-board-head strong{
    font-size:18px;
  }

  .evidence-progress-item{
    grid-template-columns:29px minmax(0,1fr);
    min-height:48px;
    padding:8px;
  }

  .evidence-progress-item > b{
    width:27px;
    height:27px;
  }

  .evidence-progress-item em{
    grid-column:2;
    justify-self:start;
    margin-top:2px;
  }

  .evidence-progress-item div strong{
    font-size:9px;
  }

  .evidence-progress-item div span{
    font-size:8px;
  }

  .hold-unlock-btn{
    min-height:66px;
    padding-left:13px;
    padding-right:58px;
    font-size:11px;
  }

  .hold-unlock-percent{
    right:12px;
  }
}


/* ===== V27.1: CCTV VERY SUBTLE MOVEMENT ===== */
.target-object.tool-pos-c{
  left:48% !important;
  top:35% !important;
  transform:translate(0,0) !important;
}
.target-object.tool-pos-b{
  left:48% !important;
  top:35% !important;
  transform:translate(1px,0) !important;
}
.target-object.tool-pos-d{
  left:48% !important;
  top:35% !important;
  transform:translate(1px,1px) !important;
}
.target-object.tool-pos-e{
  left:48% !important;
  top:35% !important;
  transform:translate(0,1px) !important;
}
.target-object.object-gone{
  opacity:1 !important;
  transform:inherit !important;
}


/* ===== V27.1: HINT BOX MOBILE FIX ===== */
@media(max-width:700px){
  .hint-box{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:14px !important;
    align-items:stretch !important;
    justify-content:stretch !important;
    padding:15px !important;
  }

  .hint-box > div{
    width:100% !important;
    min-width:0 !important;
  }

  .hint-box strong,
  .hint-box p{
    width:100% !important;
    max-width:none !important;
  }

  .hint-box .btn,
  .hint-box .btn.secondary{
    display:flex !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:50px !important;
    padding:13px 12px !important;
    align-items:center !important;
    justify-content:center !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    text-align:center !important;
    line-height:1.25 !important;
  }
}

/* ===== V27.1: 3-second timing challenge ===== */
.hold-unlock-btn.hold-release-zone{
  border-color:rgba(111,232,163,.95) !important;
  box-shadow:
    0 0 0 4px rgba(81,199,144,.14),
    0 0 38px rgba(81,199,144,.22) !important;
}

.hold-unlock-btn.hold-release-zone .hold-unlock-percent{
  color:#caffdc !important;
}

.hold-unlock-btn.hold-too-long{
  border-color:rgba(226,77,88,.82) !important;
  background:#261013 !important;
  box-shadow:
    0 0 0 4px rgba(226,77,88,.10),
    0 0 30px rgba(226,77,88,.15) !important;
}

.hold-unlock-btn.hold-too-long .hold-unlock-fill{
  background:linear-gradient(90deg,rgba(150,31,42,.70),rgba(226,77,88,.48)) !important;
}

.hold-unlock-btn.hold-too-long .hold-unlock-percent{
  color:#ffadb3 !important;
  font-size:10px !important;
}

/* Evidence board stays on screen long enough to actually read. */
.evidence-board-overlay.show .evidence-board{
  animation:evidenceBoardArrival .42s ease both;
}

@keyframes evidenceBoardArrival{
  from{opacity:0;transform:translateY(10px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}


/* ===== V27.2: FINAL LOCK CODE CHAOS ===== */
.final-lock-section{
  margin:24px 0 18px;
  padding:18px;
  border:1px solid rgba(232,184,94,.22);
  border-radius:18px;
  background:
    radial-gradient(circle at 50% 0%,rgba(232,184,94,.08),transparent 42%),
    rgba(10,14,20,.78);
  box-shadow:inset 0 0 28px rgba(232,184,94,.025);
}
.final-lock-kicker{
  margin-bottom:9px;
  color:#e8b85e;
  font-size:10px;
  font-weight:1000;
  letter-spacing:.14em;
}
.final-lock-section h3{
  margin:0 0 8px;
  color:#f4e5c4;
  font-size:18px;
  line-height:1.25;
}
.final-lock-section p{
  margin:0;
  color:#b7c1ce;
  font-size:12px;
  line-height:1.6;
}
.final-lock-note{
  margin:11px 0 15px;
  color:#8d9bad;
  font-size:11px;
  font-style:italic;
}
.lock-code-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:7px;
}
.lock-code-option{
  display:grid;
  place-items:center;
  min-height:36px;
  padding:6px 3px;
  border:1px solid rgba(255,255,255,.065);
  border-radius:9px;
  background:rgba(255,255,255,.035);
  color:#cbd4df;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
  user-select:none;
}
@media(max-width:430px){
  .final-lock-section{padding:15px 12px}
  .lock-code-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .lock-code-option{min-height:34px;font-size:10px}
}


/* ===== V27.3: LOCK CODES LIVE INSIDE CASE CLOSED ===== */
.case-closed-overlay{
  overflow-y:auto !important;
  overscroll-behavior:contain;
}

.case-closed-overlay .final-lock-section{
  width:min(92vw,560px);
  margin:20px auto 28px;
  flex:0 0 auto;
}

@media(max-width:430px){
  .case-closed-overlay .final-lock-section{
    width:92vw;
    margin-top:16px;
    margin-bottom:24px;
  }
}


/* ===== V27.4: CASE CLOSED STACK FIX ===== */
.case-closed-overlay{
  overflow-y:auto !important;
}

.case-closed-content{
  position:relative !important;
  top:auto !important;
  left:auto !important;
  transform:none !important;
  width:min(94vw,620px) !important;
  min-height:100dvh !important;
  margin:0 auto !important;
  padding:
    max(48px, env(safe-area-inset-top))
    16px
    max(44px, env(safe-area-inset-bottom)) !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:0 !important;
}

.case-closed-kicker{
  margin:0 0 26px !important;
}

.case-closed-main-stamp{
  margin:0 !important;
}

.case-closed-subline{
  margin:30px 0 0 !important;
}

.case-archive-panel{
  margin:28px 0 0 !important;
}

.case-closed-content .final-lock-section{
  width:100% !important;
  max-width:560px !important;
  margin:42px auto 0 !important;
  position:relative !important;
  z-index:5 !important;
}

@media(max-width:600px){
  .case-closed-content{
    justify-content:flex-start !important;
    min-height:100dvh !important;
    padding-top:max(56px, env(safe-area-inset-top)) !important;
  }

  .case-closed-kicker{
    margin-bottom:24px !important;
  }

  .case-closed-main-stamp{
    width:min(88vw,350px) !important;
  }

  .case-closed-subline{
    margin-top:28px !important;
  }

  .case-archive-panel{
    margin-top:26px !important;
  }

  .case-closed-content .final-lock-section{
    margin-top:38px !important;
    width:92vw !important;
  }
}

/* ===== V27.5 MOBILE WOW ===== */
.cctv-monitor{--flash-x:50%;--flash-y:50%;touch-action:none}
.cctv-flashlight-hud{position:absolute;z-index:12;left:10px;right:10px;bottom:9px;display:flex;justify-content:space-between;pointer-events:none;color:rgba(200,255,220,.75);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;font-weight:900;letter-spacing:.08em}
.cctv-flashlight-layer{position:absolute;inset:0;z-index:9;pointer-events:none;background:rgba(0,0,0,.50)}
.cctv-monitor.flashlight-active .cctv-flashlight-layer{background:radial-gradient(circle 72px at var(--flash-x) var(--flash-y),rgba(255,255,235,.02) 0,rgba(255,255,235,.015) 36%,rgba(0,0,0,.18) 58%,rgba(0,0,0,.74) 100%)}
.lock-code-help{margin:0 0 13px;padding:11px 12px;border-radius:11px;background:rgba(232,184,94,.07);border:1px solid rgba(232,184,94,.13);color:#c7d0db;font-size:11px;line-height:1.5}
.lock-code-status{display:flex;justify-content:space-between;margin-bottom:8px;color:#7f8da0;font-size:9px;font-weight:1000;letter-spacing:.13em}
.lock-code-status strong{color:#e8b85e;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}
.lock-troll-message{min-height:34px;margin-bottom:11px;padding:8px 10px;border-radius:9px;background:rgba(255,255,255,.025);color:#9ca9ba;font-size:10px;line-height:1.45}
.lock-code-option{cursor:pointer;touch-action:manipulation;transition:.16s ease}
.lock-code-option:active{transform:scale(.94)}
.lock-code-option.tried{opacity:.30;text-decoration:line-through 2px;background:rgba(196,65,75,.06);border-color:rgba(196,65,75,.16)}
.physical-unlock-btn{width:100%;min-height:56px;margin-top:17px;border:1px solid rgba(232,184,94,.38);border-radius:14px;background:linear-gradient(180deg,rgba(174,122,42,.24),rgba(82,56,21,.28));color:#ffe7b1;font:inherit;font-size:12px;font-weight:1000;letter-spacing:.08em;touch-action:manipulation}
.loot-acquired-overlay{position:fixed;inset:0;z-index:999;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 45%,#312714 0,#0a0d12 52%,#030507 100%);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s ease}
.loot-acquired-overlay.show{opacity:1;visibility:visible;pointer-events:auto}
.loot-acquired-card{position:relative;z-index:3;width:min(90vw,480px);text-align:center;animation:lootCardIn .7s cubic-bezier(.18,.9,.22,1.1) both}
.loot-check{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 18px;border:2px solid rgba(232,184,94,.75);border-radius:50%;color:#f4d48f;font-size:38px;box-shadow:0 0 45px rgba(232,184,94,.18)}
.loot-kicker{color:#a9905f;font-size:9px;font-weight:1000;letter-spacing:.2em}.loot-title{margin-top:9px;color:#fff0ca;font-size:clamp(28px,9vw,46px);font-weight:1000}.loot-sub{margin-top:12px;color:#aeb7c4;font-size:12px}
.loot-particles i{position:absolute;z-index:2;top:-20px;left:var(--x);width:7px;height:13px;border-radius:2px;background:#d9b15f;opacity:.9;animation:lootFall 3.8s linear var(--delay) infinite}
@keyframes lootFall{0%{transform:translate3d(0,-10vh,0) rotate(0);opacity:0}12%{opacity:1}100%{transform:translate3d(var(--drift),115vh,0) rotate(var(--spin));opacity:.2}}
@keyframes lootCardIn{from{opacity:0;transform:scale(.82) translateY(18px)}to{opacity:1;transform:scale(1) translateY(0)}}
@media(max-width:430px){.lock-code-option{min-height:42px!important;font-size:11px!important}.physical-unlock-btn{min-height:58px}.cctv-flashlight-hud{font-size:7px}}


/* ===== V27.6 CCTV HARD MODE ===== */
.cctv-flashlight-layer{
  background:rgba(0,0,0,.94) !important;
  transition:none !important;
}
.cctv-monitor.flashlight-active .cctv-flashlight-layer{
  background:
    radial-gradient(circle 58px at var(--flash-x) var(--flash-y),
      rgba(0,0,0,.05) 0 44%,
      rgba(0,0,0,.38) 61%,
      rgba(0,0,0,.96) 100%) !important;
}

.physical-unlock-btn:active{
  transform:scale(.975);
  filter:brightness(1.15);
}


/* ===== V27.7 CCTV INSTRUCTIONS + PLAYBACK DARK MODE ===== */
.cctv-touch-hint{
  margin:12px 0 14px;
  padding:11px 12px;
  border-radius:12px;
  background:rgba(81,199,144,.055);
  border:1px solid rgba(81,199,144,.12);
  color:#b9c7d5;
  font-size:11px;
  line-height:1.55;
}

.cctv-flashlight-layer{
  background:transparent !important;
}

.cctv-monitor.playback-dark .cctv-flashlight-layer{
  background:rgba(0,0,0,.94) !important;
}

.cctv-monitor.playback-dark.flashlight-active .cctv-flashlight-layer{
  background:
    radial-gradient(circle 58px at var(--flash-x) var(--flash-y),
      rgba(0,0,0,.04) 0 44%,
      rgba(0,0,0,.36) 61%,
      rgba(0,0,0,.96) 100%) !important;
}


/* ===== V27.8 HARD FINAL OVERLAY FIX ===== */
.loot-acquired-overlay{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100dvh !important;
  z-index:99999 !important;
}
.loot-acquired-overlay.show{
  display:grid !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}

/* ===== V27.9 MAX WOW ===== */
.capture-evidence-btn{width:100%;min-height:50px;margin:12px 0 8px;border:1px solid rgba(81,199,144,.22);border-radius:12px;background:rgba(81,199,144,.07);color:#c9f4df;font:inherit;font-size:11px;font-weight:1000;letter-spacing:.06em;touch-action:manipulation}
.capture-evidence-btn.captured{opacity:.65}.evidence-captured-badge{max-height:0;overflow:hidden;opacity:0;color:#75dda9;font-size:10px;font-weight:1000;letter-spacing:.08em;text-align:center;transition:.35s ease}.evidence-captured-badge.show{max-height:40px;opacity:1;margin-bottom:8px}
.camera-flash{position:fixed;inset:0;z-index:8000;pointer-events:none;background:white;opacity:0}.camera-flash.fire{animation:evidenceFlash .34s ease-out}@keyframes evidenceFlash{0%{opacity:0}18%{opacity:.98}100%{opacity:0}}
[data-screen="recovery"].fatal-impact{animation:fatalShake .16s linear 7}
[data-screen="recovery"].fatal-impact::after{content:"FATAL ERROR · SERVER NODE LOST";position:fixed;z-index:9998;left:0;right:0;top:8%;padding:9px 12px;background:#a90012;color:white;font:900 11px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;text-align:center;box-shadow:0 0 45px rgba(255,0,25,.38);animation:fatalBanner 4.5s steps(1,end) both;pointer-events:none}
[data-screen="recovery"].fatal-glitch-on{filter:contrast(1.45) saturate(1.7) hue-rotate(-8deg);transform:translateX(3px) skewX(-.8deg)}
@keyframes fatalShake{0%,100%{transform:translate(0)}25%{transform:translate(-3px,2px)}50%{transform:translate(4px,-2px)}75%{transform:translate(-2px,-1px)}}@keyframes fatalBanner{0%{opacity:0}4%,17%,22%,48%,53%,88%{opacity:1}18%,21%,49%,52%,89%,100%{opacity:0}}
.motion-evidence{width:100%;max-width:560px;margin:36px auto 0;padding:17px;border-radius:17px;border:1px solid rgba(111,154,220,.17);background:radial-gradient(circle at 50% 0%,rgba(74,118,190,.09),transparent 52%),rgba(8,13,21,.72)}
.motion-kicker{color:#82a8df;font-size:9px;font-weight:1000;letter-spacing:.13em}.motion-title{margin-top:8px;color:#dce8f7;font-size:15px;font-weight:900}.motion-copy{margin-top:6px;color:#8f9fb2;font-size:11px;line-height:1.5}
.motion-enable-btn{width:100%;min-height:50px;margin-top:13px;border:1px solid rgba(111,154,220,.28);border-radius:12px;background:rgba(74,118,190,.10);color:#cfe1ff;font:inherit;font-size:10px;font-weight:1000;letter-spacing:.07em}.motion-status{margin-top:9px;color:#6f8096;font:900 8px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}
.tilt-reveal{--reveal:0;--tilt:0deg;position:relative;margin-top:14px;min-height:88px;display:grid;place-items:center;padding:14px;overflow:hidden;border-radius:11px;background:#05080d;border:1px solid rgba(255,255,255,.045);opacity:calc(.14 + var(--reveal) * .55);transform:perspective(500px) rotateY(var(--tilt));transition:opacity .08s linear,transform .08s linear}.tilt-secret{color:#e9f3ff;font-size:13px;font-weight:1000;text-align:center;filter:blur(calc((1 - var(--reveal)) * 5px))}.tilt-sub{position:absolute;bottom:7px;color:#66809d;font-size:7px;letter-spacing:.08em}.tilt-reveal.revealed{opacity:1!important;transform:none!important;box-shadow:0 0 32px rgba(91,146,218,.12)}.tilt-reveal.revealed .tilt-secret{filter:none!important}
.tilt-scanline{position:absolute;inset:-30% 0 auto;height:35%;background:linear-gradient(transparent,rgba(116,171,239,.08),transparent);animation:tiltScan 2.4s linear infinite}@keyframes tiltScan{to{transform:translateY(350%)}}
.archive-evidence{margin-top:7px;color:#86cda9;font-size:8px;font-weight:1000;letter-spacing:.09em}
.loot-acquired-overlay.cinematic-start{background:#000!important}.loot-acquired-overlay.cinematic-start .loot-acquired-card,.loot-acquired-overlay.cinematic-start .loot-particles{opacity:0}.loot-acquired-overlay.cinematic-start::before{content:"";position:absolute;z-index:1;left:50%;top:50%;width:0;height:2px;transform:translate(-50%,-50%);background:#f2d38b;box-shadow:0 0 35px 8px rgba(242,211,139,.32);opacity:0}.loot-acquired-overlay.cinematic-reveal{background:radial-gradient(circle at 50% 45%,#3c3017 0,#0a0d12 52%,#030507 100%)!important;transition:background 1.1s ease}.loot-acquired-overlay.cinematic-reveal::before{animation:goldCrack 1.05s cubic-bezier(.18,.8,.25,1) both}.loot-acquired-overlay.cinematic-reveal .loot-acquired-card{opacity:1;animation:lootCardIn .85s .38s cubic-bezier(.18,.9,.22,1.1) both}.loot-acquired-overlay.cinematic-reveal .loot-particles{opacity:1;transition:opacity .5s .35s}@keyframes goldCrack{0%{width:0;opacity:0}18%{opacity:1}70%{width:78vw;opacity:1}100%{width:100vw;opacity:0}}
@media(max-width:430px){.motion-evidence{width:92vw;padding:15px 12px}.capture-evidence-btn{min-height:52px}}


/* ===== V27.10 FATAL AFTERSHOCK ===== */
[data-screen="recovery"].fatal-aftershock .server-panel{
  animation:fatalAftershock 10s linear both;
}
[data-screen="recovery"].fatal-text-jitter .server-panel,
[data-screen="recovery"].fatal-text-jitter .server-alert,
[data-screen="recovery"].fatal-text-jitter .server-line{
  animation:fatalTextJitter .16s steps(2,end) 2;
}

@keyframes fatalAftershock{
  0%{transform:translate(0) rotate(0);filter:contrast(1.22)}
  8%{transform:translate(-2px,1px) rotate(-.08deg)}
  17%{transform:translate(2px,-1px) rotate(.08deg)}
  26%{transform:translate(-1px,-1px)}
  37%{transform:translate(2px,1px)}
  49%{transform:translate(-2px,0)}
  61%{transform:translate(1px,-1px)}
  73%{transform:translate(-1px,1px)}
  86%{transform:translate(1px,0)}
  100%{transform:translate(0) rotate(0);filter:none}
}

@keyframes fatalTextJitter{
  0%{transform:translate(0);text-shadow:2px 0 rgba(255,0,40,.35),-2px 0 rgba(0,180,255,.22)}
  50%{transform:translate(2px,-1px);text-shadow:-2px 0 rgba(255,0,40,.38),2px 0 rgba(0,180,255,.25)}
  100%{transform:translate(-1px,1px);text-shadow:1px 0 rgba(255,0,40,.24),-1px 0 rgba(0,180,255,.18)}
}


/* ===== V27.10 MOTION-GATED LOCK CODES ===== */
.lock-codes-gate{
  width:100%;
  max-width:560px;
  margin:0 auto;
}

.lock-codes-gate.locked .final-lock-section{
  display:none !important;
}

.lock-codes-locked-message{
  margin:18px auto 0;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(111,154,220,.16);
  background:rgba(74,118,190,.06);
  color:#8ea2bb;
  font-size:10px;
  line-height:1.5;
  text-align:center;
}

.lock-codes-gate.unlocked .lock-codes-locked-message{
  display:none;
}

.lock-codes-gate.unlocked .final-lock-section{
  animation:lockCodesReveal .72s cubic-bezier(.18,.9,.22,1.08) both;
}

@keyframes lockCodesReveal{
  from{
    opacity:0;
    transform:translateY(18px) scale(.985);
    filter:blur(5px);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
    filter:blur(0);
  }
}

.motion-override{max-height:0;opacity:0;overflow:hidden;margin-top:0;border-radius:10px;background:#03070b;font:900 8px monospace;transition:.45s}.motion-override.show{max-height:90px;opacity:1;margin-top:10px;padding:10px;border:1px solid rgba(117,221,169,.18)}.motion-override span{display:block;color:#75dda9;letter-spacing:.14em}.motion-override code{display:block;margin-top:6px;color:#aab8c8;white-space:normal}
.tilt-reveal.revealed{animation:tiltSuccessGlow 3.6s ease both}@keyframes tiltSuccessGlow{35%,75%{box-shadow:0 0 44px rgba(91,146,218,.32),inset 0 0 25px rgba(91,146,218,.07)}}.lock-codes-gate.decrypting .lock-code-option{opacity:.6;filter:blur(.5px)}.lock-code-option.decrypted{opacity:1!important;filter:none!important;animation:codeDecryptIn .2s ease both}@keyframes codeDecryptIn{from{transform:scale(.94);opacity:.4}to{transform:scale(1);opacity:1}}
.cctv-monitor.playback-dark::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:7;background:repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 4px);animation:cctvNoise .18s steps(2,end) infinite}.cctv-monitor.signal-lost::before{content:"SIGNAL LOST";position:absolute;z-index:20;inset:42% 0 auto;text-align:center;color:#fff;background:rgba(0,0,0,.78);padding:7px;font:900 11px monospace;letter-spacing:.15em}@keyframes cctvNoise{50%{transform:translateY(2px)}}
.physical-lock-status{position:fixed;inset:0;z-index:100000;display:grid;place-content:center;text-align:center;background:#020504;color:#829087;opacity:0;visibility:hidden;pointer-events:none;font:900 10px monospace;letter-spacing:.18em}.physical-lock-status strong{display:block;margin-top:9px;color:#75dda9;font-size:34px}.physical-lock-status.show{visibility:visible;animation:lockStatusOpen 1.45s ease both}@keyframes lockStatusOpen{0%{opacity:0}15%,78%{opacity:1}100%{opacity:0}}.loot-archive-final{margin-top:16px;color:#9b8c68;font:900 8px monospace;letter-spacing:.12em}
.case-closed-screen::before{content:"";position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(circle,rgba(226,198,126,.15) 0 1px,transparent 1.5px);background-size:53px 53px;opacity:.14;animation:goldDust 12s linear infinite}@keyframes goldDust{to{background-position:35px -70px}}

/* ===== V28.2 EPIC ADD-ONS ===== */
.epic-evidence-toast{position:fixed;z-index:95000;left:50%;top:max(14px,env(safe-area-inset-top));transform:translate(-50%,-140%);width:min(88vw,360px);padding:11px 14px;border:1px solid rgba(117,221,169,.24);border-radius:11px;background:rgba(3,10,11,.96);color:#75dda9;text-align:center;font:900 9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;box-shadow:0 12px 38px rgba(0,0,0,.42);transition:.35s ease}.epic-evidence-toast.show{transform:translate(-50%,0)}
.proximity-radar{position:fixed;inset:0;z-index:94000;display:grid;place-items:center;padding:20px;background:rgba(0,5,8,.97);opacity:0;visibility:hidden;pointer-events:none;transition:.25s}.proximity-radar.show{opacity:1;visibility:visible;pointer-events:auto}.radar-card{width:min(92vw,390px);text-align:center}.radar-kicker{color:#75dda9;font:1000 10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em}.radar-scope{position:relative;width:190px;height:190px;margin:22px auto;border:1px solid rgba(117,221,169,.28);border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 30px,rgba(117,221,169,.07) 31px 32px),linear-gradient(90deg,transparent 49.5%,rgba(117,221,169,.1) 50%,transparent 50.5%),linear-gradient(transparent 49.5%,rgba(117,221,169,.1) 50%,transparent 50.5%);overflow:hidden;box-shadow:inset 0 0 35px rgba(117,221,169,.04)}.radar-scope i{position:absolute;left:50%;top:50%;width:50%;height:2px;transform-origin:left;background:linear-gradient(90deg,#75dda9,transparent);animation:epicRadarSweep 1.15s linear infinite}.radar-scope b{position:absolute;width:7px;height:7px;right:25%;top:31%;border-radius:50%;background:#75dda9;box-shadow:0 0 15px #75dda9;animation:epicRadarDot .65s ease infinite alternate}.radar-distance{color:#eef8f3;font-size:25px;font-weight:1000}.radar-signal{margin-top:7px;color:#75dda9;font:900 10px ui-monospace,SFMono-Regular,Menlo,monospace}.radar-copy{margin-top:10px;color:#71847b;font-size:10px}.proximity-radar.critical .radar-scope{box-shadow:0 0 40px rgba(117,221,169,.2),inset 0 0 35px rgba(117,221,169,.09)}
@keyframes epicRadarSweep{to{transform:rotate(360deg)}}@keyframes epicRadarDot{to{opacity:.18}}
.epic-photo-scan{position:relative!important;overflow:hidden!important}.epic-photo-scan::after{content:"ANALIZUOJAMA VIETA...";position:absolute;z-index:30;left:0;right:0;top:0;height:3px;padding-top:5px;background:#75dda9;color:#75dda9;text-shadow:0 9px 0 rgba(117,221,169,.8);font:900 7px ui-monospace,SFMono-Regular,Menlo,monospace;text-align:center;box-shadow:0 0 20px rgba(117,221,169,.55);animation:epicPhotoScan 1.7s ease-in-out both;pointer-events:none}.epic-photo-confirmed{box-shadow:0 0 0 1px rgba(117,221,169,.16),0 0 25px rgba(117,221,169,.06)}
@keyframes epicPhotoScan{from{top:0;opacity:1}88%{opacity:1}to{top:100%;opacity:0}}
.epic-reconstructed{animation:epicReconstruct .9s cubic-bezier(.18,.9,.22,1.1) both}
@keyframes epicReconstruct{0%{transform:scale(1)}28%{transform:scale(.985);filter:brightness(1.5)}50%{transform:scale(1.012)}72%{transform:scale(.997)}100%{transform:scale(1);filter:none}}
[data-screen="cipher"].intercepting{filter:contrast(1.08)}[data-screen="cipher"].intercepting::after{content:"INTERCEPTING TRANSMISSION...";position:fixed;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:5000;padding:8px 11px;border-radius:8px;background:rgba(0,0,0,.9);color:#75dda9;font:900 8px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em}


/* ===== V29.2 REAL FEATURES ===== */
.protocol-case{max-width:560px}.incoming-call-icon{font-size:56px;margin:8px 0}.caller-wave{margin:14px 0;color:#75dda9;letter-spacing:.22em;animation:wavePulse .65s ease infinite alternate}.voice-fallback{margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.07)}.voice-fallback span{display:block;margin-bottom:8px;color:#84928c;font-size:9px}.voice-fallback input{width:100%;margin-bottom:8px}
.protocol-result{margin-top:12px;min-height:20px;color:#75dda9;font:900 10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.05em}
@keyframes wavePulse{to{transform:scaleY(1.45);opacity:.5}}
.shake-secret{margin:16px 0 10px;padding:13px;background:#020504;border-radius:9px;color:#75dda9;font:900 14px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-align:center}.shake-meter{height:6px;background:rgba(255,255,255,.06);border-radius:99px;overflow:hidden}.shake-meter i{display:block;width:0;height:100%;background:#75dda9;transition:.12s}
.morse-lamp{width:110px;height:110px;margin:18px auto;border-radius:50%;background:#151913;border:1px solid rgba(255,239,142,.12);box-shadow:inset 0 0 20px rgba(0,0,0,.5)}.morse-lamp.on{background:#fff3a1;box-shadow:0 0 50px rgba(255,235,120,.7),0 0 100px rgba(255,220,80,.28)}.morse-legend{margin:12px 0;color:#8e9b94;font:900 9px monospace}.protocol-case input{max-width:100%}
.classified-doc{margin-top:14px;padding:18px 14px;background:#e7e0d1;color:#181815;border-radius:5px;font:800 13px Georgia,serif;touch-action:none}.classified-doc p{margin:8px 0}.redaction{display:inline-block;background:#111;color:#111;padding:1px 4px;border-radius:1px;user-select:none}.redaction.revealed{background:transparent;color:#181815;animation:redactReveal .22s ease}.classified-hint{margin-top:14px!important;color:#6e685d;font:italic 9px sans-serif!important}@keyframes redactReveal{from{filter:blur(5px)}to{filter:none}}
.camera-label{display:inline-block;cursor:pointer}.camera-label input{display:none}.evidence-photo-preview{margin-top:14px}.evidence-photo-preview img{width:100%;max-height:300px;object-fit:cover;border-radius:10px;border:1px solid rgba(117,221,169,.15)}
.fingerprint-pad{--bio:0%;position:relative;width:190px;height:190px;margin:18px auto;border-radius:50%;display:grid;place-content:center;text-align:center;overflow:hidden;touch-action:none;user-select:none;border:1px solid rgba(117,221,169,.2);background:radial-gradient(circle,rgba(117,221,169,.08),rgba(0,0,0,.45))}.fingerprint-icon{font-size:76px;color:rgba(117,221,169,.5)}.fingerprint-line{position:absolute;left:14%;right:14%;top:var(--bio);height:2px;background:#75dda9;box-shadow:0 0 12px #75dda9}.fingerprint-copy{color:#83968d;font:900 8px monospace}.fingerprint-pad.scanning{box-shadow:0 0 30px rgba(117,221,169,.16)}.fingerprint-pad.verified{border-color:#75dda9;box-shadow:0 0 35px rgba(117,221,169,.22)}
.lockdown-arena{position:relative;height:240px;margin-top:14px;border-radius:11px;background:#050708;border:1px solid rgba(255,80,80,.15);overflow:hidden}.lockdown-arena.running{animation:lockPulse .45s ease infinite alternate}.lockdown-timer{position:absolute;z-index:2;top:8px;left:10px;color:#ff6767;font:1000 14px monospace}.security-node{position:absolute;width:50px;height:50px;border-radius:50%;border:1px solid #ff5d5d;background:rgba(255,50,50,.14);color:#ff6868;font-size:20px;box-shadow:0 0 22px rgba(255,50,50,.25);touch-action:manipulation}@keyframes lockPulse{to{box-shadow:inset 0 0 40px rgba(255,30,30,.08)}}
.self-destruct-overlay{position:fixed;inset:0;z-index:120000;display:grid;place-items:center;padding:20px;background:rgba(20,0,3,.97);opacity:0;visibility:hidden;pointer-events:none}.self-destruct-overlay.show{opacity:1;visibility:visible;pointer-events:auto}.self-destruct-card{text-align:center}.self-destruct-title{color:#ff5d67;font:1000 18px monospace;letter-spacing:.12em}.self-destruct-sub{margin-top:15px;color:#a98a8d;font:900 10px monospace}.self-destruct-count{margin-top:10px;color:#fff;font:1000 86px monospace;text-shadow:0 0 35px rgba(255,40,50,.35)}.self-destruct-foot{color:#b99a9d;font-size:10px}
.loot-easter{display:none;margin-top:22px;padding-top:16px;border-top:1px solid rgba(232,184,94,.12);color:#c8c2b3}.loot-easter.show{display:block}.loot-easter span,.loot-easter strong{display:block;opacity:0;margin:5px;animation:eggLine .65s ease forwards}.loot-easter span:nth-child(2){animation-delay:1s}.loot-easter span:nth-child(3){animation-delay:2s}.loot-easter strong{color:#f0d9a9;margin-top:14px;animation-delay:3.2s}@keyframes eggLine{to{opacity:1}}
@media(max-width:430px){.lockdown-arena{height:220px}.fingerprint-pad{width:170px;height:170px}}

/* V29.3 call + morse + classified */
.phone-call-shell{width:min(100vw,430px);min-height:100dvh;margin:0 auto;padding:max(18px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom));display:flex;flex-direction:column;color:#fff;background:radial-gradient(circle at 50% 20%,rgba(83,89,106,.68),transparent 35%),linear-gradient(180deg,#343741,#191b20 47%,#0a0b0e)}
.phone-call-status{display:flex;justify-content:space-between;font-size:11px;font-weight:800;opacity:.85}.phone-call-contact{margin-top:11vh;text-align:center}.phone-call-avatar{width:112px;height:112px;margin:0 auto 18px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.13);font-size:54px}.phone-call-name{font-size:35px;font-weight:700}.phone-call-label{margin-top:7px;color:rgba(255,255,255,.67);font-size:15px;min-height:22px}.phone-call-actions{margin-top:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.phone-round-action{position:relative;aspect-ratio:1;border:0;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;font-size:24px;display:grid;place-items:center;opacity:.55}.phone-round-action small,.phone-answer-btn small,.phone-decline-btn small{position:absolute;transform:translateY(46px);font-size:10px;color:#fff;white-space:nowrap}.phone-call-bottom{margin:80px 18px 36px;display:flex;justify-content:space-between}.phone-answer-btn,.phone-decline-btn{position:relative;width:74px;height:74px;border:0;border-radius:50%;color:#fff;font-size:28px;display:grid;place-items:center}.phone-answer-btn{background:#34c759;animation:callPulse 1.25s ease-in-out infinite}.phone-decline-btn{background:#ff453a}@keyframes callPulse{50%{transform:scale(1.07);box-shadow:0 0 0 12px rgba(52,199,89,.08)}}
.morse-current{margin:10px 0;color:#f2dda4;font:900 13px monospace;letter-spacing:.12em}.classified-case{max-width:660px!important}.classified-doc.large{min-height:540px;padding:24px 18px;font-size:14px;line-height:1.7;background:#e7e0d1;touch-action:none}.classified-stamp{float:right;margin:0 0 18px 18px;padding:7px 10px;border:3px solid #8c1d22;color:#8c1d22;font:1000 11px sans-serif;letter-spacing:.12em;transform:rotate(-5deg);opacity:.72}.classified-progress{display:flex;justify-content:space-between;margin-top:12px;color:#8d9aa7;font-size:9px;font-weight:1000}.classified-progress strong{color:#75dda9}.hidden{display:none!important}
@media(max-width:430px){.phone-call-contact{margin-top:9vh}.classified-doc.large{min-height:620px;padding:20px 13px;font-size:13px}}
