/* ALTRIX THEME v2 — calm, serious, minimal. Loaded after app.css and overrides it.
   Palette and type follow the ALTRIX Telegram app: deep indigo, one violet→blue accent,
   bold white headings, small mono uppercase labels. No rainbow / animated gradients. */
:root{
  --bg:#0e0b22; --bg2:#151231; --card:#1a1638; --card2:#211c45;
  --border:rgba(139,124,246,.16); --border2:rgba(139,124,246,.26);
  --accent:#8b7cf6; --accent2:#4aa8ff; --text:#f3f1ff; --text2:#b9b4dc; --muted:#7f7aa8;
  --red:#ff5c7a; --green:#2fd58f; --gold:#f5b82e; --purple:#8b7cf6;
  --green-bg:rgba(47,213,143,.12); --red-bg:rgba(255,92,122,.12);
  --glow:rgba(139,124,246,.14);
  --grad:linear-gradient(135deg,#7c6cff 0%,#4aa8ff 100%);
  --radius:18px;
}
body.light{
  --bg:#f5f4fb; --bg2:#eceaf7; --card:#ffffff; --card2:#f4f2fc; --border:rgba(60,48,140,.12); --border2:rgba(60,48,140,.2);
  --text:#17142f; --text2:#4a4670; --muted:#7a76a0; --accent:#6a5af0;
}
html,body{background:var(--bg)!important}
body{
  color:var(--text);font-family:'Inter',system-ui,-apple-system,sans-serif!important;-webkit-font-smoothing:antialiased;
  background:
    radial-gradient(900px 500px at 85% -10%,rgba(124,108,255,.16),transparent 60%),
    radial-gradient(700px 500px at -10% 30%,rgba(74,168,255,.08),transparent 60%),
    var(--bg)!important;
  background-attachment:fixed!important;
}
body.light{background:var(--bg)!important}

/* kill the rainbow / animated effects everywhere */
*,*::before,*::after{animation-name:none!important}
.sc::before,.card::before{display:none!important;content:none!important}
.sidebar-logo,.sidebar-title,.sidebar-title span,.desktop-page-title{
  background:none!important;-webkit-text-fill-color:currentColor!important;animation:none!important}

/* ── sidebar ── */
.sidebar{background:rgba(16,13,38,.86)!important;border-right:1px solid var(--border)!important;backdrop-filter:blur(18px);width:232px!important;min-width:232px!important;padding:22px 0 14px!important}
body.light .sidebar{background:rgba(255,255,255,.9)!important}
.sidebar-brand{padding:0 22px 22px!important;border-bottom:1px solid var(--border)!important;display:flex;flex-direction:column;gap:4px}
.sidebar-logo{color:var(--accent)!important;font:500 10px 'DM Mono',monospace!important;letter-spacing:.32em!important}
.sidebar-title{color:var(--text)!important;font-size:21px!important;font-weight:800!important;letter-spacing:-.02em!important}
.sidebar-title span{color:var(--text2)!important;font-weight:500!important}
.sidebar-nav{padding:6px 12px!important}
.sidebar-tab{font-size:14px!important;font-weight:500!important;color:var(--text2)!important;padding:11px 14px!important;border-radius:12px!important;margin-bottom:2px;border:1px solid transparent!important;background:none!important;box-shadow:none!important;transition:background .15s,color .15s}
.sidebar-tab:hover{background:rgba(139,124,246,.08)!important;color:var(--text)!important}
.sidebar-tab.active{background:linear-gradient(135deg,rgba(124,108,255,.22),rgba(74,168,255,.12))!important;border-color:rgba(139,124,246,.35)!important;color:var(--text)!important;font-weight:600!important}
.sidebar-tab.active .ti{color:var(--accent)!important}
.sidebar-tab .ti{color:var(--muted)}
.sidebar-tab *{-webkit-text-fill-color:currentColor!important}
.sidebar-bottom{border-top:1px solid var(--border)!important}
.icon-btn{background:var(--card)!important;border:1px solid var(--border)!important;border-radius:12px!important;color:var(--text2)!important}
.author-avatar{background:var(--grad)!important}

/* ── top bar ── */
.desktop-main{margin-left:232px!important}
.desktop-topbar{background:rgba(14,11,34,.72)!important;border-bottom:1px solid var(--border)!important;backdrop-filter:blur(16px);height:56px!important;min-height:56px!important;max-height:56px!important;padding:0 24px!important}
body.light .desktop-topbar{background:rgba(255,255,255,.8)!important}
.topbar-status{font:500 11px 'DM Mono',monospace!important;letter-spacing:.14em;color:var(--muted)!important;text-transform:uppercase}
.topbar-link-btn{color:var(--text2)!important;font-weight:600!important}
.topbar-link-btn:hover{color:var(--text)!important}
.alx-topbtc{display:flex;align-items:baseline;gap:8px;font-family:'DM Mono',monospace}
.alx-topbtc .l{font-size:11px;letter-spacing:.16em;color:var(--muted)}
.alx-topbtc .v{font:800 16px Inter,sans-serif;color:var(--text)}
.alx-topbtc .c{font-size:12px;padding:2px 7px;border-radius:8px}
.alx-topbtc .c.up{color:var(--green);background:var(--green-bg)} .alx-topbtc .c.dn{color:var(--red);background:var(--red-bg)}

/* ── content ── */
.desktop-content{padding:28px 32px 60px!important;max-width:1280px}
.desktop-page-title{color:var(--text)!important;font-size:34px!important;font-weight:800!important;letter-spacing:-.025em!important;line-height:1.1!important;margin-bottom:6px!important}
.desktop-page-sub{color:var(--muted)!important;font:500 12px 'DM Mono',monospace!important;letter-spacing:.06em;margin-bottom:24px!important}
.sc,.card,.desktop-content .card{background:linear-gradient(180deg,rgba(33,28,69,.72),rgba(26,22,56,.72))!important;border:1px solid var(--border)!important;border-radius:var(--radius)!important;box-shadow:none!important;animation:none!important}
body.light .sc,body.light .card{background:var(--card)!important}
.desktop-content .card:hover,.card:hover{border-color:var(--border2)!important;transform:none!important;box-shadow:none!important}
.st,.desktop-content .st{font:500 10px 'DM Mono',monospace!important;letter-spacing:.2em!important;color:var(--muted)!important;-webkit-text-fill-color:currentColor!important;background:none!important}
.pb,.desktop-content .pb{font-weight:800!important;letter-spacing:-.02em;color:var(--text)!important;-webkit-text-fill-color:currentColor!important}
.up,.green,.pos{color:var(--green)!important} .down,.dn,.red,.neg{color:var(--red)!important}
input,select,textarea{font-family:inherit}
input:not([type=checkbox]):not([type=radio]),select,textarea{background:rgba(255,255,255,.04)!important;border:1px solid var(--border)!important;border-radius:14px!important;color:var(--text)!important}
body.light input:not([type=checkbox]):not([type=radio]),body.light select,body.light textarea{background:#fff!important}
input:focus,select:focus,textarea:focus{outline:none!important;border-color:var(--accent)!important;box-shadow:0 0 0 3px rgba(139,124,246,.18)!important}
button{font-family:inherit}
.btn-primary,.prop-btn-primary,.qc-btn.active,.ta-tf-btn.active,.dca-quick-btn.active{background:var(--grad)!important;color:#fff!important;border:0!important;box-shadow:0 8px 24px rgba(92,120,255,.28)!important}
.qc-btn,.ta-tf-btn{background:rgba(255,255,255,.04)!important;border:1px solid var(--border)!important;border-radius:999px!important;color:var(--text2)!important}
::-webkit-scrollbar{width:8px;height:8px} ::-webkit-scrollbar-thumb{background:rgba(139,124,246,.25);border-radius:8px} ::-webkit-scrollbar-track{background:transparent}

/* removed sections */
#page-charts,#page-dca,#page-goals,#page-portfolio{display:none!important}

/* ── prop module picks up the same tokens ── */
#pv2{--pc:var(--card);--pc2:var(--card2);--pb:var(--border);--pt:var(--text);--pt2:var(--text2);--pm:var(--muted);--pa:var(--accent);--pg:var(--green);--pr:var(--red);--py:var(--gold)}
#pv2 .pcard,#pv2 .plan{border-radius:var(--radius)!important;background:linear-gradient(180deg,rgba(33,28,69,.72),rgba(26,22,56,.72))}
#pv2 .btn{background:var(--grad);color:#fff;border-radius:14px}
#pv2 .btn.ghost{background:rgba(255,255,255,.04);color:var(--text)}
#pv2 .btn.long{background:var(--green);color:#04170f} #pv2 .btn.short{background:var(--red);color:#fff}
#pv2 .plan .pr{color:var(--accent2,#4aa8ff)}
#pv2 h2{font-weight:800;letter-spacing:-.02em;font-size:24px}
#pv2 .ptabs button.on{color:var(--text);border-bottom-color:var(--accent)}

/* ── page hero (added by theme script to every section) ── */
.alx-hero{position:relative;overflow:hidden;border-radius:24px;padding:28px 30px;margin-bottom:22px;border:1px solid var(--border2);
  background:radial-gradient(500px 220px at 100% 0%,rgba(124,108,255,.35),transparent 70%),linear-gradient(135deg,#231d52,#17133a)}
body.light .alx-hero{background:linear-gradient(135deg,#ebe7ff,#f7f6ff)}
.alx-hero::after{content:'';position:absolute;right:-60px;top:-40px;width:260px;height:260px;border-radius:60px;border:1px solid rgba(139,124,246,.25);transform:rotate(25deg)}
.alx-hero .k{font:600 11px 'DM Mono',monospace;letter-spacing:.24em;color:#6fd3ff;margin-bottom:10px;text-transform:uppercase}
.alx-hero .t{font-size:40px;font-weight:800;letter-spacing:-.03em;line-height:1.05;color:var(--text)}
.alx-hero .s{color:var(--text2);margin-top:8px;font-size:15px}
.alx-hero + .desktop-page-title,.alx-hero ~ .desktop-page-sub{display:none!important}

/* ── mobile: bottom navigation like the ALTRIX app ── */
.alx-bnav,.alx-sheet{display:none}
@media (max-width:820px){
  .sidebar{display:none!important}
  .desktop-main{margin-left:0!important}
  .desktop-topbar{padding:0 16px!important}
  .topbar-links{display:none!important}
  .desktop-content{padding:16px 16px 120px!important}
  .alx-hero{padding:22px 20px;border-radius:22px}
  .alx-hero .t{font-size:32px}
  .desktop-stats-row,.cards-grid{grid-template-columns:1fr 1fr!important}
  .alx-bnav{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:500;justify-content:space-around;padding:8px;border-radius:26px;
    background:rgba(28,24,60,.92);border:1px solid var(--border2);background:rgba(24,20,54,.97);box-shadow:0 12px 40px rgba(0,0,0,.45)}
  body.light .alx-bnav{background:rgba(255,255,255,.95)}
  .alx-bnav button{flex:1;background:none;border:0;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 2px;border-radius:18px;font:600 11px Inter,sans-serif}
  .alx-bnav button svg{width:22px;height:22px}
  .alx-bnav button.on{color:var(--text);background:linear-gradient(135deg,rgba(124,108,255,.35),rgba(74,168,255,.18));border:1px solid rgba(139,124,246,.4)}
  .alx-sheet{position:fixed;inset:0;z-index:600;background:rgba(6,4,18,.6);backdrop-filter:blur(6px);align-items:flex-end;padding:12px 12px 100px}
  .alx-sheet.show{display:flex}
  .alx-sheet .box{width:100%;background:var(--card);border:1px solid var(--border2);border-radius:26px;padding:16px}
  .alx-sheet .hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font:700 16px 'DM Mono',monospace;color:#6fd3ff;letter-spacing:.06em}
  .alx-sheet .grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .alx-sheet .grid button{background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:16px;color:var(--text);padding:16px 14px;text-align:left;font:600 14px Inter,sans-serif}
  .alx-sheet .x{background:rgba(255,255,255,.05);border:1px solid var(--border);color:var(--text2);border-radius:12px;width:38px;height:38px;font-size:18px}
}
#pv2 .spin{animation:pv2spin 1s linear infinite!important;animation-name:pv2spin!important}
.pulse{animation-name:pulse!important}

/* ── light / dark switch ── */
.alx-theme{position:relative;width:62px;height:30px;border-radius:999px;border:1px solid var(--border2);background:rgba(255,255,255,.05);cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:0 8px;flex-shrink:0}
.alx-theme .ic{font-size:13px;line-height:1;z-index:1;color:var(--muted);transition:color .2s}
.alx-theme .knob{position:absolute;top:3px;left:33px;width:24px;height:22px;border-radius:999px;background:var(--grad);box-shadow:0 4px 12px rgba(92,120,255,.35);transition:left .22s ease}
.alx-theme .moon{color:#fff} .alx-theme.is-light .knob{left:3px} .alx-theme.is-light .sun{color:#fff} .alx-theme.is-light .moon{color:var(--muted)}
.desktop-stats-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
body.light .alx-hero .k{color:var(--accent)}
body.light .alx-hero::after{border-color:rgba(106,90,240,.18)}
body.light .sidebar-tab.active{background:linear-gradient(135deg,rgba(124,108,255,.14),rgba(74,168,255,.08))!important}
body.light .alx-topbtc .v{color:var(--text)}
body.light #pv2 .pcard,body.light #pv2 .plan{background:var(--card)}
body.light #pv2 .btn.ghost{background:var(--card2)}
.sb{border-radius:10px!important;font-weight:700!important;letter-spacing:.04em}
@media (max-width:820px){
  .topbar-status{display:none!important}
  .desktop-topbar{justify-content:space-between}
  .alx-topbtc .c{display:none}
  .desktop-content .cards-grid,.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .desktop-stats-row{grid-template-columns:1fr 1fr!important;gap:10px!important}
  #pv2 .trade{grid-template-columns:1fr}
}

/* prop page: neutralise the legacy prop styles from app.css */
#page-prop{background:transparent!important;color:var(--text)!important;max-width:none!important;padding:0!important}
#page-prop, #page-prop *{letter-spacing:normal}
#pv2{max-width:none!important;padding:0 0 40px!important}
#pv2 h2,#pv2 b,#pv2 .big{color:var(--text)}
#pv2 .top > b{display:none}

/* ── strict typography ── */
body,button,input,select,textarea{font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif}
.alx-hero .t,.desktop-page-title,.sidebar-title{font-weight:700!important;letter-spacing:-.02em!important}
.alx-hero .t{font-size:36px}
.alx-hero .k,.st,.sidebar-logo,.desktop-page-sub,.topbar-status{font-family:'DM Mono',ui-monospace,monospace!important;font-weight:500!important}
.pb,.desktop-content .pb,.alx-topbtc .v{font-weight:700!important}
#page-prop #pv2,#page-prop #pv2 *{letter-spacing:normal!important}
#page-prop #pv2 h2{font-weight:700!important;letter-spacing:-.02em!important}
#page-prop #pv2 h3,#page-prop #pv2 b,#page-prop #pv2 .big,#page-prop #pv2 .plan .sz,#page-prop #pv2 .ppx{font-weight:700!important}
#page-prop #pv2 .btn,#page-prop #pv2 .ptabs button,#page-prop #pv2 .seg button,#page-prop #pv2 .levs button,#page-prop #pv2 .nets button,#page-prop #pv2 .pchip{font-weight:600!important}
#page-prop #pv2 .plbl,#page-prop #pv2 th{font-weight:500!important;letter-spacing:.08em!important}
#page-prop #pv2 .mono{font-family:'DM Mono',ui-monospace,monospace!important}
@media (max-width:820px){.alx-hero .t{font-size:30px}}
/* legacy rule made the content full-bleed dark while prop is open */
.desktop-content.content:has(#page-prop.active){padding:28px 32px 60px!important;background:transparent!important}
#page-prop .alx-hero .t{font-weight:700!important;letter-spacing:-.02em!important}
#page-prop .alx-hero .k{font-weight:500!important;letter-spacing:.24em!important}
@media (max-width:820px){.desktop-content.content:has(#page-prop.active){padding:16px 16px 120px!important}}
/* journal + AI trend on phones */
@media (max-width:820px){
  .desktop-journal-grid{grid-template-columns:1fr!important;display:grid!important;gap:12px}
  .desktop-journal-grid > *{min-width:0}
}
#page-ai-trend .ait-title-wrap,#page-ai-trend .ait-head-row > div > .ait-sub{display:none}
@media (max-width:820px){.journal-mood{flex-wrap:wrap!important}}
/* prop trade screen on phones: chart → order form → positions → rules */
@media (max-width:820px){
  #pv2 .trade{display:flex!important;flex-direction:column;gap:12px}
  #pv2 .trade > div{display:contents}
  #pv2 .trade .symrow{order:1;margin-bottom:0}
  #pv2 .trade .tv{order:2;height:300px}
  #pv2 .trade > div:last-child > .pcard:first-child{order:3}
  #pv2 .trade > div:first-child > .pcard{order:4;margin-top:0!important}
  #pv2 .trade #lv-rules{order:5;margin-top:0!important}
  #pv2-toast{bottom:104px!important;left:16px;right:16px}
}

/* ALTRIX Launch: its own group in the sidebar */
.sidebar-group{margin:18px 14px 6px;padding-top:14px;border-top:1px solid var(--border);font:500 10px 'DM Mono',monospace;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.alx-new{margin-left:auto;font:500 9px 'DM Mono',monospace;letter-spacing:.08em;padding:2px 6px;border-radius:6px;border:1px solid rgba(139,124,246,.45);color:var(--accent)}
.sidebar-tab.launch-tab{white-space:nowrap}

/* ── ALTRIX TERMINAL logo (sidebar on desktop, top bar on phones) ── */
.alx-logo{display:block;height:auto;user-select:none;-webkit-user-drag:none}
.alx-logo.lg-l{display:none} body.light .alx-logo.lg-d{display:none} body.light .alx-logo.lg-l{display:block}
.sidebar-brand .alx-logo{width:176px;max-width:100%;margin:2px 0 0}
.alx-mlogo{display:none;text-decoration:none}
@media (max-width:820px){
  .alx-mlogo{display:block}
  .alx-mlogo .alx-logo{height:34px;width:auto}
  .alx-topbtc{display:none!important}
}

/* ── global search (Ctrl+K) ── */
.alx-srch{position:fixed;inset:0;z-index:2000;background:rgba(6,4,18,.6);backdrop-filter:blur(6px);display:flex;justify-content:center;align-items:flex-start;padding:10vh 14px 14px}
.alx-srch .sbx{width:100%;max-width:620px;background:var(--card,#17132f);border:1px solid var(--border);border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.45);overflow:hidden}
body.light .alx-srch .sbx{background:#fff}
.alx-srch .sin{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)} .alx-srch .sin svg{width:18px;height:18px;color:var(--muted);flex:none}
.alx-srch input{flex:1;min-width:0;background:none;border:0;outline:0;color:var(--text);font:500 16px Inter,sans-serif}
.alx-srch kbd{font:500 10px 'DM Mono',monospace;border:1px solid var(--border);border-radius:6px;padding:2px 6px;color:var(--muted)}
.alx-srch .sres{max-height:60vh;overflow:auto;padding:6px} .alx-srch .sres.ld{opacity:.6}
.alx-srch .sgh{font:600 10px Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:10px 10px 4px}
.alx-srch .srow{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:none;border:0;border-radius:12px;padding:8px 10px;color:var(--text);cursor:pointer}
.alx-srch .srow.on,.alx-srch .srow:hover{background:rgba(139,124,246,.12)}
.alx-srch .srow .av,.alx-srch .srow .face{width:32px!important;height:32px!important;border-radius:10px;flex:none}
.alx-srch .sm1{flex:1;min-width:0;display:flex;flex-direction:column} .alx-srch .sm1 b{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .alx-srch .sm1 .mut{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.alx-srch .sm2{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:13px}
.alx-srch .sempty{padding:22px;text-align:center;color:var(--muted);font-size:13px}
.alx-tsearch{display:inline-flex;align-items:center;gap:8px;background:none;border:1px solid var(--border);border-radius:10px;padding:6px 10px;color:var(--text2);font:500 13px Inter,sans-serif;cursor:pointer}
.alx-tsearch kbd{font:500 10px 'DM Mono',monospace;border:1px solid var(--border);border-radius:6px;padding:1px 5px;color:var(--muted)}
@media (max-width:820px){.alx-tsearch{display:none}}
.alx-srch .av{position:relative;overflow:hidden;border:1px solid var(--border);background:rgba(139,124,246,.12);display:flex;align-items:center;justify-content:center}
.alx-srch .av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover} .alx-srch .av span{font:600 14px Inter,sans-serif;color:var(--muted)}
.alx-srch .face{display:inline-flex;align-items:center;justify-content:center;border-radius:50%!important;overflow:hidden;font:600 11px Inter,sans-serif;color:#fff} .alx-srch .face img{width:100%;height:100%;object-fit:cover}
.alx-srch .sm2 .up,.alx-srch .sm2 .u{color:var(--green)} .alx-srch .sm2 .dn,.alx-srch .sm2 .d{color:var(--red)}
