:root {
  --canvas: oklch(0.992 0.002 155); --ink: oklch(0.23 0.012 155);
  --mute: #63716b; --faint: #6e7973; --line: #e7ece8; --line2: #cdd8d0;
  --accent: #078c57; --accent-ink: #fff; --bg: #fff; --bg2: #f6f8f5;
  --panel: #fff; --panel2: #f5f8f5; --hover: #edf4ee; --text: #202b25;
  --up: #078c57; --upbg: #eaf5ee; --down: #c24c3e; --downbg: #fbefed;
  --warn: #856325; --warnbg: #f8f3e8; --acc: #078c57; --accbg: #eaf5ee;
  --grid: #f0f3ef; --shadow: 0 16px 64px #18302218; --r: 10px;
  --display: 'Schibsted Grotesk', sans-serif; --sans: 'Source Sans 3', sans-serif;
  --mono: 'IBM Plex Mono', monospace; --ease: cubic-bezier(.23,1,.32,1);
}
[data-theme=dark] { --bg:#111914; --bg2:#16211a; --panel:#152019; --panel2:#1b2a20; --hover:#24382a;
  --text:#e8f1e9; --mute:#b0bdb3; --faint:#a0b0a4; --line:#2b3a2f; --line2:#405346;
  --up:#4dce8f; --upbg:#1e3828; --down:#f19384; --downbg:#39271f; --warn:#d9be83; --warnbg:#312e21;
  --acc:#4dce8f; --accbg:#1e3828; --accent-ink:#102519; --grid:#253127; --shadow:0 16px 64px #0005; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
html,body { margin:0; background:var(--bg); color:var(--text); font:16px/1.5 var(--sans); -webkit-font-smoothing:antialiased; }
button,input,select,textarea { font:inherit; } a { color:inherit; } button,a { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; } button:disabled { cursor:wait; opacity:.6; } button:active:not(:disabled) { transform:translateY(1px); }
button:focus-visible,a:focus-visible { outline:2px solid var(--acc); outline-offset:3px; }
.skip { position:fixed; top:-70px; left:20px; background:var(--acc); color:var(--accent-ink); padding:12px; z-index:100; }.skip:focus { top:10px; }
.app { display:grid; grid-template-columns:238px minmax(0,1fr); min-height:100vh; }
.side { display:flex; flex-direction:column; position:sticky; top:0; height:100vh; padding:32px 18px 20px; border-right:1px solid var(--line); background:var(--bg); overflow:auto; }
.logo { display:flex; gap:9px; align-items:center; padding:0 13px; text-decoration:none; font:700 28px var(--display); letter-spacing:-1.2px; margin-bottom:42px; }
.logo img { width:33px; height:33px; }.logo-dot { color:var(--acc); }.nav-label { font-size:10px; font-weight:600; letter-spacing:1.7px; color:var(--faint); margin:21px 13px 10px; }.side>.nav-label { margin-top:0; }
#nav { display:flex; flex-direction:column; gap:3px; }#nav a { position:relative; min-height:45px; display:flex; align-items:center; gap:11px; padding:11px 13px; border-radius:7px; text-decoration:none; color:var(--mute); font-size:14px; font-weight:500; white-space:nowrap; }
#nav a:hover { background:var(--bg2); color:var(--text); }#nav a.on { background:var(--accbg); color:var(--acc); font-weight:600; }#nav a.on:before { content:''; position:absolute; left:-18px; height:23px; width:3px; border-radius:0 3px 3px 0; background:var(--acc); }
i[data-icon] { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:19px; height:20px; }i svg { width:19px; height:19px; } .nav-new { font:500 8px var(--sans); letter-spacing:.6px; margin-left:auto; }.nav-plus { font-size:19px; margin-left:auto; color:var(--acc); }
.side-foot { margin-top:auto; padding-top:38px; }.upgrade-mini { width:100%; display:flex; align-items:center; gap:9px; text-align:left; padding:12px 9px; background:var(--bg2); border:1px solid var(--line); border-radius:8px; color:var(--text); }.upgrade-mini b { font-size:11px; font-weight:600; display:block; }.upgrade-mini small { font-size:11px; color:var(--mute); }.mini-mark { display:grid; place-items:center; font:600 12px var(--display); border:1px solid var(--line2); width:30px; height:30px; border-radius:7px; flex-shrink:0; }.data-badge { font:10px/1.5 var(--mono); color:var(--mute); padding:14px 4px 10px; }.theme { display:flex; justify-content:space-between; width:100%; background:transparent; border:0; border-top:1px solid var(--line); padding:12px 4px 0; color:var(--mute); font-size:12px; }
.mainwrap { min-width:0; display:flex; flex-direction:column; }.topbar { height:84px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:0 42px; border-bottom:1px solid var(--line); background:var(--bg); position:sticky; top:0; z-index:10; }.search-btn { display:flex; align-items:center; gap:12px; width:370px; background:var(--bg2); border:1px solid var(--line); border-radius:8px; padding:10px 14px; color:var(--mute); font-size:14px; height:42px; }.search-btn kbd { margin-left:auto; font:11px var(--mono); border:1px solid var(--line2); border-radius:4px; padding:1px 6px; }.top-actions { display:flex; align-items:center; gap:19px; }.mode-pill { font-size:12px; color:var(--mute); display:flex; align-items:center; gap:7px; white-space:nowrap; }.mode-pill>span { width:6px; height:6px; background:var(--acc); border-radius:50%; }.icon-btn { display:grid; place-items:center; min-width:40px; height:40px; background:none; border:0; border-radius:8px; color:var(--text); }.icon-btn:hover { background:var(--bg2); }.avatar { border:1px solid var(--line2); border-radius:50%; background:var(--bg2); color:var(--text); font:600 13px var(--display); width:36px; height:36px; }.hamb { display:none; }
.tape-wrap { display:flex; align-items:center; padding:13px 42px; background:var(--bg2); gap:20px; border-bottom:1px solid var(--line); }.tape { display:flex; gap:28px; overflow:auto; scrollbar-width:none; flex:1; font:11px var(--mono); }.tape>span { white-space:nowrap; display:flex; align-items:center; gap:9px; }.tape span b { font-weight:500; color:var(--text); }.tape-note { color:var(--mute); font:9px var(--mono); letter-spacing:1px; white-space:nowrap; }
main { padding:36px 42px 52px; width:100%; max-width:1620px; }.tab { display:none; }.tab.on { display:block; animation:fade .2s var(--ease); }@keyframes fade { from { opacity:0; transform:translateY(4px); } }
.ph { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:28px; flex-wrap:wrap; }.ph h1 { margin:0; font:500 28px/1.25 var(--display); letter-spacing:-1px; }.ph p { color:var(--mute); font-size:14px; margin:7px 0 0; max-width:70ch; }.eyebrow { color:var(--mute); font:500 10px var(--mono); letter-spacing:1.5px; text-transform:uppercase; margin-bottom:8px; }h2 { margin:0; font:600 18px var(--display); letter-spacing:-.35px; }h3 { margin:0 0 12px; font:600 12px var(--sans); letter-spacing:.6px; color:var(--mute); text-transform:uppercase; }
.grid { display:grid; gap:22px; }.g2 { grid-template-columns:repeat(2,minmax(0,1fr)); }.g3 { grid-template-columns:repeat(3,minmax(0,1fr)); }.g4 { grid-template-columns:repeat(4,minmax(0,1fr)); }.g5 { grid-template-columns:repeat(5,minmax(0,1fr)); }.span2 { grid-column:span 2; }.w-main { grid-template-columns:minmax(0,1fr) 310px; }.card { padding:23px; border:1px solid var(--line); border-radius:var(--r); background:var(--panel); min-width:0; }.card.flush { padding:0; }.card.flush .ch { padding:21px 22px 0; }.ch { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; margin-bottom:19px; }.card.plain { border:0; padding:0; border-radius:0; }.kpi { padding:16px 18px; }.kpi .l { font-size:12px; color:var(--mute); }.kpi .v { font:500 25px/1.3 var(--display); letter-spacing:-.8px; margin:8px 0 4px; font-variant-numeric:tabular-nums; }.kpi .s { font-size:11px; color:var(--mute); }.row { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }.spread { justify-content:space-between; }
.up { color:var(--up); }.down { color:var(--down); }.warn { color:var(--warn); }.mute { color:var(--mute); }.faint { color:var(--faint); }.btn { background:var(--acc); color:var(--accent-ink); border:1px solid var(--acc); border-radius:7px; padding:11px 20px; min-height:44px; font:600 14px var(--sans); white-space:nowrap; }.btn:hover { filter:brightness(.96); }.ghost { background:transparent; color:var(--text); border:1px solid var(--line2); border-radius:7px; padding:10px 17px; min-height:44px; font:500 13px var(--sans); white-space:nowrap; }.ghost:hover { background:var(--bg2); }.ghost.sm { padding:6px 11px; font-size:12px; min-height:36px; }.ghost.danger { color:var(--down); }.text-btn { border:0; background:none; padding:8px 0; color:var(--acc); font-size:13px; min-height:44px; }.btn.block,.ghost.block { width:100%; }
.chip { display:inline-flex; align-items:center; padding:3px 8px; border-radius:4px; background:var(--bg2); font:500 10px var(--sans); letter-spacing:.25px; color:var(--mute); white-space:nowrap; }.chip.up,.chip.acc { color:var(--acc); background:var(--accbg); }.chip.down { color:var(--down); background:var(--downbg); }.chip.warn { color:var(--warn); background:var(--warnbg); }
.filters { display:flex; flex-wrap:wrap; align-items:flex-end; gap:14px; }label.f { display:flex; flex-direction:column; gap:7px; font-size:12px; font-weight:500; color:var(--mute); }input,select,textarea { padding:10px 12px; color:var(--text); background:var(--panel); border:1px solid var(--line2); border-radius:6px; width:112px; min-height:44px; outline:0; font-size:14px; font-variant-numeric:tabular-nums; }input:focus,select:focus,textarea:focus { border-color:var(--acc); outline:2px solid var(--accbg); outline-offset:1px; }textarea { width:100%; resize:vertical; min-height:105px; }.form-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }.form-grid input,.form-grid select { width:100%; }.seg { display:inline-flex; background:var(--bg2); padding:4px; border-radius:7px; max-width:100%; overflow:auto; }.seg button { min-height:36px; border:0; background:none; padding:6px 14px; font-size:13px; color:var(--mute); white-space:nowrap; border-radius:4px; }.seg button.on { color:var(--acc); background:var(--panel); box-shadow:0 1px 3px #2030230c; }
table { border-collapse:collapse; width:100%; }th { font:500 10px var(--sans); text-transform:uppercase; letter-spacing:.7px; color:var(--mute); padding:12px 16px; text-align:left; border-bottom:1px solid var(--line); white-space:nowrap; background:var(--panel); }td { padding:16px; font:12px var(--mono); font-variant-numeric:tabular-nums; border-bottom:1px solid var(--line); white-space:nowrap; }.r { text-align:right; }tr:last-child td { border-bottom:0; }.scroll { overflow-x:auto; }tr.click { cursor:pointer; }tr.click:hover td { background:var(--bg2); }.sym { font:600 14px var(--sans); letter-spacing:.1px; }.sub { display:block; color:var(--mute); font:11px var(--sans); margin-top:2px; }.score .ring { background:none; display:inline-flex; align-items:center; justify-content:center; border:2px solid var(--line); border-left-color:var(--acc); border-radius:50%; width:31px; height:31px; }.score b { font:500 11px var(--mono); }
.empty { text-align:center; padding:44px 20px; color:var(--mute); font-size:14px; }.empty b { display:block; font:500 18px var(--display); letter-spacing:-.3px; color:var(--text); margin-bottom:8px; }.note { margin-top:12px; font-size:12px; line-height:1.6; color:var(--mute); }.err { color:var(--down); font-size:13px; }.flag { padding:12px 14px; display:flex; align-items:flex-start; gap:10px; background:var(--warnbg); color:var(--warn); border-radius:6px; font-size:13px; margin-bottom:8px; }ul.ev { list-style:none; padding:0; margin:0; }ul.ev li { font-size:13px; padding-left:14px; position:relative; margin:5px 0; }ul.ev li:before { content:'·'; position:absolute; left:0; }
dl.kv { display:grid; grid-template-columns:auto 1fr; gap:10px 16px; font-size:13px; margin:0; }dl.kv dt { color:var(--mute); }dl.kv dd { margin:0; text-align:right; font:12px/1.5 var(--mono); overflow-wrap:anywhere; }.quote { display:flex; gap:15px; align-items:baseline; flex-wrap:wrap; }.quote .px { font:500 40px var(--display); letter-spacing:-1.5px; font-variant-numeric:tabular-nums; }.quote .ch { font:13px var(--sans); }.stat-strip { display:flex; gap:26px; flex-wrap:wrap; margin-top:20px; }.stat-strip div { font-size:11px; color:var(--mute); }.stat-strip b { display:block; font:13px var(--mono); color:var(--text); margin-top:4px; }
#chart { height:450px; }.chartbox { height:250px; position:relative; }.skel { background:var(--bg2); height:15px; margin:12px 0; border-radius:4px; }.ladder { display:flex; flex-direction:column; gap:5px; }.lv { display:grid; grid-template-columns:65px 1fr 65px 55px; gap:8px; padding:9px 6px; border-radius:5px; font:11px var(--mono); }.lv.res { background:var(--downbg); }.lv.sup { background:var(--upbg); }.lv.now { background:var(--accbg); color:var(--acc); }.lv .tag { font:9px var(--sans); }.str { display:block; height:4px; background:var(--line); }.str i { display:block; height:100%; background:var(--acc); }.lv.res .str i { background:var(--down); }.lv .d { text-align:right; }.rbar { position:relative; height:6px; border-radius:3px; background:var(--line); width:150px; }.rbar .z { position:absolute; top:0; bottom:0; }.rbar .mk { position:absolute; top:-4px; width:2px; height:14px; }.rbar .px { position:absolute; width:9px; height:16px; top:-5px; margin-left:-4px; border:2px solid var(--panel); background:var(--text); }.rlab { display:flex; justify-content:space-between; width:150px; font:10px var(--mono); color:var(--mute); margin-top:5px; }
.wl-item { display:grid; grid-template-columns:1fr 65px 80px; gap:8px; align-items:center; padding:17px 0; border-bottom:1px solid var(--line); cursor:pointer; }.wl-item:hover { background:var(--bg2); }.wl-item:last-child { border:0; }.wl-item svg { width:65px; height:26px; }.bars { display:flex; flex-direction:column; gap:12px; }.bars .b { display:grid; grid-template-columns:110px 1fr 44px; gap:10px; font-size:12px; align-items:center; }.bars .t { height:5px; border-radius:2px; background:var(--line); overflow:hidden; }.bars .t i { display:block; height:100%; background:var(--acc); }.gauge { height:4px; background:var(--line); margin:18px 0 0; position:relative; }.gauge i { position:absolute; top:-3px; width:3px; height:10px; background:var(--acc); }
.cmd,.modal { position:fixed; inset:0; z-index:50; display:grid; place-items:center; padding:20px; background:#14251b66; backdrop-filter:blur(4px); }.cmd { align-items:start; padding-top:12vh; }.cmd[hidden],.modal[hidden] { display:none; }.cmd-box { width:min(550px,96vw); border-radius:12px; border:1px solid var(--line2); background:var(--panel); box-shadow:var(--shadow); overflow:hidden; }.cmd-top { display:flex; justify-content:space-between; align-items:center; padding:12px 20px 2px; font-size:13px; color:var(--mute); }.cmd-box input { width:100%; padding:16px 20px; border:0; border-bottom:1px solid var(--line); border-radius:0; font-size:18px; box-shadow:none; }.cmd-tip { font:10px var(--mono); padding:14px 20px; color:var(--mute); border-top:1px solid var(--line); }#cmdList div { padding:12px 20px; display:flex; justify-content:space-between; cursor:pointer; }#cmdList .sel,#cmdList div:hover { background:var(--accbg); }.modal-box { width:min(670px,96vw); max-height:90vh; overflow:auto; border:1px solid var(--line2); background:var(--panel); padding:28px; border-radius:12px; box-shadow:var(--shadow); }#toast { display:none; position:fixed; bottom:24px; right:24px; background:var(--panel); border:1px solid var(--line); padding:15px 20px; border-radius:8px; box-shadow:var(--shadow); max-width:440px; z-index:70; font-size:14px; }
.disc { display:flex; align-items:flex-start; gap:28px; border-top:1px solid var(--line); padding:23px 42px; color:var(--mute); font-size:10px; margin-top:auto; }.footer-brand { font:600 18px var(--display); color:var(--text); letter-spacing:-.7px; }.disc .text-btn { margin-left:auto; font-size:11px; padding:0; white-space:nowrap; }.mobile-nav { display:none; }
/* Open chart-led workspace: the large canvas is the signature, not a stack of cards. */
.overview-grid { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:36px; }.overview-main { min-width:0; }.hero-chart { border-bottom:1px solid var(--line); padding-bottom:24px; }.hero-title { display:flex; align-items:center; gap:9px; font-size:15px; }.market-emblem { border:1px solid var(--line2); padding:5px 7px; border-radius:4px; font:500 9px var(--mono); }.hero-number { font:500 clamp(36px,3.4vw,54px)/1.15 var(--display); letter-spacing:-2px; font-variant-numeric:tabular-nums; margin-top:16px; }.hero-change { margin:9px 0 16px; font-size:13px; }.hero-change .mute { margin-left:5px; }.hero-canvas { height:285px; margin:0 -8px; }.period-tabs { display:flex; gap:22px; margin-top:13px; }.period-tabs button { padding:8px 0; border:0; background:none; font:500 12px var(--sans); color:var(--mute); min-height:40px; }.period-tabs button.on { color:var(--acc); border-bottom:2px solid var(--acc); }.market-metrics { display:grid; grid-template-columns:repeat(3,1fr); margin:24px 0 32px; }.market-metrics>div { padding:0 18px; border-left:1px solid var(--line); }.market-metrics>div:first-child { padding-left:0; border:0; }.metric-label { font-size:11px; color:var(--mute); }.metric-number { font:500 22px var(--display); margin:7px 0 3px; font-variant-numeric:tabular-nums; }.metric-note { font-size:11px; color:var(--mute); }.section-heading { display:flex; justify-content:space-between; align-items:center; margin:27px 0 12px; }.section-heading h2 { font-size:19px; }.setup-list { border-top:1px solid var(--line); }.setup-row { display:grid; grid-template-columns:38px 1fr 50px 90px 108px; gap:12px; align-items:center; padding:16px 0; border-bottom:1px solid var(--line); cursor:pointer; }.setup-row:hover { background:var(--bg2); }.ticker-tile { display:grid; place-items:center; width:35px; height:35px; background:var(--bg2); border:1px solid var(--line); font:600 11px var(--display); border-radius:7px; }.setup-price { font:12px var(--mono); text-align:right; }.setup-score { color:var(--mute); font:11px var(--mono); text-align:right; }.practice-promo { background:var(--bg2); padding:26px 24px; border:1px solid var(--line); border-radius:9px; }.practice-promo h2 { font:500 25px/1.2 var(--display); letter-spacing:-1px; margin:13px 0; }.practice-promo p { color:var(--mute); font-size:13px; margin:0 0 21px; }.practice-promo .promo-balance { font:500 30px var(--display); letter-spacing:-1px; margin-bottom:2px; }.practice-promo small { color:var(--mute); font-size:11px; }.practice-promo .btn { margin-top:20px; }.watch-panel { margin-top:28px; padding:0 4px; }.watch-panel h2 { font-size:17px; }.tip-panel { border-top:1px solid var(--line); margin-top:24px; padding:20px 4px 0; }.tip-panel p { color:var(--mute); font-size:12px; }.market-message { margin-top:28px; background:var(--bg2); padding:17px 19px; border-radius:7px; font-size:13px; display:flex; gap:12px; }.market-message b { font-weight:600; }.market-message p { color:var(--mute); margin:3px 0 0; font-size:12px; }
/* Paper desk and order ticket */
.paper-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:32px; }.paper-summary { padding:0 0 24px; border-bottom:1px solid var(--line); }.paper-summary .hero-number { margin-top:9px; }.paper-stats { display:grid; grid-template-columns:repeat(3,1fr); margin:24px 0; gap:20px; }.paper-stats .metric-number { font-size:20px; }.realized-plot { height:175px; margin:22px 0 0; position:relative; }.flat-account { height:160px; display:flex; flex-direction:column; justify-content:center; color:var(--mute); font-size:12px; gap:20px; }.flat-line { height:1px; width:100%; background:var(--acc); position:relative; }.flat-line:after { content:''; position:absolute; width:7px; height:7px; background:var(--acc); border-radius:50%; right:0; top:-3px; }.ticket { background:var(--panel); border:1px solid var(--line2); border-radius:10px; padding:24px; align-self:start; position:sticky; top:109px; }.ticket h2 { font-size:20px; }.ticket .seg { display:flex; margin:22px 0 19px; }.ticket .seg button { flex:1; }.ticket-fields { display:grid; grid-template-columns:1fr 1fr; gap:16px; }.ticket-fields .full { grid-column:span 2; }.ticket input,.ticket select { width:100%; }.ticket textarea { font-size:13px; }.ticket .btn { margin-top:22px; }.ticket-quote { color:var(--mute); font-size:11px; padding:10px 0; }.ticket-divider { height:1px; background:var(--line); margin:20px 0; }.ticket-details { display:flex; justify-content:space-between; font-size:12px; margin:10px 0; color:var(--mute); }.ticket-details b { font:12px var(--mono); color:var(--text); }.ticket-note { font-size:11px; text-align:center; color:var(--mute); margin-top:12px; }.practice-steps { display:flex; gap:24px; margin-top:26px; padding:18px 0; border-top:1px solid var(--line); }.practice-steps>div { flex:1; font-size:12px; }.practice-steps b { font-size:11px; margin-right:6px; color:var(--acc); }.practice-steps p { font-size:11px; color:var(--mute); margin:4px 0 0; }.desk-tabs { display:flex; gap:24px; border-bottom:1px solid var(--line); margin:24px 0 0; }.desk-tabs button { border:0; background:none; color:var(--mute); padding:12px 0; min-height:46px; font-size:14px; }.desk-tabs button.on { color:var(--text); border-bottom:2px solid var(--acc); }.count { margin-left:6px; background:var(--bg2); border-radius:4px; padding:1px 5px; font-size:10px; }.paper-position { padding:19px 0; border-bottom:1px solid var(--line); }.position-top { display:flex; justify-content:space-between; align-items:center; gap:12px; }.position-data { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; margin:17px 0; }.position-data span { display:block; font-size:10px; color:var(--mute); margin-bottom:3px; }.position-data b { font:12px var(--mono); font-weight:400; }.position-journal { font-size:13px; border-left:2px solid var(--line2); padding-left:12px; color:var(--mute); margin:14px 0 10px; overflow-wrap:anywhere; }.empty-paper { padding:34px 0; text-align:left; }.empty-paper h2 { font:500 23px var(--display); margin:8px 0; }.empty-paper p { color:var(--mute); font-size:14px; max-width:48ch; margin:0; }.help-steps { counter-reset:step; }.help-steps>div { padding:18px 0; border-bottom:1px solid var(--line); }.help-steps h3 { color:var(--text); text-transform:none; font-size:16px; letter-spacing:0; }.help-steps p { font-size:14px; color:var(--mute); }.review-details { margin:25px 0; }.review-details .ticket-details { font-size:14px; padding:5px 0; }.review-details .ticket-details b { font-size:13px; }
/* Sign-in and subscription */
.signin-panel { background:var(--bg2); border:1px solid var(--line); border-radius:10px; padding:36px; display:flex; justify-content:space-between; align-items:center; gap:25px; }.signin-panel h2 { font:500 28px var(--display); letter-spacing:-1px; margin-bottom:10px; }.signin-panel p { max-width:54ch; color:var(--mute); margin:0; font-size:14px; }.plan-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:60px; margin-top:34px; }.plus-panel { background:var(--bg2); border:1px solid var(--line); border-radius:10px; padding:30px; }.plus-panel h2 { font-size:25px; }.plan-price { font:500 53px var(--display); letter-spacing:-2px; margin:22px 0 16px; }.plan-price small { font:14px var(--sans); letter-spacing:0; color:var(--mute); }.plan-features { list-style:none; padding:0; margin:0 0 25px; }.plan-features li { padding:9px 0; border-bottom:1px solid var(--line); font-size:13px; }.plan-features li:before { content:'✓'; color:var(--acc); margin-right:9px; }.account-line { display:flex; justify-content:space-between; gap:20px; padding:19px 0; border-bottom:1px solid var(--line); font-size:14px; }.account-line .sub { margin-top:6px; }.account-line strong { font-weight:600; }.account-line .value { text-align:right; color:var(--mute); }.test-banner { font:11px var(--mono); letter-spacing:.5px; background:var(--warnbg); color:var(--warn); border:1px solid color-mix(in srgb,var(--warn) 20%,transparent); padding:12px 15px; border-radius:6px; margin:16px 0; }.paywall { padding:42px; border:1px solid var(--line); border-radius:10px; background:var(--bg2); }.paywall h2 { font:500 30px var(--display); letter-spacing:-1px; margin:10px 0; }.paywall p { color:var(--mute); max-width:55ch; font-size:14px; }.journal-grid { display:flex; flex-direction:column; gap:16px; }.journal-grid input,.journal-grid select { width:100%; }
@media(min-width:1700px) { .app { grid-template-columns:258px 1fr; }main { padding-left:55px; padding-right:55px; }.overview-grid { gap:54px; }.hero-canvas { height:330px; } }
@media(max-width:1250px) { .app { grid-template-columns:215px minmax(0,1fr); }.side { padding-left:12px; padding-right:12px; }.nav-new { display:none; }.topbar { padding:0 28px; }main { padding:30px 28px 42px; }.tape-wrap { padding:12px 28px; }.overview-grid { grid-template-columns:minmax(0,1fr) 275px; gap:25px; }.paper-layout { grid-template-columns:minmax(0,1fr) 295px; gap:25px; }.w-main { grid-template-columns:1fr; }.g5 { grid-template-columns:repeat(3,1fr); }.plan-layout { gap:30px; }.hero-number { font-size:44px; }.setup-row { grid-template-columns:32px 1fr 40px 80px; }.setup-row>.setup-evidence { display:none; }.disc { padding:23px 28px; } }
@media(max-width:1050px) { .app { grid-template-columns:190px minmax(0,1fr); }#nav a { font-size:13px; padding:10px 8px; gap:8px; }.logo { font-size:25px; padding-left:7px; }.nav-label { font-size:9px; margin-left:8px; letter-spacing:1px; }.upgrade-mini { padding:9px 7px; }.upgrade-mini .mini-mark { display:none; }.top-actions { gap:10px; }.search-btn { width:310px; }.overview-grid { grid-template-columns:1fr; }.overview-aside { display:grid; grid-template-columns:1fr 1fr; gap:25px; }.watch-panel { margin:0; }.tip-panel { display:none; }.paper-layout { grid-template-columns:1fr; }.ticket { position:static; max-width:none; }.ticket .ticket-fields { grid-template-columns:repeat(4,1fr); }.ticket-fields .full { grid-column:span 2; }.ticket-fields label:has(textarea) { grid-column:span 4; }.ticket .seg { max-width:300px; }.ticket .btn { max-width:300px; }.g4 { grid-template-columns:1fr 1fr; }.plan-layout { grid-template-columns:1fr 295px; }.ph h1 { font-size:26px; } }
@media(max-width:800px) { .app { display:block; }.side { position:fixed; left:-255px; width:245px; z-index:40; transition:left .2s var(--ease); box-shadow:var(--shadow); }.side.open { left:0; }.hamb { display:grid; }.topbar { height:72px; padding:0 21px; gap:12px; }.search-btn { flex:1; width:auto; max-width:390px; }.top-actions { gap:9px; }.mode-pill { display:none; }.top-actions>.icon-btn { display:none; }.tape-wrap { padding:12px 22px; }.tape-note { display:none; }main { padding:28px 22px 36px; }.ph { margin-bottom:24px; }.hero-canvas { height:270px; }.hero-number { font-size:46px; }.mobile-nav { display:flex; position:fixed; bottom:0; left:0; right:0; height:calc(66px + env(safe-area-inset-bottom)); padding-bottom:env(safe-area-inset-bottom); border-top:1px solid var(--line); background:var(--panel); z-index:25; }.mobile-nav a { display:flex; flex:1; align-items:center; justify-content:center; flex-direction:column; gap:4px; text-decoration:none; color:var(--mute); font-size:10px; }.mobile-nav a.on { color:var(--acc); }.disc { padding:25px 22px 95px; }.disc .text-btn { display:none; }#toast { bottom:90px; left:20px; right:20px; }.plan-layout { grid-template-columns:1fr; gap:25px; }.plus-panel { max-width:100%; } }
@media(max-width:560px) { .topbar { padding:0 15px; }.search-btn { padding:9px 11px; gap:8px; font-size:13px; }.search-btn kbd { display:none; }.hamb { min-width:30px; }.tape-wrap { padding:10px 18px; }main { padding:26px 18px 34px; }.ph h1 { font-size:26px; }.ph p { font-size:13px; }.ph .row { width:100%; }.overview-grid { gap:27px; }.overview-aside { grid-template-columns:1fr; gap:28px; }.hero-number { font-size:45px; }.hero-canvas { height:220px; }.market-metrics { gap:9px; margin-bottom:24px; }.market-metrics>div { padding:0 9px; }.metric-number { font-size:19px; }.metric-note { font-size:10px; }.metric-label { font-size:10px; }.setup-row { grid-template-columns:34px 1fr 38px 75px; gap:8px; }.section-heading h2 { font-size:18px; }.practice-promo { padding:23px; }.g2,.g3,.g4,.g5 { grid-template-columns:1fr; }.span2 { grid-column:auto; }.card { padding:19px; }.form-grid { grid-template-columns:1fr 1fr; }.filters { gap:11px; }.filters label.f { flex:1 0 95px; }.filters input,.filters select { width:100%; }.filters>.btn { width:100%; }.seg { width:100%; }.seg button { padding:6px 11px; font-size:12px; }.quote .px { font-size:34px; }.stat-strip { gap:15px; }.stat-strip div { min-width:75px; }#chart { height:310px; }.paper-stats { gap:12px; }.paper-stats .metric-number { font-size:18px; }.ticket { padding:22px 19px; }.ticket .ticket-fields { grid-template-columns:1fr 1fr; }.ticket-fields label:has(textarea) { grid-column:span 2; }.ticket .btn { max-width:none; }.ticket .seg { max-width:none; }.practice-steps { gap:15px; }.practice-steps>div { font-size:11px; }.position-data { grid-template-columns:1fr 1fr; }.position-top { flex-wrap:wrap; }.position-top .row { gap:6px; }.paper-position .ghost.sm { min-height:44px; }.signin-panel { padding:26px; flex-direction:column; align-items:flex-start; }.signin-panel h2 { font-size:25px; }.signin-panel>.btn { width:100%; }.paywall { padding:28px; }.desk-tabs { gap:19px; }.desk-tabs button { font-size:13px; }.disc { gap:16px; }.modal-box { padding:23px; }.ticket .note { font-size:11px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.tab.on { animation:none; }* { transition:none!important; } }
