/* conceit An optical bench: move the budget and see its true cost come into focus.
   shape Product canvas: the working simulator is the main content.
   type System sans, with wide scale contrast and tabular figures for money.
   colour Ground #0b0b0c, ink #f6f6f6, silver #aaa; monochrome user brief.
   grid Asymmetric 360px controls beside fluid results, maximum 1440px.
   texture Translucent glass over a softly illuminated graphite field.
   motion Budget changes redraw a segmented allocation lens and cost counters.
   move Allocation lens reflects the actual portfolio in real time.
   details Lens arc; numeral change; control thumb; row focus; glass hover; disclosure rotation; segmented mode; source underline.
*/
:root{color-scheme:dark;--ground:#0b0b0c;--ink:#f6f6f6;--muted:#aaa;--line:rgba(255,255,255,.12);--glass:rgba(27,27,29,.66);--ease:cubic-bezier(.22,.7,.2,1)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:24px}body{margin:0;background:var(--ground);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:default}input,select{min-width:0}img,svg{max-width:100%;height:auto;display:block}.wrap{width:min(1440px,calc(100% - 96px));margin-inline:auto}.ambient{pointer-events:none;position:absolute;inset:0 0 auto;height:1050px;background:radial-gradient(ellipse at 82% 21%,rgba(255,255,255,.09),transparent 42%),radial-gradient(ellipse at 18% 60%,rgba(255,255,255,.035),transparent 50%);z-index:-1}.topbar{height:105px;display:flex;align-items:center;gap:60px;border-bottom:1px solid var(--line)}.wordmark{font-size:35px;letter-spacing:-2px;font-weight:700;line-height:1;display:inline-flex;align-items:flex-start;gap:5px}.wordmark span{font-size:12px;letter-spacing:0;margin-top:4px}.topbar nav{display:flex;gap:32px;color:#ccc}.topbar nav span{display:inline-block;transition:transform .2s var(--ease);padding-left:7px}.topbar nav a:hover span{transform:translate(2px,-2px)}.edition{margin-left:auto;color:#929292;font-size:12px}.intro{min-height:360px;display:flex;justify-content:space-between;align-items:center;gap:48px;padding-block:55px 48px}.eyebrow{font-size:10px;letter-spacing:.15em;color:#aaa;margin:0 0 20px;font-weight:600}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(42px,5vw,72px);line-height:1.02;letter-spacing:-.06em;margin-bottom:25px;font-weight:500}h1 span{color:#969696}.lede{font-size:16px;color:#b5b5b8;line-height:1.65;margin-bottom:0;letter-spacing:-.015em}.orbit{position:relative;width:240px;flex:0 0 240px;margin-right:35px}.orbit svg{overflow:visible;transform:rotate(-90deg)}.orbit-track{fill:none;stroke:#262628;stroke-width:1}.orbit-segment{fill:none;stroke-width:7;transition:stroke-dasharray .6s var(--ease),stroke-dashoffset .6s var(--ease)}.orbit-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column}.orbit-center>span{font-size:34px;letter-spacing:-.06em;font-variant-numeric:tabular-nums}.orbit-center small{font-size:11px;color:#aaa}.orbit>div:last-child{position:absolute;left:-30px;right:-30px;bottom:-22px;text-align:center;font-size:11px;color:#aaa}.workspace{display:grid;grid-template-columns:360px minmax(0,1fr);gap:48px;align-items:start}.glass{background:var(--glass);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--line);box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 12px 60px rgba(0,0,0,.1);border-radius:22px}.controls{padding:26px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.section-heading h2,.section-heading h3{font-size:14px;letter-spacing:-.015em;font-weight:500;margin:0}.text-button{padding:0;border:0;background:none;font-size:10px;color:#aaa;transition:color .2s}.text-button:hover{color:white}.budget-label{font-size:11px;color:#b5b5b8}.budget-input{display:flex;align-items:center;gap:10px;margin:6px 0 9px}.budget-input input{background:none;border:0;outline:0;font-size:48px;letter-spacing:-.06em;line-height:1;width:100%;font-variant-numeric:tabular-nums;padding:0}.budget-input>span{font-size:28px;color:#888}.budget-input input::-webkit-inner-spin-button{appearance:none}input[type=range]{width:100%;height:3px;accent-color:#eee;cursor:pointer;margin:16px 0}input[type=range]::-webkit-slider-thumb{appearance:none;width:13px;height:13px;border:2px solid #fff;border-radius:50%;background:#cfcfcf;transition:box-shadow .2s}input[type=range]:hover::-webkit-slider-thumb{box-shadow:0 0 0 5px #ffffff18}.quiet{font-size:10px;color:#a2a2a6;line-height:1.65;margin:7px 0 0}.compact{margin-top:16px}.control-divider{height:1px;background:var(--line);margin:25px 0}.info{display:inline-flex;align-items:center;justify-content:center;border:1px solid #626265;border-radius:50%;width:20px;height:20px;font-family:Georgia,serif;font-size:12px;background:none;color:#ccc;flex-shrink:0;transition:background .2s,color .2s}.info:hover{background:white;color:black}.asset-row{padding:12px 0;border-bottom:1px solid #ffffff08}.asset-row:last-child{border:0}.asset-top{display:flex;align-items:center;gap:9px}.asset-check{display:flex;align-items:center;gap:10px;cursor:pointer;flex:1;min-height:24px}.asset-check input{width:16px;height:16px;margin:0;accent-color:#f0f0f0}.asset-check strong{font-size:12px;font-weight:500}.asset-ratio{display:flex;align-items:center;gap:4px;font-size:11px;color:#aaa}.asset-ratio input{width:45px;padding:3px 0;text-align:right;border:0;background:transparent;font-variant-numeric:tabular-nums}.asset-ratio input::-webkit-inner-spin-button{appearance:none}.asset-config{display:flex;align-items:center;gap:10px;padding:12px 0 0 26px}.asset-amount{display:flex;align-items:center;gap:4px;flex:1;font-size:12px;color:#ccc}.asset-amount input{width:70px;background:none;border:0;border-bottom:1px solid #ffffff20;font-variant-numeric:tabular-nums;outline-offset:3px;padding:4px 0}.asset-config select{width:96px;padding:6px;font-size:10px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:17px}label{display:block;font-size:10px;color:#aaa}select{width:100%;background:#222225;border:1px solid #ffffff19;border-radius:7px;padding:10px 8px;color:#ededed;outline-offset:3px;margin-top:7px;font-size:11px}.mode-field{border:0;padding:0;margin:5px 0 0}.mode-field legend{font-size:10px;color:#aaa;margin-bottom:9px}.segmented{display:grid;grid-template-columns:1.2fr 1fr;padding:3px;background:#101011;border:1px solid #ffffff13;border-radius:10px}.segmented label{cursor:pointer}.segmented input{position:absolute;opacity:0;width:1px;height:1px}.segmented span{display:block;padding:9px 3px;text-align:center;font-size:10px;color:#999;border-radius:6px;transition:background .2s,color .2s}.segmented input:checked+span{background:#ededed;color:#111}.segmented input:focus-visible+span{outline:2px solid white;outline-offset:5px}.assumptions{margin-top:22px;border-top:1px solid var(--line);padding-top:16px}.assumptions summary{font-size:10px;color:#aaa;display:flex;justify-content:space-between;cursor:pointer;list-style:none}.assumptions summary span{transition:transform .2s}.assumptions[open] summary span{transform:rotate(45deg)}.assumptions>label,.assumptions #holdings label{margin-top:15px}.assumptions input{display:block;width:100%;border:1px solid var(--line);background:#171719;border-radius:6px;margin-top:6px;padding:8px}.saved{font-size:9px;color:#999;display:flex;gap:7px;align-items:center;margin:22px 0 0}.status-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#ddd;flex-shrink:0}.results-column{min-width:0;padding-top:10px}.results-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.results-heading .eyebrow{margin-bottom:8px}.results-heading h2{font-size:29px;letter-spacing:-.045em;font-weight:400;line-height:1.1;margin:0}.live-label{display:flex;align-items:center;gap:6px;color:#aaa;font-size:10px}.result-card{position:relative;padding:27px 28px;border:1px solid var(--line);background:rgba(24,24,26,.6);border-radius:18px;margin-bottom:13px;transition:border-color .2s,background .2s}.result-card:hover{border-color:#ffffff38;background:#202022}.result-card.primary{background:linear-gradient(140deg,rgba(255,255,255,.93),rgba(235,235,237,.85));color:#111;box-shadow:inset 0 1px 0 white,0 15px 55px #0004;border-color:#fff6}.result-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.tag{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#aaa}.primary .tag{color:#555}.result-card h3{font-size:22px;line-height:1.2;letter-spacing:-.045em;font-weight:500;margin:12px 0 17px}.result-card .big-cost{font-size:44px;line-height:1;letter-spacing:-.065em;font-variant-numeric:tabular-nums}.result-card .big-cost small{font-size:12px;letter-spacing:0;color:#555;margin-left:7px}.cost-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:20px 0}.cost-row p{font-size:11px;color:#666;max-width:230px;line-height:1.6;margin:0;text-align:right}.result-line{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}.pill{border:1px solid #ffffff24;border-radius:5px;padding:4px 7px;font-size:10px;line-height:1.4}.primary .pill{border-color:#0002;color:#333}.result-pros{display:flex;gap:12px;flex-wrap:wrap;padding-top:15px;border-top:1px solid #ffffff15;font-size:10px;color:#bcbcbc}.primary .result-pros{border-color:#0002;color:#505050}.result-pros span:before{content:'↗';margin-right:5px}.result-pros span:last-child:before{content:'↘'}.card-action{background:transparent;border:1px solid #ffffff30;border-radius:50%;color:inherit;width:29px;height:29px;display:grid;place-items:center;transition:transform .2s,background .2s}.primary .card-action{border-color:#0003}.card-action:hover{transform:rotate(45deg)}.notice{font-size:11px;line-height:1.7;padding:16px 19px;border:1px solid #ffffff28;background:#ffffff08;border-radius:12px;margin-bottom:18px;color:#ccc}.notice strong{font-weight:500;color:#fff}.ranking-heading{display:flex;align-items:center;justify-content:space-between;margin-top:38px;margin-bottom:17px}.ranking-heading h3{font-size:13px;font-weight:500;margin:0}.ranking-heading>span{font-size:10px;color:#999}.asset-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:15px}.asset-tabs button{border:1px solid var(--line);background:transparent;border-radius:6px;color:#aaa;padding:7px 10px;font-size:10px;transition:background .2s,color .2s}.asset-tabs button[aria-pressed=true]{background:#e7e7e7;color:#111}.table-shell{border-radius:13px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:11px;white-space:nowrap}th{font-size:9px;color:#aaa;font-weight:400;text-align:right;padding:14px 12px;border-bottom:1px solid var(--line)}th:first-child{text-align:left;padding-left:19px}td{border-bottom:1px solid #ffffff0a;padding:16px 12px;text-align:right;font-variant-numeric:tabular-nums}td:first-child{text-align:left;padding-left:19px;white-space:normal;min-width:180px}tr:last-child td{border-bottom:0}tbody tr{transition:background .2s}tbody tr:hover{background:#ffffff06}.platform-name{font-size:12px;font-weight:500;display:block;margin-bottom:4px}.product-name{font-size:9px;color:#aaa;display:block;max-width:235px}.total-cell{font-weight:600;color:white}.table-note{font-size:10px;color:#999;line-height:1.8;margin:13px 0}.excluded{border-block:1px solid var(--line);margin-top:24px;padding-block:16px}.excluded summary{display:flex;justify-content:space-between;font-size:11px;cursor:pointer;list-style:none;color:#bbb}.excluded-entry{font-size:10px;line-height:1.7;padding:12px 0;border-bottom:1px solid #ffffff10;color:#999}.excluded-entry strong{display:block;color:#ddd;font-weight:400}.excluded-entry a{text-decoration:underline}.source-bar{display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#999;margin-top:20px}.source-bar a{text-decoration:underline;text-underline-offset:3px}.method{display:grid;grid-template-columns:1fr 1.3fr;gap:100px;padding-block:95px 75px;border-top:1px solid var(--line);margin-top:85px}.method h2{font-size:clamp(34px,3.2vw,48px);line-height:1.07;letter-spacing:-.05em;font-weight:400}.method article{position:relative;padding:0 0 25px;margin-bottom:22px;border-bottom:1px solid var(--line)}.method-number{position:absolute;left:0;top:2px;color:#777;font-size:10px}.method h3{font-size:14px;font-weight:400;margin-bottom:9px}.method article p{color:#aaa;font-size:12px;line-height:1.8;margin-bottom:0}.method-links{display:flex;gap:25px;margin:30px 0}.method-links button{background:none;border:0;border-bottom:1px solid #ffffff55;padding:0 0 6px;font-size:11px;text-align:left;transition:border-color .2s}.method-links button:hover{border-color:white}footer{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-block:30px;border-top:1px solid var(--line);font-size:10px;color:#aaa}footer .wordmark{color:#eee;font-size:25px}footer .wordmark span{font-size:8px}dialog{background:rgba(24,24,26,.97);color:#eee;border:1px solid #ffffff30;border-radius:20px;max-width:750px;width:calc(100% - 32px);max-height:90svh;padding:42px;box-shadow:0 25px 100px #0008;backdrop-filter:blur(30px)}dialog::backdrop{background:#0009;backdrop-filter:blur(8px)}.dialog-close{position:sticky;top:0;float:right;background:#333;border:1px solid #ffffff30;border-radius:50%;width:32px;height:32px;font-size:23px;line-height:1;display:grid;place-items:center;z-index:2}.detail-content h1{font-size:42px;margin:22px 0}.detail-content h2{font-size:20px;font-weight:400;margin:28px 0 12px;letter-spacing:-.03em}.detail-content p,.detail-content li{font-size:12px;line-height:1.8;color:#bbb}.detail-content a{color:#eee;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.detail-content .source-item{padding-block:14px;border-top:1px solid var(--line)}.detail-content .source-item small{display:block;color:#999;margin-top:5px}.detail-content table{white-space:normal}.detail-content th,.detail-content td{text-align:left}.detail-content .notice{color:#ddd}.detail-content ul{padding-left:20px}.detail-content .cost-list{display:grid;grid-template-columns:1fr auto;gap:12px;font-size:12px;padding:20px;border:1px solid var(--line);border-radius:12px}.detail-content .cost-list span:nth-child(even){text-align:right;font-variant-numeric:tabular-nums}.detail-content .cost-list .cost-total{border-top:1px solid var(--line);padding-top:12px;font-weight:600}.empty{padding:24px;font-size:12px;color:#aaa;line-height:1.8}.skip{position:absolute;left:10px;top:-70px;background:white;color:black;padding:12px;z-index:10}.skip:focus{top:10px}:focus-visible{outline:2px solid #fff;outline-offset:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.standalone-detail{max-width:850px;margin:50px auto;padding:35px}.back-link{font-size:12px;color:#aaa;text-decoration:underline}.standalone-detail .detail-content{padding-top:25px}[hidden]{display:none!important}
@media(min-width:1900px){.wrap{width:min(1600px,calc(100% - 160px))}.workspace{grid-template-columns:380px minmax(0,1fr);gap:70px}.results-column{max-width:1100px}.intro{min-height:400px}.orbit{margin-right:80px}.results-heading h2{font-size:34px}}
@media(max-width:1100px){.wrap{width:calc(100% - 48px)}.workspace{grid-template-columns:320px minmax(0,1fr);gap:24px}.controls{padding:22px}.edition{display:none}.topbar{gap:40px}.orbit{margin-right:0;width:210px;flex-basis:210px}.cost-row{align-items:start}.cost-row p{max-width:150px}.big-cost{white-space:nowrap}.method{gap:50px}.result-card{padding:23px}.source-bar{flex-direction:column;gap:7px}}
@media(max-width:780px){.wrap{width:calc(100% - 36px)}.topbar{height:80px;justify-content:space-between;gap:20px}.topbar nav{gap:20px;font-size:11px}.wordmark{font-size:30px}.intro{min-height:auto;padding:40px 0 45px;gap:15px;align-items:flex-start}.intro h1{font-size:clamp(38px,8vw,55px)}.intro .eyebrow{font-size:8px;margin-bottom:15px}.lede{font-size:12px}.orbit{width:130px;flex-basis:130px;margin-top:22px}.orbit-center>span{font-size:23px}.orbit-center small{font-size:8px}.orbit>div:last-child{font-size:8px;bottom:-15px;left:-15px;right:-15px}.workspace{grid-template-columns:1fr;gap:35px}.controls{padding:24px}.budget-input input{font-size:45px}.controls .asset-config select{width:125px}.results-column{padding-top:0}.results-heading h2{font-size:27px}.result-card h3{font-size:23px}.cost-row p{max-width:190px}.method{grid-template-columns:1fr;gap:20px;padding-block:55px 35px;margin-top:55px}.method h2{font-size:37px}.method-heading .eyebrow{margin-bottom:15px}.method article{padding-bottom:20px;margin-bottom:20px}.method-body{max-width:650px}footer{flex-wrap:wrap;gap:20px;padding-block:25px}footer>span{font-size:9px}footer>a:last-child{margin-left:auto}dialog{padding:25px}.detail-content h1{font-size:32px}.standalone-detail{margin:15px auto;padding:22px}.source-bar{flex-direction:row}.asset-row{padding-block:11px}.quiet{font-size:10px}}
@media(max-width:420px){.intro{gap:0}.orbit{width:100px;flex-basis:100px;margin-top:39px}.orbit-center>span{font-size:19px}.orbit-center small{font-size:7px}.orbit>div:last-child{font-size:7px}.intro h1{font-size:36px}.lede{font-size:11px}.results-heading h2{font-size:25px}.result-card{padding:22px}.result-card .big-cost{font-size:39px}.cost-row p{font-size:10px;max-width:145px}.source-bar{flex-direction:column}.method-links{gap:20px}.live-label{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.arrow::after{content:"↗"}.reset-icon::after{content:"↺"}.up-icon::after{content:"↑"}

.detail-page{max-width:880px;padding-block:45px 70px}.detail-page .detail-content p,.detail-page .detail-content li{font-size:14px}.detail-page .detail-content .source-item{font-size:14px}@media(max-width:780px){.detail-page{padding-block:25px 45px}}
