:root{--black:#07120C;--chrome:#1F3B2C;--moss:#7FBF6A;--pale:#D9E8C2;--amber:#E8A33D;--rust:#B5603A;--dim:#6E9A6B;--bar:30px;--cmd:42px}
*{box-sizing:border-box}
html,body{margin:0;padding:0;max-width:100%}
body{background:var(--black);color:var(--moss);font:400 13px/1.45 'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums;overflow-x:hidden;padding-bottom:var(--cmd);-webkit-font-smoothing:antialiased}
body::before{content:'';position:fixed;inset:0;background:url(texture-phosphor.jpg) center/cover no-repeat;opacity:.14;pointer-events:none;z-index:0}
body::after{content:'';position:fixed;inset:0;z-index:900;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(0,0,0,.26) 0 1px,rgba(0,0,0,0) 1px 3px),radial-gradient(120% 90% at 50% 45%,rgba(0,0,0,0) 56%,rgba(0,0,0,.55) 100%)}
img{max-width:100%;display:block}
button,input{font:inherit;color:inherit}
a{color:var(--pale);text-decoration:none;border-bottom:1px solid var(--chrome)}
a:hover{color:var(--amber);border-color:var(--amber)}
.dim{color:var(--dim)}
.amb{color:var(--amber)}
.small{font-size:11px}
.hide-s{display:none}

.desktop{position:relative;z-index:1}
.desktop::before{content:'';position:absolute;inset:0;background:url(hero.jpg) center/cover no-repeat;opacity:.26;pointer-events:none;z-index:0}
.sysbar,.tiles{position:relative;z-index:1}

.sysbar{display:grid;grid-template-columns:1fr auto;grid-template-areas:'id act' 'clock clock';align-items:center;gap:0 8px;border-bottom:1px solid var(--chrome);background:rgba(7,18,12,.96);padding:0 8px;position:sticky;top:0;z-index:50}
.sb{display:flex;align-items:center;gap:8px;min-height:var(--bar)}
.sb-id{grid-area:id}
.sb-clock{grid-area:clock;justify-content:flex-start;border-top:1px solid var(--chrome);gap:8px}
.sb-act{grid-area:act;justify-content:flex-end}
.sb-clock .lbl{font-size:10px;letter-spacing:.12em;color:var(--dim)}
.mark{width:16px;height:16px;image-rendering:pixelated}
.brand{font-family:'Krona One',sans-serif;font-size:12px;letter-spacing:.14em;color:var(--pale)}
#clock{color:var(--amber);letter-spacing:.06em;font-weight:700;font-size:13px}
.sysbar.alert{background:rgba(232,163,61,.14)}
.sysbar.alert #clock{color:#07120C;background:var(--amber);padding:0 4px}

.btn{background:transparent;border:1px solid var(--chrome);color:var(--pale);padding:6px 10px;cursor:pointer;letter-spacing:.04em;min-height:30px}
.btn:hover{border-color:var(--moss);color:var(--amber)}
.btn.amber{background:var(--amber);border-color:var(--amber);color:#07120C;font-weight:700}
.btn.amber:hover{background:var(--pale);border-color:var(--pale);color:#07120C}
.btn[disabled],.mini[disabled]{opacity:.45;cursor:not-allowed}
.mini{background:transparent;border:0;color:var(--moss);cursor:pointer;font-size:11px;padding:4px 2px}
.mini:hover{color:var(--amber)}

.tiles{display:flex;flex-direction:column;gap:1px;background:var(--chrome);border-bottom:1px solid var(--chrome)}
.col{display:contents}
#win-payslip{order:1}#win-clock{order:2}#win-ledger{order:3}#win-log{order:4}
.win{background:rgba(7,18,12,.93);display:flex;flex-direction:column;min-width:0;scroll-margin-top:72px}
.win.focus{outline:1px solid var(--amber);outline-offset:-1px}
.tb{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 9px;border-bottom:1px solid var(--chrome);background:#0C1D14;font-family:'Krona One',sans-serif;font-size:10px;letter-spacing:.1em;color:var(--pale);text-transform:uppercase}
.win.focus>.tb{background:var(--chrome)}
.tb.sub{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.02em;color:var(--dim);background:transparent;text-transform:none}
.wc{color:#4a7a58;letter-spacing:.2em;flex:none}
.tb.head{padding:12px 10px;display:block;background:#0C1D14}
.tb.head h1{margin:0;font-family:'Krona One',sans-serif;font-size:clamp(22px,7vw,36px);line-height:1.14;letter-spacing:.01em;color:var(--pale);overflow-wrap:normal;word-break:keep-all;hyphens:none}
.winbody{padding:10px;overflow:auto;flex:1 1 auto;min-height:0}
.winfoot{display:flex;gap:1px;border-top:1px solid var(--chrome);background:var(--chrome);flex:none}
.winfoot input{flex:1;min-width:0;background:var(--black);border:0;padding:10px;color:var(--pale);font-size:16px}
.winfoot input:focus{outline:1px solid var(--moss);outline-offset:-1px}
.winfoot .btn{border:0;min-height:42px}
.msg{margin:0;padding:7px 10px;font-size:11px;color:var(--dim);border-top:1px solid var(--chrome);overflow-wrap:anywhere;flex:none}
.msg.err{color:var(--rust)}
.msg.ok{color:var(--amber)}

.lhead,.lrow{display:grid;grid-template-columns:2.4ch 8ch 1fr auto;gap:7px;align-items:baseline}
.lhead{font-size:10px;letter-spacing:.08em;color:var(--dim);border-bottom:1px solid var(--chrome);padding-bottom:5px;margin-bottom:5px}
.lrow{padding:3px 0;font-size:11.5px;border-bottom:1px dotted rgba(31,59,44,.8);cursor:pointer}
.lrow:hover{background:rgba(127,191,106,.07)}
.lrow .w{color:var(--pale)}
.lrow .amt{text-align:right;color:var(--pale)}
.lrow .amt.part{color:var(--rust)}
.lrow .clk{color:var(--moss);overflow:hidden;white-space:nowrap}
.lrow.me{background:rgba(232,163,61,.12)}
.lrow.me .w{color:var(--amber)}
.empty{margin:10px 0 0;font-size:11px}
.empty p{margin:8px 0 0;color:var(--moss)}
.empty .dim{color:var(--dim)}
.empty .card{margin:0;font-size:11px;line-height:1.25;color:var(--moss);overflow:hidden}

.ckbody{display:flex;gap:10px;align-items:flex-start}
.sprite{width:52px;height:52px;flex:none;image-rendering:pixelated;border:1px solid var(--chrome);object-fit:cover}
.ck{flex:1;min-width:0}
.ckrow{display:flex;justify-content:space-between;gap:8px;align-items:baseline;padding:2px 0;font-size:11.5px}
.ckrow .k{font-size:10px;letter-spacing:.08em;color:var(--dim)}
.ckrow b{font-weight:400;color:var(--pale)}
.ckbar{display:block;margin:6px 0;color:var(--moss);font-size:12px;letter-spacing:-.4px;white-space:nowrap;overflow:hidden}

.lede{margin:0 0 12px;font-size:12px;color:var(--moss);max-width:62ch}
.slip{border-top:1px solid var(--chrome);padding-top:8px}
.srow{display:flex;align-items:baseline;padding:2.5px 0}
.srow .k{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:var(--moss)}
.srow .lead{flex:1;border-bottom:1px dotted var(--chrome);margin:0 7px;transform:translateY(-4px);min-width:10px}
.srow .v{font-size:12px;color:var(--pale);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}
.srow.print{animation:print .18s steps(2) both}
@keyframes print{from{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:none}}
.net{display:flex;justify-content:space-between;gap:10px;margin-top:10px;padding:8px 0;border-top:1px solid var(--chrome);border-bottom:3px double var(--chrome);font-family:'Krona One',sans-serif;font-size:11px;letter-spacing:.1em;color:var(--pale)}
.net span:last-child{color:var(--amber);font-family:'JetBrains Mono',monospace;letter-spacing:0;font-size:13px}
.note{margin:6px 0 0;font-size:10.5px;color:var(--dim)}
.proof{margin-top:16px;border-top:3px double var(--chrome);padding-top:10px;text-align:right}
.proof .lbl{font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--pale)}
.proof .big{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:clamp(32px,6.6vw,58px);line-height:1.04;color:var(--amber);white-space:nowrap;overflow:hidden}
.proof .small{margin-top:4px}

.log{font-size:11px;line-height:1.5;height:230px;background:rgba(0,0,0,.28)}
.lg{display:flex;gap:7px;overflow-wrap:anywhere;padding:1px 0}
.lg .t{color:#4d7f57;flex:none}
.lg .k{color:var(--moss);flex:none;width:6ch}
.lg .m{color:var(--pale)}
.lg.run .k,.lg.run .m{color:var(--amber)}
.lg.burn .k,.lg.burn .m{color:var(--rust)}
.cursor{display:inline-block;width:8px;height:13px;background:var(--moss);vertical-align:-2px;animation:blink 1.06s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.logfoot{align-items:center;gap:8px;padding:7px 9px;background:var(--black);font-size:11px}
.logfoot .k{font-size:10px;letter-spacing:.08em;color:var(--dim);flex:none}
.logfoot code{flex:1;min-width:0;color:var(--moss);letter-spacing:-.4px;overflow:hidden;white-space:nowrap}

.stack{display:grid;grid-template-columns:1fr;gap:1px;background:var(--chrome);border-bottom:1px solid var(--chrome);position:relative;z-index:1}
.ca{display:flex;align-items:center;gap:8px;border:1px solid var(--chrome);padding:7px 9px;flex-wrap:wrap}
.ca .k,.stats .k,.mkt .k{font-size:10px;letter-spacing:.09em;color:var(--dim)}
.ca code{color:var(--amber);font-size:12px;overflow-wrap:anywhere}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--chrome);border:1px solid var(--chrome);border-top:0;margin-bottom:10px}
.stats div{background:var(--black);padding:8px 9px;display:flex;flex-direction:column;gap:3px}
.stats b{font-weight:400;color:var(--pale);font-size:14px}
.prog{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}
.prog code{color:var(--moss);font-size:12px;letter-spacing:-.5px;overflow:hidden;white-space:nowrap}
.widget{border:1px solid var(--chrome)}
.tabs{display:flex;gap:1px;background:var(--chrome);border-bottom:1px solid var(--chrome)}
.tab{flex:1;background:var(--black);border:0;padding:9px;color:var(--dim);cursor:pointer;font-size:11px;letter-spacing:.1em}
.tab.on{color:var(--amber);background:#0C1D14}
.trade{display:flex;gap:1px;background:var(--chrome);flex-wrap:wrap}
.trade input{flex:1;min-width:120px;background:var(--black);border:0;padding:11px;color:var(--pale);font-size:16px}
.trade input:focus{outline:1px solid var(--moss);outline-offset:-1px}
.unit{background:var(--black);padding:11px 9px;color:var(--dim);font-size:11px}
.trade .btn{border:0;min-height:44px}
.quote{padding:8px 9px;font-size:11px;color:var(--moss);border-top:1px solid var(--chrome);overflow-wrap:anywhere}
.mkt{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;margin-top:10px;border-top:1px solid var(--chrome);padding-top:9px}
.mkt b{font-weight:400;color:var(--pale)}

.jobs{display:flex;flex-direction:column;border-top:1px solid var(--chrome)}
.job{display:grid;grid-template-columns:5ch 1fr auto;gap:8px;padding:7px 0;border-bottom:1px dotted rgba(31,59,44,.8);align-items:baseline;font-size:11.5px}
.job .id{color:var(--dim)}
.job .d{color:var(--pale);overflow-wrap:anywhere}
.job .st{font-size:10px;letter-spacing:.08em;color:var(--moss);white-space:nowrap}
.job .st.dep{color:var(--rust)}
.job .st.live{color:var(--amber)}
.loop{font-family:'Krona One',sans-serif;font-size:clamp(13px,3.4vw,18px);line-height:1.35;letter-spacing:.03em;color:var(--amber);margin:14px 0}
.plate{margin:0;border:1px solid var(--chrome)}
.plate img{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:center}
.plate.wide img{aspect-ratio:21/9}
.plate.og img{aspect-ratio:16/9}
.plate figcaption{padding:5px 8px;border-top:1px solid var(--chrome)}
.plates{display:grid;gap:10px}
.xs{display:flex;flex-direction:column;margin:9px 0}
.xrow{display:flex;align-items:baseline;padding:5px 0;border-bottom:1px dotted rgba(31,59,44,.8);font-size:12px}
.xrow .s{color:var(--pale);width:9ch}
.xrow .lead{flex:1;border-bottom:1px dotted var(--chrome);margin:0 7px;transform:translateY(-4px)}
.xrow .q{color:var(--amber);white-space:nowrap}
.foot{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-start}
.foot p{margin:0 0 6px;max-width:52ch}
.links{display:flex;gap:12px;flex-wrap:wrap;font-size:11px}
.links a,.links button{border:0;color:var(--moss)}
.links a:hover{color:var(--amber)}

.cmdbar{position:fixed;left:0;right:0;bottom:0;height:var(--cmd);display:flex;align-items:center;gap:8px;padding:0 9px;background:#07120C;border-top:1px solid var(--chrome);z-index:100}
.prompt{color:var(--amber);font-size:11.5px;flex:none}
#cmd{flex:1;min-width:0;background:transparent;border:0;color:var(--pale);caret-color:var(--amber);padding:6px 0;font-size:16px}
#cmd:focus{outline:0}
.hint{font-size:10.5px;flex:none}

@media (min-width:760px){
  .hide-s{display:inline}
  .sysbar{grid-template-columns:1fr auto 1fr;grid-template-areas:'id clock act';padding:0 10px}
  .sb-clock{justify-content:center;border-top:0}
  .stats{grid-template-columns:repeat(4,1fr)}
  .stack{grid-template-columns:3fr 2fr}
  .span2{grid-column:1/-1}
  .plates{grid-template-columns:3fr 2fr;align-items:start}
  #cmd,.trade input,.winfoot input{font-size:13px}
}
@media (min-width:1080px){
  .tiles{display:grid;grid-template-columns:27fr 46fr 27fr;height:calc(100vh - var(--bar) - var(--cmd));height:calc(100dvh - var(--bar) - var(--cmd));min-height:620px}
  .col{display:flex;flex-direction:column;gap:1px;background:var(--chrome);min-width:0}
  #win-payslip,#win-clock,#win-ledger,#win-log{order:0}
  #win-ledger{flex:1 1 auto;min-height:0}
  #win-clock{flex:none}
  .win{overflow:hidden}
  .log{height:auto}
  .tb.head{padding:16px 14px 14px}
  .winbody{padding:14px}
}
