:root{--g:#00ff66;--b:#000;--mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--b);color:var(--g)}
body{font-family:var(--mono);font-size:16px;line-height:1.38;font-weight:400;text-transform:uppercase;-webkit-font-smoothing:none;overflow-x:hidden}
button,a,input{font:inherit}
.terminal-shell{min-height:100svh;width:min(1500px,100%);margin:auto;padding:clamp(24px,3vw,46px);display:flex;flex-direction:column;background:#000}
.topbar{display:grid;grid-template-columns:1fr auto;gap:24px;font-size:clamp(13px,1.05vw,18px);flex:0 0 auto;position:relative;z-index:3}
.status{text-align:left}
.viewport{position:relative;flex:1 0 auto;min-height:0;overflow:hidden}
footer{flex:0 0 auto;margin-top:auto;padding-top:28px;text-align:right;font-size:clamp(12px,.95vw,16px);position:relative;z-index:3}

/* TERMINAL VIEW */
.hero{text-align:center;margin:clamp(12px,1.5vw,22px) auto 0;width:100%}
.seal-image{display:block;width:clamp(290px,31.24vw,462px);max-width:68.43vw;height:auto;margin:0 auto;object-fit:contain}
h1{margin:12px 0 0;font-size:clamp(19.5px,2.125vw,33px);font-weight:400;letter-spacing:.105em;line-height:1.2}
.short-rule{margin-top:8px;white-space:nowrap;overflow:hidden}
.commands{margin-top:clamp(24px,2.8vw,42px);width:min(720px,100%);font-size:clamp(14px,1.05vw,17px)}
.grid{display:grid;grid-template-columns:118px 18px minmax(0,1fr);column-gap:9px}
.console{margin-top:12px}
.rule{white-space:nowrap;overflow:hidden;line-height:1}
.output{margin-top:10px;font-size:clamp(14px,1.05vw,17px);max-height:245px;overflow:auto;scrollbar-width:none}
.output::-webkit-scrollbar{display:none}
.lineout{white-space:pre-wrap}
.lineout.cmd{margin-top:7px}
.prompt{display:flex;align-items:baseline;gap:10px;margin-top:10px;font-size:clamp(16px,1.2vw,20px)}
.input-shell{position:relative;display:inline-flex;align-items:baseline;min-width:1ch;max-width:calc(100vw - 120px)}
#typed{white-space:pre}
.cursor{display:inline-block;width:.62em;height:1em;margin-left:1px;background:var(--g);vertical-align:-.12em;animation:blink 1s steps(1,end) infinite}
#commandInput{position:absolute;left:0;top:0;width:min(76vw,900px);height:1.5em;opacity:0;border:0;outline:0;background:transparent;color:transparent;caret-color:transparent;font:inherit;text-transform:uppercase}

/* RESEARCH VIEW */
.research-view{padding-top:clamp(42px,5vw,78px);font-size:clamp(14px,1.05vw,17px)}
.research-head{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;margin-bottom:28px}
.research-title{font-size:clamp(22px,2.1vw,34px);letter-spacing:.075em;line-height:1.15}
.research-subtitle{margin-top:7px;font-size:clamp(12px,.95vw,15px)}
.terminal-button{border:0;background:transparent;color:var(--g);text-transform:uppercase;padding:0;letter-spacing:.02em;cursor:inherit}
.terminal-button:hover,.terminal-button:focus-visible,.record-link:hover,.record-link:focus-visible{outline:none;text-decoration:underline;text-underline-offset:3px}
.directory-rule{white-space:nowrap;overflow:hidden;margin:13px 0 20px}
.record-list{display:grid;grid-template-columns:repeat(2,minmax(160px,320px));gap:9px 46px;width:min(720px,100%);padding-bottom:34px}
.record-link{display:block;width:max-content;color:var(--g);text-decoration:none;letter-spacing:.055em;padding:2px 0}
.research-note{margin-top:10px;max-width:720px}

/* WIPE TRANSITION — only the middle viewport is affected */
.wipe{position:absolute;z-index:20;left:0;right:0;top:0;height:0;background:#000;pointer-events:none}
.wipe.cover{animation:wipeCover .22s linear forwards}
.wipe.reveal{height:100%;animation:wipeReveal .28s linear forwards}
@keyframes wipeCover{from{height:0}to{height:100%}}
@keyframes wipeReveal{from{top:0;height:100%}to{top:100%;height:0}}

/* CLASSIFIED MODAL */
.modal[hidden]{display:none}
.modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:rgba(0,0,0,.78);padding:24px}
.modal-panel{width:min(560px,92vw);border:1px solid var(--g);background:#000;padding:clamp(22px,3vw,36px);box-shadow:0 0 0 1px #000 inset}
.modal-title{font-size:clamp(20px,2vw,28px);letter-spacing:.12em}
.modal-rule{margin:6px 0 22px;white-space:nowrap;overflow:hidden}
.modal-panel p{margin:0 0 17px}
.modal-panel .terminal-button{margin-top:8px}

/* BOOT */
.boot{position:fixed;inset:0;z-index:99;background:#000;color:var(--g);padding:clamp(24px,3vw,46px);font:400 clamp(13px,1.05vw,18px)/1.5 var(--mono);text-transform:uppercase}
.boot pre{margin:0;white-space:pre-wrap;font:inherit}
.boot.done{display:none}

/* CUSTOM ATOMIC GARDEN CURSOR */
@media (pointer:fine){
  html.cursor-active,html.cursor-active *{cursor:none!important}
  .ag-cursor{position:fixed;left:0;top:0;width:18px;height:18px;z-index:120;pointer-events:none;transform:translate(-50%,-50%);opacity:0}
  .ag-cursor::before,.ag-cursor::after{content:"";position:absolute;background:var(--g)}
  .ag-cursor::before{left:8px;top:0;width:1px;height:18px}
  .ag-cursor::after{left:0;top:8px;width:18px;height:1px}
  .ag-cursor .dot{display:none}
  .ag-cursor.active{opacity:1}
  .ag-cursor.link{width:22px;height:22px;border:1px solid var(--g);border-radius:50%}
  .ag-cursor.link::before{left:10px;height:22px}
  .ag-cursor.link::after{top:10px;width:22px}
}

@keyframes blink{0%,49%{opacity:1}50%,100%{opacity:0}}
@media(max-width:760px){
  .terminal-shell{padding:18px 14px calc(18px + env(safe-area-inset-bottom))}
  .topbar{grid-template-columns:1fr;gap:10px;font-size:12px}
  .status{margin-top:4px}
  .hero{overflow:hidden}
  .seal-image{width:min(68.43vw,387px)}
  h1{font-size:clamp(11px,3.9vw,18px);letter-spacing:.04em;white-space:nowrap}
  .commands{margin-top:25px;font-size:12px}
  .grid{grid-template-columns:78px 10px minmax(0,1fr);column-gap:4px}
  .output{font-size:12px;max-height:220px}
  .prompt{font-size:15px}
  footer{font-size:11px;padding-top:22px}
  .boot{padding:18px 14px}
  .research-view{padding-top:32px;font-size:12px}
  .research-head{display:block;margin-bottom:22px}
  .research-head .terminal-button{display:inline-block;margin-top:17px}
  .record-list{grid-template-columns:1fr 1fr;gap:8px 24px}
}
@media(prefers-reduced-motion:reduce){.cursor{animation:none}.wipe.cover,.wipe.reveal{animation-duration:.01ms}}

/* V14 — clickable terminal directories, no visual button treatment */
.command-link{appearance:none;-webkit-appearance:none;border:0;background:transparent;color:var(--g);font:inherit;text-transform:uppercase;text-align:left;padding:0;margin:0;line-height:inherit;letter-spacing:inherit;cursor:inherit;width:max-content}
.command-link:hover,.command-link:focus-visible{outline:none;text-decoration:none}
.live-record::after{content:"  [RELEASED]";font-size:.82em;letter-spacing:.02em}

/* V14 — public research record */
.record-shell{min-height:100svh}
.record-view{flex:1;padding-top:clamp(34px,4vw,62px);font-size:clamp(13px,1vw,16px)}
.record-kicker,.record-footerline{display:flex;justify-content:space-between;align-items:center;gap:24px}
.record-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(310px,.85fr);gap:clamp(30px,4vw,66px);align-items:start;margin-top:26px}
.archive-frame{margin:0;border:1px solid var(--g);padding:12px;min-width:0}
.archive-frame-head{display:flex;justify-content:space-between;gap:16px;margin-bottom:10px;font-size:.9em}
.archive-image-wrap{position:relative;background:#000;overflow:hidden;isolation:isolate}
.archive-image-wrap::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(0,0,0,0) 0,rgba(0,0,0,0) 2px,rgba(0,0,0,.18) 3px);mix-blend-mode:multiply}
.archive-image-wrap img{display:block;width:100%;height:auto;max-height:68svh;object-fit:contain;image-rendering:auto;-webkit-user-drag:none;user-select:none}
.archive-frame figcaption{margin-top:9px;font-size:.85em}
.record-id{font-size:clamp(30px,3.2vw,52px);line-height:1;letter-spacing:.06em}
.record-name{font-size:clamp(20px,2vw,32px);text-align:left;letter-spacing:.055em;margin:8px 0 0;line-height:1.1}
.directory-rule.compact{margin:20px 0}
.record-meta{margin:0}
.record-meta>div{display:grid;grid-template-columns:118px 12px 1fr;margin:0 0 6px}
.record-meta>div::before{content:":";grid-column:2;grid-row:1}
.record-meta dt{grid-column:1;font-weight:400}
.record-meta dd{grid-column:3;margin:0;min-width:0;overflow-wrap:anywhere}
.record-section-title{margin-bottom:10px}
.record-note{margin:0 0 12px;max-width:52ch}
.record-bottom-rule{margin-top:34px}
.record-footerline{padding-bottom:12px}

@media(max-width:760px){
  .command-link{position:relative}
  .command-link::after{content:"";position:absolute;inset:-7px -10px}
  .live-record::after{font-size:.72em}
  .record-view{padding-top:28px;font-size:12px}
  .record-kicker{align-items:flex-start}
  .record-layout{grid-template-columns:1fr;gap:28px;margin-top:20px}
  .archive-frame{padding:8px}
  .archive-frame-head{font-size:10px}
  .archive-image-wrap img{max-height:none}
  .record-data{min-width:0}
  .record-id{font-size:32px}
  .record-name{font-size:20px}
  .record-meta>div{grid-template-columns:92px 10px 1fr}
  .record-footerline{align-items:flex-start;font-size:10px}
}

/* V14 FINAL — registry states */
.live-record::after{content:none}
.record-link{display:grid;grid-template-columns:92px auto;gap:10px;align-items:baseline;width:max-content}
.record-status{font-size:.82em;letter-spacing:.02em}

/* Public record photo is shown exactly as its intentionally compressed source.
   No green tint, scanline overlay, color filtering, or generative treatment. */
.archive-image-wrap::after{content:none;background:none}

/* Restricted / redacted research records */
.restricted-record{max-width:940px;margin-top:26px}
.restricted-head{display:flex;align-items:flex-start;justify-content:space-between;gap:28px}
.restricted-title{font:inherit;font-size:clamp(22px,2vw,32px);letter-spacing:.12em;text-align:left;margin:10px 0 0}
.restricted-status{font-size:clamp(13px,1vw,16px);white-space:nowrap;padding-top:8px}
.classification-line{margin:0 0 28px}
.redacted-sheet{border:1px solid var(--g);padding:clamp(18px,2.4vw,30px);width:min(760px,100%);margin:0 0 28px;overflow:hidden}
.redacted-sheet>div:not(.redacted-gap){display:grid;grid-template-columns:118px 12px 1fr;margin-bottom:8px;align-items:baseline}
.redacted-sheet p{margin:9px 0;white-space:nowrap;overflow:hidden}
.redacted-gap{height:18px}
.redaction{display:inline-block;letter-spacing:-.08em;line-height:.85;white-space:nowrap;overflow:hidden;max-width:100%;user-select:none}
.restricted-copy{margin:0 0 10px}

@media(max-width:760px){
  .record-link{grid-template-columns:72px auto;gap:7px}
  .record-status{font-size:.68em}
  .restricted-head{display:block}
  .restricted-status{margin-top:12px;padding:0}
  .redacted-sheet>div:not(.redacted-gap){grid-template-columns:92px 10px 1fr}
  .redacted-sheet{padding:15px 12px}
  .redaction{font-size:.9em}
}

/* V16 — FIELD RESEARCH PROGRAM */
.field-view{padding-top:clamp(42px,5vw,78px);font-size:clamp(14px,1.05vw,17px);max-width:980px}
.field-head{margin-bottom:22px}
.field-intro{margin:0 0 clamp(26px,3vw,42px);max-width:620px}
.field-intro p{margin:0 0 18px}
.field-form{width:min(860px,100%)}
.rating-field{border:0;padding:0;margin:0 0 28px;min-width:0}
.rating-field legend{padding:0;margin:0 0 9px;font:inherit;letter-spacing:.055em}
.rating-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px 16px}
.rating-option{position:relative;display:block;min-width:0;cursor:inherit}
.rating-option input{position:absolute;opacity:0;pointer-events:none}
.rating-option span{display:block;white-space:nowrap}
.rating-option.selected span,.rating-option:has(input:checked) span{background:var(--g);color:#000}
.rating-option:focus-within span{outline:1px solid var(--g);outline-offset:3px}
.observations-field{display:block;margin:4px 0 8px;letter-spacing:.035em}
.observations-field span{font-size:.82em}
#observations{display:block;width:min(760px,100%);min-height:120px;resize:vertical;border:1px solid var(--g);border-radius:0;background:#000;color:var(--g);padding:10px;font:inherit;text-transform:none;outline:none}
#observations:focus{box-shadow:0 0 0 1px var(--g)}
.field-message{min-height:1.4em;margin:14px 0 8px;max-width:760px}
.field-submit{appearance:none;-webkit-appearance:none;border:0;background:transparent;color:var(--g);font:inherit;text-transform:uppercase;padding:0;margin:0;cursor:inherit}
.field-submit:hover,.field-submit:focus-visible{text-decoration:underline;text-underline-offset:3px;outline:none}
.field-submit:disabled{opacity:.55;text-decoration:none}
.field-complete{padding-top:clamp(42px,5vw,78px);font-size:clamp(14px,1.05vw,17px);max-width:900px}
.field-complete p{margin:0 0 18px}
.response-ref{font-size:.86em}
.mailing-module{margin-top:24px;max-width:720px}
.mailing-form{display:grid;grid-template-columns:auto minmax(220px,460px) auto;gap:10px 14px;align-items:center;margin-top:12px}
.mailing-form input{border:0;border-bottom:1px solid var(--g);border-radius:0;background:#000;color:var(--g);font:inherit;outline:none;min-width:0;padding:2px 4px;text-transform:none}
.mailing-form input:focus{border-bottom-width:2px}
.mailing-form .field-message{grid-column:2 / -1;margin:2px 0 0}
.mailing-privacy{margin-top:14px!important;font-size:.78em;max-width:68ch}
.field-return{margin-top:24px}

@media(max-width:760px){
  .field-view,.field-complete{padding-top:32px;font-size:12px}
  .rating-field{margin-bottom:24px}
  .rating-options{grid-template-columns:1fr;gap:5px}
  .rating-option span{width:max-content;max-width:100%}
  #observations{min-height:110px}
  .mailing-form{grid-template-columns:1fr;gap:7px}
  .mailing-form .field-message{grid-column:auto}
  .mailing-form .field-submit{margin-top:7px;width:max-content}
}
