:root {
  color-scheme: light dark;
  --bg:#f5f6f8; --surface:#ffffff; --card:#ffffff; --text:#151719; --muted:#777e87; --subtle:#aab0b7;
  --border:#e7e9ec; --soft:#f1f2f5; --raised:#e9edf0; --accent:#151719; --on-accent:#fff;
  --orange:#e69a43; --blue:#6c93c4; --grey:#c2c8d1; --warning-bg:#fff7e9; --warning-fg:#715529;
  --shadow:0 8px 26px rgba(16,26,36,.035); --safe-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark) {
  :root {--bg:#101114; --surface:#1a1c20; --card:#1a1c20; --text:#f5f5f7; --muted:#a1a6af; --subtle:#737a83;
    --border:#313339; --soft:#23262b; --raised:#2a2d32; --accent:#f5f5f7; --on-accent:#121316;
    --orange:#e6a355; --blue:#8badd4; --grey:#626a76; --warning-bg:#30281b; --warning-fg:#dec39c;
    --shadow:0 8px 26px rgba(0,0,0,.11);}
}
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body {margin:0; color:var(--text); background:var(--bg); font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",system-ui,sans-serif; letter-spacing:-.012em; font-size:15px;}
button,input,select {font:inherit;color:inherit;}
button {touch-action:manipulation;cursor:pointer;}
button:focus-visible,input:focus-visible,select:focus-visible {outline:3px solid var(--blue);outline-offset:3px;}
button:disabled {opacity:.55;cursor:not-allowed;}
.hidden,[hidden] {display:none !important;}
.tabular {font-variant-numeric:tabular-nums lining-nums;}
.muted {color:var(--muted);}
.small {font-size:12px;}
.app {max-width:530px;margin:0 auto;min-height:100dvh;padding:calc(env(safe-area-inset-top,0px) + 18px) 21px calc(110px + var(--safe-bottom));}
.topbar {display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:47px;margin-bottom:22px;}
.brand {display:flex;align-items:center;gap:10px;font-weight:720;font-size:19px;letter-spacing:-.05em;}
.brand-mark {height:34px;width:34px;display:block;border-radius:10px;border:1px solid var(--border);flex-shrink:0;}
.brand-name {font-size:20px;font-weight:760;letter-spacing:-.055em;}
.header-controls{display:flex;align-items:center;gap:6px;}
.icon-button,.minimal-icon {display:grid;place-items:center;border:0;background:transparent;color:var(--text);width:38px;height:38px;border-radius:12px;}
.icon-button:active,.minimal-icon:active {background:var(--raised);}
.icon-button svg,.minimal-icon svg,.nav-button svg,.account-chevron svg {width:20px;height:20px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.view {animation:fade-up .18s ease-out;}
@keyframes fade-up {from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.eyebrow {display:flex;gap:9px;align-items:center;color:var(--muted);font-size:10px;font-weight:740;letter-spacing:.125em;margin:0 0 23px;}
.total-label-row{display:flex;align-items:center;justify-content:space-between;}
.total-label{margin:0;color:var(--muted);font-weight:520;font-size:14px;}
.total-area {margin-top:2px;margin-bottom:20px;}
.total-amount{margin:6px 0 7px;font-weight:750;letter-spacing:-.057em;font-size:clamp(34px,9.5vw,47px);line-height:1.17;white-space:nowrap;}
.total-amount.long{font-size:clamp(27px,7.5vw,38px);}
#total-hint{margin:0;min-height:19px;}
.segmented {display:flex;background:var(--soft);border-radius:13px;padding:4px;gap:3px;}
.segmented button{flex:1;border:0;border-radius:10px;background:transparent;padding:10px 7px;font-size:13px;font-weight:670;color:var(--muted);transition:background .15s,color .15s;}
.segmented button.is-selected{background:var(--surface);color:var(--text);box-shadow:0 1px 4px rgba(15,15,15,.065);}
.currency-control {margin-bottom:29px;}
.info-panel {background:var(--warning-bg);color:var(--warning-fg);display:flex;gap:13px;border-radius:14px;padding:15px;margin:0 0 26px;line-height:1.45;}
.info-icon {background:var(--warning-fg);color:var(--warning-bg);border-radius:50%;height:19px;min-width:19px;display:grid;place-items:center;font-size:12px;font-weight:750;margin-top:2px;}
.info-panel strong {font-size:13px;}
.info-panel p {font-size:12px;margin:4px 0 9px;}
.inline-link {border:0;background:none;padding:0;text-align:left;font-weight:740;font-size:12px;color:inherit;text-decoration:underline;text-underline-offset:4px;}
.content-section {margin:35px 0 0;}
.section-heading {display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:19px;}
.section-heading h2 {font-size:16px;font-weight:720;letter-spacing:-.035em;margin:0;}
.section-caption {font-size:11px;color:var(--muted);}
.allocation-bar {height:9px;display:flex;gap:3px;overflow:hidden;border-radius:100px;background:var(--soft);}
.allocation-segment {height:100%;min-width:0;transition:width .25s ease;}
.allocation-segment.btc,.legend-dot.btc,.asset-icon.btc {background:var(--orange);}
.allocation-segment.etf,.legend-dot.etf,.asset-icon.etf {background:var(--blue);}
.allocation-segment.cash,.legend-dot.cash,.asset-icon.cash {background:var(--grey);}
.allocation-empty {width:100%;background:var(--raised);}
.allocation-legend {display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:16px;}
.legend-item {display:flex;gap:6px;align-items:center;font-size:11px;color:var(--muted);flex-wrap:wrap;}
.legend-item strong {font-size:12px;font-weight:710;color:var(--text);margin-left:2px;}
.legend-dot {height:7px;width:7px;flex:0 0 7px;border-radius:50%;}
.asset-list {background:var(--surface);border:1px solid var(--border);border-radius:19px;padding:3px 17px;box-shadow:var(--shadow);}
.asset-row {display:flex;gap:12px;align-items:center;justify-content:space-between;padding:17px 0;}
.asset-row + .asset-row {border-top:1px solid var(--border);}
.asset-row-main{display:flex;align-items:center;gap:12px;min-width:0;}
.asset-icon{height:37px;width:37px;border-radius:12px;display:grid;place-items:center;flex-shrink:0;color:#192029;font-weight:800;font-size:19px;}
.asset-icon.cash{font-size:16px;}
.asset-row-text {display:grid;gap:3px;min-width:0;}
.asset-row-text strong,.asset-row-value strong {font-size:14px;font-weight:690;}
.asset-row-text span,.asset-row-value span {font-size:11px;color:var(--muted);}
.asset-row-value {display:grid;text-align:right;gap:4px;flex-shrink:0;}
.footer-note{font-size:11px;color:var(--muted);line-height:1.6;margin:21px 0 4px;}
.page-intro {margin:0 0 25px;}
.page-intro .eyebrow {margin-bottom:14px;}
.page-intro h1 {font-size:32px;font-weight:740;letter-spacing:-.05em;margin:0 0 7px;}
.page-intro > p:last-child {color:var(--muted);font-size:13px;line-height:1.55;margin:0;}
.accounts-list{display:grid;gap:12px;}
.account-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;overflow:hidden;box-shadow:var(--shadow);}
.account-toggle{width:100%;border:0;background:transparent;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:18px 15px;text-align:left;}
.account-name{font-size:15px;font-weight:730;display:block;}
.account-summary{font-size:12px;color:var(--muted);display:block;margin-top:5px;}
.account-chevron {display:grid;place-items:center;color:var(--muted);transition:transform .16s;}
.account-toggle[aria-expanded="true"] .account-chevron {transform:rotate(180deg);}
.account-details {padding:0 15px 9px;}
.position-row{display:flex;align-items:center;gap:8px;justify-content:space-between;padding:15px 0;border-top:1px solid var(--border);}
.position-info{display:grid;gap:4px;min-width:0;}
.position-info strong {font-size:13px;font-weight:650;}
.position-info span {font-size:12px;color:var(--muted);overflow-wrap:anywhere;}
.position-right{display:grid;justify-items:end;gap:6px;}
.position-right strong{font-size:13px;white-space:nowrap;}
.edit-button{border:1px solid var(--border);background:var(--soft);border-radius:8px;padding:6px 10px;font-size:11px;font-weight:650;}
.history-panel{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:20px 16px 17px;box-shadow:var(--shadow);}
.chart-head{display:flex;justify-content:space-between;align-items:center;gap:8px;}
.date-label{font-size:11px;color:var(--muted);}
.chart-primary {font-weight:730;font-size:27px;letter-spacing:-.05em;margin:5px 0 0;}
.chart-change{margin:5px 0 21px;min-height:14px;}
.range-control{margin:0 0 15px;}
.range-control button{font-size:11px;padding:8px 3px;}
.chart-area{height:205px;position:relative;}
.history-svg {height:100%;width:100%;overflow:visible;touch-action:pan-y;}
.chart-empty{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:8px;}
.chart-empty-glyph {font-size:41px;color:var(--subtle);line-height:1;}
.chart-empty strong{font-size:13px;}
.chart-empty p {font-size:11px;color:var(--muted);max-width:235px;line-height:1.5;margin:0;}
.chart-dates{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin:6px 6px 0;}
.category-chips{display:flex;flex-wrap:wrap;gap:7px;}
.chip{font-size:12px;border:1px solid var(--border);background:var(--surface);border-radius:100px;padding:9px 13px;}
.chip.is-selected{background:var(--text);color:var(--bg);border-color:var(--text);font-weight:690;}
.bottom-nav{position:fixed;z-index:12;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:530px;display:flex;justify-content:space-around;background:color-mix(in srgb,var(--surface) 95%,transparent);border-top:1px solid var(--border);padding:12px 12px calc(11px + var(--safe-bottom));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);}
.nav-button{border:0;background:none;min-width:90px;display:flex;align-items:center;flex-direction:column;gap:5px;font-size:10px;color:var(--muted);padding:3px 10px;}
.nav-button svg{height:22px;width:22px;}
.nav-button.is-selected{color:var(--text);font-weight:730;}
.sheet{padding:0;border:0;max-width:none;margin:0;left:0;bottom:0;top:auto;width:100%;max-height:min(94dvh,920px);border-radius:24px 24px 0 0;background:var(--surface);color:var(--text);box-shadow:0 -10px 40px #0002;}
.sheet::backdrop{background:#06090eb5;}
.sheet-inner{padding:12px 23px calc(25px + var(--safe-bottom));max-width:530px;margin:0 auto;}
.sheet-grab{background:var(--border);border-radius:30px;width:38px;height:5px;margin:0 auto 23px;}
.sheet-heading{display:flex;align-items:start;justify-content:space-between;margin-bottom:15px;}
.sheet-heading .eyebrow{margin-bottom:9px;}
.sheet-heading h2{font-size:23px;margin:0;letter-spacing:-.045em;}
.close-button{width:33px;height:33px;border:0;border-radius:10px;background:var(--soft);font-size:26px;line-height:1;}
.field-label{display:block;font-weight:660;font-size:12px;margin:17px 0 8px;}
.text-field{display:block;width:100%;border:1px solid var(--border);background:var(--bg);padding:14px 13px;border-radius:12px;font-size:16px;outline:0;}
.text-field:focus{border-color:var(--muted);}
.field-help{color:var(--muted);font-size:11px;line-height:1.5;margin:8px 0 2px;}
.field-error{color:#cc3e3e;font-size:12px;margin:10px 0;}
.sheet-actions{display:flex;gap:10px;margin-top:26px;}
.primary-button,.secondary-button{border-radius:12px;padding:13px 15px;font-size:13px;font-weight:730;min-height:45px;}
.primary-button{border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);}
.secondary-button{border:1px solid var(--border);background:var(--soft);color:var(--text);}
.sheet-actions button{flex:1;}
.full-button{width:100%;margin-top:11px;}
.settings-sheet .sheet-inner{display:flex;flex-direction:column;max-height:93dvh;}
.settings-scroll{overflow:auto;flex:1;overscroll-behavior:contain;padding-bottom:12px;}
.settings-section{padding:20px 0 22px;border-top:1px solid var(--border);}
.settings-section:first-child{border-top:0;padding-top:4px;}
.settings-section h3{font-size:15px;font-weight:720;margin:0 0 8px;}
.settings-section>p{line-height:1.55;margin:0 0 10px;}
.quotes-list{display:grid;gap:8px;margin:16px 0 5px;}
.quote-row{border:1px solid var(--border);border-radius:12px;padding:12px;display:flex;justify-content:space-between;gap:8px;align-items:center;}
.quote-row>div:first-child{display:grid;gap:5px;}
.quote-row strong{font-size:12px;}
.quote-row span{font-size:10px;color:var(--muted);}
.quote-row b{font-size:13px;text-align:right;}
.toast{position:fixed;z-index:50;left:50%;bottom:calc(86px + var(--safe-bottom));max-width:calc(100% - 50px);transform:translateX(-50%) translateY(15px);border-radius:12px;background:var(--text);color:var(--bg);font-size:12px;font-weight:650;line-height:1.45;text-align:center;padding:13px 19px;box-shadow:0 12px 32px #0003;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
@media (max-width:360px){.app{padding-left:16px;padding-right:16px}.allocation-legend{gap:2px}.legend-item{font-size:10px}.total-amount{font-size:33px}.asset-row-value strong{font-size:12px}.nav-button{min-width:65px;}}
@media (min-width:600px){.app{border-left:1px solid var(--border);border-right:1px solid var(--border);background:var(--bg)}.bottom-nav{border-left:1px solid var(--border);border-right:1px solid var(--border);}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none !important;transition:none !important;}}
