/* TopTrades FX app - dark premium theme */
:root{
  --bg:#070707; --bg2:#0f0e0c; --card:#14120f; --card2:#1b1814; --line:#2a251d;
  --gold:#d9a63d; --gold2:#f6d878; --text:#f3eee4; --muted:#a59d8f; --dim:#6f685d;
  --green:#5fcf8f; --red:#ef6b5e; --radius:16px;
  --grad:linear-gradient(135deg,#f6d878 0%,#d9a63d 55%,#a8761f 100%);
  --safe-b:env(safe-area-inset-bottom,0px); --safe-t:env(safe-area-inset-top,0px);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  min-height:100vh;-webkit-tap-highlight-color:transparent;
  background-image:radial-gradient(120% 50% at 50% -10%,rgba(217,166,61,.13),transparent 60%);background-attachment:fixed}
a{color:var(--gold2)}
[hidden]{display:none!important}
h1{font-size:24px;line-height:1.2;margin:4px 0 2px;letter-spacing:-.01em;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.sub{color:var(--muted);margin:0 0 14px;font-size:14px}
.sub.tight{margin:4px 0 10px}

.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;
  padding:calc(10px + var(--safe-t)) 16px 10px;background:rgba(7,7,7,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(217,166,61,.18)}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--text);font-weight:700;font-size:17px;letter-spacing:.01em}
.brand img{border-radius:50%;box-shadow:0 0 0 1px rgba(217,166,61,.35)}
.brand b{color:var(--gold)}
.top-actions{display:flex;align-items:center;gap:8px}
.tg-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:var(--grad);color:#1a1205;
  font-weight:700;font-size:13px;text-decoration:none}
.tg-pill svg{width:15px;height:15px;fill:#1a1205}
.icon-btn{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:50%;color:var(--gold2);border:1px solid var(--line)}
.icon-btn svg{width:20px;height:20px}

main{max-width:560px;margin:0 auto;padding:14px 16px calc(92px + var(--safe-b))}
.view{animation:fade .18s ease}
@keyframes fade{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}

.card{background:linear-gradient(180deg,var(--card2),var(--card));border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin:0 0 12px}
.card > b{display:block;color:var(--gold2);margin-bottom:4px}
.card p{margin:6px 0;color:#d9d2c5;font-size:14px}
.field{display:block;margin:0 0 11px}
.field > span{display:block;font-size:12px;color:var(--muted);margin:0 0 5px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.field > span small,.field > span em{text-transform:none;letter-spacing:0;font-style:normal;font-weight:500}
input,select,textarea{width:100%;font:inherit;font-size:16px;color:var(--text);background:#0b0a08;border:1px solid #332c21;border-radius:11px;
  padding:11px 12px;outline:none;-webkit-appearance:none;appearance:none}
select{background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);
  background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:32px}
input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(217,166,61,.18)}
input[type=date]{min-height:46px}
input.bad{border-color:var(--red)}
textarea{resize:vertical}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.hint{color:var(--dim);font-size:12px;margin:2px 0 0}
.small-print{color:var(--dim);font-size:12px;margin:8px 2px 14px}

.seg{display:flex;background:#0b0a08;border:1px solid #332c21;border-radius:12px;padding:3px;margin:0 0 12px}
.seg button{flex:1;border:0;background:transparent;color:var(--muted);font:inherit;font-weight:600;padding:9px 6px;border-radius:9px;cursor:pointer}
.seg button.on{background:var(--grad);color:#1a1205}
.seg.small button{padding:7px 6px;font-size:14px}

.result{background:radial-gradient(140% 120% at 0% 0%,rgba(246,216,120,.16),rgba(217,166,61,.05) 50%,transparent),var(--card);
  border:1px solid rgba(217,166,61,.45);border-radius:var(--radius);padding:16px;margin:0 0 12px}
.result .big{font-size:34px;font-weight:800;line-height:1.1;letter-spacing:-.02em;color:var(--gold2)}
.result .big small{font-size:15px;color:var(--muted);font-weight:600;margin-left:4px}
.result .label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-weight:600}
.result .grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.result .grid div{background:rgba(0,0,0,.25);border:1px solid var(--line);border-radius:12px;padding:10px}
.result .grid b{display:block;font-size:18px;color:var(--text)}
.result .pos{color:var(--green)} .result .neg{color:var(--red)}
.result .err{color:var(--red);font-weight:600}
.result .expl{color:var(--muted);font-size:13px;margin:10px 0 0}

.note{background:rgba(217,166,61,.07);border:1px solid rgba(217,166,61,.25);border-left:3px solid var(--gold);border-radius:12px;padding:12px 13px;margin:0 0 12px;font-size:13.5px;color:#ddd5c6}
.note b{color:var(--gold2)}
.note p{margin:8px 0 0}
.note.warn{border-left-color:var(--red);background:rgba(239,107,94,.06);border-color:rgba(239,107,94,.3)}
.note.warn b{color:#ffd9b0}

details.card summary{cursor:pointer;font-weight:700;color:var(--gold2);list-style:none;display:flex;justify-content:space-between;align-items:center}
details.card summary::-webkit-details-marker{display:none}
details.card summary::after{content:"";width:8px;height:8px;border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(45deg);transition:transform .2s;margin-right:4px}
details[open].card summary::after{transform:rotate(-135deg)}
details[open].card summary{margin-bottom:12px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:700;border-radius:12px;padding:12px 16px;cursor:pointer;text-decoration:none;border:1px solid transparent}
.btn.block{display:flex;width:100%;margin:0 0 12px}
.btn.gold{background:var(--grad);color:#1a1205}
.btn.ghost{background:transparent;color:var(--gold2);border-color:rgba(217,166,61,.45)}
.btn.danger{color:#ff9d92;border-color:rgba(239,107,94,.45);margin-top:6px}
.btn.tg{background:var(--grad);color:#1a1205;font-size:16px;padding:15px;box-shadow:0 8px 28px rgba(217,166,61,.22)}
.btn.tg::before{content:"";width:20px;height:20px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%231a1205' d='M21.6 3.2 2.9 10.4c-1.3.5-1.3 1.2-.2 1.6l4.8 1.5 1.8 5.6c.2.6.4.8.8.8.4 0 .6-.2.9-.5l2.3-2.2 4.8 3.5c.9.5 1.5.2 1.7-.8l3.1-14.8c.3-1.3-.5-1.9-1.3-1.5zM8.6 13.2l9.6-6c.5-.3.9-.1.5.2l-8 7.3-.3 3.4-1.8-4.9z'/%3E%3C/svg%3E")}
.btn:active{transform:scale(.98)}

/* sessions */
.now-card{text-align:center;padding:18px 14px}
.now-time{font-size:44px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--gold2);line-height:1.05}
.now-status{color:var(--muted);margin-top:6px;font-size:14px}
.now-status b{color:var(--text)}
.sess{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:0 0 9px}
.sess.open{border-color:rgba(95,207,143,.5);background:linear-gradient(90deg,rgba(95,207,143,.08),transparent 60%),var(--card)}
.sess .dot{width:10px;height:10px;border-radius:50%;background:#3a342b;flex:none}
.sess.open .dot{background:var(--green);box-shadow:0 0 0 4px rgba(95,207,143,.18)}
.sess .nm{font-weight:700}
.sess .hrs{color:var(--muted);font-size:13px}
.sess .st{margin-left:auto;text-align:right;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.sess .st b{display:block;font-size:14px;color:var(--text)}
.sess.open .st b{color:var(--green)}
.tl-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.tl-head b{color:var(--gold2)} .tl-head span{color:var(--dim);font-size:12px}
.timeline{position:relative}
.tl-row{position:relative;height:24px;margin:0 0 6px;background:#0b0a08;border-radius:7px;overflow:hidden}
.tl-row .lbl{position:absolute;left:6px;top:3px;font-size:11px;color:var(--muted);z-index:2;font-weight:600;text-shadow:0 1px 2px #000}
.tl-row .bar{position:absolute;top:0;bottom:0;background:linear-gradient(90deg,rgba(217,166,61,.35),rgba(246,216,120,.5));border-radius:6px}
.tl-row .bar.ov{background:repeating-linear-gradient(45deg,rgba(246,216,120,.85) 0 6px,rgba(217,166,61,.6) 6px 12px)}
.tl-now{position:absolute;top:-4px;bottom:-4px;width:2px;background:#fff;box-shadow:0 0 8px rgba(255,255,255,.8);z-index:3}
.tl-axis{display:flex;justify-content:space-between;color:var(--dim);font-size:11px;margin-top:4px}
.legend{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;margin-top:8px}
.lg{display:inline-block;width:14px;height:10px;border-radius:3px;margin-left:8px}
.lg.ov{background:repeating-linear-gradient(45deg,rgba(246,216,120,.85) 0 3px,rgba(217,166,61,.6) 3px 6px);margin-left:0}
.lg.now{background:#fff;width:3px}
.ovl{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-top:1px solid var(--line);font-size:14px}
.ovl:first-of-type{border-top:0}
.ovl .t{color:var(--muted);font-variant-numeric:tabular-nums}
.ovl.on{color:var(--gold2);font-weight:700}
.tag{display:inline-block;font-size:11px;padding:2px 7px;border-radius:999px;background:var(--grad);color:#1a1205;font-weight:800;margin-left:6px;vertical-align:1px}

/* journal */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 12px}
.stats div{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:9px 6px;text-align:center}
.stats b{display:block;font-size:17px;color:var(--gold2);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stats span{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.j-actions{display:flex;align-items:center;gap:10px;margin:0 0 12px}
.trade{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:0 0 9px}
.trade .top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.trade .pr{font-weight:800}
.trade .dir{font-size:11px;font-weight:800;padding:2px 7px;border-radius:6px;margin-left:6px;text-transform:uppercase}
.trade .dir.buy{background:rgba(95,207,143,.15);color:var(--green)}
.trade .dir.sell{background:rgba(239,107,94,.15);color:var(--red)}
.trade .res{font-weight:800;font-variant-numeric:tabular-nums}
.trade .res.pos{color:var(--green)} .trade .res.neg{color:var(--red)}
.trade .meta{color:var(--muted);font-size:12.5px;margin-top:4px}
.trade .nt{font-size:13.5px;margin-top:6px;color:#d9d2c5;white-space:pre-wrap;word-break:break-word}
.trade .chip{display:inline-block;font-size:11px;border:1px solid var(--line);border-radius:999px;padding:1px 8px;margin:6px 6px 0 0;color:var(--gold2)}
.trade .del{background:none;border:0;color:var(--dim);font:inherit;font-size:12px;cursor:pointer;padding:4px 0 0;text-decoration:underline}
.empty{text-align:center;color:var(--muted);padding:22px 10px;border:1px dashed var(--line);border-radius:14px;margin:0 0 12px}
.form-error{color:var(--red);font-size:13px;min-height:0;margin:0 0 8px}

/* news (TradingView economic calendar widget) */
.news-filters{padding:12px}
.news-filters .nf-label:first-child{margin-top:0}
.nf-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-weight:700;margin:12px 0 6px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font:inherit;font-size:13px;font-weight:700;color:var(--muted);background:#0b0a08;border:1px solid #332c21;border-radius:999px;padding:6px 11px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.chip.on{color:#1a1205;background:var(--grad);border-color:transparent}
.chip.imp-t i{width:9px;height:9px;border-radius:50%;display:inline-block}
.chip.imp-t-high i{background:#ef4b3f}.chip.imp-t-medium i{background:#f28c28}.chip.imp-t-low i{background:#f2d024}
.chip.imp-t.on{background:#211c15;color:var(--text);border-color:rgba(246,216,120,.55)}
.chip.imp-t:not(.on){opacity:.55;text-decoration:line-through}
.imp{display:inline-block;font-size:10.5px;font-weight:800;padding:2px 7px;border-radius:6px;text-transform:uppercase;letter-spacing:.04em;line-height:1.35}
.imp-high{background:#ef4b3f;color:#fff}.imp-medium{background:#f28c28;color:#1a1205}.imp-low{background:#f2d024;color:#1a1205}
.small-print .imp{font-size:9.5px;padding:1px 5px}
.news-tz{color:var(--muted);font-size:12.5px;margin:-2px 2px 8px}
.tv-box{position:relative;height:calc(100vh - 150px);height:calc(100dvh - 150px);min-height:460px;margin:0 0 12px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#070707}
.tv-holder,.tv-holder .tradingview-widget-container{height:100%}
.tradingview-widget-container__widget{height:calc(100% - 32px)}
/* The app uses color-scheme:dark; an iframe whose page doesn't declare the same scheme gets an opaque white backdrop, so give the iframe the widget page's own (light) scheme to keep it transparent. */
.tv-holder iframe{color-scheme:light}
.tradingview-widget-copyright{height:32px;line-height:32px;text-align:center;font-size:12px;border-top:1px solid var(--line)}
.tradingview-widget-copyright a{color:var(--gold2);text-decoration:none}
.tv-msg{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;color:var(--muted);font-size:14px;z-index:2;background:#070707}
.tv-msg b{color:var(--text);font-size:16px}
.tv-msg p{margin:6px 0 14px}

/* learn */
.how ol{margin:6px 0 10px;padding-left:20px;color:#d9d2c5;font-size:14px}
.progress{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}
.progress .bar{flex:1;height:6px;background:#0b0a08;border-radius:9px;overflow:hidden}
.progress .bar i{display:block;height:100%;width:0;background:var(--grad);transition:width .3s}
.lesson summary{gap:10px}
.lesson .dnum{flex:none;width:44px;height:44px;border-radius:12px;background:var(--grad);color:#1a1205;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800;line-height:1}
.lesson .dnum small{font-size:9px;letter-spacing:.08em}
.lesson .dnum span{font-size:18px}
.lesson .lt{flex:1;color:var(--text)}
.lesson .lt small{display:block;color:var(--muted);font-weight:500;font-size:12px}
.lesson.done .lt small{color:var(--green)}
.lesson ul{margin:0 0 8px;padding-left:18px}
.lesson li{margin:0 0 8px;color:#ddd5c6;font-size:14.5px}
.tryit{background:rgba(217,166,61,.08);border:1px dashed rgba(217,166,61,.5);border-radius:12px;padding:10px 12px;font-size:14px;margin:8px 0}
.tryit b{color:var(--gold2)}
.frank{font-size:13.5px;color:var(--muted);font-style:italic;margin:8px 0;padding-left:10px;border-left:2px solid var(--line)}
.lesson .acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.lesson .acts .btn{padding:9px 12px;font-size:14px}
.socials,.links{display:flex;flex-wrap:wrap;gap:8px}
.socials a,.links a{flex:1 1 auto;text-align:center;padding:10px 12px;border:1px solid rgba(217,166,61,.4);border-radius:11px;text-decoration:none;font-weight:600;font-size:14px}

.foot{margin:18px 0 0;padding:14px 4px 0;border-top:1px solid var(--line);color:var(--muted);font-size:12px;text-align:center}
.foot p{margin:4px 0}
.foot b{color:#cfc6b6;font-weight:600}

.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(7,1fr);
  background:rgba(10,9,8,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid rgba(217,166,61,.22);
  padding:6px 4px calc(6px + var(--safe-b))}
.tabbar a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:5px 0;color:var(--dim);text-decoration:none;font-size:10px;font-weight:600;border-radius:10px;min-width:0;white-space:nowrap;letter-spacing:-.01em}
.tabbar svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tabbar a.on{color:var(--gold2)}
.tabbar a.on svg{filter:drop-shadow(0 0 6px rgba(246,216,120,.45))}
@media (min-width:600px){.tabbar{max-width:560px;margin:0 auto;border-radius:18px 18px 0 0;border:1px solid rgba(217,166,61,.22)}}

.toast{position:fixed;left:50%;bottom:calc(84px + var(--safe-b));transform:translateX(-50%) translateY(20px);opacity:0;background:#211c15;border:1px solid var(--gold);
  color:var(--text);padding:10px 16px;border-radius:12px;font-size:14px;transition:.25s;pointer-events:none;z-index:40;max-width:90vw}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* TradingView consent (News tab) */
.tv-consent{max-width:330px}
.tv-consent p{color:var(--muted)}
.tv-consent a{color:var(--gold2)}
.tv-consent-row{font-size:13.5px;color:var(--muted)}
.linkbtn{font:inherit;font-weight:700;color:var(--gold2);background:none;border:0;padding:0;text-decoration:underline;cursor:pointer}

.guide h3{font-size:15px;color:var(--gold2);margin:14px 0 6px}
.guide p{font-size:14px;color:#d9d2c5;margin:6px 0}
.tbl-wrap{overflow-x:auto}
.gtable{width:100%;border-collapse:collapse;font-size:12.5px;margin:6px 0}
.gtable th,.gtable td{border:1px solid var(--line);padding:6px;text-align:left;vertical-align:top}
.gtable th{color:var(--gold2)}
.aff-box{border:1px solid rgba(217,166,61,.5);border-radius:12px;padding:10px 12px;margin:10px 0}
.ad-tag{display:inline-block;font-size:12px;font-weight:700;color:#111;background:var(--gold2);border-radius:6px;padding:2px 6px;margin-bottom:6px}
.aff-banner a{display:block}.aff-banner img{display:block;max-width:100%;height:auto;margin:0 auto;border-radius:8px}

/* challenge tracker (v1.0.14 preview) */
.new-tag{font-size:10px;color:#070707;background:var(--gold2);border-radius:6px;padding:1px 6px;margin-left:6px;font-weight:800;vertical-align:middle}
.ch-bar{margin:10px 0}.ch-bar .lab{display:flex;justify-content:space-between;font-size:13px;margin-bottom:4px}.ch-bar .lab b{color:var(--gold2)}
.ch-bar .trk{height:10px;border-radius:6px;background:#1a1a1a;border:1px solid var(--line);overflow:hidden}.ch-bar .fil{height:100%;background:var(--gold2)}
.ch-bar.warn .fil{background:#e0a030}.ch-bar.dang .fil{background:#e05050}.ch-bar.good .fil{background:#3fbf7f}
.ch-status{border-radius:10px;padding:10px 12px;margin:8px 0;font-weight:700}.ch-status.active{background:rgba(217,166,61,.1);border:1px solid var(--line)}
.ch-status.breached{background:rgba(224,80,80,.12);border:1px solid #e05050}.ch-status.passed{background:rgba(63,191,127,.12);border:1px solid #3fbf7f}
.ch-acts{display:flex;gap:8px;margin-top:10px}.ch-acts .btn{flex:1}

/* TopTrades Pro (web, licence key): styles ported from the store app */
.pro-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid rgba(217,166,61,.55);color:var(--gold2);font-weight:800;font-size:12px;letter-spacing:.08em;text-decoration:none}
.pro-pill.unlocked{background:var(--grad);color:#1a1205;border-color:transparent}
.pro-badge{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.08em;color:#1a1205;background:var(--grad);border-radius:6px;padding:2px 6px;vertical-align:middle}
.pro-teaser{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,rgba(246,216,120,.12),rgba(217,166,61,.04));border:1px solid rgba(217,166,61,.35);border-radius:14px;padding:12px 14px;margin:0 0 12px;text-decoration:none;color:var(--text)}
.pro-teaser b{display:block;color:var(--gold2)}.pro-teaser small{display:block;color:var(--muted);font-size:12.5px;line-height:1.35}
.pro-teaser i{margin-left:auto;font-style:normal;font-size:24px;color:var(--gold)}
.pro-lock-banner{display:flex;flex-direction:column;gap:10px;background:var(--card);border:1px solid rgba(217,166,61,.35);border-radius:14px;padding:14px;margin:0 0 12px;font-size:14px;color:#ddd5c6}
.pro-lock-banner b{color:var(--gold2)}
.pro-ok{background:rgba(95,207,143,.08);border:1px solid rgba(95,207,143,.35);border-radius:12px;padding:10px 13px;margin:0 0 12px;color:#bff0d2;font-size:14px}
.pro-ok .tag,.preview-tag{font-size:10px;font-weight:800;background:#3a1d12;color:#ffd9b0;border-radius:6px;padding:2px 6px;margin-left:6px;letter-spacing:.06em}
.pro-card{position:relative;overflow:hidden}
.pro-h{display:flex;align-items:center;justify-content:space-between;margin:0 0 10px}
.pro-h b{color:var(--gold2);font-size:16px}
.pro-lock{display:none}
.pro-card.locked .pro-inner{filter:blur(5px) saturate(.6);opacity:.55;pointer-events:none;user-select:none;max-height:230px;overflow:hidden}
.pro-card.locked .pro-lock{display:flex;position:absolute;left:50%;top:58%;transform:translate(-50%,-50%);align-items:center;gap:8px;font:inherit;font-weight:800;color:#1a1205;background:var(--grad);border:0;border-radius:999px;padding:11px 18px;box-shadow:0 8px 28px rgba(0,0,0,.55);cursor:pointer;white-space:nowrap}
.pro-stats{font-variant-numeric:tabular-nums;font-size:13.5px}
.ps-head,.ps-row{display:grid;grid-template-columns:1fr 46px 52px 62px 52px;gap:6px;align-items:center;padding:8px 2px;border-top:1px solid var(--line)}
.ps-head{border-top:0;color:var(--muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;padding-top:0}
.ps-head span:not(:first-child),.ps-row span:not(:first-child){text-align:right}
.ps-b{position:relative;line-height:1.3;padding-bottom:5px}
.ps-bar{position:absolute;left:0;bottom:0;height:3px;border-radius:2px;background:var(--grad);opacity:.75}
.pro-stats .pos{color:var(--green)}.pro-stats .neg{color:var(--red)}
.switch-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;font-weight:600;cursor:pointer}
.switch-row input{position:absolute;opacity:0;width:1px;height:1px}
.switch{width:46px;height:28px;border-radius:999px;background:#2a251d;position:relative;flex:none;transition:background .2s}
.switch::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#cfc6b6;transition:transform .2s}
.switch-row input:checked + .switch{background:var(--gold)}
.switch-row input:checked + .switch::after{transform:translateX(18px);background:#1a1205}
.up-hero{text-align:center;padding:8px 0 4px}
.up-hero img{border-radius:22px;box-shadow:0 10px 36px rgba(217,166,61,.25)}
.up-hero h1{font-size:28px;margin-top:10px}
.up-list{list-style:none;margin:6px 0 16px;padding:0}
.up-list li{display:flex;flex-direction:column;padding:10px 0 10px 32px;border-top:1px solid var(--line);position:relative}
.up-list li::before{content:"\2713";position:absolute;left:4px;top:10px;color:#1a1205;background:var(--grad);width:20px;height:20px;border-radius:50%;font-size:12px;font-weight:900;display:flex;align-items:center;justify-content:center}
.up-list b{color:var(--text)}.up-list span{color:var(--muted);font-size:13.5px}
.up-plans{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.up-plan{position:relative;cursor:pointer}
.up-plan span{display:flex;flex-direction:column;gap:2px;border:1px solid #332c21;background:var(--card);border-radius:14px;padding:12px 14px}
.up-plan em{font-style:normal;color:var(--gold2);font-weight:800;font-size:17px}
.up-plan small{color:var(--muted);font-size:12px}
.up-save{font-style:normal;font-size:10.5px;font-weight:800;color:#1a1205;background:var(--grad);border-radius:6px;padding:1px 5px;margin-left:4px;vertical-align:1px}
.up-terms{text-align:center;margin:12px 0;font-size:14.5px;color:#ddd5c6}
.up-terms b{color:var(--gold2)}
.up-links{text-align:center;font-size:14px;margin:0 0 12px}
a.up-plan{text-decoration:none;color:var(--text)}
a.up-plan span{border-color:rgba(217,166,61,.55)}
.up-plans{margin:0 0 12px}
#lk-card .field{margin-top:10px}
#lk-key{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.02em;text-transform:uppercase}
#lk-msg:empty{display:none}
#lk-msg{margin-top:10px}
#lk-manage .acts{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.pro-ok .linkbtn{margin-left:6px}
#ch-lock{margin-top:10px}
.pro-pill{margin-right:6px}

/* v1.0.15 build 2: Pro extras (presets, weekly report, screenshots, outlook) */
.lp-chip{display:inline-flex;align-items:center;gap:2px}
.lp-chip .chip{flex-direction:column;align-items:flex-start;gap:0;border-radius:12px;padding:7px 11px;text-align:left}
.lp-chip .chip small{font-weight:600;opacity:.8;font-size:11.5px}
.lp-chip .chip.on small{opacity:1}
.lp-x{font:inherit;font-size:18px;line-height:1;width:28px;height:28px;border-radius:50%;border:1px solid #332c21;background:#0b0a08;color:var(--muted);cursor:pointer}
#lp-list{margin:0 0 10px}
#lp-new summary{list-style:none;cursor:pointer;margin:4px 0 10px;display:inline-block}
#lp-new summary::-webkit-details-marker{display:none}
.tag-picks{margin:-4px 0 12px}
.tag-picks .chip{font-size:12px;padding:5px 10px}
.trade .chip.tag{color:#ffd9b0;border-color:rgba(239,107,94,.45)}
.shot-row{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 4px}
.shot-row:empty{display:none}
.shot{position:relative;width:76px;height:56px;border-radius:9px;overflow:hidden;border:1px solid #332c21;background:#0b0a08;padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--gold2);font:inherit;font-weight:700;font-size:13px}
.shot img{width:100%;height:100%;object-fit:cover;display:block}
.shot .lp-x{position:absolute;top:2px;right:2px;width:22px;height:22px;font-size:14px;background:rgba(0,0,0,.7)}
.shot.add{border-style:dashed}
#j-shots-pro .btn{padding:9px 12px;font-size:14px}
.shot-viewer{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.92);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px}
.shot-viewer[hidden]{display:none}
.shot-viewer img{max-width:100%;max-height:calc(100vh - 90px);object-fit:contain;border-radius:8px}
.sv-bar{display:flex;gap:8px;align-items:center;width:100%;max-width:720px;margin:0 0 10px}
.sv-bar span{flex:1;color:var(--muted);font-size:13px}
.sv-bar .btn{padding:9px 14px}
.j-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.wr-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:0 0 10px}
.wr-stats div{background:rgba(0,0,0,.25);border:1px solid var(--line);border-radius:10px;padding:8px 4px;text-align:center}
.wr-stats b{display:block;font-size:17px}.wr-stats span{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.wr-stats .pos,.wr-t .pos{color:var(--green)}.wr-stats .neg,.wr-t .neg{color:var(--red)}
.wr-t{width:100%;border-collapse:collapse;font-size:13.5px;margin:0 0 8px}
.wr-t th,.wr-t td{text-align:left;padding:6px 4px;border-top:1px solid var(--line)}
.wr-t th{color:var(--muted);font-size:11px;text-transform:uppercase;border-top:0}
.wr-l{font-size:13.5px}
.wr-sum{background:rgba(217,166,61,.07);border-left:3px solid var(--gold);border-radius:10px;padding:8px 12px;margin:10px 0}
.wr-sum b{color:var(--gold2)}
#wr-card .acts,#ol-card .acts{display:flex;flex-wrap:wrap;gap:8px}
.ol-sample{font-size:11.5px;font-weight:800;letter-spacing:.06em;color:#ffd9b0;background:rgba(239,107,94,.1);border:1px dashed rgba(239,107,94,.6);border-radius:8px;padding:5px 9px;text-align:center;margin:0 0 8px}
.ol-wk{color:var(--muted);font-size:13px}
.ol-lv{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:4px 0 10px}
.ol-lv div{border:1px solid var(--line);border-radius:10px;padding:7px 9px;background:rgba(0,0,0,.2)}
.ol-lv b{font-size:16px;margin-right:6px}.ol-lv span{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.ol-lv small{display:block;color:#cfc6b6;font-size:12px;line-height:1.3;margin-top:2px}
.ol-lv .res b{color:var(--red)}.ol-lv .sup b{color:var(--green)}
.ol-sc{display:grid;gap:8px;margin:0 0 10px}
.ol-sc div{border-radius:10px;padding:8px 11px;border:1px solid var(--line)}
.ol-sc .bullish{border-left:3px solid var(--green)}.ol-sc .bearish{border-left:3px solid var(--red)}
.ol-sc p{font-size:13.5px}
#ol-card .tryit{margin:10px 0 0}
#wr-print-root{display:none}
@media print{
  body.print-report > *:not(#wr-print-root){display:none !important}
  body.print-report{background:#fff !important;color:#1b1710 !important}
  body.print-report #wr-print-root{display:block;font-family:Arial,sans-serif;color:#1b1710;padding:0 6mm}
  #wr-print-root h1{font-size:20px;color:#1b1710}#wr-print-root h1 span{color:#a8761f}
  #wr-print-root .sub,#wr-print-root .hint,#wr-print-root .wr-stats span,#wr-print-root .wr-t th{color:#6b6253}
  #wr-print-root .wr-stats div{background:#fff;border:1px solid #d8c9a6}
  #wr-print-root .wr-t td,#wr-print-root .wr-t th{border-top:1px solid #e6dcc5;color:#1b1710}
  #wr-print-root .wr-sum{background:#fbf6e9}#wr-print-root .wr-sum b{color:#a8761f}
  #wr-print-root p,#wr-print-root b{color:#1b1710}
  #wr-print-root .pos{color:#167a43 !important}#wr-print-root .neg{color:#b3261e !important}
}
.al-ev{display:grid;grid-template-columns:42px 1fr auto;gap:8px;align-items:baseline;padding:7px 0;border-top:1px solid var(--line);font-size:13.5px}
.al-ev .cur{font-weight:800;color:var(--gold2)}.al-ev .w{color:var(--muted);font-size:12.5px;white-space:nowrap}

/* ---------- AI coach (v1.0.16 web preview) ---------- */
.tabbar{grid-template-columns:repeat(8,1fr)}
.tabbar a{font-size:9.5px}
.tabbar a.tab-coach span{color:var(--gold)}
.tabbar a.tab-coach.on span{color:var(--gold2)}
body.on-coach .foot{display:none}
.co-head{display:flex;align-items:center;gap:11px;margin:2px 0 12px}
.co-av{width:44px;height:44px;border-radius:50%;padding:2px;background:var(--grad);flex:none;box-shadow:0 0 0 4px rgba(217,166,61,.12)}
.co-av img{width:40px;height:40px;border-radius:50%;background:#0b0a08;display:block}
.co-who{min-width:0;flex:1}
.co-who h1{font-size:19px;margin:0;line-height:1.2}
.co-sub{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}
.co-live{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px rgba(95,207,143,.18);flex:none}
.co-count{flex:none;font-size:11.5px;font-weight:700;color:var(--gold2);border:1px solid rgba(217,166,61,.45);border-radius:999px;padding:5px 9px;white-space:nowrap}
.co-count.out{color:var(--red);border-color:rgba(239,107,94,.45)}
.co-list{display:flex;flex-direction:column;gap:10px;margin:0 0 12px}
.co-msg{max-width:88%;padding:10px 13px;border-radius:16px;font-size:14.5px;line-height:1.5;word-wrap:break-word}
.co-msg p{margin:0 0 8px}.co-msg p:last-child{margin-bottom:0}
.co-msg ul,.co-msg ol{margin:4px 0 8px;padding-left:20px}.co-msg li{margin:3px 0}
.co-msg.bot{align-self:flex-start;background:linear-gradient(180deg,var(--card2),var(--card));border:1px solid var(--line);border-top-left-radius:5px}
.co-msg.bot b{color:var(--gold2)}
.co-msg.me{align-self:flex-end;background:var(--grad);color:#1a1205;border-top-right-radius:5px;font-weight:500}
.co-msg.sys{border-color:rgba(217,166,61,.45)}
.co-msg .co-mini{color:var(--muted);font-size:12.5px}
.co-msg a.co-tool{color:var(--gold2);font-weight:700;text-decoration:none;border-bottom:1px dashed rgba(246,216,120,.6)}
.co-thumb{display:block;max-width:220px;max-height:160px;border-radius:10px;margin:0 0 6px;border:1px solid rgba(0,0,0,.25)}
.co-imgtag{display:inline-block;font-size:12px;font-weight:700;margin-bottom:4px}
.co-msg.typing{padding:13px 16px}
.co-dots{display:inline-flex;gap:5px}
.co-dots i{width:7px;height:7px;border-radius:50%;background:var(--gold);opacity:.35;animation:coDot 1.2s infinite}
.co-dots i:nth-child(2){animation-delay:.2s}.co-dots i:nth-child(3){animation-delay:.4s}
@keyframes coDot{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.co-starters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.co-starters .chip{text-align:left;border-color:rgba(217,166,61,.45);color:var(--gold2)}
.co-composer{position:sticky;bottom:calc(62px + var(--safe-b));background:var(--bg);box-shadow:0 -14px 14px -4px var(--bg);padding:8px 0 8px;margin:0 -2px;z-index:5}
.co-row{display:flex;align-items:flex-end;gap:8px}
.co-row textarea{flex:1;resize:none;min-height:46px;max-height:140px;padding:12px 13px;border-radius:14px;line-height:1.35}
.co-attach,.co-send{flex:none;width:46px;height:46px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.co-attach{background:transparent;border:1px solid rgba(217,166,61,.45);color:var(--gold2)}
.co-send{background:var(--grad);border:0;color:#1a1205}
.co-send:disabled{opacity:.4;cursor:default}
.co-attach svg,.co-send svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.co-send svg{fill:currentColor;stroke-width:1.2}
.co-pending{display:flex;align-items:center;gap:10px;margin:0 0 8px;font-size:13px;color:var(--muted)}
.co-pending img{width:54px;height:40px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}
.co-legal{color:var(--dim);font-size:11.5px;margin:6px 2px 4px;text-align:center}
.co-legal b{color:var(--muted)}
.co-off .co-live{background:var(--dim);box-shadow:none}
.co-count.pro{color:#1a1205;background:var(--grad);border-color:transparent}
.co-up{margin:10px 0 6px}
#co-left-note .co-mini,.co-msg .co-up + .co-mini{display:block;color:var(--muted);font-size:12.5px;text-align:center}
/* Coach Wolf card (top of first screen) + one-time welcome pop-up */
.co-card{display:flex;align-items:center;gap:12px;padding:11px 14px;margin:0 0 14px;border-radius:14px;text-decoration:none;color:var(--text);
  background:radial-gradient(120% 140% at 0% 0%,rgba(246,216,120,.18),rgba(217,166,61,.06) 55%,transparent),var(--card);border:1px solid rgba(217,166,61,.5)}
.co-card-ic{flex:none;width:38px;height:38px;border-radius:11px;background:var(--grad);display:inline-flex;align-items:center;justify-content:center;color:#1a1205}
.co-card-ic svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.co-card-t{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.co-card-t b{color:var(--gold2);font-size:15.5px}
.co-card-t small{color:var(--muted);font-size:12.5px}
.co-card-go{flex:none;color:var(--gold);font-size:26px;line-height:1;margin-top:-3px}
.co-pop{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.72);display:flex;align-items:center;justify-content:center;padding:20px}
.co-pop[hidden]{display:none}
.co-pop-box{width:100%;max-width:360px;background:linear-gradient(180deg,var(--card2),var(--card));border:1px solid rgba(217,166,61,.55);border-radius:20px;padding:22px 20px 14px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.6),0 0 40px rgba(217,166,61,.12)}
.co-pop-box h2{margin:12px 0 6px;font-size:22px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.co-pop-box p{color:#ddd5c6;font-size:14.5px;margin:0 0 16px}
.co-pop-box .btn{margin-bottom:8px}
.co-pop-box .co-pop-small{color:var(--dim);font-size:11.5px;margin:4px 0 0}
.co-av.big{width:64px;height:64px;margin:0 auto}
.co-av.big img{width:60px;height:60px}
body.co-pop-open{overflow:hidden}

/* Pro "coming soon" (v1.0.16.2, while web sales are paused) */
.up-soon{text-align:center;border-color:rgba(217,166,61,.5);background:radial-gradient(120% 140% at 50% 0%,rgba(246,216,120,.14),transparent 60%),var(--card)}
.up-soon > b{font-size:18px;margin:6px 0 6px}
.up-soon p{color:#ddd5c6;font-size:14px;margin:0 0 12px}
.up-soon .btn{margin:0}
.up-soon-tag{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.08em;color:#1a1205;background:var(--grad);border-radius:999px;padding:3px 10px}
