:root{color-scheme:dark;--bg:#081018;--panel:#111d29;--line:#293b4b;--text:#e8f0f6;--muted:#91a5b6;--blue:#63d9ff;--good:#54d69a;--warn:#ffb454;--bad:#ff718b}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 70% -20%,#173047 0,transparent 42%),var(--bg);color:var(--text);font:15px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}h1,h2,h3,p{margin:0 0 14px}h1{font-size:25px;letter-spacing:.01em}h2{font-size:22px}h3{font-size:20px}button,input,select{font:inherit}button{border:1px solid transparent;border-radius:9px;background:var(--blue);color:#06202d;padding:10px 15px;font-weight:650;cursor:pointer;min-height:44px}button.quiet{background:transparent;color:var(--muted);border-color:var(--line)}button.danger{background:transparent;color:var(--bad);border-color:var(--bad)}button:disabled{opacity:.5;cursor:wait}input,select{width:100%;min-width:0;background:#0a1621;border:1px solid var(--line);padding:10px;border-radius:8px;color:var(--text)}input:focus,select:focus,button:focus-visible{outline:2px solid var(--blue);outline-offset:3px}label{display:block;font-size:13px;color:var(--muted);margin-bottom:14px}label input,label select{margin-top:5px}
header{display:flex;justify-content:space-between;align-items:center;padding:26px 24px 10px;max-width:1220px;margin:auto}header h1{margin:3px 0}main,.health{max-width:1220px;margin:auto;padding:12px 24px}main{padding-bottom:112px}.eyebrow{font:11px/1.5 ui-monospace,SFMono-Regular,monospace;letter-spacing:.15em;color:var(--muted)}.health{font-size:12px;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap}.health span{padding:3px 9px;border:1px solid var(--line);border-radius:30px}.muted,small{color:var(--muted)}small{font-size:12px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 15px}.section-head h2,.section-head h3{margin:0}.section-head select{width:auto;max-width:190px}
.summary,.card,.chart-panel{background:linear-gradient(145deg,#142331,#0f1a25);border:1px solid var(--line);border-radius:15px}.summary{padding:22px;margin-bottom:26px}.headline{font:500 clamp(30px,7vw,45px)/1.2 ui-monospace,SFMono-Regular,monospace;letter-spacing:-.05em;margin:7px 0 22px}.unit{font:14px -apple-system,sans-serif;color:var(--muted);letter-spacing:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.metric .value{font:500 18px/1.6 ui-monospace,SFMono-Regular,monospace;overflow-wrap:anywhere}.metric small{display:block}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.card{padding:20px;min-width:0}.card-head{display:flex;justify-content:space-between;gap:10px}.price{text-align:right;font:22px/1.3 ui-monospace,monospace}.tag{font:12px/1.5 -apple-system,sans-serif;color:var(--muted)}.good{color:var(--good)}.bad{color:var(--bad)}.warn{color:var(--warn)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:15px 0}.card .value{font-size:16px}.holding{margin:18px 0 8px;font:20px ui-monospace,monospace}
progress{width:100%;height:6px;appearance:none;border:0;background:var(--line);border-radius:5px}progress::-webkit-progress-bar{background:var(--line);border-radius:5px}progress::-webkit-progress-value{background:var(--blue);border-radius:5px}.level{border-top:1px solid var(--line);padding:14px 0 2px;margin-top:12px}.level-head{display:flex;justify-content:space-between;gap:10px}.level strong{font-size:14px}.level p{font-size:13px;margin:4px 0}.opportunity{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:13px 0}.opportunity strong{min-width:60px}.opportunity .right{text-align:right}.opportunity progress{width:70px;flex-shrink:0}.opportunities{margin-bottom:25px}.alert{border-left:3px solid var(--warn);background:#292b30;padding:13px 16px;margin-bottom:8px;border-radius:0 8px 8px 0}.alert small{display:block}.trade{border-bottom:1px solid var(--line);padding:16px 0;display:flex;justify-content:space-between;gap:12px}.trade p{margin:0}.trade .actions{align-items:start}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.trade button{font-size:12px;padding:7px 10px}.num{font-family:ui-monospace,monospace}
nav{position:fixed;bottom:0;left:0;right:0;z-index:3;background:#0c1723f2;border-top:1px solid var(--line);display:flex;justify-content:center;gap:4px;padding:9px 12px calc(9px + env(safe-area-inset-bottom));backdrop-filter:blur(16px)}nav button{flex:1;max-width:165px;background:transparent;color:var(--muted);font-size:13px}nav button.active{background:#20394b;color:var(--text)}dialog{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:16px;padding:24px;max-width:720px;width:calc(100% - 28px);max-height:90dvh;overflow:auto}dialog::backdrop{background:#0009}.login{max-width:480px;margin:10vh auto;padding:28px}.login h1{font-size:32px;margin-top:10px}.login form{margin-top:32px}.login button{width:100%}#notice{position:fixed;top:12px;left:50%;transform:translateX(-50%);background:#384960;color:white;z-index:5;padding:10px 18px;border-radius:8px;max-width:90%;display:none}.edit-asset{border:1px solid var(--line);padding:18px;border-radius:12px;margin:16px 0}.edit-asset summary{cursor:pointer;font-weight:600;margin-bottom:14px}.diff-row{padding:12px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}pre{white-space:pre-wrap;word-break:break-word}.empty{padding:20px 0;color:var(--muted)}[hidden]{display:none!important}
.market-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:18px 0 10px}.market-grid .metric{background:var(--panel);padding:16px}.market-strip{display:flex;gap:18px;align-items:center;flex-wrap:wrap;background:#122332;border:1px solid #244258;border-radius:12px;padding:14px 16px;margin-bottom:20px}.regime{background:linear-gradient(135deg,#142b39,#1a2534);border:1px solid #2e5368;border-radius:14px;padding:20px;margin:22px 0}.regime h3{font-size:28px;margin:5px 0 12px}.regime details{border-top:1px solid var(--line);padding-top:12px;margin-top:14px}.regime summary{cursor:pointer;color:var(--blue)}.status-label{display:inline-block;border:1px solid var(--line);border-radius:20px;padding:3px 9px;font:11px ui-monospace,monospace;margin-top:12px}.chart-panel{padding:18px;margin:18px 0 26px}.chart{min-height:250px;overflow:hidden}.chart svg{display:block;width:100%;height:auto;min-height:230px}.chart .axis{stroke:var(--line);stroke-width:1}.chart text{fill:var(--muted);font:12px ui-monospace,monospace}.legend{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0}.legend span{font-size:12px;color:var(--muted)}.legend i{display:inline-block;width:10px;height:3px;margin-right:5px;vertical-align:middle}.ranges{display:flex;gap:4px}.ranges button{min-height:32px;padding:5px 9px;font-size:11px;background:transparent;color:var(--muted);border-color:var(--line)}.ranges button.active{background:#29465c;color:var(--text)}
.swatch{display:inline-block;width:18px!important;height:4px!important;border-radius:4px}.swatch-0{background:#63d9ff}.swatch-1{background:#ffb454}.swatch-2{background:#a78bfa}.swatch-3{background:#54d69a}.swatch-4{background:#ff718b}.legend strong{font-size:12px;color:var(--text);margin-right:3px}.rotation-final{position:relative;overflow:hidden;background:linear-gradient(120deg,#122a39,#10202d 55%,#172737);border:1px solid #315366;border-radius:18px;padding:28px;margin:18px 0}.rotation-final:after{content:"";position:absolute;width:180px;height:180px;right:-80px;top:-90px;border:1px solid #ffffff18;border-radius:50%}.rotation-final.confirmed{border-color:#367961}.rotation-final.risk_off{border-color:#91495a}.rotation-final.pending{border-color:#506170}.rotation-stage{font:650 clamp(28px,5vw,44px)/1.15 ui-monospace,SFMono-Regular,monospace;margin:8px 0 10px;letter-spacing:-.04em}.rotation-subtitle{max-width:760px;color:#c4d3dd}.rotation-explain{color:var(--good);font-weight:650}.stage-chip{display:inline-flex;border:1px solid #ffffff2e;border-radius:999px;padding:4px 10px;margin:4px 0 12px;font:12px ui-monospace,monospace}.rotation-signals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0}.signal-card{background:#0d1924;border:1px solid var(--line);border-top:3px solid #647482;border-radius:14px;padding:18px;min-width:0}.signal-card.signal-positive{border-top-color:var(--good)}.signal-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.signal-top span{font-weight:700}.signal-top strong{font:600 22px ui-monospace,monospace}.signal-direction{font:700 34px/1.2 ui-monospace,monospace;margin:16px 0 12px}.signal-direction span{font-size:12px;letter-spacing:.08em;color:var(--muted)}.signal-card dl{display:grid;grid-template-columns:1fr 1fr;margin:0;border:1px solid var(--line);border-radius:9px;overflow:hidden}.signal-card dl div{padding:9px 11px}.signal-card dl div+div{border-left:1px solid var(--line)}.signal-card dt{font-size:11px;color:var(--muted)}.signal-card dd{margin:2px 0 0;font:600 15px ui-monospace,monospace}.signal-status{min-height:48px;margin:14px 0 4px;font-weight:650}.confirmation{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(320px,1.1fr);gap:18px;background:#101e2a;border:1px solid var(--line);border-radius:14px;padding:20px;margin:14px 0 20px}.confirmation h3{margin:5px 0 0}.confirmation-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.confirmation-list span{background:#0a1621;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font:12px ui-monospace,monospace}.confirmation>p{grid-column:1/-1;margin:0;color:var(--muted)}.rotation-notes{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}.rotation-notes article{background:#111d29;border:1px solid var(--line);border-radius:14px;padding:18px}.rotation-notes h3{font-size:17px}.rotation-notes p{margin-bottom:0;color:var(--muted)}.normalize-switch{display:flex;align-items:center;gap:8px;margin:0;color:var(--text);font:12px ui-monospace,monospace;white-space:nowrap}.normalize-switch input{width:auto;margin:0;accent-color:var(--blue)}.rotation-ranges{margin:0 0 14px}.rotation-trends{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:24px}.trend-card{background:#101c27;border:1px solid var(--line);border-radius:14px;padding:16px;min-width:0}.trend-head{display:flex;justify-content:space-between;gap:12px}.trend-head span,.trend-head strong{display:block}.trend-head span{color:var(--muted);font-size:12px}.trend-head strong{font:650 20px ui-monospace,monospace;margin-top:4px}.trend-arrow{text-align:right;font:700 27px/1.1 ui-monospace,monospace}.trend-arrow small{display:block;font-size:10px;letter-spacing:.08em}.mini-chart{height:130px;margin:12px 0}.mini-chart svg{width:100%;height:100%;display:block}.trend-foot{display:flex;justify-content:space-between;gap:12px;font:12px ui-monospace,monospace}.stage-rule{border-left:2px solid var(--line);padding:10px 12px;margin:9px 0}.stage-rule p{margin:3px 0;color:var(--muted)}.stage-rule.current{border-left-color:var(--blue);background:#122738}.stage-rule.disabled{border-left-style:dashed}.rotation-home{display:grid;gap:6px;background:linear-gradient(115deg,#112533,#152330);border:1px solid #315366;border-radius:14px;padding:18px;margin-bottom:22px}.rotation-home strong{font-size:22px}.rotation-home span{font:12px/1.7 ui-monospace,monospace}.rotation-home.confirmed{border-color:#367961}.rotation-home.risk_off{border-color:#91495a}
@media(max-width:900px){.market-grid{grid-template-columns:repeat(3,minmax(0,1fr))}nav{justify-content:flex-start;overflow-x:auto}nav button{min-width:92px;flex:0 0 auto}}
@media(max-width:640px){header{padding:20px 18px 8px}header h1{font-size:20px;max-width:250px}main,.health{padding-left:18px;padding-right:18px}.cards{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.summary{padding:18px}.trade{display:block}.trade .actions{margin-top:9px}.card{padding:18px}.section-head{align-items:flex-start;margin-top:25px}.section-head h2{font-size:20px}.section-head select{max-width:145px}dialog{padding:18px}.market-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-panel{padding:12px;margin-left:-6px;margin-right:-6px}.chart{min-height:210px}.chart svg{min-height:190px}.ranges{max-width:100%;overflow-x:auto}.market-strip{display:grid;grid-template-columns:1fr 1fr;gap:8px}.regime h3{font-size:23px}.rotation-final{padding:21px}.rotation-signals,.rotation-trends,.rotation-notes,.confirmation{grid-template-columns:1fr}.confirmation-list{grid-template-columns:1fr}.confirmation>p{grid-column:auto}.signal-status{min-height:0}.rotation-stage{font-size:28px}.normalize-switch{align-self:center}nav button{min-width:84px;font-size:12px;padding:8px 6px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.draft-chip{display:inline-block;margin-top:5px;padding:2px 7px;border:1px dashed var(--warn);border-radius:999px;color:var(--warn);font-size:10px}.strength-gate{display:grid;gap:3px;border-left:3px solid #617482;background:#0b1721;padding:10px 12px;margin:0 0 16px}.strength-gate strong{font-size:13px}.strength-gate span{color:var(--muted);font:10px/1.5 ui-monospace,monospace}.strength-gate.healthy{border-left-color:var(--good)}.strength-gate.caution{border-left-color:var(--warn)}.reassessment{border:1px solid #765b35;background:#292317;border-radius:10px;padding:10px 12px;margin:0 0 16px}.reassessment strong,.reassessment small{display:block}.reassessment strong{color:var(--warn);font-size:13px}
.bull-home{position:relative;overflow:hidden;background:linear-gradient(125deg,#0f1d27,#142838 58%,#172531);border:1px solid #355164;border-radius:18px;padding:22px;margin-bottom:24px}.bull-home:before{content:"";position:absolute;width:220px;height:220px;border:1px solid #ffffff10;border-radius:50%;right:-95px;top:-120px;pointer-events:none}.bull-home .section-head{margin-top:0}.funding-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:16px 0}.funding-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.funding-grid .metric{background:#0c1721;padding:13px}.funding-grid .value{font-size:16px}.tactical-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.tactical-grid>article{background:#0b1721;border:1px solid var(--line);border-radius:12px;padding:15px;min-width:0}.tactical-grid h3{font-size:16px}.rank-line{display:grid;grid-template-columns:minmax(80px,1fr) auto;gap:2px 10px;padding:9px 0;border-bottom:1px solid #273846}.rank-line:last-child{border-bottom:0}.rank-line span{font-family:ui-monospace,monospace}.rank-line b{display:inline-grid;place-items:center;width:20px;height:20px;border:1px solid var(--line);border-radius:50%;font-size:10px;color:var(--muted)}.rank-line strong{font-family:ui-monospace,monospace}.rank-line small{grid-column:1/-1}.home-recommend{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.home-recommend>div{border-left:2px solid #416b82;padding:10px 14px;background:#10212d}.home-recommend p{margin:4px 0;font-family:ui-monospace,monospace}.bull-summary{border-color:#36556a}.guardrail{margin:16px 0 0;padding:10px 12px;border:1px solid #35576b;border-radius:9px;color:#bfd6e3}.shock-badge{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:6px 10px;font:12px ui-monospace,monospace;color:var(--muted)}.shock-badge.active{color:var(--warn);border-color:#95662e;background:#32291e}.recommendation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.recommendation-grid article{background:#0e1923;border:1px solid var(--line);border-radius:12px;padding:15px}.allocation-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.allocation-pair span{border:1px solid var(--line);border-radius:8px;padding:8px;color:var(--muted);font-size:11px}.allocation-pair b{display:block;color:var(--text);font:600 14px ui-monospace,monospace}.action-label{margin:10px 0 0;font:11px ui-monospace,monospace;color:var(--warn)}.bull-candidates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.candidate-card{background:#0e1923;border:1px solid var(--line);border-left:4px solid #617482;border-radius:14px;padding:18px;min-width:0}.candidate-card.status-ACTIVE_PRIORITY{border-left-color:var(--good)}.candidate-card.status-ACTIVE_PULLBACK{border-left-color:var(--warn)}.candidate-card.status-WATCH{border-left-color:#67839a}.candidate-card.status-PAUSED,.candidate-card.status-ARCHIVED{opacity:.72}.candidate-card .price small{display:block}.score-band{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:16px 0}.score-band>div{background:#122330;padding:11px}.score-band small,.score-band strong{display:block}.score-band strong{font:650 22px ui-monospace,monospace}.buy-zone-grid{display:grid;gap:8px;margin:0 0 16px}.buy-zone{display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(100px,.8fr) auto;align-items:center;gap:12px;border:1px solid #314758;border-radius:10px;background:#10202c;padding:11px 12px}.buy-zone.pending{border-style:dashed;background:#0c1822}.buy-zone small,.buy-zone strong{display:block}.buy-zone strong{font:600 14px ui-monospace,monospace}.buy-zone-budget{text-align:right}.buy-zone>.tag{text-align:right}.candidate-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.candidate-metrics .value{font-size:13px}.candidate-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.data-state{font:11px ui-monospace,monospace;color:var(--muted)}.history-row{display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(160px,1fr) auto;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.history-row small{display:block}.history-row>div:nth-child(2){font-family:ui-monospace,monospace}.history-row button{white-space:nowrap}
@media(max-width:900px){.funding-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.recommendation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tactical-grid{grid-template-columns:1fr}}
@media(max-width:640px){.bull-home{padding:17px}.funding-grid,.funding-grid.compact{grid-template-columns:1fr 1fr}.recommendation-grid,.bull-candidates,.home-recommend{grid-template-columns:1fr}.candidate-metrics{grid-template-columns:1fr}.score-band strong{font-size:17px}.buy-zone{grid-template-columns:1fr auto}.buy-zone-budget{grid-row:1/3;grid-column:2;text-align:right}.buy-zone>.tag{grid-column:1/-1;text-align:left}.candidate-footer{display:block}.candidate-footer button{width:100%;margin-top:10px}.history-row{grid-template-columns:1fr}.history-row button{width:100%}}
.score-guide{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:18px 0 24px}.score-guide article{background:#0c1822;padding:14px;min-width:0}.score-guide strong{font:650 13px ui-monospace,monospace}.score-guide p{font-size:12px;color:var(--muted);margin:7px 0 0}.info-dot{display:inline-grid;place-items:center;width:16px;height:16px;margin-left:4px;border:1px solid #61798b;border-radius:50%;color:#a8bdcc;font:10px ui-monospace,monospace}.score-band-four{grid-template-columns:repeat(4,1fr)}.score-band-four>div:first-child{box-shadow:inset 0 3px #63d9ff}.score-band-four>div:nth-child(2){box-shadow:inset 0 3px #a78bfa}.score-band-four>div:nth-child(3){box-shadow:inset 0 3px #54d69a}.score-band-four>div:nth-child(4){box-shadow:inset 0 3px #ffb454}.pool-observation{border-left-color:#67839a;background:linear-gradient(145deg,#101c27,#0b1721)}.pool-observation .buy-zone{border-style:dashed}.pool-formal{background:linear-gradient(145deg,#101e28,#0e1923)}.zone-triggered{border-color:#9b7139;background:#282218}.opportunity-verdict{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:-4px 0 14px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;font-size:12px}.opportunity-verdict span{font:650 12px ui-monospace,monospace}.opportunity-verdict strong{font-size:12px;text-align:right}.band-focus{border-color:#3b765f}.band-confirm{border-color:#826436}.band-avoid{border-color:#764552}.upgrade-suggestion{color:var(--good)!important;font-weight:650}.observation-funding{display:grid;grid-template-columns:1fr auto;gap:2px 12px;border:1px dashed #426075;border-radius:10px;padding:11px 12px;margin:13px 0}.observation-funding span,.observation-funding small{color:var(--muted)}.observation-funding strong{font:650 16px ui-monospace,monospace}.observation-funding small{grid-column:1/-1}.opportunity-home{margin:14px 0;padding:16px;background:#0b1721;border:1px solid #36556a;border-radius:12px}.opportunity-home>.rank-line{grid-template-columns:minmax(100px,1fr) auto}.settings-group{border:1px solid var(--line);border-radius:12px;margin:10px 0;background:#0d1923}.settings-group summary{cursor:pointer;padding:13px 15px;font-weight:650}.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:4px 15px 14px}.settings-grid label{margin:0}.settings-grid input{margin-top:4px}#score-settings-form>button{margin-top:10px}
@media(max-width:900px){.score-guide{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.score-guide{grid-template-columns:1fr 1fr}.score-band-four{grid-template-columns:1fr 1fr}.score-band-four strong{font-size:18px}.opportunity-verdict{display:grid}.opportunity-verdict strong{text-align:left}.settings-grid{grid-template-columns:1fr}}

/* Persistent strength is an event ledger: the left cyan rule marks recorded evidence. */
.shock-strength-board{margin:12px 0 26px;border:1px solid #35556b;border-left:4px solid #63d9ff;border-radius:12px;background:#0b1822;overflow:hidden}
.persistent-context{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;padding:14px 17px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}
.persistent-context strong{font:650 13px ui-monospace,monospace;color:#d7f5ff}
.persistent-table-wrap,.persistent-history-wrap{overflow-x:auto}
.persistent-table,.persistent-history-wrap table{width:100%;border-collapse:collapse;font:12px ui-monospace,monospace;text-align:left}
.persistent-table th,.persistent-table td,.persistent-history-wrap th,.persistent-history-wrap td{padding:11px 9px;border-bottom:1px solid #263a48;white-space:nowrap;vertical-align:top}
.persistent-table th,.persistent-history-wrap th{color:#90acbd;font-size:10px;text-transform:uppercase;letter-spacing:.04em}
.persistent-table td strong{font-size:16px;color:#e9f7ff}
.persistent-table td small{display:block;margin-top:3px;color:var(--muted);font-size:10px}
.persistent-table .persistent-leader{color:#ffbd6c}
.persistent-symbol{padding:2px 4px;border:0;background:none;color:#73dfff;text-decoration:underline;text-underline-offset:3px;font:700 14px ui-monospace,monospace;cursor:pointer}
.persistent-symbol:focus-visible{outline:2px solid #ffb454;outline-offset:3px}
.persistent-priority{font-size:10px;color:#d7eaf4;white-space:normal}
.shock-strength-board>.muted{display:block;padding:10px 17px}
.shock-strength-dialog{width:min(980px,94vw);max-height:90vh;overflow:auto;background:#0c1923;color:var(--text);border:1px solid #426277;border-radius:14px;padding:22px}
.persistent-detail-now{display:flex;flex-wrap:wrap;gap:8px 18px;padding:14px;background:#102533;border:1px solid #35556b;border-radius:10px;margin:10px 0 15px}
.persistent-window-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.persistent-window-grid article{display:grid;gap:6px;padding:13px;border:1px solid var(--line);border-radius:10px;background:#0e202c;font-size:11px}
.persistent-window-grid article strong{font:650 15px ui-monospace,monospace;color:#d9f2ff}
.persistent-trend{width:100%;height:auto;max-height:280px;background:#091620;border:1px solid var(--line);border-radius:8px}
.shock-strength-dialog h3{margin:20px 0 7px}
@media(max-width:700px){.persistent-extra{display:none}.persistent-table,.persistent-table tbody{display:block}.persistent-table thead{display:none}.persistent-table tr{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;padding:12px;border-bottom:1px solid #2c4352}.persistent-table td{display:block;border:0;padding:2px 0;white-space:normal;min-width:0}.persistent-table td:nth-child(1){position:absolute;right:12px;top:14px;color:var(--muted)}.persistent-table td:nth-child(2){grid-column:1/-1;padding-right:45px}.persistent-table td:nth-child(3)::before{content:'SHOCK';display:block;color:var(--muted);font-size:9px}.persistent-table td:nth-child(5)::before{content:'PERSISTENT';display:block;color:var(--muted);font-size:9px}.persistent-table td:nth-child(7)::before{content:'TOP3 / 10';display:block;color:var(--muted);font-size:9px}.persistent-table td:nth-child(14)::before{content:'PRIORITY';display:block;color:var(--muted);font-size:9px}.persistent-table td strong{font-size:15px}.persistent-context{display:grid;gap:5px}.persistent-window-grid{grid-template-columns:1fr}.shock-strength-dialog{padding:14px}.persistent-history-wrap table{min-width:730px}}

/* The first home panel is the trade-ledger position inventory, not a plan or watchlist. */
.home-section{margin:20px 0 26px;padding:0 4px}.home-section>.section-head{margin-top:0}.home-action,.home-market-brief{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#101e2b;margin:10px 0}.home-action small,.home-market-brief strong{display:block}.home-action button,.home-market-brief button{white-space:nowrap}.home-focus-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.home-focus-grid article{padding:18px;border:1px solid var(--line);border-radius:12px;background:#0e1c29;min-width:0}.home-focus-grid h3{margin:10px 0}.home-core-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.home-core-grid article{display:grid;gap:5px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#0e1c29}.home-core-grid strong{font:650 18px ui-monospace,monospace}.home-core-grid span{font:13px ui-monospace,monospace;overflow-wrap:anywhere}.funding-summary>.section-head{margin:0 0 16px}.funding-note{margin:14px 0 0;font-size:12px}.funding-summary .allocation-pair{margin:16px 0}.funding-summary>.alert{margin:15px 0 0;font-size:13px}
@media(max-width:640px){.home-focus-grid{grid-template-columns:1fr}.home-core-grid{grid-template-columns:1fr 1fr}.home-action{align-items:flex-start;flex-wrap:wrap}.home-section{padding:0}.home-section h2{font-size:21px}.home-section .section-head button{font-size:11px;padding:7px 10px}.funding-summary>.section-head{flex-wrap:wrap}}
.home-holdings{margin:2px 0 26px;padding:22px;border:1px solid #3d6274;border-radius:18px;background:linear-gradient(135deg,#173344 0%,#122736 44%,#0d1b29 100%);box-shadow:0 16px 42px #030b1355}
.home-holdings-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}
.home-holdings-head h2{margin:4px 0 2px;font-size:clamp(22px,3vw,29px)}
.holding-count{display:inline-block;margin-left:8px;color:var(--blue);font:600 14px ui-monospace,monospace;vertical-align:middle}
.home-holdings-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-bottom:12px;overflow:hidden;border:1px solid #365366;border-radius:11px;background:#365366}
.home-holdings-totals .metric{min-width:0;padding:12px 16px;background:#0e2230}
.home-holdings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}
@media(min-width:1100px){.home-holdings-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.home-holding-top{align-items:flex-start}.home-holding-top>div{display:grid;gap:3px}.home-holding-top .holding-kind{margin-left:0}.home-holding-values{flex-direction:column;gap:8px}.home-holding-amount{font-size:23px}}
dialog>.section-head>button{flex-shrink:0;white-space:nowrap}
.home-holding-card{min-width:0;padding:15px;border:1px solid #345063;border-radius:12px;background:#0b1b29}
.home-holding-top,.home-holding-values,.home-holding-foot{display:flex;justify-content:space-between;gap:12px}
.home-holding-top{align-items:center;font-size:12px}.home-holding-top strong{font:700 21px ui-monospace,monospace;color:#eefaff}.home-holding-top>span{white-space:nowrap}
.holding-kind{margin-left:8px;color:var(--muted);font-size:11px}
.home-holding-amount{margin:11px 0 13px;font:600 clamp(20px,3vw,27px) ui-monospace,monospace;overflow-wrap:anywhere}.home-holding-amount span{font:12px -apple-system,sans-serif;color:var(--muted)}
.home-holding-values{padding:10px 0;border-top:1px solid #2c4555;border-bottom:1px solid #2c4555}.home-holding-values>div{min-width:0}.home-holding-values small{display:block}.home-holding-values strong{display:block;font:600 15px ui-monospace,monospace;overflow-wrap:anywhere}
.home-holding-foot{flex-wrap:wrap;margin-top:10px;color:var(--muted);font-size:11px}
@media(max-width:640px){.home-holdings{padding:16px}.home-holdings-head{align-items:flex-start}.home-holdings-head button{font-size:11px;padding:7px 9px;min-height:36px}.home-holdings-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.home-holdings-totals .metric:last-child{grid-column:1/-1}.home-holdings-totals .metric .value{font-size:15px}.home-holdings-grid{grid-template-columns:1fr}}
