/* The member's money leads; strategy research and controls follow it.
   Scoped to the routed page, including its dialogs. State colors remain
   semantic: red still means loss, a warning, or real-money custody. */
#pageroot[data-page="portfolio"] {
  --body:"Manrope",sans-serif;
  --display:"Manrope",sans-serif;
  --mono:"Manrope",sans-serif;
  font-family:var(--mono);
  font-variant-numeric:tabular-nums;
}
#pageroot[data-page="portfolio"] .wrap { max-width:1240px; padding-bottom:80px; }
#pageroot[data-page="portfolio"] h1 {
  max-width:900px; font-size:clamp(30px,3.3vw,46px); line-height:1.2;
  letter-spacing:-.045em; font-weight:650; margin:8px 0 26px;
}
#pageroot[data-page="portfolio"] h2 { font-size:25px; font-weight:650; letter-spacing:-.035em; }
#pageroot[data-page="portfolio"] .kicker {
  font-size:13px; font-weight:600; text-transform:none; letter-spacing:0;
  color:var(--dim); margin-top:40px;
}
#pageroot[data-page="portfolio"] .h1-agent { width:.75em; height:.75em; }
#pageroot[data-page="portfolio"] .h1-agent * { animation:none; }
#pageroot[data-page="portfolio"] .h1-agent .a-trend { animation:member-agent-read 900ms ease-out both; }
#pageroot[data-page="portfolio"] .h1-agents:hover .a-bill-up { animation:member-agent-chirp 650ms ease-in-out; }
@keyframes member-agent-read { from { stroke-dashoffset:11.8; } to { stroke-dashoffset:0; } }
@keyframes member-agent-chirp { 0%,100% { transform:rotate(0); } 35% { transform:rotate(-13deg); } 65% { transform:rotate(-3deg); } }
#pageroot[data-page="portfolio"] .acct-bar { margin-bottom:24px; gap:14px; }
#pageroot[data-page="portfolio"] .acct-picker summary {
  border:1px solid var(--hair); background:var(--paper); border-radius:12px;
  padding:13px 38px 13px 18px; min-width:230px;
}
#pageroot[data-page="portfolio"] .acct-menu { border-radius:14px; box-shadow:0 16px 40px #12282112; }
#pageroot[data-page="portfolio"] .acct-running { background:var(--soft); padding:7px 12px; border-radius:30px; }
#pageroot[data-page="portfolio"] #ledger:not(:empty) {
  background:var(--paper); border:1px solid var(--hair); border-radius:24px;
  padding:28px 32px 22px; overflow:hidden;
}
#pageroot[data-page="portfolio"] .ledger-of {
  text-transform:none; letter-spacing:0; font-size:13px; margin:0 0 16px;
  display:flex; align-items:center; gap:8px;
}
#pageroot[data-page="portfolio"] .lo-paper,
#pageroot[data-page="portfolio"] .lo-live { padding:4px 9px; letter-spacing:0; font-weight:650; }
#pageroot[data-page="portfolio"] .ledger {
  display:flex; gap:24px 32px; padding:0 0 22px; border-bottom:1px solid var(--hair);
}
#pageroot[data-page="portfolio"] .lg { min-width:0; }
#pageroot[data-page="portfolio"] .lg:first-child { flex-basis:48%; }
#pageroot[data-page="portfolio"] .lg b {
  font-size:clamp(26px,3vw,38px); font-weight:600; letter-spacing:-.04em; line-height:1.18;
}
#pageroot[data-page="portfolio"] .lg:first-child b { font-size:clamp(40px,4.5vw,60px); letter-spacing:-.055em; }
#pageroot[data-page="portfolio"] .lg.sm { flex:1 1 auto; padding-top:6px; }
#pageroot[data-page="portfolio"] .lg.sm b { font-size:22px; letter-spacing:-.025em; }
#pageroot[data-page="portfolio"] .lg b.unk { font-size:18px; letter-spacing:0; }
#pageroot[data-page="portfolio"] .lg > span {
  font-size:12px; letter-spacing:0; text-transform:none; margin-top:7px;
}
#pageroot[data-page="portfolio"] .cv-wins { margin:22px 0 16px; }
#pageroot[data-page="portfolio"] .cv-seg { border:0; padding:4px; background:var(--soft); }
#pageroot[data-page="portfolio"] .cv-win { min-height:34px; padding:6px 16px; font-weight:600; }
#pageroot[data-page="portfolio"] .cv-win.on { background:var(--duck-deep); color:white; box-shadow:none; }
#pageroot[data-page="portfolio"] #ledger .curve svg { height:230px; }
#pageroot[data-page="portfolio"] .cv-line { stroke-width:2.3; }
#pageroot[data-page="portfolio"] .cv-up .cv-s0 { stop-opacity:.14; }
#pageroot[data-page="portfolio"] .cv-dn .cv-s0 { stop-opacity:.12; }
#pageroot[data-page="portfolio"] .curve-cap { color:var(--dim); flex-wrap:wrap; font-size:12px; gap:8px 14px; margin-top:15px; }
#pageroot[data-page="portfolio"] .lg-met {
  padding:16px 0; margin-top:12px; gap:10px 26px; font-size:12px;
}
#pageroot[data-page="portfolio"] .comp {
  background:var(--soft); border-radius:16px; padding:22px 26px;
  margin-top:18px; gap:28px; position:relative;
}
#pageroot[data-page="portfolio"] .comp-heading {
  width:100%; font-size:15px; font-weight:650;
  letter-spacing:-.015em;
}
#pageroot[data-page="portfolio"] .comp-heading small { display:block; font-size:12px; color:var(--dim); font-weight:400; letter-spacing:0; margin-top:4px; }
#pageroot[data-page="portfolio"] .pie { width:150px; height:150px; }
#pageroot[data-page="portfolio"] .pie-legend { font-size:13px; }
#pageroot[data-page="portfolio"] .pie-legend li { padding:9px 0; border-bottom:1px solid var(--hair); }
#pageroot[data-page="portfolio"] .pie-legend li:last-child { border:0; }
#pageroot[data-page="portfolio"] .pie-legend span { color:var(--dim); min-width:11ch; }
#pageroot[data-page="portfolio"] .pie-k { border-radius:50%; }
#pageroot[data-page="portfolio"] .sect { margin-top:56px; }
#pageroot[data-page="portfolio"] .sect-head { border:0; margin-bottom:20px; padding:0; }
#pageroot[data-page="portfolio"] #dep-head { margin-top:40px; }
#pageroot[data-page="portfolio"] .dep { border-radius:20px; padding:26px; box-shadow:none; }
#pageroot[data-page="portfolio"] .dep-top { gap:20px; }
#pageroot[data-page="portfolio"] .dep h3 { font-size:23px; letter-spacing:-.03em; }
#pageroot[data-page="portfolio"] .stats { gap:20px 34px; }
#pageroot[data-page="portfolio"] .stat b { font-size:26px; letter-spacing:-.03em; font-weight:600; }
#pageroot[data-page="portfolio"] .stat span { text-transform:none; letter-spacing:0; }
#pageroot[data-page="portfolio"] .split { margin-top:18px; }
#pageroot[data-page="portfolio"] .split-h { font-size:12px; gap:12px; }
#pageroot[data-page="portfolio"] .split-bar { height:10px; border-radius:6px; margin-top:8px; gap:3px; }
#pageroot[data-page="portfolio"] table.pos { font-size:13px; }
#pageroot[data-page="portfolio"] table.pos th { text-transform:none; letter-spacing:0; color:var(--dim); font-weight:500; }
#pageroot[data-page="portfolio"] table.pos td,
#pageroot[data-page="portfolio"] table.pos th { padding:12px 8px; }
#pageroot[data-page="portfolio"] .ev { position:relative; padding:16px 0 16px 24px; border:0; }
#pageroot[data-page="portfolio"] .ev::before {
  content:""; position:absolute; top:22px; left:1px; width:8px; height:8px;
  border-radius:50%; background:var(--hair); outline:4px solid var(--paper); z-index:1;
}
#pageroot[data-page="portfolio"] .ev:not(:last-child)::after {
  content:""; position:absolute; left:4px; top:27px; bottom:-22px; width:1px; background:var(--hair);
}
#pageroot[data-page="portfolio"] .ev.ev-desk::before { background:var(--cuck); }
#pageroot[data-page="portfolio"] .ev-when { font-size:12px; flex-basis:11rem; padding-top:2px; }
#pageroot[data-page="portfolio"] .ev-what { font-size:14px; }
#pageroot[data-page="portfolio"] .ev-what .ev-acct { text-transform:none; letter-spacing:0; margin-top:6px; padding:3px 8px; }
#pageroot[data-page="portfolio"] .ev-what .ev-cid { margin-top:2px; overflow-wrap:anywhere; }
#pageroot[data-page="portfolio"] .kinds-grid { gap:16px; }
#pageroot[data-page="portfolio"] .kindcard {
  border-radius:20px; background:var(--paper); box-shadow:none;
  transition:background .18s,border-color .18s,transform .18s;
}
#pageroot[data-page="portfolio"] .kindcard:hover,
#pageroot[data-page="portfolio"] .kindcard:focus-visible { background:var(--soft); border-color:#aac4b5; transform:translateY(-3px); }
#pageroot[data-page="portfolio"] .kindcard[aria-pressed="true"] {
  background:#f2faf5; border-color:var(--duck-deep); box-shadow:inset 0 0 0 1px var(--duck-deep);
}
#pageroot[data-page="portfolio"] .kindcard[aria-pressed="true"] figure { background:#e4f4eb; }
#pageroot[data-page="portfolio"] .kindcard-head { padding:23px 20px 0; }
#pageroot[data-page="portfolio"] .kindcard-name { font-size:19px; font-weight:650; letter-spacing:-.025em; gap:10px; }
#pageroot[data-page="portfolio"] .kindcard-tag { font-size:10px; letter-spacing:0; text-transform:none; background:var(--soft); }
#pageroot[data-page="portfolio"] .kindcard-line { min-height:3em; font-size:13px; margin-top:10px; }
#pageroot[data-page="portfolio"] .kindcard figure { padding:16px 18px; margin:0 10px 18px; border-radius:12px; background:var(--soft); }
#pageroot[data-page="portfolio"] .kindcard figcaption { font-size:11px; color:var(--dim); }
#pageroot[data-page="portfolio"] .kindcard dl { padding:18px 20px 23px; grid-template-columns:1fr; gap:4px; font-size:12px; border-top:1px solid var(--hair); }
#pageroot[data-page="portfolio"] .kindcard dt { color:var(--dim); letter-spacing:0; text-transform:none; font-size:11px; margin-top:12px; }
#pageroot[data-page="portfolio"] .kindcard dt:first-child { margin-top:0; }
#pageroot[data-page="portfolio"] .kindcard dd { color:var(--ink); }
#pageroot[data-page="portfolio"] .seek { border-radius:18px; }
#pageroot[data-page="portfolio"] .seek-bar { padding:16px 18px; gap:12px; }
#pageroot[data-page="portfolio"] #ask { font-size:15px; }
#pageroot[data-page="portfolio"] .bf-panel { background:var(--soft); border-radius:16px; border:1px solid var(--hair); padding:20px; }
#pageroot[data-page="portfolio"] table.board { font-size:13px; }
#pageroot[data-page="portfolio"] table.board th { text-transform:none; letter-spacing:0; font-size:11px; font-weight:600; }
#pageroot[data-page="portfolio"] table.board td { padding-top:17px; padding-bottom:17px; }

/* The tuner follows the same layout as the account: a concise summary,
   clear primary choices, and the measured evidence for those choices. */
body:has(#pageroot[data-page="portfolio"]) dialog.ack {
  font-family:var(--mono); font-variant-numeric:tabular-nums;
  border-radius:22px; border:1px solid var(--hair); box-shadow:0 28px 90px #12282126;
}
body:has(#pageroot[data-page="portfolio"]) dialog#start-modal { width:min(900px,94vw); max-width:900px; padding:28px; }
body:has(#pageroot[data-page="portfolio"]) dialog::backdrop { background:rgba(18,40,33,.3); backdrop-filter:blur(3px); }
body:has(#pageroot[data-page="portfolio"]) .ack-header { padding-bottom:20px; border-bottom:1px solid var(--hair); }
body:has(#pageroot[data-page="portfolio"]) .ack h3 { font-size:25px; letter-spacing:-.035em; }
body:has(#pageroot[data-page="portfolio"]) .ack-close { width:36px; height:36px; border-radius:50%; background:var(--soft); }
body:has(#pageroot[data-page="portfolio"]) .sm-tune { border-top:1px solid var(--hair); padding-top:20px; margin-top:24px; }
body:has(#pageroot[data-page="portfolio"]) .sm-tune > summary { font-size:16px; font-weight:650; padding:8px 0; }
body:has(#pageroot[data-page="portfolio"]) .tune-summary-hint { display:block; color:var(--dim); font-size:12px; font-weight:400; margin-top:4px; }
body:has(#pageroot[data-page="portfolio"]) .tune-selection { background:#e4f4eb; border-radius:14px; padding:18px 20px; margin-top:18px; }
body:has(#pageroot[data-page="portfolio"]) .tune-selection h4 { font-size:13px; font-weight:650; margin:0 0 12px; }
body:has(#pageroot[data-page="portfolio"]) .tune-selection dl { display:flex; flex-wrap:wrap; gap:14px 24px; }
body:has(#pageroot[data-page="portfolio"]) .tune-selection dl { animation:member-selection-settle 180ms ease-out; }
@keyframes member-selection-settle { from { opacity:.6; transform:translateY(3px); } to { opacity:1; transform:translateY(0); } }
body:has(#pageroot[data-page="portfolio"]) .tune-selection dt { font-size:11px; color:var(--dim); }
body:has(#pageroot[data-page="portfolio"]) .tune-selection dd { margin:4px 0 0; font-size:13px; font-weight:650; }
body:has(#pageroot[data-page="portfolio"]) .tune-grid { gap:14px; margin-top:20px; }
body:has(#pageroot[data-page="portfolio"]) .tune-group-intro { grid-column:1/-1; margin:8px 0 0; }
body:has(#pageroot[data-page="portfolio"]) .tune-group-intro h4 { font-size:15px; font-weight:650; letter-spacing:-.015em; }
body:has(#pageroot[data-page="portfolio"]) .tune-group-intro p { font-size:12px; color:var(--dim); margin-top:4px; }
body:has(#pageroot[data-page="portfolio"]) .tune-grid:not(:has(> [data-knob-box]:not([hidden]))) > .tune-group-intro { display:none; }
body:has(#pageroot[data-page="portfolio"]) .tune-knob { padding:18px; border:1px solid var(--hair); border-radius:14px; background:var(--paper); gap:10px; }
body:has(#pageroot[data-page="portfolio"]) .tune-knob b { text-transform:none; letter-spacing:0; font-size:13px; color:var(--ink); }
body:has(#pageroot[data-page="portfolio"]) .tune-knob small { font-size:12px; line-height:1.6; }
body:has(#pageroot[data-page="portfolio"]) .tune-knob .knob-badge { font-size:11px; padding:4px 8px; white-space:normal; }
body:has(#pageroot[data-page="portfolio"]) .tune-knob-hdr { gap:10px; }
body:has(#pageroot[data-page="portfolio"]) .seglets { background:var(--soft); padding:4px; border:0; border-radius:10px; gap:3px; }
body:has(#pageroot[data-page="portfolio"]) .seglets button { min-height:37px; border:0; border-radius:7px; padding:7px 10px; font-size:12px; flex:1 1 auto; }
body:has(#pageroot[data-page="portfolio"]) .seglets button.on { color:white; background:var(--duck-deep); box-shadow:none; }
body:has(#pageroot[data-page="portfolio"]) .seglets button:disabled { color:var(--dim); opacity:.5; cursor:not-allowed; }
body:has(#pageroot[data-page="portfolio"]) .tune-advanced { margin-top:20px; padding-top:18px; border-top:1px solid var(--hair); }
body:has(#pageroot[data-page="portfolio"]) .tune-advanced > summary { font-size:14px; font-weight:600; cursor:pointer; padding:8px 0; }
body:has(#pageroot[data-page="portfolio"]) .tune-advanced > summary span { display:block; margin-top:4px; font-size:12px; color:var(--dim); font-weight:400; }
body:has(#pageroot[data-page="portfolio"]) .tune-advanced:not(:has([data-knob-box]:not([hidden]))) { display:none; }
body:has(#pageroot[data-page="portfolio"]) .tune-evi { padding-top:22px; margin-top:22px; border-top:1px solid var(--hair); font-size:13px; gap:12px; }
body:has(#pageroot[data-page="portfolio"]) .ack-acts { margin-top:24px; padding-top:20px; border-top:1px solid var(--hair); gap:10px; }
body:has(#pageroot[data-page="portfolio"]) .ack .btn { min-height:42px; border-radius:30px; padding:10px 20px; }
body:has(#pageroot[data-page="portfolio"]) :is(button,summary,input,select):focus-visible { outline:2px solid var(--duck-deep); outline-offset:3px; }

@media (max-width:800px) {
  #pageroot[data-page="portfolio"] #ledger:not(:empty) { padding:22px; }
  #pageroot[data-page="portfolio"] .kinds-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #pageroot[data-page="portfolio"] .ledger { gap:22px; }
  #pageroot[data-page="portfolio"] .lg:first-child { flex-basis:100%; }
  #pageroot[data-page="portfolio"] #ledger .curve svg { height:190px; }
}
@media (max-width:560px) {
  #pageroot[data-page="portfolio"] .kicker { margin-top:26px; }
  #pageroot[data-page="portfolio"] h1 { font-size:30px; margin-bottom:22px; }
  #pageroot[data-page="portfolio"] #ledger:not(:empty) { padding:20px 16px; border-radius:18px; }
  #pageroot[data-page="portfolio"] .ledger { gap:20px 16px; }
  #pageroot[data-page="portfolio"] .lg.sm { flex-basis:calc(50% - 16px); }
  #pageroot[data-page="portfolio"] .lg.sm b { font-size:19px; }
  #pageroot[data-page="portfolio"] .comp { padding:18px 14px; gap:18px; justify-content:center; }
  #pageroot[data-page="portfolio"] .pie { width:130px; height:130px; }
  #pageroot[data-page="portfolio"] .pie-legend { flex-basis:100%; font-size:12px; }
  #pageroot[data-page="portfolio"] .dep { padding:20px 16px; }
  #pageroot[data-page="portfolio"] .ev-when { margin-bottom:5px; }
  #pageroot[data-page="portfolio"] .kinds-grid { grid-template-columns:1fr; }
  #pageroot[data-page="portfolio"] .kindcard figure { margin:0 16px 18px; }
  #pageroot[data-page="portfolio"] .kindcard .mech { max-height:150px; }
  #pageroot[data-page="portfolio"] .kindcard dl { grid-template-columns:74px 1fr; gap:12px; }
  #pageroot[data-page="portfolio"] .kindcard dt { margin:0; }
  body:has(#pageroot[data-page="portfolio"]) dialog#start-modal { padding:20px 16px; border-radius:18px; }
  body:has(#pageroot[data-page="portfolio"]) .tune-grid { grid-template-columns:minmax(0,1fr); }
  body:has(#pageroot[data-page="portfolio"]) .tune-knob { padding:16px; }
}
@media (prefers-reduced-motion:reduce) {
  #pageroot[data-page="portfolio"] *,
  body:has(#pageroot[data-page="portfolio"]) dialog * { animation:none !important; transition:none !important; }
}
