/* Joki Radar "Fresh" layer (owner-approved design "Joki Radar — Fresh Dashboard", 9 Oct 2026).
   Loaded LAST, after nbdy.css. Style only, plus fresh.js (display only, no API calls).
   Rollback: remove the fresh.css <link> and the fresh.js <script>, and restore the previous index.html. */
:root{
 --fr-buy:#0B7A3B;--fr-sell:#B42318;--fr-wait:#55605B;
 --fr-gfill:rgba(11,122,59,.12);--fr-gline:rgba(11,122,59,.7);--fr-rfill:rgba(180,35,24,.10);--fr-rline:rgba(180,35,24,.7);
 --fr-ink:#10191C;--fr-lime:#DCE75E;--fr-card:var(--card,#F6F6F5);--fr-line:var(--nb-line,rgba(26,26,26,.12));
 --fr-muted:#4A5552}
html[data-theme="dark"]{
 --fr-buy:#45DB93;--fr-sell:#FF8A80;--fr-wait:#B3BFBD;
 --fr-gfill:rgba(69,219,147,.14);--fr-gline:rgba(69,219,147,.7);--fr-rfill:rgba(255,138,128,.14);--fr-rline:rgba(255,138,128,.7);
 --fr-muted:#B3BFBD}

/* ================= LANDING ================= */
.fr-home{background:var(--nb-bg);color:var(--nb-ink);min-height:100vh}
.fr-home *{box-sizing:border-box}
.fr-dark{background:var(--fr-ink);color:#fff}
.fr-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;max-width:1080px;margin:0 auto}
.fr-brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:800;font-size:19px;letter-spacing:-.02em}
.fr-mark{width:30px;height:30px;border-radius:9px;background:var(--fr-lime);color:var(--fr-ink);display:grid;place-items:center;font-weight:800;font-size:20px;line-height:1}
.fr-top .hdr-actions{display:flex;align-items:center;gap:8px}
.fr-top .theme-toggle{width:44px;height:44px;border-radius:12px;border:1px solid #2E3843;background:transparent;color:#fff;display:grid;place-items:center}
.fr-top .theme-toggle svg{width:20px;height:20px}
.fr-signin{min-height:44px;display:inline-flex;align-items:center;padding:0 16px;border-radius:12px;border:1px solid #2E3843;color:#fff!important;text-decoration:none;font-weight:700;font-size:15px}
.fr-hero{padding:20px 16px 32px;max-width:1080px;margin:0 auto;display:flex;flex-direction:column;gap:16px}
.fr-badge{align-self:flex-start;font-size:13px;font-weight:800;color:var(--fr-ink);background:var(--fr-lime);border-radius:8px;padding:4px 10px;letter-spacing:.02em}
.fr-hero h1{margin:0;font-size:clamp(40px,11vw,64px);line-height:.98;letter-spacing:-.035em;font-weight:800;color:#fff;max-width:14ch}
.fr-hero h1 em{font-style:normal;color:var(--fr-lime)}
.fr-lead{margin:0;font-size:17px;line-height:1.45;color:#D5DDDB;max-width:36em}
.fr-actions{display:flex;flex-direction:column;gap:10px;margin-top:4px;max-width:420px}
.fr-btn{min-height:56px;display:flex;align-items:center;justify-content:center;border-radius:14px;text-decoration:none;font-weight:800;font-size:18px;padding:0 20px;text-align:center}
.fr-btn-lime{background:var(--fr-lime);color:var(--fr-ink)!important}
.fr-btn-ghost{min-height:48px;font-size:15px;font-weight:700;color:#fff!important;border:1px solid #2E3843}
.fr-btn-dark{background:var(--nb-ink);color:var(--nb-bg)!important;min-height:52px;font-size:16px}
.fr-wrap{max-width:720px;margin:0 auto;padding:0 16px}
.fr-sec{padding-top:36px;display:flex;flex-direction:column;gap:12px}
.fr-kicker{font-size:13px;font-weight:800;letter-spacing:.06em;color:var(--fr-muted);text-transform:uppercase;margin:0}
.fr-h2{margin:0;font-size:30px;line-height:1.1;letter-spacing:-.02em;font-weight:800}
.fr-p{margin:0;font-size:16px;line-height:1.45;color:var(--fr-muted)}
.fr-card{background:var(--fr-card);border:1px solid var(--fr-line);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:10px}
.fr-card-strong{border:2px solid var(--nb-ink)}
.fr-card h3{margin:0;font-size:18px;font-weight:800}
.fr-card p{margin:0;font-size:15px;line-height:1.45;color:var(--fr-muted)}
.fr-sample-head{display:flex;justify-content:space-between;align-items:center;font-size:15px;font-weight:700;color:var(--fr-muted)}
.fr-tag{font-size:12px;font-weight:700;color:var(--fr-ink);background:#C9D3DD;border-radius:6px;padding:2px 6px}
.fr-big{display:flex;align-items:flex-end;gap:12px}
.fr-word{font-weight:800;font-size:56px;line-height:.85;letter-spacing:-.04em;color:var(--fr-buy)}
.fr-meter{display:flex;flex-direction:column;gap:5px;padding-bottom:2px;font-size:13px;font-weight:700}
.fr-bars{display:flex;gap:4px}.fr-bars i{width:16px;height:7px;border-radius:3px;background:var(--fr-line)}.fr-bars i.on{background:var(--fr-buy)}
.fr-chart{width:100%;height:auto;display:block;border-radius:10px;background:var(--nb-soft,rgba(26,26,26,.05))}
.fr-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.fr-mini{background:var(--fr-card);border:1px solid var(--fr-line);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:4px}
.fr-mini b{font-size:15px}.fr-mini span{font-size:13px;line-height:1.35;color:var(--fr-muted)}
.fr-small{font-size:14px;line-height:1.4;color:var(--fr-muted);margin:0}
.fr-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.fr-steps li{display:flex;gap:12px;align-items:flex-start}
.fr-num{flex:0 0 32px;height:32px;border-radius:16px;background:var(--fr-ink);color:var(--fr-lime);font-weight:800;font-size:15px;display:grid;place-items:center}
html[data-theme="dark"] .fr-num{background:var(--fr-lime);color:var(--fr-ink)}
.fr-steps b{display:block;font-size:17px;margin-bottom:4px}.fr-steps span{font-size:15px;line-height:1.45;color:var(--fr-muted)}
.fr-tip{background:#FFF6DB;border:1px solid #E8C55C;border-radius:14px;padding:14px;font-size:15px;line-height:1.45;color:#2B2410}
html[data-theme="dark"] .fr-tip{background:#2B2614;border-color:#6B5B22;color:#F3EBCF}
.fr-talk p{color:var(--nb-ink)}
.fr-faq details{background:var(--fr-card);border:1px solid var(--fr-line);border-radius:14px}
.fr-faq summary{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;font-size:16px;font-weight:700;cursor:pointer;list-style:none}
.fr-faq summary::-webkit-details-marker{display:none}
.fr-faq summary::after{content:"+";font-size:20px;font-weight:800}.fr-faq details[open] summary::after{content:"−"}
.fr-faq details p{margin:0;padding:0 16px 16px;font-size:15px;line-height:1.45;color:var(--fr-muted)}
.fr-foot{margin-top:40px;padding:28px 16px 36px}
.fr-foot-in{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.fr-foot h2{margin:0;font-size:22px;font-weight:800;color:#fff}
.fr-foot a.fr-link{min-height:48px;display:flex;align-items:center;padding:0 16px;border-radius:12px;background:#1E2A2E;color:#fff!important;text-decoration:none;font-weight:700}
.fr-foot p{margin:0;font-size:13px;line-height:1.45;color:#B3BFBD}
.fr-foot .fr-legal a{color:#DCE75E}
.fr-home .install-entry{margin-top:4px}
@media (min-width:900px){.fr-hero{padding:48px 16px 64px}.fr-actions{flex-direction:row}.fr-actions .fr-btn{flex:1}}

/* ================= DASHBOARD ================= */
/* market chips: one scroll row, every market shows its BUY / SELL / WAIT word */
#workspace .market-controls{display:flex;flex-direction:column;gap:10px}
#workspace .market-controls .segmented{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;width:100%!important;max-width:none!important;gap:8px!important;overflow-x:auto;padding:4px 2px 8px;scrollbar-width:thin;background:none!important;border:0!important}
#workspace .segmented .market-family,#workspace .segmented .family-options{display:contents!important}
#workspace .segmented .seg-family{display:none!important}
#workspace .market-controls .segmented [data-symbol]{flex:0 0 auto!important;width:auto!important;min-width:84px;min-height:52px;border-radius:12px!important;border:1px solid var(--fr-line)!important;background:var(--fr-card)!important;color:var(--nb-ink)!important;padding:6px 12px!important;display:flex!important;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;font-size:13px!important;font-weight:700!important;white-space:nowrap;letter-spacing:0!important;text-transform:none!important}
#workspace .segmented [data-symbol].selected{background:var(--fr-lime)!important;border-color:var(--fr-lime)!important;color:var(--fr-ink)!important}
#workspace .segmented .mk-badge{font-size:12px!important;font-weight:800!important;margin:0!important;letter-spacing:.02em}
#workspace .segmented .mk-badge.buy{color:var(--fr-buy)!important}#workspace .segmented .mk-badge.sell{color:var(--fr-sell)!important}
#workspace .segmented .selected .mk-badge{color:var(--fr-ink)!important}
#workspace .time-controls button{min-height:44px;min-width:56px}
#workspace .quick-guide{display:none!important}

/* signal card: big word, 3-bar meter, Joki line */
#workspace .sc{background:transparent!important;border:0!important;border-radius:0!important;padding:4px 0 8px!important;margin:4px 0 8px!important}
#workspace .sc-top{align-items:flex-end!important;justify-content:flex-start!important;gap:14px!important}
#workspace .sc-action{font-size:76px!important;line-height:.85!important;letter-spacing:-.04em!important;font-weight:800!important}
#workspace .sc.buy .sc-action{color:var(--fr-buy)!important}#workspace .sc.sell .sc-action{color:var(--fr-sell)!important}#workspace .sc.wait .sc-action{color:var(--fr-wait)!important}
#workspace .sc-conf{flex-direction:column;align-items:flex-start!important;gap:6px!important;font-size:13px!important;font-weight:700!important;padding-bottom:4px}
#workspace .sc-dots{display:none}
.fr-bars3{display:flex;gap:4px}.fr-bars3 i{width:18px;height:8px;border-radius:3px;background:var(--fr-line)}
.sc.buy .fr-bars3 i.on{background:var(--fr-buy)}.sc.sell .fr-bars3 i.on{background:var(--fr-sell)}
#workspace .sc-line{font-size:17px!important;line-height:1.4;font-weight:600;margin-top:10px!important}
.fr-quip{font-size:15px;line-height:1.4;color:var(--fr-muted);margin:4px 0 0}
.fr-fresh{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;color:var(--fr-muted);margin:2px 0 6px}
.fr-fresh b{color:var(--nb-ink);font-size:15px}
.fr-fresh.stale{color:var(--fr-sell)}
#workspace .chart-legend{display:none!important}
#workspace #ratio-guide{display:none!important}

/* 1:2 ruler */
.fr-ruler{margin:14px 0 4px;display:flex;flex-direction:column;gap:8px}
.fr-ruler-bar{display:flex;align-items:stretch;height:40px;border-radius:10px;overflow:hidden}
.fr-ruler-bar span{display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800}
.fr-ruler-bar .s{flex:1 1 0;background:var(--fr-rfill);border:1.5px solid var(--fr-rline);color:var(--fr-sell)}
.fr-ruler-bar .e{width:4px;background:var(--nb-ink)}
.fr-ruler-bar .t{flex:2 1 0;background:var(--fr-gfill);border:1.5px solid var(--fr-gline);color:var(--fr-buy)}
.fr-ruler p{margin:0;font-size:14px;line-height:1.4;color:var(--fr-muted)}
.fr-label{font-size:13px;font-weight:800;letter-spacing:.06em;color:var(--fr-muted);text-transform:uppercase;margin:0}

/* Zoom out: 1m / 30m / 1h strip (was hidden for clients) */
#workspace #basic-trend{display:block!important;background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important}
#workspace #basic-trend .panel-label .tiny-tag,#workspace #basic-trend > p{display:none}
#workspace #mtf{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}
#workspace #mtf .mtf-item{background:var(--fr-card);border:1px solid var(--fr-line);border-radius:12px;padding:10px;display:flex!important;flex-direction:column;align-items:flex-start;gap:2px}
#workspace #mtf .mtf-item > span:first-child{font-size:12px;color:var(--fr-muted)}
#workspace #mtf .tag{background:none!important;border:0!important;padding:0!important;font-size:16px!important;font-weight:800!important;color:var(--fr-wait)!important}
#workspace #mtf .tag.bull{color:var(--fr-buy)!important}#workspace #mtf .tag.bear{color:var(--fr-sell)!important}

/* So... what now? + prev/next */
.fr-now{margin:18px 0 0;background:var(--fr-card);border:1px solid var(--fr-line);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:10px}
.fr-now h2{margin:0;font-size:20px;font-weight:800}
.fr-now ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.fr-now li{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.45}
.fr-now li i{flex:0 0 26px;height:26px;border-radius:13px;background:var(--fr-lime);color:var(--fr-ink);font-weight:800;font-size:13px;font-style:normal;display:grid;place-items:center}
.fr-now .fr-small{border-top:1px solid var(--fr-line);padding-top:10px}
.fr-nav{display:flex;gap:10px;margin:16px 0 4px}
.fr-nav button{flex:1 1 0;min-height:52px;border-radius:14px;font-size:15px;font-weight:700;border:1px solid var(--fr-line);background:var(--fr-card);color:var(--nb-ink)}
.fr-nav button.next{background:var(--nb-ink);color:var(--nb-bg);border:0}
@media (min-width:900px){#workspace .sc-action{font-size:88px!important}}

/* compact top on phones: heading row smaller, signal + chart sooner */
@media (max-width:760px){
 #workspace .page-heading{margin:4px 0 6px!important;padding:0!important;align-items:center}
 #workspace .page-heading .eyebrow{display:none}
 #workspace .page-heading h1{font-size:20px!important;line-height:1.2!important;margin:0!important;letter-spacing:-.01em!important;text-transform:none!important}
 #workspace .page-heading #refresh{min-height:44px;padding:8px 12px}
 #workspace > .install-entry{display:none!important}
 #workspace .chart-heading{margin-bottom:0}
}
#workspace .market-controls .segmented .watch-empty{display:none!important}
#workspace .market-controls .segmented .watch-options [data-symbol]::before{content:"★ Pinned";font-size:11px;font-weight:800;letter-spacing:.04em;opacity:.75}
#workspace .market-controls .segmented [data-symbol]{max-height:64px}
.fr-hero .install-entry{align-self:flex-start}

/* ===== v2 (9 Oct 20:30): match the approved canvas more closely ===== */
/* dark brand band: header + nav + market chips */
#workspace .topbar{background:var(--fr-ink)!important;color:#fff!important;border-bottom:1px solid #1E2731!important;justify-content:space-between!important;min-height:60px}
#workspace .topbar .brand{color:#fff!important;display:flex!important;align-items:center;gap:10px;text-decoration:none}
#workspace .topbar .brand svg{display:none}
#workspace .topbar .brand::before{content:"j";width:30px;height:30px;border-radius:9px;background:var(--fr-lime);color:var(--fr-ink);display:grid;place-items:center;font-weight:800;font-size:20px;line-height:1}
#workspace .topbar .brand-wordmark{display:inline!important;font-weight:800!important;font-size:19px!important;letter-spacing:-.02em!important;text-transform:none!important;color:#fff!important}
#workspace .topbar .pilot-tag{display:none!important}
#workspace .topbar .account,#workspace .topbar .account *{color:#fff!important}
#workspace .topbar #account-name{display:none}
#workspace .topbar .theme-toggle{width:44px;height:44px;border-radius:12px!important;border:1px solid #2E3843!important;background:transparent!important}
#workspace .topbar #logout{min-height:44px;border:1px solid #2E3843!important;border-radius:12px!important;padding:0 12px!important;background:transparent!important;text-transform:none!important;letter-spacing:0!important;font-size:14px!important}
#workspace > .install-entry{display:none!important}
#workspace .main-nav{background:var(--fr-ink)!important;border-bottom:0!important;gap:16px!important}
#workspace .main-nav button{color:#B3BFBD!important}#workspace .main-nav .nav-active{color:#fff!important}
#workspace .main-nav > span{display:none}
#workspace .page{padding-top:0!important}
#workspace .page-heading{display:none!important}
#workspace .market-controls{background:var(--fr-ink);margin:0 calc(-1 * var(--nb-pad,16px)) 0!important;padding:4px var(--nb-pad,16px) 12px!important;border-top:1px solid #1E2731}
#workspace .market-controls .segmented [data-symbol]{background:#161E27!important;border-color:#2E3843!important;color:#fff!important}
#workspace .market-controls .segmented [data-symbol] .mk-badge{color:#B3BFBD!important}
#workspace .market-controls .segmented [data-symbol] .mk-badge.buy{color:#45DB93!important}
#workspace .market-controls .segmented [data-symbol] .mk-badge.sell{color:#FF8A80!important}
#workspace .market-controls .segmented [data-symbol].selected{background:var(--fr-lime)!important;border-color:var(--fr-lime)!important;color:var(--fr-ink)!important}
#workspace .market-controls .segmented [data-symbol].selected .mk-badge{color:var(--fr-ink)!important}
#workspace .time-controls{display:none!important}
/* notices: only when something is wrong (fresh.js adds .fr-show) */
#workspace #feed-warning,#workspace #visual-status{display:none!important}
#workspace #feed-warning.fr-show,#workspace #visual-status.fr-show{display:block!important;margin-top:12px}
/* signal block on the page, chart in its own card */
.fr-signal{padding:20px 0 6px}
.fr-signal #signal-card{margin:0!important}
#workspace .chart-card{background:var(--fr-card)!important;border:1px solid var(--fr-line)!important;border-radius:18px!important;padding:10px 6px!important}
#workspace .chart-heading,#workspace .chart-foot,#workspace .chart-help,#workspace .chart-card > details{display:none!important}
#workspace #chart-position{margin:6px 8px 2px;width:calc(100% - 16px)}
#workspace .fr-chartnote{display:flex;gap:14px;padding:4px 10px 2px;font-size:12px;color:var(--fr-muted)}
#workspace .market-grid{display:block!important}
#workspace .side-column .howto,#workspace .side-column #mt5-panel{display:none!important}
#workspace .first-look{display:none!important}
#workspace .sc .sc-prog,#workspace .sc .sc-prog + .sc-small{display:none!important}
#workspace .sc .pin-btn{min-height:36px}
.fr-ruler,.fr-zoom{margin-top:16px}
/* landing: members box becomes a small, quiet block (owner sign-in kept) */
.public-home:not(.invite-mode) > .auth-form{margin:24px auto 0!important;padding:16px 16px 8px!important;border-top:0!important;max-width:720px!important}
.public-home:not(.invite-mode) > .auth-form #auth-title,.public-home:not(.invite-mode) > .auth-form #auth-copy,.public-home:not(.invite-mode) > .auth-form #client-email-entry,.public-home:not(.invite-mode) > .auth-form .auth-bottom,.public-home:not(.invite-mode) > .auth-form #auth-note{display:none!important}
.public-home:not(.invite-mode) > .auth-form #password-entry summary{font-size:13px;color:var(--fr-muted)}
#workspace .topbar{display:flex!important;padding:8px 16px!important;gap:8px!important;flex-wrap:nowrap!important}
#workspace .topbar .brand{margin-right:auto}
#workspace .topbar .account{display:flex!important;align-items:center;gap:8px!important;flex:0 0 auto}
@media (max-width:380px){#workspace .topbar .brand-wordmark{font-size:16px!important}}
