@font-face{font-family:'IBM Plex Sans';font-weight:400;font-style:normal;font-display:swap;src:url(fonts/ibm-plex-sans-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-weight:500;font-style:normal;font-display:swap;src:url(fonts/ibm-plex-sans-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-weight:600;font-style:normal;font-display:swap;src:url(fonts/ibm-plex-sans-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-weight:400;font-style:normal;font-display:swap;src:url(fonts/ibm-plex-mono-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-weight:500;font-style:normal;font-display:swap;src:url(fonts/ibm-plex-mono-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Source Serif 4';font-weight:400;font-style:normal;font-display:swap;src:url(fonts/source-serif-4-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Source Serif 4';font-weight:400;font-style:italic;font-display:swap;src:url(fonts/source-serif-4-latin-400-italic.woff2) format('woff2')}
@font-face{font-family:'Source Serif 4';font-weight:600;font-style:normal;font-display:swap;src:url(fonts/source-serif-4-latin-600-normal.woff2) format('woff2')}
/* SCILS brand: deep navy (#0b2f5b) and maroon (#7a1f2b) from the SCILS mark, cool grey paper. Two firms keep two inks: MGT blue, MIS copper. */
:root{
  --bg:#eef1f6; --surface:#fbfcfe; --surface2:#e4e9f1; --ink:#14233a; --ink2:#4b5a70; --line:#cfd6e2;
  --accent:#0b2f5b; --accent2:#082445; --accent-soft:#d9e4f3; --on-accent:#ffffff;
  --brand2:#7a1f2b; --brand2-soft:#f1dadd;
  --warn:#8f5400; --warn-soft:#f6e6c6; --bad:#a3302e; --bad-soft:#f6dad7; --ok:#24703a; --ok-soft:#d5ebd9;
  --mgt:#2a5f93; --mgt-soft:#d8e5f2; --mis:#98441b; --mis-soft:#f4dfd1;
  --rail:#0a2542; --rail-ink:#dce6f3; --rail-dim:#8ea6c4; --rail-on:#143a68;
  --paper:#fffefb; --shadow:0 1px 0 rgba(20,35,58,.04), 0 6px 18px -10px rgba(20,35,58,.28);
  --f-ui:'IBM Plex Sans','PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans CJK SC','Noto Sans SC',system-ui,sans-serif;
  --f-doc:'Source Serif 4','Songti SC','STSong','SimSun','Noto Serif CJK SC','Noto Serif SC',Georgia,serif;
  --f-mono:'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --bg:#0a1424; --surface:#111f35; --surface2:#182a45; --ink:#e6edf7; --ink2:#a0b1c8; --line:#25395a;
  --accent:#7fa8de; --accent2:#a9c6ec; --accent-soft:#16304f; --on-accent:#06182e;
  --brand2:#e08a96; --brand2-soft:#3a1a20;
  --warn:#e6b45a; --warn-soft:#3a2d12; --bad:#f08a84; --bad-soft:#3e1b1a; --ok:#78d18c; --ok-soft:#173223;
  --mgt:#8fb7e6; --mgt-soft:#1a2c40; --mis:#f0a177; --mis-soft:#3a2314;
  --rail:#07101e; --rail-ink:#dce6f3; --rail-dim:#7f97b6; --rail-on:#102a4a; --paper:#14233a;
  --shadow:0 1px 0 rgba(0,0,0,.3), 0 8px 20px -12px rgba(0,0,0,.6); color-scheme:dark;
}}
:root[data-theme="dark"]{
  --bg:#0a1424; --surface:#111f35; --surface2:#182a45; --ink:#e6edf7; --ink2:#a0b1c8; --line:#25395a;
  --accent:#7fa8de; --accent2:#a9c6ec; --accent-soft:#16304f; --on-accent:#06182e;
  --brand2:#e08a96; --brand2-soft:#3a1a20;
  --warn:#e6b45a; --warn-soft:#3a2d12; --bad:#f08a84; --bad-soft:#3e1b1a; --ok:#78d18c; --ok-soft:#173223;
  --mgt:#8fb7e6; --mgt-soft:#1a2c40; --mis:#f0a177; --mis-soft:#3a2314;
  --rail:#07101e; --rail-ink:#dce6f3; --rail-dim:#7f97b6; --rail-on:#102a4a; --paper:#14233a;
  --shadow:0 1px 0 rgba(0,0,0,.3), 0 8px 20px -12px rgba(0,0,0,.6); color-scheme:dark;
}
*{box-sizing:border-box}
html,body{height:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--f-ui);font-size:15px;line-height:1.5;margin:0}
#root{min-height:100%}
h1,h2,h3,h4{margin:0 0 .35em;line-height:1.2;text-wrap:balance}
h1{font-family:var(--f-doc);font-size:clamp(1.7rem,3.2vw,2.5rem);font-weight:600;letter-spacing:-.01em}
h2{font-size:1.25rem;font-weight:600}h3{font-size:1.05rem;font-weight:600}h4{font-size:.95rem;font-weight:600}
p{margin:.4em 0}
a{color:var(--accent)}
.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.muted{color:var(--ink2)}.sm{font-size:.85rem}.center{text-align:center}.mt{margin-top:12px}
.eyebrow{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink2)}
.zh{font-family:var(--f-ui)}
.bad{color:var(--bad)}
.stack{display:flex;flex-direction:column;gap:16px;min-width:0}
.row{display:flex;align-items:center;min-width:0}.row.gap{gap:10px}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:820px){.grid2,.grid3{grid-template-columns:minmax(0,1fr)}}
.center-screen{min-height:100vh;display:grid;place-items:center;padding:24px;text-align:center}

/* shell */
.shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}
.rail{background:var(--rail);color:var(--rail-ink);padding:18px 14px;display:flex;flex-direction:column;gap:18px;position:sticky;top:0;height:100vh;overflow:auto}
.brand{display:flex;gap:10px;align-items:center}
.brand strong{display:block;font-size:.95rem;line-height:1.15}
.brand .sub{display:block;font-size:.75rem;color:var(--rail-dim);line-height:1.25;margin-top:2px}
.mark{width:26px;height:26px;border-radius:5px;flex:none;background:linear-gradient(135deg,var(--mgt) 0 50%,var(--mis) 50% 100%);box-shadow:inset 0 0 0 2px rgba(255,255,255,.55)}
.rail nav{display:flex;flex-direction:column;gap:2px}
.navbtn{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:7px;color:var(--rail-ink);font-size:.93rem}
.navbtn small{display:block;font-size:.72rem;color:var(--rail-dim)}
.navbtn:hover{background:rgba(255,255,255,.06)}
.navbtn.on{background:var(--rail-on);box-shadow:inset 3px 0 0 var(--accent2)}
.navbtn:focus-visible,.btn:focus-visible,.tab:focus-visible,.person:focus-visible,.chipbtn:focus-visible,.cellbtn:focus-visible,.input:focus-visible,.listrow:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.navdot{width:6px;height:6px;border-radius:50%;background:var(--rail-dim);flex:none}
.navbtn.on .navdot{background:var(--accent2)}
.railfoot{margin-top:auto}.me{font-size:.85rem;display:flex;flex-direction:column;gap:6px}
.main{min-width:0;padding-inline:clamp(16px,3vw,36px);padding-block:14px 48px}
.topline{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-bottom:12px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.content{max-width:1180px;margin:0 auto;animation:rise .25s ease-out}
@keyframes rise{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.content{animation:none}}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px clamp(16px,3vw,36px);background:var(--rail);color:var(--rail-ink);flex-wrap:wrap}
@media (max-width:860px){
  .shell{grid-template-columns:minmax(0,1fr)}
  .rail{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;height:auto;flex-direction:row;align-items:center;padding:8px 10px;gap:8px;overflow-x:auto}
  .rail .brand .sub,.railfoot{display:none}.rail nav{flex-direction:row}.navbtn{white-space:nowrap;padding:8px 10px}.navdot{display:none}.navbtn.on{box-shadow:inset 0 -3px 0 var(--accent2)}
  .brand div{display:none}
}

/* controls */
.btn{font:inherit;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border-radius:7px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;min-height:38px}
.btn:hover:not(:disabled){border-color:var(--accent)}
.btn.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.btn.primary:hover:not(:disabled){background:var(--accent2);border-color:var(--accent2)}
.btn.ghost{background:transparent;border-color:transparent;color:var(--ink2)}
.btn.ghost:hover:not(:disabled){color:var(--ink);background:var(--surface2)}
.btn.sm{min-height:30px;padding:3px 9px;font-size:.85rem}.btn.wide{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}
.btn.armed{background:var(--bad);border-color:var(--bad);color:#fff}
.input{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:8px 10px;width:100%;min-width:0}
textarea.input{resize:vertical;line-height:1.5}
.input.short{width:auto;min-width:90px}.input.num{text-align:right;font-family:var(--f-mono);min-width:72px}
.input.mono{font-family:var(--f-mono);font-size:.85rem}
.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field.grow{flex:1}
.flabel{font-size:.8rem;font-weight:600;color:var(--ink2)}.fhint{font-size:.8rem;color:var(--ink2)}
.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:99px;font-size:.78rem;font-weight:500;background:var(--surface2);color:var(--ink);border:1px solid var(--line);white-space:nowrap}
.chip.ok{background:var(--ok-soft);color:var(--ok);border-color:transparent}.chip.warn{background:var(--warn-soft);color:var(--warn);border-color:transparent}.chip.bad{background:var(--bad-soft);color:var(--bad);border-color:transparent}
.chip.sec.mgt{background:var(--mgt-soft);color:var(--mgt);border-color:transparent}.chip.sec.mis{background:var(--mis-soft);color:var(--mis);border-color:transparent}
.chipbtn{font:inherit;font-family:var(--f-mono);font-size:.82rem;padding:3px 9px;border-radius:6px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer}
.chipbtn.on{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.note{padding:10px 14px;border-radius:8px;background:var(--accent-soft);border:1px solid transparent;font-size:.92rem}
.note.warn{background:var(--warn-soft);color:var(--warn)}.note.bad{background:var(--bad-soft);color:var(--bad)}.note.ok{background:var(--ok-soft);color:var(--ok)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px 18px;box-shadow:var(--shadow);min-width:0}
.empty{padding:22px;border:1px dashed var(--line);border-radius:10px;color:var(--ink2);text-align:center}
.spin{display:inline-block;width:18px;height:18px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:sp .8s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);overflow-x:auto;flex-wrap:nowrap}
.tab{font:inherit;background:none;border:0;border-bottom:3px solid transparent;padding:9px 14px;color:var(--ink2);cursor:pointer;white-space:nowrap;margin-bottom:-1px}
.tab.on{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}
.badge{margin-left:6px;background:var(--accent);color:var(--on-accent);border-radius:99px;font-size:.7rem;padding:1px 6px}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:7px;overflow:hidden;background:var(--surface)}
.seg button{font:inherit;font-size:.83rem;padding:5px 11px;border:0;background:transparent;color:var(--ink2);cursor:pointer}
.seg button.on{background:var(--accent);color:var(--on-accent)}
.langseg{background:transparent}

/* login */
.login{min-height:calc(100vh - 70px);display:grid;place-items:center;padding:24px 16px}
.login-card{width:min(460px,100%);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:28px;box-shadow:var(--shadow)}
.lead{color:var(--ink2)}
.codeinput{font-family:var(--f-mono);font-size:1.3rem;letter-spacing:.2em;text-transform:uppercase;text-align:center;padding:12px}
.who{font-family:var(--f-doc);font-size:1.7rem;font-weight:600;margin:6px 0 10px}

/* home */
.hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:20px;align-items:stretch}
@media (max-width:820px){.hero{grid-template-columns:minmax(0,1fr)}}
.hero>div:first-child{padding:6px 0}
.nextbox{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px;box-shadow:var(--shadow);border-top:4px solid var(--accent)}
.nextname{font-weight:600;font-size:1.05rem;margin-top:4px}
.bigcd{font-size:2rem;margin:6px 0}.cd.late{color:var(--bad)}
.runlist{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column}
.runlist li{display:grid;grid-template-columns:104px minmax(0,1fr);gap:10px;padding:7px 8px;border-bottom:1px solid var(--line);font-size:.9rem}
.runlist li.cur{background:var(--accent-soft);border-radius:6px;font-weight:500}
.runlist li.past{color:var(--ink2)}
.runlist .t{color:var(--ink2);font-size:.82rem;padding-top:1px}
.list{list-style:none;margin:0;padding:0}
.listrow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 4px;border-bottom:1px solid var(--line);cursor:pointer}
.ann{padding:10px 0;border-bottom:1px solid var(--line)}.ann:last-child{border:0}

/* documents */
.paper{background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:clamp(18px,4vw,44px);margin-top:12px;box-shadow:var(--shadow);max-width:860px}
.doc{font-family:var(--f-doc);font-size:1.02rem;line-height:1.62}
.doc p{margin:.7em 0}.doc h3{font-size:1.1rem;margin:1.3em 0 .3em;font-family:var(--f-ui);letter-spacing:.01em}
.doc h2,.doc h4{font-family:var(--f-ui)}
.doc ul,.doc ol{padding-left:1.3em}
.doc em{color:var(--ink2)}
.tblwrap{overflow-x:auto;max-width:100%}
table{border-collapse:collapse;width:100%;font-size:.9rem}
th,td{text-align:left;padding:7px 10px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink2);font-weight:600;white-space:nowrap}
.doc table{font-family:var(--f-ui);font-size:.85rem;margin:.8em 0}.doc td.k{font-weight:600;white-space:nowrap}
.bichunk{border-bottom:1px solid var(--line);padding-bottom:6px;margin-bottom:6px}
.zhblock{border-left:3px solid var(--accent);padding-left:14px;color:var(--ink)}
.zhblock .doc{font-family:var(--f-doc)}

/* interviews and chat */
.split{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;align-items:start}
@media (max-width:820px){.split{grid-template-columns:minmax(0,1fr)}}
.people{display:flex;flex-direction:column;gap:6px}
.person{all:unset;box-sizing:border-box;cursor:pointer;display:flex;gap:10px;align-items:center;padding:8px 10px;border-radius:9px;border:1px solid var(--line);background:var(--surface);font-size:.9rem}
.person.on{border-color:var(--accent);background:var(--accent-soft)}
.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--on-accent);font-weight:600;font-size:.8rem;flex:none}
.avatar.t{background:var(--surface2);color:var(--ink);font-family:var(--f-doc)}
.chatpane{min-width:0}
.chat{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden}
.chatlog{padding:16px;display:flex;flex-direction:column;gap:10px;min-height:280px;max-height:58vh;overflow:auto}
.chatlog.readonly{border:1px solid var(--line);border-radius:10px;max-height:50vh}
.chatintro{color:var(--ink2);font-size:.92rem;padding:12px;border:1px dashed var(--line);border-radius:10px}
.msg{display:flex}.msg.u{justify-content:flex-end}
.bubble{max-width:82%;padding:9px 13px;border-radius:12px;white-space:pre-wrap;overflow-wrap:anywhere}
.msg.a .bubble{background:var(--surface2);border-bottom-left-radius:3px}.msg.u .bubble{background:var(--accent);color:var(--on-accent);border-bottom-right-radius:3px}
.msg.err{color:var(--bad);font-size:.88rem}
.composer{display:flex;gap:10px;padding:10px;border-top:1px solid var(--line);align-items:flex-end}
.composer .input{flex:1}.composer-btns{display:flex;flex-direction:column;gap:4px}

/* workroom */
.deliv.locked{opacity:.65}
.feedback{margin-top:12px;padding:10px 12px;background:var(--accent-soft);border-radius:8px}
.dims{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}.dim{display:flex;gap:6px;font-size:.85rem}
.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}
@media (max-width:980px){.editor-grid{grid-template-columns:minmax(0,1fr)}}
.sticky{position:sticky;top:12px}@media (max-width:980px){.sticky{position:static}}
.area{margin:8px 0;font-family:var(--f-doc);font-size:1rem;line-height:1.55}
.blufbox{border-left:4px solid var(--accent)}
.meter{height:8px;background:var(--surface2);border-radius:99px;overflow:hidden;margin:10px 0 6px}
.meter i{display:block;height:100%;background:var(--warn);border-radius:99px;transition:width .3s}.meter i.good{background:var(--ok)}.meter i.over{background:var(--bad)}
.checks{list-style:none;padding:0;margin:10px 0;display:flex;flex-direction:column;gap:5px;font-size:.88rem}
.checks li{display:flex;gap:8px;color:var(--ink2)}.checks li.ok{color:var(--ok)}
.plain{padding-left:1.1em;margin:6px 0}.plain.big li{margin:.5em 0}
.pf ul{margin:.2em 0 .6em;padding-left:1.1em}
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media (max-width:820px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tile{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.tile span{font-size:.78rem;color:var(--ink2)}.tile b{font-size:1.5rem}.tile i{font-size:.75rem;color:var(--ink2);font-style:normal}
.tile.bad{border-color:var(--bad);background:var(--bad-soft)}
.kv{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px solid var(--line);font-size:.9rem}
table.edit td{padding:4px 4px}table.edit .input{padding:6px 8px;font-size:.88rem}table.edit.wide{min-width:980px}table.edit{min-width:640px}
.tradeoff .field{margin-top:6px}

/* board room */
.clock{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:16px;text-align:center;display:flex;flex-direction:column;gap:6px;align-items:center}
.bigclock{font-size:3.2rem;line-height:1;font-weight:500}
.clockmsg{min-height:1.4em;font-weight:600}
.clock.signal{border-color:var(--warn);background:var(--warn-soft);color:var(--warn)}.clock.stop,.clockcard.stop{border-color:var(--bad);background:var(--bad-soft);color:var(--bad)}
.clockcard.signal{border-color:var(--warn);background:var(--warn-soft);color:var(--warn)}
.peerrow{padding:10px 0;border-bottom:1px solid var(--line)}

/* admin */
.switchrow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.switchrow:last-of-type{border:0}
.cellbtn{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:1px;min-width:92px;padding:5px 9px;border-radius:7px;border:1px solid var(--line);background:var(--surface);font-size:.8rem;position:relative}
.cellbtn b{font-family:var(--f-mono);font-size:.82rem}.cellbtn.ok{background:var(--ok-soft);border-color:transparent;color:var(--ok)}.cellbtn.late{background:var(--bad-soft);border-color:transparent;color:var(--bad)}.cellbtn.draft{background:var(--warn-soft);border-color:transparent;color:var(--warn)}
.scorebadge{position:absolute;right:6px;top:5px;font-style:normal;font-family:var(--f-mono);font-size:.75rem;background:var(--ink);color:var(--bg);border-radius:4px;padding:0 5px}
.modal{position:fixed;inset:0;background:rgba(5,12,10,.6);display:flex;align-items:flex-start;justify-content:center;padding:max(16px,env(safe-area-inset-top,0px)) 16px 16px;overflow:auto;z-index:50}
.modalbox{background:var(--bg);border-radius:12px;padding:20px;width:min(1180px,100%);border:1px solid var(--line)}
.modalgrid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px;margin-top:12px;align-items:start}
@media (max-width:900px){.modalgrid{grid-template-columns:minmax(0,1fr)}}
.dimrow{padding:8px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:5px}
.pre{white-space:pre-wrap;font-family:var(--f-doc);line-height:1.55;overflow-wrap:anywhere}.pre.trans{margin-top:8px;padding-top:8px;border-top:1px dashed var(--line);color:var(--ink2)}
.keybox{background:var(--warn-soft)}
.keybox td{font-size:.85rem}
.big{font-size:1.6rem}
.attgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px}
.att{display:flex;gap:6px;align-items:center;padding:5px 9px;border:1px solid var(--line);border-radius:7px;background:var(--surface);font-size:.86rem;cursor:pointer}.att.on{background:var(--ok-soft);border-color:transparent}
.usebar{display:grid;grid-template-columns:34px minmax(0,1fr) 110px;gap:10px;align-items:center;padding:4px 0}
.bar{display:flex;height:12px;background:var(--surface2);border-radius:99px;overflow:hidden}.bar i{display:block;height:100%}.bar .c{background:var(--accent)}.bar .t{background:var(--mgt)}.bar .b{background:var(--mis)}
.toasts{position:fixed;bottom:calc(16px + env(safe-area-inset-bottom,0px));right:16px;display:flex;flex-direction:column;gap:8px;z-index:90;max-width:min(360px,calc(100vw - 32px))}
.toast{background:var(--ink);color:var(--bg);padding:10px 14px;border-radius:8px;font-size:.9rem;box-shadow:var(--shadow)}.toast.bad{background:var(--bad);color:#fff}
details summary{cursor:pointer;font-weight:600}

.blufbox .chip{white-space:normal;text-align:left}

/* ---- SCILS branding additions ---- */
.mark-img{width:34px;height:34px;flex:none;border-radius:50%}
.navbtn.on{box-shadow:inset 3px 0 0 var(--brand2)}
.railfoot{margin-top:auto;display:flex;flex-direction:column;gap:10px}
.signout{align-self:flex-start;color:var(--rail-ink);border-color:var(--rail-on)}
.eyebrow.brand{color:var(--brand2)}
.gate{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.gate-hero{background:linear-gradient(160deg,#0a2542 0%,#0b2f5b 60%,#133e72 100%);color:#e8eef8;padding:clamp(24px,5vw,64px);display:flex;flex-direction:column;justify-content:center;gap:14px}
.gate-hero h1{color:#fff;margin:6px 0 0}
.gate-logo{width:min(360px,80%);height:auto;border-radius:14px;box-shadow:0 10px 30px -12px rgba(0,0,0,.5)}
.gate-tag{font-family:var(--f-mono);font-size:.78rem;letter-spacing:.2em;color:#f0b8c0;margin-top:10px}
.gate-sub{color:#b9c9e0;margin:0}
.gate-points{margin:14px 0 0;padding-left:18px;color:#cfdcee;display:grid;gap:6px}
.gate-card{padding:clamp(20px,4vw,56px);display:flex;flex-direction:column;justify-content:center;gap:14px;max-width:520px;width:100%;margin:0 auto}
.gate-seg{align-self:flex-start}
.gate-card .lead{color:var(--ink2)}
@media (max-width:820px){.gate{grid-template-columns:minmax(0,1fr)}.gate-hero{padding:24px 16px}.gate-card{padding:20px 16px}}
.chip.brand{background:var(--brand2-soft);color:var(--brand2)}
.focushead{display:flex;gap:8px;align-items:center}

/* ---- studio */
.cards3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.cols2{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.chipbtn.st-ok{border-color:var(--ok,#2f7d4f)}.chipbtn.st-warn{border-color:var(--maroon,#7a1f2b)}
.convo{display:flex;flex-direction:column;gap:10px;max-height:340px;overflow:auto;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface2)}
.msg{max-width:85%;padding:8px 12px;border-radius:10px;background:var(--surface);border:1px solid var(--line)}
.msg.u{align-self:flex-end;background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.msg .who{font-size:.72rem;opacity:.75;margin-bottom:2px}
.statgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.stat .bar{height:6px;border-radius:3px;background:var(--line);overflow:hidden;margin-top:4px}.stat .bar>div{height:100%;background:var(--accent)}
.turn{padding:8px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:3px}.turn.flagged{border-left:3px solid var(--maroon,#7a1f2b);padding-left:10px}
.printhead{display:none}
@media print{
  body.printing .rail,body.printing .topline,body.printing .tabs,body.printing .noprint,body.printing .toasts{display:none!important}
  body.printing .shell{display:block}
  body.printing .printhead{display:flex;gap:16px;align-items:center;border-bottom:2px solid #7a1f2b;padding-bottom:10px;margin-bottom:12px}
  body.printing .printhead img{height:46px}
  body.printing{background:#fff;color:#111}
}
