:root{
  --bg:#0b1117;
  --panel:#111922;
  --panel2:#161e27;
  --paper:#ded7c9;
  --ink:#242a30;
  --text:#d9dde0;
  --muted:#86919b;
  --green:#75cf87;
  --gold:#a48d62;
  --line:rgba(213,220,225,.14);
}
*{box-sizing:border-box}
html{background:var(--bg)}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:"Pretendard","Noto Sans KR","Apple SD Gothic Neo",system-ui,sans-serif;
  line-height:1.7;letter-spacing:-.015em
}
button,input{font:inherit}
button{cursor:pointer}
.mobile-brand{
  min-height:66px;padding:13px 18px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  border-bottom:1px solid var(--line);background:#0a1015;
}
.mobile-brand>div{display:flex;align-items:center;gap:10px}
.mobile-brand div span{
  width:34px;height:34px;border:1px solid #756b55;border-radius:50%;
  display:grid;place-items:center;color:#aa9870;font:800 8px/1 ui-monospace,monospace
}
.mobile-brand strong{font:800 11px/1 ui-monospace,monospace;letter-spacing:.1em}
.mobile-brand small{color:#687580;font:700 7px/1.3 ui-monospace,monospace;letter-spacing:.1em;text-align:right}
main{width:min(100%,620px);margin:0 auto;padding:34px 18px 80px}
.screen{display:none}
.screen.active{display:block;animation:fadeIn .25s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
.eyebrow,.system-green,.record-type,.block-label,.support-block>span{
  color:var(--gold);font:800 9px/1.3 ui-monospace,monospace;letter-spacing:.14em
}
.system-green{color:var(--green)}
h1{margin:9px 0 12px;font-size:34px;line-height:1.15;letter-spacing:-.04em}
h2{line-height:1.35}
.lead{margin:0 0 28px;color:#9aa4ad;font-size:14px}
.case-search{
  padding:19px;border:1px solid #35414d;background:#0e161e
}
.case-search label{
  display:block;margin-bottom:8px;color:#8f9aa4;font:800 9px/1 ui-monospace,monospace;letter-spacing:.13em
}
.case-search input{
  width:100%;height:62px;border:1px solid #3d4b58;background:#080e13;color:#e4e7e8;
  text-align:center;font:800 25px/1 ui-monospace,monospace;letter-spacing:.38em;padding-left:.38em;outline:none
}
.case-search button,.primary-action,.assessment-code>button:not(.preview-only),
.access-authorized>button{
  width:100%;min-height:50px;margin-top:10px;border:1px solid #677660;background:#17221a;
  color:#8bd69a;font-weight:800
}
.search-status{min-height:78px;padding-top:20px;color:#75cf87;font:700 10px/1.8 ui-monospace,monospace}
.back-link{border:0;background:none;color:#8d9aa4;padding:0;margin-bottom:20px;font-size:12px}
.record-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:18px}
.record-header h1{margin-bottom:0}
.record-status{border:1px solid #657a69;padding:5px 8px;color:#8fbd98;font-size:10px;white-space:nowrap}
.meta{margin:20px 0 28px}
.meta div{display:grid;grid-template-columns:92px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}
.meta dt{color:#73808a}.meta dd{margin:0;color:#cdd2d6;font-weight:700}
.record-block{
  margin:16px 0;padding:22px 20px;background:var(--paper);color:var(--ink);border:1px solid #bdb5a7
}
.record-block .block-label{color:#796a4e}
.record-block p{font-size:14px;margin:13px 0 0}
.action-block{border-left:4px solid #8f7a50}
.important{font-weight:800}
.support-block{
  margin:22px 0;padding:20px;border:1px solid #35503d;background:#0d1711
}
.support-block>span{color:#6fc680}
.support-block button{
  width:100%;min-height:48px;margin-top:13px;border:1px solid #477b52;background:#14231a;color:#82d493;font-weight:800
}
.support-response{margin-top:15px;padding-top:15px;border-top:1px dashed #35543d;color:#b8c9bd;font-size:13px}
.support-response .support-head{color:#74cd85;font:800 9px/1.4 ui-monospace,monospace;letter-spacing:.1em}
.assessment-code{
  padding:22px 20px;border:1px solid #3e4851;background:#111922
}
.assessment-code p{font-size:13px;color:#9ea7ae}
.assessment-code input{
  width:100%;height:52px;margin-top:8px;background:#090f14;border:1px solid #3b4853;color:#dce0e2;padding:0 13px;outline:none
}
.assessment-message{min-height:34px;padding-top:10px;color:#b98a84;font-size:12px}
.preview-only{
  width:100%;min-height:42px;margin-top:12px;border:1px dashed #806f50;background:transparent;color:#ad9870
}
.pass-card{
  margin:28px 0;padding:28px 24px;border:1px solid #48634e;background:#101b13;text-align:center
}
.pass-card span{color:#78c988;font:800 9px/1 ui-monospace,monospace;letter-spacing:.13em}
.pass-card strong{display:block;margin:10px 0 4px;font-size:20px}
.pass-card p{margin:0;color:#9cab9e;font-size:13px}
.pass-card b{display:block;margin-top:19px;color:#8cdd9c;font:900 38px/1 ui-monospace,monospace;letter-spacing:.12em}
.access-authorized{margin-top:28px}
.access-authorized>span{color:#72cd84;font:800 9px/1 ui-monospace,monospace;letter-spacing:.13em}
.access-authorized h2{font-size:24px}
.access-authorized p{color:#909ba4;font-size:14px}
.field-access-mark{
  margin:26px 0;padding:25px 18px;border:1px solid #66715f;background:#101913;text-align:center
}
.field-access-mark small,.field-access-mark em{display:block;color:#7e8a7f;font:700 8px/1.4 ui-monospace,monospace;letter-spacing:.12em;font-style:normal}
.field-access-mark strong{display:block;margin:7px 0;color:#d5d8d1;font:900 23px/1 ui-monospace,monospace;letter-spacing:.09em}
.field-access-mark span{display:block;margin:10px 0;color:#89d597;font-size:35px;line-height:1}
.access-data{margin:26px 0;border-top:1px solid var(--line)}
.access-data div{display:flex;justify-content:space-between;gap:18px;padding:15px 4px;border-bottom:1px solid var(--line)}
.access-data span{color:#7d8992;font-size:12px}
.access-data strong{font:800 14px/1.5 ui-monospace,monospace}
.warning-copy{margin:25px 0;color:#b9b5a8;font-size:14px}
.field-hud{
  position:sticky;top:0;z-index:40;padding:10px 16px 9px;background:rgba(8,14,19,.97);
  border-bottom:1px solid #35414a;box-shadow:0 6px 22px rgba(0,0,0,.2)
}
.hud-title{margin-bottom:7px;color:#718078;font:800 7px/1 ui-monospace,monospace;letter-spacing:.13em}
.hud-grid{display:grid;grid-template-columns:1fr 1fr}
.hud-grid div:last-child{text-align:right}
.hud-grid span{display:block;color:#75818b;font-size:9px}
.hud-grid strong{font:800 15px/1.3 ui-monospace,monospace}
#timerText{color:#8bd49a}
.progress-track{height:2px;margin-top:8px;background:#263038}
.progress-track span{display:block;height:100%;width:0;background:#73957a}
.field-empty{margin-top:22px;padding:22px;border:1px dashed #35404a;color:#77838c}
.field-empty span{font:800 9px/1 ui-monospace,monospace;letter-spacing:.12em}
.field-empty p{font-size:12px}
.warning-toast{
  position:fixed;z-index:100;left:16px;right:16px;bottom:18px;max-width:560px;margin:auto;
  padding:18px;background:#1b1712;border:1px solid #6f5e43;color:#ddd6c8;box-shadow:0 14px 45px rgba(0,0,0,.45)
}
.warning-toast strong{display:block;color:#c4a770;font:900 12px/1.2 ui-monospace,monospace;letter-spacing:.1em}
.warning-toast p{font-size:13px}
.warning-toast button{border:1px solid #77684d;background:#292117;color:#d9c9aa;padding:8px 14px}


/* =========================================================
   v14 mobile spacing + FIELD ACCESS arrival
   ========================================================= */
main{
  width:min(100%,680px);
  padding-left:14px;
  padding-right:14px;
}
@media(max-width:480px){
  main{
    padding-left:12px;
    padding-right:12px;
  }
  .case-search,
  .record-block,
  .support-block,
  .assessment-code{
    padding-left:16px;
    padding-right:16px;
  }
}
.arrival-card{
  margin:22px 0 24px;
  padding:24px 18px;
  border:1px solid #65715f;
  background:#0f1812;
  text-align:center;
}
.arrival-label{
  display:block;
  color:#7dc88c;
  font:800 9px/1 ui-monospace,monospace;
  letter-spacing:.15em;
}
.arrival-card strong{
  display:block;
  margin:10px 0 7px;
  color:#d9ddd5;
  font:900 26px/1.1 ui-monospace,monospace;
  letter-spacing:.08em;
}
.arrival-card small{
  color:#7d8980;
  font:700 8px/1.4 ui-monospace,monospace;
  letter-spacing:.11em;
}
.covert-notice{
  margin:24px 0;
  padding:19px 18px;
  border-left:3px solid #77835f;
  background:#151810;
}
.covert-notice span{
  display:block;
  margin-bottom:8px;
  color:#a89a6d;
  font:800 8px/1 ui-monospace,monospace;
  letter-spacing:.13em;
}
.covert-notice strong{
  display:block;
  color:#d8d4c7;
  font-size:15px;
}
.covert-notice p{
  margin:8px 0 0;
  color:#999b92;
  font-size:12px;
  line-height:1.75;
}
.hud-title span{
  color:#8e7f5b;
}


/* =========================================================
   v15 — generic CASE rendering / mobile-first controls
   ========================================================= */
.case-subtitle{
  margin:5px 0 0;
  color:#929da5;
  font-size:13px;
}
.record-block div > p{
  margin:13px 0 0;
}
.result-register{
  margin:22px 0;
  padding:22px 20px;
  border:1px solid #3e4851;
  background:#111922;
}
.result-register > p{
  color:#a1a9af;
  font-size:13px;
}
.r-input-row{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:10px;
  margin-top:12px;
}
.r-input-row > span{
  color:#b49a67;
  font:900 22px/1 ui-monospace,monospace;
}
.r-input-row input{
  width:100%;
  height:58px;
  padding:0 14px;
  border:1px solid #46535f;
  background:#080e13;
  color:#eef0ef;
  font:800 21px/1 ui-monospace,monospace;
  letter-spacing:.12em;
  outline:none;
}
.result-register button{
  width:100%;
  min-height:54px;
  margin-top:11px;
  border:1px solid #64745e;
  background:#17231a;
  color:#8bd69a;
  font-weight:800;
}
.result-message{
  min-height:42px;
  padding-top:12px;
  color:#b98a84;
  font-size:13px;
  white-space:pre-line;
}
.result-message.verified{
  color:#8bd69a;
}
.completion-story{
  margin:22px 0;
  padding:22px 20px;
  border-left:3px solid #8a7650;
  background:#17160f;
}
.completion-story span{
  color:#b59b67;
  font:800 9px/1 ui-monospace,monospace;
  letter-spacing:.13em;
}
.completion-story p{
  color:#c9c7bd;
  font-size:14px;
}
.field-clothing{
  margin:22px 0;
  padding:20px 18px;
  border-left:3px solid #7f7658;
  background:#17170f;
}
.field-clothing span{
  color:#a89568;
  font:800 8px/1 ui-monospace,monospace;
  letter-spacing:.13em;
}
.field-clothing strong{
  display:block;
  margin-top:8px;
  color:#ddd8cb;
  font-size:16px;
}
.field-clothing p{
  margin:7px 0 0;
  color:#999b92;
  font-size:12px;
}
.start-note{
  margin:10px 0 0;
  text-align:center;
  color:#78828a;
  font-size:11px;
}
.completed-summary{
  margin-top:22px;
  padding:18px;
  border:1px solid #303a43;
  background:#0e151c;
}
.completed-summary > span{
  color:#78837a;
  font:800 8px/1 ui-monospace,monospace;
  letter-spacing:.13em;
}
.completed-summary p{
  margin:8px 0 0;
  color:#9ba5ab;
  font-size:12px;
}
.completed-summary strong{
  color:#80ce90;
}
.dev-reset{
  position:fixed;
  right:8px;
  bottom:8px;
  z-index:200;
  padding:7px 9px;
  border:1px dashed #705d42;
  background:#17120d;
  color:#a98d62;
  font:700 8px/1 ui-monospace,monospace;
}
@media(max-width:480px){
  .record-header h1{font-size:31px}
  .case-subtitle{font-size:12px}
  .r-input-row input{height:62px;font-size:23px}
  .result-register button,
  .case-search button,
  .primary-action,
  .support-block button{
    min-height:56px;
    font-size:15px;
  }
}
/* v16 */
.audio-record{margin:22px 0;padding:20px;border:1px solid #3f4d48;background:#101914}.audio-record strong{display:block;margin:10px 0;color:#7fd38f;font:800 11px/1.3 ui-monospace,monospace}.audio-record audio{width:100%;margin:8px 0}.audio-record.locked{opacity:.65}.audio-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.audio-actions button{min-height:44px;border:1px solid #526057;background:#172019;color:#b7c6b9}.audio-note{font-size:10px;color:#78837b}.hq-message{margin-top:18px;padding:16px;border:1px solid #50685a;background:#101a14}.hq-message strong{color:#82d592}.hq-message button{width:100%;min-height:48px;border:1px solid #65745e;background:#17231a;color:#8bd69a}.return-card{margin:24px 0;padding:28px 20px;border:1px solid #65715f;background:#0f1812;text-align:center}.return-card strong{display:block;margin-top:12px;color:#9be0a7;font-size:20px}.end-mobile{text-align:center;color:#77828a;font-size:12px}.finalMissionScreen .record-block{margin-bottom:16px}

/* v19 · separate analysis result screen */
.analysis-result-head{margin:18px 0 24px;padding:24px 20px;border:1px solid #466052;background:#0f1813;text-align:center}.analysis-result-head span{display:block;color:#7d8c83;font:800 9px/1.2 ui-monospace,monospace;letter-spacing:.13em}.analysis-result-head strong{display:block;margin:12px 0 10px;color:#8bd69a;font:900 30px/1 ui-monospace,monospace;letter-spacing:.08em}.analysis-result-head small{display:block;color:#9aa49d;font-size:12px;line-height:1.7}.analysis-result-card{margin:0 0 20px;padding:24px 20px;border-left:3px solid #8a7650;background:#17160f}.analysis-result-card .block-label{display:block;margin-bottom:14px}.analysis-result-card p{margin:10px 0;color:#d0cec3;font-size:14px;line-height:1.8}.analysis-final-button{margin-top:16px}#analysisNextCase{margin-top:18px}
