:root{color-scheme:dark;--bg:#0e1d18;--panel:#1b3027;--text:#eaf6ee;--muted:#b1caba;--border:#3e5b4d;--accent:#b7eccb}*{box-sizing:border-box}body{margin:0;background:radial-gradient(at 100% 0%,#2d554640,transparent 65%),var(--bg);color:var(--text);font:16px/1.6 system-ui,sans-serif;min-height:100vh}body.light{color-scheme:light;--bg:#f1f5ed;--panel:#fffef8;--text:#173427;--muted:#486553;--border:#baceba;--accent:#22563d}header{padding:24px 5%;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:14px}header strong{font-size:23px;margin-right:auto}main{max-width:1150px;margin:45px auto;padding:0 24px}h1{font-size:clamp(32px,5vw,54px);line-height:1.15;letter-spacing:-2px}h2{font-size:21px}.eyebrow{letter-spacing:3px;color:var(--accent);font-size:12px}p{color:var(--muted)}button,input,select{font:inherit;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--text);padding:10px 15px}button{cursor:pointer}button:hover,button.active{border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}nav{display:flex;gap:9px;flex-wrap:wrap}article{border:1px solid var(--border);background:var(--panel);padding:25px;border-radius:20px;margin:18px 0}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.tiles article{margin:0}.metric{font-size:28px}form{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:18px 0}label{display:grid;gap:5px;font-size:13px;color:var(--muted)}label input,label select{max-width:220px}table{width:100%;border-collapse:collapse}td,th{padding:12px 8px;text-align:left;border-bottom:1px solid var(--border)}.table{overflow:auto}.tag{color:var(--accent);font-size:13px}#message{white-space:pre-wrap}#login{max-width:680px;margin:80px auto}[hidden]{display:none!important}#signin{background:var(--accent);color:var(--bg);font-weight:650}.remove{font-size:13px}small{color:var(--muted)}
.strategy-badge{padding:6px 12px;border:1px solid var(--border);border-radius:99px;font-size:12px;color:var(--accent)}.strategy-preview{padding:15px;border-left:3px solid var(--accent);background:var(--bg);border-radius:8px;color:var(--text)}.strategy-reading{padding:14px 0;border-top:1px solid var(--border)}.strategy-reading p{margin:6px 0}.strategy-panel form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}.strategy-panel label input,.strategy-panel label select{width:100%;max-width:100%;min-width:0}.strategy-panel form button{align-self:end}.strategy-panel{overflow-wrap:anywhere}
.strategy-group{border:1px solid var(--border);border-radius:14px;margin:14px 0;background:var(--bg);overflow:hidden}.strategy-group>summary,.strategy-member>summary{display:flex;align-items:center;gap:12px;cursor:pointer;padding:16px;list-style:none;color:var(--text)}.strategy-group summary::-webkit-details-marker{display:none}.strategy-group summary::before{content:'›';font-size:22px;color:var(--accent)}.strategy-group[open]>summary::before,.strategy-member[open]>summary::before{transform:rotate(90deg)}.strategy-group summary:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.strategy-group summary p{margin:4px 0}.strategy-group summary div{min-width:0;flex:1}.expand-hint{margin-left:auto;font-size:12px;color:var(--accent);opacity:.65}.strategy-group summary:hover>.expand-hint,.strategy-group summary:focus-visible>.expand-hint{opacity:1;text-decoration:underline}.strategy-members{padding:0 16px 16px}.strategy-member{border-top:1px solid var(--border)}.strategy-member>summary{padding:12px 0;flex-wrap:wrap}.strategy-member>summary>span:not(.expand-hint){font-size:12px;color:var(--muted)}.strategy-tier{padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--panel);margin:8px 0}.strategy-tier p{margin:6px 0}.strategy-tier button{display:block;margin-top:12px;font-size:12px}.strategy-group>button{margin:0 16px 16px}.strategy-group[open]>summary>.expand-hint,.strategy-member[open]>summary>.expand-hint{font-size:0}.strategy-group[open]>summary>.expand-hint::after,.strategy-member[open]>summary>.expand-hint::after{content:'Collapse';font-size:12px}.dip-context-line{fill:none;stroke:#67d5c1;stroke-width:2;stroke-dasharray:10 4 2 4}.dip-context-legend{color:#67d5c1}body.light .dip-context-line{stroke:#087469}body.light .dip-context-legend{color:#087469}
/* Precision: restrained geometry, clear hierarchy, and current-condition signals. */
.manual-accounts-area{grid-column:1/-1;min-width:0}.manual-accounts-forms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.manual-accounts-forms>article{min-width:0;margin-top:0}
@media(max-width:760px){.manual-accounts-forms{grid-template-columns:1fr}}
/* Portfolio chart: themed surfaces and readable series in both appearances. */
:root{--chart-blue:#8fc3ed;--chart-red:#f4a38d;--chart-gold:#e5cc87}body.light{--chart-blue:#276d9f;--chart-red:#ab472e;--chart-gold:#927018}.dashboard-chart{background:radial-gradient(ellipse at top right,#548c5e18,transparent 65%),var(--panel)}.chart-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.chart-selectors{display:flex;gap:12px;flex-wrap:wrap}#priceChart{width:100%;height:400px;display:block}.grid-line{stroke:var(--border);stroke-width:1}.axis-label{fill:var(--muted);font-size:12px}.close-line{fill:none;stroke:var(--accent);stroke-width:2.5}.average-line{fill:none;stroke:var(--chart-gold);stroke-width:2;stroke-dasharray:7 4}.cursor-point{fill:var(--panel);stroke:var(--accent);stroke-width:3}#priceReadout{padding:12px 0;color:var(--text)}#chartLegend{display:flex;gap:15px;flex-wrap:wrap;font-size:13px;margin-bottom:15px}#marketStatus{font-size:13px}a{color:var(--accent)}
.chart-scroll{overflow-x:auto}#priceChart.year-history{min-width:850px}
.portfolio-filters{display:flex;flex-wrap:wrap;gap:14px;margin:20px 0}.portfolio-filters select{max-width:100%;width:100%}.portfolio-filters label{min-width:150px;max-width:100%}.allocation-layout{display:grid;grid-template-columns:minmax(160px,240px) minmax(0,1fr);gap:24px;align-items:center;margin-top:25px}.allocation-ring{width:100%;max-width:240px;display:block}.ring-value{fill:var(--text);font-size:28px;font-weight:600}.ring-label{fill:var(--muted);font-size:12px}.allocation-swatch{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px}.portfolio-accounts{border-top:1px solid var(--border);margin-top:20px}.portfolio-accounts strong{color:var(--text)}#portfolioSummary .metric{font-size:clamp(22px,3vw,28px);overflow-wrap:anywhere}caption{text-align:left;color:var(--muted);font-size:13px;padding:10px 0}@media(max-width:640px){.allocation-layout{grid-template-columns:1fr}.allocation-ring{margin:auto}.portfolio-filters{display:grid;grid-template-columns:1fr}.portfolio-filters label{width:100%}article{padding:18px}header{flex-wrap:wrap}.brand{min-width:50%}}
.brand{margin-right:auto;display:flex;flex-direction:column;gap:2px}.brand strong{line-height:1.2}.brand span{font-size:12px;letter-spacing:1.2px;color:#b9cbea}
/* Horizon: cool neutral surfaces, an electric-blue signal, and orbital contours. */
:root{--bg:#0b101b;--panel:#151e2e;--text:#f3f6fc;--muted:#afbbce;--border:#33425a;--accent:#79b0ff;--chart-blue:#a8a0ff;--chart-red:#ff947f;--chart-gold:#f4c56a}
body.light{--bg:#edf1f7;--panel:#fff;--text:#142139;--muted:#50617b;--border:#c5d0e0;--accent:#195fc8;--chart-blue:#6e43bc;--chart-red:#b74332;--chart-gold:#906000}
body{--orbit-solid:#253b625c;--orbit-soft:#1b2c494d;--orbit-glow:#456dd738;background:radial-gradient(ellipse at 90% -15%,var(--orbit-glow),transparent 60%),radial-gradient(ellipse 170% 95% at 115% 12%,transparent 0 39%,var(--orbit-solid) 39.2% 57%,var(--orbit-soft) 57.2% 75%,transparent 75.2%),var(--bg);background-attachment:fixed;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
body.light{--orbit-solid:#9bb9e538;--orbit-soft:#b6ccec30;--orbit-glow:#456dd71c}
.axis-notch{stroke:var(--muted);stroke-opacity:.55;stroke-width:1}
header{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(115deg,#12213a,#111728);color:#f3f6fc;border-color:#35486c;padding-top:30px;padding-bottom:30px}
header:before{content:'';position:absolute;z-index:-1;width:620px;height:620px;right:-50px;top:-460px;border:1px solid #76a9ff55;border-radius:50%;box-shadow:0 0 0 28px #0000,0 0 0 29px #76a9ff28,0 0 0 58px #0000,0 0 0 59px #76a9ff20,0 0 0 88px #0000,0 0 0 89px #76a9ff18;transform:rotate(-20deg) scaleX(1.5)}
header strong{letter-spacing:-.7px}header button{background:#1d2a41;color:#eef5ff;border-color:#405778}article{border-radius:16px;box-shadow:0 10px 26px #07102312}h1{font-weight:650;letter-spacing:-1.5px}h2{font-weight:600;letter-spacing:-.45px}.dashboard-chart{background:var(--panel)}nav{border-bottom:1px solid var(--border);padding-bottom:14px}nav button{background:transparent;border-color:transparent;border-radius:8px}nav button.active{background:var(--panel);border-color:var(--accent);color:var(--accent)}.tiles article{border-top:2px solid var(--accent)}.metric{font-variant-numeric:tabular-nums;font-weight:600}.close-line{stroke-width:2.8}#priceReadout{background:var(--bg);border:1px solid var(--border);border-radius:9px;padding:12px 15px;margin:12px 0}#chartLegend span:first-child{color:var(--accent)}#chartLegend span:nth-child(2){color:var(--chart-gold)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.heatmap{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:20px 0}.heat-tile{min-height:110px;text-align:left;border:0;background:#203f6a;color:#f2f7ff}.heat-tile.overlap{background:#513b87}.heat-tile strong{display:block;font-size:24px}.heat-tile small{color:#e0e9ff}.coverage{border-left:3px solid var(--chart-gold);padding:10px 15px}.overlap-detail{padding:18px;background:var(--bg);border-radius:12px}.exposure-form input{max-width:180px}
.heatmap{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));max-height:560px;overflow-y:auto;align-content:start;padding:3px;scrollbar-gutter:stable}.overlap-detail{overflow-wrap:anywhere}#content details p{overflow-wrap:anywhere}
.exposure-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.exposure-stats>div{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:15px}.exposure-stats strong{display:block;font-size:24px;font-variant-numeric:tabular-nums}.exposure-note{font-size:13px}.map-legend{display:flex;flex-wrap:wrap;gap:16px;font-size:12px;color:var(--muted);margin:16px 0}.map-legend span:before{content:'';display:inline-block;width:10px;height:10px;margin-right:7px;background:var(--tile);border-radius:2px}.single{--tile:#224c70}.double{--tile:#414d8d}.triple{--tile:#664695}.quad{--tile:#8c407d}.other{--tile:#344357}.exposure-treemap{position:relative;height:600px;width:100%;background:var(--border);border:1px solid var(--border);border-radius:8px;overflow:hidden;margin:15px 0 20px}.map-tile{position:absolute;border:1px solid var(--panel);border-radius:0;padding:0;background:var(--tile);color:#fff;overflow:hidden;min-width:0;min-height:0;text-align:center}.map-tile:hover,.map-tile:focus-visible{z-index:2;box-shadow:inset 0 0 0 3px #e4efff;outline:none;filter:brightness(1.13)}.map-tile-content{position:absolute;inset:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;line-height:1.3;pointer-events:none}.map-tile strong{display:block;letter-spacing:-.5px}.map-tile span span{font-size:14px;margin-top:4px;font-variant-numeric:tabular-nums}.map-tile small{font-size:11px;color:#f2eefb;white-space:nowrap}.exposure-list{overflow:auto;max-height:600px;margin:16px 0}.exposure-list button{padding:5px 10px}.exposure-total{font-size:17px;font-variant-numeric:tabular-nums}@media(max-width:600px){.exposure-stats{grid-template-columns:1fr;gap:8px}.exposure-stats>div{display:flex;justify-content:space-between;align-items:center;padding:10px}.exposure-stats strong{font-size:18px}.exposure-treemap{height:560px}.overlap-panel{padding:18px}.map-legend{gap:10px}}
.single{--tile:#245777}.double{--tile:#18705f}.triple{--tile:#865b26}.quad{--tile:#88476f}
/* Chart-first pages: compact summary, interactive allocation, supporting notes last. */
#app>#title{font-size:28px;letter-spacing:-.7px;margin:20px 0 12px}
main{margin-top:26px}
.info-notes{font-size:13px;color:var(--muted);background:var(--bg);box-shadow:none}
.info-notes h2{font-size:18px;margin-top:0;color:var(--text)}
.info-notes h3{font-size:15px;color:var(--text)}
.info-notes .coverage{margin:12px 0}
.info-notes .portfolio-accounts{display:flex;flex-wrap:wrap;gap:8px 24px}
.overlap-panel>h2{margin:0 0 12px}
.overlap-panel .exposure-treemap{margin:0 0 12px}
.overlap-panel .portfolio-filters{margin:12px 0}
.overlap-panel .map-legend{margin:12px 0}
#portfolioSummary{padding:18px 22px}
#portfolioSummary h2{font-size:19px;margin:0}
#portfolioSummary .chart-heading button{padding:6px 12px;font-size:12px}
#portfolioSummary .portfolio-filters{gap:10px;margin:12px 0}
#portfolioSummary .portfolio-filters label{min-width:120px;flex:1}
#portfolioSummary select{padding:6px 10px;font-size:13px}
.portfolio-compact{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr);gap:20px;align-items:center}
#portfolioSummary .tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#portfolioSummary .tiles p{margin:0 0 5px;font-size:12px}
#portfolioSummary .tiles small{font-size:11px;display:block}
#portfolioSummary .metric{font-size:clamp(18px,2vw,23px);line-height:1.3}
#portfolioSummary .allocation-layout{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;margin:0}
.allocation-ring{max-width:120px;overflow:visible}
.allocation-slice{cursor:pointer;pointer-events:visibleStroke}
.allocation-slice:hover,.allocation-slice:focus-visible,.allocation-slice.selected{stroke-width:32;filter:brightness(1.15);outline:none}
.allocation-ring text{pointer-events:none}
#allocationDetail{font-size:12px;overflow-wrap:anywhere;min-height:76px}
#allocationDetail strong,#allocationDetail span{display:block}
#allocationDetail strong{color:var(--text);font-size:14px}
#allocationDetail span{color:var(--muted)}
@media(max-width:800px){.portfolio-compact{grid-template-columns:1fr}#portfolioSummary .allocation-layout{grid-template-columns:100px minmax(0,1fr)}.allocation-ring{max-width:100px}}
@media(max-width:640px){#portfolioSummary{padding:16px}#portfolioSummary .portfolio-filters{display:flex}#portfolioSummary .portfolio-filters label{width:auto;min-width:95px}#portfolioSummary .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}#portfolioSummary .tiles>div:last-child{grid-column:1/-1;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}#portfolioSummary .tiles>div:last-child .metric{font-size:16px}}
/* Persistent navigation and a single, selected-account headline value. */
body.signed-in{--rail:190px}
body.signed-in header{margin-left:var(--rail);padding:22px 28px;display:grid;grid-template-columns:minmax(140px,1fr) auto minmax(0,1fr);gap:12px}
body.signed-in header .brand{grid-column:1;grid-row:1/3}
body.signed-in header #title{grid-column:2;grid-row:1/3;text-align:center;margin:0;font-size:28px;letter-spacing:-.7px}
body.signed-in header #theme,body.signed-in header .public-actions{grid-column:3;justify-self:end;padding:6px 10px;font-size:12px}
body.signed-in header #theme{grid-row:1}body.signed-in header .public-actions{grid-row:2}
body.signed-in main{max-width:1300px;margin:24px auto;padding:0 24px 0 calc(var(--rail) + 24px)}
body.signed-in nav{position:fixed;z-index:10;left:14px;top:20px;bottom:20px;width:calc(var(--rail) - 24px);display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:8px;overflow-y:auto;padding:14px 8px;background:var(--panel);border:1px solid var(--border);border-radius:16px;box-shadow:0 12px 32px #0002}
body.signed-in nav button{text-align:left;flex-shrink:0;padding:12px;font-size:14px}
#portfolioSummary .portfolio-compact{grid-template-columns:minmax(0,1fr) minmax(180px,1fr);margin:12px 0;gap:20px}
#portfolioSummary .allocation-layout{grid-template-columns:120px minmax(0,1fr);align-items:center}
#portfolioSummary .account-total p{font-size:13px;margin:0 0 4px}
#portfolioSummary .account-total .metric{font-size:clamp(26px,3vw,36px);line-height:1.2}
#portfolioSummary .account-total small{font-size:12px}
#allocationDetail:empty{min-height:0}
/* A single streamlined snapshot row: title, larger allocation, selected total. */
#portfolioSummary{padding:8px 20px}
#portfolioSummary .portfolio-compact.snapshot-row{grid-template-columns:minmax(0,1fr) 160px minmax(0,1fr);gap:24px;margin:0}
#portfolioSummary .chart-heading{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:10px;min-width:0}
#portfolioSummary .allocation-layout{display:block;width:160px;margin:0}
#portfolioSummary .allocation-ring{width:160px;max-width:160px}
#portfolioSummary #allocationDetail{min-height:0;font-size:11px;line-height:1.4}
#portfolioSummary #allocationDetail:empty{display:none}
#portfolioSummary .account-total{justify-self:end}
#portfolioSummary .portfolio-filters{margin-top:0}
@media(max-width:1000px){#portfolioSummary .portfolio-compact.snapshot-row{grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr);gap:12px}#portfolioSummary .snapshot-row .allocation-layout,#portfolioSummary .snapshot-row .allocation-ring{width:150px;max-width:150px}}
@media(max-width:600px){#portfolioSummary .portfolio-compact.snapshot-row{grid-template-columns:minmax(0,1fr) 120px;gap:8px}#portfolioSummary .snapshot-row .allocation-layout,#portfolioSummary .snapshot-row .allocation-ring{width:120px;max-width:120px}#portfolioSummary .snapshot-row .account-total{grid-column:1/-1;justify-self:start;margin:0 0 8px}#portfolioSummary .snapshot-row h2{font-size:16px}#portfolioSummary .snapshot-row #refreshPortfolio{font-size:10px;padding:5px 7px}#portfolioSummary .snapshot-row #allocationDetail{grid-column:1/-1}#portfolioSummary .snapshot-row .chart-heading{gap:7px}}
#portfolioSummary .portfolio-filters{margin-bottom:0}
/* Horizontal allocation: exact-sized segments and an adjacent persistent readout. */
#portfolioSummary .portfolio-compact.snapshot-row.allocation-strip{grid-template-columns:minmax(150px,.8fr) minmax(0,1.5fr) minmax(180px,.9fr);gap:24px;padding:8px 0;margin-bottom:0}
#portfolioSummary .snapshot-row.allocation-strip .allocation-layout{width:100%;max-width:none;min-width:0;display:block}
.allocation-caption{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted);margin-bottom:8px}
.allocation-bar{display:flex;width:100%;height:36px;overflow:hidden;border-radius:7px;background:var(--bg)}
.allocation-segment{flex:0 0 auto;min-width:0;height:100%;padding:0;border:0;border-radius:0;cursor:pointer}
.allocation-segment:hover,.allocation-segment.selected,.allocation-segment:focus-visible{box-shadow:inset 0 0 0 2px var(--text);filter:brightness(1.1);outline:none}
.allocation-readout{display:flex;gap:10px;align-items:center;justify-content:space-between;min-height:44px;margin-top:8px}
#portfolioSummary .allocation-strip #allocationDetail{flex:1;min-width:0;line-height:1.4}
#portfolioSummary .allocation-strip #allocationDetail strong{font-size:13px}
.allocation-step{display:flex;gap:4px;flex-shrink:0}
.allocation-step button{padding:0;width:30px;height:32px;font-size:22px;line-height:1}
@media(max-width:1000px){#portfolioSummary .portfolio-compact.snapshot-row.allocation-strip{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:12px}#portfolioSummary .snapshot-row.allocation-strip .account-total{grid-column:1/-1;justify-self:start;margin:0}#portfolioSummary .snapshot-row.allocation-strip .account-total .metric{font-size:28px}}
@media(max-width:600px){#portfolioSummary .portfolio-compact.snapshot-row.allocation-strip{grid-template-columns:minmax(0,1fr);gap:14px;padding:4px 0}#portfolioSummary .snapshot-row.allocation-strip .chart-heading{flex-direction:row;align-items:center;justify-content:space-between}.allocation-bar{height:40px}.allocation-step button{width:36px;height:36px}}
@media(min-width:1500px){body.signed-in main{max-width:1350px;margin-left:var(--rail);padding-left:24px}}
@media(max-width:800px){body.signed-in{--rail:112px}body.signed-in nav{left:6px;width:100px;padding:10px 4px}body.signed-in nav button{padding:10px 6px;font-size:12px}body.signed-in header{padding:16px;grid-template-columns:1fr auto}body.signed-in header .brand{grid-column:1;grid-row:1}.brand strong{font-size:20px}body.signed-in header .brand span{font-size:9px;letter-spacing:.5px}body.signed-in header #title{grid-column:1/-1;grid-row:3;font-size:24px}body.signed-in header #theme{grid-column:2;grid-row:1}body.signed-in header .public-actions{grid-column:2;grid-row:2}body.signed-in main{padding-right:12px;padding-left:calc(var(--rail) + 12px)}#portfolioSummary .portfolio-compact{grid-template-columns:1fr;gap:12px}#portfolioSummary .allocation-layout{grid-template-columns:100px minmax(0,1fr)}#portfolioSummary .portfolio-filters{display:grid;grid-template-columns:1fr}#portfolioSummary .portfolio-filters label{width:100%}.chart-selectors{max-width:100%}.chart-selectors label,.chart-selectors select{max-width:100%}label input,label select{max-width:100%}form label{max-width:100%;min-width:0}.brand{min-width:0}header .brand span{white-space:nowrap}}

/* Precision refresh. Preserve the signature orbital background without pill-shaped panels. */
body{font-size:15px;line-height:1.5}
article{border-radius:4px;box-shadow:none;padding:22px;margin:16px 0}
button,input,select{border-radius:4px;padding:9px 12px}
button{transition:background-color .16s,border-color .16s}
h2{font-size:21px;letter-spacing:-.45px;margin:0 0 12px}
h3{font-size:16px;letter-spacing:-.2px}
.tag{font-size:10px;letter-spacing:1.8px;font-weight:650}
body.signed-in nav{left:0;top:0;bottom:0;width:var(--rail);border-width:0 1px 0 0;border-radius:0;box-shadow:none;padding:28px 12px;gap:6px;background:var(--bg)}
body.signed-in nav button{border-radius:3px;border-left:2px solid transparent;padding:12px 14px}
body.signed-in nav button.active{border-color:transparent;border-left-color:var(--accent);background:var(--panel)}
body.signed-in header{padding-top:20px;padding-bottom:20px}
body.signed-in main{margin-top:20px}
#priceReadout,.overlap-detail,.exposure-stats>div,.exposure-treemap,.strategy-group,.strategy-tier,.strategy-preview,.allocation-bar{border-radius:3px}
.strategy-badge{border-radius:3px;padding:5px 9px;font-size:11px;letter-spacing:.2px}
.strategy-panel form{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:22px 0 16px}
.strategy-panel label{font-size:12px;gap:7px}
.strategy-panel .tier-editor{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.tier-setting{padding:14px;background:var(--bg);border:1px solid var(--border);border-top:2px solid var(--tier);align-content:start}
.tier-setting>span:first-child{display:flex;align-items:baseline;justify-content:space-between;color:var(--text)}
.tier-setting>span:first-child strong{font-size:20px;font-variant-numeric:tabular-nums;color:var(--tier)}
.tier-setting input{margin:7px 0;width:100%}
.tier-setting output{font-size:11px;line-height:1.6;color:var(--muted)}
.strategy-form-help{grid-column:1/-1;font-size:12px;margin:0}
.strategy-panel form>button{grid-column:1/-1;justify-self:start;min-width:150px;background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:650}
.strategy-preview{font-size:13px}
.strategy-tier-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.strategy-tier{font-size:12px;margin:0;line-height:1.6}
.strategy-tier strong{display:block;color:var(--text)}
.strategy-member>button{margin:14px 0}
.strategy-member .member-delta{color:var(--text);font-variant-numeric:tabular-nums}
.strategy-group>summary{padding:18px}
.strategy-members>p{font-size:12px;margin:0 0 14px}
.tier-1{--tier:#70dab0;--tier-fill:#15362e}
.tier-2{--tier:#f3cf75;--tier-fill:#39321e}
.tier-3{--tier:#ff9388;--tier-fill:#42252b}
.tier-4{--tier:#ffb46e;--tier-fill:#452e21}
body.light .tier-1{--tier:#087046;--tier-fill:#d9f3e6}
body.light .tier-2{--tier:#785800;--tier-fill:#fff0b8}
body.light .tier-3{--tier:#b62932;--tier-fill:#ffe0e2}
body.light .tier-4{--tier:#a34708;--tier-fill:#ffe5c9}
.pulse-panel{padding:0;overflow:hidden}
.pulse-panel>.chart-heading{padding:18px 22px;border-bottom:1px solid var(--border);gap:12px}
.pulse-panel h2{margin:4px 0 0;font-size:19px}
.pulse-panel select{min-width:110px;padding:6px 10px}
.pulse-row{display:grid;grid-template-columns:minmax(150px,.9fr) minmax(0,1.6fr);column-gap:28px;row-gap:12px;padding:20px 22px;border-bottom:1px solid var(--border);background:linear-gradient(110deg,transparent,var(--bg))}
.pulse-heading{align-self:center;min-width:0}
.pulse-heading h3{font-size:18px;margin:5px 0 8px}
.pulse-heading p{font-size:12px;margin:0 0 5px;color:var(--text);font-variant-numeric:tabular-nums}
.pulse-heading small{display:block;font-size:11px}
.tier-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:relative;gap:8px;align-items:start}
.tier-track:before{content:'';position:absolute;left:12%;right:12%;top:27px;height:1px;background:var(--border)}
.pulse-tier{display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px;min-width:0;z-index:1;color:var(--muted);font-variant-numeric:tabular-nums}
.tier-orb{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg);border:1px solid var(--border);color:var(--muted);box-shadow:0 0 0 5px var(--panel);margin-bottom:8px;transition:background-color .3s,border-color .3s,box-shadow .3s}
.tier-orb b{font-size:21px;font-weight:500}
.pulse-tier>strong{font-size:11px;text-transform:uppercase;letter-spacing:.9px}
.pulse-tier>span:not(.tier-orb){font-size:12px}
.pulse-tier>small{font-size:10px;line-height:1.4}
.pulse-tier.is-active{color:var(--tier)}
.is-active .tier-orb{background:var(--tier-fill);border:2px solid var(--tier);color:var(--tier);box-shadow:0 0 0 5px var(--panel),0 0 18px -5px var(--tier)}
.pulse-tier.is-active>small{color:var(--tier)}
.tier-flame{width:23px;height:28px;fill:currentColor}
.flame-core{fill:var(--bg);opacity:.8}
.is-active .flame-core{fill:#fff1bf;opacity:1}
.pulse-plan{grid-column:1/-1;font-size:12px;color:var(--muted);border-top:1px solid var(--border);padding-top:10px;font-variant-numeric:tabular-nums}
.signal-footnote{font-size:11px;margin:0;padding:11px 22px}
.info-notes{padding:18px 22px;border-left:2px solid var(--border);background:var(--bg)}
.info-notes p{line-height:1.75}
@media(max-width:1100px){.strategy-panel form{grid-template-columns:repeat(2,minmax(0,1fr))}.strategy-panel .tier-editor{grid-template-columns:repeat(2,minmax(0,1fr))}.pulse-row{grid-template-columns:1fr}.pulse-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 12px}.pulse-heading .tag{display:none}.pulse-heading h3{margin:0}.pulse-heading p{margin:0}.pulse-heading small{flex-basis:100%}.tier-track{max-width:580px;width:100%;margin:0 auto}.pulse-plan{font-size:11px}}
@media(max-width:800px){body.signed-in{--rail:94px}body.signed-in nav{left:0;width:var(--rail);padding:16px 5px}body.signed-in nav button{font-size:11px;padding:12px 5px}body.signed-in main{padding-left:calc(var(--rail) + 10px);padding-right:10px}.strategy-tier-grid{grid-template-columns:1fr}.pulse-panel>.chart-heading,.pulse-row{padding:16px}.signal-footnote{padding:10px 16px}}
@media(max-width:520px){body.signed-in{--rail:76px}body.signed-in nav button{font-size:10px;padding:12px 3px}body.signed-in header{padding:12px;gap:8px}.brand strong{font-size:18px}body.signed-in header .brand span{white-space:normal;font-size:8px}body.signed-in header #theme,body.signed-in header .public-actions{font-size:9px;padding:5px}body.signed-in header #title{font-size:22px}article{padding:14px}.strategy-panel form{grid-template-columns:1fr}.strategy-panel .tier-editor{gap:8px}.tier-setting{padding:9px}.tier-setting>span:first-child{flex-wrap:wrap;gap:3px}.tier-setting>span:first-child strong{font-size:17px}.tier-setting output{font-size:10px}.strategy-panel label{font-size:11px}.pulse-panel>.chart-heading,.pulse-row{padding:14px 10px}.tier-track{gap:3px}.tier-orb{width:38px;height:38px;box-shadow:0 0 0 3px var(--panel)}.tier-orb b{font-size:17px}.tier-track:before{top:19px}.pulse-tier>strong{font-size:9px;letter-spacing:0}.pulse-tier>span:not(.tier-orb){font-size:10px}.pulse-tier>small{font-size:9px}.is-active .tier-orb{box-shadow:0 0 0 3px var(--panel),0 0 12px -5px var(--tier)}.tier-flame{width:18px;height:23px}.pulse-heading h3{font-size:16px}.pulse-heading p{font-size:11px}.strategy-group>summary{padding:12px;gap:8px}.strategy-members{padding:0 12px 12px}.strategy-member>summary{gap:8px}.strategy-member .member-delta{flex-basis:100%;font-size:11px}.strategy-tier{padding:10px}.signal-footnote{padding:10px;font-size:10px}}
.tier-threshold-legend.dip{color:var(--chart-red)}.tier-threshold-legend.reserve{color:var(--chart-blue)}#chartLegend .tier-chart-note{flex-basis:100%;color:var(--muted);font-size:11px}.tier-holding .tier-investment{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tier-holding>small{font-size:9px;line-height:1.2;color:var(--muted)}
@media(prefers-reduced-motion:reduce){button,.tier-orb{transition:none}}
.watchlist-signals{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:11px;color:var(--muted)}.watchlist-signals>span{margin-right:6px}.watchlist-signals small{font-size:11px}.active-signal{padding:6px 9px;min-height:34px;font-size:11px;background:var(--bg);color:var(--text);border-color:var(--border);font-variant-numeric:tabular-nums}.active-signal strong{color:var(--tier);margin-left:5px}.active-signal:hover{border-color:var(--tier)}@media(pointer:coarse){.active-signal{min-height:44px}}
.tier-setting{display:grid;gap:8px}.tier-setting>label{font-size:12px}.investment-stepper{display:grid;grid-template-columns:minmax(0,1fr) 32px;border:1px solid var(--border);border-radius:3px;overflow:hidden;background:var(--panel)}.strategy-panel .investment-stepper input{border:0;margin:0;border-radius:0;appearance:textfield;-moz-appearance:textfield;min-width:0}.investment-stepper input::-webkit-inner-spin-button,.investment-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.investment-arrows{display:grid;grid-template-rows:1fr 1fr;border-left:1px solid var(--border)}.strategy-panel .investment-arrows button{border:0;border-radius:0;min-height:24px;padding:2px;font-size:9px;line-height:1;color:var(--muted);align-self:stretch}.investment-arrows button+button{border-top:1px solid var(--border)}.investment-arrows button:hover:not(:disabled){background:var(--bg);color:var(--accent)}.investment-stepper:focus-within{outline:2px solid var(--accent);outline-offset:2px}.investment-stepper input:focus-visible{outline:none}@media(pointer:coarse){.investment-stepper{grid-template-columns:minmax(0,1fr) 42px}.strategy-panel .investment-arrows button{min-height:32px}}
.pulse-tier.is-reached .tier-orb{background:var(--tier-fill);border-color:var(--tier);color:var(--tier);opacity:.42;box-shadow:0 0 0 5px var(--panel)}
.pulse-tier.is-reached>strong,.pulse-tier.is-reached>span:not(.tier-orb){color:var(--muted)}
.tier-column{min-width:0;z-index:1;display:grid;grid-template-rows:104px auto;align-content:start}
.tier-holdings{border-top:1px solid var(--border);padding-top:8px;display:grid;gap:4px;align-content:start}
.tier-holding{width:100%;min-width:0;min-height:32px;padding:6px 8px;background:var(--bg);border:1px solid var(--border);text-align:left;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;color:var(--text);line-height:1.3;white-space:nowrap}
.tier-holding strong{font-size:12px;flex-shrink:0;color:var(--tier,var(--text))}
.tier-holding span{min-width:0;font-size:11px;font-variant-numeric:tabular-nums;text-align:right}
.tier-holding.selected{border-color:var(--accent)}.tier-holding:hover{border-color:var(--tier,var(--accent))}
.tier-empty{text-align:center;color:var(--muted);font-size:13px;padding:8px 0}
.watchlist-signals>.tier-holding{width:auto;min-width:110px}.tier-track{align-items:stretch}
@media(max-width:600px){.tier-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 10px}.tier-track:before{display:none}.tier-holding{min-height:36px;padding:7px 6px;gap:6px}.tier-holding strong,.tier-holding span{font-size:11px}}
@media(max-width:520px){.tier-column{grid-template-rows:82px auto}.tier-holdings{padding-top:7px}.pulse-tier.is-reached .tier-orb{box-shadow:0 0 0 3px var(--panel)}}
