/* Opt-in connected Beta workspace. Presentation only: every view keeps its existing reads,
   route ownership and state model. Enabled by ui=beta and removed by the explicit Current UI control. */
body.beta-ui-route{
 --db-canvas:#e9ede6;--db-paper:#f7f6ef;--db-paper-strong:#fffefa;--db-ink:#172019;--db-muted:#566159;
 --db-line:#cbd2c9;--db-line-strong:#9ca99f;--db-nav:#244b3c;--db-nav-hover:#2f5b49;--db-accent:#4f8068;
 --db-accent-strong:#244b3c;--db-accent-soft:#dbe9df;--db-duck:#e0b338;--db-positive:#1d704f;
 --db-negative:#a34139;--db-focus:#006edb;--db-shadow:0 18px 48px rgb(31 53 41 / 10%);
 --bg:var(--db-canvas);--bg-2:#eef1eb;--surface:var(--db-paper);--surface-2:#e3e9e2;--border:var(--db-line);
 --text:var(--db-ink);--fg:var(--db-ink);--muted:var(--db-muted);--faint:var(--db-muted);--green:var(--db-positive);
 --red:var(--db-negative);--accent:var(--db-accent);--accent-text:var(--db-accent-strong);--focus-ring:var(--db-focus);
 --control-border:var(--db-line-strong);--r-sm:6px;--r-md:10px;--r-lg:16px;--radius:10px;
 background:var(--db-canvas);color:var(--db-ink);font-family:Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Noto Sans SC","Microsoft YaHei",sans-serif;
}
@media(prefers-color-scheme:dark){
 :root:not([data-theme=light]) body.beta-ui-route{
  --db-canvas:#151b17;--db-paper:#1e2721;--db-paper-strong:#26322b;--db-ink:#f2f1e7;--db-muted:#b7c2ba;
  --db-line:#39463d;--db-line-strong:#59685e;--db-nav:#1b3b30;--db-nav-hover:#26503f;--db-accent:#7fbea0;
  --db-accent-strong:#b0dec5;--db-accent-soft:#253f32;--db-duck:#efc94f;--db-positive:#78c9a6;
  --db-negative:#f08c82;--db-focus:#8ec5ff;--db-shadow:0 18px 48px rgb(0 0 0 / 24%);
  --bg:var(--db-canvas);--bg-2:#19231d;--surface:var(--db-paper);--surface-2:#26332b;--border:var(--db-line);
  --text:var(--db-ink);--fg:var(--db-ink);--muted:var(--db-muted);--faint:var(--db-muted);--green:var(--db-positive);
  --red:var(--db-negative);--accent:var(--db-accent);--accent-text:var(--db-accent-strong);--focus-ring:var(--db-focus);
  --control-border:var(--db-line-strong);
 }
}
:root[data-theme=dark] body.beta-ui-route{
 --db-canvas:#151b17;--db-paper:#1e2721;--db-paper-strong:#26322b;--db-ink:#f2f1e7;--db-muted:#b7c2ba;
 --db-line:#39463d;--db-line-strong:#59685e;--db-nav:#1b3b30;--db-nav-hover:#26503f;--db-accent:#7fbea0;
 --db-accent-strong:#b0dec5;--db-accent-soft:#253f32;--db-duck:#efc94f;--db-positive:#78c9a6;
 --db-negative:#f08c82;--db-focus:#8ec5ff;--db-shadow:0 18px 48px rgb(0 0 0 / 24%);
 --bg:var(--db-canvas);--bg-2:#19231d;--surface:var(--db-paper);--surface-2:#26332b;--border:var(--db-line);
 --text:var(--db-ink);--fg:var(--db-ink);--muted:var(--db-muted);--faint:var(--db-muted);--green:var(--db-positive);
 --red:var(--db-negative);--accent:var(--db-accent);--accent-text:var(--db-accent-strong);--focus-ring:var(--db-focus);
 --control-border:var(--db-line-strong);
}

body.beta-ui-route :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--db-focus);outline-offset:3px}
body.beta-ui-route :is(button,a,summary){touch-action:manipulation}
body.beta-ui-route .app-shell{background:var(--db-canvas)}
body.beta-ui-route .app-top{min-height:64px;padding:calc(8px + var(--safe-top)) 20px 8px;background:var(--db-paper);border-color:var(--db-line)}
body.beta-ui-route .app-top .brand{color:var(--db-ink);font-size:17px;font-weight:750;text-decoration:none}
body.beta-ui-route .app-top .avatar-mark{width:38px;height:38px}
body.beta-ui-route .beta-ui-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 13px;border:1px solid var(--db-accent);border-radius:999px;background:var(--db-accent-soft);color:var(--db-accent-strong);font-size:12px;font-weight:750;text-decoration:none;white-space:nowrap}
body.beta-ui-route .beta-ui-toggle::before{content:'';width:7px;height:7px;margin-right:7px;border-radius:50%;background:var(--db-duck)}
body.beta-ui-route .app-top :is(.lang-toggle,#logout,.account-avatar){min-height:44px}
body.beta-ui-route .app-main{background:var(--db-canvas);padding:20px 24px 36px;scroll-padding-top:24px}
body.beta-ui-route .app-view{max-width:1560px}
body.beta-ui-route .route-page{min-width:0}
body.beta-ui-route .app-foot{max-width:1560px;border-color:var(--db-line);color:var(--db-muted)}
body.beta-ui-route :is(.card,.change-card,.today-analysis-list,.explore-candidate,.explore-stock-row,.creator-view-row,.cboard-card,.alert-item,.studio-panel,.studio-criteria,.studio-runbar,.studio-results,.studio-sentence-editor,.studio-instant){border-color:var(--db-line);background:var(--db-paper);box-shadow:none}
body.beta-ui-route :is(.btn,.input,button,select,textarea){border-radius:6px}
body.beta-ui-route :is(.btn,.input,select,textarea){min-height:44px}
body.beta-ui-route :is(.view-head h1,.focus-heading h1,.calendar-heading h1,.cboard-title h1,.alert-feed-head h1){font-family:inherit;font-size:clamp(28px,2.6vw,36px);font-weight:720;letter-spacing:-.025em;line-height:1.12;text-wrap:balance}
body.lang-zh.beta-ui-route :is(.view-head h1,.focus-heading h1,.calendar-heading h1,.cboard-title h1,.alert-feed-head h1){font-family:inherit;font-weight:720;letter-spacing:-.02em}
body.beta-ui-route .view-intro{max-width:72ch;line-height:1.65}
body.beta-ui-route :is(.mono,.watch-table td,.instant-row,.perf-card){font-variant-numeric:tabular-nums}

body.beta-ui-route .app-nav{background:var(--db-nav);border-color:color-mix(in srgb,#fff 15%,var(--db-nav));box-shadow:none}
body.beta-ui-route .app-nav>a{color:#d9e7df;background:transparent;border-radius:6px;box-shadow:none}
body.beta-ui-route .app-nav>a:hover{color:#fff;background:var(--db-nav-hover)}
body.beta-ui-route .app-nav>a.on{color:#173f32;background:#d8efc7;box-shadow:none}
body.beta-ui-route .app-nav>a.on::before{background:var(--db-duck)}
body.beta-ui-route .app-nav>a.on>.app-icon{color:#173f32}

/* Today: one calm editorial summary above a dense, readable change ledger. */
body.beta-ui-route .focus-today{max-width:1240px}
body.beta-ui-route .today-heading{padding:8px 0 22px;margin-bottom:20px;border-bottom-color:var(--db-line)}
body.beta-ui-route .today-heading .today-date{color:var(--db-accent-strong)}
body.beta-ui-route .today-macro-tile{border-radius:10px;background:var(--db-paper)}
body.beta-ui-route .change-card{border-radius:10px}
body.beta-ui-route .change-card[open]{border-color:var(--db-accent)}
body.beta-ui-route .change-kind{border-radius:999px}
body.beta-ui-route .today-analysis-list{border-radius:10px}

/* Explore and Calendar use the same connected tab grammar and paper surfaces. */
body.beta-ui-route .focus-explore{max-width:1280px}
body.beta-ui-route .explore-primary-tools{border-radius:10px;background:var(--db-paper);overflow:hidden}
body.beta-ui-route .explore-primary-tools>a{min-height:64px;background:transparent}
body.beta-ui-route .explore-primary-tools>a[aria-current=page]{background:var(--db-accent-soft);color:var(--db-accent-strong);border-bottom-color:var(--db-accent)}
body.beta-ui-route .radar-activity-workspace .radar-categories .radar-category{min-height:72px}
body.beta-ui-route .radar-activity-section-head h2{font-family:inherit;font-weight:720;letter-spacing:-.015em}
body.beta-ui-route .explore-stock-list{gap:8px}
body.beta-ui-route .calendar-view{max-width:none;padding:20px 24px;border-radius:16px;background:var(--db-paper)}
body.beta-ui-route .cal-modebar{border-radius:8px;background:var(--db-canvas)}
body.beta-ui-route .cal-mode.on{background:var(--db-accent-soft);color:var(--db-accent-strong);box-shadow:none}
body.beta-ui-route :is(.cal-cell,.cal-bicell,.cal-ev){border-radius:8px;background:var(--db-paper-strong)}

/* Finance Opinion Leaders: one ranked workspace, clear stance lanes, no decorative dashboard chrome. */
body.beta-ui-route .creators-view{max-width:1440px;margin-inline:auto}
body.beta-ui-route .creator-board{gap:16px}
body.beta-ui-route .cboard-layout{gap:16px}
body.beta-ui-route .cboard-controls{padding:12px;border:1px solid var(--db-line);border-radius:10px;background:var(--db-paper)}
body.beta-ui-route :is(.creator-view-row,.cboard-rank-row,.cboard-latest-row){border-radius:8px}
body.beta-ui-route .cboard-follow{background:var(--db-accent-strong);border-color:var(--db-accent-strong);color:#fff}
body.beta-ui-route .cboard-follow.is-on{background:transparent;color:var(--db-ink);border-color:var(--db-line-strong)}

/* Alerts and simulations share the Storybook sentence-first system. */
body.beta-ui-route .alert-feed{max-width:1120px;margin-inline:auto}
body.beta-ui-route .alert-feed:has(.rule-studio){max-width:none}
body.beta-ui-route .alert-tabs{display:inline-flex;gap:0;padding:3px;border:1px solid var(--db-line);border-radius:9px;background:var(--db-paper)}
body.beta-ui-route .alert-tabs button{min-height:44px;border:0;border-radius:6px;background:transparent}
body.beta-ui-route .alert-tabs button[aria-selected=true]{background:var(--db-accent-strong);color:#fff}
body.beta-ui-route .alert-item{border-radius:10px}
body.beta-ui-route .alert-item::before{border-radius:0 3px 3px 0}
body.beta-ui-route .rule-studio{gap:16px}
body.beta-ui-route .studio-head{padding-bottom:10px;border-bottom:1px solid var(--db-line)}
body.beta-ui-route .studio-head h2{font-family:Manrope,'PingFang SC','Microsoft YaHei',sans-serif;font-size:24px;font-weight:700;letter-spacing:-.02em;line-height:1.2}
body.lang-zh.beta-ui-route .studio-head h2{font-family:Manrope,'PingFang SC','Microsoft YaHei',sans-serif;font-weight:700;letter-spacing:-.015em}
body.beta-ui-route .studio-sentence-layout{grid-template-columns:minmax(360px,5fr) minmax(440px,6fr);gap:16px}
body.beta-ui-route :is(.studio-sentence-editor,.studio-sentence-first .studio-instant){padding:16px;border-radius:10px}
body.beta-ui-route .studio-pills{padding:4px 0 8px}
body.beta-ui-route .studio-pill{min-height:44px;border-radius:6px;background:var(--db-paper-strong);cursor:pointer}
body.beta-ui-route .studio-pill[aria-pressed=true]{background:var(--db-accent-soft);border-color:var(--db-accent);color:var(--db-accent-strong)}
body.beta-ui-route .studio-sheet{border-radius:10px;background:var(--db-canvas)}
body.beta-ui-route .studio-sheet-stack{border-color:var(--db-line);border-radius:10px;background:var(--db-canvas)}
body.beta-ui-route .studio-sheet-stack>.studio-sheet-inline{background:transparent}
body.beta-ui-route .studio-sheet-stack>.studio-sheet-inline.is-active{background:color-mix(in srgb,var(--db-accent-soft) 36%,transparent);box-shadow:inset 0 0 0 1px var(--db-accent)}
body.beta-ui-route .studio-sheet .studio-scalar{display:grid;grid-template-columns:minmax(0,1fr)}
body.beta-ui-route .studio-sheet .studio-scalar-top{grid-row:1}
body.beta-ui-route .studio-sheet .studio-exact{width:70px}
body.beta-ui-route .studio-sheet .studio-sheet-presets{position:relative;grid-row:2;display:block;height:54px;margin:11px 13px -4px}
body.beta-ui-route .studio-sheet .studio-sheet-presets>.studio-fine{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
body.beta-ui-route .studio-sheet .studio-sheet-presets>.studio-preset{position:absolute;left:var(--studio-marker);top:0;translate:-50% 0;min-width:28px;min-height:40px;padding:0;border:0;background:transparent;color:var(--db-muted);font-size:0;overflow:visible}
body.beta-ui-route .studio-sheet .studio-sheet-presets>.studio-preset::before{content:'';position:absolute;left:50%;top:42px;width:7px;height:7px;translate:-50% 0;border:1px solid var(--db-accent);border-radius:50%;background:var(--db-paper)}
body.beta-ui-route .studio-sheet .studio-sheet-presets>.studio-preset::after{content:attr(data-studio-mark-label);position:absolute;left:50%;top:0;translate:-50% 0;max-width:120px;font-size:11px;line-height:1.15;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
body.beta-ui-route .studio-sheet .studio-sheet-presets>.studio-preset:nth-child(even)::after{top:14px}
body.beta-ui-route .studio-sheet .studio-sheet-presets>.studio-preset.is-edge-start::after{left:0;translate:0 0;text-align:left}
body.beta-ui-route .studio-sheet .studio-sheet-presets>.studio-preset.is-edge-end::after{left:auto;right:0;translate:0 0;text-align:right}
body.beta-ui-route .studio-sheet .studio-sheet-presets>.studio-preset[aria-pressed=true]{color:var(--db-accent-strong)}
body.beta-ui-route .studio-sheet .studio-sheet-presets>.studio-preset[aria-pressed=true]::before{background:var(--db-accent-strong);box-shadow:0 0 0 3px var(--db-accent-soft)}
body.beta-ui-route .studio-sheet .studio-range-lane{grid-row:3}
body.beta-ui-route .studio-sheet .studio-range-hints{grid-row:4}
body.beta-ui-route .studio-sheet .studio-field-error{grid-row:5}
body.beta-ui-route .studio-range::-webkit-slider-runnable-track{height:5px;background:var(--db-line-strong)}
body.beta-ui-route .studio-range::-webkit-slider-thumb{background:var(--db-accent-strong);border-color:var(--db-paper)}
body.beta-ui-route .studio-range::-moz-range-track{height:5px;background:var(--db-line-strong)}
body.beta-ui-route .studio-range::-moz-range-thumb{background:var(--db-accent-strong);border-color:var(--db-paper)}
body.beta-ui-route .studio-instant{box-shadow:var(--db-shadow)}
body.beta-ui-route .instant-row{border-radius:6px;background:var(--db-canvas)}
body.beta-ui-route .perf-card{border-radius:10px;background:var(--db-paper)}

/* The established navy/mint/orange Watchlist table remains the deliberate high-density exception. */
body.beta-ui-route .watch-beta-badge{background:var(--db-accent-soft);color:var(--db-accent-strong)}
body.beta-ui-route .watchlist-beta .watch-modes{border-radius:10px;background:var(--db-paper)}
body.beta-ui-route .watchlist-beta .watch-column-chooser>summary{background:var(--db-paper);border-color:var(--db-line-strong)}

@media(min-width:1100px){
 body.beta-ui-route .app-shell{display:grid;grid-template-columns:208px minmax(0,1fr);grid-template-rows:64px minmax(0,1fr)}
 body.beta-ui-route .app-top{grid-column:1/-1;grid-row:1;order:0}
 body.beta-ui-route .app-nav{grid-column:1;grid-row:2;order:0;align-self:stretch;display:flex;flex-direction:column;gap:4px;margin:0;padding:18px 12px;border:0;border-right:1px solid color-mix(in srgb,#fff 15%,var(--db-nav));border-radius:0;max-width:none;overflow-y:auto}
 body.beta-ui-route .app-nav>a{display:flex;flex-direction:row;justify-content:flex-start;gap:11px;min-height:48px;padding:10px 12px;font-size:14px}
 body.beta-ui-route .app-nav>a.on{position:relative}
 body.beta-ui-route .app-nav>a.on::before{content:'';position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:3px}
 body.beta-ui-route .app-main{grid-column:2;grid-row:2;min-width:0;--workspace-inset:20px;padding:24px 28px 40px}
}

@media(max-width:1099px){
 body.beta-ui-route .app-nav{order:-1;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:6px 8px;border:0;border-bottom:1px solid color-mix(in srgb,#fff 15%,var(--db-nav));border-radius:0;margin:0;max-width:none}
 body.beta-ui-route .app-top{order:-2}
 body.beta-ui-route .app-nav>a{min-height:50px;padding:6px 4px;font-size:11px}
 body.beta-ui-route .app-main{padding-inline:16px}
 body.beta-ui-route .studio-sentence-layout{grid-template-columns:minmax(0,1fr)}
 body.beta-ui-route .studio-sentence-first .studio-instant{grid-column:1;grid-row:auto;position:static;max-height:none;overflow:visible;box-shadow:none}
 body.beta-ui-route .studio-sentence-first .studio-advanced{grid-column:1}
}

@media(max-width:620px){
 body.beta-ui-route .app-top{min-height:56px;padding-inline:12px}
 body.beta-ui-route .app-top .avatar-mark{width:30px;height:30px}
 body.beta-ui-route .app-top .brand{font-size:14px}
 body.beta-ui-route .beta-ui-toggle{min-height:40px;padding-inline:10px;font-size:11px}
 body.beta-ui-route .app-top #logout{display:none}
 body.beta-ui-route .app-main{padding:12px 12px 28px}
 body.beta-ui-route :is(.view-head h1,.focus-heading h1,.calendar-heading h1,.cboard-title h1,.alert-feed-head h1){font-size:29px}
 body.beta-ui-route .explore-primary-tools>a,body.beta-ui-route .radar-activity-workspace .radar-categories .radar-category{min-height:44px}
 body.beta-ui-route .calendar-view{padding:14px 12px}
 body.beta-ui-route .studio-head h2{font-size:24px}
 body.beta-ui-route :is(.studio-sentence-editor,.studio-sentence-first .studio-instant){padding:12px}
 body.beta-ui-route .alert-tabs{width:100%;display:grid;grid-template-columns:1fr 1fr}
 body.beta-ui-route .alert-tabs button{min-height:40px;padding:6px 9px;font-size:13px}
 body.beta-ui-route .rule-studio{gap:10px}
 body.beta-ui-route .studio-head{padding-bottom:6px}
 body.beta-ui-route .studio-head h2{font-size:20px}
 body.beta-ui-route .studio-sheet-stack{margin-top:6px}
 body.beta-ui-route .studio-sheet-stack>.studio-sheet-inline{padding:7px 8px 8px}
 body.beta-ui-route .studio-sheet-details{display:flex;align-items:center;flex-wrap:nowrap;gap:5px;min-height:44px}
 body.beta-ui-route .studio-sheet-details>.studio-sheet-head{flex:1 1 auto;min-width:0;margin:0}
 body.beta-ui-route .studio-sheet-title-wrap{display:flex;align-items:baseline;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 body.beta-ui-route .studio-sheet-title{overflow:hidden;text-overflow:ellipsis}
 body.beta-ui-route .studio-sheet-details>.studio-rsi-period{flex:none}
 body.beta-ui-route .studio-rsi-period .studio-sheet-row{margin:0}
 body.beta-ui-route .studio-rsi-period .studio-choice.btn{position:relative;min-width:38px;min-height:44px;padding:0 8px;border:0;background:transparent;font-size:12px;isolation:isolate}
 body.beta-ui-route .studio-rsi-period .studio-choice.btn::before{content:'';position:absolute;z-index:-1;inset:5px 0;border:1px solid var(--db-line-strong);background:var(--db-paper)}
 body.beta-ui-route .studio-rsi-period .studio-choice.btn[aria-pressed=true]::before{border-color:var(--db-accent);background:var(--db-accent-soft)}
 body.beta-ui-route .studio-rsi-period .studio-choice.btn:first-child::before{border-radius:7px 0 0 7px}
 body.beta-ui-route .studio-rsi-period .studio-choice.btn:last-child::before{border-radius:0 7px 7px 0}
 body.beta-ui-route .studio-sheet-details>.studio-sheet-actions{flex:0 0 44px}
 body.beta-ui-route .studio-sheet-details .studio-sheet-actions>.btn{position:relative;width:44px;min-width:44px;min-height:44px;padding:0;border:0;background:transparent;font-size:0}
 body.beta-ui-route .studio-sheet-details .studio-sheet-actions>.btn::before{content:'\00d7';position:absolute;inset:5px;display:grid;place-items:center;border:1px solid var(--db-line-strong);border-radius:7px;color:var(--db-danger,#b84f46);font-size:18px;line-height:1}
 body.beta-ui-route .studio-sheet-fields{grid-template-columns:minmax(0,1fr);gap:4px}
 body.beta-ui-route .studio-sheet .studio-scalar{margin-top:3px}
 body.beta-ui-route .studio-sheet .studio-scalar-top>label{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 body.beta-ui-route .studio-sheet .studio-exact{width:62px;min-height:38px;padding:5px 7px;border-radius:7px;font-size:16px}
 body.beta-ui-route .studio-sheet .studio-exact-box{gap:4px}
 body.beta-ui-route .studio-sheet .studio-exact-box>span{font-size:11px}
 body.beta-ui-route .studio-sheet .studio-sheet-presets{height:42px;margin:5px 10px -2px}
 body.beta-ui-route .studio-sheet .studio-sheet-presets>.studio-preset{min-height:34px}
 body.beta-ui-route .studio-sheet .studio-sheet-presets>.studio-preset::before{top:33px;width:6px;height:6px}
 body.beta-ui-route .studio-sheet .studio-sheet-presets>.studio-preset::after{font-size:10px}
 body.beta-ui-route .studio-sheet .studio-sheet-presets>.studio-preset:nth-child(even)::after{top:11px}
 body.beta-ui-route .studio-sheet .studio-range-lane{min-height:36px}
 body.beta-ui-route .studio-sheet .studio-range{height:36px}
 body.beta-ui-route .studio-sheet .studio-range::-webkit-slider-thumb{width:22px;height:22px;margin-top:-8px;border-width:2px}
 body.beta-ui-route .studio-sheet .studio-range::-moz-range-thumb{width:20px;height:20px}
 body.beta-ui-route .studio-sheet .studio-range-hints{font-size:10px}
 body.beta-ui-route .studio-sheet-inline>.studio-method-line{margin-top:0;font-size:10px}
}

@media(max-width:390px){
 body.beta-ui-route .app-top .brand{font-size:0}
 body.beta-ui-route .app-top .brand .avatar-mark{width:32px;height:32px}
 body.beta-ui-route .app-top .lang-toggle{padding-inline:8px}
 body.beta-ui-route .app-nav>a{font-size:10px;gap:3px}
 body.beta-ui-route .app-nav .app-icon{width:18px;height:18px}
}

@media(max-width:480px){
 body.beta-ui-route .app-nav>a[data-route=creators] span{font-size:0}
 body.beta-ui-route .app-nav>a[data-route=creators] span::after{content:attr(data-compact-label);font-size:10px}
}

@media(prefers-reduced-motion:reduce){body.beta-ui-route *,body.beta-ui-route *::before,body.beta-ui-route *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){body.beta-ui-route .app-nav>a.on{outline:2px solid Highlight}body.beta-ui-route .beta-ui-toggle::before{background:CanvasText}}
