@font-face{font-family:AIText;src:url('/assets/fonts/PretendardVariable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{
  color-scheme:light;
  --bg:#F1F1FB;--surface:#FFFFFF;--surface-raised:#EEEEFA;
  --text:#1C1D3B;--ink-2:#4B4D6E;--muted:#686A89;--subtle:var(--muted);
  --line:#E7E7F5;--line-soft:var(--line);--line-strong:#C9CAE6;
  --brand:#4F52E0;--brand-ink:#3B3EC4;--brand-soft:#E9E9FD;
  --up:#D63B41;--up-ink:#BE2F36;--up-soft:#FFECEE;--down:#1B6FC9;--down-ink:#1667BB;--down-soft:#E9F2FE;
  --amber:#9A5B00;--warn-soft:#FFF3D9;--danger:#C23138;--danger-soft:#FFECEE;
  --ma20:#F08C00;--ma50:#1B6FC9;--ma200:#7A7C99;
  --s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s5:1.25rem;--s6:1.5rem;--s8:2rem;
  --r-sm:.625rem;--r-md:.875rem;--radius:1.25rem;--r-xl:1.75rem;--r-pill:999px;
  --shadow-card:0 6px 22px rgba(58,60,150,.09);--shadow-float:0 10px 30px rgba(58,60,150,.18);
  --hero:linear-gradient(160deg,#5C5FEC 0%,#4B4EDF 55%,#3E41D0 100%);
  --font:AIText,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --z-nav:10;--z-sheet:30;--z-toast:40;
}
*,*::before,*::after{box-sizing:border-box}
html{min-width:0;background:var(--bg);scroll-padding-top:1.5rem;-webkit-text-size-adjust:100%}
body{margin:0;min-height:100dvh;background:var(--bg);color:var(--text);font:400 .9375rem/1.5 var(--font);overflow-wrap:anywhere;-webkit-font-smoothing:antialiased}
button,input{font:inherit;color:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}
button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:inherit;text-decoration:none}h1,h2,h3,p,ul,ol{margin:0}
h1,h2,h3{line-height:1.3;letter-spacing:-.02em}h1{font-size:1.5rem;font-weight:800}h2,h3{font-size:1rem;font-weight:700}p+p{margin-top:.5rem}
button,a{transition:background-color .16s,color .16s,border-color .16s}button:active{filter:brightness(.96)}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,.chart-interactive:focus-visible{outline:3px solid var(--brand);outline-offset:3px}
h1:focus,main:focus,[tabindex='-1']:focus{outline:none}
.icon{flex:none;vertical-align:middle}.accent{color:var(--brand-ink)}.muted{color:var(--muted)}.small{font-size:.8125rem;line-height:1.5}.tiny{font-size:.75rem;line-height:1.5}
.positive{color:var(--up)}.negative{color:var(--down)}.neutral{color:var(--text)}.centered{text-align:center}
.data-value,.asset-amount,.asset-return,.holdings-total,.holdings-profit,.position-return,.position-price,.position-quantity,.target-input,.chart-reader,.starting-money{font-variant-numeric:tabular-nums}
.eyebrow{font-size:.75rem;font-weight:600;color:var(--muted)}
.wordmark{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;white-space:nowrap;line-height:1.1}.wordmark-light{font-weight:800}
.brand{display:inline-flex;gap:.5rem;align-items:center;min-height:44px}.brand-icon{border-radius:var(--r-sm);flex:none}.brand.compact .wordmark{font-size:1rem}
.simulation-badge{display:inline-flex;padding:.1875rem .5rem;background:var(--brand-soft);color:var(--brand-ink);font-size:.75rem;font-weight:600;border-radius:var(--r-pill);line-height:1.5;flex:none}
.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}
.skip-link{position:fixed;z-index:50;left:12px;top:-120px;background:var(--text);color:white;padding:.75rem 1rem;border-radius:var(--r-sm)}.skip-link:focus{top:12px}[hidden]{display:none!important}
.network-status{position:sticky;top:0;z-index:20;padding:.625rem 1rem;background:var(--warn-soft);color:var(--amber);font-size:.8125rem;text-align:center}
.primary-button,.secondary-button,.text-button,.icon-button,.soft-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;border:0;border-radius:var(--r-md);font-weight:600;line-height:1.45;text-align:center}
.primary-button{min-height:52px;padding:.875rem 1rem;background:var(--brand);color:white;font-size:1rem;font-weight:700}.primary-button:hover{background:var(--brand-ink)}
.secondary-button{padding:.75rem 1rem;background:var(--brand-soft);color:var(--brand-ink)}.secondary-button:hover,.soft-button:hover{background:#DDDEFA}
.text-button{padding:.625rem .75rem;color:var(--brand-ink);background:none;min-height:44px}.text-button:hover{background:var(--brand-soft)}
.soft-button{min-height:44px;padding:.625rem 1rem;background:var(--brand-soft);color:var(--brand-ink);font-size:.8125rem}.neutral-button{background:var(--surface-raised);color:var(--ink-2)}
.icon-button{width:44px;min-width:44px;min-height:44px;padding:.625rem;background:var(--surface);color:var(--text);border-radius:50%;box-shadow:var(--shadow-card)}.icon-button:hover{background:var(--surface-raised)}
.card,.settings-section,.stock-chart-section,.position-card,.portfolio-snapshot,.history-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--s4);box-shadow:var(--shadow-card)}
.loading-page{max-width:680px;margin:0 auto;min-height:100dvh;background:var(--bg)}.loading-header{display:flex;align-items:center;gap:.5rem;min-height:56px;padding:calc(env(safe-area-inset-top) + .375rem) var(--s4) .375rem}.loading-content{padding:var(--s4)}.loading-content p{margin:var(--s4) 0 0;text-align:center;font-size:.8125rem;color:var(--muted)}
.skeleton{background:linear-gradient(90deg,var(--surface-raised) 25%,#E3E3F6 50%,var(--surface-raised) 75%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}.skeleton-label{height:14px;width:80px;border-radius:6px}.skeleton-value{height:38px;width:64%;margin-top:10px;border-radius:8px}.skeleton-return{height:16px;width:44%;margin-top:10px;border-radius:6px}.skeleton-chart{height:236px;margin-top:var(--s5);border-radius:var(--radius)}.skeleton-card{height:180px;margin-top:var(--s3);border-radius:var(--radius)}
.connection-page{max-width:680px;margin:0 auto;min-height:100dvh;padding:calc(env(safe-area-inset-top) + var(--s6)) var(--s6);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.connection-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--surface-raised);color:var(--muted);margin-bottom:var(--s4)}.connection-icon .icon{width:32px;height:32px}.connection-page h1{font-size:1.1875rem}.connection-page p{max-width:320px;margin-top:.5rem;font-size:.8125rem;line-height:1.6}.connection-page>.primary-button{margin-top:var(--s5)}
.loading-line{width:100px;height:3px;background:var(--brand);border-radius:4px;animation:loading-pulse 1.7s ease-in-out infinite}.noscript{padding:2rem;text-align:center}
.toast{position:fixed;left:50%;bottom:calc(112px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:var(--z-toast);max-width:calc(100% - 32px);width:max-content;padding:.875rem 1rem;background:var(--text);color:var(--surface);border-radius:var(--r-md);font-size:.875rem;box-shadow:var(--shadow-float)}

/* Member entry and the required first-use consent share the v2 surfaces. */
.auth-page,.onboarding-page{max-width:680px;margin:0 auto;min-height:100dvh;padding:calc(2rem + env(safe-area-inset-top)) var(--s5) var(--s8)}
.flow-page{padding:calc(env(safe-area-inset-top) + .375rem) var(--s4) var(--s8)}.flow-content{max-width:560px;margin:0 auto}.start-target-card>.field-hint:first-of-type{margin:0 0 var(--s3)}
.auth-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.auth-panel{max-width:440px;margin:0 auto}
.login-heading{display:flex;align-items:center;gap:.75rem;margin-bottom:var(--s8)}.login-mark{width:44px;height:44px;flex:none;border-radius:var(--r-md)}
.login-heading h1{font-size:1.5rem;line-height:1.1}.login-heading p{font-size:.8125rem;margin-top:.25rem}.login-form{display:flex;flex-direction:column;gap:var(--s4)}
.field label{display:block;color:var(--ink-2);font-size:.8125rem;font-weight:600;margin-bottom:.375rem}
.text-input{display:block;min-width:0;width:100%;min-height:52px;padding:.875rem;border:1.5px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface-raised);font-size:1rem}
.text-input::placeholder{color:var(--muted)}.text-input:focus{border-color:var(--brand)}input[aria-invalid='true']{border-color:var(--danger)}
.password-field{position:relative}.password-field input{padding-right:5.25rem}.password-toggle{position:absolute;right:.25rem;top:50%;transform:translateY(-50%);min-width:64px;min-height:44px;border:0;border-radius:var(--r-sm);background:none;color:var(--ink-2);font-size:.8125rem;font-weight:600}.password-toggle:hover{background:var(--brand-soft)}
.login-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.25rem;margin-top:var(--s5)}.login-divider{color:var(--line-strong)}
.account-help,.login-guide-link{display:inline-flex;align-items:center;min-height:44px;padding:0 .625rem;font-size:.8125rem;font-weight:600;color:var(--brand-ink)}.account-help{color:var(--ink-2)}
.onboarding-content{max-width:560px;margin:var(--s6) auto}.onboarding-content>h1{font-size:1.5rem;margin:.5rem 0 var(--s5)}
.consent-summary{padding:var(--s4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card)}.consent-summary>.icon{color:var(--brand)}.consent-summary h2{margin:.5rem 0 .75rem}.consent-summary p{font-size:.9375rem;line-height:1.65}.consent-summary .small{font-size:.8125rem}
.checkbox-row{display:flex;gap:.75rem;align-items:flex-start;min-height:52px;padding:var(--s4);margin:var(--s4) 0;border:1.5px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);cursor:pointer;font-weight:600}.checkbox-row:has(input:checked){border-color:var(--brand)}.checkbox-row input{width:24px;height:24px;flex:none;accent-color:var(--brand);margin:0}
.consent-form .primary-button,.consent-form .text-button{width:100%}.consent-form .text-button{margin-top:.5rem;background:var(--brand-soft)}
.starting-capital{padding:var(--s4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:var(--s5);box-shadow:var(--shadow-card)}
.starting-money{font-size:2rem;font-weight:800;line-height:1.15;margin:.375rem 0!important;letter-spacing:-.02em}.starting-capital>.muted{font-size:.8125rem}
.target-label{display:block;font-size:1rem;font-weight:700;margin-bottom:.75rem}.target-stepper{display:flex;align-items:center;gap:.5rem;min-width:0;max-width:100%}
.stepper-button{width:52px;min-width:44px;min-height:52px;flex:none;border:0;border-radius:var(--r-md);background:var(--brand-soft);color:var(--brand-ink);font-size:1.5rem;font-weight:600}
.target-editor{display:flex;align-items:center;justify-content:center;gap:.25rem;flex:1;min-width:0;min-height:56px;padding:.5rem;border:1.5px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface)}
.target-input{width:4ch;min-width:0;max-width:calc(100% - 1.5rem);padding:0;border:0;background:none;color:var(--text);text-align:right;font-size:1.5rem;line-height:1.3;font-weight:700;appearance:textfield;-moz-appearance:textfield}
.target-input::-webkit-inner-spin-button,.target-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.target-suffix{font-size:1.1875rem;color:var(--ink-2);font-weight:700;flex:none}
.field-hint{font-size:.8125rem;color:var(--muted);margin-top:.75rem;line-height:1.55}.explanation{display:flex;align-items:flex-start;gap:.75rem;background:var(--surface-raised);color:var(--ink-2);padding:.75rem 1rem;border-radius:var(--r-md);font-size:.8125rem;margin:var(--s4) 0}.explanation .icon{width:18px;height:18px;margin-top:2px}
.start-form>.primary-button{width:100%;margin:var(--s4) 0 .75rem}.form-error{padding:.75rem 1rem;background:var(--danger-soft);color:var(--danger);border-radius:var(--r-md);font-size:.8125rem;margin:.75rem 0;line-height:1.5}

/* Home: gradient asset hero, overlapping content, four quick actions. */
.app-shell{max-width:680px;margin:0 auto;min-height:100dvh;padding-bottom:calc(112px + env(safe-area-inset-bottom));background:var(--bg)}
.main-content{padding:calc(env(safe-area-inset-top) + .375rem) var(--s4) var(--s8);min-width:0}.main-content.home-content{padding:0}
.hero-surface{position:relative;isolation:isolate;overflow:hidden;background:var(--hero);color:white}
.hero-surface::before,.hero-surface::after{position:absolute;z-index:-1;content:'';border-radius:50%;pointer-events:none}
.hero-surface::before{right:-50px;top:-70px;width:240px;height:240px;background:rgba(255,255,255,.08)}.hero-surface::after{left:-70px;bottom:-110px;width:220px;height:220px;background:rgba(255,255,255,.06)}
.asset-section{padding:calc(env(safe-area-inset-top) + 1rem) var(--s5) 3rem;border-radius:0 0 var(--r-xl) var(--r-xl)}
.hero-greeting{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap}.user-avatar{display:grid;place-items:center;width:40px;height:40px;background:rgba(255,255,255,.22);border-radius:50%;font-size:1rem;font-weight:800;flex:none}
.greeting-copy{flex:1;min-width:100px}.greeting-copy>span{display:block;font-size:.75rem;color:#E6E6FF}.greeting-copy>strong{display:block;font-size:1rem;font-weight:700;overflow-wrap:anywhere}
.header-run{display:inline-flex;align-items:center;gap:.25rem;min-height:44px;padding:0 .75rem;border:1px solid rgba(255,255,255,.35);border-radius:var(--r-pill);background:rgba(255,255,255,.16);color:white;font-size:.75rem;font-weight:700;font-variant-numeric:tabular-nums;max-width:100%}.header-run .icon{width:14px;height:14px}
.hero-surface a:focus-visible,.hero-surface button:focus-visible{outline-color:white}
.asset-label{font-size:.8125rem;font-weight:600;color:#E6E6FF;letter-spacing:0;margin-top:var(--s5)}
.asset-amount{font-size:2rem;font-weight:800;letter-spacing:-.02em;line-height:1.15;margin-top:.25rem;overflow-wrap:anywhere}
.asset-return{display:flex;align-items:center;flex-wrap:wrap;gap:.375rem .5rem;font-size:.8125rem;font-weight:700;margin-top:.625rem}
.return-pill{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.375rem;padding:.3125rem .625rem;border-radius:var(--r-pill);background:rgba(255,255,255,.2);color:white}.return-pill>span{opacity:.95}
.return-label{font-size:.75rem;font-weight:400;color:#E6E6FF}.asset-asof{font-size:.75rem;color:#E6E6FF;line-height:1.5;margin-top:.375rem}.valuation-note{color:#FFE3A6;font-size:.8125rem;margin-top:.5rem;line-height:1.5}
.hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-top:var(--s4)}.hero-button{display:flex;align-items:center;justify-content:center;min-height:48px;padding:.625rem .5rem;border:1px solid rgba(255,255,255,.35);border-radius:var(--r-md);background:rgba(255,255,255,.16);font-size:.8125rem;font-weight:700;text-align:center}.hero-button:hover,.header-run:hover{background:rgba(255,255,255,.24)}
.dashboard-content{position:relative;margin-top:-24px;background:var(--bg);border-radius:var(--r-xl) var(--r-xl) 0 0;padding:var(--s4)}.dashboard-content>.card+.card{margin-top:var(--s3)}
.quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin-bottom:var(--s3)}.quick-action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.375rem;min-height:76px;padding:.625rem .25rem;border-radius:var(--radius);background:var(--brand-soft);color:var(--brand-ink);font-size:.75rem;font-weight:700;line-height:1.3;text-align:center}.quick-action:hover{background:#DDDEFA}.quick-action .icon{width:22px;height:22px}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:var(--s3)}.section-heading h2{font-size:1rem}.section-heading p{font-size:.8125rem;margin-top:.25rem}
.subtle-link,.performance-link{display:inline-flex;align-items:center;gap:.125rem;min-height:44px;color:var(--brand-ink);font-size:.8125rem;font-weight:600}.subtle-link .icon,.performance-link .icon{width:16px;height:16px}.section-heading .subtle-link{margin:-.5rem -.5rem -.5rem 0;padding:0 .5rem}

/* Recorded data charts preserve gaps and use the reference purple line and fill. */
.asset-history-chart{min-width:0}.metric-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;padding:3px;background:var(--surface-raised);border-radius:var(--r-pill)}
.metric-tabs:has(>button:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr))}
.metric-tabs button{min-height:44px;border:0;border-radius:var(--r-pill);background:none;color:var(--muted);font-size:.8125rem;font-weight:600;padding:.5rem .375rem}.metric-tabs button.selected{background:var(--surface);color:var(--brand-ink);box-shadow:0 1px 4px rgba(58,60,150,.1)}
.period-tabs,.filter-tabs{display:flex;flex-wrap:wrap;gap:.375rem;margin:.75rem 0 .5rem}.period-tabs button,.filter-tabs button{min-height:44px;min-width:48px;padding:.375rem .75rem;border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--surface);color:var(--muted);font-size:.8125rem;font-weight:600}
.period-tabs button.selected,.filter-tabs button.selected{background:var(--brand);color:white;border-color:var(--brand)}
.metric-caption{display:flex;justify-content:space-between;align-items:baseline;gap:.25rem .5rem;flex-wrap:wrap;font-size:.75rem;margin-top:.5rem}.metric-caption strong{font-variant-numeric:tabular-nums;font-weight:600}
.chart-wrap{position:relative;margin-top:.25rem;min-width:0}.chart-reader{display:flex;flex-direction:column;justify-content:center;min-height:48px;margin-bottom:.5rem;font-size:.8125rem}.chart-reader strong{font-size:1.1875rem;line-height:1.35}
.chart-interactive{position:relative;touch-action:pan-y;border-radius:var(--r-sm);cursor:crosshair}.line-chart{display:block;width:100%;height:180px;overflow:hidden}
.chart-grid{stroke:var(--line);stroke-width:1;fill:none;stroke-dasharray:3 7;opacity:.6}.chart-line{fill:none;stroke:var(--brand);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.chart-point{fill:var(--brand)}
.chart-cursor{stroke:rgba(79,82,224,.5);stroke-width:1;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}.chart-cursor-dot{fill:var(--surface);stroke:var(--brand);stroke-width:3;vector-effect:non-scaling-stroke}
.chart-tooltip{position:absolute;max-width:96%;padding:.3125rem .5625rem;background:var(--brand);color:white;border-radius:var(--r-sm);box-shadow:var(--shadow-float);font-size:.75rem;line-height:1.3;font-weight:700;font-variant-numeric:tabular-nums;pointer-events:none;overflow-wrap:anywhere}
.chart-dates,.chart-scale{display:flex;justify-content:space-between;gap:.5rem;color:var(--muted);font-size:.75rem;font-variant-numeric:tabular-nums;margin-top:.375rem}.chart-scale{justify-content:flex-start;flex-wrap:wrap;gap:.25rem .75rem;margin-top:.5rem}
.chart-ma{stroke-width:1.6;fill:none;vector-effect:non-scaling-stroke}.ma-20{stroke:var(--ma20)}.ma-50{stroke:var(--ma50);stroke-dasharray:6 3}.ma-200{stroke:var(--ma200);stroke-dasharray:2 3}
.trade-buy{fill:var(--up);stroke:var(--surface);stroke-width:2;vector-effect:non-scaling-stroke}.trade-sell{fill:var(--down);stroke:var(--surface);stroke-width:2;vector-effect:non-scaling-stroke}.candle-up{fill:var(--up);stroke:var(--up)}.candle-down{fill:var(--down);stroke:var(--down)}.candle-wick,.candle-body{stroke-width:1;vector-effect:non-scaling-stroke}
.funds-bar{height:10px;display:flex;gap:2px;overflow:hidden;border-radius:var(--r-pill);background:var(--surface-raised)}.funds-bar>span{flex-basis:0;min-width:0}
.fund-color-holdings{background:var(--brand)}.fund-color-cash{background:#A5A7F5}.fund-color-reserved{background:#D7C7F8}.fund-color-pending{background:#C8CCD8}
.funds-list{list-style:none;padding:0;margin:.5rem 0}.funds-list li{display:flex;align-items:flex-start;flex-wrap:wrap;gap:.5rem .75rem;padding:.625rem 0;border-bottom:1px solid var(--line)}
.fund-swatch{width:10px;height:10px;border-radius:3px;flex:none;margin-top:6px}.funds-copy{flex:1;min-width:120px}.funds-copy strong{font-size:.9375rem;font-weight:600}.funds-copy p{font-size:.75rem;color:var(--muted);line-height:1.45;margin-top:2px}
.funds-value{text-align:right;flex:none;margin-left:auto;font-variant-numeric:tabular-nums;max-width:100%}.funds-value strong{display:block;font-size:.9375rem;font-weight:700}.funds-value span{display:block;font-size:.75rem;color:var(--muted)}
.status-strip{display:flex;align-items:flex-start;gap:.75rem}.status-strip>div{min-width:0}.status-icon{display:none}.status-dot{order:-1;width:12px;height:12px;background:var(--muted);margin-top:6px;flex:none;border-radius:50%}.status-strip.active .status-dot{background:var(--brand)}.status-strip.paused .status-dot{background:var(--amber)}.status-strip strong{color:var(--text);font-size:1rem;font-weight:700}.status-strip p{color:var(--ink-2);font-size:.8125rem;line-height:1.5;margin-top:.25rem}.status-section>.subtle-link{margin-top:.25rem}
.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:180px;padding:var(--s6) var(--s4);text-align:center;border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface)}.empty-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--r-md);background:var(--brand-soft);color:var(--brand-ink);margin-bottom:.75rem}.empty-state h3{font-size:.9375rem;font-weight:700}.empty-state p{max-width:320px;font-size:.8125rem;line-height:1.5;color:var(--muted);margin-top:.375rem}.asset-history-chart .empty-state{margin-top:.75rem;min-height:160px}
.data-footnote{display:flex;align-items:flex-start;gap:.375rem;font-size:.75rem;color:var(--muted);line-height:1.5;margin-top:var(--s4)}.data-footnote .icon{width:14px;height:14px;margin-top:2px}.data-footnote+.tiny{margin-top:.5rem}

/* Floating navigation keeps real device safe areas and scalable labels. */
.bottom-nav{position:fixed;z-index:var(--z-nav);bottom:calc(1rem + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:calc(100% - 32px);max-width:640px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.25rem;background:rgba(255,255,255,.96);border:0;border-radius:var(--r-pill);box-shadow:var(--shadow-float);padding:.375rem;backdrop-filter:blur(14px)}
.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1875rem;min-height:52px;padding:.375rem .125rem;color:var(--muted);font-size:.75rem;font-weight:700;border-radius:var(--r-pill);line-height:1.3;text-align:center}.nav-item .icon{width:22px;height:22px}.nav-item.current{background:var(--brand);color:white;font-weight:700}.nav-item:not(.current):hover{background:var(--surface-raised)}
.tab-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;min-height:56px;margin:0 0 var(--s4)}.tab-heading h1{font-size:1.5rem;font-weight:800}.tab-heading>.small{font-size:.75rem}
.page-heading{display:flex;align-items:center;gap:.625rem;min-height:56px;margin:0 0 var(--s4)}.page-heading h1{font-size:1.1875rem;font-weight:800;flex:1;min-width:0}.page-intro{font-size:.8125rem;margin-bottom:var(--s4);line-height:1.55}
.holdings-summary{padding-bottom:var(--s4)}.holdings-total{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.holdings-total strong{font-size:2rem;line-height:1.15;font-weight:800;letter-spacing:-.02em}.holdings-total>span{font-size:1rem;color:var(--ink-2);font-weight:600}.holdings-profit{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;margin:.375rem 0}.holdings-profit>strong{font-size:1rem}
.positions-list{display:flex;flex-direction:column;gap:.5rem}.position-card{display:block}.position-card:hover,.history-card:hover{background:var(--surface-raised)}
.position-topline{display:flex;align-items:flex-start;gap:.5rem;flex-wrap:wrap}.stock-monogram{display:inline-grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;background:var(--brand-soft);color:var(--brand-ink);font-weight:800;font-size:.6875rem;letter-spacing:.02em;overflow-wrap:anywhere;padding:2px;text-align:center}
.stock-identity-copy{min-width:90px;flex:1}.stock-identity-copy h3{font-size:1rem;line-height:1.3}.stock-ticker{font-size:.75rem;color:var(--muted);font-weight:600;margin-left:.375rem}.position-quantity{font-size:.8125rem;font-weight:600;margin-top:.25rem}.position-price{font-size:.8125rem;color:var(--ink-2);line-height:1.45;margin-top:0!important}
.position-return{display:flex;flex-direction:column;align-items:flex-end;gap:.125rem;flex:none;max-width:100%;margin-left:auto}.position-return strong{font-size:1rem}.position-return span{font-size:.8125rem}
.position-bottomline{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.position-bottomline>.icon{width:16px;height:16px;color:var(--muted);margin-left:auto}.position-tag{font-size:.75rem;line-height:1.4;color:var(--brand-ink);background:var(--brand-soft);padding:.1875rem .5rem;border-radius:var(--r-pill);font-weight:700}
.activity-list{list-style:none;padding:0}.activity-list li+li{border-top:1px solid var(--line)}.activity-action{display:flex;align-items:flex-start;gap:.75rem;width:100%;min-height:56px;padding:.75rem 0;border:0;background:none;text-align:left;border-radius:var(--r-sm)}.activity-action:hover{background:var(--surface-raised)}.activity-action>.icon{width:20px;height:20px;color:var(--muted);margin-top:.25rem}
.activity-dot{display:flex;align-items:center;justify-content:center;flex:none;width:44px;min-height:44px;padding:.1875rem;border-radius:var(--r-md);font-size:.75rem;font-weight:800;line-height:1.4;text-align:center;color:var(--brand-ink);background:var(--brand-soft)}.activity-dot.buy{color:var(--up-ink);background:var(--up-soft)}.activity-dot.sell{color:var(--down-ink);background:var(--down-soft)}
.activity-body{display:block;min-width:0;flex:1}.activity-head{display:flex;align-items:baseline;gap:.375rem;flex-wrap:wrap}.activity-head strong{font-size:.9375rem;font-weight:700}.activity-reason{display:block;font-size:.8125rem;color:var(--ink-2);line-height:1.45;margin-top:.125rem}
.activity-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .5rem;font-size:.8125rem;font-variant-numeric:tabular-nums;margin-top:.25rem}.activity-state{display:inline-block;font-size:.75rem;line-height:1.4;border-radius:var(--r-pill);background:var(--surface-raised);color:var(--ink-2);padding:.125rem .4375rem}.state-filled{color:var(--brand-ink);background:var(--brand-soft)}.activity-time{display:block;color:var(--muted);font-size:.75rem;line-height:1.45;margin-top:.25rem}
.activity-section{overflow:hidden}.activity-section .activity-list{margin-inline:calc(-1 * var(--s4));margin-bottom:calc(-1 * var(--s4))}.activity-section .activity-action{padding:var(--s3) var(--s4);border-radius:0}.activity-group>.activity-section{padding-top:0}.activity-date{font-size:.8125rem;font-weight:600;color:var(--muted);margin:var(--s4) 0 var(--s2)}.filter-tabs{margin-bottom:var(--s4)}

.settings-section{margin-bottom:var(--s3)}.settings-section .section-heading{margin-bottom:var(--s3)}.settings-group>h2{font-size:.8125rem;font-weight:700;color:var(--muted);margin:var(--s5) 0 var(--s2)}.settings-group:first-of-type>h2{margin-top:0}.settings-group-card{padding:0;overflow:hidden}
.settings-action{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;width:100%;min-height:56px;padding:.875rem var(--s4);border:0;background:none;text-align:left}.settings-action:hover{background:var(--surface-raised)}.settings-group-card>*+*{border-top:1px solid var(--line)}
.settings-row-copy{flex:1;min-width:100px}.settings-row-copy strong{display:block;font-size:.9375rem;font-weight:700;line-height:1.5}.settings-row-copy span{display:block;font-size:.8125rem;color:var(--muted);line-height:1.5;margin-top:.125rem}.settings-action>.icon{width:20px;height:20px;color:var(--muted)}.settings-target-value{font-size:1rem;font-variant-numeric:tabular-nums}
.settings-action:focus-visible,.activity-section .activity-action:focus-visible{outline-offset:-3px}
.settings-control{padding:var(--s3) var(--s4)}.settings-control>p{margin-top:.25rem}.settings-control>.soft-button{margin-top:var(--s3)}.settings-value{display:flex;flex-direction:column;gap:.125rem;padding:var(--s3) var(--s4)}.settings-value>span{font-size:.75rem;color:var(--muted)}.settings-value>strong{font-size:.9375rem;font-weight:600;overflow-wrap:anywhere}
.settings-footer{padding-top:var(--s4);text-align:center;color:var(--muted)}.settings-footer p{font-size:.75rem;margin-top:.5rem}.settings-footer .brand-icon{width:24px;height:24px}.settings-footer .wordmark{font-size:.875rem}
.detail-row{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;flex-wrap:wrap;padding:.75rem 0;border-bottom:1px solid var(--line);font-size:.8125rem}.detail-row:last-child{border-bottom:0}.detail-row>.data-value{margin-left:auto;text-align:right;font-weight:600;max-width:100%}
.performance-hero{padding:var(--s5);border-radius:var(--r-xl);margin-bottom:var(--s3);box-shadow:var(--shadow-float)}.performance-heading{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.performance-heading h2{font-size:1.1875rem;font-weight:800}.hero-badge{padding:.1875rem .5625rem;border-radius:var(--r-pill);background:rgba(255,255,255,.2);font-size:.75rem;font-weight:700}.performance-hero>.asset-amount{margin-top:var(--s3)}
.performance-page>.card,.performance-page>.settings-section{margin-top:var(--s3)}.performance-page>.portfolio-history-link{margin-top:var(--s4)}
.history-list{display:flex;flex-direction:column;gap:.75rem}.history-card{display:block}.archived-label{display:inline-flex;padding:.1875rem .5rem;border-radius:var(--r-pill);background:var(--brand-soft);color:var(--brand-ink);font-size:.75rem;font-weight:700}.history-card h2{font-size:.9375rem;margin:.25rem 0}.history-card .small{font-size:.8125rem}
.history-card-heading{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.history-card-heading h2{font-size:1rem;font-weight:800;margin:0}.history-period{margin-top:.25rem;font-size:.8125rem;color:var(--muted);font-variant-numeric:tabular-nums}.history-card-values{display:flex;justify-content:space-between;gap:.5rem;flex-wrap:wrap;margin-top:.375rem;font-size:.9375rem;font-variant-numeric:tabular-nums}
.history-return{display:flex;flex-direction:column;align-items:flex-end;gap:.125rem;margin-left:auto;font-size:.8125rem;font-variant-numeric:tabular-nums}.history-return strong{font-size:1rem}.history-return>.icon{width:16px;height:16px;color:var(--muted);margin-top:.25rem}
.archived-banner{display:flex;align-items:center;gap:.5rem;border-radius:var(--r-md);padding:.75rem 1rem;background:var(--surface-raised);color:var(--ink-2);font-size:.8125rem;margin-bottom:var(--s4)}.archived-banner .icon{width:18px;height:18px}
.archive-links{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:var(--s4)}.archive-links>a{min-height:44px;padding:.5rem .75rem;border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--surface);font-size:.8125rem;display:inline-flex;align-items:center}
.stock-summary{padding-bottom:var(--s4)}.stock-summary>h2{font-size:1.5rem;font-weight:800;line-height:1.2}.stock-summary-line{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.25rem;font-size:.8125rem}.stock-summary>.position-tag{display:inline-flex;margin-top:.5rem}.stock-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3);margin:var(--s4) 0 0;font-variant-numeric:tabular-nums}.stock-metrics>div{min-width:0}.stock-metrics dt{font-size:.75rem;color:var(--muted)}.stock-metrics dd{margin:.125rem 0 0;font-size:1.1875rem;font-weight:700;overflow-wrap:anywhere}.stock-metrics dd.stock-metric-note{font-size:.75rem;color:var(--muted);line-height:1.4;font-weight:400;margin:0}.stock-chart-section{margin-bottom:var(--s3)}
.ma-toggles{display:flex;gap:.375rem;flex-wrap:wrap;margin:var(--s3) 0}.ma-toggle{display:inline-flex;align-items:center;gap:.375rem;min-height:44px;padding:.375rem .625rem;border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--surface);color:var(--ink-2);font-size:.75rem;font-weight:600}.ma-toggle.selected{background:var(--brand-soft);border-color:var(--line-strong)}.ma-toggle:not(.selected) .ma-swatch{opacity:.45}.ma-swatch{width:22px;border-top:3px solid;flex:none}.ma-swatch-20{border-color:var(--ma20)}.ma-swatch-50{border-color:var(--ma50);border-top-style:dashed}.ma-swatch-200{border-color:var(--ma200);border-top-style:dotted}.candle-readout,.ma-readout{font-size:.75rem;line-height:1.5}.price-plot{position:relative}.fill-marker{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;background:none;z-index:1}.fill-marker-badge{min-width:22px;min-height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0 .3125rem;border-radius:var(--r-pill);color:white;background:var(--up-ink);font-size:.6875rem;font-weight:800;box-shadow:0 0 0 2px var(--surface)}.fill-marker-badge.sell{background:var(--down-ink)}.fill-marker-badge.mixed{background:var(--brand)}.marker-choices{display:flex;flex-direction:column;gap:.5rem}.marker-choice{padding:.75rem 1rem;min-height:56px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);font-size:.8125rem;text-align:left}
.chart-legend{display:flex;flex-wrap:wrap;gap:.5rem .75rem;font-size:.75rem;color:var(--ink-2);margin:.75rem 0}.chart-legend span::before{content:'';display:inline-block;vertical-align:middle;width:12px;height:2px;background:var(--brand);margin-right:.25rem}.chart-legend .legend-ma20::before{background:var(--ma20)}.chart-legend .legend-ma50::before{background:var(--ma50)}.chart-legend .legend-ma200::before{background:var(--ma200)}.chart-legend .legend-buy::before,.chart-legend .legend-sell::before{width:6px;height:6px;border-radius:50%;background:var(--up)}.chart-legend .legend-sell::before{background:var(--down)}
.portfolio-history-link{display:flex;justify-content:space-between;align-items:center;gap:.75rem;min-height:56px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:.75rem 1rem;margin:0 0 var(--s3);color:var(--text);font-size:.9375rem;font-weight:600}.portfolio-history-link>span{min-width:0}.portfolio-history-link>span>strong,.portfolio-history-link>span>.small{display:block}.portfolio-history-link .small{font-weight:400}.portfolio-history-link .icon{width:20px;height:20px;color:var(--muted)}
.changes-summary{padding-bottom:var(--s4)}.changes-summary>strong{font-size:1.1875rem;font-weight:800}.changes-summary p{margin-top:.25rem}.change-date-group{margin-bottom:var(--s4)}.change-date-group>h2{margin:0 0 var(--s2);font-size:.8125rem;font-weight:700;color:var(--muted)}.portfolio-timeline{list-style:none;padding:0;display:flex;flex-direction:column;gap:.5rem}.change-event-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);overflow:hidden}.change-event-toggle{display:flex;align-items:flex-start;gap:.75rem;min-height:44px;width:100%;padding:var(--s3) var(--s4);border:0;background:none;text-align:left}.change-event-toggle:focus-visible{outline-offset:-3px}.change-event-time{min-width:40px;padding-top:3px;font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums;flex:none}.change-event-copy{flex:1;min-width:0}.change-event-heading{display:flex;align-items:center;gap:.375rem;flex-wrap:wrap}.change-event-heading strong{font-size:.9375rem;overflow-wrap:anywhere}.change-event-quantity{display:block;margin-top:.25rem;font-size:.9375rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.change-event-meta{display:block;margin-top:.125rem;font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums;line-height:1.45}.change-event-chevron{font-size:.75rem;color:var(--brand-ink);font-weight:600;padding-top:3px;flex:none}.change-event-detail{display:flex;flex-direction:column;gap:.5rem;border-top:1px solid var(--line);padding:var(--s3) var(--s4) var(--s4)}.change-event-detail>p{margin:0}.linked-trade{display:flex;align-items:center;gap:.5rem;min-height:44px;padding:.625rem .75rem;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-raised);text-align:left}.linked-trade>span{flex:1;min-width:0}.linked-trade>span>*{display:block}.linked-trade strong{font-size:.8125rem;font-variant-numeric:tabular-nums}.snapshot-composition h3{font-size:.8125rem;color:var(--muted);margin-top:.25rem}.snapshot-composition ul{list-style:none;padding:0}.snapshot-composition li{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;flex-wrap:wrap;padding:.375rem 0;font-size:.8125rem;font-variant-numeric:tabular-nums}.snapshot-composition li>span:first-child{display:flex;gap:.5rem;flex-wrap:wrap}.snapshot-composition li>.data-value{margin-left:auto}
.change-kind{font-size:.75rem;padding:.125rem .4375rem;border-radius:var(--r-pill);background:var(--brand-soft);color:var(--brand-ink);font-weight:700}.kind-entry,.kind-add{color:var(--up-ink);background:var(--up-soft)}.kind-reduce,.kind-exit{color:var(--down-ink);background:var(--down-soft)}
.standalone-guide{max-width:560px;margin:var(--s6) auto}.guide-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.75rem}.guide-list li{display:flex;align-items:flex-start;gap:.75rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--s4);box-shadow:var(--shadow-card)}.guide-number{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--brand-soft);color:var(--brand-ink);flex:none;font-size:.8125rem;font-weight:800}.guide-list h2{font-size:1rem;margin:.125rem 0 .375rem}.guide-list p{font-size:.8125rem;color:var(--muted);line-height:1.55}.guide-note{font-size:.8125rem;color:var(--muted);line-height:1.55;margin-top:var(--s4)}
.trading-rule{margin-bottom:var(--s3)}.trading-rule h2{margin-bottom:var(--s3)}.trading-rule ul{padding-left:1.1rem;font-size:.875rem;color:var(--ink-2);line-height:1.65}.trading-rule li+li{margin-top:.625rem}.trading-info-notice{padding:var(--s4);border-radius:var(--r-md);background:var(--surface-raised);color:var(--muted);font-size:.8125rem;text-align:center}
.error-banner{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem 1rem;background:var(--warn-soft);color:var(--amber);font-size:.8125rem;line-height:1.5}.error-banner>.icon{width:18px;height:18px;margin-top:3px}.error-banner>span{flex:1}.error-banner>.text-button{font-size:.8125rem;color:var(--amber);padding:.375rem;flex:none;margin-top:-.375rem}

/* Native dialogs retain focus containment. Trade details use the full-page v2 layout. */
.app-dialog{width:560px;max-width:100%;max-height:calc(100dvh - 32px - env(safe-area-inset-top));margin:auto auto 0;border:0;border-radius:var(--r-xl) var(--r-xl) 0 0;padding:0;background:var(--surface);color:var(--text);box-shadow:var(--shadow-float);overscroll-behavior:contain}.app-dialog::backdrop{background:rgba(28,29,59,.45)}
.dialog-content{padding:var(--s5) var(--s4) calc(var(--s5) + env(safe-area-inset-bottom))}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:var(--s4)}.dialog-heading h2{font-size:1.1875rem;line-height:1.4;padding-top:.375rem}.dialog-heading .icon-button{margin:-.125rem -.5rem 0 0;box-shadow:none;background:var(--surface-raised)}
.dialog-content p{font-size:.9375rem;line-height:1.6}.dialog-content p.muted{font-size:.8125rem;margin-top:var(--s4)}.dialog-value{font-size:2rem!important;font-weight:800;letter-spacing:-.02em;margin-bottom:var(--s4);font-variant-numeric:tabular-nums}.dialog-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:var(--s5)}.dialog-actions button{flex:1 1 140px;font-size:.9375rem;padding:.75rem}.dialog-content>.primary-button{width:100%;margin-top:var(--s5)}.reset-notes{font-size:.8125rem;color:var(--muted);line-height:1.65;padding-left:1.1rem;margin-top:var(--s4)}.reset-notes li+li{margin-top:.5rem}
.trade-reason{padding:var(--s4);background:var(--brand-soft);color:var(--brand-ink);border-radius:var(--radius);margin-bottom:var(--s3);font-weight:600}.trade-values{padding-block:var(--s2)}
.detail-dialog{width:680px;max-width:100%;height:100dvh;max-height:100dvh;margin:0 auto;border-radius:0;background:var(--bg)}.detail-dialog .dialog-content{padding:calc(env(safe-area-inset-top) + .375rem) var(--s4) calc(var(--s5) + env(safe-area-inset-bottom))}.detail-dialog .dialog-heading{justify-content:flex-start;align-items:center;gap:.625rem;min-height:56px}.detail-dialog .dialog-heading .icon-button{margin:0;background:white;box-shadow:var(--shadow-card)}.detail-dialog .dialog-heading h2{padding:0}.detail-dialog .dialog-actions{padding-bottom:var(--s5)}
.sheet-handle{width:40px;height:4px;border-radius:2px;background:var(--line-strong);margin:0 auto var(--s4)}.target-comparison{display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap;padding:var(--s3) 0;font-size:1.5rem;font-weight:800;font-variant-numeric:tabular-nums}.previous-target{color:var(--muted);text-decoration:line-through}.dialog-content .target-change-notice{padding:var(--s3) var(--s4);border-radius:var(--r-md);background:var(--warn-soft);color:var(--amber);font-size:.8125rem;font-weight:600;line-height:1.55}.consent-review{max-width:560px;margin:0 auto}.consent-review>.card{line-height:1.65}.consent-record{margin-top:var(--s3);padding-block:0}
@keyframes shimmer{to{background-position:-200% 0}}
@keyframes loading-pulse{0%,100%{opacity:.3;transform:scaleX(.65)}50%{opacity:1;transform:scaleX(1)}}
@media(min-width:760px){
  body{background:#E7E7F5}.app-shell,.onboarding-page,.auth-page{border-inline:1px solid var(--line);background:var(--bg)}.auth-panel{margin-top:2rem}.main-content{padding-inline:var(--s5)}.line-chart{height:220px}.dashboard-content{padding-inline:var(--s5)}
  .app-dialog:not(.detail-dialog){margin:auto;border-radius:var(--r-xl);max-width:calc(100% - 32px)}.app-dialog:not(.detail-dialog) .dialog-content{padding:var(--s6)}
}
@media(max-width:359px){
  .main-content{padding-inline:.75rem}.main-content.home-content{padding-inline:0}.dashboard-content{padding-inline:.75rem}.asset-section{padding-inline:1rem}.auth-page,.onboarding-page{padding-inline:1rem}.header-run{padding:0 .5rem}.hero-greeting{gap:.5rem}
  .funds-copy{min-width:100px}.section-heading{flex-wrap:wrap}.section-heading .subtle-link{margin-left:auto}.activity-action{gap:.5rem}.activity-action>.icon{display:none}.metric-tabs{border-radius:var(--r-md)}.metric-tabs button{border-radius:var(--r-sm)}.history-card{align-items:flex-start}.error-banner{flex-wrap:wrap}
  .bottom-nav{width:calc(100% - 24px);padding:.375rem;gap:.125rem}.nav-item{font-size:.75rem}.quick-actions{gap:.375rem}.quick-action{border-radius:var(--r-md)}.stepper-button{width:44px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.recent-holdings-changes{margin-top:var(--s4)}.recent-holdings-changes .change-date-group>h3{margin-bottom:var(--s2)}

/* Member controls use the same lavender surfaces and stay readable on narrow screens. */
.member-topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);min-height:60px;padding:calc(env(safe-area-inset-top) + .375rem) var(--s4) .375rem;background:var(--bg)}
.member-topbar+.main-content{padding-top:.375rem}.notification-bell{position:relative;flex:none}.notification-badge{position:absolute;right:-2px;top:-2px;display:grid;place-items:center;min-width:19px;height:19px;padding:0 4px;border-radius:var(--r-pill);background:var(--brand);color:#fff;font-size:.625rem;font-weight:800;border:2px solid var(--bg)}
.member-stack{display:flex;flex-direction:column;gap:var(--s4);min-width:0}.member-stack>.page-heading{margin-bottom:0}.member-stack>.section-heading{margin-bottom:0}.member-stack .detail-row{gap:var(--s3);align-items:flex-start}.member-stack .detail-row>.data-value{max-width:66%;text-align:right;overflow-wrap:anywhere}
.capital-presets,.device-actions{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s3)}.capital-presets>.soft-button{flex:1;min-width:80px}.capital-history,.notification-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--s3)}.capital-editor .field-hint{margin-top:.375rem}
.selling-editor{display:flex;flex-direction:column;gap:var(--s3)}.selling-editor .target-input{width:100%;max-width:none;min-height:52px;padding:.75rem;border:1.5px solid var(--line-strong);border-radius:var(--r-md);text-align:left;background:var(--surface)}select.text-input{font:inherit;color:var(--text)}
.start-form>.card+.card{margin-top:var(--s4)}.hero-actions{flex-wrap:wrap}.hero-actions>.hero-button{flex:1;min-width:105px}
.notification-card{padding:0;overflow:hidden}.notification-card.unread{border-color:var(--brand);background:var(--brand-soft)}.notification-toggle{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s3);width:100%;min-height:60px;padding:var(--s4);border:0;background:none;text-align:left;border-radius:var(--radius)}.notification-toggle>.icon{margin-top:3px;transition:transform .16s}.notification-toggle[aria-expanded='true']>.icon{transform:rotate(180deg)}
.notification-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:.375rem}.notification-copy>strong{font-size:.9375rem}.notification-copy>span{font-size:.8125rem;color:var(--ink-2)}.notification-card.unread .notification-copy>strong::before{content:'';display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:var(--brand);vertical-align:middle}.notification-detail{padding:0 var(--s4) var(--s4);font-size:.8125rem}.notification-detail .detail-row{gap:var(--s3)}.notification-detail .data-value{text-align:right;max-width:65%;overflow-wrap:anywhere}
@media(max-width:359px){.member-topbar{padding-right:var(--s3);padding-left:var(--s3)}.capital-presets{gap:.375rem}.capital-presets>.soft-button{padding:.625rem .375rem}.device-actions>*{width:100%}.member-stack .detail-row>.data-value{max-width:58%}}
@media(prefers-reduced-motion:reduce){.notification-toggle>.icon{transition:none}}

@media(max-width:559px){.metric-tabs:has(>button:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr));border-radius:var(--r-md)}.metric-tabs:has(>button:nth-child(4)) button{border-radius:var(--r-sm);padding:.625rem .5rem}}
