:root{
  --charcoal:#11171f;
  --charcoal-2:#171e27;
  --paper:#e7e1d5;
  --ink:#20262d;
  --light:#e5e7e9;
  --brass:#8c7b58;
  --line-dark:rgba(229,231,233,.13);
  --line-paper:rgba(32,38,45,.17);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--charcoal);color:var(--light);
  font-family:"Pretendard","Noto Sans KR","Apple SD Gothic Neo",system-ui,-apple-system,sans-serif;
  line-height:1.7;letter-spacing:-.015em;
}
body.modal-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
.wrap{width:min(1080px,calc(100% - 40px));margin:0 auto}
.narrow{max-width:760px}

.site-header{
  position:sticky;top:0;z-index:40;background:rgba(17,23,31,.95);
  border-bottom:1px solid var(--line-dark);backdrop-filter:blur(10px)
}
.header-inner{height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px}
.brand-seal{
  width:38px;height:38px;border:1px solid rgba(140,123,88,.75);border-radius:50%;
  display:grid;place-items:center;color:#b5aa8e;font:700 9px/1 Georgia,serif;letter-spacing:.12em
}
.brand-copy{display:flex;flex-direction:column;line-height:1.15}
.brand-copy strong{font-family:Georgia,"Noto Serif KR",serif;font-size:17px;letter-spacing:.04em}
.brand-copy small{margin-top:5px;color:#7f8994;font-size:7px;letter-spacing:.17em}
.main-nav{display:flex;align-items:center;gap:22px;color:#b5bcc4;font-size:12px}
.main-nav a{padding:8px 0}
.menu-button{display:none;background:none;border:0;padding:8px}
.menu-button span{display:block;width:22px;height:1px;background:#cdd2d7;margin:5px 0}

.hero{padding:116px 0 90px;background:#11171f}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,.5fr);gap:72px;align-items:end}
.classification,.eyebrow,.file-label{
  margin:0;color:#9b8a66;font-size:9px;font-weight:800;letter-spacing:.2em
}
.hero h1{
  margin:15px 0 20px;font-family:Georgia,"Noto Serif KR",serif;
  font-size:clamp(42px,5.3vw,66px);line-height:1.12;letter-spacing:-.045em;font-weight:700
}
.hero h1 span{display:block;white-space:nowrap}
.hero-lead{max-width:610px;margin:0;color:#aeb5bd;font-size:16px;line-height:1.85}
.text-link{display:inline-block;margin-top:30px;color:#c2b797;font-size:12px;border-bottom:1px solid rgba(194,183,151,.4);padding-bottom:2px}
.hero-record{border-top:1px solid rgba(229,231,233,.22);border-bottom:1px solid rgba(229,231,233,.22)}
.record-line{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid rgba(229,231,233,.09);font-size:11px}
.record-line:last-child{border-bottom:0}
.record-line span{color:#747e88}
.record-line strong{font-family:ui-monospace,Consolas,monospace;font-size:10px;font-weight:600;color:#c7ccd1}

.section{padding:84px 0}
.section-paper{background:var(--paper);color:var(--ink)}
.eyebrow{color:#8b7c5d}
.section h2{margin:7px 0 12px;font-family:Georgia,"Noto Serif KR",serif;font-size:clamp(34px,4.5vw,49px);line-height:1.15;letter-spacing:-.04em}
.body-copy{margin:0;color:#555e67;font-size:16px;line-height:1.95}
.sub-copy{margin:14px 0 0;color:#777d82;font-size:13px;line-height:1.8}

.section-case{background:#161d26;border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}
.section-heading{margin-bottom:28px}
.inverse .eyebrow{color:#8e8063}
.case-file{background:#ddd6c9;color:#232a31;padding:28px 32px;border:1px solid #bcb4a5;box-shadow:0 16px 45px rgba(0,0,0,.16)}
.case-header{display:flex;justify-content:space-between;gap:24px;align-items:start;padding-bottom:18px;border-bottom:1px solid rgba(35,42,49,.28)}
.file-label{color:#7a756b}
.case-number{margin:5px 0 0;font:700 17px/1.2 ui-monospace,Consolas,monospace}
.case-status{font-size:10px;color:#70664d;border:1px solid #a69a81;padding:5px 8px}
.case-title{display:grid;grid-template-columns:90px 1fr;align-items:end;padding:22px 0;border-bottom:1px solid var(--line-paper)}
.case-title span{color:#7e7e79;font-size:11px}
.case-title strong{font-family:Georgia,"Noto Serif KR",serif;font-size:36px;letter-spacing:-.045em}
.case-meta{margin:20px 0 0}
.case-meta div{display:grid;grid-template-columns:90px 1fr;padding:7px 0;border-bottom:1px solid rgba(35,42,49,.1);font-size:12px}
.case-meta dt{color:#7b7c79}
.case-meta dd{margin:0;font-weight:600}

.case-access-button{
  width:100%;margin-top:24px;min-height:54px;border:1px solid #303841;background:#202830;color:#ded8ca;
  display:flex;align-items:center;justify-content:space-between;padding:0 18px;cursor:pointer;
  font-size:13px;font-weight:800;letter-spacing:.01em
}
.case-access-button:hover{background:#252e37}
.case-access-button span:last-child{color:#9c8a65;font-size:18px}

.locked{margin-top:14px;padding:18px 20px;border:1px dashed rgba(35,42,49,.27);position:relative}
.locked strong{font:800 10px/1.2 ui-monospace,Consolas,monospace;letter-spacing:.11em}
.locked p{margin:4px 0 0;color:#64676a;font-size:12px}
.locked span{position:absolute;right:12px;bottom:8px;color:#9a958a;font:700 8px/1 ui-monospace,Consolas,monospace}

.recruit-grid{display:grid;grid-template-columns:1fr .75fr;gap:70px;align-items:start}
.button{
  margin-top:24px;display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:0 18px;
  border:1px solid #5f5a4d;background:#242a31;color:#ece8df;font-size:12px;font-weight:700
}
.button:hover{background:#2b323a}
.small-note{margin:8px 0 0;color:#898b89;font-size:9px}
.assignment{border-top:2px solid #3c4247;border-bottom:1px solid rgba(32,38,45,.25);padding-top:12px}
.assignment>p{margin:0 0 10px;color:#80765f;font:800 9px/1 ui-monospace,Consolas,monospace;letter-spacing:.13em}
.assignment dl{margin:0}
.assignment dl div{display:grid;grid-template-columns:90px 1fr;gap:14px;padding:11px 0;border-top:1px solid rgba(32,38,45,.13);font-size:11px}
.assignment dt{color:#858585;font:700 9px/1.5 ui-monospace,Consolas,monospace}
.assignment dd{margin:0;color:#3b4249;font-weight:600}

footer{padding:28px 0;background:#0b1016;border-top:1px solid var(--line-dark)}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;color:#676f78}
.footer-inner>div{display:flex;flex-direction:column}
.footer-inner strong{color:#aeb4ba;font-family:Georgia,"Noto Serif KR",serif;font-size:12px}
.footer-inner small{margin-top:3px;font-size:6px;letter-spacing:.14em}
.footer-inner>span{font:700 7px/1 ui-monospace,Consolas,monospace;letter-spacing:.12em}

/* 사건 접근 모달 */
.modal-backdrop{
  position:fixed;inset:0;z-index:100;background:rgba(5,9,13,.72);backdrop-filter:blur(5px);
  display:grid;place-items:center;padding:20px
}
.modal-backdrop[hidden]{display:none}
.access-modal{
  position:relative;width:min(470px,100%);background:#111820;color:#dfe3e6;border:1px solid #394550;
  box-shadow:0 24px 80px rgba(0,0,0,.5);padding:30px
}
.modal-close{
  position:absolute;right:14px;top:10px;border:0;background:none;color:#7f8992;font-size:28px;
  line-height:1;cursor:pointer;font-weight:300
}
.modal-kicker{margin:0;color:#9b8a66;font:800 9px/1 ui-monospace,Consolas,monospace;letter-spacing:.18em}
.access-modal h2{margin:9px 0 8px;font-family:Georgia,"Noto Serif KR",serif;font-size:28px}
.modal-copy{margin:0 0 22px;color:#929ca5;font-size:12px}
.access-modal label{display:block;margin-bottom:7px;color:#9aa4ad;font:700 9px/1 ui-monospace,Consolas,monospace;letter-spacing:.12em}
.access-modal input{
  width:100%;height:55px;background:#0c1218;border:1px solid #3d4a56;color:#e0e4e7;outline:none;
  text-align:center;font:700 22px/1 ui-monospace,Consolas,monospace;letter-spacing:.4em;padding-left:.4em
}
.modal-verify{
  width:100%;height:43px;margin-top:9px;border:1px solid #5e5543;background:#1a2128;color:#cfc5ae;
  cursor:pointer;font-size:11px;font-weight:800
}
.modal-output{
  min-height:70px;margin-top:17px;padding-top:14px;border-top:1px dashed #35404a;
  color:#a6b0b8;font:400 10px/1.7 ui-monospace,Consolas,monospace
}
.modal-output p{margin:2px 0}
.modal-output.denied{color:#c39a91}

.toast{
  position:fixed;left:50%;bottom:25px;z-index:120;transform:translate(-50%,16px);opacity:0;pointer-events:none;
  background:#ded7c9;color:#252b31;border:1px solid #aaa291;padding:10px 14px;font-size:11px;
  box-shadow:0 8px 25px rgba(0,0,0,.25);transition:.2s
}
.toast.show{opacity:1;transform:translate(-50%,0)}

@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:46px}
  .hero-record{max-width:520px}
}
@media(max-width:820px){
  .main-nav{position:absolute;left:0;right:0;top:72px;display:none;flex-direction:column;align-items:stretch;gap:0;padding:12px 20px 18px;background:#11171f;border-bottom:1px solid var(--line-dark)}
  .main-nav.open{display:flex}
  .main-nav a{padding:11px 4px;border-bottom:1px solid rgba(229,231,233,.07)}
  .menu-button{display:block}
  .recruit-grid{grid-template-columns:1fr;gap:40px}
}
@media(max-width:650px){
  .hero h1 span{white-space:normal}
}
@media(max-width:560px){
  .wrap{width:min(100% - 28px,1080px)}
  .hero{padding:72px 0 65px}
  .hero h1{font-size:42px}
  .section{padding:66px 0}
  .case-file{padding:23px 19px}
  .case-header{flex-direction:column}
  .case-title{grid-template-columns:70px 1fr}
  .case-title strong{font-size:30px}
  .footer-inner{align-items:flex-start;flex-direction:column}
  .access-modal{padding:26px 20px}
}


/* v5: two-section public site */
.hero{min-height:520px;display:flex;align-items:center}
.section-case{padding-top:78px}
@media(max-width:560px){
  .hero{min-height:auto}
}


/* =========================
   v6 refinements
   ========================= */

/* First-screen status block enlarged */
.hero-record{
  border-top:1px solid rgba(229,231,233,.28);
  border-bottom:1px solid rgba(229,231,233,.28);
  min-width:320px;
}
.record-line{
  padding:16px 0;
  font-size:14px;
}
.record-line span{
  color:#87919c;
  font-size:14px;
}
.record-line strong{
  font-size:13px;
}

/* Dossier stack */
.case-folder-wrap{
  position:relative;
  margin-top:10px;
  padding:18px 18px 14px;
}
.case-folder-shadow{
  position:absolute;
  inset:18px 28px 12px 28px;
  background:#cbc2b1;
  border:1px solid rgba(67,61,51,.18);
  transform-origin:center;
  box-shadow:0 12px 35px rgba(0,0,0,.13);
}
.case-folder-shadow.one{
  transform:rotate(-1.1deg) translate(-5px,5px);
  background:#cfc6b5;
}
.case-folder-shadow.two{
  transform:rotate(.7deg) translate(7px,2px);
  background:#d8d0c0;
}

.case-file{
  position:relative;
  z-index:2;
  background:
    linear-gradient(rgba(255,255,255,.08),rgba(255,255,255,.08)),
    repeating-linear-gradient(
      0deg,
      rgba(65,58,48,.018) 0,
      rgba(65,58,48,.018) 1px,
      transparent 1px,
      transparent 4px
    ),
    #ddd6c9;
  padding:38px 42px 40px;
  border:1px solid #b7ad9c;
  box-shadow:0 20px 55px rgba(0,0,0,.18);
}

.case-file::before{
  content:"";
  position:absolute;
  left:0; top:0; right:0;
  height:9px;
  background:linear-gradient(90deg,#c5baa6,#e2dacb 25%,#d2c8b6 70%,#c0b5a2);
  opacity:.8;
}
.case-file::after{
  content:"";
  position:absolute;
  inset:9px 0 0;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 14%,rgba(90,73,46,.04),transparent 17%),
    radial-gradient(circle at 82% 73%,rgba(90,73,46,.035),transparent 20%);
}

.paperclip{
  position:absolute;
  z-index:5;
  width:18px;
  height:58px;
  border:2px solid #8e8a82;
  border-radius:10px;
  top:-15px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);
  opacity:.92;
}
.paperclip::after{
  content:"";
  position:absolute;
  left:4px; top:6px;
  width:7px;
  height:39px;
  border:1px solid #aaa69e;
  border-radius:8px;
}
.clip-one{
  right:86px;
  transform:rotate(7deg);
}
.clip-two{
  right:56px;
  top:-10px;
  transform:rotate(-4deg) scale(.9);
  opacity:.72;
}

/* Case typography enlarged */
.case-header{
  padding-bottom:22px;
}
.file-label{
  font-size:11px;
}
.case-number{
  margin-top:7px;
  font-size:21px;
}
.case-status{
  font-size:12px;
  padding:7px 10px;
}
.case-title{
  grid-template-columns:110px 1fr;
  padding:30px 0 27px;
}
.case-title span{
  font-size:14px;
}
.case-title strong{
  font-size:46px;
}
.case-meta{
  margin-top:26px;
}
.case-meta div{
  grid-template-columns:110px 1fr;
  padding:12px 0;
  font-size:15px;
}
.case-meta dt{
  font-size:14px;
}
.case-meta dd{
  font-size:15px;
}

.case-access-button{
  margin-top:30px;
  min-height:64px;
  padding:0 22px;
  font-size:16px;
}
.case-access-button span:last-child{
  font-size:22px;
}
.locked{
  margin-top:18px;
  min-height:126px;
  padding:24px 24px;
  overflow:hidden;
}
.locked strong{
  font-size:11px;
}
.locked p{
  margin-top:8px;
  font-size:14px;
}
.locked span{
  right:14px;
  bottom:10px;
  font-size:9px;
}
.restricted-stamp{
  position:absolute;
  right:32px;
  top:28px;
  transform:rotate(-7deg);
  border:3px double rgba(119,70,63,.24);
  color:rgba(119,70,63,.2);
  padding:7px 11px;
  font:900 24px/1 ui-monospace,Consolas,monospace;
  letter-spacing:.1em;
  pointer-events:none;
}

/* Mobile optimization */
@media(max-width:820px){
  .hero-record{
    min-width:0;
    width:100%;
    max-width:none;
  }
  .record-line{
    padding:14px 0;
  }
  .case-folder-wrap{
    padding:12px 6px 10px;
  }
  .case-folder-shadow{
    inset:12px 12px 8px 12px;
  }
  .case-file{
    padding:32px 26px 30px;
  }
  .clip-one{right:62px}
  .clip-two{right:36px}
  .case-title strong{
    font-size:39px;
  }
}

@media(max-width:560px){
  .hero-record{
    margin-top:6px;
  }
  .record-line{
    padding:13px 0;
    font-size:13px;
  }
  .record-line span{
    font-size:13px;
  }
  .record-line strong{
    font-size:12px;
  }

  .case-folder-wrap{
    margin-left:-4px;
    margin-right:-4px;
    padding-left:2px;
    padding-right:2px;
  }
  .case-file{
    padding:28px 18px 26px;
  }
  .paperclip{
    width:16px;
    height:48px;
    top:-12px;
  }
  .paperclip::after{
    height:32px;
  }
  .clip-one{right:52px}
  .clip-two{right:28px}

  .case-header{
    gap:14px;
  }
  .case-status{
    align-self:flex-start;
    font-size:10px;
  }
  .case-title{
    grid-template-columns:1fr;
    gap:8px;
    align-items:start;
    padding:24px 0 22px;
  }
  .case-title strong{
    font-size:34px;
    line-height:1.25;
  }
  .case-meta div{
    grid-template-columns:92px 1fr;
    gap:12px;
    font-size:14px;
  }
  .case-meta dt,
  .case-meta dd{
    font-size:14px;
  }
  .case-access-button{
    min-height:58px;
    font-size:15px;
  }
  .locked{
    min-height:140px;
    padding:22px 18px;
  }
  .restricted-stamp{
    right:10px;
    top:18px;
    font-size:19px;
  }
}


/* =========================================================
   v7 FIELD TERMINAL — dark espionage / analog intelligence
   ========================================================= */
.field-screen{
  position:fixed;
  inset:0;
  z-index:500;
  background:#070b10;
  color:#d9dde0;
  overflow:auto;
}
.field-screen[hidden]{display:none}
.field-topbar{
  min-height:76px;
  padding:16px clamp(18px,3vw,42px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  border-bottom:1px solid rgba(203,211,218,.14);
  background:#0b1016;
}
.field-topbar>div:first-child{display:flex;flex-direction:column;gap:4px}
.field-system{
  color:#7d735d;
  font:800 9px/1 ui-monospace,Consolas,monospace;
  letter-spacing:.18em
}
.field-topbar strong{
  color:#c7cdd2;
  font:700 12px/1.3 ui-monospace,Consolas,monospace;
  letter-spacing:.1em
}
.field-agent{
  color:#b7aa88;
  font:800 12px/1 ui-monospace,Consolas,monospace;
  letter-spacing:.12em;
  white-space:nowrap
}

/* Scan layout */
.scan-screen{
  background:
    radial-gradient(circle at 38% 35%,rgba(50,66,82,.14),transparent 38rem),
    #070b10;
}
.scan-layout{
  min-height:calc(100vh - 76px);
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr);
}
.camera-panel{
  min-height:620px;
  padding:clamp(24px,4vw,54px);
  display:flex;
  align-items:center;
  justify-content:center;
}
.camera-stage{
  position:relative;
  width:min(100%,900px);
  aspect-ratio:16/10;
  overflow:hidden;
  background:#05080b;
  border:1px solid #2b3540;
  box-shadow:0 24px 90px rgba(0,0,0,.45);
}
.camera-stage::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:6;
  pointer-events:none;
  opacity:.11;
  background:
    repeating-linear-gradient(
      0deg,
      rgba(255,255,255,.15) 0,
      rgba(255,255,255,.15) 1px,
      transparent 1px,
      transparent 4px
    );
  mix-blend-mode:screen;
}
.camera-stage video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scaleX(-1);
  filter:saturate(.55) contrast(1.12) brightness(.72);
}
.camera-fallback{
  position:absolute;
  inset:0;
  z-index:1;
  display:grid;
  place-items:center;
  background:#080d12;
  color:#56616b;
  font:700 10px/1 ui-monospace,Consolas,monospace;
  letter-spacing:.13em;
}
.camera-fallback[hidden]{display:none}
.fallback-grid{
  position:absolute;
  inset:0;
  opacity:.2;
  background-image:
    linear-gradient(rgba(92,107,120,.18) 1px,transparent 1px),
    linear-gradient(90deg,rgba(92,107,120,.18) 1px,transparent 1px);
  background-size:36px 36px;
}
.scan-vignette{
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  box-shadow:inset 0 0 150px 70px rgba(0,0,0,.64);
}
.face-frame{
  position:absolute;
  z-index:8;
  left:50%;
  top:50%;
  width:38%;
  height:62%;
  transform:translate(-50%,-50%);
  border:1px solid rgba(173,188,198,.15);
}
.face-corner{
  position:absolute;
  width:35px;
  height:35px;
  border-color:#a59774;
  border-style:solid;
}
.c1{left:-1px;top:-1px;border-width:2px 0 0 2px}
.c2{right:-1px;top:-1px;border-width:2px 2px 0 0}
.c3{left:-1px;bottom:-1px;border-width:0 0 2px 2px}
.c4{right:-1px;bottom:-1px;border-width:0 2px 2px 0}
.scan-line{
  position:absolute;
  z-index:9;
  left:31%;
  width:38%;
  height:1px;
  top:22%;
  opacity:0;
  background:linear-gradient(90deg,transparent,#aa9d7e 15%,#d2c5a4 50%,#aa9d7e 85%,transparent);
  box-shadow:0 0 10px rgba(199,185,148,.42);
}
.scan-line.running{
  opacity:.9;
  animation:ribScanLine 1.45s ease-in-out infinite alternate;
}
@keyframes ribScanLine{
  from{top:22%}
  to{top:78%}
}
.scan-corners i{
  position:absolute;
  z-index:8;
  width:42px;height:42px;
  border-color:#596672;border-style:solid;
}
.scan-corners i:nth-child(1){left:16px;top:16px;border-width:1px 0 0 1px}
.scan-corners i:nth-child(2){right:16px;top:16px;border-width:1px 1px 0 0}
.scan-corners i:nth-child(3){left:16px;bottom:16px;border-width:0 0 1px 1px}
.scan-corners i:nth-child(4){right:16px;bottom:16px;border-width:0 1px 1px 0}
.camera-hud{
  position:absolute;
  z-index:10;
  top:22px;
  display:flex;
  flex-direction:column;
  gap:5px;
  color:#87939d;
  font:700 8px/1 ui-monospace,Consolas,monospace;
  letter-spacing:.12em;
}
.hud-left{left:26px}
.hud-right{right:26px;text-align:right}
.scan-console{
  padding:clamp(34px,4vw,58px) clamp(25px,3vw,44px);
  background:#0d131a;
  border-left:1px solid rgba(203,211,218,.12);
}
.console-kicker{
  margin:0;
  color:#948665;
  font:800 9px/1 ui-monospace,Consolas,monospace;
  letter-spacing:.18em
}
.scan-console h2,
.briefing-content h2{
  margin:12px 0 12px;
  color:#e1e3e4;
  font-family:Georgia,"Noto Serif KR",serif;
  font-size:clamp(31px,3.2vw,45px);
  letter-spacing:-.04em
}
.console-copy{
  margin:0;
  color:#89949e;
  font-size:13px;
  line-height:1.85
}
.scan-progress-wrap{margin-top:38px}
.scan-progress-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  margin-bottom:9px;
  color:#798690;
  font:700 9px/1 ui-monospace,Consolas,monospace;
  letter-spacing:.13em
}
.scan-progress-head strong{
  color:#c4b895;
  font-size:13px
}
.scan-progress-track{
  height:3px;
  background:#202a34;
  overflow:hidden
}
.scan-progress-track span{
  display:block;
  width:0%;
  height:100%;
  background:#a99b78;
  transition:width .24s ease
}
.scan-log{
  min-height:125px;
  margin-top:31px;
  padding-top:18px;
  border-top:1px dashed #303a44;
  color:#9ba7af;
  font:400 10px/1.8 ui-monospace,Consolas,monospace
}
.scan-log p{margin:3px 0}
.scan-log .dim{color:#586672}
.verification-seal{
  margin-top:22px;
  border:1px solid rgba(162,150,116,.5);
  padding:16px 18px;
  color:#b7aa86;
  text-align:center;
  font-family:ui-monospace,Consolas,monospace;
}
.verification-seal span{
  display:block;
  font-size:8px;
  letter-spacing:.18em
}
.verification-seal strong{
  display:block;
  margin-top:5px;
  font-size:23px;
  letter-spacing:.12em
}

/* Briefing */
.briefing-screen{
  background:
    radial-gradient(circle at 50% 10%,rgba(52,64,75,.12),transparent 40rem),
    #090e13;
}
.briefing-shell{
  min-height:100vh;
}
.briefing-content{
  width:min(820px,calc(100% - 40px));
  margin:0 auto;
  padding:72px 0 80px;
}
.briefing-lead{
  max-width:680px;
  margin:0;
  color:#939da6;
  font-size:15px;
  line-height:1.9
}
.briefing-card{
  margin-top:36px;
  border-top:1px solid #39434c;
  border-bottom:1px solid #39434c
}
.briefing-card div{
  display:grid;
  grid-template-columns:150px 1fr;
  gap:20px;
  padding:15px 4px;
  border-bottom:1px solid rgba(203,211,218,.1)
}
.briefing-card div:last-child{border-bottom:0}
.briefing-card span{
  color:#697681;
  font:700 9px/1.7 ui-monospace,Consolas,monospace;
  letter-spacing:.12em
}
.briefing-card strong{
  color:#c6ccd1;
  font-size:13px
}
.qr-placeholder{
  margin-top:34px;
  padding:25px;
  display:grid;
  grid-template-columns:150px 1fr;
  gap:26px;
  align-items:center;
  border:1px solid #313b44;
  background:#0d141b
}
.qr-grid{
  width:150px;
  aspect-ratio:1;
  border:8px solid #d7d6d0;
  background:
    linear-gradient(90deg,#d7d6d0 12%,transparent 12% 24%,#d7d6d0 24% 35%,transparent 35% 47%,#d7d6d0 47% 56%,transparent 56% 68%,#d7d6d0 68% 82%,transparent 82%),
    linear-gradient(#d7d6d0 13%,transparent 13% 26%,#d7d6d0 26% 36%,transparent 36% 52%,#d7d6d0 52% 64%,transparent 64% 78%,#d7d6d0 78%);
  background-color:#111820;
  opacity:.84
}
.qr-placeholder span{
  color:#82785f;
  font:800 9px/1 ui-monospace,Consolas,monospace;
  letter-spacing:.16em
}
.qr-placeholder strong{
  display:block;
  margin-top:8px;
  color:#d4d7d9;
  font-size:20px
}
.qr-placeholder p{
  margin:8px 0 0;
  color:#75818b;
  font-size:11px;
  line-height:1.7
}
.restart-demo{
  margin-top:30px;
  min-height:42px;
  padding:0 17px;
  border:1px solid #3b4650;
  background:#131b23;
  color:#919ca5;
  cursor:pointer;
  font-size:10px;
  font-weight:700
}

@media(max-width:900px){
  .scan-layout{grid-template-columns:1fr}
  .scan-console{border-left:0;border-top:1px solid rgba(203,211,218,.12)}
  .camera-panel{min-height:auto}
  .camera-stage{width:min(100%,760px)}
}
@media(max-width:600px){
  .field-topbar{
    min-height:68px;
    align-items:flex-start;
    padding:14px 16px
  }
  .field-topbar strong{font-size:10px}
  .field-agent{font-size:10px}
  .camera-panel{padding:18px 12px}
  .camera-stage{aspect-ratio:4/5}
  .face-frame{width:62%;height:57%}
  .scan-line{left:19%;width:62%}
  .camera-hud{top:15px}
  .hud-left{left:17px}
  .hud-right{right:17px}
  .scan-console{padding:30px 20px 38px}
  .qr-placeholder{
    grid-template-columns:1fr;
  }
  .qr-grid{width:130px}
  .briefing-card div{grid-template-columns:95px 1fr}
}


/* =========================================================
   v8 IDENTITY GUIDE + TRACKING HUD
   ========================================================= */
.scan-line{display:none!important}

/* Human alignment guide */
.identity-guide{
  position:absolute;
  z-index:8;
  left:50%;
  top:50%;
  width:44%;
  height:72%;
  transform:translate(-50%,-48%);
  color:rgba(181,191,197,.42);
  transition:color .45s ease, opacity .45s ease;
  pointer-events:none;
}
.identity-guide.active{
  color:rgba(112,187,132,.72);
}
.head-guide{
  position:absolute;
  left:50%;
  top:5%;
  width:42%;
  height:49%;
  transform:translateX(-50%);
  border:1px solid currentColor;
  border-radius:48% 48% 45% 45% / 42% 42% 56% 56%;
  box-shadow:0 0 20px rgba(84,136,98,.04);
}
.shoulder-guide{
  position:absolute;
  left:8%;
  right:8%;
  bottom:3%;
  height:39%;
  border-top:1px solid currentColor;
  border-radius:50% 50% 0 0 / 65% 65% 0 0;
}
.shoulder-guide::before,
.shoulder-guide::after{
  content:"";
  position:absolute;
  top:-1px;
  width:25%;
  height:82%;
  border-top:1px solid currentColor;
}
.shoulder-guide::before{
  left:-1px;
  transform:rotate(-24deg);
  transform-origin:top left;
}
.shoulder-guide::after{
  right:-1px;
  transform:rotate(24deg);
  transform-origin:top right;
}
.center-line{
  position:absolute;
  left:50%;
  top:1%;
  bottom:7%;
  width:1px;
  background:linear-gradient(
    to bottom,
    transparent,
    currentColor 15%,
    currentColor 85%,
    transparent
  );
  opacity:.36;
}
.eye-line,
.chin-line{
  position:absolute;
  left:27%;
  width:46%;
  height:1px;
  background:currentColor;
  opacity:.55;
}
.eye-line{top:28%}
.chin-line{top:51%;width:34%;left:33%}
.eye-line::before,
.eye-line::after,
.chin-line::before,
.chin-line::after{
  content:"";
  position:absolute;
  top:-3px;
  width:1px;
  height:7px;
  background:currentColor;
}
.eye-line::before,
.chin-line::before{left:0}
.eye-line::after,
.chin-line::after{right:0}
.guide-label{
  position:absolute;
  color:currentColor;
  font:700 7px/1 ui-monospace,Consolas,monospace;
  letter-spacing:.15em;
  white-space:nowrap;
}
.guide-top{left:50%;top:-1%;transform:translate(-50%,-100%)}
.guide-bottom{left:50%;bottom:-2%;transform:translate(-50%,100%)}

/* Fake tracking / intelligence HUD */
.tracking-layer{
  position:absolute;
  inset:0;
  z-index:9;
  pointer-events:none;
  font-family:ui-monospace,Consolas,monospace;
}
.track-box{
  position:absolute;
  width:42px;
  height:42px;
  border:1px solid rgba(92,207,116,.75);
  opacity:0;
  box-shadow:0 0 10px rgba(72,178,95,.12);
}
.track-box::before{
  content:"";
  position:absolute;
  left:5px;right:5px;top:50%;
  height:1px;
  background:rgba(92,207,116,.35)
}
.t1{left:17%;top:23%}
.t2{left:68%;top:20%;width:34px;height:34px}
.t3{left:22%;top:61%;width:30px;height:30px}
.t4{left:73%;top:57%;width:38px;height:38px}
.t5{left:43%;top:13%;width:26px;height:26px}
.t6{left:52%;top:69%;width:28px;height:28px}
.tracking-layer.searching .track-box{
  animation:searchBox 1.2s ease-in-out infinite;
}
.tracking-layer.searching .t2{animation-delay:.15s}
.tracking-layer.searching .t3{animation-delay:.3s}
.tracking-layer.searching .t4{animation-delay:.45s}
.tracking-layer.searching .t5{animation-delay:.6s}
.tracking-layer.searching .t6{animation-delay:.75s}
@keyframes searchBox{
  0%,100%{opacity:.05;transform:scale(.82)}
  40%{opacity:.92;transform:scale(1)}
  65%{opacity:.2;transform:scale(.92)}
}

.subject-lock{
  position:absolute;
  left:50%;
  top:49%;
  width:37%;
  height:59%;
  transform:translate(-50%,-50%);
  opacity:0;
  transition:opacity .32s ease;
}
.tracking-layer.locked .subject-lock{opacity:1}
.tracking-layer.locked .track-box{opacity:0!important;animation:none}
.lock-corner{
  position:absolute;
  width:38px;height:38px;
  border-color:#69c77b;
  border-style:solid;
  filter:drop-shadow(0 0 4px rgba(82,185,105,.25));
}
.l1{left:0;top:0;border-width:2px 0 0 2px}
.l2{right:0;top:0;border-width:2px 2px 0 0}
.l3{left:0;bottom:0;border-width:0 0 2px 2px}
.l4{right:0;bottom:0;border-width:0 2px 2px 0}

.analysis-node{
  position:absolute;
  width:7px;height:7px;
  border:1px solid #71d186;
  background:rgba(80,176,101,.16);
  opacity:0;
}
.tracking-layer.analyzing .analysis-node{
  animation:nodeBlink 1s ease forwards;
}
.n1{left:31%;top:25%}
.n2{left:66%;top:25%;animation-delay:.08s!important}
.n3{left:49%;top:38%;animation-delay:.16s!important}
.n4{left:39%;top:49%;animation-delay:.24s!important}
.n5{left:60%;top:49%;animation-delay:.32s!important}
.n6{left:50%;top:63%;animation-delay:.40s!important}
.n7{left:24%;top:72%;animation-delay:.48s!important}
.n8{left:75%;top:72%;animation-delay:.56s!important}
@keyframes nodeBlink{
  0%{opacity:0;transform:scale(.4)}
  55%{opacity:1;transform:scale(1.35)}
  100%{opacity:.8;transform:scale(1)}
}

.hud-callout{
  position:absolute;
  left:calc(100% + 22px);
  top:13%;
  min-width:190px;
  padding-left:18px;
  color:#76c987;
  font:700 8px/1.7 ui-monospace,Consolas,monospace;
  letter-spacing:.08em;
}
.hud-callout::before{
  content:"";
  position:absolute;
  left:-16px;
  top:14px;
  width:24px;
  height:1px;
  background:#67ba77;
}
.hud-callout::after{
  content:"";
  position:absolute;
  left:-18px;
  top:12px;
  width:4px;height:4px;
  border:1px solid #67ba77;
  background:#0d1510
}
.hud-callout span{
  display:block;
  opacity:.84;
}
.hud-callout span:first-child{
  color:#91e0a1;
  font-size:9px;
  margin-bottom:3px;
}
.hud-callout b{color:#b6edc1;font-weight:700}

/* Green confirmation state */
.camera-stage.verified .identity-guide{
  color:rgba(106,202,126,.8);
}
.camera-stage.verified .subject-lock{
  filter:drop-shadow(0 0 7px rgba(81,185,102,.2));
}
.camera-stage.verified::after{
  content:"VISUAL IDENTITY CONFIRMED";
  position:absolute;
  z-index:15;
  left:50%;
  bottom:25px;
  transform:translateX(-50%);
  padding:7px 12px;
  border:1px solid rgba(99,197,119,.48);
  background:rgba(8,20,12,.65);
  color:#8edb9c;
  font:800 8px/1 ui-monospace,Consolas,monospace;
  letter-spacing:.14em;
}

@media(max-width:760px){
  .identity-guide{
    width:67%;
    height:64%;
  }
  .subject-lock{
    width:59%;
    height:52%;
  }
  .hud-callout{
    left:auto;
    right:4px;
    top:8%;
    min-width:140px;
    font-size:7px;
    text-align:right;
    padding-left:0;
    padding-right:8px;
  }
  .hud-callout::before,
  .hud-callout::after{display:none}
}


/* =========================================================
   v9 tracking box scale + inline labels
   ========================================================= */
.track-box{
  width:64px;
  height:64px;
}
.track-box b{
  position:absolute;
  left:calc(100% + 10px);
  top:50%;
  transform:translateY(-50%);
  color:#78cf89;
  font:700 8px/1.25 ui-monospace,Consolas,monospace;
  letter-spacing:.08em;
  white-space:nowrap;
  opacity:0;
  text-shadow:0 0 6px rgba(77,174,97,.18);
}
.tracking-layer.searching .track-box b{
  animation:trackLabel 1.2s ease-in-out infinite;
}
.tracking-layer.searching .t2 b{animation-delay:.15s}
.tracking-layer.searching .t3 b{animation-delay:.3s}
.tracking-layer.searching .t4 b{animation-delay:.45s}
.tracking-layer.searching .t5 b{animation-delay:.6s}
.tracking-layer.searching .t6 b{animation-delay:.75s}

@keyframes trackLabel{
  0%,100%{opacity:0}
  35%,62%{opacity:.88}
  80%{opacity:.15}
}

.t2{width:56px;height:56px}
.t3{width:52px;height:52px}
.t4{width:60px;height:60px}
.t5{width:48px;height:48px}
.t6{width:50px;height:50px}

/* Larger final lock box */
.subject-lock{
  width:43%;
  height:65%;
}
.hud-callout{
  left:calc(100% + 26px);
}

@media(max-width:760px){
  .track-box b{
    font-size:6px;
    left:calc(100% + 6px);
  }
  .subject-lock{
    width:66%;
    height:58%;
  }
}


/* =========================================================
   v10 — final subject lock uses the full alignment-guide area
   ========================================================= */
.subject-lock{
  width:44%;
  height:72%;
  top:50%;
  transform:translate(-50%,-48%);
}

/* Keep the analysis points distributed across the larger face/body lock */
.n1{left:35%;top:25%}
.n2{left:63%;top:25%}
.n3{left:49%;top:36%}
.n4{left:40%;top:44%}
.n5{left:59%;top:44%}
.n6{left:50%;top:53%}
.n7{left:29%;top:66%}
.n8{left:70%;top:66%}

@media(max-width:760px){
  .subject-lock{
    width:67%;
    height:64%;
    top:50%;
    transform:translate(-50%,-48%);
  }
}


/* =========================================================
   v11 — chaotic moving scan boxes + leader labels
   ========================================================= */

.tracking-layer{
  overflow:visible;
}

.track-box{
  width:76px;
  height:76px;
  border:2px solid rgba(93,225,118,.92);
  box-shadow:
    0 0 0 1px rgba(93,225,118,.10),
    0 0 18px rgba(77,195,101,.18);
  opacity:0;
  transform-origin:center;
}
.track-box::before,
.track-box::after{
  content:"";
  position:absolute;
  pointer-events:none;
}
.track-box::before{
  left:50%;
  top:50%;
  width:12px;
  height:12px;
  transform:translate(-50%,-50%);
  border:1px solid rgba(103,233,128,.78);
  background:rgba(74,181,96,.10);
}
.track-box::after{
  left:calc(100% + 2px);
  top:50%;
  width:46px;
  height:1px;
  background:linear-gradient(90deg,#72d884,rgba(114,216,132,.25));
  transform-origin:left center;
}
.track-box i{
  position:absolute;
  left:calc(100% + 48px);
  top:50%;
  width:5px;
  height:5px;
  transform:translateY(-50%);
  border:1px solid #72d884;
  background:#0d1510;
  box-shadow:0 0 7px rgba(93,225,118,.26);
}
.track-box b,
.track-box em{
  position:absolute;
  left:calc(100% + 60px);
  white-space:nowrap;
  font-family:ui-monospace,Consolas,monospace;
  letter-spacing:.08em;
  font-style:normal;
  text-shadow:0 0 5px rgba(76,192,97,.16);
  opacity:0;
}
.track-box b{
  top:calc(50% - 12px);
  color:#91e49f;
  font-size:9px;
  font-weight:800;
}
.track-box em{
  top:calc(50% + 3px);
  color:#61bb72;
  font-size:7px;
  font-weight:700;
}

/* positions intentionally scattered around head/shoulder area */
.t1{left:26%;top:27%}
.t2{left:65%;top:19%;width:72px;height:72px}
.t3{left:24%;top:60%;width:68px;height:68px}
.t4{left:68%;top:57%;width:74px;height:74px}
.t5{left:43%;top:14%;width:64px;height:64px}
.t6{left:52%;top:68%;width:70px;height:70px}
.t7{left:34%;top:18%;width:70px;height:70px}
.t8{left:61%;top:43%;width:66px;height:66px}
.t9{left:47%;top:39%;width:62px;height:62px}
.t10{left:45%;top:58%;width:64px;height:64px}

/* some labels go left to create visual chaos */
.t2::after,.t4::after,.t8::after{
  left:auto;
  right:calc(100% + 2px);
  background:linear-gradient(270deg,#72d884,rgba(114,216,132,.25));
  transform-origin:right center;
}
.t2 i,.t4 i,.t8 i{
  left:auto;
  right:calc(100% + 48px);
}
.t2 b,.t2 em,.t4 b,.t4 em,.t8 b,.t8 em{
  left:auto;
  right:calc(100% + 60px);
  text-align:right;
}

/* search animation: big boxes jump, blink, rotate slightly */
.tracking-layer.searching .track-box{
  animation:boxHunt 1.15s steps(1,end) infinite;
}
.tracking-layer.searching .track-box b,
.tracking-layer.searching .track-box em{
  animation:boxText 1.15s steps(1,end) infinite;
}
.tracking-layer.searching .t2,
.tracking-layer.searching .t2 b,
.tracking-layer.searching .t2 em{animation-delay:.08s}
.tracking-layer.searching .t3,
.tracking-layer.searching .t3 b,
.tracking-layer.searching .t3 em{animation-delay:.16s}
.tracking-layer.searching .t4,
.tracking-layer.searching .t4 b,
.tracking-layer.searching .t4 em{animation-delay:.24s}
.tracking-layer.searching .t5,
.tracking-layer.searching .t5 b,
.tracking-layer.searching .t5 em{animation-delay:.32s}
.tracking-layer.searching .t6,
.tracking-layer.searching .t6 b,
.tracking-layer.searching .t6 em{animation-delay:.40s}
.tracking-layer.searching .t7,
.tracking-layer.searching .t7 b,
.tracking-layer.searching .t7 em{animation-delay:.48s}
.tracking-layer.searching .t8,
.tracking-layer.searching .t8 b,
.tracking-layer.searching .t8 em{animation-delay:.56s}
.tracking-layer.searching .t9,
.tracking-layer.searching .t9 b,
.tracking-layer.searching .t9 em{animation-delay:.64s}
.tracking-layer.searching .t10,
.tracking-layer.searching .t10 b,
.tracking-layer.searching .t10 em{animation-delay:.72s}

@keyframes boxHunt{
  0%{opacity:0;transform:translate(0,0) scale(.72) rotate(0)}
  12%{opacity:.95;transform:translate(-8px,4px) scale(1.08) rotate(-2deg)}
  27%{opacity:.32;transform:translate(12px,-7px) scale(.92) rotate(2deg)}
  41%{opacity:.88;transform:translate(-5px,10px) scale(1.02) rotate(0)}
  58%{opacity:.14;transform:translate(16px,3px) scale(.86) rotate(3deg)}
  72%{opacity:.98;transform:translate(-12px,-9px) scale(1.1) rotate(-1deg)}
  88%{opacity:.35;transform:translate(6px,8px) scale(.94) rotate(1deg)}
  100%{opacity:0;transform:translate(0,0) scale(.72) rotate(0)}
}
@keyframes boxText{
  0%,10%{opacity:0}
  15%,32%{opacity:.92}
  36%,51%{opacity:.20}
  57%,78%{opacity:.95}
  84%,100%{opacity:0}
}

/* jitter the whole tracking layer a little */
.tracking-layer.searching{
  animation:hudJitter .18s steps(1,end) infinite;
}
@keyframes hudJitter{
  0%{transform:translate(0,0)}
  25%{transform:translate(.8px,-.4px)}
  50%{transform:translate(-.6px,.7px)}
  75%{transform:translate(.4px,.5px)}
  100%{transform:translate(0,0)}
}

/* once locked, the big frame occupies the original full guide area */
.subject-lock{
  width:44%;
  height:72%;
  top:50%;
  transform:translate(-50%,-48%);
}
.tracking-layer.locked .subject-lock{
  opacity:1;
  animation:lockPulse .55s ease-in-out 3;
}
@keyframes lockPulse{
  0%,100%{filter:drop-shadow(0 0 0 rgba(94,220,116,0))}
  50%{filter:drop-shadow(0 0 11px rgba(94,220,116,.42))}
}

/* keep smaller internal analysis boxes active after lock */
.tracking-layer.locked .track-box{
  opacity:.18!important;
  animation:postLockFlicker .7s steps(1,end) infinite!important;
}
.tracking-layer.locked .track-box b,
.tracking-layer.locked .track-box em{
  opacity:.28!important;
  animation:postLockText .9s steps(1,end) infinite!important;
}
@keyframes postLockFlicker{
  0%,100%{opacity:.08!important}
  33%{opacity:.28!important}
  55%{opacity:.03!important}
  72%{opacity:.2!important}
}
@keyframes postLockText{
  0%,100%{opacity:.12!important}
  45%{opacity:.36!important}
  70%{opacity:.08!important}
}

/* add more visual activity to nodes */
.tracking-layer.analyzing .analysis-node{
  width:9px;height:9px;
  box-shadow:0 0 7px rgba(80,210,106,.34);
  animation:nodeBlink .7s steps(1,end) infinite!important;
}

/* slightly more aggressive CRT movement */
.camera-stage::before{
  animation:crtDrift .25s steps(1,end) infinite;
}
@keyframes crtDrift{
  0%{transform:translateY(0)}
  50%{transform:translateY(1px)}
  100%{transform:translateY(0)}
}

@media(max-width:760px){
  .track-box{
    width:58px;
    height:58px;
  }
  .track-box::after{width:28px}
  .track-box i{left:calc(100% + 30px)}
  .track-box b,.track-box em{left:calc(100% + 40px)}
  .t2 i,.t4 i,.t8 i{right:calc(100% + 30px)}
  .t2 b,.t2 em,.t4 b,.t4 em,.t8 b,.t8 em{right:calc(100% + 40px)}
  .track-box b{font-size:7px}
  .track-box em{font-size:6px}
  .subject-lock{
    width:67%;
    height:64%;
  }
}


/* =========================================================
   v12 — camera instruction / terminal briefing / mission / QR
   ========================================================= */
.camera-instruction{
  width:min(1120px,calc(100% - 48px));
  margin:0 auto 14px;
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:20px;
  padding:10px 14px;
  border-left:2px solid rgba(105,199,123,.72);
  background:rgba(17,29,24,.42);
}
.instruction-ko{
  color:#d8d3c6;
  font-size:14px;
  font-weight:700;
  letter-spacing:.02em;
}
.instruction-en{
  color:#70c682;
  font:700 8px/1 ui-monospace,Consolas,monospace;
  letter-spacing:.15em;
}
.camera-instruction.scanning .instruction-ko{color:#aab1aa}
.camera-instruction.verified .instruction-ko{color:#87d397}

.terminal-briefing{
  max-width:1040px;
  min-height:620px;
  margin:0 auto;
  padding-top:58px;
}
.brief-stage{
  position:relative;
  max-width:860px;
  min-height:390px;
  padding:34px 38px;
  border:1px solid rgba(190,180,153,.20);
  background:rgba(6,12,16,.42);
  box-shadow:inset 0 0 45px rgba(0,0,0,.18);
}
.system-green{
  color:#72ce84;
  font:800 10px/1.3 ui-monospace,Consolas,monospace;
  letter-spacing:.16em;
}
.classified-line{
  display:flex;
  justify-content:space-between;
  margin:20px 0 28px;
  padding:10px 0;
  border-top:1px solid rgba(174,151,104,.32);
  border-bottom:1px solid rgba(174,151,104,.32);
  color:#ad9567;
  font:700 9px/1 ui-monospace,Consolas,monospace;
  letter-spacing:.13em;
}
.brief-title{
  margin:0 0 24px;
  color:#ddd8cc;
  font-size:28px;
  font-weight:700;
}
.typed-brief{
  display:inline;
  color:#d2cec4;
  font-size:17px;
  line-height:2;
  letter-spacing:.01em;
  white-space:pre-wrap;
}
.typed-brief .key{
  color:#b69b66;
  font-weight:800;
}
.terminal-cursor{
  display:inline-block;
  color:#6dcc80;
  margin-left:3px;
  animation:cursorBlink .7s steps(1,end) infinite;
}
@keyframes cursorBlink{50%{opacity:0}}

.mission-panel,.qr-access-panel{
  max-width:860px;
  margin:0 auto;
  padding:38px;
  border:1px solid rgba(174,151,104,.28);
  background:rgba(8,14,18,.60);
}
.mission-panel.reveal,.qr-access-panel.reveal{animation:panelReveal .45s ease both}
@keyframes panelReveal{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:none}
}
.mission-kicker{
  color:#b69b66;
  font:800 9px/1 ui-monospace,Consolas,monospace;
  letter-spacing:.16em;
}
.mission-panel h3,.qr-access-panel h3{
  margin:14px 0 26px;
  color:#e0dbcf;
  font-size:28px;
}
.mission-data{
  display:grid;
  grid-template-columns:1fr 1fr;
  border-top:1px solid rgba(185,178,160,.18);
  margin-bottom:24px;
}
.mission-data div{
  padding:16px 0;
  border-bottom:1px solid rgba(185,178,160,.14);
}
.mission-data div:nth-child(odd){padding-right:30px}
.mission-data span{
  display:block;
  margin-bottom:7px;
  color:#75808a;
  font:700 8px/1 ui-monospace,Consolas,monospace;
  letter-spacing:.13em;
}
.mission-data strong{color:#d8d4ca;font-size:14px}
.green-text{color:#78d08a!important}
.mission-panel p,.qr-access-panel p{color:#929b9d;font-size:13px}
.authorize-button{
  margin-top:16px;
  min-width:230px;
  padding:15px 18px;
  border:1px solid #6e8f75;
  background:#17251c;
  color:#8cdaa0;
  font:800 10px/1 ui-monospace,Consolas,monospace;
  letter-spacing:.12em;
  cursor:pointer;
}
.authorize-button:hover{background:#203326}

.qr-access-panel{max-width:760px}
.qr-wrap{
  display:flex;
  align-items:center;
  gap:34px;
  margin:28px 0 20px;
  padding:26px;
  border:1px solid rgba(107,201,126,.24);
  background:rgba(8,19,12,.38);
}
.real-qr{
  width:210px;
  height:210px;
  padding:12px;
  background:#e7e2d7;
}
.real-qr img{display:block;width:100%;height:100%;object-fit:contain}
.qr-meta span,.qr-meta small{
  display:block;
  color:#6f7c77;
  font:700 8px/1.4 ui-monospace,Consolas,monospace;
  letter-spacing:.13em;
}
.qr-meta strong{
  display:block;
  margin:10px 0 15px;
  color:#80d493;
  font:800 18px/1 ui-monospace,Consolas,monospace;
  letter-spacing:.08em;
}
.qr-note{font-size:11px!important;color:#6f7777!important}

@media(max-width:760px){
  .camera-instruction{width:calc(100% - 24px);align-items:flex-start;flex-direction:column;gap:6px}
  .terminal-briefing{padding:28px 14px;min-height:auto}
  .brief-stage,.mission-panel,.qr-access-panel{padding:24px 20px}
  .typed-brief{font-size:14px}
  .mission-data{grid-template-columns:1fr}
  .mission-data div:nth-child(odd){padding-right:0}
  .qr-wrap{flex-direction:column;align-items:flex-start}
  .real-qr{width:190px;height:190px}
}


/* Reservation-open update */
.status-complete{color:#526d58!important}
.status-pending{color:#7d6842!important}
.prior-investigation-note{
  margin-top:26px;
  padding:17px 18px 16px;
  border-left:3px solid #8d7b57;
  background:rgba(97,83,57,.055);
}
.prior-investigation-note span{
  display:block;
  margin-bottom:7px;
  color:#796a4d;
  font:800 9px/1.25 ui-monospace,Consolas,monospace;
  letter-spacing:.13em;
}
.prior-investigation-note p{
  margin:0;
  color:#5f625f;
  font-size:13px;
  line-height:1.8;
}


/* =========================================================
   v13 fixed — latest assessment / terminal guide flow
   ========================================================= */
.gold-text{color:#b49a67!important}

.terminal-guide-panel{
  max-width:860px;
  margin:0 auto;
  padding:38px;
  border:1px solid rgba(174,151,104,.28);
  background:rgba(8,14,18,.64);
}
.terminal-guide-panel.reveal{animation:panelReveal .45s ease both}
.terminal-guide-panel h3{
  margin:14px 0 28px;
  color:#e0dbcf;
  font-size:28px;
}
.guide-feature-list{
  border-top:1px solid rgba(193,199,203,.16);
}
.guide-feature-list article{
  display:grid;
  grid-template-columns:54px 1fr;
  gap:18px;
  padding:22px 0;
  border-bottom:1px solid rgba(193,199,203,.13);
}
.guide-feature-no{
  color:#7f7255;
  font:800 12px/1.3 ui-monospace,Consolas,monospace;
}
.guide-feature-list strong{
  display:block;
  margin-bottom:7px;
  color:#d6d3ca;
  font-size:16px;
}
.guide-feature-list p{
  margin:0;
  color:#919a9e;
  font-size:13px;
  line-height:1.85;
}
.preview-game-link{
  display:inline-block;
  margin:5px 0 22px;
  color:#81cf91;
  font-size:12px;
  border-bottom:1px solid rgba(129,207,145,.35);
}
@media(max-width:760px){
  .terminal-guide-panel{padding:25px 20px}
  .guide-feature-list article{grid-template-columns:42px 1fr}
}

.build-marker{
  position:fixed;right:8px;bottom:7px;z-index:9999;
  color:rgba(150,160,168,.48);
  font:700 7px/1 ui-monospace,Consolas,monospace;
  letter-spacing:.08em;
  pointer-events:none
}


/* =========================================================
   v14 — enlarge pre-QR desktop terminal screens
   ========================================================= */
@media(min-width:1000px){
  .briefing-content,
  .terminal-briefing{
    width:min(1180px,calc(100% - 80px));
    max-width:none;
  }
  .brief-stage,
  .mission-panel,
  .terminal-guide-panel,
  .qr-access-panel{
    max-width:1040px;
  }
  .brief-stage,
  .mission-panel,
  .terminal-guide-panel{
    padding:48px 52px;
  }
  .brief-title,
  .mission-panel h3,
  .terminal-guide-panel h3,
  .qr-access-panel h3{
    font-size:34px;
  }
  .typed-brief{
    font-size:20px;
    line-height:2.05;
  }
  .mission-data span,
  .guide-feature-no{
    font-size:10px;
  }
  .mission-data strong{
    font-size:17px;
  }
  .mission-panel p,
  .guide-feature-list p,
  .qr-access-panel p{
    font-size:16px;
  }
  .guide-feature-list strong{
    font-size:19px;
  }
  .authorize-button{
    min-height:58px;
    min-width:280px;
    font-size:13px;
  }
  .qr-access-panel{
    max-width:980px;
    padding:46px 50px;
  }
  .qr-wrap{
    gap:44px;
    padding:34px;
  }
  .real-qr{
    width:260px;
    height:260px;
  }
  .qr-meta strong{
    font-size:22px;
  }
}


/* =========================================================
   v15 — pre-QR group-view optimization
   ========================================================= */
@media(min-width:1000px){
  .briefing-shell{
    min-height:100vh;
    display:flex;
    flex-direction:column;
  }
  .briefing-shell > .field-topbar{
    flex:0 0 auto;
  }
  .briefing-content.terminal-briefing{
    flex:1;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    padding-top:34px;
    padding-bottom:34px;
  }
  .brief-stage,
  .mission-panel,
  .terminal-guide-panel,
  .qr-access-panel{
    width:min(1180px,calc(100vw - 150px));
    max-width:1180px;
  }
  .mission-panel,
  .terminal-guide-panel{
    padding:56px 62px;
  }
  .mission-panel h3,
  .terminal-guide-panel h3{
    font-size:40px;
    margin-bottom:34px;
  }
  .mission-data span{
    font-size:12px;
  }
  .mission-data strong{
    font-size:20px;
  }
  .mission-panel p,
  .guide-feature-list p{
    font-size:18px;
    line-height:1.9;
  }
  .guide-feature-list strong{
    font-size:23px;
  }
  .guide-feature-no{
    font-size:12px;
  }
  .authorize-button{
    min-height:66px;
    font-size:15px;
  }
}
