/* BUCKSHOT / ENGINEERED — additive presentation layer.
   Preserve IDs, hidden states, native tables and backend-owned controls. */
@font-face{font-family:BS Inter;src:url('/assets/fonts/Inter-latin.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:BS Space;src:url('/assets/fonts/SpaceGrotesk-latin.woff2') format('woff2');font-weight:300 700;font-style:normal;font-display:swap}
:root{
  color-scheme:dark;--bg:#111512;--panel:#1a201c;--panel-2:#222a25;--line:#3b483f;--line-soft:#2d3730;
  --text:#f1f5ef;--text-dim:#c0cbc2;--text-faint:#9aaa9f;--faint:#9aaa9f;--muted:#c0cbc2;
  --green:#a8e948;--amber:#f0be67;--red:#ff8d8b;--blue:#a8e948;--violet:#b9d59f;
  --charge:#a8e948;--deep:#38611c;--line2:#3b483f;--grad:linear-gradient(110deg,#a8e948,#a8e948);
  --sans:'BS Inter',Inter,'Segoe UI',system-ui,sans-serif;--display:'BS Space','BS Inter',sans-serif;--radius:8px;
  --bs-rail:220px;
}
body{background:var(--bg);font-family:var(--sans);font-size:13px;line-height:1.6;color:var(--text);background-image:none}
body::before,body::after{display:none}
::selection{background:#a8e948;color:#10180f}
button,input,select,textarea{font-family:var(--sans)}
button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--charge);outline-offset:3px;box-shadow:none}
button:disabled{cursor:not-allowed;opacity:.45;filter:none}
.hidden,.stab-off,[hidden]{display:none!important}
.bs-skip{position:fixed;left:16px;top:-100px;z-index:2000;background:var(--charge);color:var(--bg);padding:12px 20px}
.bs-skip:focus{top:12px}
.bs-preview-notice{position:relative;z-index:100;padding:9px 18px 9px calc(var(--bs-rail) + 36px);background:#33301b;color:#f0ce80;border-bottom:1px solid #6b5c30;font:500 10px/1.5 var(--sans);letter-spacing:.03em}
.bs-app>.wrap{max-width:1800px;margin:0 0 0 var(--bs-rail);padding:0 36px 40px;width:calc(100% - var(--bs-rail));min-width:0}
.bs-app .tabs{position:fixed;inset:0 auto 0 0;width:var(--bs-rail);z-index:80;display:flex;flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:7px;background:#121c10;border:0;border-right:1px solid var(--line-soft);border-radius:0;margin:0;padding:29px 16px 24px;box-shadow:none;overflow-y:auto}
.bs-app .nav-brand{display:flex;align-items:center;gap:11px;padding:0 5px 30px;flex:none;white-space:nowrap;border:0;margin:0;background:none}
.bs-app .nav-brand img{display:block;width:36px;height:36px;border-radius:0;flex:none}
.bs-app .nav-brand span{display:inline!important;font:700 22px/1 var(--display);letter-spacing:-.055em;color:var(--text);background:none;-webkit-text-fill-color:currentColor}
.bs-nav-caption{display:block;padding:12px 13px 8px;font:500 9px/1.5 var(--sans);letter-spacing:.13em;color:var(--text-faint)}
.bs-app .tabs .tab{display:flex;align-items:center;gap:15px;position:relative;padding:13px 14px;min-height:48px;font-size:13px;font-weight:500;letter-spacing:0;border:1px solid transparent;border-radius:5px;background:none;color:var(--text-dim);text-transform:none;flex:none}
.bs-app .tabs .tab::before{display:block;font:400 10px/1 var(--mono);color:var(--text-faint);width:16px;content:'—'}
.bs-app .tabs [data-tab=copy]::before{content:'01'}.bs-app .tabs [data-tab=trade]::before{content:'02'}.bs-app .tabs [data-tab=wallets]::before{content:'03'}.bs-app .tabs [data-tab=settings]::before{content:'04'}.bs-app .tabs [data-tab=docs]::before{content:'05'}
.bs-app .tabs .tab{border-radius:5px!important;background:transparent!important}
.bs-app .tabs .tab::after{display:none}
.bs-app .tabs .tab:hover{background:#203019;border-color:var(--line-soft);text-decoration:none;color:var(--text)}
.bs-app .tabs .tab.active{color:var(--charge)!important;background:#25361c!important;border-color:#425d2c;box-shadow:none}
.bs-app .tabs .tab.active::before{color:var(--charge)}
.bs-app .tab-spacer{flex:1;min-height:30px}.bs-app .tabs .who{margin:0;padding:12px 12px 4px;color:var(--text);overflow-wrap:anywhere;font-size:12px}
.bs-app #btn-logout{align-self:flex-start;margin-left:11px;border:0;background:none;color:var(--text-faint);padding:5px 0;min-height:36px;text-transform:capitalize}
.bs-nav-foot{margin:22px 12px 0;padding-top:22px;border-top:1px solid var(--line);font-size:9px;letter-spacing:.12em;color:var(--text-faint)}
.bs-nav-foot span{display:block;margin-top:7px;font-size:10px;letter-spacing:0;color:var(--text-dim)}
.bs-app .tab-note{font-size:10px;white-space:normal;margin:0;padding:0 12px;line-height:1.6;color:var(--text-faint)}
.bs-app .topbar{position:relative;display:flex;flex-direction:row;align-items:center;gap:16px;border-bottom:1px solid var(--line-soft);min-height:73px;margin:0;padding:15px 0;z-index:60;background:var(--bg)}
.bs-app .strip{position:static;display:flex;flex-wrap:wrap;gap:8px 18px;padding:0;border:0;background:none;box-shadow:none;border-radius:0;min-width:0;flex:1;font:400 11px/1.5 var(--sans)}
.bs-app .strip-item{gap:6px}.bs-app .strip-label{color:var(--text-faint)}.bs-app .strip-value{font-weight:500}
.bs-app .strip .dot{width:6px;height:6px;box-shadow:none;animation:none}
.bs-app .chain-menu{flex:none;width:auto;min-width:0}.bs-app .chain-trigger{min-height:38px;padding:9px 13px;border:1px solid var(--line);background:var(--panel);border-radius:5px;font:500 12px var(--sans);box-shadow:none}
.bs-app .chain-trigger:hover{background:var(--panel-2);border-color:#55703e}.bs-app .chain-list{border:1px solid var(--line);background:#1d291a;border-radius:7px;box-shadow:0 18px 50px #0008;z-index:100}
.bs-app .chain-option{min-height:48px}.bs-app .chain-option:hover,.bs-app .chain-option.active{background:#2b3d20;color:var(--charge)}
.bs-page-head{padding:36px 0 29px;display:flex;justify-content:space-between;gap:24px;align-items:center}
.bs-eyebrow{font:500 10px/1.5 var(--sans);letter-spacing:.13em;color:var(--text-faint);margin:0 0 13px}
.bs-page-head h1{font:700 clamp(28px,3.2vw,42px)/1.08 var(--display);letter-spacing:-.05em;margin:0;color:var(--text)}
.bs-page-description{font-size:12px;line-height:1.65;margin:13px 0 0;color:var(--text-dim);max-width:620px}
.bs-context{flex:none;font:500 9px/1.5 var(--sans);letter-spacing:.06em;color:var(--text-dim);border-left:1px solid #4c6539;padding:7px 0 7px 14px}
.bs-app .subtabs{display:flex;gap:8px;overflow-x:auto;white-space:nowrap;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none;padding:0;margin:0 0 24px;scrollbar-width:thin}
.bs-app .subtab{font:500 12px/1.5 var(--sans);padding:14px 16px;min-height:47px;border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--text-dim);background:none;box-shadow:none;flex:none}
.bs-app .subtab.active{border-color:var(--charge);background:transparent;color:var(--charge)}
.bs-app .subtab:hover{background:#203019;text-decoration:none;color:var(--text)}
.bs-app .subtab.subtab-danger{color:var(--red)}
.panel,.workspace{border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:none;overflow:visible}
.panel{margin-top:18px}.panel::before,.panel::after{display:none}
.panel-head{padding:18px 22px;background:none;border-bottom:1px solid var(--line-soft);border-radius:8px 8px 0 0;gap:14px;flex-wrap:wrap}
.panel-title{font:700 16px/1.4 var(--display);letter-spacing:-.025em;text-transform:none;color:var(--text)}
.panel-body{padding:23px}.panel[open]>.panel-head{background:#1a2516}
summary.panel-head:hover{background:#202e1a}
.panel-head>.muted{font-size:11px}.muted,.hint{color:var(--text-dim)}
.hint{font-size:11px;line-height:1.7;max-width:100ch}.hint-warn{color:var(--amber)}
.field label,label.field-label{font-size:11px;letter-spacing:.01em;color:var(--text-dim);font-weight:500;text-transform:none}
input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{background:#111b0f;border:1px solid #3b4c32;border-radius:5px;padding:10px 12px;color:var(--text);font-size:13px;box-shadow:none;min-height:41px}
input::placeholder,textarea::placeholder{color:#879c78;opacity:1}input:focus,select:focus,textarea:focus{border-color:#a8e948;box-shadow:none}
input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--charge)}
button,.btn{border-radius:5px;box-shadow:none;font-size:12px;font-weight:500;min-height:38px;transition:background .12s,border-color .12s;color:var(--text)}
button.primary,.btn.primary{background:var(--charge);color:#10180f;border:1px solid var(--charge);box-shadow:none;font-weight:600}
button.primary:hover:not(:disabled){background:#b8f261;border-color:#b8f261;box-shadow:none;transform:none}
button.ghost,.ghost{background:#1a2616;border-color:var(--line);color:var(--text-dim)}
button.ghost:hover:not(:disabled){background:#2b3d21;border-color:#607647;color:var(--text)}
button.danger,.danger:not(.panel):not(.docs-callout):not(.banner){color:var(--red);border-color:#6c3c35;background:#392520}
button.tiny,.tiny{font-size:11px;min-height:32px;padding:6px 10px;border-radius:4px}
.btn-row{gap:9px;flex-wrap:wrap}.row{gap:16px}.field{min-width:0}
.banner{border-radius:5px;padding:12px 16px;font-size:12px;line-height:1.65;border:1px solid var(--line);box-shadow:none}
.banner.warn,.banner.warning{border-left:3px solid var(--amber);background:#2c2819;color:#f0cf99}
.banner.error,.banner.danger{border-left:3px solid var(--red);background:#30201c;color:#ffd1ca}
.banner.info,.banner.dry{border-color:#3d5230;background:#1c2b17;color:#c4d8b4}.banner.info .banner-title,.banner.dry strong{color:var(--charge)}
.bs-app:has(.bs-preview-notice) .tabs{padding-top:60px}
table{font-family:var(--sans);font-size:12px;border-collapse:collapse}
th{font:500 10px/1.5 var(--sans);letter-spacing:.06em;color:var(--text-faint);background:#1a2616;text-transform:uppercase;padding:12px 14px}
.bs-app thead th{background:#1a2616;color:var(--text-faint)}
td{padding:13px 14px;border-color:var(--line-soft);font-variant-numeric:tabular-nums}
tr:hover td{background:#203019}.mono,code,.addr,.token-mint{font-family:var(--mono)}
.table-wrap{overflow-x:auto;max-width:100%;scrollbar-width:thin;scrollbar-color:#526b3d #182414}
.token-header{padding:23px;background:linear-gradient(120deg,#203019,var(--panel));border-bottom:1px solid var(--line)}
.token-ticker{font:700 27px/1.2 var(--display);letter-spacing:-.05em}
.token-stats{gap:10px}.token-stats>div{padding:14px;border:1px solid var(--line-soft);border-radius:5px;background:#172214;box-shadow:none}
.token-stats dd{font:600 19px/1.35 var(--sans);letter-spacing:-.04em;color:var(--text);font-variant-numeric:tabular-nums}
.token-stats dt{font-size:9px;color:var(--text-faint)}
.bulk-bar{padding:15px 22px;gap:10px;background:#1b2717;border-color:var(--line);flex-wrap:wrap}
.bulk-btn.buy{background:#29421a;border-color:#4b7131;color:#c4ed9e;box-shadow:none}
.bulk-btn[data-bulk=sell]:not(.danger){background:#2b241b;border-color:#625338;color:#e1c399}
.bulk-btn.armed{outline:2px solid var(--amber);outline-offset:2px}
.workspace-empty{padding:54px 28px;background:radial-gradient(ellipse at top,#29421a55,transparent 70%)}
.workspace-empty h2{font-family:var(--display);letter-spacing:-.04em;color:var(--text)}
.wallet{padding:18px 16px;border:1px solid var(--line-soft);border-radius:6px;background:#182314;margin-top:8px;box-shadow:none}
.wallet-name{font-size:14px;color:var(--text);font-weight:600}.wallet-addr{font-size:11px;color:var(--text-faint)}
.wallet-bal{font-variant-numeric:tabular-nums}.wallet-actions{display:flex;gap:7px;flex-wrap:wrap}
.preset{border-color:var(--line);background:#192515;box-shadow:none;border-radius:6px}.preset.active,.preset.selected{border-color:#789d4e;background:#293d1d;box-shadow:none}
.preset .preset-name{font-family:var(--display);font-size:16px}.preset:hover{background:#24351c;border-color:#789d4e}
.launch-step{padding:26px 0;border-color:var(--line-soft)}.launch-step-n{background:#2d431f;color:var(--charge);border:1px solid #4e6b36;box-shadow:none;border-radius:5px;font-family:var(--mono)}
.launch-step-title{font:700 19px/1.4 var(--display);letter-spacing:-.03em}.launch-facts{border-color:var(--line);color:var(--text-dim);background:#1e2c17}
.lp-wallet{background:#192515;border:1px solid var(--line);border-radius:5px;padding:12px}.lp-wallet:has(input:checked){background:#293b1f;border-color:#638345}
.launch-logo-preview{border-color:var(--line);background:#111b0f;border-radius:6px}
.copy-main{min-width:0}.copy-main .panel{margin-top:18px}.cw-row{padding:14px 15px;border-bottom-color:var(--line-soft);font-family:var(--sans);font-size:12px}.cw-head{font-size:10px;letter-spacing:.04em}
.cw-val{font-size:14px;font-variant-numeric:tabular-nums}.cw-note{font-size:10px}.cw-cta{border-radius:5px;box-shadow:none}
.copy-row{padding-block:12px;border-radius:3px}.copy-row-on{background:#263d1c;border-color:#597a39}
.copy-toolbar{padding:13px 0;gap:10px}.copy-toolbar input[type=search]{background:#111b0f;border-color:var(--line);border-radius:5px}
.copy-score,.copy-num,.copy-pnl{font-variant-numeric:tabular-nums}.copy-score{font-family:var(--display);font-size:16px}
.copy-speed,.copy-risk,.ref-card,.cw-blocker{border-color:var(--line);background:#192516;border-radius:6px;box-shadow:none}
.copy-speed h3,.wd-head{font-family:var(--display);letter-spacing:-.02em}.cs-route,.cs-stage{border-color:var(--line-soft)}
.copy-status,.badge,.pill{border-radius:4px;font-weight:500;box-shadow:none}.ref-code{color:var(--amber)}
.pos-list .pos-row{padding-block:12px}.pos-list .pos-row:nth-child(odd){background:#1c2917}.feed-row{border-color:var(--line-soft)}
.stat,.stat-card,.metric{border-color:var(--line);background:#1c2917;border-radius:6px;box-shadow:none}
.modal-backdrop,.modal-overlay{background:#060b06cc;backdrop-filter:blur(5px)}
.modal{border:1px solid #51683e;border-radius:10px;background:#182214;box-shadow:0 35px 110px #0009;max-height:90dvh}
.modal-head{background:#1d2a17;border-color:var(--line);font:700 20px/1.3 var(--display);padding:21px 25px;letter-spacing:-.03em}
.modal-body{padding:25px;overflow-wrap:anywhere}.modal-foot{padding:17px 25px;background:#1a2516;border-color:var(--line)}
.toast{background:#24321b;border:1px solid #56703d;border-radius:6px;font:400 12px/1.5 var(--sans);box-shadow:0 12px 36px #0006}
.docs-body{max-width:none}.docs-content{max-width:870px}.docs-body h2{font:700 27px/1.25 var(--display);letter-spacing:-.04em;border-color:var(--line);color:var(--text)}
.docs-body h3{font:700 18px/1.4 var(--display);letter-spacing:-.02em}.docs-body p,.docs-body li{color:var(--text-dim);font-size:13px;line-height:1.85}
.docs-callout:not(.danger):not(.warn){border-left-color:var(--charge);background:#23331b;border-color:#45632c}.docs-toc a{font-size:11px;min-height:32px}.docs-toc a:hover{background:#24371b;color:var(--charge)}
.footer{border-color:var(--line-soft);font-size:10px;color:var(--text-faint);padding-top:24px}
/* Login uses the same identity without external scripts, fonts or wallet access. */
.bs-login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 10% 10%,#2d431c70,transparent 60%),#10180f}
.bs-login .login-wrap{display:grid;grid-template-columns:1.25fr 1fr;gap:48px 90px;width:min(1130px,calc(100% - 80px));max-width:none;margin:0;padding:60px 0}
.bs-login .login-brand{grid-column:1/-1;display:flex;align-items:center;gap:13px;font:700 28px/1 var(--display);letter-spacing:-.055em;color:var(--text);margin:0;text-align:left}
.bs-login .login-brand img{display:block;border-radius:0;width:40px;height:40px}
.bs-login-story{align-self:center;padding:28px 0}.bs-login-story h1{font:700 clamp(48px,5.2vw,73px)/1.02 var(--display);letter-spacing:-.065em;margin:26px 0}.bs-login-story h1 span{color:var(--charge)}
.bs-login-story>p:not(.bs-eyebrow){color:var(--text-dim);font-size:15px;line-height:1.85}
.bs-login-signature{display:flex;gap:22px;margin-top:60px;padding-top:23px;border-top:1px solid var(--line);font:400 9px/1.5 var(--sans);letter-spacing:.08em;color:var(--text-faint)}
.bs-login .login-panel{align-self:center;width:100%;max-width:none;min-width:0;border-radius:8px;margin:0;border-color:#3d5130;background:#182214;box-shadow:0 25px 70px #0003}
.bs-login .login-panel .panel-head{padding:28px 28px 21px}.bs-login .login-panel .panel-title{font-size:22px}
.bs-login .login-panel .panel-body{padding:26px 28px}.bs-login .login-panel .field{margin-bottom:18px}.bs-login .login-panel input{min-height:46px;font-size:16px}
.bs-login #btn-signin{width:100%;min-height:46px;margin-top:6px}.bs-login-note{margin:20px 0 0;color:var(--text-faint);font-size:11px;line-height:1.8}.bs-login-footer{grid-column:1/-1;border-top:1px solid var(--line-soft);padding-top:22px;font-size:10px;color:var(--text-faint);margin:0}
@media(min-width:1700px){.bs-app>.wrap{padding-inline:52px}}
@media(max-width:1150px){:root{--bs-rail:184px}.bs-app>.wrap{padding-inline:24px}.bs-app .tabs{padding-inline:12px}.bs-app .nav-brand{gap:8px}.bs-app .nav-brand span{font-size:19px}.bs-app .nav-brand img{width:30px;height:30px}.bs-context{max-width:120px;white-space:normal}.bs-page-description{max-width:490px}.bs-app .strip{font-size:10px;gap:6px 12px}}
@media(max-width:800px){:root{--bs-rail:0px}.bs-app>.wrap{width:100%;margin:0;padding:0 20px 100px}.bs-app .tabs{position:sticky;inset:auto;top:0;z-index:75;width:auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:10px 0 0;margin:0;background:var(--bg);border:0;border-bottom:1px solid var(--line);overflow:visible;border-radius:0}.bs-app .tabs .nav-brand{grid-column:1/5;padding:9px 0 15px}.bs-app .nav-brand img{width:30px;height:30px}.bs-app .nav-brand span{font-size:22px}.bs-app .tabs .tab{grid-row:2;justify-content:center;min-height:46px;padding:11px 7px;border-radius:4px 4px 0 0;font-size:12px;gap:0;white-space:nowrap}.bs-app .tabs .tab::before{display:none}.bs-app .tabs .tab.active{border-color:transparent;border-bottom-color:var(--charge);background:#23341b}.bs-app #btn-logout{grid-column:5;grid-row:1;margin:0;justify-self:end;align-self:center;min-height:44px;font-size:10px;padding:0 2px}.bs-app .tabs .who,.bs-app .tab-spacer,.bs-nav-caption,.bs-nav-foot,.bs-app .tab-note{display:none}.bs-app .topbar{padding-block:12px;min-height:58px;align-items:flex-start}.bs-app .strip{font-size:10px;gap:7px 12px}.bs-app .chain-trigger{min-height:38px;font-size:11px;max-width:150px}.bs-page-head{padding:28px 0 24px;align-items:flex-start}.bs-page-head h1{font-size:33px}.bs-page-description{font-size:12px;max-width:470px}.bs-context{font-size:8px;max-width:104px}.bs-app .subtabs{margin-bottom:16px}.bs-app .subtab{font-size:11px;padding:12px 14px;min-height:44px}.panel-head{padding:16px 18px}.panel-body{padding:18px}.modal{width:calc(100% - 28px);max-height:92dvh}.modal-head{padding:18px 20px}.modal-body{padding:20px}.modal-foot{padding:16px 20px}.bs-login .login-wrap{gap:40px;width:calc(100% - 60px);grid-template-columns:1fr 1fr}.bs-login-story h1{font-size:47px}.bs-login-signature{flex-wrap:wrap;gap:14px}.bs-login .login-panel .panel-head,.bs-login .login-panel .panel-body{padding:22px}}
@media(max-width:560px){.bs-app>.wrap{padding-inline:14px}.bs-page-head{display:block;padding:25px 0 22px}.bs-page-head h1{font-size:33px}.bs-context{display:inline-block;max-width:none;margin-top:17px;padding:0 0 0 10px;font-size:8px}.bs-page-description{font-size:12px;max-width:335px}.bs-eyebrow{font-size:9px;margin-bottom:10px}.bs-app .strip{max-width:calc(100% - 135px);font-size:9px}.bs-app .strip-item{white-space:normal}.bs-app .chain-trigger{max-width:130px;font-size:10px;padding:8px}.panel{margin-top:14px}.panel-head{padding:15px}.panel-title{font-size:16px}.panel-body{padding:16px}.panel-head>.muted{font-size:10px}.row{gap:14px}.field{min-width:0;max-width:100%}input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:16px;min-height:44px;max-width:100%}button,button.tiny,.tiny{min-height:42px}.btn-row button{white-space:normal}.hint{font-size:11px}.table-wrap{border:1px solid var(--line-soft);border-radius:4px}table{min-width:650px}th{font-size:9px}td{font-size:12px;padding:12px}.token-header{padding:16px}.token-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.token-stats>div{padding:12px}.token-stats dd{font-size:17px}.bulk-bar{padding:13px;gap:8px}.bulk-bar input{max-width:90px!important;font-size:14px!important}.bulk-btn{flex:1 1 auto}.wallet{padding:15px 12px}.wallet-actions{width:100%}.wallet-actions button{flex:1 1 auto}.cw-row,.cw-list.cw-no-acts .cw-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:14px 11px}.cw-head{display:none}.cw-acts{flex-wrap:wrap}.cw-val{font-size:13px}.copy-toolbar>*{max-width:100%}.launch-step{padding:20px 0;gap:11px}.launch-step-title{font-size:18px}.lp-wallets{grid-template-columns:1fr}.docs-content{min-width:0}.docs-body p,.docs-body li{font-size:12px}.docs-toc{max-width:100%}.bs-login .login-wrap{width:calc(100% - 40px);display:flex;flex-direction:column;gap:25px;padding:35px 0}.bs-login .login-brand{font-size:26px}.bs-login-story{padding:7px 0;align-self:stretch}.bs-login-story h1{font-size:51px;margin:20px 0}.bs-login-story>p:not(.bs-eyebrow){font-size:13px}.bs-login-signature{display:none}.bs-login .login-panel{align-self:stretch}.bs-login .login-panel .panel-head,.bs-login .login-panel .panel-body{padding:22px}.bs-login-footer{font-size:10px}.modal{max-height:90dvh}.modal-body{padding:17px}.modal-head{font-size:19px}.modal-foot{padding:14px 17px}}
@media(max-width:800px){.bs-app:has(.bs-preview-notice) .tabs{padding-top:10px}.bs-preview-notice{padding:8px 14px;font-size:9px}}
.bs-app .docs-table{min-width:0;max-width:100%}
.bs-login .login-brand{align-self:flex-start;justify-content:flex-start;width:auto;max-width:100%;min-width:0}
.bs-login #btn-signin{background:var(--charge);color:var(--bg);box-shadow:none!important}
.bs-login .bs-preview-notice{width:100%;padding:8px 14px;align-self:start}
/* Usability pass: neutral surfaces, readable hierarchy, one scroll owner.
   These selectors never suppress financial warnings or change table rows. */
.bs-app .tabs{background:#171d19;border-right-color:var(--line-soft)}
.bs-app .tabs .tab{color:#c4cec6;min-height:46px}
.bs-app .tabs .tab:hover{background:#242e27!important}
.bs-app .tabs .tab.active{background:#273720!important;border-color:#4d6838}
.bs-app .topbar{min-height:62px;padding-block:12px}
.bs-app .strip{gap:8px 16px}
.bs-app .strip-label{font-size:10px;letter-spacing:.035em}
.bs-app .strip-value{color:var(--text-dim)}
.bs-app .chain-trigger{background:#222b24;border-color:#48584b}
.bs-page-head{padding:28px 0 24px;gap:20px}
.bs-page-head h1{font-size:34px;letter-spacing:-.04em}
.bs-eyebrow{margin-bottom:9px;letter-spacing:.09em}
.bs-page-description{font-size:13px;margin-top:10px;line-height:1.65}
.bs-context{color:#aabbb0;border-color:#536452}
.bs-app .panel,.bs-app .workspace{background:var(--panel);border-color:var(--line-soft);border-radius:10px}
.bs-app .panel-head{background:#202923;border-bottom-color:var(--line);padding:16px 20px;align-items:center;gap:8px 16px}
.bs-app .panel-title{font-size:17px;line-height:1.4}
.bs-app .panel-body{padding:22px}
.bs-app .panel-head>.muted{font-size:12px;line-height:1.5;max-width:100%;overflow-wrap:anywhere}
.bs-app .hint{font-size:12px;line-height:1.7;color:var(--text-dim);overflow-wrap:anywhere}
.bs-app .hint:empty,.bs-app .current-value:empty{margin:0;padding:0}
.bs-app .field>label,.bs-app .field-label{font-size:12px;font-weight:500;line-height:1.5;letter-spacing:0;text-transform:none;color:#d3ddd5}
.bs-app .row{gap:18px;margin-block:16px;align-items:flex-start}
.bs-app .row:first-child{margin-top:0}
/* Input fields stay top-aligned when their help differs. Action-only columns
   align to the end of their own flex line, not above the input labels. */
.bs-app .row>.field:has(>button:only-child),.bs-app .row>.row-actions{align-self:flex-end}
.bs-app .row>.field>button:only-child,.bs-app .row>.row-actions>button{min-height:44px}
.bs-app .btn-row{gap:9px;margin-block:14px;align-items:center}
.bs-app .btn-row>button{flex:0 1 auto;max-width:100%;min-height:40px}
.bs-app input:not([type=checkbox]):not([type=radio]):not([type=range]),.bs-app select,.bs-app textarea{
  background:#111813;border-color:#536257;border-radius:6px;color:var(--text);font-size:14px;line-height:1.5;min-height:44px;
}
.bs-app input::placeholder,.bs-app textarea::placeholder{color:#91a396}
.bs-app select{cursor:pointer;padding-right:30px}
.bs-app button{min-height:38px;padding:9px 14px;font-size:12px;line-height:1.4;border-radius:6px}
.bs-app button:not(.primary):not(.danger):not(.banner-close):not(.bs-toast-close){box-shadow:none}
.bs-app button.primary{background:var(--charge)!important;color:#14200c!important;box-shadow:none!important;border-color:var(--charge);font-weight:650}
.bs-app button.ghost{background:#27322b;color:#d1ddd4;border-color:#47574b}
.bs-app button.ghost:hover:not(:disabled){background:#344439;border-color:#718575}
.bs-app button.danger{background:#352523;color:#ffb1a9;border-color:#986459;box-shadow:none}
.bs-app button:disabled{opacity:.5}
.bs-app .preset{background:#202923;border-color:#48574b;border-radius:8px;padding:15px}
.bs-app .preset.active,.bs-app .preset.selected{background:#2b3a24;border-color:#8eaf62}
.bs-app .wallet,.bs-app .lp-wallet{background:#212b25;border-color:#45534a}
.bs-app .wallet{padding:18px;margin-top:12px}
.bs-app .wallet-name{font-size:15px}.bs-app .wallet-addr{color:#a8b9ad;font-size:12px}
.bs-app .wallet-actions{gap:8px}
.bs-app .current-value,.bs-app .scope-note{padding:11px 14px;background:#242f28;border:1px solid #3e5042;border-radius:6px;font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.bs-app #page-settings .panel-body>.field:not(:first-child){margin-top:24px;padding-top:20px;border-top:1px solid var(--line-soft)}
.bs-app .launch-step{gap:16px;padding-block:24px}
.bs-app .launch-step-n{background:#253129;border-color:#52684f;color:#cee8b4}
.bs-app .launch-facts,.bs-app .token-header,.bs-app .bulk-bar{background:#222d26}
.bs-app .token-stats>div{background:#18221b;border-color:#415047}
.bs-app .token-stats dt{font-size:10px;color:var(--text-dim)}
.bs-app .token-stats dd{color:var(--text)}

/* Navigation wraps, rather than introducing a second horizontal scrollbar. */
.bs-app .subtabs{flex-wrap:wrap;overflow:visible;white-space:normal;gap:4px;padding:5px;background:#18211b;border:1px solid var(--line-soft);border-radius:8px;margin:0 0 18px}
.bs-app .subtab{padding:10px 15px;min-height:42px;border:1px solid transparent;border-radius:5px;font-size:12px;line-height:1.5}
.bs-app .subtab.active{background:#293b22;color:#c1ef86;border-color:#4e693a}
.bs-app .subtab:hover{background:#2b3730}
.bs-app .subtab-danger{white-space:normal}

/* Notifications retain severity and full critical text, with reserved close space. */
.bs-app #banners{display:grid;gap:10px;margin:0 0 18px}
.bs-app #banners:empty{display:none}
.bs-app #banners .banner{margin:0;display:grid;grid-template-columns:126px minmax(0,1fr);align-items:center;gap:8px 16px;padding:15px 62px 15px 18px;min-height:64px;border-radius:8px;line-height:1.6}
.bs-app #banners .banner strong{margin:1px 0 0;font-size:11px;line-height:1.6;letter-spacing:.05em}
.bs-app #banners .banner>span{font-size:12px;line-height:1.6;opacity:1;overflow-wrap:anywhere}
.bs-app #banners .banner-close{position:absolute;top:8px;right:8px;width:42px;height:42px;min-height:42px;margin:0;padding:0;display:grid;place-items:center;border:1px solid #ffffff26;background:transparent;color:inherit;font-size:21px;line-height:1;opacity:1}
.bs-app #banners .banner-close:hover{background:#ffffff12}
.bs-app #banners .banner.dry,.bs-app #banners .banner.info{background:#202d36;border-color:#475f70;color:#d7e4ec}
.bs-app #banners .banner.dry strong,.bs-app #banners .banner.info strong{color:#b3d6f1}
.bs-app .bs-notice-details{grid-column:2;margin:0;border:0;background:none}
.bs-app .bs-notice-details>summary{display:inline-flex;align-items:center;gap:8px;padding:4px 0;min-height:32px;color:#b8d4e7;font-size:12px;background:none;border:0;border-radius:0;list-style:none}
.bs-app .bs-notice-details>summary::after{content:'+';position:static;transform:none;margin-left:6px;width:auto;height:auto;border:0}
.bs-app .bs-notice-details[open]>summary::after{content:'−'}
.bs-app .bs-notice-details>span{display:block;padding-top:6px;color:#c3d1dc;font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.bs-app .bs-notice-brief{color:#d8e5ef}
@media(min-width:801px){
  .bs-app #banners .banner.dry{grid-template-columns:126px minmax(0,1fr) auto}
  .bs-app .bs-notice-details{grid-column:3}
  .bs-app .bs-notice-details[open]{grid-column:2/-1}
}
.bs-app .toast-stack{right:24px;bottom:24px;width:min(390px,calc(100vw - 48px));max-width:none;gap:10px;max-height:calc(100vh - 140px);max-height:calc(100dvh - 140px);overflow-y:auto;padding:2px;overscroll-behavior:contain}
.bs-app .toast{position:relative;min-height:64px;padding:16px 58px 16px 17px;background:#26322b;color:#f1f5ef;font-size:13px;line-height:1.65;border-radius:8px;border:1px solid #566b5b;border-left-width:4px;box-shadow:0 12px 30px #0005;flex:none;cursor:pointer}
.bs-app .toast.error{background:#332523;border-color:#9c665f}
.bs-app .toast.warn{background:#332e20;border-color:#92783e}
.bs-app .toast.info{background:#23313b;border-color:#587b96}
.bs-app .toast.success,.bs-app .toast.ok{border-left-color:var(--charge)}
.bs-app .bs-toast-close{position:absolute;right:8px;top:8px;width:38px;height:38px;min-height:38px;padding:0;background:transparent;border:1px solid #ffffff30;color:inherit}
.bs-app .bs-toast-close::before{content:'×';font-size:20px}

/* One scroll container per real data table. Empty prose must never be max-content. */
.bs-app .table-scroll,.bs-app .table-wrap{min-width:0;max-width:100%;overflow-x:auto;border-radius:5px;scrollbar-color:#64766a #19221c;scrollbar-width:thin;overscroll-behavior-x:contain}
.bs-app .table-scroll table,.bs-app .table-wrap table{display:table;overflow:visible;max-width:none}
.bs-app .table-inner:has(> .hint:only-child){width:auto;min-width:0}
.bs-app .table-inner>.hint:only-child{white-space:normal;max-width:none;margin:0;padding:16px;border:1px dashed #46574b;border-radius:6px;background:#202a24;line-height:1.7}
.bs-app .table-scroll:has(>table>tbody:empty)>table,.bs-app .table-scroll:has(>table>tbody>tr:only-child>td[colspan])>table{min-width:0;width:100%}
.bs-app .table-scroll:has(>table>tbody>tr:only-child>td[colspan])>table th{white-space:normal;padding-inline:8px}
/* A header-only table is not data. Existing loading/error/empty messages stay
   untouched; headings return automatically as soon as real rows arrive. */
.bs-app .table-scroll table:has(>tbody:empty)>thead,
.bs-app .table-scroll table:has(>tbody>tr:only-child>td[colspan])>thead{display:none}
.bs-app .table-scroll table:has(>tbody:empty),
.bs-app .table-scroll table:has(>tbody>tr:only-child>td[colspan]){min-width:0;width:100%}
.bs-app thead th{background:#26342b;color:#b9c9bf;font-size:10px;letter-spacing:.04em}
.bs-app td{font-size:13px;padding:13px 14px}
.bs-app tr:hover td{background:#28382c}
.bs-app .disc-row:nth-child(even),.bs-app .ov-row:nth-child(even){background:#222e27}
.bs-app .disc-row:hover,.bs-app .ov-row:hover{background:#2c3b30}
/* The legacy fixed 34px row cannot contain a touch-sized action. Let the
   content establish height; never clip an action or suppress its overflow. */
.bs-app #discover-list{width:100%;min-width:1230px}
.bs-app #discover-list .disc-row{grid-template-columns:34px minmax(140px,1.5fr) minmax(82px,.85fr) minmax(52px,.55fr) minmax(72px,.8fr) minmax(52px,.55fr) minmax(58px,.6fr) minmax(58px,.6fr) 142px 108px minmax(52px,.55fr) minmax(74px,.8fr) minmax(110px,1.15fr) 88px;gap:12px;padding:12px 16px;min-height:62px;height:auto;border-radius:0;border-bottom:1px solid #303c33;background:transparent}
.bs-app #discover-list .disc-row>*{display:block}
.bs-app #discover-list .disc-head{min-height:48px;background:#202a23!important;color:#b8c7bd;font-size:11px;font-weight:500;line-height:1.5;letter-spacing:0;text-transform:none;border-top:1px solid #36473a;border-bottom:1px solid #45594a}
.bs-app #discover-list .disc-row:not(.disc-head):nth-child(odd){background:#1b251e}
.bs-app #discover-list .disc-row:not(.disc-head):hover{background:#27362c}
.bs-app #discover-list .disc-row>.chain-link{color:#e0e9e2;font-weight:500}
.bs-app #discover-list .disc-row>.chain-link:hover{color:var(--charge)}
.bs-app #discover-list .disc-row>button.tiny{height:auto;min-height:40px;padding:9px 12px;align-self:center;justify-self:end;background:#26352a!important;color:#d4e5cb!important;border-color:#4a604d;font-weight:500}
.bs-app #discover-list .disc-row>button.tiny:hover{background:#354a30!important;border-color:#9dc975}
.bs-app #discover-list .disc-row>.pill{white-space:nowrap;display:flex;align-items:center;justify-self:stretch;min-height:30px;border:0;border-radius:0;background:none;font-size:12px;font-weight:500;line-height:1.5;letter-spacing:0;text-transform:none;padding:0;max-width:100%}
.bs-app #discover-list .disc-row>.pill:nth-child(8){color:var(--text-dim)}
.bs-app #discover-list .disc-row>.pill.tone-ok:nth-child(8){color:#b7d6a0}
.bs-app #discover-list .disc-row>.pill.tone-warn:nth-child(8){color:#e5c47e}
.bs-app #discover-list .disc-row>.pill.tone-bad:nth-child(8){color:#f0a89b}
.bs-app #discover-list .disc-row>.pill:nth-child(9){color:#b6c3ba;font-weight:400}
.bs-app #discover-list .disc-row>.disc-why{white-space:normal;line-height:1.6;font-size:12px}
.bs-app .ov-row:not(.disc-head),.bs-app .att-row:not(.disc-head){min-height:48px;padding-block:12px}
.bs-app .copy-row:not(.copy-head){min-height:64px;padding-block:14px;border-radius:0;border-bottom:1px solid var(--line-soft)}
.bs-app .copy-actions{display:flex;flex-wrap:wrap;gap:8px;overflow:visible}
.bs-app .copy-actions>button{min-height:38px;height:auto}
.bs-app .exec-badge{max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.6;border-radius:4px}
@media(min-width:901px) and (max-width:1600px){.bs-app .exec-row{gap:7px;padding-block:12px}}
@media(max-width:800px){
  .bs-app .exec-row:not(.exec-head){padding:16px;gap:14px 18px;border:1px solid #45564a;border-radius:8px;margin-top:14px;background:#222e27}
  .bs-app .exec-row>.exec-badge{justify-self:stretch;width:auto;box-sizing:border-box;white-space:normal}
  .bs-app .exec-row>span::before{display:block;margin-bottom:4px;font-size:10px;color:#aec2b3}
}
.bs-app .table-inner:has(>#copy-kols){width:100%;min-width:0}
.bs-app .table-inner:has(>#copy-kols)>.copy-head{display:none}
.bs-app #copy-kols{display:block}
.bs-app #copy-kols>.bs-roster-compact{display:grid;grid-template-columns:minmax(190px,2.2fr) minmax(48px,.5fr) repeat(2,minmax(68px,.75fr)) minmax(48px,.5fr) minmax(120px,1.25fr) 74px;gap:12px 16px;padding:16px 12px;margin:0;min-height:94px;background:transparent;border:0;border-bottom:1px solid #34443a;border-radius:0;align-items:center;box-shadow:none}
.bs-app #copy-kols>.bs-roster-compact:hover{background:#202b24}
.bs-app #copy-kols>.bs-roster-compact>*{white-space:normal;text-align:left;overflow-wrap:anywhere;min-width:0;font-size:13px}
.bs-app #copy-kols [data-bs-label]::before{content:attr(data-bs-label);display:block;margin-bottom:5px;color:#a8bcae;font-size:10px;letter-spacing:.035em;text-transform:uppercase;font-weight:400;font-family:var(--sans)}
.bs-app #copy-kols .bs-roster-identity [data-bs-label]::before,.bs-app #copy-kols .bs-roster-status [data-bs-label]::before{display:none}
.bs-app #copy-kols .copy-follow{min-height:24px;font-size:14px;flex-wrap:nowrap;gap:10px;align-items:center;letter-spacing:0;text-transform:none;margin:0;cursor:pointer}
.bs-app #copy-kols .copy-follow input{width:17px;height:17px;margin:0;flex:none}
.bs-app #copy-kols .copy-name{white-space:normal;max-width:none;font-size:14px;line-height:1.5;color:#ecf1eb}
.bs-app #copy-kols .bs-roster-identity>.chain-link{display:inline-block;margin:5px 0 0 27px;color:#a9bdb0;font-size:11px}
.bs-app #copy-kols .copy-score{font-size:17px}
.bs-app #copy-kols .bs-roster-status{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;line-height:1.5}
.bs-app #copy-kols .bs-roster-status>.pill,.bs-app #copy-kols .bs-roster-status>.health-badge{border:0;background:transparent;padding:0;min-height:0;width:auto;font-size:11px;line-height:1.5;border-radius:0;white-space:normal}
.bs-app #copy-kols .bs-roster-status>.copy-status{flex-basis:100%;font-size:10px}
.bs-app #copy-kols .bs-roster-more{padding:0;margin:0;border:0;background:transparent;min-width:0}
.bs-app #copy-kols .bs-roster-more>summary{padding:8px 4px;min-height:36px;font-size:12px;color:#c6d8cb;border:0;background:none;cursor:pointer;white-space:nowrap}
.bs-app #copy-kols .bs-roster-more>summary:focus-visible{outline:2px solid var(--charge);outline-offset:3px}
.bs-app #copy-kols .bs-roster-more[open]{grid-column:1/-1;border-top:1px dashed #435448;padding-top:8px}
.bs-app #copy-kols .bs-roster-extra{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;padding:12px 0 4px;font-size:12px}
.bs-app #copy-kols .bs-roster-extra>*{min-width:0;white-space:normal;overflow-wrap:anywhere;text-align:left}
.bs-app #copy-kols .bs-roster-extra .copy-actions{grid-column:1/-1;border:0;padding:8px 0 0;justify-content:flex-start}
.bs-app #copy-kols .copy-actions::before{display:none}
@media(max-width:1200px){
  .bs-app #copy-kols>.bs-roster-compact{grid-template-columns:minmax(0,2fr) repeat(4,minmax(0,1fr));gap:12px;padding:16px 10px}
  .bs-app #copy-kols .bs-roster-status{grid-column:1/5}
  .bs-app #copy-kols .bs-roster-status>.copy-status{flex-basis:auto}
  .bs-app #copy-kols .bs-roster-more:not([open]){justify-self:end}
}
@media(max-width:600px){
  .bs-app #copy-kols>.bs-roster-compact{grid-template-columns:repeat(4,minmax(0,1fr));padding:16px 2px;gap:14px 10px}
  .bs-app #copy-kols .bs-roster-identity{grid-column:1/-1}
  .bs-app #copy-kols .bs-roster-status{grid-column:1/4}
  .bs-app #copy-kols .bs-roster-extra{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bs-app #copy-kols .copy-follow{min-height:32px}
}
.bs-app .chain-trigger:hover,.bs-app .chain-drop.open .chain-trigger{border-color:#879c7c;background:#2b372d;box-shadow:none}
.bs-app .chain-swatch{box-shadow:none;width:8px;height:8px;flex:none}
.bs-app .chain-list{left:auto;right:0;padding:6px;min-width:220px;max-width:calc(100vw - 24px);background:#202a23;border-color:#506054;border-radius:9px}
.bs-app .topbar:has(.chain-drop.open){z-index:90}
.bs-app .chain-option{gap:10px;padding:12px;border-radius:5px;color:#c7d3cb;min-height:48px}
.bs-app .chain-option.active{background:#31412b;color:#dbefc8}
.bs-app .chain-option:hover{background:#36443a;color:#f1f5ef}
.bs-app .chain-option-unit{color:#b4c3b9;font-size:11px}
.bs-app .copy-toolbar{gap:10px}
.bs-app .copy-toolbar input[type=search]{background:#111813;border-color:#536257}
.bs-app .disc-filter-grid{gap:18px 16px}
.bs-app .disc-filter-panel{padding:16px;border-radius:8px;background:#222d26}
.bs-app .disc-budget-form{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr)) auto;gap:10px;max-width:1000px;align-items:start;margin-block:14px}
.bs-app .disc-budget-form>input{width:100%;min-width:0;margin:0}
.bs-app .disc-budget-form>button{min-height:44px}
.bs-app .disc-budget-form>#disc-budget-note{grid-column:1/-1;min-width:0;white-space:normal}
.bs-app .disc-budget-form>#disc-budget-note:empty{display:none}
.bs-app #discover-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,220px));gap:12px;margin:20px 0}
.bs-app #discover-tiles>.kv{margin:0;padding:14px 16px;gap:7px;background:#222d26;border:1px solid #415047;border-radius:7px;min-width:0}
.bs-app #discover-tiles .kv-k{font-size:10px;line-height:1.5;color:#b9c9bf}
.bs-app #discover-tiles .kv-v{font-size:18px;line-height:1.4}
.bs-app .disc-filter-grid .field{margin:0}
.bs-app .disc-filter-body.is-open{padding-top:18px;margin-top:14px;border-top:1px solid var(--line)}
.bs-app .disc-fold[open]{padding-bottom:16px}
.bs-app .launch-step-body{min-width:0;width:100%}
.bs-app .launch-step-body>.hint{max-width:85ch}
.bs-app .launch-step-body .field>.hint{max-width:80ch}
.bs-app #page-copy .disc-fold>summary{padding:12px 2px;min-height:42px;color:#c1d0c6;font-size:12px;line-height:1.5}
.bs-app .disc-fold{border-bottom:1px solid var(--line-soft)}
.bs-app .disc-fold>*:not(summary){padding:12px 2px}
.bs-app .copy-sec{font-size:12px;letter-spacing:.06em;color:#c9d7cd}
.bs-app .copy-risk{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;background:none;border:0;margin:0 0 20px}
.bs-app .risk-tile{min-width:0;min-height:72px;padding:12px;background:#212d25;border-color:#415148;border-radius:7px;gap:6px}
.bs-app .risk-label{font-size:10px;letter-spacing:.04em;color:#b9c9bf}
.bs-app .risk-value{font-size:15px;line-height:1.35;overflow-wrap:anywhere}
.bs-app .risk-bad{background:#302623;border-color:#97685b}
.bs-app .risk-warn{background:#2e2c21;border-color:#7c7046}
.bs-app .risk-click:hover{outline:1px solid #95ab9a;background:#304238}
.bs-app .cw-blockers-box{margin:18px 0}
.bs-app .cw-blockers-head{font-size:11px;line-height:1.6;margin-bottom:10px}
.bs-app .cw-blockers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.bs-app .cw-blocker{background:#29281f;border:1px solid #6c613c;border-left:3px solid #d9ba68;padding:14px;border-radius:7px;gap:9px;font-size:12px;line-height:1.65;min-width:0;overflow-wrap:anywhere}
.bs-app .cw-blocker-gate{gap:6px 8px;align-items:flex-start}
.bs-app .cw-blocker-name{font-size:13px;color:#f0e9d7}
.bs-app .cw-blocker-gate .tag{max-width:100%;white-space:normal;overflow-wrap:anywhere;font-size:10px;line-height:1.6;border-radius:4px;background:#38331e;color:#e6ce8c;border-color:#796c3e}
.bs-app .cw-blocker-scope{font-size:9px;line-height:1.7;color:#c1bca5}
.bs-app .cw-blocker-means{color:#cecabc}
.bs-app .cw-blocker-fix{color:#f0d592;border-top:1px solid #74653870;padding-top:8px}
.bs-app .cw-row{background:#212c25;border:1px solid #3e5044;border-radius:7px;margin-top:10px;padding:15px;gap:14px}
.bs-app .cw-head{background:none;border:0;margin:0}
.bs-app .cw-note{font-size:11px;color:#b5c6b9;line-height:1.65}
.bs-app .cw-size{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.bs-app .cw-size-row{gap:10px;flex-wrap:wrap}
.bs-app .cw-size-row>button{flex:none}
.bs-app .cw-size-row>input{max-width:140px}
.bs-app .bs-scorecard{margin:22px 0;border:1px solid #47594a;border-radius:8px;background:#202b24}
.bs-app .bs-scorecard>summary{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:15px 38px 15px 16px;background:none;border:0;border-radius:8px;min-height:50px;font-size:13px;font-weight:600;color:#dce8df;line-height:1.5}
.bs-app .bs-scorecard>summary span{font-size:11px;color:#aabeb0;font-weight:400}
.bs-app .bs-disclosure-body{padding:18px;border-top:1px solid #47594a}
.bs-app #scorecard-out{font-size:12px;line-height:1.8;overflow-wrap:anywhere}
.bs-app #scorecard-out>div{padding:10px 12px!important;margin-top:9px!important;border-radius:4px;background:#18211b}
.bs-app .cw-audit{margin-top:18px}
.bs-app .cw-audit[open]>summary{margin-bottom:14px}
.bs-app #cw-audit{min-width:0;width:100%}
.bs-app #cw-audit>table:not(:has(td)){display:none}
.bs-app #cw-audit th{background:#26342b;color:#b9c9bf;font-size:11px;line-height:1.5;letter-spacing:0;text-transform:none;padding:12px 14px}
.bs-app #cw-audit td{padding:12px 14px;line-height:1.65}
.bs-app #cw-audit td:last-child{white-space:normal;min-width:220px;max-width:500px}
.bs-app .bs-empty-history{margin:0;padding:16px 0;font-size:13px;line-height:1.65;color:#b7c6bc}
/* Account management: preserve table semantics, bound credential fields and
   keep administrative actions separate from personal password changes. */
.bs-app #accounts-panel .panel-body>p{max-width:90ch;margin:0 0 22px}
.bs-app #accounts-panel table{table-layout:fixed;width:100%;min-width:720px}
.bs-app #accounts-panel th{font-size:11px;letter-spacing:0;text-transform:none;padding:12px 14px}
.bs-app #accounts-panel th:nth-child(1){width:24%}
.bs-app #accounts-panel th:nth-child(2){width:13%}
.bs-app #accounts-panel th:nth-child(3){width:10%}
.bs-app #accounts-panel th:nth-child(4){width:18%}
.bs-app #accounts-panel th:nth-child(5){width:35%}
.bs-app #accounts-body td{white-space:normal;overflow-wrap:anywhere;padding-block:18px;vertical-align:middle;border-bottom:1px solid #354439}
.bs-app #accounts-body td:last-child>button{margin:4px 8px 4px 0;min-height:40px}
.bs-app #accounts-body .tag{display:inline-block;margin:4px 0 4px 8px;padding:4px 8px;border-radius:4px;font-size:10px;line-height:1.5;letter-spacing:.02em;vertical-align:middle}
.bs-app #accounts-body td:nth-child(2)>.tag{margin-left:0}
.bs-app #accounts-body .tag.armed{background:#2c3928;border:1px solid #51664a;color:#c5dcb0}
.bs-app .bs-account-meta{display:none}
.bs-app .bs-form-title{margin:28px 0 0;font:500 15px/1.5 var(--sans);letter-spacing:0;text-transform:none;color:#edf2e9}
.bs-app #accounts-panel .bs-account-create{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 140px auto;align-items:end;gap:18px;max-width:1100px;margin-bottom:4px}
.bs-app #accounts-panel .bs-account-create>.field{margin:0;min-width:0}
.bs-app #accounts-panel .bs-account-create> .field>button{min-height:44px;white-space:nowrap}
.bs-app .bs-password-panel .panel-body>.row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px;max-width:700px;margin:0 0 14px}
.bs-app .bs-password-panel .field{margin:0}
.bs-app .bs-password-panel .hint{margin:0;padding-left:12px;border-left:2px solid #b69555;color:#c8d3c8}
/* Two-factor sign-in (2026-09-19): the setup key and the recovery codes are read and typed by a person, so they are
   large, monospaced and select as a whole. */
/* What a connected wallet holds (2026-09-20), above the two-factor block in the same section. */
.bs-app .bs-holder-self{margin-top:18px;padding-top:16px;border-top:1px solid var(--line-soft)}
.bs-app .bs-holder-self .wd-grid{gap:10px 18px}
.bs-app .bs-2fa-panel{margin-top:22px;padding-top:18px;border-top:1px solid var(--line-soft)}
.bs-app .bs-2fa-panel .row{max-width:700px;margin:10px 0}
.bs-app .bs-password-panel .bs-2fa-panel p{margin:0 0 10px}
.bs-app .bs-2fa-panel .bs-2fa-key{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:18px;letter-spacing:.08em;word-break:break-all;user-select:all;margin:10px 0}
.bs-app .bs-2fa-panel .bs-recovery-codes{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:15px;line-height:1.7;user-select:all;padding:12px 14px;border:1px solid var(--line);border-radius:8px;white-space:pre;overflow-x:auto;max-width:420px}
@media(max-width:1100px){
  .bs-app #accounts-panel .bs-account-create{grid-template-columns:repeat(2,minmax(0,1fr));max-width:700px}
}
@media(max-width:800px){
  .bs-app #accounts-panel table:has(#accounts-body.bs-account-labeled){min-width:0;width:100%}
  .bs-app #accounts-panel table:has(#accounts-body.bs-account-labeled) th:nth-child(n+2):nth-child(-n+4),
  .bs-app #accounts-body.bs-account-labeled td:nth-child(n+2):nth-child(-n+4){display:none}
  .bs-app #accounts-panel table:has(#accounts-body.bs-account-labeled) th:first-child{width:60%}
  .bs-app #accounts-panel table:has(#accounts-body.bs-account-labeled) th:last-child{width:40%}
  .bs-app #accounts-body.bs-account-labeled td{vertical-align:top;padding:18px 10px}
  .bs-app #accounts-body.bs-account-labeled td:last-child>button{display:block;width:100%;margin:0 0 8px;padding:9px 6px;min-height:44px;white-space:normal;overflow-wrap:anywhere}
  .bs-app .bs-account-meta{display:grid;gap:10px;margin:14px 0 0;font-size:12px;line-height:1.5}
  .bs-app .bs-account-meta dt{font-size:10px;color:#a6b8ac;margin:0 0 2px}
  .bs-app .bs-account-meta dd{margin:0;color:#d5dfd7;overflow-wrap:anywhere}
}
@media(max-width:560px){
  .bs-app #accounts-panel .bs-account-create,.bs-app .bs-password-panel .panel-body>.row{grid-template-columns:minmax(0,1fr);gap:16px}
  .bs-app #accounts-panel .bs-account-create> .field>button,.bs-app .bs-password-panel .field>button{width:100%}
}
.bs-app .modal{background:#1c261f;border-color:#647b69;border-radius:12px;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px)}
.bs-app .modal-head,.bs-app .modal-foot{background:#253229;border-color:#4b5e50}
.bs-app .modal-body{font-size:13px;line-height:1.7;overflow-wrap:anywhere}
html:has(body.bs-app .modal-back){overflow:hidden}
.bs-app .modal-back{padding:12px}
.bs-app .modal{width:min(560px,calc(100vw - 24px));max-width:none}
.bs-app .modal-head{position:sticky;top:0;padding:18px 64px 18px 20px;font-size:17px;letter-spacing:0;text-transform:none;line-height:1.5}
.bs-app .modal .wd-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-block:14px}
.bs-app .modal .wd-grid>.kv{margin:0;gap:5px;min-width:0}
.bs-app .modal .kv-k{font-size:10px;line-height:1.5;letter-spacing:.03em}
.bs-app .modal .kv-v{font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.bs-app .bs-dialog-close{position:absolute;top:10px;right:10px;width:40px;height:40px;min-height:40px;padding:0;border:1px solid #62776a;background:#2b3a30;color:#deebe2}
.bs-app .bs-dialog-close::before{content:'×';font-size:22px}
.bs-app .modal .wd-hist{max-height:none;overflow-y:visible}
.bs-app #copy-gates .perf-table{width:100%;min-width:0}
.bs-app #copy-gates .perf-row{grid-template-columns:minmax(110px,1fr) minmax(150px,1.2fr) 110px minmax(240px,2.2fr);align-items:start;gap:16px;padding:14px 12px}
.bs-app #copy-gates .perf-row>span{white-space:normal;overflow:visible;line-height:1.65}
.bs-app #copy-gates .tag{white-space:normal;overflow-wrap:anywhere;line-height:1.6}
.bs-app .docs-content{color:var(--text-dim)}
.bs-app .docs-table{display:table;table-layout:fixed;width:100%;min-width:0;max-width:100%}
.bs-app .docs-table th,.bs-app .docs-table td{white-space:normal;overflow-wrap:anywhere;line-height:1.7;padding:12px 10px;font-size:12px}
.bs-app .docs-toc a{padding-block:7px;font-size:12px;line-height:1.5}
.bs-app .docs-body p,.bs-app .docs-body li{font-size:14px;line-height:1.85}
.bs-app .footer{margin-top:32px;color:#a6baad}
@media(min-width:1350px){.bs-app #copy-sec-overview-wallet .cw-blockers{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){.bs-app .cw-blockers{grid-template-columns:1fr}.bs-app .copy-risk{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){
  .bs-app #copy-gates .perf-row{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;margin-top:12px;background:#232e27;border:1px solid #495d4e;border-radius:7px}
  .bs-app #copy-gates .perf-row.disc-head{display:none}
  .bs-app #copy-gates .perf-row>span{font-size:12px;min-width:0}
  .bs-app #copy-gates .perf-row>span::before{display:block;margin-bottom:5px;font-size:10px;color:#a4baab}
  .bs-app #copy-gates .perf-row>span:nth-child(1)::before{content:'Gate'}
  .bs-app #copy-gates .perf-row>span:nth-child(2)::before{content:'Reads'}
  .bs-app #copy-gates .perf-row>span:nth-child(3)::before{content:'Scope'}
  .bs-app #copy-gates .perf-row>span:nth-child(4){grid-column:1/-1}
  .bs-app #copy-gates .perf-row>span:nth-child(4)::before{content:'What it means, and what opens it'}
}
@media(max-width:1600px){
  /* Discovery becomes labeled cards on small screens. All twelve cells,
     including coverage and refusal reasons, remain available. */
  .bs-app .table-inner:has(>#discover-list){width:100%;min-width:0}
  .bs-app #discover-list{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .bs-app #discover-list .disc-head{display:none}
  .bs-app #discover-list .disc-row:not(.disc-head){grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;padding:18px;margin-top:0;background:#222e27;border:1px solid #45564a;border-radius:8px}
  .bs-app #discover-list .disc-row>*{white-space:normal;text-align:left;overflow-wrap:anywhere;justify-self:stretch}
  .bs-app #discover-list .disc-row>[data-bs-label]::before{content:attr(data-bs-label);display:block;margin-bottom:6px;font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:#a8bcae;font-family:var(--sans);font-weight:400}
  .bs-app #discover-list .disc-row>:first-child,.bs-app #discover-list .disc-row>.disc-why,.bs-app #discover-list .disc-row>button{grid-column:1/-1}
  .bs-app #discover-list .disc-row>.pill{display:block;border:0;padding:0;background:none;white-space:normal}
  .bs-app #discover-list .disc-row>button.tiny{width:100%;justify-self:stretch;min-height:44px;text-align:center}
}
/* Discovery: results are the primary surface; operations share one quiet strip.
   Scoped to this section so Activity/Logs retain their own filter layouts. */
.bs-app #copy-sec-discover>.panel{background:#18211b}
.bs-app #copy-sec-discover .panel-head{background:#202a23}
.bs-app #copy-sec-discover .panel-body{padding:22px 24px 16px}
.bs-app .bs-discovery-context{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:18px 0 0;padding:16px 0;border-bottom:1px solid #37473b}
.bs-app #copy-sec-discover #discover-tiles{display:flex;flex-wrap:wrap;gap:14px 28px;margin:0;padding:0;flex:1}
.bs-app #copy-sec-discover #discover-tiles>.kv{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:0;padding:0 28px 0 0;border:0;border-right:1px solid #3e5043;border-radius:0;background:none;min-width:112px}
.bs-app #copy-sec-discover #discover-tiles>.kv:last-child{border-right:0;padding-right:0}
.bs-app #copy-sec-discover #discover-tiles .kv-k{font-size:11px;letter-spacing:.01em;text-transform:none}
.bs-app #copy-sec-discover #discover-tiles .kv-v{font-size:21px;color:#ebf1e8;font-weight:500}
.bs-app #copy-sec-discover .disc-scan-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 12px;max-width:430px;margin:0;padding:0;flex:0 1 auto}
.bs-app #copy-sec-discover #disc-scan-note{flex-basis:100%;text-align:right;font-size:11px;line-height:1.5;color:#b5c5b9}
.bs-app #copy-sec-discover #discover-sources{margin:9px 0 18px;font-size:11px;color:#a5b7aa}
.bs-app #copy-sec-discover .disc-filter-panel{border:0;border-radius:0;background:none;padding:0;margin:0 0 20px}
.bs-app #copy-sec-discover .disc-filter-top{gap:12px}
.bs-app #copy-sec-discover #discover-filters-toggle{min-height:44px}
.bs-app #copy-sec-discover #discover-search{flex:1;max-width:560px;background:#101812;border-color:#4b6051}
.bs-app #copy-sec-discover .disc-filter-body.is-open{padding:20px 0 0;margin-top:18px;border-color:#36483c}
.bs-app #copy-sec-discover .disc-filter-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
.bs-app #copy-sec-discover .disc-source-field{margin-bottom:20px}
.bs-app #copy-sec-discover #discover-sources-chips>button{min-height:44px;padding:8px 12px;border-radius:6px}
.bs-app #copy-sec-discover #discover-sources-chips>button.primary{background:#2e4027!important;border-color:#758f55;color:#d3edb2!important}
.bs-app #copy-sec-discover .bs-discovery-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px;margin-top:22px;border-top:1px solid #405345}
.bs-app #copy-sec-discover .bs-discovery-tools>.disc-fold{margin:0;border:0;padding:0;background:none}
.bs-app #copy-sec-discover .bs-discovery-tools>.disc-fold[open]{grid-column:1/-1;padding-bottom:18px;border-bottom:1px solid #36483c}
.bs-app #copy-sec-discover .bs-discovery-tools summary{font-size:12px;line-height:1.65;min-height:54px;padding:16px 0}
.bs-app #copy-sec-discover #discover-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 24px;margin:0;padding:0}
.bs-app #copy-sec-discover #discover-status-grid>.kv{margin:0;padding:14px 0;border-bottom:1px solid #303f34;gap:6px;min-width:0}
.bs-app #copy-sec-discover #discover-status-grid .kv-k{font-size:11px;line-height:1.5;letter-spacing:0;text-transform:none}
.bs-app #copy-sec-discover #discover-status-grid .kv-v{font-size:14px;line-height:1.5;overflow-wrap:anywhere}
/* Keep every blocker and the remedy visible; labels replace placeholder-only
   explanations. The CLI remains available as secondary text, unmodified. */
.bs-app #discover-status-banner>.banner{display:grid;grid-template-columns:100px minmax(0,1fr);align-items:start;gap:10px 20px;margin:0;padding:16px 18px;background:#222720;border:1px solid #4a4435;border-left:3px solid #cf9667;border-radius:6px;color:#d9e1d6}
.bs-app #discover-status-banner>.banner>strong{grid-column:1;grid-row:1;font-size:11px;letter-spacing:.04em;line-height:1.65;color:#f0b887}
.bs-app #discover-status-banner>.banner.live{background:#292420;border-color:#61433b;border-left-color:#e3937e}
.bs-app #discover-status-banner>.banner.live>strong{color:#f1ad98}
.bs-app #discover-status-banner>.banner.dry{background:#202a2e;border-color:#405762;border-left-color:#91bfd5}
.bs-app #discover-status-banner>.banner.dry>strong{color:#b4d8eb}
.bs-app #discover-status-banner>.banner>span{grid-column:2;font-size:12px;line-height:1.65;overflow-wrap:anywhere;color:#cbd6cd}
.bs-app #discover-status-banner>.banner>span:first-of-type{font-size:13px;color:#e8ece3}
.bs-app #discover-status-banner>.banner>span.mono{grid-column:2;grid-row:auto;order:4;padding-top:4px;font:11px/1.6 var(--mono);color:#aebcaf}
.bs-app #copy-sec-discover .disc-budget-form{grid-column:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px 14px;align-items:end;max-width:940px;margin:4px 0 0;padding:0}
.bs-app #copy-sec-discover .bs-budget-field{display:flex;flex-direction:column;gap:7px;min-width:0;margin:0;font-size:11px;font-weight:400;line-height:1.5;color:#c4d1c6;text-transform:none;letter-spacing:0}
.bs-app #copy-sec-discover .bs-budget-field>input{width:100%;margin:0}
.bs-app #copy-sec-discover .disc-budget-form>button{min-height:44px;white-space:nowrap}
.bs-app #discover-list:has(>.hint){display:flex;flex-direction:column;align-items:flex-start;gap:14px;min-width:0;padding:22px 0;border-top:1px solid #36473a}
.bs-app #discover-list>.hint{margin:0;max-width:65ch}
.bs-app #discover-list>button{width:auto;min-height:44px}
@media(max-width:1100px){
  .bs-app #copy-sec-discover .bs-discovery-tools{grid-template-columns:1fr}
  .bs-app #copy-sec-discover .disc-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .bs-app #copy-sec-discover .disc-budget-form{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}
  .bs-app #copy-sec-discover #discover-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .bs-app .docs-toc{max-height:300px;overflow-y:auto;scrollbar-gutter:stable}
  .bs-app .docs-toc::before{content:'Contents · scroll to browse';grid-column:1/-1;font-size:11px;color:var(--text-faint);padding-bottom:6px}
  .bs-app #copy-sec-discover .panel-body{padding:16px}
  .bs-app .bs-discovery-context{flex-direction:column;align-items:stretch;gap:16px;margin-top:8px}
  .bs-app #copy-sec-discover .disc-scan-row{justify-content:flex-start;max-width:none}
  .bs-app #copy-sec-discover #disc-scan-note{text-align:left}
  .bs-app #discover-status-banner>.banner{grid-template-columns:minmax(0,1fr);gap:10px;padding:14px}
  .bs-app #discover-status-banner>.banner>span,.bs-app #discover-status-banner>.banner>span.mono,.bs-app #copy-sec-discover .disc-budget-form{grid-column:1}
  .bs-app #copy-sec-discover .disc-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bs-app #copy-sec-discover .disc-budget-form{grid-template-columns:minmax(0,1fr);gap:14px}
}
@media(max-width:380px){.bs-app #copy-sec-discover .disc-filter-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:800px){
  .bs-app #discover-list{grid-template-columns:minmax(0,1fr)}
  .bs-app .disc-budget-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bs-app>.wrap{padding-inline:18px;padding-bottom:64px}
  .bs-app .tabs{padding-top:4px;border-bottom:1px solid var(--line);background:var(--bg)}
  .bs-app .tabs .nav-brand{padding:9px 0 10px}
  .bs-app .nav-brand img{width:28px;height:28px}.bs-app .nav-brand span{font-size:21px}
  .bs-app .tabs .tab{font-size:12px;min-height:44px;padding:10px 4px}
  .bs-app .topbar{padding:10px 0;min-height:50px;gap:12px}
  .bs-page-head{padding:22px 0 18px}.bs-page-head h1{font-size:29px}
  .bs-page-description{font-size:12px;line-height:1.65;margin-top:8px}
  .bs-app .subtabs{display:flex;flex-wrap:wrap;overflow:visible;gap:4px;padding:5px}
  .bs-app .subtab{flex:1 0 auto;text-align:center;justify-content:center;padding:10px 12px;min-height:42px;white-space:normal}
  .bs-app #copy-subtabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .bs-app #wallets-subtabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .bs-app #wallets-subtabs .subtab-danger{grid-column:1/-1}
  .bs-app .panel-body{padding:18px}.bs-app .panel-head{padding:14px 18px}
  .bs-app #banners .banner{grid-template-columns:minmax(0,1fr);gap:6px;padding:14px 60px 14px 16px}
  .bs-app .bs-notice-details{grid-column:1}
  .bs-app .copy-risk{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.bs-app #set-rpc-fallbacks{min-height:112px}
/* This ancestor exists only in the disposable runner, never in production. */
.bs-app:has(.bs-preview-notice) .panel-title::after{content:'LOCAL DEMO';display:inline-block;margin-left:10px;padding:3px 6px;border:1px solid #687551;border-radius:4px;color:#c7d69b;font:500 9px/1.4 var(--sans);vertical-align:middle;letter-spacing:.04em}
.bs-app:has(.bs-preview-notice) .modal-head::before{content:'LOCAL DEMO · FICTIONAL DATA';display:block;font:500 10px/1.5 var(--sans);letter-spacing:.05em;color:#d0dba5;margin-bottom:6px}
@media(max-width:560px){
  .bs-app #copy-sec-discover .disc-filter-top{flex-wrap:wrap;gap:10px}
  .bs-app #copy-sec-discover #discover-search{flex-basis:100%;max-width:none}
  .bs-app .disc-budget-form{grid-template-columns:minmax(0,1fr)}
  .bs-app #discover-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bs-app>.wrap{padding-inline:12px}.bs-app .panel-body{padding:16px}.bs-app .panel-head{padding:14px 16px}
  .bs-page-head h1{font-size:28px}.bs-context{margin-top:12px}
  .bs-app .panel-title{font-size:16px}.bs-app .subtab{font-size:12px;padding:9px 7px}
  .bs-app #settings-subtabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .bs-app input:not([type=checkbox]):not([type=radio]):not([type=range]),.bs-app select,.bs-app textarea{font-size:16px;min-height:44px}
  .bs-app .row{gap:14px}.bs-app .btn-row>button{min-height:44px;padding-inline:13px}
  .bs-app button.tiny,.bs-app .wallet-actions button{min-height:40px;font-size:12px}
  .bs-app .hint{font-size:12px}.bs-app .cw-row{gap:14px;padding:14px}
  .bs-app .cw-val{font-size:14px}.bs-app .cw-cell[data-label]::before{font-size:10px;letter-spacing:.04em;color:#aabfb0}
  .bs-app .cw-blocker{padding:13px;font-size:12px}
  .bs-app .risk-tile{padding:11px;min-height:74px}
  .bs-app .toast-stack{left:12px;right:12px;bottom:16px;width:auto;max-height:45vh;max-height:45dvh}
  .bs-app .docs-body p,.bs-app .docs-body li{font-size:13px}
}
/* Activity: outcomes first, evidence second. These are existing renderer
   containers; data, nulls, warnings and action handlers remain untouched. */
.bs-app #copy-sec-activity>.panel{background:#18211b}
.bs-app #copy-sec-activity .panel-body{padding:24px}
.bs-app .bs-activity-intro{margin:0 0 22px}
.bs-app .bs-activity-intro h3{margin:0 0 6px;font:500 20px/1.4 var(--sans);letter-spacing:-.02em;color:#edf2e9}
.bs-app .bs-activity-intro p{margin:0;color:#b9c9bf;font-size:13px;line-height:1.7;max-width:90ch}
.bs-app #copy-sec-activity .disc-filter-panel{background:none;border:0;padding:0;margin:0 0 18px}
.bs-app #copy-sec-activity #act-search{flex:1;max-width:560px}
.bs-app #copy-sec-activity #act-filters-toggle{min-height:44px}
.bs-app #copy-events .act-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px;max-width:800px}
.bs-app #copy-events .act-stat{position:relative;align-items:flex-start;gap:6px;padding:14px 16px;min-height:82px;text-align:left;border:1px solid #405346;background:#222d26;border-radius:7px}
.bs-app #copy-events .act-stat::after{content:'↗';position:absolute;right:12px;top:12px;color:#aebeb2;font-size:12px}
.bs-app #copy-events .act-stat:hover{background:#2d3c31;border-color:#8b9c8b}
.bs-app #copy-events .act-stat[aria-pressed=true]{outline:2px solid #b5cda9;outline-offset:2px}
.bs-app .bs-active-filters{font-size:12px;line-height:1.7;color:#cfdfc7;margin:0 0 18px;padding-left:12px;border-left:2px solid #8daa77;overflow-wrap:anywhere}
.bs-app .bs-active-filters:empty{display:none}
.bs-app #copy-events .act-stat-v{font:500 23px/1.2 var(--sans);color:#eff3eb}
.bs-app #copy-events .act-stat-k{font-size:11px;line-height:1.5;letter-spacing:0;text-transform:none}
.bs-app #copy-events .act-stat.is-warn{background:#302d21;border-color:#89703f;color:#eac980}
.bs-app #copy-events .act-stat.is-bad{background:#302723;border-color:#876057;color:#eeb0a6}
.bs-app #copy-events>p.hint{max-width:100ch;line-height:1.7;margin:14px 0 18px}
.bs-app #copy-events>p.hint-warn{max-width:none;padding:14px 16px;border-left:3px solid #d0aa62;border-radius:4px;background:#2b2b21;color:#e6d3a6}
.bs-app #copy-events .exec-table{min-width:1280px;width:100%}
.bs-app #copy-events .exec-row{grid-template-columns:82px minmax(128px,1.3fr) 44px minmax(110px,1.2fr) 72px 72px 58px 68px 108px 108px 65px 65px 28px 62px;gap:10px;padding:16px 12px;border:0;border-bottom:1px solid #35463a;border-radius:0;min-height:64px;font-size:12px;background:none;align-items:center}
.bs-app #copy-events .exec-row:nth-child(even){background:#202b24}
.bs-app #copy-events .exec-row:hover{background:#29372d}
.bs-app #copy-events .exec-head{min-height:44px;padding-block:12px;background:#253229;color:#b6c7bb;font-size:10px;letter-spacing:.03em}
.bs-app #copy-events .exec-who{white-space:normal;line-height:1.5;font-size:12px;color:#e6ede3;overflow-wrap:anywhere}
.bs-app #copy-events .exec-time{color:#b9c7bd;font-size:11px}
.bs-app #copy-events .exec-row> :nth-child(4){color:#c9d7ca}
.bs-app #copy-events .exec-badge{font-size:10px;line-height:1.6;padding:5px 7px;border:0;border-radius:4px;white-space:normal;overflow-wrap:anywhere}
.bs-app #copy-events .exec-badge.st-good{color:#bce69c;background:#2e4027}
.bs-app #copy-events .exec-badge.st-bad{color:#ffbbb1;background:#4a302c}
.bs-app #copy-events .exec-badge.st-warn{color:#f4d69a;background:#453b25}
.bs-app #copy-events .exec-badge.st-work{color:#b9dcf0;background:#2c3e4b}
.bs-app #copy-events .exec-badge.st-idle{color:#c3cec6;background:#303c33}
.bs-app #copy-events .exec-badge:nth-child(9){background:none;color:#c0cdc2;padding-inline:0}
.bs-app .bs-activity-performance{grid-template-columns:1.1fr 1fr;gap:32px;margin:32px 0 24px;padding:26px 0 0;border-top:1px solid #405345}
.bs-app .bs-activity-performance .copy-sec{margin:0 0 14px;font:500 16px/1.5 var(--sans);letter-spacing:0;text-transform:none;color:#e5ede2}
.bs-app .bs-activity-performance .wd-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 20px;margin:0}
.bs-app .bs-activity-performance .wd-grid>.kv{min-width:0;margin:0;padding:16px 0;border-bottom:1px solid #324337;gap:7px}
.bs-app .bs-activity-performance .kv-k{font-size:11px;line-height:1.5;text-transform:none;letter-spacing:0;color:#adbfaf}
.bs-app .bs-activity-performance .kv-v{font-size:18px;line-height:1.4;overflow-wrap:anywhere;margin-top:auto}
.bs-app .bs-activity-performance .hint{font-size:12px;line-height:1.8;max-width:85ch;margin:0 0 12px}
.bs-app #copy-perf-sources>p.hint{grid-column:1/-1;margin:16px 0 0}
.bs-app #copy-perf-mine>.table-scroll{margin-top:18px}
.bs-app .bs-activity-details{border:0;border-top:1px solid #405345;border-radius:0;background:none;margin:0}
.bs-app .bs-activity-details>summary{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;min-height:58px;padding:16px 40px 16px 0;background:none;border:0;font-size:13px;line-height:1.6;color:#d6e2d5}
.bs-app .bs-activity-details>summary>span{font-size:11px;font-weight:400;color:#aebfaf}
.bs-app .bs-activity-detail-body{padding:0 0 22px;min-width:0}
.bs-app .bs-activity-detail-body>.hint{max-width:95ch;line-height:1.8}
.bs-app #copy-speed{margin:16px 0 0;background:none}
.bs-app #copy-speed>.hint{max-width:95ch;line-height:1.8}
.bs-app #copy-speed .speed-ladder{overflow-x:auto}
.bs-app #copy-speed .speed-row{min-width:580px;padding:12px;line-height:1.6}
.bs-app #copy-speed .speed-total{padding:16px;gap:8px;background:#222d26;border-color:#415446}
@media(max-width:1700px){
  .bs-app #copy-events.bs-execution-labeled .exec-table{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0}
  .bs-app #copy-events.bs-execution-labeled .exec-head{display:none}
  .bs-app #copy-events.bs-execution-labeled .exec-row:not(.exec-head){grid-template-columns:repeat(2,minmax(0,1fr));padding:18px;gap:16px 20px;align-items:start;background:#222d26;border:1px solid #405345;border-radius:8px;margin:0}
  .bs-app #copy-events.bs-execution-labeled .exec-row>*{grid-area:auto;justify-self:stretch;min-width:0;overflow:visible;white-space:normal;text-align:left;line-height:1.5;overflow-wrap:anywhere;font-size:12px}
  .bs-app #copy-events.bs-execution-labeled .exec-row>[data-bs-label]::before{content:attr(data-bs-label);display:block;margin-bottom:6px;color:#a9bdae;font:400 10px/1.5 var(--sans);letter-spacing:.03em;text-transform:uppercase}
  .bs-app #copy-events.bs-execution-labeled .exec-row>.exec-badge{padding:0;background:none;border:0}
  .bs-app #copy-events.bs-execution-labeled .exec-row>:nth-child(9),.bs-app #copy-events.bs-execution-labeled .exec-row>:nth-child(10){padding-top:14px;border-top:1px solid #425648}
}
@media(max-width:1200px){
  .bs-app #copy-events.bs-execution-labeled .exec-table{grid-template-columns:minmax(0,1fr)}
  .bs-app .bs-activity-performance{grid-template-columns:minmax(0,1fr);gap:28px}
}
@media(max-width:600px){
  .bs-app #copy-sec-activity .panel-body{padding:16px}
  .bs-app #copy-sec-activity .disc-filter-top{flex-wrap:wrap}
  .bs-app #copy-sec-activity #act-search{flex-basis:100%;max-width:none}
  .bs-app #copy-events .act-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .bs-app .bs-activity-performance .wd-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
  .bs-app .bs-activity-details>summary>span{flex-basis:100%}
}
/* One dialog scroll owner; no floating action bar covering risk text. */
.bs-app .modal-head{z-index:1}
.bs-app .modal-body{padding:20px}
.bs-app .modal-body>p{margin:0 0 16px;line-height:1.8}
.bs-app .modal-body>.btn-row:last-child{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding-top:18px;margin-top:22px;border-top:1px solid #455c4c}
.bs-app .modal-body>.btn-row:last-child>button{min-height:44px;white-space:normal;overflow-wrap:anywhere;line-height:1.5}
.bs-app .modal-body dl.kv{display:grid;grid-template-columns:minmax(90px,.65fr) minmax(0,1fr);gap:12px 20px;margin:16px 0 20px;padding:16px;background:#222f26;border:1px solid #405748;border-radius:7px}
.bs-app .modal-body dl.kv>dt{margin:0;color:#afc3b4;font-size:12px;line-height:1.7}
.bs-app .modal-body dl.kv>dd{margin:0;min-width:0;white-space:normal;color:#e0eade;font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.bs-app .modal-body .danger-note{padding:14px 16px;background:#352923;border:1px solid #886555;border-left:3px solid #d8a26e;border-radius:5px;color:#f1d2ad;line-height:1.8}
.bs-app .modal-body .current-value{padding:14px;background:#121c15;border:1px solid #405848;border-radius:5px;white-space:normal;overflow-wrap:anywhere;font-size:12px;line-height:1.8}
.bs-app .modal-body .field{margin:18px 0}
.bs-app .modal-body ul{padding-left:22px;line-height:1.8}
.bs-app .modal-body li+li{margin-top:8px}
.bs-app .toast{overflow-wrap:anywhere}
.bs-app .toast[data-bs-notice]::before{content:attr(data-bs-notice);display:block;margin-bottom:5px;font:600 10px/1.5 var(--sans);text-transform:uppercase;letter-spacing:.07em;opacity:.85}
/* Modal and notices share an accessible overlay, with separate non-overlapping
   scroll areas. The original roots remain siblings so closing cannot lose a toast. */
.bs-app .bs-dialog-layer{display:contents}
.bs-app .bs-dialog-layer[aria-modal=true]{display:grid;position:fixed;inset:0;z-index:200;grid-template-columns:minmax(0,560px);grid-template-rows:minmax(0,1fr);align-items:center;justify-content:center;gap:16px;padding:24px;background:#060b06cc;backdrop-filter:blur(4px)}
.bs-app .bs-dialog-layer[aria-modal=true]:has(#toasts>.toast){grid-template-columns:minmax(0,560px) minmax(0,390px)}
.bs-app .bs-dialog-layer[aria-modal=true] #modal-root{min-width:0;min-height:0;max-height:100%}
.bs-app .bs-dialog-layer[aria-modal=true] .modal-back{position:static;padding:0;background:none;backdrop-filter:none}
.bs-app .bs-dialog-layer[aria-modal=true] .modal{width:100%;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px)}
.bs-app .bs-dialog-layer[aria-modal=true] #toasts{position:static;inset:auto;z-index:auto;width:100%;max-width:none;max-height:100%;min-height:0;align-self:end;overflow-y:auto}
.bs-app .bs-dialog-layer[aria-modal=true] #toasts:empty{display:none}
@media(max-width:1000px){
  .bs-app .bs-dialog-layer[aria-modal=true]{padding:12px;gap:12px}
  .bs-app .bs-dialog-layer[aria-modal=true]:has(#toasts>.toast){grid-template-columns:minmax(0,560px);grid-template-rows:minmax(0,1fr) minmax(0,30%)}
  .bs-app .bs-dialog-layer[aria-modal=true] #modal-root,.bs-app .bs-dialog-layer[aria-modal=true] .modal-back{height:100%}
  .bs-app .bs-dialog-layer[aria-modal=true] .modal{max-height:100%}
}
@media(max-width:560px){
  .bs-app .modal-body{padding:16px}
  .bs-app .modal-body>.btn-row:last-child>button{flex:1 1 100%;margin:0}
  .bs-app .modal-body dl.kv{grid-template-columns:minmax(0,1fr);gap:5px;padding:14px}
  .bs-app .modal-body dl.kv>dt{font-size:11px}
  .bs-app .modal-body dl.kv>dd{text-align:left;margin-bottom:12px}
  .bs-app .modal-body dl.kv>dd:last-child{margin-bottom:0}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Populated production states: selection is not a green financial verdict. */
.bs-app .copy-row-on{background:#202922;border-color:#45564a;box-shadow:none}
.bs-app #copy-kols>.copy-row-on{border-left:3px solid #a8e948;background:#202922}
.bs-app #copy-kols .copy-follow{letter-spacing:0;text-transform:none;font-weight:500;color:#eef3e9}
.bs-app #copy-kols .copy-name{font-family:var(--sans);line-height:1.5}
.bs-app #copy-kols .copy-score{font-size:18px;font-weight:600}
.bs-app #copy-kols .copy-actions{display:flex;flex-wrap:wrap;gap:10px}
.bs-app #copy-kols .copy-actions button{min-height:40px}
.bs-app #copy-positions>.pos-row:not(.pos-head){background:transparent;border-bottom:1px solid #3b4b40;padding:16px 12px;gap:16px;line-height:1.65}
.bs-app #copy-positions>.pos-row:not(.pos-head):nth-child(even){background:#202a23}
/* The header row takes the data rows' horizontal padding and gap, or its column tracks are computed from a different
   width and every heading sits 28-50 px to the right of the values under it (measured at 1440 px, 2026-09-17). */
.bs-app #copy-positions>.pos-row.pos-head{padding-inline:12px;gap:16px}
.bs-app #copy-overview-active .ov-row{background:transparent;border:0;border-bottom:1px solid #36453b;border-radius:0;gap:20px;padding:16px 12px}
.bs-app #copy-overview-active .ov-row:not(.disc-head):nth-child(odd){background:#202a23}
.bs-app #copy-overview-active .ov-row:hover{background:#29362d}
.bs-app #copy-overview-active .ov-wallets{grid-template-columns:minmax(180px,1fr) repeat(2,minmax(90px,.25fr)) 70px 110px}
.bs-app #copy-overview-active .ov-row>span:first-child{font-size:14px;white-space:normal;line-height:1.5}
.bs-app #discover-list .disc-stale .disc-score,.bs-app #discover-list .disc-stale .r{opacity:1}
.bs-app #discover-list .disc-score{white-space:normal;color:#d3e9b8;font-size:14px;line-height:1.6}
.bs-app #discover-list .disc-score.grade-poor{color:#f2a18f}
.bs-app #discover-list .disc-score.grade-fair{color:#f1c37d}
.bs-app #discover-list .disc-inpool{display:flex;flex-direction:column;gap:8px;align-items:flex-end;overflow:visible;white-space:normal}
.bs-app #discover-list .disc-inpool-tag{display:block;max-width:none;border:0;border-radius:0;padding:0;background:none;color:#c2d7af;font-size:11px;line-height:1.5;white-space:normal}
.bs-app #discover-list .disc-inpool button{min-height:40px;height:auto;max-width:100%;padding:8px;white-space:normal;line-height:1.5}
.bs-app #discover-list .disc-why{font-size:12px;line-height:1.7}
.bs-app #protections-out{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px;align-items:start}
.bs-app #protections-out>.bs-protection-panel{min-width:0;padding:22px;border:1px solid #425346;background:#202a23;border-radius:8px}
.bs-app .bs-protection-panel h4{margin:0 0 16px;font:500 16px/1.5 var(--sans);text-transform:none;letter-spacing:0;color:#eef3e9}
.bs-app .bs-protection-panel p{max-width:none;font-size:13px;line-height:1.75;margin:12px 0;overflow-wrap:anywhere}
.bs-app .bs-protection-panel input{margin:8px 0;min-height:44px}
.bs-app .bs-protection-panel button{min-height:40px;margin:6px 8px 6px 0;white-space:normal}
.bs-app .bs-protection-panel .row{display:flex;flex-wrap:wrap;gap:10px;align-items:end}
.bs-app .bs-protection-panel .launch-warn{display:block;padding:8px 12px;margin:12px 0;border-radius:4px;line-height:1.65;background:#332d21;color:#f4cd92}
@media(min-width:1601px){
  .bs-app #discover-list .disc-row{grid-template-columns:minmax(140px,1.4fr) minmax(82px,.8fr) 84px 92px 58px 62px 62px 110px 95px 58px minmax(130px,1fr) 112px;gap:14px}
}
@media(max-width:1100px){.bs-app #protections-out{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){
  .bs-app #copy-overview-active .ov-wallets{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .bs-app #copy-overview-active .ov-wallets.disc-head{display:none}
  .bs-app #copy-overview-active .ov-wallets>:first-child{grid-column:1/-1}
  .bs-app #copy-overview-active .ov-wallets>:nth-child(5){display:block}
  .bs-app #copy-overview-active .ov-wallets>:nth-child(n+2)::before{display:block;color:#aebfb2;font-size:11px;margin-bottom:5px}
  .bs-app #copy-overview-active .ov-wallets>:nth-child(2)::before{content:'7d realised'}
  .bs-app #copy-overview-active .ov-wallets>:nth-child(3)::before{content:'30d realised'}
  .bs-app #copy-overview-active .ov-wallets>:nth-child(4)::before{content:'Win rate'}
  .bs-app #copy-overview-active .ov-wallets>:nth-child(5)::before{content:'Last trade'}
  .bs-app #protections-out>.bs-protection-panel{padding:16px}
}
/* Research infrastructure stays a compact report, not a grid of warning cards. */
.evm-research-notes { margin: 12px 0; padding-left: 20px; line-height: 1.65; }
.evm-source-scroll { max-width: 100%; overflow-x: auto; margin: 12px 0; }
.evm-source-table { width: 100%; border-collapse: collapse; min-width: 620px; table-layout: auto; }
.evm-source-table th, .evm-source-table td { padding: 12px 14px; text-align: left; vertical-align: top; }
.evm-source-table td:nth-child(3) { max-width: 38ch; white-space: normal; overflow-wrap: anywhere; }
.evm-source-table td:last-child { white-space: nowrap; }

/* Workspace spacing pass. Keep this after the legacy/mobile overrides: the
   extra .wrap specificity leaves dialogs, notices and sign-in untouched.
   Record-card layout and financial/state presentation are a separate pass. */
.bs-app>.wrap>.bs-page-head{padding:16px 0;gap:16px}
.bs-app>.wrap>.bs-page-head .bs-eyebrow{margin-bottom:6px}
.bs-app>.wrap>.bs-page-head .bs-page-description{margin-top:8px}
.bs-app>.wrap .panel-head{padding:12px 16px}
.bs-app>.wrap .panel-body,
.bs-app>.wrap #copy-sec-discover .panel-body,
.bs-app>.wrap #copy-sec-activity .panel-body{padding:16px}
.bs-app>.wrap .row{gap:12px;margin-block:10px}
.bs-app>.wrap .row:first-child{margin-top:0}
.bs-app>.wrap .btn-row{margin-block:10px}
.bs-app>.wrap .launch-step{padding-block:16px}
.bs-app>.wrap .cw-size{margin-top:16px;padding-top:12px}
.bs-app>.wrap .bs-scorecard{margin-block:16px}
/* Explanatory paragraphs before the first field are not another setting group.
   Later field groups retain their separators, including intervening help/actions. */
.bs-app>.wrap #page-settings .panel-body>.field{margin-top:0;padding-top:0;border-top:0}
.bs-app>.wrap #page-settings .panel-body>.field~.field{margin-top:16px;padding-top:12px;border-top:1px solid var(--line-soft)}
.bs-app>.wrap #accounts-panel .bs-account-create{gap:12px}
.bs-app>.wrap .bs-password-panel .panel-body>.row{gap:12px;margin-bottom:10px}
.bs-app>.wrap #copy-sec-activity .bs-activity-intro{margin-bottom:12px}
.bs-app>.wrap #copy-sec-activity .disc-filter-panel{margin-bottom:12px}
.bs-app>.wrap #copy-events .act-summary{gap:8px;margin-bottom:12px}
.bs-app>.wrap #copy-events .act-stat{flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:8px 32px 8px 12px;min-height:44px}
@media(max-width:800px){
  .bs-app>.wrap>.bs-page-head{padding:14px 0 12px}
  .bs-app>.wrap>.bs-page-head .bs-page-description{margin-top:6px}
}
/* End workspace spacing pass. */

/* Compact records: primary outcomes stay outside native secondary disclosures.
   Original labeled cells remain available, without the old all-field card grid. */
.bs-app>.wrap #discover-list:has(>.bs-compact-record),.bs-app>.wrap #copy-events .bs-record-list{display:block;width:100%;min-width:0}
.bs-app>.wrap #copy-events .bs-record-list>.exec-head{display:none}
.bs-app>.wrap .bs-compact-record{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px 12px;padding:12px 0;border-bottom:1px solid var(--line);min-width:0}
.bs-app>.wrap .bs-record-primary{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1.3fr) minmax(0,1.3fr) minmax(0,1fr);gap:12px;min-width:0}
.bs-app>.wrap .bs-record-primary>*,.bs-app>.wrap .bs-record-fact{min-width:0;overflow-wrap:anywhere}
.bs-app>.wrap .bs-record-fact{display:flex;flex-direction:column;gap:2px}
.bs-app>.wrap .bs-record-label{font-size:12px;color:var(--text-dim)}
.bs-app>.wrap .bs-record-value{font-size:14px;line-height:1.5;font-variant-numeric:tabular-nums;white-space:normal}
.bs-app>.wrap .bs-record-metrics{display:flex;flex-wrap:wrap;align-content:start;gap:6px 16px}
.bs-app>.wrap .bs-record-state{display:flex;flex-wrap:wrap;align-content:start;align-items:start;gap:4px 8px;min-width:0}
.bs-app>.wrap #copy-events .bs-record-state>.exec-badge{font-size:12px;line-height:1.6;white-space:normal;overflow-wrap:anywhere}
.bs-app>.wrap .bs-record-provenance{flex-basis:100%;font-size:12px;color:var(--text-dim)}
.bs-app>.wrap .bs-record-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:start}
.bs-app>.wrap .bs-record-actions button{min-height:44px;white-space:normal;max-width:100%}
.bs-app>.wrap #discover-list .bs-record-actions .disc-inpool{align-items:flex-start;gap:4px}
.bs-app>.wrap .bs-record-notice{grid-column:1/-1;margin:0;padding:4px 0 4px 10px;border-left:2px solid var(--amber);color:var(--text-dim);font-size:12px;line-height:1.65;white-space:pre-line;overflow-wrap:anywhere;min-width:0}
.bs-app>.wrap .bs-record-details{grid-column:2;grid-row:1;margin:0;padding:0;border:0;background:none;min-width:0}
.bs-app>.wrap .bs-record-details[open]{grid-column:1/-1;grid-row:auto}
.bs-app>.wrap .bs-record-details>summary{display:flex;align-items:center;justify-content:center;gap:8px;width:max-content;max-width:100%;min-height:44px;margin-left:auto;padding:8px 12px;list-style:none;border:1px solid var(--line);border-radius:5px;background:var(--panel-2);font-size:13px;cursor:pointer}
.bs-app>.wrap .bs-record-details>summary::before{content:none}
.bs-app>.wrap .bs-record-details>summary::after{content:'+'}
.bs-app>.wrap .bs-record-details[open]>summary::after{content:'−'}
.bs-app>.wrap #copy-events .bs-record-details .exec-row,
.bs-app>.wrap #discover-list .bs-record-details .disc-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 16px;align-items:start;min-height:0;height:auto;padding:12px 0;margin:0;border:0;border-radius:0;background:none}
.bs-app>.wrap #copy-events .bs-record-details .exec-row>*,
.bs-app>.wrap #discover-list .bs-record-details .disc-row>*{grid-area:auto;min-width:0;white-space:normal;overflow:visible;overflow-wrap:anywhere;justify-self:stretch;text-align:left}
.bs-app>.wrap #copy-events .bs-record-details .exec-row>[data-bs-label]::before,
.bs-app>.wrap #discover-list .bs-record-details .disc-row>[data-bs-label]::before{content:attr(data-bs-label);display:block;margin-bottom:4px;font-size:12px;line-height:1.5;text-transform:none;letter-spacing:0;color:var(--text-dim)}
.bs-app>.wrap #copy-events .bs-record-details .exec-row>:nth-child(9),
.bs-app>.wrap #copy-events .bs-record-details .exec-row>:nth-child(10){padding-top:0;border-top:0}
.bs-app>.wrap #discover-list .bs-record-details .bs-record-action-slot:empty{display:none}
@media(max-width:1100px){
  .bs-app>.wrap .bs-record-primary{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .bs-app>.wrap .bs-compact-record{display:block}
  .bs-app>.wrap .bs-record-primary{gap:10px 12px}
  .bs-app>.wrap .bs-record-primary>:first-child,.bs-app>.wrap .bs-record-primary>:last-child{grid-column:1/-1}
  .bs-app>.wrap .bs-record-notice,.bs-app>.wrap .bs-record-details{margin-top:8px}
  .bs-app>.wrap #copy-events .bs-record-details .exec-row,
  .bs-app>.wrap #discover-list .bs-record-details .disc-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* End compact records. */

/* Phone launch fields: retain step badges without indenting the entire form. */
@media(max-width:560px){
  .bs-app>.wrap #launch-panel>.launch-body{padding-inline:12px}
  .bs-app #launch-panel .launch-step{flex-direction:column;gap:8px}
  .bs-app #launch-panel .launch-logo-row,
  .bs-app #launch-panel .launch-socials>.row{display:grid;grid-template-columns:minmax(0,1fr)}
}
/* End phone launch fields. */

/* Inspector observations retain evidence labels without a sideways dialog. */
.bs-app .modal .ov-row.ov-events{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px}
.bs-app .modal .ov-row.ov-events>*{white-space:normal;overflow-wrap:anywhere;min-width:0}
.bs-app .modal .ov-row.ov-events>:nth-child(5){display:block;grid-column:1/-1}
/* End inspector observations. */

/* Funding and wallet layout — 2026-09-15.
   Action rows own their buttons instead of trailing flex:none fields that wrapped apart at laptop widths; wallet
   pickers show enough of a 50-wallet list to choose from; the private plan keeps its row actions on screen; phone
   wallet rows put name, balance and actions on separate lines. */
.bs-app .row.bs-form-actions{justify-content:flex-start;align-items:center;gap:10px;margin-block:14px 6px}
.bs-app .row.bs-form-actions>button{flex:0 0 auto;min-height:44px;min-width:112px}
.bs-app #hop-target,.bs-app #fund-source,.bs-app #fund-target{height:15rem;min-height:9rem;resize:vertical}
.bs-app .row.pf-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;gap:12px 14px}
.bs-app .row.pf-fields>.field{min-width:0;max-width:none}
.bs-app #pf-rows code{white-space:normal;overflow-wrap:anywhere;word-break:break-all}
.bs-app #pf-rows td{white-space:normal}
.bs-app #pf-rows td:nth-child(4){min-width:11rem}
.bs-app #pf-rows td:last-child{white-space:nowrap;text-align:right}
.bs-app #pf-rows td:last-child>button+button{margin-left:6px}
@media(max-width:560px){
  .bs-app #wallet-list .wallet{flex-wrap:wrap;gap:10px 8px}
  .bs-app #wallet-list .wallet>.wallet-main{flex:1 1 calc(100% - 40px)}
  .bs-app #wallet-list .wallet>.wallet-bal{flex:1 1 100%;display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;text-align:left}
  .bs-app #wallet-list .wallet>button{flex:1 1 auto;min-width:44px;padding-inline:10px}
  .bs-app #wallet-list .wallet>button[data-action="copy-wallet"],.bs-app #wallet-list .wallet>button[data-action="remove-wallet"]{flex:0 0 48px}
  .bs-app .row.bs-form-actions>button{flex:1 1 auto}
  /* The private plan on a phone: one block per wallet, so Copy and Recover SOL are on screen, not behind a sideways scroll. */
  .bs-app #pf-plan table{min-width:0;width:100%}
  .bs-app #pf-plan thead{display:none}
  .bs-app #pf-plan tbody,.bs-app #pf-plan #pf-rows>tr,.bs-app #pf-plan #pf-rows>tr>td{display:block;width:100%}
  .bs-app #pf-plan #pf-rows>tr{padding:10px 0;border-bottom:1px solid var(--line-soft)}
  .bs-app #pf-plan #pf-rows>tr>td{padding:3px 0;border:0}
  .bs-app #pf-plan #pf-rows>tr>td:last-child{text-align:left;padding-top:8px}
}
/* End funding and wallet layout. */
/* Wallet list at operator scale — 2026-09-16.
   The filter row above the list, the "show the rest" button below it, and rows that stop being full-height cards
   once there are dozens of them. Sticky so the box stays reachable while you scroll eighty rows. */
.bs-app .wallet-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;position:sticky;top:0;z-index:2;
  margin:-4px -4px 10px;padding:8px 4px;background:var(--panel);border-bottom:1px solid var(--line-soft)}
.bs-app .wallet-tools>input{flex:1 1 220px;min-width:0;max-width:420px}
/* The sort picker beside the filter (2026-09-20): a control, not a form field, so it takes its own width. */
.bs-app .wallet-tools>select.wallet-sort{flex:0 0 auto;width:auto;min-width:150px}
.bs-app #wallet-count{flex:0 0 auto;white-space:nowrap;font-variant-numeric:tabular-nums}
.bs-app .wallet-more{margin-top:12px}
.bs-app .wallet-more>button{width:100%;justify-content:center}
/* Denser rows once the list is long: the same controls, without a card's worth of padding each. */
.bs-app #wallet-list .wallet{padding:12px 14px;margin-top:8px}
.bs-app #wallet-list .wallet .wallet-label{line-height:1.35}
@media(max-width:560px){
  .bs-app .wallet-tools{margin:-6px -6px 10px;padding:8px 6px}
  .bs-app .wallet-tools>input{flex:1 1 100%}
  .bs-app #wallet-list .wallet{padding:11px 11px;gap:8px 8px}
  .bs-app #wallet-list .wallet>.wallet-bal{font-size:12px}
}
/* End wallet list at operator scale. */

/* Boot routing — 2026-09-15. route-early.js tags <html> with the page (and sub-tab) the URL names before the body is
   parsed; until app.js marks data-boot-ready, these show that page instead of the Trade page the markup starts on. The
   heading text is hidden rather than shown wrong: buckshot-ui.js writes it once the navigation state exists. */
html[data-boot-page]:not([data-boot-ready]) #page-trade{display:none!important}
html[data-boot-page="trade"]:not([data-boot-ready]) #page-trade,
html[data-boot-page="wallets"]:not([data-boot-ready]) #page-wallets,
html[data-boot-page="settings"]:not([data-boot-ready]) #page-settings,
html[data-boot-page="docs"]:not([data-boot-ready]) #page-docs,
html[data-boot-page="copy"]:not([data-boot-ready]) #page-copy{display:block!important}
html[data-boot-stab="trade"]:not([data-boot-ready]) #page-trade [data-stab]:not([data-stab="trade"]),
html[data-boot-stab="launch"]:not([data-boot-ready]) #page-trade [data-stab]:not([data-stab="launch"]),
html[data-boot-stab="wallets"]:not([data-boot-ready]) #page-wallets [data-stab]:not([data-stab="wallets"]),
html[data-boot-stab="funding"]:not([data-boot-ready]) #page-wallets [data-stab]:not([data-stab="funding"]),
html[data-boot-stab="privacy"]:not([data-boot-ready]) #page-wallets [data-stab]:not([data-stab="privacy"]),
html[data-boot-stab="danger"]:not([data-boot-ready]) #page-wallets [data-stab]:not([data-stab="danger"]),
html[data-boot-stab="connection"]:not([data-boot-ready]) #page-settings [data-stab]:not([data-stab="connection"]),
html[data-boot-stab="trading"]:not([data-boot-ready]) #page-settings [data-stab]:not([data-stab="trading"]),
html[data-boot-stab="accounts"]:not([data-boot-ready]) #page-settings [data-stab]:not([data-stab="accounts"]),
html[data-boot-stab="activity"]:not([data-boot-ready]) #page-settings [data-stab]:not([data-stab="activity"]){display:none!important}
html[data-boot-page]:not([data-boot-ready]) .bs-page-head>div{visibility:hidden}
/* End boot routing. */

/* Fomo trader board — 2026-09-17. Search, sort and the per-trader figures (trades, win rate, realized, volume, last
   trade) beside Fomo's own PnL. On a phone each trader is a card: name and Copy on top, the figures in a two-column grid
   under labels, so nothing sits behind a sideways scroll and a hundred traders are not a hundred tall blocks. */
/* #discover-list is a two-column card grid below 1600 px (built for the Solana candidate pool); the board spans it. */
.bs-app #discover-list>.fomo-shell{grid-column:1/-1;align-self:stretch;min-width:0;display:flex;flex-direction:column;gap:6px}
.bs-app .fomo-controls{flex-wrap:wrap;margin:0 0 4px}
.bs-app .fomo-controls .fomo-search{flex:1 1 260px;max-width:380px}
.bs-app .fomo-sort-wrap{display:flex;align-items:center;gap:8px;margin:0;text-transform:none;letter-spacing:0;font-size:12px;color:var(--text-faint)}
.bs-app .fomo-sort-wrap select{width:auto;min-width:170px;height:38px;padding:0 10px}
.bs-app .fomo-coverage{margin-left:auto;font-size:12px;color:var(--text-faint);white-space:nowrap}
.bs-app table.fomo-board{width:100%}
.bs-app table.fomo-board>thead>tr>th:first-child{width:3rem}
.bs-app table.fomo-board>thead>tr>th:last-child{width:6.5rem}
.bs-app table.fomo-board th .fomo-sort-btn{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:4px;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;min-height:24px}
.bs-app table.fomo-board th .fomo-sort-btn:hover{color:var(--text)}
.bs-app table.fomo-board th .fomo-sort-btn:focus-visible{outline:2px solid var(--charge);outline-offset:2px}
.bs-app table.fomo-board th .fomo-sort-btn.active{color:var(--charge)}
.bs-app table.fomo-board th .fomo-sort-btn.active::after{content:'▾';font-size:10px}
.bs-app table.fomo-board th[aria-sort=ascending] .fomo-sort-btn.active::after{content:'▴'}
.bs-app table.fomo-board td{vertical-align:top;padding-top:10px;padding-bottom:10px}
.bs-app table.fomo-board td>.sub,.bs-app table.fomo-board td .sub{display:block;font-size:11px;line-height:1.45;color:var(--text-faint);white-space:nowrap}
.bs-app table.fomo-board td.fomo-trader{white-space:normal;min-width:12rem}
.bs-app table.fomo-board .fomo-name{font-weight:600;color:var(--text)}
.bs-app table.fomo-board .fomo-tags{display:inline-flex;flex-wrap:wrap;gap:4px;margin-left:8px;vertical-align:1px}
.bs-app table.fomo-board .fomo-tag{padding:0 6px;border:1px solid var(--line);border-radius:4px;font-size:10px;line-height:17px;color:var(--text-dim);text-transform:lowercase}
.bs-app table.fomo-board .fomo-flag{margin-left:8px;padding:0 6px;border:1px solid #6b5c30;border-radius:4px;font-size:10px;line-height:17px;color:var(--amber);cursor:help}
.bs-app table.fomo-board td.fomo-pending{color:var(--text-faint);font-style:italic}
.bs-app table.fomo-board td.pos>span:first-child{color:var(--green)}
.bs-app table.fomo-board td.neg>span:first-child{color:var(--red)}
.bs-app table.fomo-board td.fomo-action{text-align:right;vertical-align:middle}
.bs-app table.fomo-board td.fomo-empty{padding:18px 10px}
.bs-app .fomo-more{align-self:center;margin:8px 0 2px;min-height:40px;padding:0 18px}
@media(max-width:1180px){
  .bs-app table.fomo-board td.fomo-trader{min-width:9rem}
  .bs-app .fomo-coverage{margin-left:0;flex:1 0 100%}
}
@media(max-width:700px){
  .bs-app .fomo-controls .fomo-search{flex:1 1 100%;max-width:none}
  .bs-app .fomo-sort-wrap{flex:1 1 auto}
  .bs-app .fomo-sort-wrap select{flex:1 1 auto;min-width:0}
  .bs-app table.fomo-board{min-width:0}
  .bs-app table.fomo-board thead{display:none}
  .bs-app table.fomo-board>tbody{display:block}
  .bs-app table.fomo-board>tbody>tr{display:grid;grid-template-columns:2rem minmax(0,1fr) minmax(0,1fr) auto;column-gap:10px;row-gap:8px;padding:14px 0;border-bottom:1px solid var(--line-soft)}
  .bs-app table.fomo-board>tbody>tr>td{display:block;padding:0;border:0;text-align:left;white-space:normal;min-width:0}
  .bs-app table.fomo-board>tbody>tr>td.fomo-rank{grid-column:1;grid-row:1;color:var(--text-faint)}
  .bs-app table.fomo-board>tbody>tr>td.fomo-trader{grid-column:2 / span 2;grid-row:1;min-width:0}
  .bs-app table.fomo-board>tbody>tr>td.fomo-action{grid-column:4;grid-row:1;text-align:right}
  .bs-app table.fomo-board>tbody>tr>td:nth-child(3),.bs-app table.fomo-board>tbody>tr>td:nth-child(5),.bs-app table.fomo-board>tbody>tr>td:nth-child(7){grid-column:2}
  .bs-app table.fomo-board>tbody>tr>td:nth-child(4),.bs-app table.fomo-board>tbody>tr>td:nth-child(6),.bs-app table.fomo-board>tbody>tr>td:nth-child(8){grid-column:3 / span 2}
  .bs-app table.fomo-board>tbody>tr>td[data-label]:not(.fomo-rank):not(.fomo-trader)::before{content:attr(data-label);display:block;font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint);margin-bottom:1px}
  .bs-app table.fomo-board .fomo-tags{margin-left:6px}
  .bs-app table.fomo-board td .sub{white-space:normal}
  .bs-app table.fomo-board td.fomo-empty{grid-column:1 / -1}
}
/* End Fomo trader board. */

/* Admin-only settings forms, hidden for public accounts by applyScope() in app.js — 2026-09-15. */
.bs-app .bs-admin-only{display:none!important}

/* Phone first screen — 2026-09-17. Measured at 390×844 before this: about 700 px of the first 844 was chrome — health
   pills wrapped over four rows, a 33 px title under a kicker and over a tagline, two full-height banners — before any
   content. Nothing that states something is removed: every health pill, the chain, both banners, their close buttons
   and every tab stay. The pills scroll sideways in one row (faded at the edge so it reads as scrollable); the page kicker
   and tagline, which are the same words on every visit, are hidden on phones; paddings shrink. Scoped to the workspace
   header, because the sign-in page reuses .bs-eyebrow. Touch targets keep their 40–44 px. */
@media(max-width:560px){
  .bs-app .topbar{align-items:center;padding:8px 0;min-height:0;gap:10px}
  .bs-app .strip{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;max-width:none;gap:0 14px;padding:4px 0;-webkit-mask-image:linear-gradient(90deg,#000 86%,transparent);mask-image:linear-gradient(90deg,#000 86%,transparent)}
  .bs-app .strip::-webkit-scrollbar{display:none}
  .bs-app .strip-item{flex:none;white-space:nowrap}
  .bs-app .tabs .nav-brand{padding:4px 0 6px}
  .bs-app .tabs .nav-brand img{width:26px;height:26px}
  .bs-app .tabs .nav-brand span{font-size:19px}
  .bs-app .bs-page-head{padding:14px 0 10px}
  .bs-app .bs-page-head h1{font-size:24px;line-height:1.15;margin:0}
  .bs-app .bs-page-head .bs-eyebrow,.bs-app .bs-page-head .bs-page-description{display:none}
  .bs-app .bs-page-head .bs-context{margin-top:6px}
  .bs-app #banners{gap:8px;margin:0 0 12px}
  .bs-app #banners .banner{padding:10px 54px 10px 14px;min-height:0;gap:2px 10px;line-height:1.5}
  .bs-app #banners .banner-close{top:5px;right:5px}
  .bs-app .subtabs{margin-bottom:12px}
}
/* End phone first screen. */

/* Long wallet pickers — 2026-09-17. The checklist enhanceMultiSelect() draws in front of the funding, bridge and aging
   wallet selects: a filter, tick/untick what is shown, a count, and one labelled row per wallet with its balance at the
   end. The native select stays in the page, hidden, as the source of truth. */
.bs-app select.pick-native{display:none!important}
.bs-app .pick-list{display:flex;flex-direction:column;min-width:0;border:1px solid #536257;border-radius:6px;background:#111813}
.bs-app .pick-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;border-bottom:1px solid var(--line-soft)}
.bs-app .pick-head .pick-filter{-webkit-appearance:none;appearance:none;flex:1 1 200px;min-width:0;height:36px;min-height:36px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:#0d130f;color:var(--text);font:inherit;font-size:13px}
.bs-app .pick-head .pick-filter::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
.bs-app .pick-head .pick-filter:focus{border-color:var(--charge);outline:none}
.bs-app .pick-head button.tiny{min-height:34px;padding:0 10px;font-size:11px}
.bs-app .pick-count{margin-left:auto;font-size:12px;color:var(--text-faint);white-space:nowrap}
.bs-app .pick-rows{max-height:264px;overflow-y:auto;overscroll-behavior:contain;padding:4px 0}
.bs-app label.pick-row{display:flex;align-items:center;gap:10px;margin:0;padding:6px 12px;min-height:36px;cursor:pointer;font-size:13px;letter-spacing:0;text-transform:none;color:var(--text)}
.bs-app label.pick-row:hover{background:#1c261f}
.bs-app label.pick-row.is-picked{background:#1b2a17}
.bs-app label.pick-row input{flex:none;width:16px;height:16px;min-height:0;margin:0;accent-color:var(--charge)}
.bs-app label.pick-row .pick-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bs-app label.pick-row .pick-detail{margin-left:auto;padding-left:10px;flex:none;font-size:12px;color:var(--text-faint);white-space:nowrap}
.bs-app label.pick-row:has(input:disabled){cursor:not-allowed;opacity:.6}
.bs-app .pick-empty{margin:0;padding:12px;font-size:12px;color:var(--text-faint)}
@media(max-width:560px){
  .bs-app label.pick-row{min-height:44px}
  .bs-app .pick-rows{max-height:50vh;max-height:50dvh}
  .bs-app .pick-head .pick-filter{flex-basis:100%;font-size:16px;height:44px}
  .bs-app .pick-head button.tiny{min-height:40px;flex:1 1 auto}
}
/* An anchor that stands beside real buttons ("View on explorer") takes their shape, not a pill of its own. */
.bs-app a.button-like{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:9px 14px;border:1px solid #47574b;border-radius:6px;background:#27322b;color:#d1ddd4;font-size:12px;font-weight:500;line-height:1.4;text-decoration:none}
.bs-app a.button-like:hover{border-color:var(--charge);color:var(--text)}
/* End long wallet pickers. */

/* Copy open positions on a phone — 2026-09-17. Eight cells in a three-column grid wrapped the header over three lines
   and left every number unlabelled. Under 700 px the header row is hidden and each position is a card: the token on its
   own line, then the other seven cells in two columns under their own names (data-label, set by renderCopyPositions). */
@media(max-width:700px){
  .bs-app #copy-positions>.pos-head{display:none}
  .bs-app #copy-positions>.pos-row:not(.pos-head){grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;padding:14px 12px}
  .bs-app #copy-positions>.pos-row>.pos-cell{min-width:0;text-align:left;white-space:normal;overflow-wrap:anywhere}
  .bs-app #copy-positions>.pos-row>.pos-cell::before{content:attr(data-label);display:block;margin-bottom:2px;font:500 10px/1.4 var(--sans);letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint)}
  .bs-app #copy-positions>.pos-row>.pos-cell.pos-token{grid-column:1/-1;font-size:14px}
  .bs-app #copy-positions>.pos-row>.pos-cell.pos-token::before{display:none}
}
/* End copy open positions on a phone. */

/* Readability and touch pass — 2026-09-17. Measured on every page at 390 and 1440 px by a scripted audit before this
   (contrast, text size, touch-target size, sideways scrolling): on a phone the status values were 9 px and the chain
   context 8 px; the DRY RUN "What this means" control, shown on every page, and the Docs contents links were 32 px
   tall; address, ticker and explorer links in lists were 14–17 px tall touch targets; and the Trade page's open
   positions scrolled sideways, cutting off every figure after Quantity. Nothing is removed or reworded: sizes, hit
   areas, and the positions table drawn as labelled cards under 560 px, the treatment #copy-positions already has. */
@media(max-width:560px){
  .bs-app .strip{font-size:11px}
  .bs-app .strip-label{font-size:10px}
  .bs-app .bs-page-head .bs-context{font-size:10px}
  .bs-app .chain-trigger .chain-name{font-size:11px}
  .bs-app #btn-logout{font-size:11px}
  .bs-app .bs-notice-details>summary{min-height:40px}
  .bs-app .docs-toc a{min-height:44px;display:flex;align-items:center}
  /* A bigger hit area, not a bigger link: the padding is given back by an equal negative margin, so nothing moves. */
  .bs-app a.wallet-key,.bs-app a.chain-link,.bs-app td>a.ticker,.bs-app td.fomo-trader>a.sub{display:inline-block;padding-block:11px;margin-block:-11px}
  .bs-app .positions-scroll{overflow:visible}
  .bs-app .positions-table thead{display:none}
  .bs-app .positions-scroll>.positions-table,.bs-app .positions-table>tbody{display:block;width:100%;min-width:0;max-width:100%}
  .bs-app #positions-body>tr.pos-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;padding:14px 12px;border-bottom:1px solid #3b4b40}
  .bs-app #positions-body>tr.pos-row:nth-child(even){background:#202a23}
  .bs-app #positions-body>tr.pos-row>td{display:block;min-width:0;padding:0;border:0;text-align:left;white-space:normal;overflow-wrap:anywhere}
  .bs-app #positions-body>tr.pos-row>td::before{content:attr(data-label);display:block;margin-bottom:2px;font:500 10px/1.4 var(--sans);letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint)}
  .bs-app #positions-body>tr.pos-row>td[data-label="Wallet"]{grid-column:1/-1}
  .bs-app #positions-body>tr.pos-row>td[data-label="Wallet"]::before{display:none}
  /* The token drawers (2026-09-20) are cards too, and the one a phone leads with: the token, then its figures. */
  .bs-app #positions-body>tr.pos-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;padding:14px 12px;border-bottom:1px solid #3b4b40;background:#1f2a22}
  .bs-app #positions-body>tr.pos-group>td{display:block;min-width:0;padding:0;border:0;text-align:left;white-space:normal;overflow-wrap:anywhere}
  .bs-app #positions-body>tr.pos-group>td::before{content:attr(data-label);display:block;margin-bottom:2px;font:500 10px/1.4 var(--sans);letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint)}
  .bs-app #positions-body>tr.pos-group>td[data-label="Wallet"],.bs-app #positions-body>tr.pos-group>td[data-label="Token"]{grid-column:1/-1}
  .bs-app #positions-body>tr.pos-group>td[data-label="Wallet"]::before{display:none}
  .bs-app #positions-body>tr.pos-row>td:first-child{padding-left:0}
}
/* End readability and touch pass. */

/* Accounts at operator scale — 2026-09-17. The table now draws twenty accounts a page (renderAccounts); at 84 px a row
   that page alone was 1,700 px, with Holder access, Remove other accounts and Create an account below it and nothing
   but a heading between them. With a mouse, rows sit tighter; on touch the 40 px buttons stay. Each admin form below
   the table starts under its own rule, so the dangerous one does not read as part of the one above it. */
@media(min-width:801px) and (hover:hover) and (pointer:fine){
  .bs-app #accounts-body td{padding-block:10px}
  .bs-app #accounts-body td:last-child>button{min-height:34px;margin-block:3px}
}
.bs-app #accounts-panel .bs-form-title{margin-top:34px;padding-top:24px;border-top:1px solid var(--line-soft)}
.bs-app #account-tools{margin:0 0 14px}
.bs-app #accounts-body>tr:last-child>td{border-bottom:0}
/* End accounts at operator scale. */

/* Live UX audit — September 2026. Presentation only; existing hidden/chain
   gates still win. Mobile trade cards retain the original trading controls. */
.bs-app{--bg:#111613;--panel:#1a211d;--panel-2:#222c26;--line-soft:#303b34}
.bs-app .bs-page-head{padding-block:24px 20px}
.bs-app .bs-page-head h1{font-size:clamp(26px,2.7vw,36px)}
.bs-app .bs-page-description{margin-top:8px;max-width:72ch}
.bs-app .panel-head{padding-block:15px}
.bs-app .subtabs{margin-bottom:16px}
.bs-app .subtab.subtab-danger.active{color:var(--red);border-color:var(--red);background:#38241f}
.bs-app .banner{padding:10px 14px;line-height:1.55}
.bs-app #banners{gap:8px}
.bs-app .scope-note{border-left:3px solid var(--charge);padding:12px 14px;background:#232f25;font-size:13px}
.bs-scope-caption{margin:0 0 12px;color:var(--text-faint);font-size:10px;font-weight:600;letter-spacing:.08em}
.bs-risk-note{margin:0 0 12px}
.bs-wallet-next{padding:12px 14px;border-left:3px solid var(--amber);background:#2c2819;color:#f0cf99;font-size:12px;line-height:1.6}
.bs-wallet-next a{display:inline-block;min-height:32px;padding-block:6px;color:var(--text);text-decoration:underline}
.bs-app .bs-wallet-unavailable #cw-actions button.primary{background:var(--panel-2);color:var(--text-dim);border-color:var(--line)}
.bs-app #cw-state{font-size:12px;line-height:1.5;white-space:normal}
.bs-app .cw-blockers-box{border-radius:6px}
.bs-app .cw-size{padding:16px;border:1px solid var(--line);border-radius:6px;background:#18241c}
.bs-app .bs-section-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.bs-app .bs-section-nav button{min-height:42px;font-size:12px;background:#202b24;border-color:var(--line);color:var(--text-dim)}
.bs-app .bs-section-nav button:hover{border-color:var(--charge);color:var(--text)}
.bs-app [data-bs-anchor]{scroll-margin-top:115px}
.bs-app .bs-flow-intro{font-size:13px;line-height:1.6;margin:0 0 14px;color:var(--text-dim)}
.bs-app .bs-discovery-admin,.bs-app .bs-budget-tools,.bs-app .bs-guidance{margin:12px 0;border:1px solid var(--line-soft);border-radius:6px;background:#18211b}
.bs-app .bs-discovery-admin>summary,.bs-app .bs-budget-tools>summary,.bs-app .bs-guidance>summary{padding:12px 14px;min-height:44px;cursor:pointer;font-weight:500;color:var(--text);font-size:12px}
.bs-app .bs-discovery-admin>summary>span{font-weight:400;color:var(--text-faint);margin-left:8px}
.bs-app .bs-discovery-admin[open]>summary,.bs-app .bs-budget-tools[open]>summary,.bs-app .bs-guidance[open]>summary{border-bottom:1px solid var(--line-soft)}
.bs-app .bs-discovery-admin>.bs-discovery-context,.bs-app .bs-discovery-admin>#discover-sources{margin:14px}
.bs-app .bs-discovery-admin:not(:has(#discover-tiles:not(:empty),#discover-sources:not(:empty))){display:none}
.bs-app .bs-budget-tools{flex-basis:100%;width:100%;min-width:0;margin:6px 0 0;background:transparent;border-color:currentColor}
.bs-app .bs-budget-tools .disc-budget-form{padding:12px}
.bs-app .bs-command-help{margin:0 12px 12px;font-size:12px}
.bs-app .bs-command-help>summary{min-height:40px;cursor:pointer}
.bs-app .bs-command-help>.mono{display:block;white-space:normal;overflow-wrap:anywhere}
.bs-app .disc-filter-top{align-items:center;gap:8px}
.bs-app .disc-filter-top>input{min-width:0;flex:1}
.bs-app .bs-guidance>p{padding:0 14px 14px;margin:10px 0 0;max-width:none}
.bs-app .launch-step{padding-block:24px;border-top:1px solid var(--line-soft)}
.bs-app .launch-step-title{margin-bottom:14px}
.bs-app .bs-wallet-search{display:grid;gap:7px;margin-bottom:12px;font-size:11px;color:var(--text-dim)}
.bs-app .bs-wallet-search input{width:100%}
.bs-app .bs-wallet-search .hint:empty{display:none}
.bs-app .bs-wallet-remove{color:var(--red);border-color:#68413a}
.bs-app .bs-trade-toggle{display:none}
.bs-app .bs-trade-cards th:first-child,.bs-app .bs-trade-cards td:first-child{position:sticky;left:0;background:var(--panel);z-index:1}
.bs-app .bs-trade-cards th:first-child{background:#1a2616;z-index:2}
.bs-app .bs-trade-cards td{padding:12px 10px}
.bs-app #copy-events .exec-row{line-height:1.5}
.bs-app #copy-events.bs-execution-labeled .exec-row:not(.exec-head){padding:14px;gap:10px 16px}
.bs-login .login-panel .panel-title{font-size:20px}
.bs-login .bs-login-wallet{padding:0 0 20px;margin:0 0 20px;border-bottom:1px solid var(--line)}
.bs-login .bs-login-wallet .bs-login-note{margin:8px 0 14px;line-height:1.65}
.bs-login .bs-login-wallet #btn-wallet{width:100%;min-height:46px;border-color:var(--charge);color:var(--charge)}
.bs-login .bs-login-method{font:600 15px/1.4 var(--display);margin:0 0 12px;color:var(--text)}
.bs-login .bs-admin-hint{margin:0 0 14px;color:var(--text-faint);font-size:12px}
@media(max-width:800px){
  .bs-app .bs-page-head{padding-block:18px 16px}
  .bs-app .bs-trade-scroll{overflow:visible}
  .bs-app .bs-trade-scroll>.bs-trade-cards,.bs-app .bs-trade-cards>tbody{display:block;min-width:0;width:100%;max-width:100%}
  .bs-app .bs-trade-cards>thead,.bs-app .bs-trade-cards>thead>tr{display:block}
  .bs-app .bs-trade-cards>thead>tr{display:flex;flex-wrap:wrap;gap:6px;padding:8px 0 14px}
  .bs-app .bs-trade-cards>thead th{display:block;position:static;min-height:40px;padding:10px;border:1px solid var(--line);border-radius:5px;font-size:10px}
  .bs-app .bs-trade-cards>thead th:nth-child(n+6){display:none}
  .bs-app #token-wallets>tr[data-row]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;margin-bottom:12px;border:1px solid var(--line);border-radius:7px;background:var(--panel)}
  .bs-app #token-wallets>tr[data-row]>td{position:static;display:block;padding:0;border:0;min-width:0;white-space:normal;overflow-wrap:anywhere;text-align:left;background:transparent}
  .bs-app #token-wallets>tr[data-row]>td::before{content:attr(data-bs-label);display:block;margin-bottom:4px;font:500 10px/1.4 var(--sans);letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint)}
  .bs-app #token-wallets>tr[data-row]>td:first-child{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--line-soft)}
  .bs-app #token-wallets>tr[data-row]>td:first-child::before{display:none}
  .bs-app #token-wallets .wallet-name{white-space:normal;flex:1 1 160px;font-size:13px}
  .bs-app .bs-trade-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font-size:12px;padding:8px 10px}
  .bs-app #token-wallets>tr[data-row]>td:nth-child(n+6){grid-column:1/-1;border-top:1px solid var(--line-soft);padding-top:12px}
  .bs-app #token-wallets>tr[data-row]:not(.bs-trade-open)>td:nth-child(n+6){display:none}
  .bs-app #token-wallets .quick-group{display:flex;flex-wrap:wrap;gap:8px}
  .bs-app #token-wallets .quick-group>button{flex:1 1 50px;min-height:44px}
  .bs-app #token-wallets .manual-buy{display:flex;flex:1 1 180px;min-width:0;gap:8px}
  .bs-app #token-wallets .manual-buy input{flex:1;min-width:0;width:90px;font-size:16px}
  .bs-app #token-wallets .manual-buy button{min-height:44px}
}
@media(max-width:560px){
  .bs-app .bs-page-head{padding-block:14px 12px}
  .bs-app .bs-page-head h1{font-size:26px}
  .bs-app .bs-page-head .bs-context{margin-top:8px}
  .bs-app .topbar{gap:8px;padding-block:8px}
  .bs-app .chain-trigger{min-height:42px}
  .bs-app #copy-subtabs{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:4px;scroll-padding-inline:4px}
  .bs-app #copy-subtabs>.subtab{flex:0 0 auto;padding-inline:12px;min-height:44px}
  .bs-app .banner{padding:9px 10px;font-size:12px}
  .bs-app .panel-head{padding:12px}
  .bs-app .panel-body{padding:14px}
  .bs-app .bs-discovery-admin>summary>span{display:block;margin:4px 0 0 14px;font-size:11px}
  .bs-app .bs-section-nav{gap:6px;margin-bottom:14px}
  .bs-app .bs-section-nav button{flex:1 1 auto;padding-inline:9px}
  .bs-app .token-stats>div{padding:10px;border:0;border-bottom:1px solid var(--line-soft);border-radius:0}
  .bs-app .token-header{padding:14px}
  .bs-app #recent-mints{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:5px}
  .bs-app #recent-mints>*{flex:none}
  .bs-app>.wrap #copy-events .bs-activity-record .bs-record-primary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}
  .bs-app>.wrap #copy-events .bs-activity-record .bs-record-primary>:first-child{grid-column:auto}
  .bs-app>.wrap #copy-events .bs-activity-record .bs-record-state{grid-column:1/-1;align-items:center}
  .bs-app>.wrap #copy-events .bs-activity-record .bs-record-provenance{flex-basis:auto}
  .bs-app>.wrap #copy-events .bs-activity-record .bs-record-metrics{grid-column:1/-1;gap:10px 24px}
  .bs-app>.wrap #copy-events .bs-activity-record .bs-record-value{font-size:13px}
  .bs-login .login-wrap{gap:18px;padding:24px 0;width:calc(100% - 32px)}
  .bs-login-story{padding:0}
  .bs-login-story h1{font-size:32px;margin:10px 0}
  .bs-login-story h1 br{display:none}
  .bs-login-story .bs-eyebrow{font-size:9px;margin-bottom:8px}
  .bs-login-story>p:not(.bs-eyebrow){font-size:12px;line-height:1.6;margin:0}
  .bs-login .login-panel .panel-head,.bs-login .login-panel .panel-body{padding:18px}
  .bs-login .login-panel .field{margin-bottom:12px}
  .bs-login .bs-login-wallet{padding-bottom:16px;margin-bottom:16px}
}
/* End live UX audit. */

/* Desktop review: shared disclosure rules deliberately outrank the legacy
   .panel details:not(.launch-panel):not([id]) summary card styling. */
.bs-app .panel .bs-guidance,
.bs-app .panel :is(.cw-audit,.bs-scorecard,.launch-socials,.hop-restore,.disc-fold,.bs-activity-details,.bs-discovery-admin){border:1px solid var(--line-soft);border-radius:6px;background:#18211c;padding:0 16px;margin-block:14px;min-width:0}
.bs-app .panel details:not(.launch-panel):not(.bs-record-details):not(.bs-roster-more):not(.ref-card):not(.launch-trace):not(.bs-command-help)>summary{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;list-style:none;cursor:pointer;min-height:48px;padding:12px 0;margin:0;border:0;border-radius:0;background:transparent;color:var(--text);font:500 13px/1.6 var(--sans);box-shadow:none}
.bs-app .panel details:not(.launch-panel):not(.bs-record-details):not(.bs-roster-more):not(.ref-card):not(.launch-trace):not(.bs-command-help)>summary::-webkit-details-marker{display:none}
.bs-app .panel details:not(.launch-panel):not(.bs-record-details):not(.bs-roster-more):not(.ref-card):not(.launch-trace):not(.bs-command-help)>summary::before{content:none}
.bs-app .panel details:not(.launch-panel):not(.bs-record-details):not(.bs-roster-more):not(.ref-card):not(.launch-trace):not(.bs-command-help)>summary::after{content:'+';position:static;display:grid;place-items:center;flex:none;margin-left:auto;width:24px;height:24px;border:1px solid var(--line);border-radius:4px;transform:none;font:500 16px/1 var(--sans);color:var(--text-dim)}
.bs-app .panel details:not(.launch-panel):not(.bs-record-details):not(.bs-roster-more):not(.ref-card):not(.launch-trace):not(.bs-command-help)[open]>summary{margin-bottom:14px;border-bottom:1px solid var(--line-soft)}
.bs-app .panel details:not(.launch-panel):not(.bs-record-details):not(.bs-roster-more):not(.ref-card):not(.launch-trace):not(.bs-command-help)[open]>summary::after{content:'−'}
.bs-app .panel details:not(.launch-panel):not(.bs-record-details):not(.bs-roster-more):not(.ref-card):not(.launch-trace):not(.bs-command-help)>summary:hover{color:var(--charge);background:transparent}
.bs-app .panel :is(.cw-audit,.bs-scorecard,.launch-socials,.hop-restore,.disc-fold,.bs-activity-details,.bs-discovery-admin,.bs-guidance)[open]{padding-bottom:16px}
.bs-app .panel :is(.bs-guidance,.bs-discovery-admin,.bs-scorecard)>:not(summary){margin-inline:0}
.bs-app .panel .bs-guidance>p,.bs-app .panel .disc-fold>*:not(summary){padding-inline:0}
.bs-app .panel :is(.bs-scorecard,.bs-activity-details)>.bs-disclosure-body{padding:0}
.bs-app .panel .bs-activity-details>summary>span,.bs-app .panel .bs-discovery-admin>summary>span{margin:0;font-size:11px;font-weight:400;color:var(--text-faint)}
.bs-app .panel .bs-budget-tools{padding:0 14px;grid-column:1/-1;width:auto;max-width:100%;border-color:var(--line);background:#18211c66}
.bs-app .panel .bs-budget-tools .disc-budget-form{padding:0 0 14px;min-width:0}
.bs-app .panel .bs-command-help{margin:0 0 12px}
.bs-app .panel .bs-command-help>summary{padding:8px 0;min-height:40px;font-size:11px}

/* The notice expander keeps its place when opened. Severity, complete critical
   text, dismissal handlers and the original simulation explanation stay intact. */
.bs-app #banners .banner{align-items:start;grid-template-columns:112px minmax(0,1fr);gap:6px 16px;min-height:58px;padding:14px 64px 14px 18px;border-radius:6px}
.bs-app #banners .banner>strong{padding-top:2px}
.bs-app #banners .banner>span{align-self:center;max-width:100ch}
.bs-app #banners .banner.dry{grid-template-columns:112px minmax(0,1fr)}
.bs-app #banners .bs-notice-details,.bs-app #banners .bs-notice-details[open]{grid-column:2;grid-row:2;margin:0;min-width:0;max-width:100ch}
.bs-app #banners .bs-notice-details>summary{min-height:28px;padding:2px 0;font-size:11px;text-decoration:underline;text-underline-offset:3px}
.bs-app #banners .bs-notice-details>span{padding:8px 0 2px;line-height:1.7}
.bs-app .toast-stack{width:min(390px,calc(100vw - 40px));right:20px;bottom:20px;gap:8px;max-height:min(420px,calc(100vh - 100px));max-height:min(420px,calc(100dvh - 100px));scrollbar-width:thin}
.bs-app .toast{padding:14px 56px 14px 16px;min-height:60px;border-radius:6px;line-height:1.55;box-shadow:0 4px 18px #0003}
.bs-app .toast[data-bs-notice]::before{font-size:10px;letter-spacing:.04em;margin-bottom:4px}
.bs-app .bs-toast-close{top:6px;right:6px;width:40px;height:40px;min-height:40px}

/* Trade: equal summary columns, an inset filter, and compact action groups.
   All original table cells, sort headers and trading controls remain in place. */
.bs-app #tw-tools{padding:14px 22px;margin:0;background:var(--panel);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);gap:12px;align-items:center}
.bs-app #tw-tools input{max-width:420px;flex:1 1 260px}
.bs-app #tw-more{padding:14px 22px;margin:0}
.bs-app #token-warning{margin:14px 22px;line-height:1.65;border-radius:6px}
@media(min-width:801px){
  .bs-app .token-header{padding:20px 22px}
  .bs-app .token-stats{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px;margin-top:18px}
  .bs-app .token-stats>div{grid-column:span 3;min-width:0;padding:12px 14px;background:#1a241e;border-color:var(--line-soft)}
  .bs-app .token-stats>div:nth-child(n+5){grid-column:span 4}
  .bs-app .token-stats dd{font-size:17px;line-height:1.45;letter-spacing:-.02em;word-break:normal;overflow-wrap:break-word}
  .bs-app .bs-trade-cards{table-layout:fixed;width:100%;min-width:880px}
  .bs-app .bs-trade-cards :is(th,td){padding:12px 10px;vertical-align:middle}
  .bs-app .bs-trade-cards :is(th,td):first-child{width:18%;padding-left:20px;white-space:normal;overflow-wrap:anywhere}
  .bs-app .bs-trade-cards .wallet-name{font-size:12px;line-height:1.6;white-space:normal}
  .bs-app .bs-trade-cards :is(th,td):nth-child(2){width:8%}
  .bs-app .bs-trade-cards :is(th,td):nth-child(3){width:11%}
  .bs-app .bs-trade-cards :is(th,td):nth-child(4){width:8%}
  .bs-app .bs-trade-cards :is(th,td):nth-child(5){width:13%;white-space:normal}
  .bs-app .bs-trade-cards :is(th,td):nth-child(6){width:21%;text-align:left;border-left:1px solid var(--line-soft);padding-left:14px}
  .bs-app .bs-trade-cards :is(th,td):nth-child(7){width:14%;text-align:left;padding-left:14px}
  .bs-app .bs-trade-cards :is(th,td):nth-child(8){width:7%;text-align:center}
  .bs-app #token-wallets .quick-group{display:flex;flex-wrap:wrap;gap:6px;white-space:normal;min-width:0}
  .bs-app #token-wallets :is(.quick-group,.sell-group)>button{padding:6px 8px;min-height:34px;min-width:34px;font-size:11px}
  .bs-app #token-wallets .manual-buy{display:flex;flex:1 1 100%;min-width:0;margin:0;padding:0;gap:6px;border:0}
  .bs-app #token-wallets .manual-buy input{width:70px;min-width:0;flex:1;padding:6px 8px;min-height:34px;font-size:12px}
  .bs-app #token-wallets .manual-buy button{padding:6px 10px;min-height:34px;font-size:11px}
  .bs-app #token-wallets .sell-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-width:150px;white-space:normal;min-width:0}
  .bs-app #token-wallets td:nth-child(8)>button{padding-inline:6px}
}
@media(min-width:1560px){
  .bs-app .token-stats{grid-template-columns:repeat(7,minmax(0,1fr))}
  .bs-app .token-stats>div:nth-child(n){grid-column:auto}
  .bs-app #token-wallets .manual-buy{flex:1 1 126px;max-width:170px}
  .bs-app #token-wallets .sell-group{display:flex;flex-wrap:wrap;max-width:none}
}

/* Details actions stay in a stable corner; expanding reveals the original
   evidence below the summary instead of moving the button to another row. */
.bs-app>.wrap .panel .bs-record-details>summary::before{content:none}
@media(min-width:861px){
  .bs-app #copy-kols>.bs-roster-compact{position:relative;grid-template-columns:minmax(0,2fr) repeat(4,minmax(0,1fr));padding:16px 120px 16px 12px;gap:12px}
  .bs-app #copy-kols .bs-roster-status{grid-column:1/-1}
  .bs-app #copy-kols .bs-roster-more{grid-column:1/-1;justify-self:stretch}
  .bs-app #copy-kols .bs-roster-more:not([open]){height:0;margin-top:-12px;justify-self:stretch}
  .bs-app #copy-kols .bs-roster-more>summary{position:absolute;top:16px;right:12px;min-height:40px;padding:8px 10px;border:1px solid var(--line);border-radius:5px;background:var(--panel-2)}
  .bs-app #copy-kols .bs-roster-more[open]{padding-top:4px;border-top:1px solid var(--line)}
  .bs-app>.wrap :is(#copy-events,#discover-list) .bs-compact-record{display:block;position:relative;min-height:70px}
  .bs-app>.wrap :is(#copy-events,#discover-list) .bs-record-primary{padding-right:118px;min-height:44px}
  .bs-app>.wrap :is(#copy-events,#discover-list) .bs-record-details,
  .bs-app>.wrap :is(#copy-events,#discover-list) .bs-record-details[open]{display:block;margin:0;padding:0;border:0;background:none}
  .bs-app>.wrap :is(#copy-events,#discover-list) .bs-record-details>summary{position:absolute;top:12px;right:0;min-width:100px;margin:0;font-size:12px}
  .bs-app>.wrap :is(#copy-events,#discover-list) .bs-record-details[open]>:not(summary){margin-top:14px;border-top:1px solid var(--line-soft);padding-top:16px}
}
@media(max-width:800px){
  .bs-app #banners .banner,.bs-app #banners .banner.dry{grid-template-columns:minmax(0,1fr);gap:5px;padding:12px 58px 12px 14px}
  .bs-app #banners .bs-notice-details,.bs-app #banners .bs-notice-details[open]{grid-column:1;grid-row:auto}
  .bs-app #tw-tools,.bs-app #tw-more{padding:12px 14px}
}
/* End desktop review. */

.bs-app .bs-launch-summary{display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px 16px;padding:16px;background:var(--panel-2);border:1px solid var(--line-soft);border-radius:6px;font-size:12px;line-height:1.6}
.bs-app .bs-launch-summary dt{color:var(--text-dim)}
.bs-app .bs-launch-summary dd{margin:0;overflow-wrap:anywhere}
.bs-app .bs-ledger-details{border:0!important;padding:0!important;margin:8px 0 0!important;background:none!important}
.bs-app .bs-ledger-details>summary{padding:0!important;background:none!important;font-size:12px;min-height:32px;display:flex;align-items:center;gap:8px}
.bs-app .bs-ledger-details p{margin:8px 0;line-height:1.65}
.bs-app #retired-wallets .wallet[hidden]{display:none}
@media(max-width:600px){.bs-app .bs-launch-summary{grid-template-columns:1fr;gap:4px}.bs-app .bs-launch-summary dd{margin-bottom:10px}}

/* Live-data rescan: shared columns, explicit actions, and readable evidence. */
.bs-app>.wrap #discover-list .bs-discover-grid{display:grid;grid-template-columns:minmax(145px,1.5fr) minmax(68px,.65fr) minmax(64px,.65fr) 48px 68px minmax(94px,1fr) 82px 196px;gap:12px;align-items:center;min-width:0}
.bs-app>.wrap #discover-list .bs-discover-head{padding:12px 14px;background:var(--panel-2);border:1px solid var(--line-soft);border-radius:6px;font-size:11px;font-weight:600;color:var(--text-dim)}
.bs-app>.wrap #discover-list .bs-discovery-record{display:block;padding:16px 14px;border-bottom:1px solid var(--line-soft);border-radius:0;background:transparent}
.bs-app>.wrap #discover-list .bs-discovery-record:hover{background:#ffffff03}
.bs-app>.wrap #discover-list .bs-record-fact{gap:4px;min-width:0;text-align:left}
.bs-app>.wrap #discover-list .bs-record-value{font-size:13px;font-weight:500;line-height:1.5}
.bs-app>.wrap #discover-list .bs-discover-grid>.bs-record-fact>.bs-record-label{display:block;position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.bs-app>.wrap #discover-list .bs-discover-address{display:flex;gap:9px;align-items:start;min-width:0;font-size:13px;font-weight:600}
.bs-app>.wrap #discover-list .bs-discover-address>.muted{font-size:10px;padding-top:3px;min-width:18px}
.bs-app>.wrap #discover-list .disc-ident{display:flex;flex-wrap:wrap;gap:3px 8px;min-width:0;align-items:baseline}
.bs-app>.wrap #discover-list .disc-ident>a:first-child{flex-basis:100%;white-space:nowrap}
.bs-app>.wrap #discover-list .disc-ident-name{max-width:100%;font-size:11px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-dim)}
.bs-app>.wrap #discover-list .disc-ident-x{font-size:11px}
.bs-app>.wrap #discover-list .bs-record-actions{display:grid;grid-template-columns:76px minmax(0,1fr);gap:7px;align-items:center}
.bs-app>.wrap #discover-list .bs-record-actions button{width:100%;min-height:40px;padding:8px 7px;font-size:11px;line-height:1.3;white-space:normal}
.bs-app>.wrap #discover-list .disc-inpool{display:block;min-width:0}
.bs-app>.wrap #discover-list .disc-inpool-tag{display:none}
.bs-app>.wrap #discover-list .bs-disc-confidence{font-size:10px;line-height:1.4;color:var(--text-dim);font-weight:400}
.bs-app>.wrap #discover-list .bs-discover-reason{margin:10px 0 0 27px;padding:0 0 0 9px;font-size:11px;border-left-color:#65724e;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bs-app .disc-filter-top{align-items:end;gap:12px;padding-bottom:14px}
.bs-app .disc-filter-top>input{flex:1 1 320px;max-width:none}
.bs-app .bs-discover-sort{flex:0 0 160px;margin:0;min-width:0}
.bs-app .bs-discover-sort label{font-size:11px;margin-bottom:5px}
.bs-app .bs-discover-sort select{width:100%;min-height:44px}
.bs-app #discover-filters-toggle{min-height:44px;margin:0}
.bs-app .bs-budget-tools{max-width:540px}
.bs-app .bs-discovery-admin{margin-block:12px}
.bs-app .fomo-capability{margin:0 0 18px;padding:12px 16px;font-size:12px;line-height:1.65}
.bs-app .fomo-action button{min-width:104px;white-space:normal}
.bs-app .bs-quantity{display:inline-block;min-height:32px!important;max-width:100%;padding:4px 0!important;border:0;border-bottom:1px dotted var(--text-faint);border-radius:0;background:transparent;color:inherit;font:inherit;font-size:12px;font-variant-numeric:tabular-nums;white-space:normal;overflow-wrap:anywhere;cursor:pointer;box-shadow:none}
.bs-app .bs-quantity:hover,.bs-app .bs-quantity:focus-visible{color:var(--charge);background:transparent}
.bs-app .bs-exact-quantity{font-size:22px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.bs-app .bs-list-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:14px 0}
.bs-app .bs-list-tools>input{flex:1 1 240px;max-width:440px}
.bs-app .bs-list-tools>label{display:flex;gap:8px;align-items:center;margin:0;font-size:12px}
.bs-app .bs-list-tools>label select{width:auto;min-width:160px}
.bs-app .bs-list-tools>.hint{margin:0;font-size:12px}
.bs-app .bs-position-group{padding:14px 12px 8px;font-size:12px;font-weight:600;background:var(--panel-2);border-top:1px solid var(--line-soft)}
.bs-app #copy-position-more,.bs-app #audit-wallet-more{margin-top:14px}
.bs-app .bs-audit-wallet{padding:0!important;margin:0!important;border:0!important;border-bottom:1px solid var(--line-soft)!important;border-radius:0!important;background:none!important}
.bs-app .bs-audit-wallet>summary{display:flex!important;align-items:center;gap:16px;padding:14px 0!important;border:0!important;background:none!important;min-height:60px;list-style:none}
.bs-app .bs-audit-wallet>summary>span:first-child{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0;overflow-wrap:anywhere}
.bs-app .bs-audit-wallet>summary strong{font-size:13px}
.bs-app .bs-audit-wallet>summary .muted{font-size:11px}
.bs-app .bs-audit-verdict{font-size:11px;white-space:nowrap}
.bs-app .bs-audit-verdict.grey{color:var(--text-dim)}
.bs-app .bs-audit-verdict.green{color:var(--green)}
.bs-app .bs-audit-verdict.amber{color:var(--amber)}
.bs-app .bs-audit-verdict.red{color:var(--red)}
.bs-app .bs-audit-evidence{padding:0 0 15px;font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.bs-app .bs-audit-evidence ul:empty{display:none}
.bs-app .bs-privacy-map{margin-top:20px!important}
.bs-app .bmk-unknown{background:var(--muted)}
.bs-app .bs-log-attempt{margin:10px 0!important;padding:0!important;background:var(--panel-2)!important;border:1px solid var(--line-soft)!important;border-radius:6px!important}
.bs-app .bs-log-attempt>summary{display:flex!important;align-items:center;gap:16px;padding:14px!important;border:0!important;list-style:none;background:none!important}
.bs-app .bs-log-attempt>summary>span:first-child{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}
.bs-app .bs-log-attempt>summary strong{font-size:13px}
.bs-app .bs-log-attempt>summary .muted{font-size:12px;overflow-wrap:anywhere}
.bs-app .bs-log-attempt>.ref-card{margin:8px 12px!important}
.bs-app .bs-settings-fields{border:0;padding:0;margin:0;min-width:0}
.bs-app .bs-settings-fields:disabled{opacity:.55}
.bs-app #settings-load-state{padding:14px;background:var(--panel-2);border:1px solid var(--line-soft);border-radius:5px}
.bs-app #banners>.bs-live-context{background:var(--panel);border-color:var(--line-soft);color:var(--text-dim);padding-block:10px;font-size:12px}
.bs-app #banners>.bs-live-context strong{color:var(--text-dim)}
.bs-app .bs-notice-link{grid-column:2;justify-self:start;max-width:100%;font-size:12px;white-space:normal;overflow-wrap:anywhere}
.bs-app .bs-wallet-next{padding:0!important;margin:0 0 12px!important;border:0!important;background:none!important;font-size:12px}
.bs-app #cw-explain{font-size:12px;line-height:1.65;color:var(--text-dim)}
.bs-app #cw-blockers .cw-blocker{padding:12px;border-radius:5px;box-shadow:none}
.bs-app #cw-blockers .cw-blocker-means,.bs-app #cw-blockers .cw-blocker-fix{font-size:12px;line-height:1.6}
.bs-app .pick-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px;background:var(--panel-2);border-bottom:1px solid var(--line-soft)}
.bs-app .pick-head>.pick-filter{flex:1 1 100%;max-width:none}
.bs-app .pick-head>.pick-count{margin-left:auto;font-size:11px}
.bs-app .pick-rows{max-height:260px;overflow:auto;overscroll-behavior:contain}
.bs-app .bs-wallet-funding{margin:0!important;padding:0!important;border:0!important;background:none!important;position:relative}
.bs-app .bs-wallet-funding>summary{min-height:40px;display:flex!important;align-items:center;gap:7px;padding:8px 10px!important;font-size:12px;border:1px solid var(--line)!important;border-radius:5px;background:var(--panel-2)!important;list-style:none}
.bs-app .bs-wallet-funding>div{display:flex;flex-wrap:wrap;gap:6px;padding-top:8px}
.bs-app .panel :is(.bs-audit-wallet,.bs-log-attempt,.bs-wallet-funding)>summary::before{content:none!important}
.bs-app .panel :is(.bs-audit-wallet,.bs-log-attempt,.bs-wallet-funding)>summary::after{content:'+';font-size:14px;color:var(--text-dim);flex:none}
.bs-app .panel :is(.bs-audit-wallet,.bs-log-attempt,.bs-wallet-funding)[open]>summary::after{content:'−'}
.bs-app .panel :is(.bs-audit-wallet,.bs-log-attempt,.bs-wallet-funding)>summary::-webkit-details-marker{display:none}
@media(max-width:1199px){
  .bs-app>.wrap #discover-list .bs-discover-head{display:none}
  .bs-app>.wrap #discover-list .bs-discovery-record{margin:12px 0;padding:16px;border:1px solid var(--line-soft);border-radius:7px}
  .bs-app>.wrap #discover-list .bs-discover-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 18px}
  .bs-app>.wrap #discover-list .bs-discover-grid>.bs-record-fact>.bs-record-label{position:static;width:auto;height:auto;overflow:visible;clip-path:none;white-space:normal;font-size:10px}
  .bs-app>.wrap #discover-list .bs-discover-identity{grid-column:1/-1}
  .bs-app>.wrap #discover-list .bs-discover-grid>.bs-record-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;border-top:1px solid var(--line-soft);padding-top:12px}
  .bs-app>.wrap #discover-list .bs-record-actions>button,.bs-app>.wrap #discover-list .bs-record-actions>.disc-inpool{max-width:none;width:100%;min-width:0}
  .bs-app>.wrap #discover-list .bs-discover-reason{margin-left:0}
}
@media(max-width:600px){
  .bs-app>.wrap #discover-list .bs-discover-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .bs-app>.wrap #discover-list .bs-discovery-record{padding:14px}
  .bs-app>.wrap #discover-list .bs-record-actions button{min-height:44px;font-size:12px}
  .bs-app .disc-filter-top>input{flex-basis:100%}
  .bs-app .bs-discover-sort{flex:1;min-width:150px}
  .bs-app .bs-list-tools>input,.bs-app .bs-list-tools>label{width:100%;max-width:none;flex-basis:100%}
  .bs-app .bs-list-tools>label select{flex:1}
  .bs-app .bs-log-attempt>summary{align-items:start;flex-wrap:wrap}
  .bs-app .bs-log-attempt>summary>span:first-child{flex-basis:100%}
  .bs-app .bs-audit-wallet>summary{gap:8px}
  .bs-app .bs-audit-verdict{white-space:normal;max-width:96px;text-align:right}
  .bs-app .bs-notice-link{grid-column:1/-1}
  .bs-app .bs-wallet-funding>summary{min-height:44px}
}

/* Public discovery has a different payload from the operator's pipeline.
   Explicit columns prevent legacy .disc-row rules from silently reshaping it. */
.bs-app>.wrap #discover-list.bs-public-discovery{display:block;min-width:0;width:100%}
.bs-app #public-discover-tools{margin:0 0 14px;align-items:center}
.bs-app>.wrap #discover-list .bs-public-discover-note{max-width:80ch;margin:0 0 20px}
.bs-app>.wrap #discover-list .bs-public-grid{display:grid;grid-template-columns:minmax(180px,2fr) minmax(90px,1fr) minmax(65px,.8fr) minmax(60px,.65fr) minmax(65px,.7fr) minmax(65px,.7fr) minmax(100px,1fr) 116px;gap:16px;align-items:center;width:100%;min-width:0;box-sizing:border-box}
.bs-app>.wrap #discover-list .bs-public-head{padding:12px 16px;background:var(--panel-2);border-block:1px solid var(--line);font-size:11px;color:var(--text-dim)}
.bs-app>.wrap #discover-list .bs-public-head>*{text-align:left}
.bs-app>.wrap #discover-list .bs-public-trader{padding:20px 16px;border-bottom:1px solid var(--line-soft)}
.bs-app>.wrap #discover-list .bs-public-trader:hover{background:#ffffff03}
.bs-app .bs-public-identity{display:flex;gap:12px;align-items:baseline;min-width:0;font-size:13px}
.bs-app .bs-public-identity>div{display:flex;flex-direction:column;gap:5px;min-width:0;overflow-wrap:anywhere}
.bs-app .bs-public-identity .chain-link{font-size:12px}
.bs-app .bs-public-rank{font-size:11px;color:var(--text-faint);min-width:22px}
.bs-app .bs-public-confidence{font-size:10px;color:var(--text-dim);line-height:1.4}
.bs-app .bs-public-action button{width:100%;min-height:42px;white-space:normal;font-size:11px;padding:8px}
.bs-app .bs-public-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:20px;font-size:12px;color:var(--text-dim)}
.bs-app #cw-list{max-height:520px;overflow:auto;scrollbar-gutter:stable;padding-right:5px}
.bs-app #cw-list>.cw-head{position:sticky;top:0;z-index:1;background:var(--panel)}
.bs-app .bs-activity-performance{grid-template-columns:minmax(0,1fr)}
.bs-app .bs-activity-performance .wd-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.bs-app #copy-sec-discover .bs-discovery-tools{display:block;padding-top:8px}
.bs-app #copy-sec-discover .bs-discovery-tools>.disc-fold{border-bottom:1px solid var(--line-soft);padding:0 2px}
.bs-app #copy-sec-discover .bs-discovery-tools>.disc-fold>summary{min-height:52px}
.bs-app #copy-kols>.bs-roster-compact{position:relative;padding-right:112px;grid-template-columns:minmax(170px,2fr) minmax(50px,.6fr) repeat(2,minmax(65px,.7fr)) minmax(50px,.5fr);align-items:start;gap:12px 20px}
.bs-app #copy-kols .bs-roster-status{grid-column:1/-1;gap:6px 14px}
.bs-app #copy-kols .bs-roster-status>.copy-status{flex-basis:auto}
.bs-app #copy-kols .bs-roster-more{grid-column:1/-1}
.bs-app #copy-kols .bs-roster-more>summary{position:absolute;right:12px;top:16px;padding:8px 12px;border:1px solid var(--line);border-radius:5px;min-height:40px;box-sizing:border-box}
.bs-app #copy-kols .bs-roster-more:not([open]){display:contents}
.bs-app #copy-kols .bs-roster-more[open]{margin-right:-96px;padding-top:8px}
.bs-app .bs-empty-feed{padding:8px 18px 18px}
.bs-app #copy-overview-active .ov-row[hidden]{display:none}
.bs-app .bs-wallet-funding>summary{box-sizing:border-box;border-radius:5px!important}
.bs-app #wallet-list .wallet>button[data-action="remove-wallet"]{flex:0 0 auto;min-width:76px}
.bs-app .fomo-coverage{white-space:normal;line-height:1.6;max-width:100%}
.bs-app table.fomo-board td.fomo-trader>a.sub{display:block;margin-top:5px;padding-block:0}
@media(max-width:1000px){
  .bs-app table.fomo-board{display:block;min-width:0;width:100%}
  .bs-app table.fomo-board thead{display:none}
  .bs-app table.fomo-board>tbody{display:block}
  .bs-app table.fomo-board>tbody>tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:18px;margin:12px 0;background:var(--panel-2);border:1px solid var(--line-soft);border-radius:8px}
  .bs-app table.fomo-board>tbody>tr>td{display:block;padding:0;border:0;text-align:left;white-space:normal;min-width:0;grid-column:auto;grid-row:auto}
  .bs-app table.fomo-board>tbody>tr>td.fomo-rank{grid-column:1;grid-row:1;color:var(--text-faint);width:25px}
  .bs-app table.fomo-board>tbody>tr>td:nth-child(n+3):nth-child(-n+9){grid-column:auto;grid-row:auto}
  .bs-app table.fomo-board>tbody>tr>td.fomo-trader{grid-column:1/-1;grid-row:1;padding-left:32px;min-width:0;overflow-wrap:anywhere}
  .bs-app table.fomo-board>tbody>tr>td.fomo-action{grid-column:1/-1;grid-row:auto;border-top:1px solid var(--line-soft);padding-top:14px}
  .bs-app table.fomo-board .fomo-action button{width:100%;min-height:44px}
  .bs-app table.fomo-board>tbody>tr>td[data-label]:not(.fomo-rank):not(.fomo-trader)::before{content:attr(data-label);display:block;font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);margin-bottom:5px}
  .bs-app table.fomo-board td .sub{white-space:normal}
  .bs-app table.fomo-board>tbody>tr>td.fomo-empty{grid-column:1/-1}
}
.bs-app #copy-logs-body .ref-card>summary.log-summary{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 40px 12px 12px;min-width:0;list-style:none;cursor:pointer}
.bs-app #copy-logs-body .log-summary::-webkit-details-marker{display:none}
.bs-app #copy-logs-body .ref-card>summary.log-summary::before{content:none}
.bs-app #copy-logs-body .log-summary .exec-badge,.bs-app #copy-logs-body .log-summary .exec-time{flex:none;white-space:nowrap;word-break:normal;overflow-wrap:normal}
.bs-app #copy-logs-body .log-summary .ref-code{min-width:0;overflow-wrap:anywhere}
.bs-app #copy-logs-body .log-summary .ref-line{flex:1 1 280px;min-width:0;line-height:1.6;overflow-wrap:anywhere}
.bs-app #copy-logs-body .log-summary::after{content:'+';position:absolute;right:12px;top:12px;color:var(--text-dim)}
.bs-app #copy-logs-body .ref-card[open]>summary.log-summary::after{content:'−'}
@media(max-width:700px){
  .bs-app #copy-logs-body .log-summary .ref-code,.bs-app #copy-logs-body .log-summary .ref-line{flex-basis:100%}
  .bs-app #copy-logs-body .ref-card>.wd-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bs-app #cw-list{max-height:420px}
  .bs-app #copy-kols>.bs-roster-compact{grid-template-columns:repeat(4,minmax(0,1fr));padding:18px 12px;gap:14px 12px}
  .bs-app #copy-kols .bs-roster-identity{grid-column:1/-1;padding-right:100px}
  .bs-app #copy-kols .bs-roster-more[open]{margin-right:0}
  .bs-app #copy-kols .bs-roster-more>summary{top:18px}
  .bs-app .bs-activity-performance .wd-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bs-app table.bs-fill-cards{display:block;min-width:0;width:100%}
  .bs-app table.bs-fill-cards thead{display:none}
  .bs-app table.bs-fill-cards tbody{display:block}
  .bs-app table.bs-fill-cards tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px;border-bottom:1px solid var(--line)}
  .bs-app table.bs-fill-cards td{display:block;padding:0;border:0;min-width:0;text-align:left;white-space:normal;overflow-wrap:anywhere}
  .bs-app table.bs-fill-cards td::before{content:attr(data-bs-label);display:block;margin-bottom:5px;font-size:10px;text-transform:uppercase;color:var(--text-dim)}
  .bs-app table.bs-fill-cards td:nth-child(2){grid-column:1/-1;grid-row:1}
  .bs-app table.bs-fill-cards .tag{max-width:100%;white-space:normal}
}
@media(min-width:1360px){
  .bs-app #discover-list .bs-public-trader .bs-record-label{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
}
@media(max-width:1359px){
  .bs-app>.wrap #discover-list .bs-public-head{display:none}
  .bs-app>.wrap #discover-list .bs-public-trader{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:20px;margin:12px 0;border:1px solid var(--line-soft);border-radius:8px;background:var(--panel-2)}
  .bs-app .bs-public-identity{grid-column:1/-1}
  .bs-app .bs-public-action{grid-column:1/-1;border-top:1px solid var(--line-soft);padding-top:14px}
  .bs-app .bs-public-action button{width:auto;min-width:130px}
}
@media(max-width:600px){
  .bs-app>.wrap #discover-list .bs-public-trader{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;gap:16px}
  .bs-app .bs-public-action button{width:100%;min-height:44px}
  .bs-app .bs-public-pager{flex-wrap:wrap}
}

/* THE LOCKED SHELL (app.js bootLocked, 2026-09-22): the workspace's shape with nothing in it, and one way in. */
.bs-app .bs-connect{flex:none;min-height:44px;padding:0 20px;border:1px solid #6f9b3d;border-radius:6px;background:var(--grad);color:#0f1a08;font:600 12px/1 var(--sans);letter-spacing:.02em;text-transform:uppercase;box-shadow:0 0 0 1px #2a3a1e,0 8px 24px -10px #a8e948;cursor:pointer;transition:transform .12s,box-shadow .12s}
.bs-app .bs-connect:hover{transform:translateY(-1px);box-shadow:0 0 0 1px #2a3a1e,0 12px 28px -10px #a8e948}
.bs-app .bs-connect:disabled{opacity:.7;cursor:progress;transform:none}
.bs-app .bs-admin-link{flex:none;font:500 11px var(--sans);color:var(--text-dim);text-decoration:none;padding:0 4px}
.bs-app .bs-admin-link:hover{color:var(--text)}
.bs-app.is-locked .bs-locked-panel{position:relative;margin-bottom:18px;overflow:hidden}
.bs-app.is-locked .bs-locked-panel .panel-body{display:grid;gap:12px}
.bs-app .bs-skel{height:12px;border-radius:6px;background:linear-gradient(90deg,#222c26 0%,#2e3b31 45%,#222c26 90%);background-size:220% 100%;animation:bs-shimmer 1.6s ease-in-out infinite}
.bs-app .bs-skel-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:4px}
.bs-app .bs-skel-tile{padding:14px;border:1px solid var(--line-soft);border-radius:8px;background:var(--panel-2);display:grid;gap:10px}
.bs-app .bs-skel-label{width:46%;height:8px}
.bs-app .bs-skel-value{width:68%;height:20px}
.bs-app .bs-lock-note{display:flex;align-items:center;gap:10px;margin-top:6px;font-size:12px;line-height:1.6;color:var(--text-dim)}
.bs-app .bs-lock-icon{flex:none;width:12px;height:14px;border:2px solid #6f9b3d;border-radius:3px 3px 4px 4px;position:relative;top:1px;box-sizing:border-box}
.bs-app .bs-lock-icon::before{content:"";position:absolute;left:1px;right:1px;top:-8px;height:8px;border:2px solid #6f9b3d;border-bottom:0;border-radius:6px 6px 0 0;box-sizing:border-box}
.bs-app.is-locked .bs-locked-panel .btn-row{margin-top:4px}
.bs-app.is-locked .bs-page-head{border-bottom:1px solid var(--line-soft)}
html[data-boot-page]:not([data-boot-ready]) .bs-app.is-locked .bs-page-head>div{visibility:visible}
.bs-app.is-locked .bs-page-description{display:block;max-width:690px;line-height:1.7}
.bs-app.is-locked .bs-eyebrow{display:block}
.bs-app.is-locked .bs-preview-grid{display:grid;gap:18px;padding-top:20px}
.bs-app.is-locked .bs-locked-panel{margin:0;min-width:0}
.bs-app.is-locked .bs-preview-art{display:grid;gap:12px;padding:8px 0 16px;opacity:.65}
.bs-app.is-locked .bs-skel{animation:none;background:linear-gradient(90deg,#344332,#243027)}
.bs-app.is-locked .bs-lock-note{align-items:flex-start;min-height:44px;color:var(--text-dim)}
.bs-app.is-locked .bs-lock-icon{margin-top:6px}
.bs-app .bs-preview-badge{padding:5px 8px;border:1px solid var(--line);border-radius:4px;color:var(--text-dim);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
@media(min-width:1050px){.bs-app.is-locked .bs-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bs-app.is-locked .bs-locked-panel:first-child{grid-column:1/-1}.bs-app.is-locked .bs-locked-panel:first-child .panel-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;column-gap:32px}.bs-app.is-locked .bs-locked-panel:first-child .bs-preview-art{grid-row:1/3}.bs-app.is-locked .bs-locked-panel:first-child .btn-row{grid-column:2}}
@media(max-width:900px){.bs-app.is-locked .tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.bs-app.is-locked .tabs .nav-brand{grid-column:1/-1}.bs-app.is-locked .bs-admin-link{display:inline-flex;min-height:40px;align-items:center}.bs-app.is-locked .topbar{flex-wrap:wrap}.bs-app.is-locked .bs-page-description{font-size:13px}}
@keyframes bs-shimmer{0%{background-position:120% 0}100%{background-position:-100% 0}}
@media(prefers-reduced-motion:reduce){.bs-app .bs-skel{animation:none}}
@media(max-width:800px){.bs-app .bs-connect{min-height:40px;padding:0 14px;font-size:11px}.bs-app .bs-skel-tiles{grid-template-columns:1fr 1fr}.bs-app .bs-admin-link{display:none}}

/* Workspace consistency: shared reading rhythm, nested privacy views and research. */
.bs-app .privacy-nav{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0 24px;padding:5px;background:var(--bg);border:1px solid var(--line-soft);border-radius:8px}
.bs-app .privacy-nav button{flex:1;background:transparent;border-color:transparent;color:var(--text-dim);min-height:44px}
.bs-app .privacy-nav button[aria-selected=true]{background:var(--panel-2);border-color:var(--line);color:var(--green)}
.bs-app [data-privacy-panel]{min-width:0;min-height:220px}
.bs-app .privacy-workspace .bs-form-title{margin-top:0}
.bs-app .privacy-workspace .bs-audit-group{margin:10px 0!important;border:1px solid var(--line-soft)!important;border-radius:8px!important;background:var(--bg)!important;padding:0!important}
.bs-app .privacy-workspace .bs-audit-group>summary{display:grid!important;grid-template-columns:48px minmax(90px,auto) 1fr 24px;gap:12px!important;padding:16px!important;align-items:center;list-style:none}
.bs-app .privacy-workspace .bs-audit-group>summary>.bs-audit-verdict{font-size:24px;font-weight:650;line-height:1.2;text-align:center;max-width:none}
.bs-app .privacy-workspace .bs-audit-group-title{font-size:14px;font-weight:600;text-transform:capitalize}
.bs-app .privacy-workspace .bs-audit-group>summary>.muted{font-size:12px;line-height:1.6}
.bs-app .privacy-workspace .bs-audit-group-body{padding:0 18px 18px;min-width:0}
.bs-app .privacy-workspace .bs-audit-wallet>summary{padding:12px 0!important}
.bs-app .privacy-workspace .bs-audit-evidence{padding:8px 16px 16px;background:var(--panel);border-radius:6px;margin-bottom:12px}
.bs-app .privacy-workspace .bs-audit-evidence>ul{padding-left:18px}
.bs-app .privacy-workspace .link-head{flex-wrap:wrap;gap:10px}
.bs-app .privacy-workspace .audit-patterns{margin-top:22px}
.bs-app .privacy-workspace .audit-patterns>.audit-head,.bs-app .privacy-workspace .audit-patterns>.audit-row,.bs-app .privacy-workspace .audit-patterns>.audit-scope{margin-inline:16px}
.bs-app #privacy-map .bs-privacy-map{margin:0!important;border:0!important;padding:0!important;background:none!important}
.bs-app #privacy-map .bs-privacy-map>summary{display:none!important}
.bs-app .privacy-scan-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line-soft);margin-top:24px;padding-top:20px}
.bs-app .privacy-scan-bar p{margin:4px 0 0;max-width:640px}
.bs-app .privacy-scan-bar button{flex:none}
.bs-app .bubblemap-legend{flex-wrap:wrap;line-height:2}
.bs-app .bs-audit-evidence a{overflow-wrap:anywhere}
.bs-app .panel-head{gap:12px;flex-wrap:wrap}
.bs-app .panel-head>.muted{max-width:100%;overflow-wrap:anywhere}
.bs-app .panel summary{overflow-wrap:anywhere}
.bs-app .guide-tools{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:0 0 22px;border-bottom:1px solid var(--line-soft);margin-bottom:22px}
.bs-app .guide-tools label{font-weight:600;min-width:140px}
.bs-app .guide-tools input{flex:1;min-width:180px;max-width:520px}
.bs-app .guide-tools .hint{flex-basis:100%;margin:0}
.bs-app .guide-tools .hint:empty{display:none}
.bs-app .guide-section{scroll-margin-top:24px}
.bs-app .guide-section>h2{scroll-margin-top:24px}
.bs-app .docs-toc{align-self:start;max-height:70vh;overflow:auto;scrollbar-width:thin}
.bs-app .research-shortlist{display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding:16px;margin-bottom:22px;background:var(--bg);border:1px solid var(--line);border-left:3px solid var(--green);border-radius:8px}
.bs-app .research-shortlist-heading{display:flex;flex-direction:column;gap:3px;flex:1 1 240px}
.bs-app .research-chips{display:flex;gap:6px;flex-wrap:wrap}
.bs-app .research-chips button{max-width:240px;overflow-wrap:anywhere;white-space:normal}
.bs-app .research-pick[aria-pressed=true]{border-color:var(--green);color:var(--green);background:#a8e94812}
.bs-app .fomo-action .research-pick{margin-bottom:8px}
.bs-app .modal:has(.research-comparison){width:min(1100px,94vw);max-width:1100px}
.bs-app .research-comparison{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.bs-app .research-card{border:1px solid var(--line-soft);border-radius:8px;padding:18px;background:var(--bg);min-width:0}
.bs-app .research-card h3{font-size:17px;margin:0 0 6px;overflow-wrap:anywhere}
.bs-app .research-card a{overflow-wrap:anywhere}
.bs-app .research-source{font-size:11px;color:var(--green);margin:12px 0}
.bs-app .research-card dl{margin:0}
.bs-app .research-card dt{font-size:11px;color:var(--text-faint);padding-top:12px;border-top:1px solid var(--line-soft)}
.bs-app .research-card dd{font-size:13px;margin:3px 0 12px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
@media(max-width:720px){
 .bs-app .privacy-workspace .bs-audit-group>summary{grid-template-columns:36px 1fr 24px;gap:8px!important;padding:14px!important}
 .bs-app .privacy-workspace .bs-audit-group>summary>.muted{grid-column:1/3;grid-row:2;font-size:12px}
 .bs-app .privacy-workspace .bs-audit-group>summary::after{grid-column:3;grid-row:1/3}
 .bs-app .privacy-scan-bar{align-items:stretch;flex-direction:column;gap:12px}
 .bs-app .privacy-nav button{font-size:12px;flex:1 1 90px;padding:8px}
 .bs-app .research-comparison{grid-template-columns:1fr}
 .bs-app .research-shortlist>.primary{width:100%}
 .bs-app .docs-toc{position:static;max-height:240px;padding:12px;background:var(--bg);border:1px solid var(--line-soft);border-radius:8px;margin-bottom:24px}
 .bs-app .guide-tools input{max-width:none;width:100%;flex-basis:100%}
 .bs-app .panel-head{align-items:flex-start}
}
@media(min-width:901px){
 .bs-app .bs-dialog-layer[aria-modal=true]:has(.research-comparison){grid-template-columns:minmax(0,1100px)}
 .bs-app .bs-dialog-layer[aria-modal=true]:has(.research-comparison):has(#toasts>.toast){grid-template-columns:minmax(0,1000px) minmax(0,280px)}
}

.bs-app .tabs #partners-link::before{content:'06'}
@media(max-width:900px){
 .bs-app .tabs:has(#partners-link:not(.hidden)){grid-template-columns:repeat(6,minmax(0,1fr))}
 .bs-app .tabs:has(#partners-link:not(.hidden)) #btn-logout{grid-column:6}
 .bs-app .tabs:has(#partners-link:not(.hidden)) .tab{font-size:10px;padding-inline:3px;min-width:0}
}
