.asset-chart{--asset-chart-accent: #2563eb;--asset-chart-accent-strong: #1d4ed8;--asset-chart-positive: #2563eb;--asset-chart-negative: #b42318;position:relative;min-width:0;padding:clamp(1.15rem,2.5vw,1.75rem);overflow:hidden;color:var(--text-primary, #10213b);background:radial-gradient(circle at 88% 5%,rgb(37 99 235 / 8%),transparent 28%),var(--surface-elevated, #ffffff);border:1px solid var(--border-subtle, rgb(148 163 184 / 14%));border-radius:var(--radius-xl, 1.25rem);box-shadow:var(--shadow-card, 0 18px 48px rgb(15 23 42 / 8%))}.asset-chart__header{position:relative;z-index:1;display:flex;gap:1rem;align-items:flex-start;justify-content:space-between;margin-bottom:1rem}.asset-chart__eyebrow{margin:0 0 .35rem;color:var(--text-muted, #64748b);font-size:.68rem;font-weight:750;letter-spacing:.13em}.asset-chart__title{margin:0;color:inherit;font-size:clamp(1rem,2vw,1.16rem);font-weight:700;letter-spacing:-.025em}.asset-chart__headline{display:flex;flex-wrap:wrap;gap:.45rem .7rem;align-items:baseline;margin-top:.65rem}.asset-chart__headline strong{font-size:clamp(1.45rem,4vw,2rem);font-variant-numeric:tabular-nums;letter-spacing:-.05em}.asset-chart__change{padding:.22rem .48rem;border-radius:999px;font-size:.72rem;font-weight:750;font-variant-numeric:tabular-nums}.asset-chart__change--positive{color:var(--asset-chart-positive);background:#2563eb1f}.asset-chart__change--negative{color:var(--asset-chart-negative);background:#b423181c}.asset-chart__change--neutral{color:var(--text-secondary, #475569);background:#94a3b81a}.asset-chart__periods{display:inline-flex;flex:0 0 auto;gap:.18rem;padding:.22rem;background:var(--surface-sunken, #f3f6fa);border:1px solid var(--border-subtle, rgb(148 163 184 / 12%));border-radius:.72rem}.asset-chart__period{min-width:2.45rem;min-height:2rem;padding:.35rem .5rem;color:var(--text-muted, #64748b);font:inherit;font-size:.72rem;font-weight:700;line-height:1;cursor:pointer;background:transparent;border:0;border-radius:.52rem;transition:color .16s ease,background-color .16s ease,box-shadow .16s ease}.asset-chart__period:hover{color:var(--text-primary, #10213b)}.asset-chart__period[aria-pressed=true]{color:#fff;background:var(--asset-chart-accent);box-shadow:0 4px 14px #2563eb38}.asset-chart__period:focus-visible,.asset-chart__svg:focus-visible{outline:2px solid var(--asset-chart-accent);outline-offset:3px}.asset-chart__canvas{width:100%;min-width:0}.asset-chart__svg{display:block;width:100%;height:auto;min-height:0;overflow:visible;cursor:crosshair;touch-action:pan-y}.asset-chart__grid line{stroke:var(--chart-grid, rgb(148 163 184 / 13%));stroke-dasharray:3 5}.asset-chart__grid text,.asset-chart__axis-date{fill:var(--text-muted, #64748b);font-family:inherit;font-size:10.5px;font-variant-numeric:tabular-nums}.asset-chart__area{pointer-events:none}.asset-chart__line{fill:none;pointer-events:none;stroke:var(--asset-chart-accent-strong);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5;filter:drop-shadow(0 4px 5px rgb(37 99 235 / 18%))}.asset-chart__single-point{fill:var(--surface-elevated, #ffffff);stroke:var(--asset-chart-accent);stroke-width:2.5}.asset-chart__tooltip{pointer-events:none}.asset-chart__guide{stroke:#2563eb73;stroke-dasharray:3 4}.asset-chart__point-halo{fill:#2563eb2e}.asset-chart__point{fill:var(--surface-elevated, #ffffff);stroke:var(--asset-chart-accent);stroke-width:2.5}.asset-chart__tooltip rect{fill:var(--tooltip-background, #0f172a);stroke:var(--border-strong, rgb(148 163 184 / 25%));stroke-width:1;filter:drop-shadow(0 8px 13px rgb(2 8 23 / 28%))}.asset-chart__tooltip text{font-family:inherit;font-variant-numeric:tabular-nums}.asset-chart__tooltip-date{fill:var(--text-muted, #64748b);font-size:10px}.asset-chart__tooltip-value{fill:var(--text-primary, #10213b);font-size:13px;font-weight:700}.asset-chart__empty{display:grid;min-height:14rem;place-items:center;align-content:center;padding:2rem;text-align:center;background:#94a3b808;border:1px dashed var(--border-subtle, rgb(148 163 184 / 18%));border-radius:1rem}.asset-chart__empty-icon{display:grid;width:2.8rem;height:2.8rem;margin-bottom:.8rem;place-items:center;color:var(--asset-chart-accent);font-size:1.2rem;background:#2563eb1c;border-radius:.85rem}.asset-chart__empty strong{font-size:.95rem}.asset-chart__empty p{max-width:24rem;margin:.45rem 0 0;color:var(--text-muted, #64748b);font-size:.82rem;line-height:1.55}.asset-chart__sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;white-space:nowrap!important;border:0!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important}@media(max-width:559px){.asset-chart{padding:1rem .85rem .85rem;border-radius:1rem}.asset-chart__header{display:block;margin-bottom:.7rem}.asset-chart__headline{margin-top:.48rem}.asset-chart__periods{display:grid;grid-template-columns:repeat(4,1fr);width:100%;margin-top:.9rem}.asset-chart__period{min-height:2.15rem}.asset-chart__grid text,.asset-chart__axis-date{font-size:9.5px}.asset-chart__tooltip-date{font-size:9px}.asset-chart__tooltip-value{font-size:11.5px}}@media(prefers-reduced-motion:reduce){.asset-chart__period{transition:none}}.instrument-search{position:relative;width:112px;min-width:0}.ticker-line .instrument-search input{width:100%;padding-left:27px}.instrument-search__icon{position:absolute;z-index:1;top:50%;left:9px;color:#64748b;pointer-events:none;transform:translateY(-50%)}.instrument-search:focus-within .instrument-search__icon{color:#1d4ed8}.instrument-search__results{position:absolute;z-index:80;top:calc(100% + 8px);left:0;width:360px;max-height:330px;padding:6px;overflow-y:auto;background:#fff;border:1px solid #d9e2ef;border-radius:13px;box-shadow:0 24px 60px #00000047}.instrument-search__results button{display:grid;width:100%;padding:10px 11px;color:#10213b;text-align:left;cursor:pointer;background:transparent;border:0;border-radius:9px;grid-template-columns:76px minmax(0,1fr);gap:3px 10px}.instrument-search__results button:hover,.instrument-search__results button.active{background:#eef4ff;box-shadow:inset 3px 0 #1d4ed8}.instrument-search__ticker{color:#1d4ed8;font-size:12px;font-weight:800;letter-spacing:.03em}.instrument-search__name{overflow:hidden;color:#10213b;font-size:11px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.instrument-search__meta{grid-column:2;color:#64748b;font-size:9px}.instrument-search__empty{padding:22px 12px;color:#64748b;font-size:10px;text-align:center}@media(max-width:780px){.instrument-search{width:130px}.instrument-search__results{width:min(350px,calc(100vw - 68px))}}.product-tabs{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:5px}.product-tabs button{display:inline-flex;min-height:36px;padding:8px 11px;align-items:center;gap:6px;color:var(--text-secondary);font-size:11px;font-weight:700;white-space:nowrap;cursor:pointer;background:transparent;border:1px solid transparent;border-radius:9px}.product-tabs button:hover{color:var(--accent-strong);background:var(--surface-soft)}.product-tabs button.is-active{color:var(--accent-strong);background:#eff5ff;border-color:var(--line-strong)}@media(max-width:760px){.product-tabs{justify-content:flex-start;overflow-x:auto;scrollbar-width:none}.product-tabs::-webkit-scrollbar{display:none}.product-tabs button{flex:0 0 auto}}.site-footer{display:grid;width:100%;min-height:auto;padding:30px 0 34px;margin:28px auto 0;gap:16px;color:var(--muted);border-top:1px solid var(--line)}.site-footer__brand{display:flex;align-items:baseline;gap:12px}.site-footer__brand a{color:var(--text);font-size:15px;font-weight:850;letter-spacing:-.02em;text-decoration:none}.site-footer__brand p,.site-footer__notice{margin:0;font-size:11px;line-height:1.65}.site-footer nav{display:flex;flex-wrap:wrap;gap:8px 16px}.site-footer nav a{color:var(--text-secondary);font-size:11px;font-weight:650;text-decoration:none}.site-footer nav a:hover{color:var(--accent-strong);text-decoration:underline;text-underline-offset:3px}.site-footer__notice{max-width:900px}.site-footer>small{font-size:10px}@media(max-width:720px){.site-footer__brand{display:grid;gap:5px}}.research-shell{min-height:100vh;background:radial-gradient(circle at 12% 0%,rgb(37 99 235 / 10%),transparent 31rem),#fff}.research-topbar{position:sticky;z-index:20;top:0;display:flex;justify-content:space-between;gap:24px;align-items:center;min-height:68px;padding:0 32px;border-bottom:1px solid var(--line);background:#fffffff0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.research-back,.research-status,.research-brand{display:inline-flex;align-items:center;gap:9px}.research-back{width:max-content;padding:9px 13px;border:1px solid var(--line);border-radius:10px;background:transparent;cursor:pointer}.research-brand strong{font-size:17px}.research-brand span{color:var(--muted);font-size:12px}.research-status{justify-self:end;color:#64748b;font-size:12px}.research-main{width:min(1500px,calc(100% - 48px));margin:0 auto;padding:54px 0 80px}.research-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(420px,.8fr);gap:48px;align-items:end;padding:0 4px 42px}.eyebrow,.research-card__head span,.candidate-title span{color:#2563eb;font-size:10px;font-weight:800;letter-spacing:.14em}.research-hero h1{max-width:820px;margin:12px 0 15px;font-size:clamp(30px,4vw,58px);line-height:1.08;letter-spacing:-.045em}.research-hero p,.section-copy{margin:0;color:var(--text-secondary);line-height:1.65}.research-summary{display:grid;grid-template-columns:repeat(2,1fr);margin:0;border:1px solid var(--line);border-radius:18px;background:#fff}.research-summary div{padding:18px 20px;border:1px solid var(--line)}.research-summary div:first-child{border-radius:18px 0 0}.research-summary dt{color:var(--muted);font-size:11px}.research-summary dd{margin:7px 0 0;font-size:16px;font-weight:700}.research-alert,.backtest-disclosure{display:flex;gap:10px;align-items:flex-start;margin-bottom:18px;padding:14px 16px;color:#8a5a00;border:1px solid rgb(216 175 89 / 28%);border-radius:12px;background:#5b43172e}.research-tabs{display:flex;gap:7px;padding:7px;margin-bottom:18px;border:1px solid var(--line);border-radius:15px;background:#f7f9fc}.research-tabs button{display:inline-flex;gap:7px;align-items:center;padding:12px 18px;color:var(--muted);border:0;border-radius:10px;background:transparent;cursor:pointer}.research-tabs button.active{color:#fff;background:#2563eb}.research-grid--explorer{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:18px}.research-card{min-width:0;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#fff,#fff);box-shadow:var(--shadow-card)}.research-card__head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 24px;border-bottom:1px solid var(--line)}.research-card__head h2{margin:5px 0 0;font-size:19px}.upload-button,.research-primary{display:inline-flex;gap:7px;justify-content:center;align-items:center;border-radius:10px;cursor:pointer}.upload-button{padding:9px 11px;color:var(--text-secondary);border:1px solid var(--line);font-size:12px}.upload-button input{display:none}.research-filters{display:grid;grid-template-columns:minmax(260px,1fr) 170px;gap:10px;padding:16px 20px;border-bottom:1px solid var(--line)}.research-filters label{display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--line);border-radius:10px}.research-filters input{width:100%;padding:11px 0;border:0;background:transparent}.research-filters select{padding:0 11px}.etf-table-wrap{max-height:690px;overflow:auto}.etf-table,.backtest-table{width:100%;border-collapse:collapse;font-size:12px}.etf-table th,.etf-table td,.backtest-table th,.backtest-table td{padding:12px 14px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}.etf-table th{position:sticky;z-index:2;top:0;color:var(--muted);background:#f7f9fc}.etf-table th:nth-child(2),.etf-table td:nth-child(2),.etf-table th:nth-child(3),.etf-table td:nth-child(3){text-align:left}.etf-table td strong{display:block;color:var(--text)}.etf-table td small{display:block;margin-top:3px;color:var(--muted)}.etf-table tbody tr:hover{background:#2563eb12}.grade{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;font-weight:800}.grade--a{color:#1d4ed8;background:#dbeafe}.grade--b{color:#475569;background:#e2e8f0}.grade--c{color:#64748b;background:#f1f5f9}.compare-card{align-self:start;position:sticky;top:87px}.empty-copy{padding:24px;color:var(--muted);line-height:1.65}.compare-names{display:grid;gap:9px;padding:20px 24px 0}.compare-names div{padding:12px;border-radius:10px;background:var(--surface-sunken)}.compare-names strong,.compare-names span{display:block}.compare-names span{margin-top:4px;color:var(--muted);font-size:11px}.metric-stack{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:14px 24px}.metric-stack div{padding:15px;border:1px solid var(--line);border-radius:12px}.metric-stack span,.metric-stack small,.metric-stack strong{display:block}.metric-stack span,.metric-stack small{color:var(--muted);font-size:10px}.metric-stack strong{margin:7px 0;font-size:22px}.compare-card .research-primary{margin:0 24px 15px;width:calc(100% - 48px)}.compare-holdings{padding:0 24px 18px}.compare-holdings h3{font-size:13px}.compare-holdings div{display:flex;justify-content:space-between;padding:7px 0;color:var(--text-secondary);font-size:11px;border-bottom:1px solid var(--line)}.compare-holdings p{color:var(--muted);font-size:11px;line-height:1.5}.research-note{display:flex;gap:9px;margin:0 16px 16px;padding:12px;color:var(--muted);border-radius:11px;background:#f3f6fa}.research-note p{margin:0;font-size:10px;line-height:1.55}.research-primary{padding:11px 16px;color:#fff;border:0;background:#2563eb;font-weight:800}.research-primary:disabled{opacity:.55;cursor:wait}.research-primary--wide{width:100%}.generator-layout{display:grid;grid-template-columns:410px minmax(0,1fr);gap:18px;align-items:start}.generator-controls{position:sticky;top:87px}.generator-controls>.section-copy{padding:20px 24px 8px;font-size:12px}.preset-row{display:flex;gap:7px;padding:12px 24px}.preset-row button,.empty-state button{padding:9px 12px;color:var(--text-secondary);border:1px solid var(--line);border-radius:9px;background:transparent;cursor:pointer}.sleeve-list{padding:5px 24px 12px}.sleeve-list label{display:grid;grid-template-columns:1fr 78px 17px 28px;gap:7px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.sleeve-list small{display:block;margin-top:3px;color:var(--muted);font-size:9px}.sleeve-list input{width:100%;padding:8px;text-align:right}.sleeve-list button,.add-sleeve button,.fixed-stock-box button{display:inline-flex;justify-content:center;align-items:center;min-height:28px;color:var(--muted);border:1px solid var(--line);border-radius:8px;background:transparent;cursor:pointer}.add-sleeve{display:grid;grid-template-columns:1fr auto;gap:8px;padding:0 24px 14px}.add-sleeve select{min-width:0;padding:8px}.add-sleeve button{gap:4px;padding:0 9px}.add-sleeve button:disabled{opacity:.45;cursor:default}.fixed-stock-box{padding:13px 24px;border-top:1px solid var(--line)}.fixed-stock-box>span{display:block;margin-bottom:8px;color:var(--muted);font-size:10px}.fixed-stock-box>div{display:grid;grid-template-columns:1fr 75px 32px;gap:6px}.fixed-stock-box input{width:100%;min-width:0;padding:8px}.fixed-stock-box .fixed-stock-chip{display:inline-flex;gap:5px;min-height:26px;padding:0 8px;margin:8px 5px 0 0;color:var(--text-secondary);font-size:10px;background:var(--surface-sunken)}.weight-total{display:flex;justify-content:space-between;padding:12px 24px;color:#1d4ed8;background:#eef4ff}.constraint-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px 24px}.constraint-grid label span{display:block;margin-bottom:5px;color:var(--muted);font-size:10px}.constraint-grid input{width:100%;padding:9px}.generator-controls>.research-primary{margin:0 24px 24px;width:calc(100% - 48px)}.candidate-area{display:grid;gap:14px}.generator-explanation{padding:20px 24px}.generator-explanation h3{margin:0 0 14px}.generator-explanation ol{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0;padding:0;list-style:none;counter-reset:generator}.generator-explanation li{counter-increment:generator;padding:12px;border:1px solid var(--line);border-radius:11px}.generator-explanation li:before{content:counter(generator);display:block;margin-bottom:8px;color:#2563eb;font-weight:800}.generator-explanation li strong,.generator-explanation li span{display:block}.generator-explanation li span{margin-top:5px;color:var(--muted);font-size:10px;line-height:1.4}.candidate-card{padding:20px 22px;cursor:pointer;transition:border-color .2s,transform .2s}.candidate-card:hover{transform:translateY(-1px);border-color:var(--line-strong)}.candidate-card.selected{border-color:#2563eba6;box-shadow:0 0 0 1px #2563eb33}.candidate-title{display:flex;justify-content:space-between;color:#1d4ed8}.candidate-title h3{margin:5px 0 0;color:var(--text);font-size:19px}.candidate-metrics{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.candidate-metrics span{padding:6px 9px;color:var(--text-secondary);border-radius:8px;background:var(--surface-sunken);font-size:10px}.candidate-items{display:grid;gap:6px}.candidate-items>div{display:grid;grid-template-columns:minmax(0,1fr) 55px 80px;align-items:center;padding:10px 12px;border-radius:9px;background:#f8fafc}.candidate-items strong,.candidate-items small{display:block}.candidate-items small{margin-top:3px;color:var(--muted);font-size:9px}.candidate-items b,.candidate-items em{text-align:right;font-size:11px;font-style:normal}.candidate-items em{color:var(--muted)}.candidate-confidence{margin:12px 0 0;color:var(--muted);font-size:10px}.backtest-card{overflow:hidden}.empty-state{display:grid;justify-items:center;gap:10px;padding:90px 20px;color:var(--muted);text-align:center}.empty-state h3,.empty-state p{margin:0}.backtest-disclosure{margin:20px 24px 0}.backtest-disclosure p{margin:0;line-height:1.5}.research-chart{height:260px;margin:20px 24px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}.research-chart svg{width:100%;height:100%;overflow:visible}.research-chart line{stroke:#0f4c9617;vector-effect:non-scaling-stroke}.research-chart polyline{fill:none;stroke-width:2;vector-effect:non-scaling-stroke}.backtest-table-wrap{overflow:auto;margin:0 24px}.backtest-table th{color:var(--muted);background:#f7f9fc}.backtest-table th:first-child,.backtest-table td:first-child{text-align:left}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:24px}.method-grid div{padding:14px;border:1px solid var(--line);border-radius:11px}.method-grid h3{margin:0 0 7px;font-size:12px}.method-grid p{margin:0;color:var(--muted);font-size:10px;line-height:1.55}.research-loading{display:flex;justify-content:center;align-items:center;gap:10px;min-height:100vh;color:var(--muted);background:#fff}.spin{animation:research-spin 1s linear infinite}@keyframes research-spin{to{transform:rotate(360deg)}}@media(max-width:1100px){.research-hero,.research-grid--explorer,.generator-layout{grid-template-columns:1fr}.compare-card,.generator-controls{position:static}}@media(max-width:720px){.research-topbar{display:grid;gap:8px;padding:10px 14px}.research-brand{display:none}.research-brand{justify-self:end}.research-brand span,.research-status{display:none}.research-main{width:min(100% - 24px,1500px);padding-top:30px}.research-hero{gap:24px}.research-tabs{overflow-x:auto}.research-tabs button{flex:0 0 auto}.research-filters,.constraint-grid{grid-template-columns:1fr}.generator-explanation ol,.method-grid{grid-template-columns:1fr 1fr}.research-card__head{align-items:flex-start}}@media(max-width:480px){.research-summary,.generator-explanation ol,.method-grid,.metric-stack{grid-template-columns:1fr}.upload-button{font-size:0}.upload-button svg{width:16px}}.market-report-shell{min-height:100vh;color:var(--text);background:#fff}.report-topbar{position:sticky;z-index:30;top:0;display:flex;min-height:68px;padding:0 32px;align-items:center;justify-content:space-between;gap:24px;background:#fffffff0;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.report-brand,.report-status,.report-section-label{display:inline-flex;align-items:center;gap:8px}.report-back{width:max-content;padding:9px 13px;color:var(--text-secondary);cursor:pointer;background:#fff;border:1px solid var(--line);border-radius:10px}.report-back:hover{color:var(--accent-strong);border-color:var(--line-strong)}.report-brand div{display:grid;gap:2px}.report-brand strong{font-size:16px}.report-brand>svg{color:var(--accent)}.report-brand span,.report-status{color:var(--muted);font-size:10px;letter-spacing:.08em}.report-status{justify-self:end}.market-report-layout{display:grid;width:min(1500px,calc(100% - 48px));margin:0 auto;grid-template-columns:230px minmax(0,1fr);gap:32px}.report-sidebar{position:sticky;top:90px;max-height:calc(100vh - 112px);margin-top:42px;padding:17px;overflow-y:auto;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-card)}.report-sidebar__head{display:grid;gap:5px;padding:3px 4px 15px}.report-sidebar__head>span,.report-eyebrow,.report-section__head span,.report-section-label{color:var(--accent);font-size:9px;font-weight:800;letter-spacing:.15em}.report-sidebar__head strong{font-size:15px}.report-sidebar__head p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.report-sidebar nav{display:grid;gap:6px}.report-sidebar nav button{display:grid;min-height:58px;padding:10px 9px;align-items:center;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;color:var(--muted);text-align:left;cursor:pointer;background:transparent;border:1px solid transparent;border-radius:11px}.report-sidebar nav button:hover{color:var(--text);background:var(--surface-soft)}.report-sidebar nav button.is-active{color:var(--accent-strong);background:#eef4ff;border-color:#2563eb38}.report-sidebar nav button span{display:grid;gap:3px}.report-sidebar nav button strong{font-size:12px}.report-sidebar nav button small{color:var(--muted);font-size:10px}.market-report-main{min-width:0;padding:58px 0 80px}.report-hero{display:grid;padding:0 4px 34px;align-items:end;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:50px}.report-hero h1{margin:12px 0 17px;color:#10213b;font-size:clamp(34px,4.5vw,62px);line-height:1.06;letter-spacing:-.055em}.report-hero p{max-width:760px;margin:0;color:var(--text-secondary);line-height:1.7}.report-date-card{display:grid;margin:0;overflow:hidden;grid-template-columns:repeat(2,1fr);background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow-card)}.report-date-card div{padding:17px 19px;border:1px solid var(--line)}.report-date-card dt{color:var(--muted);font-size:10px}.report-date-card dd{margin:7px 0 0;font-size:14px;font-weight:720}.report-conclusion{display:grid;margin-bottom:18px;overflow:hidden;grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr);background:linear-gradient(135deg,#f7faff,#fff 55%);border:1px solid rgb(37 99 235 / 18%);border-radius:22px;box-shadow:0 18px 54px #0f172a12}.report-conclusion__copy{padding:clamp(24px,3vw,40px)}.report-conclusion h2{margin:12px 0 8px;font-size:clamp(27px,3vw,38px);letter-spacing:-.045em}.report-conclusion__lead{margin:0 0 20px;color:var(--text-secondary);font-size:12px;line-height:1.65}.report-conclusion ul{display:grid;margin:0;padding:0;gap:13px;list-style:none}.report-conclusion li{display:grid;align-items:start;grid-template-columns:17px minmax(0,1fr);gap:9px;color:var(--text-secondary);font-size:11px;line-height:1.6}.report-conclusion li svg{margin-top:1px;color:var(--accent)}.report-conclusion li strong{color:var(--text)}.report-change-summary{margin-top:24px;padding-top:20px;border-top:1px solid rgb(37 99 235 / 14%)}.report-change-summary__head{display:grid;margin-bottom:10px;gap:4px}.report-change-summary__head span{color:var(--accent);font-size:8px;font-weight:800;letter-spacing:.14em}.report-change-summary__head strong{font-size:13px}.report-change-summary__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.report-change-summary__grid article{display:grid;min-width:0;padding:10px 11px;align-content:start;gap:5px;background:#fff;border:1px solid var(--line);border-radius:10px}.report-change-summary__grid article:last-child:nth-child(odd){grid-column:1 / -1}.report-change-summary__grid article>span:first-child,.report-change-summary__grid small{overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.directional-change{display:inline-flex;width:max-content;align-items:center;gap:3px;font-weight:800;font-variant-numeric:tabular-nums}.directional-change.is-up{color:#dc2626}.directional-change.is-down{color:#2563eb}.directional-change.is-flat{color:#64748b}.report-dashboard-figure{display:grid;min-width:0;margin:0;padding:18px;align-content:center;background:#fff;border-left:1px solid var(--line)}.report-dashboard-trigger{position:relative;display:block;width:100%;padding:0;overflow:hidden;cursor:zoom-in;background:#fff;border:0;border-radius:14px}.report-dashboard-figure img{display:block;width:100%;border:1px solid var(--line);border-radius:14px}.report-dashboard-trigger>span{position:absolute;right:12px;bottom:12px;display:inline-flex;padding:7px 10px;align-items:center;gap:6px;color:#fff;font-size:10px;font-weight:700;background:#0f172ac7;border-radius:999px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.report-dashboard-trigger:focus-visible{outline:3px solid rgb(37 99 235 / 32%);outline-offset:3px}.report-dashboard-figure figcaption{padding:10px 4px 0;color:var(--muted);font-size:10px;text-align:center}.report-dashboard-guide{display:grid;margin-top:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.report-dashboard-guide article{display:grid;min-width:0;padding:10px 11px;gap:4px;text-align:left;background:#f7faff;border:1px solid rgb(37 99 235 / 12%);border-radius:10px}.report-dashboard-guide strong{color:var(--text);font-size:10px}.report-dashboard-guide span{color:var(--text-secondary);font-size:9px;line-height:1.5}.report-dashboard-guide__audit{padding-top:5px;color:var(--accent-strong);font-size:9px;font-weight:750;border-top:1px solid rgb(37 99 235 / 12%)}.report-image-modal{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:grid;padding:24px;place-items:center;background:#0f172ab8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.report-image-modal__content{display:grid;width:min(1600px,96vw);max-height:94vh;padding:12px;gap:10px;background:#fff;border-radius:18px;box-shadow:0 28px 90px #0000004d}.report-image-modal__head{display:flex;padding:2px 2px 2px 8px;align-items:center;justify-content:space-between}.report-image-modal__head>div{display:flex;align-items:baseline;gap:9px}.report-image-modal__head strong{font-size:13px}.report-image-modal__head span{color:var(--muted);font-size:10px}.report-image-modal__head button{display:grid;width:36px;height:36px;padding:0;place-items:center;color:var(--text-secondary);cursor:pointer;background:var(--surface-soft);border:1px solid var(--line);border-radius:50%}.report-image-modal__content>img{display:block;width:100%;max-height:calc(94vh - 70px);object-fit:contain;border:1px solid var(--line);border-radius:12px}.report-notice{display:flex;margin-bottom:18px;padding:13px 16px;align-items:flex-start;gap:10px;color:var(--text-secondary);font-size:12px;line-height:1.55;background:#f7faff;border:1px solid rgb(37 99 235 / 14%);border-radius:12px}.report-notice svg{color:var(--accent);flex:0 0 auto}.report-kpis{display:grid;margin-bottom:18px;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.report-kpis article{display:grid;min-height:126px;padding:19px;align-content:space-between;gap:8px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 34px #0f172a0d}.report-kpis article:first-child{color:#fff;background:var(--accent);border-color:var(--accent)}.report-kpis article:first-child span,.report-kpis article:first-child small{color:#ffffffc2}.report-kpis span,.report-kpis small{color:var(--muted);font-size:11px}.report-kpis strong{font-size:clamp(18px,2vw,27px);line-height:1.2}.report-section{min-width:0;margin-bottom:18px;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-card)}.report-section__head{display:flex;min-height:75px;padding:18px 22px;align-items:center;justify-content:space-between;background:#fbfcfe;border-bottom:1px solid var(--line)}.report-section__head h2{margin:6px 0 0;font-size:18px}.report-section__head>svg{color:var(--accent)}.report-section__head>div{min-width:0}.report-section-help{max-width:760px;margin:8px 0 0;color:var(--muted);font-size:10px;line-height:1.55}.report-section__head--market{min-height:0;padding-top:20px;padding-bottom:18px;align-items:flex-start}.chart-phase-inline{display:flex;margin:12px 0 0;padding:0;flex-wrap:wrap;align-items:center;gap:5px;list-style:none}.chart-phase-inline li{display:inline-flex;align-items:center;gap:5px;color:var(--text-secondary);font-size:9px;font-weight:700}.chart-phase-inline li:before{width:6px;height:6px;content:"";background:#cbd5e1;border-radius:50%}.chart-phase-inline li:nth-child(n+3):before{background:#93b4ed}.chart-phase-inline li:nth-child(n+5):before{background:#4f83df}.chart-phase-inline li:nth-child(n+7):before{background:#2563eb}.chart-phase-inline li:not(:last-child):after{margin-left:2px;color:#a9b5c6;content:"→";font-weight:500}.chart-phase-inline__note{margin:7px 0 0;color:var(--muted);font-size:9px;line-height:1.45}.market-reading-guide{display:grid;padding:14px 22px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;background:#f7faff;border-bottom:1px solid var(--line)}.market-reading-guide>div{display:grid;padding-right:14px;grid-template-columns:70px minmax(0,1fr);gap:10px}.market-reading-guide>div+div{border-left:1px solid var(--line);padding-left:18px}.market-reading-guide strong{color:var(--accent-strong);font-size:10px}.market-reading-guide p{margin:0;color:var(--text-secondary);font-size:10px;line-height:1.55}.market-reading-guide b{color:var(--text)}.report-axis-grid,.report-transmission-grid{display:grid;padding:18px;gap:12px}.report-axis-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.report-transmission-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.report-axis-grid article,.report-transmission-grid article{min-width:0;padding:17px;background:#fff;border:1px solid var(--line);border-radius:13px}.report-axis-grid article>div,.report-transmission-grid article>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.report-axis-grid article span,.report-axis-grid article small,.report-transmission-grid article span,.report-transmission-grid article small{color:var(--muted);font-size:10px}.report-axis-grid article strong{color:var(--accent-strong);font-size:13px}.report-axis-grid article.is-caution strong{color:#9a6700}.report-axis-grid article p,.report-transmission-grid article p{color:var(--text-secondary);font-size:11px;line-height:1.55}.report-transmission-grid article>strong{display:block;margin-top:12px;font-size:13px}.report-transmission-grid article b{color:var(--accent);font-size:10px}.report-transmission-grid article em{display:block;margin:9px 0 3px;color:var(--muted);font-size:9px;font-style:normal;font-weight:700}.report-table-wrap{overflow-x:auto}.report-table-wrap table{width:100%;border-collapse:collapse;font-size:11px}.report-table-wrap th{color:var(--muted);font-size:10px;font-weight:650;text-align:left;background:#f7f9fc}.report-table-wrap th,.report-table-wrap td{min-width:84px;padding:12px 14px;border-bottom:1px solid var(--line);white-space:nowrap}.report-table-wrap th:first-child,.report-table-wrap td:first-child{padding-left:22px}.report-table-wrap tbody tr:hover{background:#f7faff}.phase-pill{display:inline-flex;padding:5px 8px;color:var(--text-secondary);background:#f8fafc;border:1px solid var(--line);border-radius:999px}.phase-pill.is-positive{color:var(--accent-strong);background:#eef4ff;border-color:#2563eb33}.phase-pill.is-caution{color:#8a5a00;background:#fff8e6;border-color:#a162072e}.report-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.report-rank-list{display:grid}.report-rank-list article{display:grid;padding:13px 18px;align-items:center;grid-template-columns:24px minmax(0,1fr) auto;gap:10px;border-bottom:1px solid var(--line)}.report-rank-list article:hover{background:#f7faff}.report-rank-list article>b{color:var(--accent);font-size:11px}.report-rank-list article>div{display:grid;min-width:0;gap:4px}.report-rank-list article strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.report-rank-list article strong small{color:var(--muted);font-weight:500}.report-rank-list article span{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.report-rank-list .rank-metric{min-width:98px;text-align:right}.report-rank-list .rank-metric strong{color:var(--accent-strong);font-size:15px}.report-news-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px}.report-news-list article{display:grid;min-width:0;padding:18px;gap:9px;background:#fff;border:1px solid var(--line);border-radius:13px}.report-news-list article>div{display:flex;gap:9px;align-items:center}.report-news-list article>div span{padding:4px 7px;color:var(--accent-strong);font-size:9px;background:#eef4ff;border-radius:6px}.report-news-list article small,.report-news-list p{color:var(--muted)}.report-news-list a{display:flex;width:max-content;max-width:100%;align-items:center;gap:7px;color:var(--text);text-decoration:none}.report-news-list a:hover{color:var(--accent-strong)}.report-news-list a strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-news-list p{margin:0;font-size:11px;line-height:1.6}.report-price-check{padding:8px 9px;color:var(--accent-strong)!important;background:#f7faff;border-radius:8px}.report-empty{padding:28px!important;color:var(--muted);text-align:center}.report-footer{padding-right:4px;padding-left:4px}.report-state-card{margin-top:70px;padding:30px;color:var(--muted);text-align:center;background:#fff;border:1px solid var(--line);border-radius:18px}.report-state-card.is-error{color:#b42318;border-color:#b4231838}@media(max-width:1180px){.report-conclusion{grid-template-columns:1fr}.report-dashboard-figure{border-top:1px solid var(--line);border-left:0}.report-axis-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1080px){.market-report-layout{grid-template-columns:190px minmax(0,1fr);gap:18px}.report-hero{grid-template-columns:1fr}.report-kpis{grid-template-columns:repeat(2,1fr)}.report-two-column,.report-transmission-grid{grid-template-columns:1fr}}@media(max-width:720px){.report-topbar{display:grid;padding:10px 14px;gap:8px}.report-brand{display:none}.market-report-layout{display:block;width:min(100% - 28px,1500px)}.report-sidebar{position:static;max-height:none;margin-top:18px}.report-sidebar nav{display:flex;overflow-x:auto}.report-sidebar nav button{min-width:165px}.market-report-main{padding-top:30px}.report-hero{gap:26px}.report-hero h1{font-size:36px}.report-date-card{grid-template-columns:1fr 1fr}.chart-phase-inline{gap:6px 4px}.chart-phase-inline li{font-size:8px}.market-reading-guide{padding:14px 16px;grid-template-columns:1fr}.market-reading-guide>div{padding-right:0;grid-template-columns:64px minmax(0,1fr)}.market-reading-guide>div+div{padding-top:12px;padding-left:0;border-top:1px solid var(--line);border-left:0}.report-image-modal{padding:8px}.report-image-modal__content{width:100%;max-height:96vh;padding:8px;border-radius:13px}.report-image-modal__content>img{max-height:calc(96vh - 66px)}.report-kpis,.report-axis-grid,.report-news-list{grid-template-columns:1fr}.report-news-list a strong{white-space:normal}.report-conclusion{border-radius:18px}.report-conclusion__copy{padding:23px 20px}.report-dashboard-figure{padding:10px}.report-dashboard-guide{grid-template-columns:1fr}}.portfolio-report-shell{min-height:100vh;background:radial-gradient(circle at 10% 0%,rgb(37 99 235 / 9%),transparent 34rem),#fff}.portfolio-report-topbar{position:sticky;z-index:30;top:0;display:flex;min-height:68px;padding:0 32px;align-items:center;justify-content:space-between;gap:24px;background:#fffffff0;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.portfolio-report-brand{display:inline-flex;flex:0 0 auto;align-items:center;gap:9px}.portfolio-report-brand>svg{color:var(--accent)}.portfolio-report-brand div{display:grid;gap:1px}.portfolio-report-brand strong{font-size:15px}.portfolio-report-brand span{color:var(--muted);font-size:9px;letter-spacing:.09em}.portfolio-report-main{width:min(1380px,calc(100% - 48px));margin:0 auto;padding:48px 0 80px}.portfolio-report-loading{display:flex;min-height:100vh;align-items:center;justify-content:center;gap:10px;color:var(--muted)}.portfolio-report-alert,.portfolio-report-privacy{display:flex;padding:14px 16px;align-items:flex-start;gap:10px;border-radius:12px}.portfolio-report-alert{color:var(--danger);background:#fff1f0;border:1px solid #ffd1cd}.portfolio-report-privacy{margin:18px 0;color:#126047;background:#eefaf5;border:1px solid #bde7d5}.portfolio-report-privacy p{margin:3px 0 0;color:#4b6d61;font-size:12px}.portfolio-report-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(420px,.8fr);gap:48px;align-items:end;padding:8px 4px 28px}.portfolio-report-eyebrow,.portfolio-report-card__head span{color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.12em}.portfolio-report-hero h1{margin:10px 0 13px;font-size:clamp(34px,4vw,58px);line-height:1.08;letter-spacing:-.05em}.portfolio-report-hero p,.portfolio-report-card__head p,.portfolio-report-card>p,.portfolio-report-method>p{margin:0;color:var(--text-secondary);line-height:1.65}.portfolio-report-hero dl,.portfolio-decision-summary dl{display:grid;margin:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.portfolio-report-hero dl div{padding:15px;background:#fff;border:1px solid var(--line);border-radius:12px}.portfolio-report-hero dt,.portfolio-decision-summary dt{color:var(--muted);font-size:10px}.portfolio-report-hero dd,.portfolio-decision-summary dd{margin:4px 0 0;font-size:17px;font-weight:800}.portfolio-report-card{margin-top:16px;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:0 10px 30px #0f172a0d}.portfolio-report-card__head{display:flex;padding:20px 22px;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line)}.portfolio-report-card__head h2,.portfolio-report-card>h2{margin:4px 0 5px;font-size:19px}.portfolio-report-card__head p,.portfolio-report-card>p{font-size:12px}.portfolio-report-card__head>svg{color:var(--accent)}.portfolio-report-controls,.portfolio-report-side-controls{display:flex;padding:18px 22px;align-items:end;flex-wrap:wrap;gap:11px}.portfolio-report-controls label,.portfolio-report-side-controls label{color:var(--muted);font-size:11px;font-weight:700}.portfolio-report-controls input[type=number],.portfolio-report-side-controls input[type=number]{display:block;width:180px;margin-top:5px;padding:10px 11px}.portfolio-report-check{display:inline-flex;min-height:40px;align-items:center;gap:7px;color:var(--text)!important}.portfolio-report-controls button,.portfolio-report-side-controls button,.portfolio-report-secondary{min-height:40px;padding:9px 14px;color:#fff;font-size:12px;font-weight:800;cursor:pointer;background:var(--accent);border:0;border-radius:9px}.portfolio-report-table-wrap{overflow-x:auto}.portfolio-report-table-wrap table{width:100%;border-collapse:collapse;font-size:12px}.portfolio-report-table-wrap th{color:var(--muted);font-size:10px;font-weight:700;background:#f7f9fc}.portfolio-report-table-wrap th,.portfolio-report-table-wrap td{min-width:86px;padding:12px 13px;text-align:left;white-space:nowrap;border-bottom:1px solid var(--line)}.portfolio-report-table-wrap th:first-child,.portfolio-report-table-wrap td:first-child{min-width:190px;padding-left:22px}.portfolio-report-table-wrap td:last-child{white-space:normal}.portfolio-report-table-wrap td small{display:block;margin-top:2px;color:var(--muted);font-size:10px}.portfolio-action{display:inline-block;padding:4px 8px;font-size:10px;font-weight:800;border-radius:999px}.portfolio-action.hold{color:#475467;background:#eef2f7}.portfolio-action.buy,.portfolio-action.add{color:#087a55;background:#e7f8ef}.portfolio-action.sell,.portfolio-action.reduce{color:#b42318;background:#feecec}.portfolio-action.review{color:#8b6100;background:#fff3d6}.portfolio-report-cash{padding:13px 22px;color:var(--muted);font-size:11px}.portfolio-decision-summary{display:grid;margin:20px 0 4px;padding:24px;color:#fff;grid-template-columns:minmax(0,1fr) minmax(420px,.8fr);gap:32px;align-items:center;background:linear-gradient(125deg,#173f80,#2563eb);border-radius:18px}.portfolio-decision-summary span{color:#ffffffb8;font-size:10px;font-weight:800}.portfolio-decision-summary h2{margin:6px 0 0;font-size:24px}.portfolio-decision-summary dl{grid-template-columns:repeat(3,minmax(0,1fr))}.portfolio-decision-summary dl div{padding:10px;background:#ffffff1a;border:1px solid rgb(255 255 255 / 15%);border-radius:10px}.portfolio-decision-summary dt{color:#ffffffa6}.portfolio-decision-summary dd{font-size:15px}.portfolio-report-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}.portfolio-report-actions .portfolio-report-secondary{margin:16px 22px 20px;color:var(--accent-strong);background:#eff5ff;border:1px solid var(--line-strong)}.portfolio-report-side .portfolio-report-card{padding:18px}.portfolio-report-side .portfolio-report-side-controls{padding:12px 0 0;align-items:stretch}.portfolio-report-side .portfolio-report-side-controls label,.portfolio-report-side .portfolio-report-side-controls input[type=number],.portfolio-report-side .portfolio-report-side-controls button{width:100%}.portfolio-report-history button{display:flex;width:100%;padding:10px 0;align-items:flex-start;justify-content:space-between;gap:10px;background:transparent;color:inherit;font:inherit;cursor:pointer;text-align:left;border:0;border-bottom:1px solid var(--line);font-size:10px}.portfolio-report-history button:hover,.portfolio-report-history button.is-selected{margin-inline:-6px;padding-inline:6px;background:#f1f6ff;border-radius:7px}.portfolio-report-history button small{display:block;color:var(--muted)}.portfolio-report-history button>span{color:var(--text-secondary);text-align:right}.portfolio-report-history-help{margin:-2px 0 8px;color:var(--muted);font-size:11px;line-height:1.45}.portfolio-report-history-performance{display:grid;margin-top:12px;padding:12px;gap:3px;background:#eefaf5;border:1px solid #bde7d5;border-radius:9px;font-size:12px}.portfolio-report-history-performance.is-down{background:#fff1f0;border-color:#ffd1cd}.portfolio-report-history-performance span,.portfolio-report-history-performance small{color:var(--text-secondary)}.portfolio-report-history-performance b{font-size:15px}.portfolio-report-danger{width:100%;margin-top:16px;padding:10px;color:var(--danger);font-size:11px;font-weight:800;cursor:pointer;background:#fff1f0;border:1px solid #ffd1cd;border-radius:9px}.is-up{color:#087a55;font-weight:800}.is-down{color:var(--danger);font-weight:800}.portfolio-report-method{margin-top:18px;padding:22px;background:#f7f9fc;border:1px solid var(--line);border-radius:16px}.portfolio-report-method h2{margin:0 0 10px;font-size:18px}.portfolio-report-method ol{margin:0;padding-left:20px;color:var(--text-secondary);font-size:12px;line-height:1.8}.portfolio-report-method>p{display:flex;margin-top:14px;align-items:flex-start;gap:8px;color:#7c4f00;font-size:11px}.portfolio-report-footer{margin-top:42px}@media(max-width:980px){.portfolio-report-hero,.portfolio-decision-summary,.portfolio-report-grid{grid-template-columns:1fr}.portfolio-report-grid{gap:0}}@media(max-width:760px){.portfolio-report-topbar{display:grid;padding:10px 14px;gap:8px}.portfolio-report-brand{display:none}.portfolio-report-main{width:min(100% - 24px,1380px);padding-top:28px}.portfolio-report-hero{gap:22px}.portfolio-report-hero dl{grid-template-columns:1fr 1fr}.portfolio-decision-summary dl{grid-template-columns:1fr}.portfolio-report-controls{align-items:stretch}.portfolio-report-controls label,.portfolio-report-controls input[type=number],.portfolio-report-controls button{width:100%}}@media(max-width:980px){.portfolio-report-table-wrap{overflow:visible}.portfolio-report-table-wrap table,.portfolio-report-table-wrap tbody{display:block}.portfolio-report-table-wrap thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.portfolio-report-table-wrap tr{display:block;padding:12px 16px;border-bottom:1px solid var(--line)}.portfolio-report-table-wrap td,.portfolio-report-table-wrap td:first-child{display:flex;min-width:0;padding:5px 0;justify-content:space-between;align-items:baseline;gap:12px;border:0;white-space:normal;overflow-wrap:anywhere}.portfolio-report-table-wrap td:first-child{display:block;padding-bottom:9px}.portfolio-report-table-wrap td:not(:first-child):before{content:attr(data-label);flex:0 0 76px;color:var(--muted);font-size:11px}.portfolio-report-history button{overflow-wrap:anywhere}}.portfolio-report-main>label{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px;font-size:13px}.portfolio-report-main>label select{min-height:36px;max-width:100%;border:1px solid var(--line);border-radius:6px;padding:6px 10px;background:#fff;color:var(--text)}.portfolio-report-main button:disabled{opacity:.45;cursor:not-allowed}.account-main{padding-top:32px}.account-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:26px}.account-heading h1{font-size:clamp(26px,3vw,38px);margin:10px 0;letter-spacing:-.04em}.account-heading h1,.account-main p{word-break:keep-all;overflow-wrap:anywhere}.account-heading p,.account-footnote{color:var(--muted);line-height:1.8;font-size:13px}.account-main .portfolio-report-card{margin-bottom:22px;padding:24px;min-width:0}.account-main .portfolio-report-card>h2{margin-top:0;font-size:19px}.account-main .portfolio-report-card>p{color:var(--muted);font-size:13px;line-height:1.8}.account-main select{min-height:40px;padding:8px 12px;border:1px solid #dbe3ed;border-radius:8px;background:#fff;color:#172033}.account-period{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:24px 0 10px}.account-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:20px 0}.account-metrics>div{padding:22px 18px;border:1px solid #dce5f0;border-radius:14px;background:#fff;display:flex;flex-direction:column;gap:10px}.account-metrics>div:first-child{background:#142c50;color:#fff}.account-metrics span{font-size:12px}.account-metrics strong{font-size:clamp(20px,2vw,28px);letter-spacing:-.03em;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.account-metrics small{font-size:11px;opacity:.75}.account-notice{border-left:4px solid #2563eb}.account-notice summary{cursor:pointer;color:#2563eb;font-size:13px}.account-notice details p{margin:8px 0;font-size:12px}.account-chart{margin:0}.account-chart figcaption{display:flex;justify-content:space-between;font-weight:700;gap:12px}.account-chart figcaption span{font-size:12px;font-weight:400;color:var(--muted)}.account-chart svg{width:100%;max-height:230px}.account-chart>div{display:flex;justify-content:space-between;gap:15px;font-size:12px;color:var(--muted)}.account-main .portfolio-report-table-wrap{overflow-x:auto}.account-main table{min-width:760px;width:100%;font-size:12px}.account-main td{white-space:nowrap}.account-main td small{white-space:normal;min-width:100px}.account-footnote{margin-top:24px}.account-heading>div,.account-period>*,.account-metrics>div{min-width:0}.account-heading .portfolio-report-secondary{flex-shrink:0}.account-main .portfolio-report-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.5}.account-main .portfolio-report-secondary svg{flex-shrink:0}.account-main .portfolio-report-controls{padding:20px 0 0}.account-main select{max-width:100%}.account-main .portfolio-report-controls select{display:block;margin-top:5px}.account-main .portfolio-report-table-wrap button{padding:5px 7px;border:1px solid #dce5f0;border-radius:6px;background:#f1f5fb;color:#1d4ed8;font:inherit;cursor:pointer}.account-main .portfolio-report-table-wrap button:hover{background:#dbeafe}.account-period label{display:flex;align-items:center;gap:8px}.account-main .portfolio-report-card>p+p{margin-top:8px}.account-main .portfolio-report-card>details{margin-top:16px}.account-main .portfolio-report-card>strong{display:block;margin-top:12px}.account-pnl-guide{padding:18px 20px;margin-bottom:24px;border:1px solid #dce5f0;border-radius:12px;background:#f1f5fb;font-size:13px;line-height:1.8;overflow-wrap:anywhere}.account-pnl-guide p{margin:8px 0 0;color:var(--muted)}.account-main .portfolio-report-table-wrap{max-width:100%;margin-top:18px;overscroll-behavior-x:contain}.account-main .portfolio-report-table-wrap th:first-child,.account-main .portfolio-report-table-wrap td:first-child{min-width:110px;padding-left:12px}.account-main .portfolio-report-table-wrap td small{max-width:190px;overflow-wrap:anywhere}.account-chart svg{display:block}.account-decision ul,.account-decision ol{padding-left:22px;font-size:13px;line-height:1.9;word-break:keep-all;overflow-wrap:anywhere}.account-decision li+li{margin-top:8px}.account-decision summary{cursor:pointer;color:#1d4ed8;font-weight:700;font-size:13px}.account-decision details p{font-size:12px;line-height:1.8;color:var(--muted)}.account-chart>div{flex-wrap:wrap}@media(max-width:1200px)and (min-width:901px){.account-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}.account-metrics>div{grid-column:span 2}.account-metrics>div:nth-child(-n+2){grid-column:span 3}}@media(max-width:900px){.account-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.account-metrics>div:first-child{grid-column:1 / -1}.account-heading,.account-period{align-items:flex-start;flex-direction:column}}@media(max-width:980px){.account-main .portfolio-report-table-wrap{overflow-x:auto}.account-main table{display:table}.account-main thead{display:table-header-group;position:static;width:auto;height:auto;overflow:visible;clip-path:none}.account-main tbody{display:table-row-group}.account-main tr{display:table-row}.account-main .portfolio-report-table-wrap td,.account-main .portfolio-report-table-wrap td:first-child,.account-main th{display:table-cell;padding:12px;white-space:nowrap}.account-main .portfolio-report-table-wrap td:before{display:none}.account-chart figcaption{flex-direction:column}.account-main .portfolio-report-controls{align-items:stretch}}.account-main .portfolio-report-table-wrap td:last-child{min-width:86px;max-width:250px;white-space:normal}@media(max-width:600px){.account-main .portfolio-report-card{padding:18px 14px}.account-period label{width:100%;align-items:stretch;flex-direction:column}.account-metrics>div{padding:18px 12px}.account-heading .portfolio-report-secondary,.account-main .portfolio-report-controls select{width:100%}.account-main .portfolio-report-table-wrap:before{content:"표를 좌우로 밀어 전체 항목을 확인하세요";display:block;width:fit-content;margin-bottom:10px;color:var(--muted);font-size:11px}}@media(max-width:380px){.account-metrics{grid-template-columns:minmax(0,1fr)}}.trading-report-shell{background:var(--surface);color:var(--text)}.trading-report-shell *{letter-spacing:0}.trading-report-shell .report-sidebar{align-self:start;min-width:0}.trading-report-shell .report-sidebar nav{max-width:100%}.trading-report-main{min-width:0}.trading-report-state{display:flex;align-items:center;gap:9px;padding:18px;border:1px solid var(--line);border-radius:8px}.trading-report-state.is-error{color:var(--danger);border-color:var(--danger)}.trading-report-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr);align-items:start;gap:24px;padding-bottom:28px;border-bottom:1px solid var(--line)}.trading-report-hero h1{margin:12px 0;font-size:28px;line-height:1.3}.trading-report-hero p{margin:12px 0;color:var(--text-secondary);font-size:13px;line-height:1.7}.trading-date-meta{display:flex;flex-wrap:wrap;gap:6px 18px;color:var(--muted);font-size:12px;line-height:1.6}.trading-report-hero dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border-top:1px solid var(--line)}.trading-report-hero dl div{padding:16px 10px;border-bottom:1px solid var(--line)}.trading-report-hero dt{font-size:11px;color:var(--muted)}.trading-report-hero dd{margin:6px 0 0;font-size:13px;font-weight:700;overflow-wrap:anywhere}.trading-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}.trading-account-card{min-width:0;padding:20px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.trading-account-card__head,.trading-card-head,.trading-next-title{display:flex;justify-content:space-between;align-items:start;gap:12px}.trading-account-card__head>div,.trading-next-title>div{min-width:0}.trading-account-card__head span,.trading-card-head span,.trading-next-title span{display:block;color:var(--accent);font-size:10px;font-weight:700;overflow-wrap:anywhere}.trading-account-card h2,.trading-next-title h3{font-size:17px;margin:5px 0 0}.trading-account-card__head>b{font-size:14px;white-space:nowrap}.trading-account-equity{display:block;font-size:30px;font-variant-numeric:tabular-nums;margin:22px 0;overflow-wrap:anywhere}.trading-account-card dl,.trading-next-grid article dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0}.trading-account-card dt,.trading-next-grid dt{font-size:11px;color:var(--muted)}.trading-account-card dd,.trading-next-grid dd{margin:4px 0 0;font-size:13px;font-weight:600;overflow-wrap:anywhere}.trading-report-card{padding:28px 0;border-bottom:1px solid var(--line)}.trading-card-head{margin-bottom:20px}.trading-card-head h2{margin:5px 0 0;font-size:20px}.trading-card-head p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.6}.trading-card-head>svg{flex-shrink:0;color:var(--accent)}.trading-strategy-block{margin-top:22px}.trading-strategy-block h3{font-size:14px}.trading-strategy-block h3 small{display:inline-block;margin-left:8px;font-weight:400;color:var(--muted);overflow-wrap:anywhere}.trading-table-wrap{max-width:100%;overflow-x:auto}.trading-table-wrap table{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}.trading-table-wrap th{text-align:left;color:var(--muted);background:var(--surface-soft);font-size:11px}.trading-table-wrap th,.trading-table-wrap td{padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top;white-space:nowrap}.trading-table-wrap td small{display:block;color:var(--muted);margin-top:4px}.trading-report-shell .trading-empty{padding:24px;color:var(--muted);text-align:center;white-space:normal}.trading-action{display:inline-flex;padding:3px 6px;border-radius:4px;font-size:11px;background:var(--surface-soft)}.trading-action.is-buy{background:#e8f5ef;color:#176145}.trading-action.is-sell{background:#fff0ec;color:#b42318}.trading-action.is-hold{color:var(--muted)}.trading-next-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.trading-next-grid article{min-width:0}.trading-next-title{margin-bottom:20px}.trading-next-title>b{white-space:nowrap;font-size:12px}.trading-next-title .is-open{color:#176145}.trading-next-title .is-closed{color:var(--muted)}.trading-next-grid ul{list-style:none;margin:16px 0 0;padding:0}.trading-next-grid li{display:flex;align-items:start;flex-wrap:wrap;gap:8px;padding:12px 0;border-top:1px solid var(--line)}.trading-next-grid li small{color:var(--muted)}.trading-no-action{display:flex;align-items:center;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted)}.trading-no-action div{display:grid;gap:4px;font-size:13px}.trading-no-action span{font-size:12px}.trading-report-shell .is-up{color:#176145}.trading-report-shell .is-down{color:var(--danger)}.trading-method{margin-top:28px}.trading-method>div{display:flex;align-items:center;gap:9px}.trading-method h2{margin:0;font-size:18px}.trading-method ol{padding-left:22px;color:var(--text-secondary);font-size:13px;line-height:1.8}.trading-method p{display:flex;align-items:start;gap:8px;padding:14px 0;border-top:1px solid var(--line);color:var(--warning);font-size:12px;line-height:1.7}.trading-method p>svg{flex-shrink:0}.trading-report-footer{margin-top:24px}.trading-report-shell .spin{animation:trading-spin 1s linear infinite}@keyframes trading-spin{to{transform:rotate(360deg)}}@media(max-width:1180px){.trading-report-hero{grid-template-columns:minmax(0,1fr)}}@media(max-width:720px){.trading-report-shell .product-tabs{max-width:100%;overflow-x:auto}.trading-report-main{padding-top:28px}.trading-account-grid,.trading-next-grid{grid-template-columns:minmax(0,1fr)}.trading-report-hero h1{font-size:24px}.trading-account-card{padding:16px}}@media(prefers-reduced-motion:reduce){.trading-report-shell .spin{animation:none}}.trading-strategy-tabs{display:flex;gap:8px;padding:20px 0;border-bottom:1px solid #dce2e8;flex-wrap:wrap}.trading-strategy-tabs button{padding:12px 18px;border:0;border-bottom:3px solid transparent;background:transparent;color:#525d69;cursor:pointer;font:inherit}.trading-strategy-tabs button[aria-selected=true]{border-bottom-color:#1765b0;color:#1765b0;font-weight:700}.trading-strategy-tabs button:focus-visible{outline:2px solid #1765b0;outline-offset:2px}#strategy-account-panel .trading-account-grid,#strategy-account-panel .trading-next-grid{grid-template-columns:minmax(0,1fr)}#strategy-account-panel .trading-account-card{border:0;border-radius:0}.trading-replay-controls{display:flex;align-items:center;flex-wrap:wrap;gap:16px;padding:18px 0;border-bottom:1px solid #dce2e8}.trading-replay-controls [role=group]{display:flex;gap:4px}.trading-replay-controls button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 12px;border:1px solid #dce2e8;background:#fff;color:#374151;cursor:pointer;font:inherit;border-radius:4px}.trading-replay-controls button[aria-pressed=true]{background:#edf5ff;border-color:#1765b0;color:#1765b0}.trading-replay-controls label{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:13px}.trading-replay-controls input{min-width:0;max-width:100%;padding:8px;border:1px solid #c8d2df;border-radius:4px;font:inherit;background:#fff;color:#243242}.trading-replay-controls p{flex-basis:100%;margin:0}.trading-replay-controls [role=alert]{color:#a33232}.trading-replay-controls>span,.trading-replay-status{color:#526377;font-size:12px;line-height:1.7}.site-info-shell{min-height:100vh;color:var(--text);background:#fff}.site-info-topbar{position:sticky;z-index:20;top:0;display:grid;min-height:64px;padding:0 28px;align-items:center;grid-template-columns:1fr auto 1fr;background:#fffffff0;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.site-info-topbar a{display:inline-flex;width:max-content;align-items:center;gap:7px;color:var(--text-secondary);font-size:12px;font-weight:650;text-decoration:none}.site-info-topbar a:last-child{justify-self:end}.site-info-topbar a:hover{color:var(--accent-strong)}.site-info-topbar strong{font-size:15px;letter-spacing:-.02em}.site-info-main{width:min(820px,calc(100% - 40px));margin:0 auto;padding:70px 0 0}.site-info-hero{padding-bottom:34px;border-bottom:1px solid var(--line)}.site-info-hero>span{color:var(--accent);font-size:10px;font-weight:850;letter-spacing:.14em}.site-info-hero h1{margin:12px 0 13px;font-size:clamp(36px,6vw,56px);letter-spacing:-.055em}.site-info-hero p{max-width:650px;margin:0;color:var(--text-secondary);font-size:15px;line-height:1.75}.site-info-article{padding:16px 0 30px}.site-info-article section{margin-top:38px}.site-info-article h2{margin:0 0 12px;font-size:20px;letter-spacing:-.03em}.site-info-article p,.site-info-article li{color:var(--text-secondary);font-size:14px;line-height:1.85}.site-info-article ul{display:grid;padding-left:22px;gap:8px}.site-info-article a:not(.info-contact-link){display:inline-flex;align-items:center;gap:4px;color:var(--accent-strong);text-underline-offset:3px}.info-effective{margin:18px 0 0;color:var(--muted)!important;font-size:12px!important}.site-info-article .info-callout{display:flex;padding:18px 20px;align-items:flex-start;gap:11px;background:#f2f6ff;border:1px solid rgb(37 99 235 / 16%);border-radius:14px}.site-info-article p.info-callout{display:block}.info-callout>svg{flex:0 0 auto;margin-top:4px;color:var(--accent)}.info-callout p{margin:0}.info-contact-link{display:inline-flex;padding:12px 15px;align-items:center;gap:8px;color:#fff;background:var(--accent-strong);border-radius:10px;font-size:13px;font-weight:750;text-decoration:none}.info-secondary{margin-top:15px;font-size:12px!important}@media(max-width:600px){.site-info-topbar{padding:0 16px;grid-template-columns:1fr 1fr}.site-info-topbar strong{display:none}.site-info-main{width:min(100% - 28px,820px);padding-top:48px}.site-info-hero h1{font-size:38px}}:root{font-family:Pretendard,Pretendard Variable,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#10213b;background:#fff;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #ffffff;--surface: #ffffff;--surface-strong: #ffffff;--surface-soft: #f2f6ff;--line: rgb(15 76 150 / 12%);--line-strong: rgb(15 76 150 / 24%);--text: #10213b;--muted: #64748b;--accent: #2563eb;--accent-strong: #1d4ed8;--accent-ink: #ffffff;--danger: #b42318;--warning: #9a6700;--radius: 20px;--text-primary: #10213b;--text-secondary: #475569;--text-muted: #64748b;--surface-elevated: #ffffff;--surface-sunken: #f3f6fa;--border-subtle: rgb(15 76 150 / 12%);--border-strong: rgb(15 76 150 / 24%);--chart-grid: rgb(37 99 235 / 10%);--tooltip-background: #0f172a;--radius-xl: 20px;--shadow-card: 0 18px 50px rgb(15 23 42 / 8%)}*{box-sizing:border-box}html{min-width:320px;min-height:100%;scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden;color:var(--text);background:radial-gradient(circle at 12% -12%,rgb(37 99 235 / 10%),transparent 34rem),#fff}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,select{color:var(--text);background:#fff;border:1px solid var(--line);border-radius:10px}input:hover,select:hover{border-color:var(--line-strong)}input:focus,select:focus{border-color:#2563eb9e}input:disabled{color:#64748b;cursor:not-allowed}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.app-shell{min-height:100vh;overflow:hidden}.topbar{position:relative;z-index:10;display:flex;width:min(1500px,calc(100% - 48px));height:76px;margin:0 auto;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;color:var(--text);text-decoration:none}.brand-mark{display:flex;width:27px;height:27px;margin-right:10px;align-items:flex-end;justify-content:center;gap:3px;padding:5px;background:var(--accent);border-radius:8px;transform:rotate(-2deg)}.brand-mark span{display:block;width:3px;background:var(--accent-ink);border-radius:2px}.brand-mark span:nth-child(1){height:7px}.brand-mark span:nth-child(2){height:12px}.brand-mark span:nth-child(3){height:16px}.brand-word{font-size:19px;font-weight:750;letter-spacing:-.055em}.brand-dot{color:var(--accent);font-size:22px;font-weight:800}.topbar-meta{display:flex;align-items:center;gap:8px}.status-pill.status-pill--link{border:1px solid rgb(37 99 235 / 32%);background:#2563eb26;cursor:pointer}.status-pill.status-pill--link:hover{border-color:#2563eb94;background:#2563eb40}.status-pill{display:inline-flex;min-height:30px;padding:0 11px;align-items:center;gap:6px;color:#475569;font-size:12px;font-weight:650;border:1px solid var(--line);border-radius:999px}.status-pill--demo{color:#475569;background:#2563eb12;border-color:#2563eb2e}.status-pill--private{color:#475569;background:#2563eb0f;border-color:#2563eb29}.portfolio-layout{display:grid;width:min(1500px,calc(100% - 48px));margin:0 auto;align-items:start;grid-template-columns:220px minmax(0,1fr);gap:32px}.portfolio-page{min-width:0}.portfolio-sidebar{position:sticky;top:20px;z-index:4;max-height:calc(100vh - 40px);margin-top:70px;padding:18px;overflow-y:auto;background:#fffffff5;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.portfolio-sidebar__header{display:flex;margin-bottom:14px;align-items:center;justify-content:space-between;gap:10px}.portfolio-sidebar__header>div{display:grid;gap:4px}.portfolio-sidebar__header span{color:var(--accent);font-size:8px;font-weight:800;letter-spacing:.15em}.portfolio-sidebar__header strong{font-size:14px}.portfolio-sidebar__header>button,.portfolio-sidebar__delete{display:grid;width:32px;height:32px;flex:0 0 auto;place-items:center;color:#64748b;cursor:pointer;background:#2563eb12;border:1px solid var(--line);border-radius:9px}.portfolio-sidebar__header>button:hover{color:var(--text);border-color:var(--line-strong)}.portfolio-sidebar nav{display:grid;gap:7px}.portfolio-sidebar__item{position:relative;min-width:0}.portfolio-sidebar__item>button:first-child{display:flex;width:100%;min-height:55px;padding:10px 38px 10px 11px;align-items:center;gap:10px;color:#64748b;text-align:left;cursor:pointer;background:transparent;border:1px solid transparent;border-radius:11px}.portfolio-sidebar__item>button:first-child:hover,.portfolio-sidebar__item>button:first-child.is-active{color:var(--text);background:#2563eb14;border-color:#2563eb2b}.portfolio-sidebar__item>button:first-child>svg{flex:0 0 auto;color:var(--accent)}.portfolio-sidebar__item>button:first-child span{display:grid;min-width:0;gap:4px}.portfolio-sidebar__item>button:first-child strong,.portfolio-sidebar__item>button:first-child small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portfolio-sidebar__item>button:first-child strong{font-size:11px}.portfolio-sidebar__item>button:first-child small{color:#64748b;font-size:8px}.portfolio-sidebar__delete{position:absolute;top:50%;right:7px;width:27px;height:27px;color:#64748b;background:transparent;border-color:transparent;transform:translateY(-50%)}.portfolio-sidebar__delete:hover{color:var(--danger);background:#b4231814}.portfolio-sidebar>p{margin:16px 2px 0;color:#64748b;font-size:8px;line-height:1.5}.dashboard{position:relative;z-index:1;width:100%;margin:0;padding:70px 0 42px}.dashboard:before{position:absolute;z-index:-1;top:-7rem;left:-26rem;width:44rem;height:44rem;background:radial-gradient(circle,rgb(37 99 235 / 7%),transparent 65%);content:"";pointer-events:none}.intro-row{display:flex;margin-bottom:32px;align-items:flex-end;justify-content:space-between;gap:32px}.eyebrow,.panel-kicker{margin:0 0 9px;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.18em}.portfolio-name-field{display:flex;width:fit-content;margin-bottom:10px;align-items:center;gap:8px}.portfolio-name-field input{width:min(330px,58vw);height:35px;padding:0 10px;color:#475569;font-size:14px;font-weight:720;background:transparent;border-color:transparent}.portfolio-name-field input:hover,.portfolio-name-field input:focus{background:#2563eb0d;border-color:var(--line-strong)}.portfolio-name-field small{color:#64748b;font-size:8px;white-space:nowrap}.intro-row h1{max-width:760px;margin:0;overflow-wrap:break-word;font-size:clamp(32px,4.5vw,56px);font-weight:690;letter-spacing:-.065em;line-height:1.08}.intro-copy{margin:17px 0 0;color:var(--muted);font-size:15px;line-height:1.65}.price-date{display:flex;min-width:190px;padding:14px 16px;align-items:center;gap:11px;color:var(--accent);background:#2563eb0f;border:1px solid rgb(37 99 235 / 18%);border-radius:13px}.price-date div{display:grid;gap:3px}.price-date span{color:var(--muted);font-size:10px;font-weight:650}.price-date strong{color:var(--text);font-size:12px}.summary-card{position:relative;display:grid;min-height:330px;margin-bottom:20px;overflow:hidden;grid-template-columns:1.3fr .9fr;background:radial-gradient(circle at 10% 0%,rgb(37 99 235 / 10%),transparent 27rem),linear-gradient(135deg,#f5f8ff,#fff 62%,#f8fbff);border:1px solid rgb(37 99 235 / 15%);border-radius:26px;box-shadow:0 24px 70px #0f172a17}.summary-card:after{position:absolute;top:-120px;right:-100px;width:340px;height:340px;background:radial-gradient(circle,rgb(37 99 235 / 7%),transparent 66%);content:"";pointer-events:none}.summary-copy{display:flex;padding:clamp(30px,4vw,52px);flex-direction:column;justify-content:center}.summary-label{display:flex;align-items:center;gap:10px;color:#475569;font-size:13px;font-weight:650}.summary-icon{display:grid;width:34px;height:34px;place-items:center;color:var(--accent);background:#2563eb1a;border:1px solid rgb(37 99 235 / 18%);border-radius:9px}.summary-amount{margin-top:23px;font-size:clamp(37px,5.4vw,66px);font-weight:690;font-variant-numeric:tabular-nums;letter-spacing:-.065em;line-height:1}.summary-note{margin:17px 0 0;color:var(--muted);font-size:12px}.summary-stats{display:grid;max-width:650px;margin-top:38px;grid-template-columns:repeat(3,1fr)}.summary-stat{display:grid;gap:7px;padding-right:24px}.summary-stat+.summary-stat{padding-left:24px;border-left:1px solid var(--line)}.summary-stat span{color:var(--muted);font-size:11px}.summary-stat strong{font-size:15px;font-variant-numeric:tabular-nums}.negative{color:var(--danger)!important}.positive{color:var(--accent)!important}.allocation-overview{position:relative;z-index:1;display:flex;margin:24px;padding:28px;flex-direction:column;justify-content:center;background:#fff;border:1px solid var(--line);border-radius:19px}.allocation-heading{display:flex;align-items:flex-start;justify-content:space-between;color:var(--accent)}.allocation-heading>div{display:grid;gap:6px}.allocation-heading span{color:var(--muted);font-size:11px}.allocation-heading strong{color:var(--text);font-size:17px}.allocation-bar{display:flex;height:9px;margin:28px 0 22px;overflow:hidden;gap:3px;border-radius:99px}.allocation-bar span{display:block;min-width:2px;border-radius:99px}.allocation-legend{display:grid;gap:13px}.allocation-legend>div{display:grid;align-items:center;grid-template-columns:8px 1fr auto;gap:9px}.allocation-legend i{width:6px;height:6px;border-radius:50%}.allocation-legend span{overflow:hidden;color:#475569;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.allocation-legend strong{font-size:11px;font-variant-numeric:tabular-nums}.workspace-grid{display:grid;margin-bottom:20px;align-items:start;grid-template-columns:minmax(0,1fr) 340px;gap:20px}.panel{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card)}.holdings-panel{padding:28px}.panel-header{display:flex;margin-bottom:26px;align-items:flex-start;justify-content:space-between;gap:20px}.panel-header h2{margin:0;font-size:20px;font-weight:680;letter-spacing:-.035em}.panel-header p:not(.panel-kicker){margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.55}.panel-header--compact{align-items:center}.purchase-planner{display:grid;margin:-4px 0 24px;padding:16px;align-items:center;grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);gap:20px;background:#2563eb0d;border:1px solid rgb(37 99 235 / 15%);border-radius:14px}.purchase-planner>label{display:grid;align-items:center;grid-template-columns:auto minmax(150px,1fr);gap:14px}.purchase-planner>label>span{display:grid;gap:4px}.purchase-planner>label strong{font-size:11px}.purchase-planner>label small{color:#64748b;font-size:8px;white-space:nowrap}.purchase-planner .amount-input input{height:40px}.purchase-planner__summary{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:18px}.purchase-planner__summary>span{display:grid;gap:4px;color:#64748b;font-size:8px;text-align:right}.purchase-planner__summary strong{color:#475569;font-size:10px;font-variant-numeric:tabular-nums}.purchase-planner__summary p{margin:0;color:#64748b;font-size:9px;line-height:1.5;text-align:right}.secondary-button,.primary-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border:0;transition:transform .15s ease,color .15s ease,background .15s ease,border-color .15s ease}.secondary-button{min-height:38px;padding:0 14px;flex:0 0 auto;gap:7px;color:#475569;font-size:12px;font-weight:700;background:#2563eb0f;border:1px solid var(--line-strong);border-radius:10px}.secondary-button:hover{color:var(--text);background:#2563eb1c;border-color:#2563eb57}.secondary-button:active,.primary-button:active:not(:disabled){transform:translateY(1px)}.holdings-table{min-width:0}.holdings-head,.holding-row{display:grid;grid-template-columns:minmax(128px,1.42fr) minmax(54px,.5fr) minmax(66px,.62fr) minmax(62px,.58fr) minmax(76px,.7fr) minmax(74px,.68fr) minmax(80px,.74fr) minmax(60px,.56fr) minmax(60px,.56fr) minmax(68px,.62fr) 32px;gap:8px;align-items:center}.holdings-head{padding:0 8px 10px;color:#64748b;font-size:9px;font-weight:750;letter-spacing:.06em}.holding-row{min-height:76px;padding:13px 8px;border-top:1px solid rgb(15 76 150 / 8%)}.holding-row:hover{background:#f7faff}.asset-field{min-width:0}.ticker-line{display:flex;align-items:center;gap:8px}.ticker-line input{width:min(88px,70%);height:34px;padding:0 9px;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.ticker-line>span{padding:4px 6px;color:var(--accent);font-size:8px;font-weight:800;background:#2563eb14;border:1px solid rgb(37 99 235 / 17%);border-radius:5px}.asset-field small,.table-value small{display:block;margin-top:6px;overflow:hidden;color:#64748b;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.asset-field small{color:#64748b;font-size:10px}.input-error{border-color:#b42318ad!important}.asset-field:has(.input-error) small{color:var(--danger)}.table-field,.target-field{position:relative;display:flex;align-items:center}.table-field input,.target-field input{width:100%;height:34px;padding:0 26px 0 9px;font-size:12px;font-variant-numeric:tabular-nums}.table-field small,.target-field small{position:absolute;right:9px;color:#64748b;font-size:9px;pointer-events:none}.table-value,.weight-value{min-width:0}.table-value strong,.weight-value strong{display:block;overflow:hidden;font-size:11px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.table-value small.profit-positive{color:var(--accent)}.table-value small.profit-negative{color:var(--danger)}.profit-value strong.profit-positive{color:var(--accent)}.profit-value strong.profit-negative{color:var(--danger)}.planned-buy strong{color:var(--accent)}.weight-value span{display:block;height:3px;margin-top:9px;overflow:hidden;background:#0f4c9614;border-radius:20px}.weight-value i{display:block;height:100%;background:var(--accent);border-radius:inherit}.target-field--disabled{opacity:.48}.icon-button{width:32px;height:32px;justify-self:end;color:#64748b;background:transparent;border-radius:8px}.icon-button:hover{color:var(--danger);background:#b4231814}.panel-footnotes{margin-top:19px;padding-top:17px;border-top:1px solid rgb(15 76 150 / 8%)}.panel-footnote{display:flex;align-items:center;gap:7px;color:#64748b;font-size:10px}.panel-footnote--secondary{margin-top:7px;color:#64748b}.empty-state{display:grid;min-height:260px;padding:32px;place-items:center;align-content:center;text-align:center;border:1px dashed var(--line-strong);border-radius:14px}.empty-state>svg{margin-bottom:14px;color:var(--accent)}.empty-state strong{font-size:14px}.empty-state p{margin:7px 0 17px;color:var(--muted);font-size:11px}.rebalance-panel{position:sticky;top:20px;padding:26px}.spark-icon{display:grid;width:35px;height:35px;place-items:center;color:var(--accent);background:#2563eb17;border-radius:10px}.setting-field{display:block;margin-top:18px}.setting-field>span:first-child{display:flex;margin-bottom:8px;align-items:center;justify-content:space-between;gap:10px}.setting-field>span>span{color:#475569;font-size:11px;font-weight:650}.setting-field>span>small{color:#64748b;font-size:9px}.setting-field select{width:100%;height:42px;padding:0 12px;color-scheme:dark;font-size:11px}.price-policy-auto{display:flex;min-height:52px;padding:10px 12px;align-items:center;gap:10px;color:var(--accent);background:#2563eb12;border:1px solid rgb(37 99 235 / 17%);border-radius:10px}.price-policy-auto>div{display:grid;min-width:0;gap:3px}.price-policy-auto strong{color:#475569;font-size:10px}.price-policy-auto small{color:#64748b;font-size:8px;line-height:1.45}.amount-input,.percent-input{position:relative}.amount-input input,.percent-input input{width:100%;height:44px;padding:0 42px 0 13px;font-size:13px;font-variant-numeric:tabular-nums}.amount-input span,.percent-input span{position:absolute;top:50%;right:13px;color:#64748b;font-size:10px;transform:translateY(-50%);pointer-events:none}.formatted-value{display:block;margin-top:6px;color:var(--accent);font-size:10px;text-align:right}.setting-help{display:block;margin-top:8px;color:#64748b;font-size:9px;line-height:1.5}.target-summary{margin-top:22px;padding:16px;background:#f7f9fc;border:1px solid var(--line);border-radius:12px}.target-summary-row{display:flex;align-items:center;justify-content:space-between;font-size:10px}.target-summary-row span{color:var(--muted)}.target-summary-row strong{font-size:13px}.target-summary-row .valid{color:var(--accent)}.target-summary-row .invalid{color:var(--warning)}.target-progress{height:5px;margin:11px 0 10px;overflow:hidden;background:#0f4c9614;border-radius:99px}.target-progress span{display:block;height:100%;background:var(--warning);border-radius:inherit;transition:width .18s ease,background .18s ease}.target-progress span.valid{background:var(--accent)}.target-summary p{display:flex;margin:0;align-items:center;gap:5px;color:#64748b;font-size:9px;line-height:1.45}.rebalance-basis{display:flex;margin-top:16px;padding:15px;gap:11px;color:var(--accent);background:#2563eb0f;border:1px solid rgb(37 99 235 / 15%);border-radius:12px}.rebalance-basis>svg{flex:0 0 auto}.rebalance-basis strong{display:block;color:var(--text);font-size:11px}.rebalance-basis p{margin:5px 0 0;color:var(--muted);font-size:9px;line-height:1.5}.inline-alert{display:flex;margin-top:12px;padding:10px 11px;align-items:flex-start;gap:7px;color:#475569;font-size:9px;line-height:1.5;background:#b4231812;border:1px solid rgb(180 35 24 / 17%);border-radius:9px}.inline-alert svg{flex:0 0 auto}.primary-button{width:100%;min-height:48px;margin-top:24px;padding:0 16px;gap:9px;color:var(--accent-ink);font-size:12px;font-weight:800;background:var(--accent);border-radius:12px;box-shadow:0 12px 30px #2563eb2e}.primary-button svg:last-child{margin-left:auto}.primary-button:hover:not(:disabled){background:#1d4ed8}.primary-button:disabled{color:#94a3b8;cursor:not-allowed;background:#e9eef5;box-shadow:none}.estimate-note{margin:11px 4px 0;color:#64748b;font-size:9px;line-height:1.55;text-align:center}.privacy-inline{display:flex;margin-top:20px;padding-top:17px;align-items:center;gap:7px;color:#64748b;font-size:9px;border-top:1px solid rgb(15 76 150 / 8%)}.result-panel{margin-bottom:20px;padding:28px;scroll-margin-top:20px}.result-cash{display:grid;justify-items:end;gap:4px}.result-cash span,.result-cash small{color:var(--muted);font-size:9px}.result-cash strong{font-size:17px;font-variant-numeric:tabular-nums}.result-list{display:grid;gap:8px}.result-item{display:grid;min-height:72px;padding:13px 15px;align-items:center;grid-template-columns:minmax(190px,1.4fr) repeat(3,1fr) auto;gap:18px;background:#fff;border:1px solid rgb(15 76 150 / 8%);border-radius:13px}.result-asset{display:flex;min-width:0;align-items:center;gap:11px}.result-symbol{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;color:var(--accent);font-size:10px;font-weight:800;background:#2563eb14;border:1px solid rgb(37 99 235 / 17%);border-radius:11px}.result-asset div{min-width:0}.result-asset strong,.result-asset span{display:block}.result-asset strong{font-size:12px}.result-asset div span{margin-top:4px;overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.result-metric{display:grid;gap:5px}.result-metric span{color:#64748b;font-size:8px}.result-metric strong{display:flex;align-items:center;gap:4px;font-size:10px;font-variant-numeric:tabular-nums}.result-metric small{color:#64748b;font-size:8px;font-variant-numeric:tabular-nums}.result-metric svg{color:#64748b}.action-badge{display:inline-flex;min-width:74px;min-height:29px;padding:0 10px;align-items:center;justify-content:center;font-size:9px;font-weight:800;border-radius:999px}.action-badge--buy{color:#475569;background:#2563eb17;border:1px solid rgb(37 99 235 / 19%)}.action-badge--sell{color:#475569;background:#c2ccc612;border:1px solid rgb(194 204 198 / 18%)}.action-badge--hold{color:#475569;background:#0f4c960d;border:1px solid var(--line)}.chart-wrap{position:relative;margin-bottom:20px}.chart-wrap .asset-chart{min-height:438px;padding:29px 30px 25px;background:radial-gradient(circle at 88% 5%,rgb(37 99 235 / 6%),transparent 28%),var(--surface)}.chart-demo-note{position:absolute;right:30px;bottom:20px;display:flex;align-items:center;gap:6px;color:#64748b;font-size:9px;pointer-events:none}.security-banner{display:grid;padding:20px 24px;align-items:center;grid-template-columns:auto 1fr auto;gap:16px;background:#2563eb0d;border:1px solid rgb(37 99 235 / 14%);border-radius:15px}.security-icon{display:grid;width:42px;height:42px;place-items:center;color:var(--accent);background:#2563eb17;border-radius:12px}.security-banner strong{font-size:12px}.security-banner p{margin:5px 0 0;color:var(--muted);font-size:10px;line-height:1.5}.security-banner .storage-message{color:var(--accent)}.local-data-actions{display:grid;justify-items:end;gap:9px}.local-chip{padding:6px 9px;color:var(--accent);font-size:8px;font-weight:800;letter-spacing:.08em;background:#2563eb12;border:1px solid rgb(37 99 235 / 17%);border-radius:7px}.delete-local-button{display:inline-flex;min-height:32px;padding:0 10px;align-items:center;justify-content:center;gap:6px;color:#64748b;font:inherit;font-size:9px;font-weight:700;cursor:pointer;background:transparent;border:1px solid var(--line-strong);border-radius:8px}.delete-local-button:hover{color:var(--danger);background:#b4231814;border-color:#b4231847}.live-region{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;white-space:nowrap;border:0;clip:rect(0,0,0,0)}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;white-space:nowrap!important;border:0!important;clip:rect(0,0,0,0)!important}.portfolio-footer{width:100%;margin:0 auto}@media(max-width:1550px){.workspace-grid{grid-template-columns:1fr}.rebalance-panel{position:static}}@media(max-width:1250px){.portfolio-layout{display:block;width:100%;padding:0 24px}.portfolio-sidebar{position:static;width:100%;max-height:none;margin:26px 0 0;overflow:hidden}.portfolio-sidebar nav{display:flex;padding-bottom:3px;overflow-x:auto}.portfolio-sidebar__item{min-width:190px}.portfolio-sidebar>p{display:none}.dashboard,.portfolio-footer{width:100%;margin-right:0;margin-left:0}.dashboard{padding-top:38px}}@media(max-width:1180px){.summary-card{grid-template-columns:1.15fr .85fr}.workspace-grid{grid-template-columns:1fr}.rebalance-panel{position:static}.holdings-head,.holding-row{grid-template-columns:minmax(145px,1.42fr) minmax(58px,.52fr) minmax(72px,.64fr) minmax(68px,.6fr) minmax(82px,.72fr) minmax(80px,.7fr) minmax(86px,.76fr) minmax(66px,.58fr) minmax(66px,.58fr) minmax(72px,.62fr) 34px}}@media(max-width:900px){.holdings-head{display:none}.holding-row{position:relative;min-height:0;padding:18px 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.holding-row:first-child{border-top:0}.holding-row>div:before,.holding-row>label:before{display:block;margin-bottom:7px;color:#64748b;font-size:8px;font-weight:700;letter-spacing:.06em;content:attr(data-label)}.asset-field{grid-column:1 / -1;padding-right:44px}.ticker-line input{width:110px}.holding-row .icon-button{position:absolute;top:18px;right:0;margin:0}}@media(max-width:780px){.portfolio-layout{padding:0 14px}.portfolio-sidebar{width:100%;margin-top:18px;padding:14px}.portfolio-sidebar__item{min-width:176px}.topbar{display:block;width:auto;height:auto;min-height:58px;margin-right:14px;margin-left:14px;padding:10px 0}.topbar>.brand,.topbar-meta>.status-pill{display:none}.topbar-meta{width:100%;min-width:0}.topbar-meta .product-tabs{width:100%}.dashboard{padding-top:44px}.purchase-planner{grid-template-columns:1fr;gap:13px}.purchase-planner__summary{justify-content:flex-start}.purchase-planner__summary>span,.purchase-planner__summary p{text-align:left}.intro-row{display:block}.price-date{width:fit-content;margin-top:22px}.summary-card{grid-template-columns:1fr}.summary-copy{padding-bottom:24px}.allocation-overview{margin-top:0}.holdings-head{display:none}.holding-row{position:relative;min-height:0;padding:18px 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.holding-row:first-child{border-top:0}.holding-row>div:before,.holding-row>label:before{display:block;margin-bottom:7px;color:#64748b;font-size:8px;font-weight:700;letter-spacing:.06em;content:attr(data-label)}.asset-field{grid-column:1 / -1;padding-right:40px}.ticker-line input{width:110px}.icon-button{position:absolute;top:18px;right:0}.result-item{grid-template-columns:1.3fr 1fr auto}.result-metric:nth-of-type(3),.result-metric:nth-of-type(4){display:none}.chart-demo-note{position:static;margin:-18px 18px 20px;line-height:1.4}}@media(max-width:560px){.topbar{height:auto}.topbar-meta .status-pill--private{display:none}.status-pill{padding:0 9px;font-size:10px}.dashboard{padding-top:36px}.portfolio-name-field{display:grid;gap:2px}.portfolio-name-field input{width:min(100%,290px)}.purchase-planner{padding:14px}.purchase-planner>label{grid-template-columns:1fr;gap:9px}.purchase-planner__summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.purchase-planner__summary p{grid-column:1 / -1}.intro-row{margin-bottom:24px}.intro-row h1{width:100%;max-width:100%;white-space:normal;overflow-wrap:break-word;font-size:clamp(31px,9vw,36px);line-break:auto;text-wrap:pretty;word-break:keep-all}.mobile-title-break{display:block}.intro-copy{font-size:13px}.summary-card{min-height:0;border-radius:20px}.summary-copy{padding:25px 20px 22px}.summary-amount{margin-top:20px;font-size:37px}.summary-stats{margin-top:27px}.summary-stat{padding-right:12px}.summary-stat+.summary-stat{padding-left:12px}.summary-stat span{font-size:9px}.summary-stat strong{font-size:11px}.allocation-overview{margin:0 12px 12px;padding:20px}.holdings-panel,.rebalance-panel,.result-panel{padding:20px 17px;border-radius:17px}.panel-header{margin-bottom:22px}.panel-header>div{min-width:0}.panel-header h2{font-size:18px}.panel-header p:not(.panel-kicker){font-size:10px}.secondary-button{padding:0 10px;font-size:10px}.holding-row{gap:15px 10px}.table-value strong,.weight-value strong{font-size:11px}.result-panel .panel-header{display:block}.result-cash{margin-top:14px;padding-top:13px;justify-items:start;border-top:1px solid var(--line)}.result-item{padding:13px;grid-template-columns:1fr auto;gap:12px}.result-metric{display:none}.action-badge{min-width:68px}.chart-wrap .asset-chart{min-height:0;padding:20px 10px 10px}.chart-demo-note{margin:0 14px 17px}.security-banner{padding:17px;grid-template-columns:auto 1fr}.security-icon{width:38px;height:38px}.local-chip{display:none}.local-data-actions{grid-column:1 / -1;justify-items:stretch}.portfolio-footer{min-height:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
