/* Researcher area — shared styles on top of colors_and_type.css + site/site.css */

/* gate (login) */
.gate-wrap{min-height:calc(100vh - 66px);display:flex;align-items:center;justify-content:center;padding:56px 20px}
.gate{width:100%;max-width:400px;border:1px solid var(--line-dark);padding:40px 36px}
.gate .tick{margin:18px 0 26px}
.gate h1{font-size:22px;font-weight:400;line-height:1.4;color:var(--paper)}
.gate label{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--mist);margin:20px 0 8px}
.gate input{width:100%;background:var(--ink-2);border:1px solid var(--line-dark-2);border-radius:2px;
  color:var(--paper);font-family:var(--font-mono);font-size:13px;padding:12px 14px;outline:none}
.gate input:focus{border-color:var(--paper)}
.gate .btn{width:100%;margin-top:28px;cursor:pointer;background:transparent;color:var(--paper)}
.gate .btn:hover{background:var(--paper);color:var(--ink)}
.gate .err{font-size:11px;letter-spacing:.08em;color:var(--paper);border:1px dashed var(--line-dark-2);
  padding:10px 12px;margin-top:18px;display:none}
.gate .hint{font-size:10px;letter-spacing:.06em;line-height:1.7;color:var(--mist);margin-top:24px}

/* researcher subnav */
.subnav{position:sticky;top:66px;z-index:50;background:var(--ink);border-bottom:1px solid var(--line-dark)}
.subnav-in{display:flex;gap:26px;align-items:center;height:48px;overflow-x:auto}
.subnav a{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mist);white-space:nowrap}
.subnav a:hover{color:var(--paper)}
.subnav a.on{color:var(--paper);border-bottom:1px solid var(--paper);padding-bottom:3px}
.subnav .upd{margin-left:auto;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--mist);white-space:nowrap}

/* page body */
.rsec{padding:56px 0 72px}
.rsec .label{margin-bottom:8px}
.rsec h1{font-size:26px;font-weight:500;line-height:1.4;margin-bottom:8px;color:var(--paper)}
.rsec .src{font-size:11px;letter-spacing:.06em;color:var(--mist);margin-bottom:32px;line-height:1.7;max-width:72ch}
.rsec .src b{color:var(--paper);font-weight:500}

/* stock table */
.tblwrap{overflow-x:auto;border:1px solid var(--line-dark)}
table.stock{width:100%;border-collapse:collapse;font-size:12px;min-width:820px}
table.stock th{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--mist);font-weight:400;
  text-align:left;padding:12px 14px;border-bottom:1px solid var(--line-dark-2);white-space:nowrap}
table.stock td{padding:10px 14px;border-bottom:1px solid var(--line-dark);color:var(--paper);line-height:1.5;vertical-align:top}
table.stock td.dim{color:var(--mist)}
table.stock td.nw{white-space:nowrap}
table.stock tr:last-child td{border-bottom:0}
.qty-in{width:160px;background:var(--ink-2);border:1px solid var(--line-dark-2);border-radius:2px;
  color:var(--paper);font-family:var(--font-mono);font-size:12px;padding:6px 9px;outline:none}
.qty-in:focus{border-color:var(--paper)}
.qty-in.dirty{border-color:var(--mist)}
.savemark{display:inline-block;margin-left:8px;font-size:9px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--signal);opacity:0;transition:opacity .2s}
.savemark.on{opacity:1}
.savemark.fail{color:var(--paper);border-bottom:1px dashed var(--paper)}

/* status lists (current build) */
.slist{border-top:1px solid var(--line-dark)}
.slist .it{display:grid;grid-template-columns:120px 1fr;gap:24px;padding:14px 0;border-bottom:1px solid var(--line-dark);
  font-size:13px;line-height:1.65;align-items:baseline}
.slist .it .st{font-size:10px;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;padding-top:3px}
.st.ok{color:var(--paper)}
.st.ok::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--signal);margin-right:8px;vertical-align:1px}
.st.bad{color:var(--paper);border-bottom:1px dashed var(--paper)}
.st.todo{color:var(--mist)}
.slist .it .tx{color:var(--mist)}
.gateline{margin-top:24px;border:1px dashed var(--line-dark-2);padding:14px 16px;font-size:12px;line-height:1.7;color:var(--mist)}

/* planned-build sheets */
.sheetbox{border:1px solid var(--line-dark);margin-bottom:28px}
.sheetbox .sh{display:flex;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid var(--line-dark);
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--paper)}
.sheetbox .sh span{color:var(--mist);letter-spacing:.06em;text-transform:none}
.sheet{padding:20px}
.sheet svg{display:block;width:100%;height:auto;max-width:820px;margin:0 auto}
.sheet text{font-family:var(--font-mono)}
.sheet .th{font-size:13px;font-weight:600;fill:var(--paper)}
.sheet .t{font-size:13px;fill:var(--paper)}
.sheet .ts{font-size:11.5px;fill:var(--mist)}
.sheet .box,.sheet rect.box{fill:rgba(255,255,255,.03);stroke:var(--line-dark-2)}
.sheet .c-teal>rect,.sheet .c-teal>circle{fill:rgba(93,202,165,.08);stroke:#5DCAA5}
.sheet .c-amber>rect,.sheet .c-amber>circle{fill:rgba(255,210,127,.08);stroke:#FFD27F}
.sheet .c-gray>rect,.sheet .c-gray>circle{fill:rgba(255,255,255,.04);stroke:var(--line-dark-2)}
.sheet .arr{stroke:var(--mist);stroke-width:1.2;fill:none}
.sheet .leader{stroke:var(--line-dark-2);stroke-width:.7;stroke-dasharray:3 3}
.sheet .node{cursor:default}
.sheet [stroke="#1D9E75"]{stroke:#3BAF8C}

.foot-note{padding:0 0 64px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mist);line-height:2}

@media(max-width:640px){
  .gate{padding:30px 22px}
  .rsec{padding:40px 0 56px}
  .slist .it{grid-template-columns:1fr;gap:4px}
  .subnav{top:58px}
  .qty-in{width:120px}
}
