
/* Full-screen sequential builder. Only the active stage participates in layout. */
body{height:100dvh;overflow:hidden;display:flex;flex-direction:column}
.topbar{flex:0 0 76px;height:76px}
.sequence{width:100%;max-width:1700px;flex:1;min-height:0;margin:0 auto;padding:26px clamp(18px,4vw,72px) 0;display:flex;flex-direction:column;gap:22px;overflow:hidden}
.sequence-heading{flex:none;display:flex;flex-direction:column;align-items:center;gap:18px}
.sequence-heading h1{font-size:clamp(28px,3.5vw,52px);font-weight:500;line-height:1.1;letter-spacing:-.055em;margin:0;outline:none}
.sequence-progress{display:flex;align-items:center;gap:clamp(10px,3vw,44px)}
.sequence-progress button{display:flex;gap:8px;align-items:center;padding:4px 0;color:var(--muted);font-size:11px;border:0;background:none}
.sequence-progress button span{font-size:9px;border:1px solid var(--line);border-radius:50%;width:25px;height:25px;display:grid;place-items:center}
.sequence-progress button[aria-current=step]{color:var(--text);font-weight:700}
.sequence-progress button[aria-current=step] span{background:var(--text);color:var(--bg);border-color:var(--text)}
.sequence-progress button:disabled{opacity:.55;cursor:default}
.sequence-body{min-height:0;flex:1;overflow:auto;scrollbar-width:thin;padding:3px 3px 10px}
.sequence-stage{height:100%;min-height:0;max-width:1250px;margin:auto}
.sequence-controls{border-top:1px solid var(--line);display:flex;align-items:center;gap:24px;min-height:73px;flex-shrink:0}
#sequence-summary{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
#sequence-next{margin-left:auto;min-width:170px;justify-content:center}
.full-review{max-width:720px;width:100%;margin:auto;padding:26px 0}
.full-review h2{font-size:30px;font-weight:500;letter-spacing:-1px;margin:12px 0 24px}
footer,.footer{flex-shrink:0;margin:0;min-height:42px;padding:10px clamp(18px,4vw,72px);font-size:9px}
@media(max-width:760px){
 .topbar{height:62px;flex-basis:62px}.sequence{padding:18px 16px 0;gap:18px}
 .sequence-heading{gap:18px}.sequence-heading h1{font-size:32px}
 .sequence-progress{gap:14px}.sequence-progress button{font-size:9px;gap:5px}.sequence-progress button span{width:21px;height:21px;font-size:8px}
 .sequence-controls{min-height:66px;gap:12px}#sequence-summary{font-size:9px}#sequence-next{min-width:125px}
 footer,.footer{padding:9px 16px;gap:8px;font-size:8px}.full-review{padding:10px 0}
}
@media(max-width:360px){.sequence-progress{gap:8px}.sequence-progress button{font-size:8px;gap:4px}.sequence-heading h1{font-size:28px}}

#builder-view.sequence{max-width:1700px}#builder-view>.page-heading{display:none}#funds-view{min-height:0;flex:1;overflow:auto}
.venture-stage[data-page="0"]{display:flex;flex-direction:column;max-width:1150px}
.asset-panel{height:auto;flex:1;min-height:0;width:100%;background:none;border:0;box-shadow:none}.asset-panel .panel-heading,.asset-panel .list-label,.asset-panel .panel-note{display:none}
.search-field{max-width:450px;width:100%;margin:0 auto 16px;padding:13px 16px}.search-field input{font-size:12px}.asset-tabs{width:360px;max-width:100%;margin:0 auto 22px;flex-shrink:0}
.asset-list{display:grid;grid-template-columns:repeat(3,1fr);align-content:start;gap:12px;padding:2px;overflow:auto}
.asset-row{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:18px;min-height:84px;gap:14px}.asset-row:last-child{border-bottom:1px solid var(--line)}.asset-logo{width:42px;height:42px}.asset-copy strong{font-size:14px}.asset-copy small{font-size:11px}.asset-add{width:30px;height:30px}.asset-row:has(.selected){border-color:var(--accent);background:var(--wash)}
.inspiration-strip{margin:15px 0 0;padding:14px 0 0;border-top:1px solid var(--line);flex-shrink:0;gap:15px}.inspiration-strip>span{font-size:8px}
.venture-stage[data-page="1"]{max-width:1250px}.composition-panel{display:grid;height:100%;grid-template-columns:1.15fr 1fr;grid-template-rows:auto 1fr;gap:0 45px}.map-card{grid-row:1/3;display:flex;flex-direction:column;min-height:0;border:0;box-shadow:none;background:none;padding:0}.allocation-map{height:auto;flex:1;min-height:240px}.allocation-header{padding-top:0}.allocation-list{overflow:auto;min-height:0}.allocation-row{padding:19px 2px}.empty-portfolio{grid-column:2}.map-foot{padding-bottom:0}.tile-top>span{font-size:30px}
.venture-stage[data-page="2"]{max-width:700px}.mandate-panel{height:100%;overflow:auto;padding:0 4px;border:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 36px;align-content:start}.mandate-top{display:none}.fund-heading{grid-column:1/-1;margin:0 0 15px}.draft-badge{display:none}.fund-name{max-width:none;font-size:32px}.fund-subtitle{margin-top:10px}.mandate-panel>label[for=fund-thesis]{grid-column:1}.mandate-panel textarea{grid-column:1;min-height:120px;font-size:13px;resize:vertical;margin:0}.strategy-field{grid-column:2;grid-row:2/7;margin:0}.strategy-option{padding:17px 14px}.mandate-panel>label[for=rebalance]{grid-column:1;margin-top:14px}.mandate-panel select{grid-column:1;font-size:13px}.exposure-block{grid-column:1/-1;margin-top:18px}.mandate-bottom{display:none}.full-review .dialog-actions{margin-top:24px}.full-review .review-name{margin-top:0}
footer .footer-status{display:none}footer .non-affiliation{display:inline}footer>div{margin-left:auto}
@media(max-width:1000px){.asset-list{grid-template-columns:repeat(2,1fr)}.composition-panel{gap:0 24px;grid-template-columns:1fr 1fr}.allocation-row{grid-template-columns:minmax(90px,1fr) minmax(40px,1fr) 51px 18px;gap:7px}.holding-name small{display:none}.holding-name .asset-logo{width:28px;height:28px}.inspiration-strip small{display:none}}
@media(max-width:760px){.asset-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.asset-row{padding:12px 9px;gap:8px;min-height:76px}.asset-logo{height:30px;width:30px}.asset-copy strong{font-size:11px}.asset-copy small{font-size:8px;max-width:85px}.asset-add{height:24px;width:24px;font-size:14px}.asset-tabs{margin-bottom:14px}.inspiration-strip{display:flex;gap:8px;overflow:auto;padding-top:12px}.inspiration-strip>span,.inspiration-strip small,.template-icon,.inspiration-strip b{display:none}.inspiration-strip>button{white-space:nowrap;font-size:9px;padding:10px;flex:1}.composition-panel{display:flex;flex-direction:column;height:auto;gap:22px}.map-card{height:280px;flex:none}.allocation-map{min-height:220px}.allocation-list{overflow:visible;max-height:none}.allocation-header{padding-top:0}.allocation-row{grid-template-columns:minmax(100px,1fr) minmax(60px,1fr) 54px 20px}.venture-stage[data-page="1"]{height:auto}.mandate-panel{display:flex;flex-direction:column;overflow:visible;height:auto;padding:0}.venture-stage[data-page="2"]{height:auto}.strategy-field{margin-top:12px}.fund-name{font-size:28px}.exposure-block{margin:15px 0}.strategy-option small{font-size:10px}.main-nav{gap:14px;margin-left:auto}.nav-item{font-size:9px}.top-actions{margin-left:0}.topbar{padding:0 16px}.brand{font-size:22px}.brand svg{width:23px}.avatar,.top-divider{display:none}footer{display:flex;flex-wrap:wrap}footer>div{width:auto;margin:0;gap:12px;display:flex;flex-wrap:wrap}.non-affiliation{width:100%}.sequence-controls #sequence-summary{max-width:125px}}
@media(max-width:360px){.asset-copy small{display:none}.asset-row{gap:6px}.asset-logo{width:27px;height:27px}.brand{font-size:19px}.main-nav{gap:9px}.asset-add{width:22px;height:22px}.sequence-controls #sequence-summary{max-width:85px}}

.sequence-stage:not([hidden]){animation:stage-enter .24s ease-out both}
@keyframes stage-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.sequence-stage:not([hidden]){animation:none}}

.inspiration-strip>#start-fresh{flex-shrink:0;display:inline-flex;background:none;border:0;color:var(--muted)}

.venture-stage[data-page="0"]>.asset-panel{order:0}.venture-stage[data-page="0"]>.inspiration-strip{order:1}

/* Minimal Midnight: one task per screen, with only persistent navigation below. */
.main-nav{margin-left:auto}.sequence-controls{border-top:0}#sequence-back{min-height:44px;padding-inline:4px}.sequence-controls #sequence-next{margin-left:auto}

/* Portfolio leverage stays separate from the 100% allocation weights. */
.leverage-control{border:0;border-top:1px solid var(--line);padding:18px 0 0;margin:18px 0 0;min-width:0;flex:none}
.leverage-control legend{float:left;width:100%;font-size:11px;color:var(--muted);margin-bottom:10px;padding:0}.leverage-options{display:flex;gap:6px;clear:both}
.leverage-options button{flex:1;border:1px solid var(--line);border-radius:5px;background:transparent;color:var(--muted);font:inherit;font-size:12px;padding:9px 10px;min-height:38px}
.leverage-options button[aria-pressed="true"]{border-color:var(--accent);background:var(--wash);color:var(--text)}
.leverage-example{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px;font-size:10px;color:var(--muted)}.leverage-example output{color:var(--text);font-variant-numeric:tabular-nums}
#leverage-note,.review-leverage{font-size:10px;color:var(--muted);line-height:1.6;margin:9px 0 0}.review-leverage{margin:20px 0 0}.review-meta{flex-wrap:wrap}
@media(max-width:760px){.composition-panel .map-card{height:auto}.composition-panel .allocation-map{height:250px;flex:none}.leverage-control{margin-top:16px}.leverage-example{font-size:9px}.leverage-options button{font-size:11px}}

/* Each sleeve has its own target leverage; capital weights still total100%. */
.allocation-row{grid-template-columns:minmax(82px,1fr) minmax(38px,1fr) 48px 58px 18px;gap:8px}
.holding-leverage{width:58px;min-width:0;padding:8px 3px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--text);font:inherit;font-size:11px;cursor:pointer}
.holding-leverage option{background:var(--bg);color:var(--text)}.review-asset-leverage{display:inline-block;min-width:36px;margin-left:12px;color:var(--muted);font-size:10px}
@media(max-width:1000px){.allocation-row{grid-template-columns:minmax(75px,1fr) minmax(30px,1fr) 44px 54px 18px;gap:6px}.holding-leverage{width:54px}.holding-name .asset-logo{height:25px;width:25px}}
@media(max-width:360px){.allocation-row{grid-template-columns:70px minmax(22px,1fr) 40px 49px 15px;gap:4px}.holding-leverage{width:49px;font-size:10px}.holding-name{gap:6px}.holding-name .asset-logo{width:22px;height:22px}.holding-name strong{font-size:10px}}

#launch-dialog{width:min(540px,calc(100vw - 32px));border-radius:12px}
#launch-title{font-size:30px;font-weight:500;letter-spacing:-1px;margin:0}.launch-name{font-size:14px;color:var(--muted);margin:12px 0 25px;overflow-wrap:anywhere}
.registration-detail{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line);font-size:11px}.registration-detail>span:first-child{color:var(--muted);flex-shrink:0}.registration-detail>span:last-child{max-width:65%;overflow-wrap:anywhere;text-align:right}.registration-detail strong{font-weight:500}
.registration-purpose,.registration-status{font-size:11px;line-height:1.7;margin:18px 0 0;color:var(--muted)}.registration-status{color:var(--text)}#launch-dialog .close-dialog.text-button{font-size:11px;line-height:1.4}

.leverage-control legend{float:none;width:auto;max-width:100%;margin:0 0 10px}.leverage-example{clear:both;width:100%;min-width:0}
