/* Ctrl+Alt+Tab — CatOS · terminal theme */
:root{
  --bg:#020a04;
  --bg2:#041008;
  --panel:#03140a;
  --line:#0f3d1f;
  --line2:#1b6b36;
  --g:#39ff6a;      /* phosphor green */
  --g2:#1fd957;
  --g3:#0f8a3a;
  --dim:#6fbf86;
  --muted:#4f8a62;
  --amber:#ffc83d;
  --red:#ff5a5a;
  --glow:0 0 10px rgba(57,255,106,.55), 0 0 28px rgba(57,255,106,.25);
  --mono:'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --max:1120px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{
  font-family:var(--mono);
  background:var(--bg);
  color:var(--g);
  line-height:1.6;
  font-size:15px;
  overflow-x:hidden;
  min-height:100vh;
}
::selection{background:var(--g);color:#000}
a{color:inherit}
code{font-family:inherit}
em{font-style:italic;color:#9dffb8}
strong{color:#b6ffc9;font-weight:700}
.muted{color:var(--muted)}
.small{font-size:13px}
.ok{color:var(--g)}

/* CRT overlays */
.crt{
  position:fixed;inset:0;z-index:50;pointer-events:none;
  background:repeating-linear-gradient(0deg, rgba(0,0,0,0) 0 2px, rgba(0,0,0,.22) 3px 4px);
  mix-blend-mode:multiply;opacity:.9;
}
.crt::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(rgba(57,255,106,.04), transparent 50%, rgba(57,255,106,.03));
  animation:flicker 6s infinite steps(1);
}
@keyframes flicker{0%,100%{opacity:1}7%{opacity:.85}9%{opacity:1}52%{opacity:.92}54%{opacity:1}}
.vignette{
  position:fixed;inset:0;z-index:49;pointer-events:none;
  background:radial-gradient(ellipse at center, transparent 55%, rgba(0,0,0,.65) 100%);
}
@media (prefers-reduced-motion:reduce){.crt::after,.cursor,.typed{animation:none!important}}

/* Boot */
.boot{
  position:fixed;inset:0;z-index:100;background:var(--bg);
  display:flex;flex-direction:column;justify-content:flex-start;
  padding:5vh 6vw;transition:opacity .5s ease;
}
.boot.hide{opacity:0;pointer-events:none}
.boot-log{white-space:pre-wrap;font-size:14px;line-height:1.55;color:var(--dim);text-shadow:0 0 6px rgba(57,255,106,.25)}
.boot-log .ok{color:var(--g)}
.boot-log .warn{color:var(--amber)}
.boot-hint{margin-top:auto;color:var(--muted);font-size:12px;letter-spacing:.08em}

/* Top bar */
.topbar{
  position:sticky;top:0;z-index:40;
  display:flex;align-items:center;gap:24px;
  padding:12px 24px;
  background:rgba(2,10,4,.92);backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
.brand{display:inline-flex;align-items:center;gap:4px;text-decoration:none;font-weight:700;letter-spacing:.04em}
.brand .key{
  display:inline-block;padding:2px 8px;border:1px solid var(--line2);border-radius:5px;
  box-shadow:inset 0 -2px 0 var(--line2), var(--glow);font-size:13px;
}
.brand .plus{color:var(--muted);font-size:13px}
.nav{display:flex;gap:18px;margin-left:auto;font-size:13px}
.nav a{color:var(--dim);text-decoration:none;transition:color .15s}
.nav a:hover{color:var(--g);text-shadow:var(--glow)}
.sys{font-size:12px;color:var(--muted);letter-spacing:.06em}
@media (max-width:860px){.nav{display:none}.sys{margin-left:auto}}

/* Layout */
main{max-width:var(--max);margin:0 auto;padding:0 24px}
.section{padding:64px 0;border-top:1px dashed var(--line)}
.h{
  font-size:clamp(18px,2.2vw,24px);font-weight:500;margin-bottom:28px;
  color:#d4ffe0;text-shadow:0 0 12px rgba(57,255,106,.25)
}
.ps1{color:var(--g);font-weight:700}

/* Hero */
.hero{padding:72px 0 56px}
.hero-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:center}
.prompt-line{color:var(--dim);font-size:14px;margin-bottom:18px;min-height:22px}
.typed{color:#d4ffe0}
.cursor{display:inline-block;width:9px;height:17px;background:var(--g);vertical-align:-3px;margin-left:2px;box-shadow:var(--glow);animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.title{display:flex;flex-direction:column;gap:6px;margin-bottom:22px}
.title .t1{
  font-size:clamp(36px,6vw,64px);font-weight:700;line-height:1.05;letter-spacing:-.01em;
  color:#e8ffee;text-shadow:0 0 14px rgba(57,255,106,.6), 0 0 44px rgba(57,255,106,.3)
}
.title .t2{font-size:clamp(16px,2vw,22px);color:var(--dim);font-weight:400}
.lead{max-width:56ch;color:#a6e6b8;font-size:16px;margin-bottom:26px}
.status-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}
.chip{
  display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.08em;
  padding:6px 12px;border:1px solid var(--line);border-radius:4px;background:var(--panel);color:var(--dim)
}
.chip b{color:#d4ffe0}
.dot{width:7px;height:7px;border-radius:50%;background:var(--muted);box-shadow:0 0 8px currentColor}
.dot.ok{background:var(--g);color:var(--g)}
.dot.warn{background:var(--amber);color:var(--amber)}
.dot.idle{background:var(--muted);color:var(--muted)}
.dot.bad{background:var(--red);color:var(--red)}
.cta-row{display:flex;flex-wrap:wrap;gap:12px}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 18px;border:1px solid var(--line2);border-radius:4px;
  background:var(--panel);color:var(--g);text-decoration:none;font:inherit;font-size:14px;
  cursor:pointer;transition:all .15s;white-space:nowrap
}
.btn:hover{border-color:var(--g);box-shadow:var(--glow);background:#062b13}
.btn.primary{background:var(--g);color:#031a0a;border-color:var(--g);font-weight:700;box-shadow:var(--glow)}
.btn.primary:hover{background:#7dffa0}
.btn.sm{padding:6px 12px;font-size:12px}
.btn.wide{width:100%}
.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}

.hero-art{display:flex;justify-content:center}
.monitor{
  position:relative;padding:14px;border:1px solid var(--line2);border-radius:10px;
  background:#000;box-shadow:0 0 0 1px #041a0b, 0 0 60px rgba(57,255,106,.15), inset 0 0 40px rgba(0,0,0,.8);
  max-width:420px;width:100%
}
.monitor img{display:block;width:100%;height:auto;border-radius:6px;filter:saturate(1.1)}
.monitor-label{
  position:absolute;left:14px;bottom:14px;right:14px;
  padding:8px 12px;font-size:12px;letter-spacing:.1em;color:var(--dim);
  background:linear-gradient(transparent, rgba(0,0,0,.85));border-radius:0 0 6px 6px
}
@media (max-width:860px){
  .hero{padding:48px 0 40px}
  .hero-grid{grid-template-columns:1fr;gap:32px}
  .hero-art{order:-1}
  .monitor{max-width:300px}
}

/* Terminal */
.term{
  border:1px solid var(--line2);border-radius:8px;overflow:hidden;background:#010703;
  box-shadow:0 0 0 1px #041a0b, 0 20px 60px rgba(0,0,0,.6), 0 0 40px rgba(57,255,106,.08)
}
.term-bar{
  display:flex;align-items:center;gap:14px;padding:8px 14px;
  background:var(--panel);border-bottom:1px solid var(--line);font-size:12px;color:var(--dim)
}
.tl{display:inline-flex;gap:6px}
.tl i{width:10px;height:10px;border-radius:50%;background:var(--line2);display:block}
.tl i:first-child{background:var(--g3)}
.term-title{flex:1;text-align:center}
.term-size{color:var(--muted)}
.term-body{
  height:380px;overflow-y:auto;padding:16px 18px;font-size:14px;line-height:1.55;
  white-space:pre-wrap;word-break:break-word;color:#bfffd0;outline:none;
  scrollbar-width:thin;scrollbar-color:var(--line2) transparent
}
.term-body .in{color:#d4ffe0}
.term-body .in .ps1{margin-right:8px}
.term-body .err{color:var(--red)}
.term-body .warn{color:var(--amber)}
.term-body .dim{color:var(--muted)}
.term-body .hl{color:#e8ffee;text-shadow:var(--glow)}
.term-body a{color:var(--g)}
.term-input{display:flex;align-items:center;gap:10px;padding:12px 18px;border-top:1px solid var(--line);background:var(--panel)}
.term-input input{
  flex:1;background:transparent;border:0;outline:0;color:#e8ffee;font:inherit;font-size:14px;caret-color:var(--g)
}
.term-input input::placeholder{color:var(--muted)}
.hint{margin-top:12px;color:var(--muted);font-size:13px}
.hint code{color:var(--dim);padding:1px 6px;border:1px solid var(--line);border-radius:3px}

/* Cards */
.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cols-2{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:start}
@media (max-width:900px){.cols{grid-template-columns:1fr}.cols-2{grid-template-columns:1fr}}
.card{
  padding:22px;border:1px solid var(--line);border-radius:6px;background:var(--panel);
  transition:border-color .2s, box-shadow .2s
}
.card:hover{border-color:var(--line2);box-shadow:0 0 24px rgba(57,255,106,.08)}
.card-head{color:#d4ffe0;font-weight:700;margin-bottom:12px}
.card p{color:#a6e6b8;font-size:14px;margin-bottom:10px}
.card p:last-child{margin-bottom:0}

.log{
  padding:18px 20px;border:1px solid var(--line);border-left:3px solid var(--g3);border-radius:4px;
  background:#010703;color:#a6e6b8;font-size:13.5px;line-height:1.6;overflow-x:auto;margin-bottom:28px;
  white-space:pre-wrap
}
.log.small{font-size:12.5px;margin:0}

.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media (max-width:1000px){.grid4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.grid4{grid-template-columns:1fr}}
.feat{padding:20px;border:1px solid var(--line);border-radius:6px;background:var(--panel);position:relative}
.feat-k{
  display:inline-block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--g);
  padding:2px 8px;border:1px solid var(--line2);border-radius:3px;margin-bottom:14px
}
.feat h3{font-size:16px;color:#e8ffee;margin-bottom:8px}
.feat p{font-size:13.5px;color:#a6e6b8}

/* Steps */
.steps{list-style:none;display:flex;flex-direction:column;gap:14px}
.steps li{display:flex;gap:16px;padding:16px 18px;border:1px solid var(--line);border-radius:6px;background:var(--panel)}
.steps .n{color:var(--g);font-weight:700;letter-spacing:.1em;min-width:28px}
.steps b{color:#e8ffee;display:block;margin-bottom:4px}
.steps p{color:#a6e6b8;font-size:13.5px}

.gate{border:1px solid var(--line2);border-radius:8px;background:#010703;overflow:hidden;position:sticky;top:84px}
.gate-head{padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.16em;color:var(--dim)}
.gate-body{padding:16px}
.gate .btn{border-radius:0;border-left:0;border-right:0}
.gate p{padding:12px 16px}
.gate.granted{border-color:var(--g);box-shadow:var(--glow)}
.gate.denied{border-color:var(--red)}

/* Contract */
.contract{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:8px 0}
.contract-row{display:grid;grid-template-columns:110px 1fr auto;gap:14px;align-items:center;padding:12px 22px;border-bottom:1px dashed var(--line)}
.contract-row:last-of-type{border-bottom:0}
.contract .label{color:var(--muted);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.contract .val{color:#e8ffee;word-break:break-all;font-size:15px}
.contract-row.ca .val{font-size:14px;color:#9dffb8;text-shadow:0 0 10px rgba(57,255,106,.25)}
.contract > p{padding:12px 22px 6px;font-size:13px}
.links{display:flex;flex-wrap:wrap;gap:10px;padding:10px 22px 14px}
.links:empty{display:none}
@media (max-width:640px){.contract-row{grid-template-columns:1fr;gap:6px}}

/* Roadmap */
.road{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media (max-width:1000px){.road{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.road{grid-template-columns:1fr}}
.phase{padding:18px;border:1px solid var(--line);border-radius:6px;background:var(--panel)}
.phase .ph{font-weight:700;color:#d4ffe0;margin-bottom:12px}
.phase ul{list-style:none;color:#a6e6b8;font-size:13.5px;display:flex;flex-direction:column;gap:6px}
.phase ul li::before{content:"— ";color:var(--muted)}
.phase.done{opacity:.75}
.phase.done .ph{color:var(--g)}
.phase.now{border-color:var(--g);box-shadow:0 0 24px rgba(57,255,106,.12)}
.phase.now .ph{color:var(--g);text-shadow:var(--glow)}

/* FAQ */
.man{border:1px solid var(--line);border-radius:8px;background:var(--panel);overflow:hidden}
.man details{border-bottom:1px dashed var(--line)}
.man details:last-child{border-bottom:0}
.man summary{
  cursor:pointer;padding:16px 22px;color:#e8ffee;list-style:none;display:flex;gap:12px;align-items:baseline
}
.man summary::before{content:">";color:var(--g);font-weight:700;transition:transform .15s}
.man details[open] summary::before{transform:rotate(90deg)}
.man summary::-webkit-details-marker{display:none}
.man p{padding:0 22px 18px 46px;color:#a6e6b8;font-size:14px}

/* Footer */
.footer{max-width:var(--max);margin:0 auto;padding:40px 24px 60px;border-top:1px dashed var(--line);display:flex;flex-direction:column;gap:12px}
.foot-line{color:var(--dim)}
.foot-meta{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:12px;color:var(--dim)}

/* Flash on summon */
@keyframes summon{0%{box-shadow:0 0 0 rgba(57,255,106,0)}30%{box-shadow:0 0 80px rgba(57,255,106,.5)}100%{box-shadow:0 0 0 rgba(57,255,106,0)}}
.term.summon{animation:summon 1.2s ease}

/* Trench monitor */
.small-lead{font-size:14px;margin-bottom:22px}
.live-pill{display:inline-flex;align-items:center;gap:6px;margin-left:12px;font-size:11px;letter-spacing:.16em;padding:3px 9px;border:1px solid var(--line2);border-radius:3px;color:var(--dim);vertical-align:middle}
.live-pill i{width:7px;height:7px;border-radius:50%;background:var(--muted)}
.live-pill.on{color:var(--g);border-color:var(--g)}
.live-pill.on i{background:var(--g);box-shadow:0 0 8px var(--g);animation:blink 1.4s steps(1) infinite}
.tr-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:14px}
@media (max-width:860px){.tr-stats{grid-template-columns:repeat(2,1fr)}}
.tr-stat{padding:12px 14px;border:1px solid var(--line);border-radius:6px;background:var(--panel);display:flex;flex-direction:column;gap:2px}
.tr-stat .k{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.tr-stat b{font-size:20px;color:#e8ffee;text-shadow:0 0 10px rgba(57,255,106,.3);font-variant-numeric:tabular-nums}
.tape{overflow:hidden;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);padding:6px 0;margin-bottom:14px;font-size:12px;color:var(--muted);white-space:nowrap}
.tape-in{display:inline-block;padding-left:100%;animation:tape 40s linear infinite}
.tape-in span{margin-right:28px}
.tape-in span.cat{color:var(--g)}
@keyframes tape{to{transform:translateX(-100%)}}
.tr-wrap{position:relative;border:1px solid var(--line2);border-radius:8px;background:#010703;overflow:hidden}
.tr-head,.tr-row{display:grid;grid-template-columns:90px 1.4fr 90px 70px 110px 60px 150px;gap:12px;align-items:center;padding:10px 16px}
.tr-head{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:var(--panel);border-bottom:1px solid var(--line)}
.tr-list{max-height:520px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line2) transparent}
.tr-row{border-bottom:1px dashed var(--line);font-size:13.5px;color:#a6e6b8}
.tr-row.new{animation:rowin .8s ease}
@keyframes rowin{from{background:rgba(57,255,106,.18)}to{background:transparent}}
.tr-row .sym{color:#e8ffee;font-weight:700;display:flex;align-items:center;gap:8px;min-width:0}
.tr-row .sym img{width:22px;height:22px;border-radius:4px;object-fit:cover;background:#000;flex:none}
.tr-row .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tr-row .wh{letter-spacing:1px;color:var(--g)}
.tr-row .wh .off{color:var(--line2)}
.tr-row .bad{color:var(--amber)}
.tr-row .links{display:flex;gap:12px;white-space:nowrap}
.tr-row .links a{color:var(--dim);text-decoration:none}
.tr-row .links a:hover{color:var(--g)}
.tr-empty{padding:28px 16px;text-align:center}
.tr-lock{position:absolute;inset:0;top:41px;display:flex;align-items:center;justify-content:center;background:linear-gradient(rgba(1,7,3,.1), rgba(1,7,3,.92) 45%);backdrop-filter:blur(1.5px)}
.tr-lock-box{max-width:460px;text-align:center;padding:24px;border:1px solid var(--line2);border-radius:8px;background:rgba(2,10,4,.95);box-shadow:var(--glow)}
.tr-lock-t{color:var(--amber);font-weight:700;margin-bottom:10px;letter-spacing:.04em}
.tr-lock-box p{color:#a6e6b8;font-size:13.5px;margin-bottom:16px}
.tr-wrap.open .tr-lock{display:none}
@media (max-width:900px){
  .tr-head{display:none}
  .tr-row{grid-template-columns:1fr 1fr;gap:6px 12px;padding:12px 14px}
  .tr-row .name{grid-column:1/-1}
  .tr-row .links{grid-column:1/-1}
}

/* My agent */
.ag-wrap{position:relative;min-height:320px}
.ag-lock{top:0;border:1px solid var(--line2);border-radius:8px}
.ag-wrap.open .ag-lock{display:none}
.ag-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ag-wrap:not(.open) .ag-grid{filter:blur(2px);opacity:.35;pointer-events:none;user-select:none}
.ag-full{grid-column:1/-1}
@media (max-width:860px){.ag-grid{grid-template-columns:1fr}}
.ag-card{border:1px solid var(--line2);border-radius:8px;background:#010703;overflow:hidden}
.ag-body{padding:16px;display:flex;flex-direction:column;gap:12px}
.ag-addr{display:flex;gap:10px;align-items:center}
.ag-addr code{flex:1;font-size:13px;color:#9dffb8;word-break:break-all;text-shadow:0 0 10px rgba(57,255,106,.25)}
.ag-bal,.ag-status{display:flex;align-items:baseline;gap:10px}
.ag-bal .k,.ag-status .k,.ag-stats .k{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);min-width:64px}
.ag-bal b{font-size:26px;color:#e8ffee;text-shadow:0 0 12px rgba(57,255,106,.35);font-variant-numeric:tabular-nums}
.ag-bal .unit{color:var(--dim)}
.ag-status b{color:#e8ffee}
.ag-status b.running{color:var(--g);text-shadow:var(--glow)}
.ag-status b.stopped{color:var(--amber)}
.ag-actions{display:flex;flex-wrap:wrap;gap:10px}
.ag-export{margin:0;border-color:var(--amber);color:var(--amber);word-break:break-all;white-space:pre-wrap}
.ag-rules{list-style:none;display:flex;flex-direction:column;gap:6px;font-size:13.5px;color:#a6e6b8}
.ag-rules li::before{content:"— ";color:var(--muted)}
.ag-rules b{color:#e8ffee}
.ag-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ag-stats div{padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--panel);display:flex;flex-direction:column}
.ag-stats b{font-size:18px;color:#e8ffee;font-variant-numeric:tabular-nums}
.ag-stats b.up{color:var(--g)}
.ag-stats b.down{color:var(--red)}
.ag-trades-head,.ag-trade{display:grid;grid-template-columns:70px 1.2fr 90px 90px 100px 90px 1fr;gap:12px;align-items:center;padding:10px 16px}
.ag-trades-head{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:var(--panel);border-bottom:1px solid var(--line)}
.ag-trades{max-height:300px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line2) transparent}
.ag-trade{border-bottom:1px dashed var(--line);font-size:13px;color:#a6e6b8;font-variant-numeric:tabular-nums}
.ag-trade .sym{color:#e8ffee;font-weight:700}
.ag-trade .up{color:var(--g)}
.ag-trade .down{color:var(--red)}
.ag-trade .st-open{color:var(--amber)}
.ag-trade .st-stuck,.ag-trade .st-failed{color:var(--red)}
.ag-trade .st-closed{color:var(--dim)}
.ag-trade a{color:var(--dim);text-decoration:none;margin-right:8px}
.ag-trade a:hover{color:var(--g)}
.ag-log{margin:0;border:0;border-radius:0;max-height:260px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line2) transparent}
.ag-log .k-buy,.ag-log .k-bought{color:#e8ffee}
.ag-log .k-sold{color:var(--g)}
.ag-log .k-error,.ag-log .k-stopped{color:var(--red)}
.ag-log .k-skip,.ag-log .k-retry{color:var(--muted)}
.ag-log .k-started,.ag-log .k-created,.ag-log .k-withdraw,.ag-log .k-export{color:var(--amber)}
.q{display:inline-block;margin-left:8px;font-size:10px;letter-spacing:.12em;padding:1px 6px;border:1px solid var(--g);border-radius:3px;color:var(--g);vertical-align:middle}
@media (max-width:900px){
  .ag-trades-head{display:none}
  .ag-trade{grid-template-columns:1fr 1fr;gap:6px 12px}
  .ag-trade .sym,.ag-trade .tx{grid-column:1/-1}
}
