.modal.evidence-popup .modal-backdrop{
  background:radial-gradient(circle at 50% 45%,rgba(20,30,32,.36),rgba(1,4,5,.92) 70%);
  backdrop-filter:blur(9px);
}

/*
 * Fixed 1448 × 1086 design plane.
 * Every inner element uses percentages of the frame, so resizing cannot
 * change the composition or push copy through the asset boundary.
 */
.evidence-popup-panel{
  container-type:inline-size;
  display:block;
  width:min(850px,calc(100vw - 100px),calc(133.33vh - 120px));
  height:auto;
  aspect-ratio:1448/1086;
  max-height:none;
  overflow:hidden;
  padding:0;
  border:0!important;
  outline:0!important;
  background:transparent url("assets/ui/evidence-popup/evidence-popup-frame-v1.webp") center/100% 100% no-repeat;
  box-shadow:none!important;
  color:#dfd9ca;
}

.evidence-popup-panel:before{display:none}
.evidence-popup-panel,.framed-popup-panel{pointer-events:none}
.popup-frame-hitbox{position:absolute;z-index:0;left:8.7%;top:13.3%;width:82.6%;height:73.7%;pointer-events:auto}
.evidence-popup-panel>h2,.evidence-popup-panel>.modal-location,.evidence-popup-panel>.clue-modal-art,.evidence-popup-panel>.modal-description,.evidence-popup-panel>.modal-actions,.framed-popup-panel>.framed-popup-content,.framed-popup-panel>.modal-actions{z-index:1;pointer-events:auto}

.evidence-popup-panel h2{
  position:absolute;
  left:16.7%;
  top:23.2%;
  width:67%;
  margin:0;
  overflow:hidden;
  color:#eee8dc;
  font-family:"AppleMyungjo","Nanum Myeongjo","Batang",serif;
  font-size:clamp(16px,3.35cqw,28px);
  font-weight:700;
  line-height:1.12;
  letter-spacing:-.025em;
  text-overflow:ellipsis;
  text-shadow:0 2px 3px #000;
  white-space:nowrap;
}

.evidence-popup-panel .modal-location{
  position:absolute;
  left:16.8%;
  top:30.2%;
  width:67%;
  margin:0;
  overflow:hidden;
  color:#aaa18f;
  font-size:clamp(8px,1.34cqw,11px);
  line-height:1.3;
  letter-spacing:.025em;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.evidence-popup-panel .modal-location span{
  margin-right:1.2em;
  color:#b99a5b;
  font-weight:700;
  letter-spacing:.1em;
}

.evidence-popup-panel .clue-modal-art{
  position:absolute;
  left:13.8%;
  top:35.2%;
  display:grid;
  width:39.5%;
  height:47%;
  place-items:center;
  margin:0;
  overflow:visible;
  border:0;
  background:none;
  box-shadow:none;
}

.evidence-popup-panel .clue-modal-art img{
  position:absolute;
  inset:0;
  display:block;
  width:100%!important;
  height:100%!important;
  min-width:0;
  min-height:0;
  max-width:100%!important;
  max-height:100%!important;
  margin:auto;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 clamp(5px,1.7cqw,14px) clamp(5px,1.4cqw,12px) rgba(0,0,0,.66));
}

.evidence-popup-panel .profile-document-art img{
  inset:6%;
  width:88%!important;
  height:88%!important;
}

.evidence-popup-panel .profile-document-art{overflow:hidden}

.case-location-list{display:grid;gap:10px;margin-top:8px}
.case-location-entry,.case-location-return{width:100%;border:1px solid #766242;background:linear-gradient(180deg,#25231d,#121717);color:#d9d2c3;cursor:pointer;font-family:"Continuity Galmuri UI",sans-serif;text-align:left}
.case-location-entry{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 17px}
.case-location-entry span{display:grid;gap:5px;min-width:0}
.case-location-entry small{color:#9a8359;font-size:9px}.case-location-entry strong{color:#eee4cf;font-size:13px}.case-location-entry em{color:#a9a295;font-size:10px;font-style:normal}
.case-location-entry>b{flex:0 0 auto;color:#d6ad55;font-size:10px}.case-location-entry:hover,.case-location-entry:focus-visible{border-color:#d0a955;background:linear-gradient(180deg,#343025,#171b1a);outline:1px solid #d0a955;outline-offset:2px}
.case-location-entry:disabled{cursor:default;opacity:.65}.case-location-return{padding:10px 17px;color:#9f9788;font-size:10px;text-align:center}

.command-ui .case-location-icon{color:#d7bd80;font:400 clamp(22px,1.8vw,31px)/1 Georgia,serif}
.command-ui .case-locations-button[hidden]{display:none!important}
.command-ui .case-locations-button.location-unlocked{animation:case-location-unlocked 1.5s ease-out both}
@keyframes case-location-unlocked{0%{filter:brightness(1)}18%{filter:brightness(1.75) drop-shadow(0 0 16px rgba(242,198,92,.95))}42%{filter:brightness(1.25) drop-shadow(0 0 10px rgba(242,198,92,.62))}70%{filter:brightness(1.65) drop-shadow(0 0 14px rgba(242,198,92,.82))}100%{filter:brightness(1)}}
@media(prefers-reduced-motion:reduce){.command-ui .case-locations-button.location-unlocked{animation-duration:.01ms}}

.evidence-popup-panel .modal-description{
  position:absolute;
  left:55.1%;
  top:38%;
  width:30.4%;
  height:38%;
  margin:0;
  padding:0;
  overflow:hidden;
  border:0;
  color:#d4cec1;
  font:clamp(9px,1.7cqw,14.5px)/1.72 "AppleMyungjo","Nanum Myeongjo","Batang",serif;
  overflow-wrap:normal;
  word-break:keep-all;
  text-wrap:pretty;
}

/* Shared frame for every normal modal. Full-screen computer apps opt out. */
.modal.framed-popup .modal-backdrop{
  background:radial-gradient(circle at 50% 45%,rgba(20,30,32,.34),rgba(1,4,5,.91) 70%);
  backdrop-filter:blur(8px);
}

.framed-popup-panel{
  container-type:inline-size;
  display:block;
  width:min(720px,calc(100vw - 100px),calc(133.33vh - 120px));
  height:auto;
  aspect-ratio:1448/1086;
  max-height:none;
  overflow:visible;
  padding:0;
  border:0!important;
  outline:0!important;
  background:transparent url("assets/ui/evidence-popup/evidence-popup-frame-v1.webp") center/100% 100% no-repeat;
  box-shadow:none!important;
  color:#dfd9ca;
}

.framed-popup-panel:has(.profile-list),
.framed-popup-panel:has(.item-grid){
  width:min(860px,calc(100vw - 100px),calc(133.33vh - 120px));
}

.framed-popup-panel.compact-popup-panel{
  width:min(500px,calc(100vw - 100px),calc(133.33vh - 120px));
}

.compact-popup-panel .framed-popup-content{
  top:26%;
  height:46%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  overflow:hidden;
}

.compact-popup-panel h2{
  margin-bottom:clamp(10px,2.4cqw,16px);
  font-size:clamp(18px,4.8cqw,24px);
}

.compact-popup-panel .modal-description{
  font-size:clamp(11px,2.7cqw,13.5px);
}

.framed-popup-panel:before{display:none}

.framed-popup-content{
  position:absolute;
  left:15.2%;
  top:19.2%;
  width:69.6%;
  height:61.5%;
  padding:0 1.2%;
  overflow:auto;
  scrollbar-width:thin;
  scrollbar-color:#6d5937 transparent;
}

.framed-popup-panel .modal-label{display:none}

.framed-popup-panel h2{
  margin:0 0 clamp(7px,1.5cqw,13px);
  color:#eee8dc;
  font-family:"AppleMyungjo","Nanum Myeongjo","Batang",serif;
  font-size:clamp(17px,3.5cqw,25px);
  line-height:1.2;
  letter-spacing:-.025em;
  text-shadow:0 2px 3px #000;
  word-break:keep-all;
  text-wrap:balance;
}

.framed-popup-panel .modal-location{
  margin:0 0 clamp(10px,2.2cqw,18px);
  color:#a79d89;
  font-size:clamp(8px,1.45cqw,11px);
  line-height:1.5;
  word-break:keep-all;
  text-wrap:pretty;
}

.framed-popup-panel .modal-description{
  margin:0;
  padding:0;
  border:0;
  color:#d4cec1;
  font:clamp(10px,1.85cqw,14px)/1.78 "AppleMyungjo","Nanum Myeongjo","Batang",serif;
  overflow-wrap:normal;
  word-break:keep-all;
  text-wrap:pretty;
  white-space:pre-line;
}

.framed-popup-panel .clue-modal-art{
  display:grid;
  width:100%;
  height:clamp(130px,27cqw,220px);
  place-items:center;
  margin:clamp(8px,1.8cqw,15px) 0;
  overflow:visible;
  border:0;
  background:none;
  box-shadow:none;
}

.framed-popup-panel .clue-modal-art img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  filter:drop-shadow(0 10px 10px rgba(0,0,0,.6));
}

.framed-popup-panel .modal-close{
  position:absolute;
  z-index:3;
  right:-4.8cqw;
  top:11%;
  display:grid;
  width:clamp(23px,4.15cqw,35px);
  height:clamp(23px,4.15cqw,35px);
  place-items:center;
  padding:0;
  border:1px solid #8e7445;
  background:linear-gradient(145deg,#2b251c,#0b0d0d);
  box-shadow:inset 0 0 0 2px #171511,0 6px 16px rgba(0,0,0,.5);
  color:#c4a66d;
  font:300 clamp(15px,2.6cqw,22px)/1 Georgia,serif;
}

.framed-popup-panel .modal-actions{
  position:absolute;
  right:0;
  bottom:-5.2cqw;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:clamp(5px,1.2cqw,10px);
  margin:0;
  padding:0;
  border:0;
}

.framed-popup-panel .primary-btn{
  min-width:clamp(76px,13.2cqw,112px);
  padding:clamp(7px,1.35cqw,11px) clamp(10px,2.1cqw,18px);
  border:1px solid #8b7143;
  background:linear-gradient(180deg,#27231b,#111414);
  box-shadow:inset 0 0 0 2px rgba(195,158,88,.08),0 6px 16px rgba(0,0,0,.5);
  color:#cbb27b;
  font-family:"AppleMyungjo","Nanum Myeongjo","Batang",serif;
  font-size:clamp(8px,1.3cqw,11px);
  line-height:1.15;
  letter-spacing:.04em;
  white-space:nowrap;
}

.framed-popup-panel .profile-row,
.framed-popup-panel .item-record,
.framed-popup-panel .case-summary-pending{
  border-color:rgba(155,126,73,.38);
  background:rgba(12,16,16,.46);
}

.evidence-popup-panel .modal-close{
  position:absolute;
  z-index:3;
  right:-4.8cqw;
  top:11%;
  display:grid;
  width:clamp(23px,4.15cqw,35px);
  height:clamp(23px,4.15cqw,35px);
  place-items:center;
  padding:0;
  border:1px solid #8e7445;
  background:linear-gradient(145deg,#2b251c,#0b0d0d);
  box-shadow:inset 0 0 0 2px #171511,0 6px 16px rgba(0,0,0,.5);
  color:#c4a66d;
  font:300 clamp(15px,2.6cqw,22px)/1 Georgia,serif;
}

.evidence-popup-panel .modal-close:hover{
  border-color:#dbb75f;
  color:#f0cf7c;
}

.evidence-popup-panel .modal-actions{
  position:absolute;
  right:0;
  bottom:-5.2cqw;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:clamp(5px,1.2cqw,10px);
  margin:0;
  padding:0;
  border:0;
}

.evidence-popup-panel .primary-btn{
  min-width:clamp(76px,13.2cqw,112px);
  padding:clamp(7px,1.35cqw,11px) clamp(10px,2.1cqw,18px);
  border:1px solid #8b7143;
  background:linear-gradient(180deg,#27231b,#111414);
  box-shadow:inset 0 0 0 2px rgba(195,158,88,.08),0 6px 16px rgba(0,0,0,.5);
  color:#cbb27b;
  font-family:"AppleMyungjo","Nanum Myeongjo","Batang",serif;
  font-size:clamp(8px,1.3cqw,11px);
  line-height:1.15;
  letter-spacing:.06em;
  white-space:nowrap;
}

.evidence-popup-panel .primary-btn:hover{
  border-color:#d0a955;
  background:linear-gradient(180deg,#383023,#171a1a);
  color:#f1d38f;
}

.evidence-popup-panel .modal-description .popup-detail-button{display:block;width:100%;min-width:0;margin-top:clamp(6px,1.2cqw,10px);padding-block:clamp(9px,1.65cqw,14px);border-color:#d0a955;background:#c6a252;color:#171712;font-weight:700;box-shadow:0 5px 12px rgba(0,0,0,.42)}
.evidence-popup-panel .popup-detail-button:hover,.evidence-popup-panel .popup-detail-button:focus-visible{background:#e0bd68;color:#080a09;outline:2px solid #f0d58f;outline-offset:2px}

.evidence-popup-panel .security-access-reader{overflow:visible}
.evidence-popup-panel .security-access-reader img{transition:filter .18s,transform .18s}
.evidence-popup-panel .security-access-reader.drag-target img{transform:scale(1.035);filter:drop-shadow(0 0 18px rgba(225,189,100,.72))}
.evidence-popup-panel .security-access-reader.access-approved img{animation:security-reader-approved .72s ease-out both}
.security-access-modal .modal-backdrop{background:rgba(1,4,5,.74);backdrop-filter:blur(7px)}
.security-access-panel{width:min(980px,calc(100vw - 100px),calc(133.33vh - 80px))}
.evidence-popup-panel .security-access-copy{overflow:visible}
.security-item-inventory{display:grid;gap:6px;margin-top:clamp(10px,1.6cqw,14px);padding-top:clamp(8px,1.25cqw,11px);border-top:1px solid rgba(155,126,73,.42)}
.security-item-inventory>small{color:#b99a5b;font-size:clamp(7px,1.15cqw,10px)}
.security-item-inventory>p{margin:0;color:#8f8a7f;font-size:clamp(8px,1.3cqw,11px)}
.security-item-inventory>button{display:grid;grid-template-columns:clamp(34px,5.8cqw,49px) 1fr;grid-template-rows:auto auto;gap:2px 8px;align-items:center;width:100%;padding:5px 8px;border:1px solid #76623c;background:#151a19;color:#ded6c5;text-align:left;cursor:grab;touch-action:none}
.security-item-inventory>button:hover,.security-item-inventory>button:focus-visible{border-color:#d4ae5b;outline:0;background:#20231e}
.security-item-inventory>button.dragging{opacity:.42;cursor:grabbing}
.security-item-inventory>button img{grid-row:1/3;width:100%;height:clamp(34px,5.8cqw,49px);object-fit:contain}
.security-item-inventory>button span{font-size:clamp(8px,1.35cqw,11px)}
.security-item-inventory>button b{color:#b99a5b;font-size:clamp(7px,1.05cqw,9px);font-weight:400}
.laptop-charge-target{display:grid;place-items:center;min-height:clamp(92px,16cqw,138px);margin-bottom:10px;border:1px solid #665b48;background:linear-gradient(145deg,#111615,#1b211f);color:#c8c0af;text-align:center;transition:border-color .18s,box-shadow .18s}
.laptop-charge-target strong{font-size:clamp(13px,2.1cqw,18px);font-weight:400}.laptop-charge-target small{color:#98886a;font-size:clamp(8px,1.25cqw,10px)}
.laptop-charge-target.drag-target{border-color:#e0b95e;box-shadow:inset 0 0 24px rgba(224,185,94,.14)}.laptop-charge-target.access-approved{border-color:#91ba8b;color:#b8d7b3}
.customer-record-list{display:grid;gap:7px;margin-top:16px}.customer-record-list button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 14px;border:1px solid #645b49;background:#151918;color:#d9d1c1;text-align:left}.customer-record-list button:not(:disabled){cursor:pointer}.customer-record-list button:not(:disabled):hover,.customer-record-list button:not(:disabled):focus-visible{border-color:#caa956;background:#20231e;outline:0}.customer-record-list button:disabled{opacity:.46}.customer-record-list span{display:grid;gap:3px}.customer-record-list small{color:#92836a;font-size:10px;letter-spacing:.08em}.customer-record-list strong{font-size:15px;font-weight:400}.customer-record-list b{color:#caa956;font-size:11px;font-weight:400}
#security-access-status{display:block;margin-top:clamp(6px,1.1cqw,10px);color:#d1ad5e;font-size:clamp(8px,1.25cqw,10.5px);font-weight:400}
#security-access-status.is-approved{margin-top:clamp(10px,1.5cqw,14px);color:#79d8b0;font-size:clamp(12px,1.85cqw,16px);line-height:1.45}
.security-badge-drag-ghost{position:fixed;z-index:80;width:92px;height:92px;object-fit:contain;transform:translate(-50%,-50%) rotate(-4deg);filter:drop-shadow(0 10px 14px rgba(0,0,0,.72)) drop-shadow(0 0 10px rgba(225,189,100,.28));pointer-events:none}
.autopsy-report-copy{white-space:normal}.autopsy-report-copy p{margin:0 0 12px;line-height:1.75}.autopsy-report-copy p:last-child{margin-bottom:0}.autopsy-report-copy strong{color:#ead28f;font-weight:400}

/* The autopsy report carries substantially more copy than ordinary clues. */
.evidence-popup-panel:has(.autopsy-report-copy){
  width:min(1020px,calc(100vw - 32px),calc(133.33vh - 32px));
}
.evidence-popup-panel:has(.autopsy-report-copy) .clue-modal-art{
  left:12.8%;
  top:34.8%;
  width:34.8%;
  height:48%;
}
.evidence-popup-panel:has(.autopsy-report-copy) .modal-description{
  left:49.5%;
  top:34.8%;
  width:36.4%;
  height:47.5%;
  overflow:auto;
  padding-right:clamp(3px,.6cqw,6px);
  font-size:clamp(10px,1.25cqw,13px);
  line-height:1.65;
  scrollbar-width:thin;
  scrollbar-color:#6d5937 transparent;
}
.evidence-popup-panel:has(.autopsy-report-copy) .autopsy-report-copy p{
  margin-bottom:clamp(7px,1.05cqw,11px);
  line-height:1.65;
}
@keyframes security-reader-approved{0%{filter:brightness(1)}32%{filter:brightness(1.7) drop-shadow(0 0 18px rgba(91,221,172,.88))}100%{filter:brightness(1.12) drop-shadow(0 0 8px rgba(91,221,172,.42))}}
.restoration-reagent-art {
  height: 250px;
  background:#070b0c;
}
.restoration-reagent-art img {
  width:100%;
  height:100%;
  object-fit:contain;
}
.restoration-access-log>p { margin:0 0 8px; color:#c8d0ce; font-size:11px; line-height:1.45; }
.restoration-access-log>ol { margin:0; padding:0; list-style:none; border-top:1px solid rgba(216,194,139,.28); }
.restoration-access-log li { display:grid; grid-template-columns:48px 54px minmax(0,1fr); gap:5px; align-items:center; padding:5px 4px; border-bottom:1px solid rgba(216,194,139,.18); font-size:10px; line-height:1.25; }
.restoration-access-log time { color:#dac37f; font-family:"Galmuri11",sans-serif; }
.restoration-access-log span { color:#f0ece0; }
.restoration-access-log em { color:#9ca8a7; font-size:9px; font-style:normal; word-break:keep-all; }
.restoration-access-log li.ian-entry { margin:3px 0; border:1px solid rgba(244,196,48,.62); background:rgba(244,196,48,.09); box-shadow:inset 3px 0 #f4c430; }
.restoration-access-log li.ian-entry time,.restoration-access-log li.ian-entry span { color:#f5d670; }
.restoration-access-log>strong { display:block; margin-top:7px; color:#8f9b99; text-align:right; font:10px/1.3 "Galmuri11",sans-serif; }
.reagent-cabinet-label { position:relative; padding:16px 170px 15px 17px; border:1px solid rgba(213,195,148,.45); color:#d9d2be; background:rgba(9,12,12,.58); }
.reagent-cabinet-label strong,.reagent-cabinet-label span,.reagent-cabinet-label small { display:block; }
.reagent-cabinet-label strong { color:#eee1b4; font:18px/1.25 "Galmuri11",sans-serif; letter-spacing:.08em; }
.reagent-cabinet-label span { margin-top:5px; font:13px/1.35 "Galmuri11",sans-serif; }
.reagent-cabinet-label small { margin-top:7px; color:#c78270; font:12px/1.35 "Galmuri14",sans-serif; }
.reagent-cabinet-label em { position:absolute; right:13px; top:50%; width:140px; padding:10px 8px; color:#40372c; background:#d9c891; box-shadow:2px 4px 8px rgba(0,0,0,.34); font:17px/1.25 "Hahmlet Variable",serif; font-weight:760; text-align:center; transform:translateY(-50%) rotate(-3deg); }
