@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--default-font-family:var(--font-inter), var(--font-armenian);--default-mono-font-family:var(--font-inter), var(--font-armenian)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.h-full{height:100%}.min-h-full{min-height:100%}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-col{flex-direction:column}.rounded{border-radius:.25rem}.lowercase{text-transform:lowercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#000;--muted:#6b7280;--paper:#fff;--panel:#fafafa;--line:#e5e7eb;--border:#e5e7eb;--forest:#1b2b4b;--navy:#1b2b4b;--gold:#e8c97a;--gold-dark:#c9a84c;--lime:#e8c97a;--coral:#dc2626;--danger:#dc2626;--accent:#1b2b4b;--mint:#eaf0fb;--row-alt:#f8f7f4;--row-hover:#eaf0fb;--sidebar:#1f4d32;--sidebar-text:#fff;--sidebar-muted:#ffffff8c;--sidebar-faint:#ffffff59;--sidebar-hover:#ffffff14;--sidebar-divider:#ffffff14;--sidebar-width:224px;--font-geist-sans:var(--font-inter), var(--font-armenian);--font-geist-mono:var(--font-inter), var(--font-armenian);--font-display:var(--font-inter), var(--font-armenian);--text-xs:.75rem;--text-sm:.8125rem;--text-base:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.5rem;--label:#4b5563}*{box-sizing:border-box;border-color:var(--line)}body{font-size:var(--text-base);background:var(--paper);color:var(--ink);line-height:1.5;font-family:var(--font-inter), var(--font-armenian), -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;-webkit-font-smoothing:antialiased;margin:0}button,input,select{font:inherit}h1,h2,h3,h4{letter-spacing:-.01em;font-weight:600;line-height:1.3}h1{font-size:1.5rem}h2{font-size:1.125rem}h3{font-size:1rem}h4{font-size:.875rem}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.brand{color:var(--ink);font:600 .8125rem/1 var(--font-inter), var(--font-armenian), sans-serif;letter-spacing:.05em;text-decoration:none}.app-header{z-index:40;width:var(--sidebar-width);border-right:1px solid var(--sidebar-divider);background:var(--sidebar);color:var(--sidebar-text);flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0}.app-header .brand{border-bottom:1px solid var(--sidebar-divider);height:56px;color:var(--gold);flex-shrink:0;align-items:center;padding:0 .9rem;display:flex}.app-header .brand span{font-size:var(--text-xs);opacity:.6;margin-left:.3rem;font-weight:400}.sidebar-account{border-bottom:1px solid var(--sidebar-divider);align-items:center;gap:.6rem;min-width:0;margin:.5rem .5rem 0;padding:.5rem .5rem .75rem;display:flex}.sidebar-avatar{background:var(--gold);width:28px;height:28px;color:var(--navy);border-radius:50%;flex-shrink:0;place-items:center;font-size:.75rem;font-weight:600;display:grid}.sidebar-email{color:var(--sidebar-text);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-weight:500;overflow:hidden}.main-tabs{flex-direction:column;flex:1;gap:2px;padding:.5rem;display:flex;overflow-y:auto}.main-tabs button,.main-tabs a,.sidebar-footer button{width:100%;color:var(--sidebar-muted);cursor:pointer;font-size:var(--text-base);text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:.6rem;padding:.55rem .7rem;font-weight:500;text-decoration:none;transition:background-color .12s,color .12s;display:flex}.main-tabs button:hover,.main-tabs a:hover,.sidebar-footer button:hover{background:var(--sidebar-hover);color:var(--sidebar-text)}.main-tabs button.active,.main-tabs a.active{background:var(--sidebar-hover);box-shadow:inset 2px 0 0 var(--gold);color:var(--sidebar-text)}.main-tabs .active svg{color:var(--gold)}.main-tabs .nav-parent.open:not(.active){color:var(--sidebar-text)}.main-tabs .nav-parent.open svg{color:var(--gold)}.sidebar-subnav{border-left:1px solid var(--sidebar-divider);flex-direction:column;gap:2px;margin:0 0 .35rem 1.05rem;padding-left:.45rem;display:flex}.sidebar-subnav button{font-size:var(--text-sm);padding:.45rem .6rem}.main-tabs .nav-soon,.main-tabs .nav-soon:hover{color:var(--sidebar-faint);cursor:default;background:0 0}.nav-badge{border:1px solid var(--sidebar-divider);color:var(--sidebar-muted);font-size:var(--text-xs);border-radius:999px;margin-left:auto;padding:.05rem .4rem;font-weight:500}.sidebar-footer{border-top:1px solid var(--sidebar-divider);padding:.5rem}.app-shell{width:100%;margin:0;padding:0 1.5rem 5rem}.app-shell:has(>.app-header){padding-left:calc(var(--sidebar-width) + 1.5rem)}@media (max-width:900px){.app-header{border-right:0;flex-flow:wrap;align-items:center;width:auto;margin:0 -1rem;position:sticky;inset:0 auto auto 0}.app-header .brand{border-bottom:0;height:48px}.sidebar-account{display:none}.main-tabs{flex-direction:row;padding:.35rem;overflow-x:auto}.main-tabs button,.main-tabs a{white-space:nowrap;width:auto}.sidebar-subnav{flex-direction:row;margin:0;padding-left:.35rem}.sidebar-footer{border-top:0;padding:.35rem}.sidebar-footer button{width:auto}:is(.app-shell,.app-shell:has(>.app-header)){padding:0 1rem 4rem}}.simple-page{width:min(880px,100%);margin:0 auto;padding:3.5rem 0 5rem}.admin-page{width:100%}.page-heading{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;display:flex}.page-heading h1{letter-spacing:-.01em;margin:0;font-size:1.5rem;font-weight:600}.page-heading p{color:var(--muted);margin:.55rem 0 0}.page-message{width:min(880px,100%);margin:1.25rem auto -1.75rem}.settings-panel{min-height:0}.settings-row{grid-template-columns:repeat(5,minmax(0,1fr)) minmax(12rem,1.6fr);align-items:start;gap:.7rem;display:grid}@media (max-width:1100px){.settings-row{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:640px){.settings-row{grid-template-columns:minmax(0,1fr)}}.settings-row label{min-width:0}.settings-row input[readonly]{color:var(--ink);background:#f9fafb}.settings-row .checkbox-setting{text-align:left;flex-direction:row;grid-column:1/-1;justify-self:start;align-items:center;gap:.55rem;display:flex}.settings-row .checkbox-setting input{width:auto}.industry-scroller{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;display:grid}.industry-card{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:4px;grid-template-columns:2.5rem minmax(0,1fr) 1.8rem;align-items:center;gap:.55rem;margin:0;padding:.7rem;display:grid}.industry-icon{background:var(--accent);border-radius:50%;grid-area:1/1;place-items:center;width:2.5rem;height:2.5rem;display:grid}@supports (color:color-mix(in lab, red, red)){.industry-icon{background:color-mix(in srgb, var(--accent) 11%, white)}}.industry-icon{color:var(--accent)}.industry-name{grid-area:2/1/auto/4;margin:0}.industry-name input{width:100%;min-height:2.2rem;padding:.4rem .5rem;font-size:.75rem}.industry-remove{width:1.8rem;height:1.8rem;color:var(--muted);background:0 0;border:0;grid-area:1/3;padding:0;font-size:1.2rem}.industry-remove:hover:not(:disabled){color:var(--danger)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.persona-scroller{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;gap:1rem;padding-bottom:.6rem;display:flex;overflow-x:auto}.persona-card{scroll-snap-align:start;flex:0 0 min(460px,86vw)}.persona-card textarea{min-height:340px}.prompt-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.persona-heading{align-items:center;gap:.75rem;display:flex}.persona-icon{border:1px solid var(--line);background:var(--forest);border-radius:50%;flex:0 0 2.5rem;place-items:center;width:2.5rem;height:2.5rem;display:grid}@supports (color:color-mix(in lab, red, red)){.persona-icon{background:color-mix(in srgb, var(--forest) 10%, white)}}.persona-icon{color:var(--forest)}.setting-note{color:var(--muted);font:500 var(--text-xs)/1.4 var(--font-inter), var(--font-armenian), sans-serif}.notice{color:#2d6038;background:#eff8ea;border:1px solid #9db69e;border-radius:3px;padding:.85rem 1rem}.hero{grid-template-columns:1fr auto;align-items:end;gap:2rem;padding:5rem 0 3.5rem;display:grid}.hero h1,.login-copy h1{letter-spacing:-.07em;max-width:760px;margin:.4rem 0 1rem;font-size:clamp(2.8rem,7vw,6.2rem);font-weight:570;line-height:.94}.hero-copy,.login-copy>p{max-width:620px;color:var(--muted);font-size:1.05rem;line-height:1.7}.eyebrow,.step{color:var(--muted);font:500 var(--text-sm)/1.4 var(--font-inter), var(--font-armenian), sans-serif;margin:0}.hero-stat{border-left:1px solid var(--ink);min-width:190px;padding-left:1.4rem}.hero-stat span,.hero-stat small{color:var(--muted);font:600 var(--text-xs)/1.5 var(--font-geist-mono), monospace;display:block}.hero-stat strong{letter-spacing:-.06em;margin:.1rem 0;font-size:3.5rem;font-weight:550;display:block}.workspace-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.panel,.report,.login-panel{border:1px solid var(--line);background:var(--panel);box-shadow:none;border-radius:12px}.panel{min-height:420px;padding:1.6rem}.panel.settings-panel,.portfolio-editor,.test-panel{min-height:0}.portfolio-page{width:100%}.portfolio-page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin-bottom:1rem;display:flex}.portfolio-page-head h1{margin:0}.portfolio-analytics-link{background:var(--navy);color:#fff;align-items:center;gap:.45rem;font-weight:600;display:inline-flex}.portfolio-workspace{grid-template-columns:minmax(0,1fr);align-items:start;gap:1rem;display:grid}.portfolio-sidebar{min-width:0;min-height:0;padding:1.15rem}.portfolio-sidebar .stack{margin-top:0}.portfolio-analysis{gap:1rem;min-width:0;display:grid}.portfolio-summary{border:1px solid var(--line);background:var(--panel);border-radius:4px;grid-template-columns:1fr;display:grid;overflow:hidden}.portfolio-summary .metric{border-width:0 0 1px}.portfolio-summary .metric:last-child{border-bottom:0}.analytics-view .portfolio-summary{grid-template-columns:repeat(4,1fr)}.analytics-view .portfolio-summary .metric{border-width:0 1px 0 0}.analytics-view .portfolio-summary .metric:last-child{border-right:0}.portfolio-summary .metric.positive strong{color:#28723d}.portfolio-summary .metric.negative strong{color:#ae3f2e}.allocation-filter{border:1px solid var(--line);background:var(--panel);cursor:pointer;letter-spacing:0;text-transform:none;border-radius:4px;flex-direction:row;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.allocation-filter input{width:18px;height:18px;accent-color:var(--forest);margin:0}.allocation-filter span{gap:.15rem;display:grid}.allocation-filter strong{color:var(--ink);font-family:var(--font-geist-sans), sans-serif;font-size:.875rem}.allocation-filter small{color:var(--muted);font:400 var(--text-xs)/1.3 var(--font-geist-sans), sans-serif}.allocation-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1rem;display:grid}.holdings-panel,.performance-card,.allocation-panel{min-height:0}.gain-loss-cards{grid-template-columns:1fr;gap:1rem;display:grid}.analytics-view .gain-loss-cards{grid-template-columns:repeat(2,1fr)}.performance-card{position:relative;overflow:hidden}.performance-card:before{content:"";width:4px;position:absolute;top:0;bottom:0;left:0}.performance-card.gains:before{background:#28723d}.performance-card.losses:before{background:#ae3f2e}.performance-card.gains .performance-total{color:#28723d}.performance-card.losses .performance-total{color:#ae3f2e}.performance-card h2{margin:.4rem 0 1.2rem}.performance-total{font:700 1.5rem/1 var(--font-geist-mono), monospace;display:block}.performance-card>span{color:var(--muted);font-size:var(--text-xs);margin-top:.6rem;display:block}.performance-stock-list{border-top:1px solid var(--line);margin-top:1.2rem;display:grid}.performance-stock-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;min-width:0;padding:.75rem 0;display:flex}.performance-stock-row>div{gap:.2rem;min-width:0;display:grid}.performance-stock-row>div:last-child{text-align:right;flex:none}.performance-stock-row strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;overflow:hidden}.performance-card.gains .performance-stock-row>div:last-child strong{color:#28723d}.performance-card.losses .performance-stock-row>div:last-child strong{color:#ae3f2e}.performance-stock-row span{color:var(--muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.performance-stock-list .muted{margin:1rem 0 0}.holdings-table{border:1px solid var(--line);border-radius:4px;margin-top:1.35rem;overflow-x:auto}.holding-row{border-top:1px solid var(--line);grid-template-columns:minmax(70px,.55fr) minmax(150px,1.4fr) minmax(62px,.55fr) minmax(90px,.8fr) minmax(90px,.85fr) minmax(76px,.65fr) minmax(150px,1.2fr);align-items:center;gap:.8rem;min-width:900px;padding:.8rem .9rem;font-size:.75rem;display:grid}.holding-header{color:var(--label);font:600 var(--text-xs)/1 var(--font-inter), var(--font-armenian), sans-serif;background:#f3f4f6;border-top:0}.holding-row select{min-width:0;padding:.55rem .6rem;font-size:.75rem}.holding-row .positive{color:#28723d;font-weight:700}.holding-row .negative{color:#ae3f2e;font-weight:700}.holdings-empty{color:var(--muted);text-align:center;padding:3rem 1rem}.allocation-panel small{color:var(--muted);font-size:var(--text-xs)}.allocation-bars{gap:1rem;margin-top:1.5rem;display:grid}.allocation-row>div:first-child{justify-content:space-between;margin-bottom:.4rem;font-size:.75rem;display:flex}.allocation-row span{color:var(--muted)}.industry-holdings{color:var(--muted);font-size:var(--text-xs);margin:0 0 .55rem;line-height:1.45}.allocation-track{background:#e5e7eb;border-radius:99px;height:8px;overflow:hidden}.allocation-track span{border-radius:inherit;background:var(--forest);height:100%;display:block}.allocation-row.allocation-breach>div:first-child strong,.allocation-row.allocation-breach>div:first-child span{color:#a43829}.allocation-row.allocation-breach .allocation-track{background:#f3d5cf}.allocation-row.allocation-breach .allocation-track span{background:var(--coral)}.test-panel{max-width:680px}.panel-heading,.report-header,.signal-title{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.panel h2,.report h2,.login-panel h2{letter-spacing:-.01em;margin:.35rem 0 0;font-size:1.125rem;font-weight:600}.status-dot{border:1px solid var(--line);color:var(--muted);font-size:var(--text-xs);border-radius:99px;padding:.35rem .65rem}.stack{flex-direction:column;gap:1rem;margin-top:2rem;display:flex}.portfolio-editor .stack,.test-panel .stack{margin-top:0}.field-row{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}.portfolio-details-row{grid-template-columns:minmax(10rem,17rem) minmax(0,1fr);align-items:start}@media (max-width:700px){.portfolio-details-row{grid-template-columns:minmax(0,1fr)}}label{color:var(--label);font:500 var(--text-sm)/1.4 var(--font-inter), var(--font-armenian), sans-serif;flex-direction:column;gap:.4rem;display:flex}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--ink);text-transform:none;background:#fff;border-radius:6px;outline:none;padding:.6rem .75rem;font-size:.875rem}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #e8c97a4d}textarea{resize:vertical;min-height:220px;font:400 .875rem/1.55 var(--font-geist-sans), sans-serif;letter-spacing:0}.password-field{display:block;position:relative}.password-field input{padding-right:3rem}.password-toggle{width:2rem;height:2rem;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:3px;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:.65rem;transform:translateY(-50%)}.password-toggle:hover,.password-toggle:focus-visible{color:var(--forest);background:#173d3414;outline:none}.password-toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:1.2rem;height:1.2rem}.file-drop{text-align:center;background:#173d3406;border:1px dashed #9ca3af;justify-content:center;align-items:center;min-height:104px;position:relative}.file-drop input{cursor:pointer;opacity:0;position:absolute;inset:0}.file-drop span{color:var(--ink)}.file-drop small{color:var(--muted);text-transform:none}.compact-drop{min-height:126px}.portfolio-add-actions{grid-template-columns:repeat(3,1fr);gap:.55rem;display:grid}.portfolio-add-actions button{border:1px solid var(--line);background:var(--panel);min-height:42px;color:var(--forest);cursor:pointer;border-radius:3px;padding:.55rem .35rem;font-size:.75rem;font-weight:700}.portfolio-add-actions button:hover{border-color:var(--forest);background:#173d340a}.modal-backdrop{z-index:50;background:#141f1c75;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.add-holding-modal{border:1px solid var(--line);background:var(--panel);border-radius:6px;width:min(480px,100%);padding:1.4rem;box-shadow:0 24px 70px #141f1c3d}.modal-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.2rem;display:flex}.modal-heading h2{margin:0;font-size:1.125rem}.modal-heading button{width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;font-size:1.4rem;display:grid}.modal-heading button:hover{color:var(--ink);background:#f3f4f6}.modal-fields{gap:1rem;display:grid}.privacy-note{color:var(--muted);margin:-.4rem 0 0;font-size:.75rem}.positions-editor{border:1px solid var(--line);border-radius:4px;overflow:hidden}.positions-header,.position-row{grid-template-columns:1fr 1fr 42px;align-items:center;gap:.65rem;display:grid}.positions-header{color:var(--label);font:600 var(--text-xs)/1 var(--font-inter), var(--font-armenian), sans-serif;background:#f3f4f6;padding:.65rem .8rem}.sort-status{border-bottom:1px solid var(--line);color:var(--label);font:600 var(--text-xs)/1 var(--font-inter), var(--font-armenian), sans-serif;background:#fafafa;padding:.5rem .65rem}.sort-status strong{color:var(--forest)}.positions-header .sort-button{min-width:0;color:inherit;cursor:pointer;font:inherit;letter-spacing:inherit;text-align:left;text-transform:inherit;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.15rem;padding:0;display:flex}.positions-header .sort-button:hover,.positions-header .sort-button.active{color:var(--forest)}.positions-header .sort-button span:first-child{text-overflow:ellipsis;overflow:hidden}.positions-header .sort-button span:last-child{flex:none;font-size:.75rem}.position-row{border-top:1px solid var(--line);padding:.65rem .8rem}.position-row input,.stock-entry{min-width:0}.stock-entry small{color:var(--muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;margin-top:.3rem;display:block;overflow:hidden}.sidebar-positions .positions-header,.sidebar-positions .position-row{grid-template-columns:minmax(60px,.65fr) minmax(80px,.9fr) minmax(40px,.4fr) minmax(62px,.62fr) minmax(58px,.58fr) minmax(66px,.68fr) minmax(82px,.88fr) repeat(3,minmax(42px,.42fr)) minmax(130px,1.35fr) minmax(54px,.5fr);gap:.38rem;min-width:0;padding-left:.55rem;padding-right:.55rem}.sidebar-positions{overflow-x:hidden}.sidebar-positions .position-row{font-size:var(--text-xs)}.sidebar-positions .position-row input,.sidebar-positions .position-row select{min-width:0;font-size:var(--text-xs);background:#fff;border:0;padding:.5rem .35rem}.sector-select{align-items:center;min-width:0;display:flex;position:relative}.sector-select>svg{z-index:1;pointer-events:none;color:var(--accent);position:absolute;left:.4rem}.sidebar-positions .sector-select select{width:100%;padding-left:1.55rem}.allocation-row strong{align-items:center;gap:.4rem;display:inline-flex}.sidebar-positions .positions-header{font-size:var(--text-xs);letter-spacing:.025em}.sidebar-positions .position-row>span,.sidebar-positions .position-row>strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sidebar-positions .position-row .positive{color:#28723d;font-weight:700}.sidebar-positions .position-row .negative{color:#ae3f2e;font-weight:700}.sidebar-positions .position-row.allocation-breach{background:#fff0ed;box-shadow:inset 3px 0 #c64b39}.sidebar-positions .position-row.dragging{opacity:.48}.holding-gain{font-size:var(--text-xs)}.holding-company{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.remove-position{width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:1.3rem}.remove-position:hover{color:#9f3527;background:#fff0ed}.position-order-actions{justify-content:flex-end;align-items:center;gap:.1rem;display:flex}.position-order-actions button{width:22px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:3px;place-items:center;padding:0;display:grid}.position-order-actions button:hover:not(:disabled){color:var(--forest);background:#173d3414}.position-order-actions button:disabled{cursor:default;opacity:.28}.position-order-actions .drag-position{cursor:grab;font-size:1rem}.position-order-actions .drag-position:active{cursor:grabbing}.position-order-actions .remove-position{width:26px;height:28px}.add-position{border:solid var(--line);width:100%;color:var(--forest);cursor:pointer;text-align:left;background:#fafafa;border-width:1px 0 0;padding:.8rem;font-weight:680}.saved-portfolios{margin-top:2.5rem}.saved-portfolios h2{margin-bottom:.85rem;font-size:1rem}.portfolio-list{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}.portfolio-sidebar .portfolio-list{grid-template-columns:1fr}.new-portfolio{border:1px dashed var(--line);width:100%;color:var(--forest);background:0 0;margin-top:.75rem}.new-portfolio:hover{border-color:var(--forest);background:#173d340a}.portfolio-list-item{position:relative}.portfolio-list-item>button:first-child{border:1px solid var(--line);background:var(--panel);cursor:pointer;text-align:left;border-radius:4px;flex-direction:column;align-items:flex-start;gap:.4rem;width:100%;padding:1rem 12rem 1rem 1rem;display:flex}.portfolio-list-item>button:first-child:hover{border-color:var(--forest)}.portfolio-list-item>button:first-child.selected{border-color:var(--forest);box-shadow:inset 3px 0 var(--forest)}.portfolio-delete-actions{align-items:center;gap:.55rem;display:flex;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.delete-portfolio,.cancel-delete{cursor:pointer;font-size:var(--text-xs);background:0 0;border:0}.delete-portfolio{color:#9f3527}.cancel-delete{color:var(--muted)}.delete-portfolio:hover,.cancel-delete:hover{text-underline-offset:3px;text-decoration:underline}.portfolio-list span{color:var(--muted);font-size:.75rem}.ticker-strip{flex-wrap:wrap;gap:.45rem;display:flex}.ticker-strip span{border:1px solid var(--line);font:600 var(--text-xs)/1 var(--font-geist-mono), monospace;background:#fff;padding:.35rem .55rem}.button{cursor:pointer;border:0;border-radius:6px;min-height:38px;padding:.5rem .9rem;font-size:.8125rem;font-weight:500;transition:opacity .12s}.button:hover:not(:disabled){opacity:.9}.button:disabled{cursor:not-allowed;opacity:.55}.button.primary{background:var(--gold);color:var(--navy)}.button.accent{color:#fff;background:#000}.text-button{cursor:pointer;color:inherit;text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline}.alert{color:#7d2c20;background:#fff0ed;border:1px solid #de9e93;border-radius:3px;margin:0 0 1rem;padding:.85rem 1rem}.report{margin-top:1rem;padding:1.8rem}.recommendation{font:700 var(--text-sm)/1 var(--font-inter), var(--font-armenian), sans-serif;letter-spacing:.12em;text-transform:uppercase;border-radius:2px;padding:.55rem .9rem}.recommendation.add,.recommendation.hold{background:var(--lime)}.recommendation.sell,.recommendation.trim{background:var(--coral)}.weight-grid{border:solid var(--line);border-width:1px 0 0 1px;grid-template-columns:repeat(4,1fr);margin:1.8rem 0;display:grid}.metric{border:solid var(--line);border-width:0 1px 1px 0;padding:1rem}.metric span{color:var(--muted);font-size:var(--text-xs);display:block}.metric strong{font:650 1.25rem/1 var(--font-geist-mono), monospace;margin-top:.45rem;display:block}.signal-grid{grid-template-columns:repeat(2,1fr);gap:.8rem;display:grid}.signal-card{border:1px solid var(--line);background:#fff;padding:1.1rem}.signal-card h3{text-transform:capitalize;margin:.2rem 0 0}.signal-card span{color:var(--muted);font:600 var(--text-xs)/1 var(--font-geist-mono), monospace;text-transform:uppercase}.signal-card strong{font:700 var(--text-xs)/1 var(--font-geist-mono), monospace;text-transform:uppercase}.signal-card strong.bullish{color:#28723d}.signal-card strong.bearish{color:#ae3f2e}.signal-card strong.neutral{color:#756b48}.signal-card p{color:#4f5b57;line-height:1.55}.disclaimer{color:var(--muted);margin:1.5rem 0 0;font-size:.75rem}.loading-card{align-items:center;gap:1rem;display:flex}.pulse{background:var(--lime);border-radius:50%;width:12px;height:12px;animation:1.2s ease-in-out infinite alternate pulse;box-shadow:0 0 0 8px #c9f06b40}@keyframes pulse{50%{opacity:.5}}.login-shell{grid-template-columns:1.35fr .65fr;min-height:100vh;display:grid}.login-copy{background:var(--forest);color:#f9fafb;flex-direction:column;justify-content:center;padding:clamp(2rem,7vw,8rem);display:flex}.login-copy .brand,.login-copy .eyebrow{color:var(--lime)}.login-copy h1{max-width:900px;font-size:clamp(2.6rem,5.4vw,5.2rem)}.principles{flex-wrap:wrap;gap:.5rem;margin-top:2rem;display:flex}.principles span{color:#eaf0fb;font-size:var(--text-xs);border:1px solid #52736a;border-radius:99px;padding:.45rem .7rem}.login-panel{align-self:center;margin:2rem;padding:2rem}.muted,.form-message{color:var(--muted);font-size:.8125rem}.auth-form{flex-direction:column;gap:1rem;margin-top:2rem;display:flex}@media (max-width:1160px){.portfolio-workspace{grid-template-columns:1fr}.portfolio-summary,.analytics-view .portfolio-summary{grid-template-columns:repeat(2,1fr)}.portfolio-summary .metric,.analytics-view .portfolio-summary .metric{border-width:0 1px 1px 0}.analytics-view .portfolio-summary .metric:nth-child(2n){border-right:0}.analytics-view .portfolio-summary .metric:nth-last-child(-n+2){border-bottom:0}.portfolio-summary .metric:last-child{border-right:0}}@media (min-width:1100px){.industry-scroller{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (max-width:800px){.hero,.workspace-grid,.login-shell,.portfolio-workspace{grid-template-columns:1fr}.hero{padding-top:3rem}.hero-stat{display:none}.weight-grid{grid-template-columns:repeat(2,1fr)}.signal-grid{grid-template-columns:1fr}.login-copy{min-height:55vh}.login-panel{margin:1rem}.app-header{grid-template-columns:1fr auto}.main-tabs{border-top:1px solid var(--line);grid-area:2/1/auto/-1;justify-content:center;min-height:52px}.page-message{margin-top:1rem}.portfolio-summary,.analytics-view .portfolio-summary,.analytics-view .gain-loss-cards,.allocation-grid{grid-template-columns:1fr}.portfolio-summary .metric,.analytics-view .portfolio-summary .metric{border-width:0 0 1px}.analytics-view .portfolio-summary .metric:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.analytics-view .portfolio-summary .metric:last-child,.portfolio-summary .metric:last-child{border-bottom:0}}@media (max-width:620px){.industry-scroller{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.field-row,.industry-scroller{grid-template-columns:1fr}.simple-page{padding-top:2rem}.page-heading{align-items:flex-start}.portfolio-add-actions,.portfolio-list{grid-template-columns:1fr}.portfolio-list-item>button:first-child{padding-right:1rem}.portfolio-delete-actions{justify-content:flex-end;padding:.5rem .75rem;position:static;transform:none}}.analytics-dashboard{gap:18px;min-width:0;display:grid}.analytics-page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;display:flex}.analytics-page-head h1{margin:0}.analytics-page-head nav{flex-wrap:wrap;gap:6px;display:flex}.analytics-page-head nav a{border:1px solid var(--border);color:var(--navy);font-size:var(--text-sm);background:#fff;border-radius:999px;padding:6px 12px;font-weight:600;text-decoration:none}.analytics-page-head nav a:hover,.analytics-page-head nav a:focus-visible{border-color:var(--navy);background:var(--row-hover)}.analytics-anchor{scroll-margin-top:16px}.analytics-dashboard>.panel,.analytics-top-grid>.panel{min-height:0}.analytics-top-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;display:grid}.analytics-top-grid>.panel{min-width:0}.analytics-controls{box-sizing:border-box;border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:end;gap:14px;width:100%;margin-bottom:14px;padding-bottom:14px;display:flex}.allocation-guide{font-size:var(--text-sm);background:#fff8dc;border:1px solid #ecd58b;border-left:4px solid #d9a91a;border-radius:10px;margin-bottom:14px;padding:12px 16px;line-height:1.5}.allocation-guide.closed{padding-block:8px}.allocation-guide-toggle{color:#5c4508;width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.55rem;padding:4px 0;display:flex}.allocation-guide-title{font-size:var(--text-base);flex:1;align-items:center;gap:.5rem;font-weight:700;display:flex}.allocation-guide-tag{color:#4a3705;font-size:var(--text-xs);letter-spacing:.02em;text-transform:uppercase;background:#f1d36b;border-radius:999px;padding:.05rem .45rem;font-weight:700}.allocation-guide-action{color:#7a5c0c;font-size:var(--text-sm);font-weight:600}.allocation-guide-chevron{transition:transform .15s}.allocation-guide.closed .allocation-guide-chevron{transform:rotate(-90deg)}.allocation-guide-toggle:focus-visible{outline-offset:3px;border-radius:4px;outline:2px solid #d9a91a}#allocation-guide-body{padding-top:6px}.allocation-guide h3{font-size:var(--text-base);margin:0 0 4px}.allocation-guide p{color:#6b5413;margin:0 0 8px}.allocation-guide ul{gap:4px;margin:0 0 8px;padding-left:1.1rem;display:grid}.allocation-guide small{color:#7a6420}.analytics-controls label{color:var(--muted);gap:6px;font-size:.75rem;font-weight:700;display:grid}.analytics-controls select,.analytics-controls input,.event-filters select{border:1px solid var(--border);min-height:40px;color:var(--ink);background:#fff;border-radius:10px;padding:0 12px}.date-range-control{flex-wrap:wrap;gap:4px;display:flex}.date-range-control legend{color:var(--muted);margin-bottom:6px;font-size:.75rem;font-weight:700}.date-range-control div,.chart-mode,.contributor-controls{flex-wrap:wrap;gap:4px;display:flex}.date-range-control button,.chart-mode button,.contributor-controls button{border:1px solid var(--border);min-height:38px;color:var(--ink);font:inherit;cursor:pointer;background:#ffffff9e;border-radius:9px;padding:0 10px}.date-range-control button.active,.contributor-controls button.active{border-color:var(--forest);background:var(--forest);color:#fff}.analytics-refresh{color:var(--muted);gap:6px;margin-left:auto;font-size:.75rem;display:grid}.analytics-refresh button{background:var(--forest);color:#fff;min-height:40px;font:inherit;border:0;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-weight:700;display:inline-flex}.spinning{animation:.9s linear infinite analytics-spin}@keyframes analytics-spin{to{transform:rotate(360deg)}}.analytics-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.analytics-metric{border:1px solid var(--border);background:#fff;border-radius:12px;align-content:start;gap:6px;min-height:112px;padding:16px;display:grid}.analytics-metric>span{color:var(--muted);font-size:.75rem;font-weight:700}.analytics-metric>strong{font-family:var(--font-display);font-size:1.375rem}.analytics-metric-pair{grid-template-columns:repeat(2,minmax(0,1fr));align-content:stretch;gap:0}.analytics-metric-pair>div{align-content:start;gap:5px;min-width:0;display:grid}.analytics-metric-pair>div+div{border-left:1px solid var(--border);margin-left:12px;padding-left:12px}.analytics-metric-pair span{color:var(--muted);font-size:var(--text-xs);font-weight:700;line-height:1.25}.analytics-metric-pair strong{font-family:var(--font-display);font-size:var(--text-md);overflow-wrap:normal}.analytics-metric-pair small{font-size:var(--text-xs)}.analytics-metric-pair .positive strong{color:#1f7048}.analytics-metric-pair .negative strong{color:#a23d35}.analytics-metric small,.module-note{color:var(--muted);line-height:1.4}.analytics-metric.positive strong{color:#1f7048}.analytics-metric.negative strong{color:#a23d35}.analytics-module{min-width:0;padding:20px}.analytics-module-heading{align-items:center;gap:10px;margin-bottom:15px;display:flex}.analytics-module-heading h2{margin:2px 0 0;font-size:1.125rem}.module-icon{background:var(--mint);width:36px;height:36px;color:var(--forest);border-radius:10px;place-items:center;display:grid}.analytics-review-compact{border:1px solid var(--border);background:#f8f7f4;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px 14px;margin:-2px 0 14px;padding:10px 12px;display:grid}.compact-review-heading{color:var(--forest);align-items:center;gap:8px;display:flex}.compact-review-heading>div{gap:1px;display:grid}.compact-review-heading span{color:var(--label);font-size:var(--text-sm);font-weight:600}.compact-review-heading h3{margin:0;font-size:.875rem}.review-summary{min-width:0;color:var(--muted);margin:0;font-size:.75rem;line-height:1.4}.compact-review-details{position:relative}.compact-review-details summary{cursor:pointer;color:var(--forest);font-size:var(--text-xs);white-space:nowrap;font-weight:700}.compact-review-details[open]{grid-column:1/-1}.compact-review-details[open] summary{margin-bottom:8px}.analytics-review-compact>small{color:var(--muted);font-size:var(--text-xs);grid-column:1/-1}.review-items,.risk-warning-list,.contributor-list,.thesis-list{gap:9px;margin:16px 0;display:grid}.compact-review-details .review-items{margin:0}.review-item,.risk-warning,.success-state,.module-error,.unavailable-state{border:1px solid var(--border);background:#ffffff8c;border-radius:11px;align-items:flex-start;gap:10px;padding:12px;display:flex}.review-item p,.risk-warning p,.unavailable-state p{color:var(--muted);margin:4px 0 0;line-height:1.45}.review-item.critical,.risk-warning.critical,.module-error{border-left:4px solid #a23d35}.review-item.review,.risk-warning.review{border-left:4px solid #b17624}.review-item.informational,.risk-warning.informational{border-left:4px solid #3f6f76}.status-label{background:var(--mint);width:max-content;color:var(--forest);font-size:var(--text-xs);border-radius:999px;padding:4px 8px;font-weight:700}.performance-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.unavailable-state{text-align:left;justify-content:center;align-items:center;min-height:104px}.allocation-box-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;margin:16px 0;display:grid}.allocation-box{border:1px solid var(--border);background:#fff;border-radius:14px;min-width:0;padding:12px;box-shadow:0 4px 14px #1831280d}.allocation-box>h3{font-family:var(--font-display);margin:0 0 6px;font-size:1rem}.allocation-table{gap:8px;display:grid}.allocation-table>article{border:1px solid var(--border);background:#ffffff8a;border-radius:11px;grid-template-columns:minmax(150px,1fr) minmax(95px,auto);gap:7px 14px;padding:12px;display:grid}.allocation-table article.warning{border-left:4px solid #a23d35}.allocation-table article>div{gap:3px;display:grid}.allocation-table article>div:nth-child(2){white-space:nowrap;text-align:right;justify-content:flex-end;align-items:baseline;gap:4px;display:flex}.allocation-table article span,.allocation-table article small{color:var(--muted);font-size:.75rem}.allocation-table .allocation-track{grid-column:1/-1}.allocation-table.compact>article{align-items:center}.allocation-box .allocation-table{gap:0}.allocation-box .allocation-table>article{border:0;border-bottom:1px solid var(--border);background:0 0;border-radius:0;gap:3px 10px;padding:8px 0}.allocation-box .allocation-table>article:last-child{border-bottom:0}.allocation-box .allocation-table>article.warning{border-left:3px solid #a23d35;padding-left:8px}.allocation-box .allocation-track{height:5px}.allocation-total{color:var(--muted);margin:12px 0 0;font-size:.75rem;font-weight:700}.contributors-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.contributor-controls{grid-column:1/-1;align-items:center}.contributor-list article{border-bottom:1px solid var(--border);grid-template-columns:1fr auto;gap:4px 12px;padding:10px 0;display:grid}.contributor-list article>div{gap:2px;display:grid}.contributor-list article>div:nth-child(2){text-align:right}.contributor-list span,.contributor-list small{color:var(--muted);font-size:.75rem}.risk-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.thesis-list article{border-bottom:1px solid var(--border);grid-template-columns:minmax(70px,auto) minmax(90px,auto) 1fr 1fr auto;align-items:center;gap:10px;padding:9px 0;display:grid}.thesis-list button{border:1px solid var(--border);background:#fff;border-radius:8px;padding:7px 9px}.event-filters{gap:8px;margin-bottom:12px;display:flex}.analytics-empty{text-align:center;place-items:center;gap:8px;min-height:300px;display:grid}@media (max-width:800px){.analytics-metrics,.risk-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-top-grid{grid-template-columns:1fr}}@media (max-width:760px){.analytics-metrics,.risk-metric-grid,.contributors-grid,.allocation-box-grid{grid-template-columns:1fr}.analytics-review-compact{grid-template-columns:1fr auto}.analytics-review-compact .review-summary,.analytics-review-compact>small{grid-column:1/-1}.analytics-controls{align-items:stretch;width:100%}.analytics-controls label{width:100%;min-width:0}.analytics-refresh{width:100%;margin-left:0}.thesis-list article{grid-template-columns:1fr auto}.thesis-list article>:nth-child(n+3){grid-column:1/-1}}.portfolio-summary-grid{grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:.5rem;display:grid}.summary-card{border:1px solid var(--line);background:#fff;border-radius:10px;align-content:start;gap:.15rem;min-height:4.35rem;padding:.55rem .65rem;display:grid}.summary-card span{color:var(--label);font:500 var(--text-sm)/1.3 var(--font-inter), var(--font-armenian), sans-serif}.summary-card{min-width:0}.summary-card strong{font-size:clamp(var(--text-sm), .95vw, var(--text-lg));font-variant-numeric:tabular-nums;overflow-wrap:normal}.summary-card strong.emphasis{font-weight:700}.summary-card.positive>strong,.summary-card.positive>small{color:#1f7048}.summary-card.negative>strong,.summary-card.negative>small{color:#a23d35}.summary-card small{color:var(--muted);font-size:var(--text-sm)}.summary-card.skeleton{background:linear-gradient(90deg,#e5e7eb 25%,#f8f7f4 50%,#e5e7eb 75%) 0 0/200% 100%;animation:1.2s linear infinite summary-skeleton}@keyframes summary-skeleton{to{background-position:-200% 0}}.portfolio-settings-toggle{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--forest);background:0 0;justify-content:space-between;align-items:center;padding:.65rem 0;font-weight:700;display:flex}.portfolio-settings-grid{border:1px solid var(--line);background:#fafafa;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.6rem;padding:.8rem;display:grid}.portfolio-empty{border:1px dashed var(--line);color:var(--muted);text-align:center;justify-items:center;gap:.4rem;padding:2.5rem 1rem;display:grid}.portfolio-empty h2,.portfolio-empty p{margin:0}.transactions-page{gap:1rem;min-width:0;min-height:0;margin-top:1.25rem;padding:1.25rem;display:grid}.transactions-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.transactions-top h1{margin:0 0 .25rem}.transactions-top>div:first-child{flex:22rem;min-width:0}.transactions-top p{max-width:40rem;margin:0}.transactions-actions{flex-wrap:wrap;align-items:flex-end;gap:.6rem;display:flex}.transactions-actions label{min-width:210px}.transactions-record{justify-content:center;align-items:center;gap:.4rem;min-height:2.5rem;display:inline-flex}.transactions-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem;display:grid}.transactions-summary .summary-card.negative strong{color:#a23d35}.transactions-empty{border:1px dashed var(--line);color:var(--muted);text-align:center;background:#fff;border-radius:10px;justify-items:center;gap:.6rem;padding:2.5rem 1rem;display:grid}.transactions-empty h2{color:var(--ink);margin:0}.transactions-empty p{max-width:34rem;margin:0}.transactions-filters{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;display:flex}.segmented{border:1px solid var(--line);background:#fff;border-radius:8px;padding:3px;display:inline-flex}.segmented button{min-width:4.5rem;color:var(--label);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:.35rem .8rem;font-weight:600}.segmented button.active{background:var(--navy);color:#fff}.segmented button.active.buy{background:#1f7048}.segmented button.active.sell{background:#a23d35}.record-kind{justify-self:start}.transactions-search{border:1px solid var(--line);background:#fff;border-radius:6px;flex-direction:row;align-items:center;gap:.4rem;min-width:220px;padding:0 .6rem;display:flex}.transactions-search input{box-shadow:none;border:0;padding:.45rem 0}.transactions-search input:focus{box-shadow:none}.transactions-symbol{min-width:0;display:grid}.transactions-symbol small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.transactions-row .positive{color:#1f7048}.transactions-row .negative{color:#a23d35}.transactions-none{margin:0;padding:1rem}.transactions-table{border:1px solid var(--line);background:#fff;overflow-x:auto}.transactions-row{border-top:1px solid var(--line);font-variant-numeric:tabular-nums;grid-template-columns:minmax(155px,1.2fr) minmax(70px,.55fr) minmax(80px,.65fr) minmax(80px,.6fr) minmax(100px,.8fr) minmax(110px,.9fr);align-items:center;gap:.75rem;min-width:700px;padding:.75rem .9rem;font-size:.8125rem;display:grid}.transactions-row:first-child{border-top:0}.transactions-header{color:var(--label);font:600 var(--text-xs)/1.2 var(--font-inter), var(--font-armenian), sans-serif;background:#f8f7f4}.transaction-kind{width:fit-content;font:700 var(--text-xs)/1 var(--font-geist-mono), monospace;text-transform:uppercase;border-radius:999px;padding:.22rem .48rem}.transaction-kind.buy{color:#1f7048;background:#e2f1e7}.transaction-kind.sell{color:#a23d35;background:#f8e5e2}.column-visibility-controls{color:var(--muted);font-size:var(--text-xs);justify-content:flex-end;align-items:center;gap:.4rem;display:flex}.column-visibility-controls button{border:1px solid var(--line);min-height:2rem;color:var(--forest);font:inherit;background:#fff;border-radius:999px;align-items:center;gap:.3rem;padding:.3rem .6rem;font-weight:700;display:inline-flex}.column-visibility-controls button[aria-pressed=false]{color:var(--muted);background:#fafafa}.holdings-table{border:1px solid var(--line);background:#fff;border-radius:12px}.holding-record:nth-child(odd)>.holdings-primary-row{background:var(--row-alt)}.holding-record>.holdings-primary-row:hover{background:var(--row-hover)}.holding-record+.holding-record{border-top:1px solid var(--line)}.holdings-primary-row{grid-template-columns:var(--holding-columns);align-items:center;gap:.28rem;min-width:0;padding:.45rem;display:grid}.holdings-table.hide-returns .return-col,.holdings-table.hide-lifecycle .lifecycle-col,.holdings-table.hide-stockbuddy-status .status-col{display:none}.holdings-primary-row>input,.holdings-primary-row>.financial-cell,.holdings-primary-row>.phase-badge,.holdings-primary-row>.status-badge{width:100%;min-width:0}.holdings-primary-row:not(.holdings-header){font-size:.75rem}.report-date-col{font-variant-numeric:tabular-nums;white-space:nowrap}.holdings-primary-row input,.holdings-primary-row button{font-size:inherit}.holdings-primary-row>input{padding-left:.35rem;padding-right:.35rem}.holdings-header{border-bottom:1px solid var(--line);background:var(--line)}@supports (color:color-mix(in lab, red, red)){.holdings-header{background:color-mix(in srgb, var(--line) 30%, white)}}.holdings-header{color:var(--label);font:600 var(--text-xs)/1.15 var(--font-inter), var(--font-armenian), sans-serif}.holdings-header .sort-button{text-align:left;min-height:2rem}.holdings-primary-row.gain-up{box-shadow:inset 3px 0 #1f7048}.holdings-primary-row.gain-down{box-shadow:inset 3px 0 #a23d35}.holding-identity{grid-template-columns:auto auto 1fr;align-items:center;gap:.25rem;display:grid}.drag-handle{color:#9ca3af;cursor:grab;background:0 0;border:0;border-radius:4px;place-items:center;width:1.25rem;height:1.75rem;padding:0;display:inline-grid}.drag-handle:hover,.drag-handle:focus-visible{background:var(--row-hover);color:var(--navy)}.drag-handle:active{cursor:grabbing}.holding-record.dragging{opacity:.45}.holding-record.drop-target>.holdings-primary-row{box-shadow:inset 0 2px 0 var(--gold-dark)}.report-date-button{color:var(--navy);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.report-date-button:hover,.report-date-button:focus-visible{color:var(--gold-dark)}.reminder-modal .reminder-facts{grid-template-columns:1fr 1fr;gap:.75rem;margin:0;display:grid}.reminder-modal .reminder-facts dt{color:var(--label);font-size:var(--text-sm)}.reminder-modal .reminder-facts dd{margin:.15rem 0 0;font-weight:600}.reminder-note{color:var(--muted);font-size:var(--text-sm);margin:0}.reminder-list h3{font-size:var(--text-base);margin:0 0 .4rem}.reminder-list ul{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.reminder-list li{justify-content:space-between;align-items:center;display:flex}.reminder-list li button{color:var(--danger);cursor:pointer;font:inherit;background:0 0;border:0}.reminder-submit{justify-content:center;align-items:center;gap:.4rem;display:inline-flex}.holding-identity>div{min-width:0;display:grid}.holding-identity input{min-width:0;color:var(--forest);text-transform:uppercase;background:0 0;border:0;padding:0;font-weight:700}.holding-identity span{color:var(--muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.expand-position,.position-actions>button{width:1.8rem;height:1.8rem;color:var(--forest);background:0 0;border:0;place-items:center;display:grid}.financial-cell{text-align:left;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.financial-cell.gain-cell{font-weight:700}.stacked-change{line-height:1.25;display:grid}.stacked-change>span,.stacked-change>small{text-overflow:ellipsis;overflow:hidden}.stacked-change>small{font-size:var(--text-xs);font-weight:500}.financial-cell.positive,.financial-cell .positive{color:#1f7048}.financial-cell.negative,.financial-cell .negative{color:#a23d35}.data-state{color:#8d493c;font-size:var(--text-xs);align-items:center;gap:.2rem;display:inline-flex}.phase-badge,.status-badge{border:1px solid var(--line);min-height:1.55rem;color:var(--ink);font-size:var(--text-xs);white-space:nowrap;background:#f8f7f4;border-radius:999px;justify-content:center;align-items:center;gap:.25rem;padding:.18rem .3rem;display:inline-flex}.status-healthy{color:#24652e;border-color:#91ad91}.status-review,.status-not-analyzed{color:#7b511c;border-color:#d2a66f}.status-high-risk,.status-insufficient-data{color:#8d3229;border-color:#d49a8e}.position-actions{position:relative}.actions-menu{z-index:20;border:1px solid var(--line);background:#fff;width:175px;padding:.35rem;display:grid;position:absolute;top:2rem;right:0;box-shadow:0 8px 24px #173d3420}.actions-menu button{text-align:left;background:0 0;border:0;padding:.5rem}.actions-menu button:hover,.actions-menu button:focus-visible{background:#fafafa}.position-confirm{color:#7b2f28;background:#fff2ee;justify-content:flex-end;align-items:center;gap:.55rem;padding:.55rem .8rem;display:flex}.position-confirm button{background:#fff;border:1px solid;padding:.35rem .55rem}.position-detail-row{border-top:1px solid var(--line);background:#f8f7f4;flex-wrap:wrap;align-items:center;gap:.45rem 1.1rem;padding:.4rem .7rem;display:flex}.position-detail-row>label,.detail-industry{color:var(--muted);font:600 .75rem/1.2 var(--font-geist-sans), sans-serif;letter-spacing:0;text-transform:none;flex-direction:row;align-items:center;gap:.4rem;margin:0;display:flex}.detail-industry strong{color:var(--ink);font-weight:600}.position-detail-row select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23173d34' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .4rem center;background-repeat:no-repeat;border-color:#d1d5db;width:auto;min-height:1.8rem;padding:.15rem 1.55rem .15rem .45rem;font-size:.75rem}.transaction-editor{border-top:1px dashed var(--line);flex-wrap:wrap;flex-basis:100%;align-items:center;gap:.45rem 1.1rem;padding-top:.4rem;display:flex}.transaction-editor label{color:var(--muted);font:600 .75rem/1.2 var(--font-geist-sans), sans-serif;letter-spacing:0;text-transform:none;flex-direction:row;align-items:center;gap:.4rem;margin:0;display:flex}.transaction-editor input,.transaction-editor .button{box-sizing:border-box;height:1.8rem;min-height:1.8rem;font-size:.75rem}.transaction-editor select{box-sizing:border-box;height:1.8rem}.transaction-editor input{border-color:#d1d5db;width:6.5rem;padding:.15rem .45rem}.transaction-actions{gap:.4rem;margin-left:auto;display:flex}.transaction-editor .button{padding:0 .8rem}.transaction-editor .button:not(.primary){color:var(--forest);background:#fff;border:1px solid #d1d5db}.unsaved-state{color:#7b511c;text-align:center;margin:-.4rem 0 0;font-size:.75rem}.column-mapping{grid-template-columns:repeat(3,1fr);gap:.6rem;display:grid}.import-preview{gap:.7rem;max-height:55vh;display:grid;overflow:auto}.import-preview h3,.import-preview p{margin:0}.import-preview-rows{border:1px solid var(--line);display:grid}.import-preview-rows>div{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr 1fr;gap:.5rem;padding:.45rem;display:grid}.import-errors,.import-warning{color:#8d3229}.import-preview-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}@media (max-width:720px){.portfolio-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-settings-grid,.column-mapping{grid-template-columns:1fr}.transactions-actions,.transactions-actions label,.transactions-search{width:100%;min-width:0}.holdings-header{display:none}.holdings-table{background:0 0;border:0}.holding-record{background:#fff;margin-bottom:.75rem;border:1px solid var(--line)!important}.holdings-primary-row{grid-template-columns:1fr 1fr;gap:.65rem;padding:.8rem}.holdings-table .holdings-primary-row{grid-template-columns:1fr 1fr}.holdings-primary-row>:nth-child(2),.holdings-primary-row>:nth-child(3),.holdings-primary-row>:nth-child(4),.holdings-primary-row>.report-date-col{display:none}.holding-identity{grid-column:1/-1}.financial-cell{text-align:left}.position-actions{position:absolute;right:2rem}}@media (max-width:460px){.portfolio-summary-grid{grid-template-columns:1fr}}.simple-page.fire-shell{width:100%;padding-top:.5rem}.fire-page{gap:1rem;padding-top:1.25rem;display:grid}.fire-heading h1{margin:0}.fire-title-row{align-items:center;gap:.45rem;margin-bottom:.25rem;display:flex}.fire-info-button{border:1px solid var(--line);width:2rem;height:2rem;color:var(--navy);cursor:pointer;background:#fff;border-radius:999px;place-items:center;padding:0;display:grid}.fire-info-button:hover,.fire-info-button:focus-visible{border-color:var(--gold-dark);background:var(--row-hover)}.fire-info-dialog{width:min(640px,100vw - 2rem);max-height:calc(100vh - 3rem);overflow-y:auto}.fire-info-body{gap:.75rem;line-height:1.5;display:grid}.fire-info-body p{margin:0}.fire-info-body h3{font-size:var(--text-md);margin:.25rem 0 0}.fire-info-body dl{gap:.6rem;margin:0;display:grid}.fire-info-body dt{font-weight:600}.fire-info-body dd{color:#374151;margin:.1rem 0 0}.fire-heading p{max-width:60rem;color:var(--muted);margin:0}.fire-page .muted{color:var(--muted);font-size:var(--text-sm)}.fire-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.fire-list{min-height:0;padding:1rem}.fire-list-heading{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.6rem;display:flex}.fire-list-heading h2,.fire-projection h2{margin:0}.fire-list-title{flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem;display:flex}.fire-list-count{background:var(--row-alt);color:var(--label);font-size:var(--text-sm);border-radius:999px;padding:.05rem .5rem;font-weight:500}.fire-list-total{font-size:var(--text-md);font-variant-numeric:tabular-nums}.fire-list-total.income{color:#1f7048}.fire-list-total.expense{color:#a23d35}.fire-list-total.asset{color:sienna}.fire-entry.asset{box-shadow:inset 3px 0 sienna}.fire-rental-asset{border:1px solid var(--line);border-radius:8px;gap:.75rem;margin:0;padding:.75rem;display:grid}.fire-rental-asset legend{color:var(--label);font-size:var(--text-sm);padding:0 .3rem;font-weight:600}.fire-rental-asset .muted{margin:0}.fire-add{align-items:center;gap:.35rem;padding:.45rem .8rem;display:inline-flex}.fire-list ul{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.fire-entry{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.65rem;padding:.55rem .65rem;display:grid}.fire-entry.income{box-shadow:inset 3px 0 #1f7048}.fire-entry.expense{box-shadow:inset 3px 0 #a23d35}.fire-entry-icon{background:var(--row-alt);width:2rem;height:2rem;color:var(--navy);border-radius:999px;place-items:center;display:grid}.fire-entry-main{min-width:0;display:grid}.fire-entry-main span{color:var(--muted);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fire-entry-amount{font-variant-numeric:tabular-nums;justify-items:end;display:grid}.fire-entry.income .fire-entry-amount strong{color:#1f7048}.fire-entry.expense .fire-entry-amount strong{color:#a23d35}.fire-entry-amount span{color:var(--muted);font-size:var(--text-xs)}.fire-entry-actions{gap:.15rem;display:flex}.fire-entry-actions button{width:1.9rem;height:1.9rem;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.fire-entry-actions button:hover,.fire-entry-actions button:focus-visible{background:var(--row-hover);color:var(--navy)}.fire-projection{gap:.75rem;min-height:0;padding:1rem;display:grid}.fire-assumptions{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:start;gap:.6rem;display:grid}.fire-save-assumptions{gap:.3rem;margin-top:1.55rem;display:grid}.fire-rate-warning{color:#8d3229;font-size:var(--text-xs);font-weight:600;line-height:1.35}.fire-unsaved{color:#7a5a0c;font-size:var(--text-xs);line-height:1.35}.fire-auto-field{gap:.3rem;display:grid}.fire-auto-note{color:var(--muted);font-size:var(--text-xs);line-height:1.35}.fire-auto-badge{background:var(--mint);color:var(--navy);border-radius:4px;padding:0 .35rem;font-weight:600}.fire-auto-note button{color:var(--navy);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.fire-assets-note{margin:0}.fire-visuals{grid-template-columns:minmax(0,2.2fr) minmax(220px,1fr);align-items:start;gap:1.25rem;display:grid}.fire-chart{margin:0}.fire-donut{border:1px solid var(--line);background:#fff;border-radius:10px;gap:.6rem;margin:0;padding:.75rem;display:grid}.fire-donut figcaption{color:var(--label);font-size:var(--text-sm);font-weight:600}.fire-donut svg{justify-self:center;width:min(180px,100%);height:auto}.fire-donut-track{fill:none;stroke:var(--line);stroke-width:6px}.fire-donut-total{fill:var(--ink);font-size:4.2px;font-weight:700}.fire-donut-caption{fill:var(--muted);font-size:3px}.fire-donut-legend{font-size:var(--text-sm);gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.fire-donut-legend li{grid-template-columns:auto 1fr auto auto;align-items:center;gap:.5rem;display:grid}.fire-donut-legend strong{font-variant-numeric:tabular-nums}.fire-donut-swatch{border-radius:3px;width:.7rem;height:.7rem}.fire-donut-share{min-width:3rem;color:var(--muted);font-variant-numeric:tabular-nums;text-align:right}@media (max-width:900px){.fire-visuals{grid-template-columns:1fr}}.fire-chart svg{width:100%;height:auto;max-height:300px}.fire-chart-grid{stroke:var(--line);stroke-width:1px}.fire-chart-area{fill:var(--navy)}@supports (color:color-mix(in lab, red, red)){.fire-chart-area{fill:color-mix(in srgb, var(--navy) 12%, transparent)}}.fire-chart-line{fill:none;stroke:var(--navy);stroke-width:2.5px}.fire-chart-target{stroke:var(--danger);stroke-width:1.5px;stroke-dasharray:5 4}.fire-chart-hit{fill:var(--danger);stroke:#fff;stroke-width:2px}.fire-chart-label{fill:var(--muted);font-size:11px}.fire-chart-label.target{fill:var(--danger)}.fire-chart-label.year{font-size:10px}.fire-chart-label.strong{font-weight:700}.fire-notes{gap:.45rem;margin:0;padding-left:1.1rem;line-height:1.45;display:grid}.fire-notes li[class^=fire-note-]{border-radius:6px;margin-left:-1.1rem;padding:.35rem .6rem .35rem 1.1rem;list-style-position:inside}.fire-note-good{color:#1f5f3f;background:#e2f1e7}.fire-note-warn{color:#7a5a0c;background:#fdf3d8}.fire-note-bad{color:#8d3229;background:#f8e1de}.fire-calendar{gap:.6rem;min-height:0;padding:1rem;display:grid}.fire-calendar-heading{align-items:center;gap:.5rem;display:flex}.fire-calendar-heading h2{text-align:center;min-width:11rem;margin:0}.fire-calendar-heading>button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:6px;place-items:center;width:2rem;height:2rem;display:grid}.fire-calendar-totals{font-variant-numeric:tabular-nums;gap:1rem;margin-left:auto;font-weight:600;display:flex}.fire-calendar-totals .positive,.fire-day-detail .fire-income strong{color:#1f7048}.fire-calendar-totals .negative,.fire-day-detail .fire-expense strong{color:#a23d35}.fire-legend{color:var(--muted);font-size:var(--text-sm);gap:1rem;display:flex}.fire-legend span:before{border:1px solid var(--line);content:"";border-radius:2px;width:.75rem;height:.75rem;margin-right:.35rem;display:inline-block}.fire-legend .legend-income:before,.fire-chip.fire-income{background:#e2f1e7}.fire-legend .legend-expense:before,.fire-chip.fire-expense{background:#f8e1de}.fire-legend .legend-report:before,.fire-chip.fire-report{background:var(--mint)}.fire-month{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.fire-weekday{color:var(--label);font-size:var(--text-xs);text-align:center;padding:.2rem;font-weight:600}.fire-day{border:1px solid var(--line);min-width:0;min-height:6.2rem;color:inherit;font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:6px;align-content:start;gap:2px;padding:.3rem;display:grid}.fire-day.blank{cursor:default;background:0 0;border-color:#0000}.fire-day:hover{background:var(--row-hover)}.fire-day.today{border:2px solid #2563eb}.fire-day.today .fire-day-number{color:#fff;background:#2563eb;border-radius:999px}.fire-day.selected{border-color:var(--gold-dark);box-shadow:0 0 0 2px #e8c97a73}.fire-day.today.selected{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb40}.fire-day-number{min-width:1.4rem;font-size:var(--text-sm);text-align:center;justify-self:start;padding:0 .3rem;font-weight:600}.fire-chip{color:var(--ink);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;border-radius:4px;padding:1px 4px;overflow:hidden}.fire-chip.fire-income{color:#1f5f3f}.fire-chip.fire-expense{color:#8d3229}.fire-chip.fire-report{color:var(--navy)}.fire-more{color:var(--muted);font-size:var(--text-xs)}.fire-day-detail h3{font-size:var(--text-base);margin:0 0 .35rem}.fire-day-detail ul{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.fire-day-detail li{background:var(--row-alt);border-radius:6px;justify-content:space-between;gap:1rem;padding:.35rem .5rem;display:flex}.fire-dialog-row{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.fire-dialog form{gap:.75rem;display:grid}@media (max-width:900px){.fire-columns{grid-template-columns:1fr}.fire-day{min-height:3.2rem}.fire-chip{display:none}.fire-day:has(.fire-chip.fire-income) .fire-day-number{box-shadow:inset 0 -3px #1f7048}.fire-day:has(.fire-chip.fire-expense) .fire-day-number{box-shadow:inset 0 -3px #a23d35}}.chart-mode button.active{border-color:var(--navy);background:var(--navy);color:#fff}.performance-chart{margin:.5rem 0 0}.performance-chart svg{width:100%;height:auto;max-height:280px}.performance-grid{stroke:var(--line)}.performance-zero{stroke:var(--muted);stroke-dasharray:3 3}.performance-line{fill:none;stroke-width:2.25px}.performance-line.portfolio{stroke:var(--navy)}.performance-line.benchmark{stroke:var(--gold-dark)}.performance-label{fill:var(--muted);font-size:11px}.performance-legend{color:var(--label);font-size:var(--text-sm);flex-wrap:wrap;gap:1.25rem;display:flex}.performance-legend span:before{vertical-align:middle;content:"";border-radius:2px;width:.9rem;height:3px;margin-right:.4rem;display:inline-block}.performance-legend .portfolio:before{background:var(--navy)}.performance-legend .benchmark:before{background:var(--gold-dark)}.sidebar-account-button{border:0;border-bottom:1px solid var(--sidebar-divider);width:calc(100% - 1rem);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:6px 6px 0 0}.sidebar-account-button:hover,.sidebar-account-button:focus-visible{background:var(--sidebar-hover)}.fire-period{justify-self:start}.fire-progress{grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:1.25rem;min-height:0;padding:1rem;display:grid}.fire-progress h2{font-size:var(--text-lg);margin:0 0 .35rem}.fire-progress-percent{color:var(--label);margin:0 0 .4rem}.fire-progress-percent strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.75rem}.fire-progress-bar{background:var(--line);border-radius:999px;height:12px;overflow:hidden}.fire-progress-bar span{border-radius:inherit;background:linear-gradient(90deg,#2f8a5b,#1f7048);height:100%;display:block}.fire-progress-amounts{color:var(--label);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin:.45rem 0 0;display:flex}.fire-progress-timing{border-left:1px solid var(--line);align-content:center;gap:.5rem;margin:0;padding-left:1.25rem;display:grid}.fire-progress-timing div{justify-content:space-between;gap:1rem;display:flex}.fire-progress-timing dt{color:var(--label)}.fire-progress-timing dd{margin:0;font-weight:700}.fire-progress-age{align-items:center;gap:.4rem;display:inline-flex}.fire-age-edit{border:1px solid var(--line);width:1.6rem;height:1.6rem;color:var(--navy);cursor:pointer;background:#fff;border-radius:999px;place-items:center;padding:0;display:inline-grid}.fire-age-edit:hover,.fire-age-edit:focus-visible{border-color:var(--gold-dark);background:var(--row-hover)}.fire-progress-dob{color:var(--navy);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;justify-self:start;padding:0;text-decoration:underline}.projection-band{stroke:none}.projection-band.start{fill:var(--navy)}@supports (color:color-mix(in lab, red, red)){.projection-band.start{fill:color-mix(in srgb, var(--navy) 22%, transparent)}}.projection-band.contributions{fill:#2f8a5b4d}.projection-band.growth{fill:var(--gold)}@supports (color:color-mix(in lab, red, red)){.projection-band.growth{fill:color-mix(in srgb, var(--gold) 45%, transparent)}}.projection-legend{color:var(--label);font-size:var(--text-sm);flex-wrap:wrap;gap:.5rem 1.25rem;display:flex}.projection-legend span:before{vertical-align:-1px;content:"";border-radius:3px;width:.75rem;height:.75rem;margin-right:.35rem;display:inline-block}.projection-legend .start:before{background:var(--navy)}@supports (color:color-mix(in lab, red, red)){.projection-legend .start:before{background:color-mix(in srgb, var(--navy) 35%, transparent)}}.projection-legend .contributions:before{background:#2f8a5b73}.projection-legend .growth:before{background:var(--gold)}@supports (color:color-mix(in lab, red, red)){.projection-legend .growth:before{background:color-mix(in srgb, var(--gold) 70%, transparent)}}.projection-legend .target:before{border-top:2px dashed var(--danger);border-radius:0;height:0}.fire-pie-button{border:1px solid var(--line);width:1.9rem;height:1.9rem;color:var(--navy);cursor:pointer;background:#fff;border-radius:999px;place-items:center;padding:0;display:inline-grid}.fire-pie-button:hover,.fire-pie-button:focus-visible{border-color:var(--gold-dark);background:var(--row-hover)}.fire-foreign{color:var(--muted);font-size:var(--text-xs);justify-items:end;line-height:1.35;display:grid}.fire-entry.income .fire-foreign strong{color:#1f7048;font-size:var(--text-base)}.breakdown-dialog{width:min(620px,100vw - 2rem);max-height:calc(100vh - 3rem);overflow-y:auto}.breakdown-body{grid-template-columns:180px minmax(0,1fr);align-items:start;gap:1.25rem;display:grid}.breakdown-body .donut-ring{width:100%;height:auto}.breakdown-table{border-collapse:collapse;width:100%;font-size:var(--text-sm);font-variant-numeric:tabular-nums}.breakdown-table th,.breakdown-table td{border-bottom:1px solid var(--line);text-align:right;padding:.45rem .35rem}.breakdown-table th[scope=row]{text-align:left;align-items:flex-start;gap:.45rem;font-weight:500;display:flex}.breakdown-table th[scope=row] .fire-donut-swatch{flex:none;margin-top:.3rem}.breakdown-table th[scope=row] small{color:var(--muted);font-size:var(--text-xs);display:block}.breakdown-table thead th{color:var(--label);font-size:var(--text-xs);font-weight:600}.breakdown-table thead th:first-child{text-align:left}.breakdown-table tfoot th,.breakdown-table tfoot td{border-bottom:0;font-weight:700}.timeline-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.75rem;display:flex}.timeline-chart{width:100%;height:auto;margin-bottom:.75rem;display:block}.timeline-chart.income .timeline-bar{fill:#2f8a5b}.timeline-chart.expense .timeline-bar{fill:#c0564b}.timeline-chart .timeline-current .timeline-bar{fill:#2563eb}.timeline-chart .timeline-current .fire-chart-label{fill:#2563eb;font-weight:700}.timeline-table tr.timeline-current th[scope=row]>span{color:#2563eb}.timeline-table tr.timeline-current{box-shadow:inset 3px 0 #2563eb}.timeline-table th[scope=row] small{margin-top:.15rem}@media (max-width:720px){.fire-progress{grid-template-columns:1fr}.fire-progress-timing{border-top:1px solid var(--line);border-left:0;padding:.75rem 0 0}.breakdown-backdrop{align-items:flex-end;padding:0}.breakdown-dialog{border-radius:14px 14px 0 0;width:100%;max-height:85vh}.breakdown-body{grid-template-columns:1fr}.breakdown-body .donut-ring{justify-self:center;width:160px}}.fire-chart-label.value{fill:var(--ink);font-size:11px;font-weight:700}.fire-chart-end{fill:var(--navy);stroke:#fff;stroke-width:1.5px}.projection-legend .legend-when{color:var(--ink);font-weight:600}.projection-legend .legend-when:before{display:none}.fire-donut-name{line-height:1.25;display:grid}.fire-donut-name small{color:var(--muted);font-size:var(--text-xs)}.simple-page.education-shell{width:100%}.education-page{gap:1rem;width:100%;display:grid}.education-head h1{margin:0 0 .25rem}.education-head p{margin:0}.education-page h2{font-size:var(--text-lg);margin:0 0 .6rem}.education-points{font-size:var(--text-sm);gap:.35rem;margin:0;padding:.85rem 1rem .5rem 2.2rem;line-height:1.5;display:grid}.education-links{flex-wrap:wrap;align-items:center;gap:.4rem;padding:.5rem 1rem 1rem;display:flex}.education-links>span{color:var(--label);font-size:var(--text-xs);margin-right:.25rem;font-weight:600}.education-links a{border:1px solid var(--border);color:var(--navy);font-size:var(--text-xs);background:#fff;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .65rem;font-weight:600;text-decoration:none;display:inline-flex}.education-links a:hover,.education-links a:focus-visible{border-color:var(--navy);background:var(--row-hover)}.simple-page.assets-shell{width:100%}.assets-page{gap:1rem;display:grid}.assets-page-head h1{margin:0 0 .25rem}.assets-page-head p{max-width:60rem;margin:0}.assets-page .fire-assets{min-height:0}.education-articles{gap:.6rem;display:grid}.education-article-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.education-tile{aspect-ratio:1;color:#fff;width:100%;font:inherit;cursor:pointer;background:#1e2a44;border:0;border-radius:10px;place-items:center;padding:0;display:grid;position:relative;overflow:hidden}.education-tile img{object-fit:cover;width:100%;height:100%;transition:transform .2s;position:absolute;inset:0}.education-tile:after{content:"";background:linear-gradient(#0000000d 40%,#000000b8);position:absolute;inset:0}.education-tile-icon{opacity:.35;transform:translateY(-1.25rem)}.education-tile strong{z-index:1;font-size:var(--text-md);text-align:left;line-height:1.3;position:absolute;bottom:1rem;left:1rem;right:1rem}.education-tile:hover img,.education-tile:focus-visible img{transform:scale(1.04)}.education-tile:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.article-reader-lead{font-weight:500}.article-reader{width:min(720px,100vw - 2rem);max-height:calc(100vh - 3rem);overflow-y:auto}.article-reader-image{object-fit:cover;border-radius:8px;width:100%;max-height:320px;margin-bottom:1rem;display:block}.article-reader-body p{white-space:pre-line;margin:0 0 .85rem;line-height:1.6}.admin-sections{align-self:flex-start;margin:1.5rem 0 -2rem}.admin-sections button{align-items:center;gap:.4rem;display:inline-flex}.admin-education-add{align-items:center;gap:.35rem;display:inline-flex}.admin-article-list{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.admin-article{grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:.85rem;min-height:0;padding:.65rem;display:grid}.admin-article img,.admin-article .admin-article-noimage{object-fit:cover;border-radius:6px;width:96px;height:60px}.admin-article-noimage{background:var(--row-alt);color:var(--muted);place-items:center;display:grid}.admin-article p{color:var(--muted);font-size:var(--text-sm);margin:.2rem 0 0}.admin-article-status{font-size:var(--text-xs);border-radius:999px;margin-left:.5rem;padding:.05rem .45rem;font-weight:600}.admin-article-status.published{color:#1f7048;background:#e6f2eb}.admin-article-status.draft{background:var(--row-alt);color:var(--label)}.article-dialog{width:min(680px,100vw - 2rem);max-height:calc(100vh - 3rem);overflow-y:auto}.article-picture{grid-template-columns:140px minmax(0,1fr);align-items:center;gap:.35rem .85rem;display:grid}.article-picture>span:first-child{color:var(--label);font-size:var(--text-sm);grid-column:1/-1}.article-picture img,.article-picture .admin-article-noimage{object-fit:cover;border-radius:8px;width:140px;height:88px}.article-picture>div{justify-items:start;gap:.35rem;display:grid}.article-picture-pick{border:1px solid var(--border);color:var(--navy);background:#fff;align-items:center;display:inline-flex;position:relative}.article-picture-pick input{opacity:0;cursor:pointer;position:absolute;inset:0}.article-published{align-self:end;align-items:center;gap:.5rem;display:flex}.article-published input{width:auto}@media (max-width:720px){.admin-article{grid-template-columns:72px minmax(0,1fr) auto}.admin-article img,.admin-article .admin-article-noimage{width:72px;height:48px}.article-reader{width:100%}}.page-subtitle{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.fire-asset-location{color:var(--navy);align-items:center;gap:.2rem;text-decoration:none;display:inline-flex}.fire-asset-location:hover,.fire-asset-location:focus-visible{text-decoration:underline}.simple-page.wishlist-shell{width:100%}.wishlist-page{gap:1rem;display:grid}.wishlist-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;display:flex}.wishlist-head>div:first-child{min-width:0}.wishlist-head h1{margin:0 0 .25rem}.wishlist-head p{margin:0}.wishlist-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.wish-column,.wish-exercise{align-content:start;gap:.75rem;min-height:0;padding:1rem;display:grid}.wish-column-head{flex-wrap:wrap;align-items:baseline;gap:.4rem .75rem;display:flex}.wish-column-head h2,.wish-exercise h2{margin:0}.wish-done-count{font-size:var(--text-sm);margin-left:auto}.wish-add{gap:.5rem;display:flex}.wish-add input,.wish-edit input{border:1px solid var(--border);min-width:0;min-height:40px;font:inherit;background:#fff;border-radius:8px;flex:1;padding:0 .75rem}.wish-list,.wish-numbered{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.wish-list li,.wish-numbered li{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:.6rem;padding:.45rem .6rem;display:flex}.wish-list label{cursor:pointer;flex-direction:row;flex:1;align-items:center;gap:.6rem;min-width:0;display:flex}.wish-list label input{accent-color:#1f7048;flex:none;width:1rem;height:1rem}.wish-list li.done span{color:var(--muted);text-decoration:line-through}.wish-icon{width:1.9rem;height:1.9rem;color:var(--label);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;display:grid}.wish-icon:hover,.wish-icon:focus-visible{background:var(--row-hover);color:var(--navy)}.wish-exercise-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.wish-exercise-head p{margin:.25rem 0 0}.wish-progress-count{font-size:var(--text-lg);font-variant-numeric:tabular-nums;white-space:nowrap}.wish-number{background:var(--row-alt);min-width:2rem;height:1.6rem;color:var(--label);font-size:var(--text-xs);font-variant-numeric:tabular-nums;border-radius:999px;flex:none;place-items:center;padding:0 .35rem;font-weight:700;display:grid}.wish-text{flex:1;min-width:0}.wish-edit{flex:1;align-items:center;gap:.25rem;display:flex}.wish-repeat{background:var(--gold);border:1px solid #e3c983;border-radius:8px;gap:.5rem;padding:.75rem .9rem;display:grid}@supports (color:color-mix(in lab, red, red)){.wish-repeat{background:color-mix(in srgb, var(--gold) 12%, #fff)}}.wish-repeat p{align-items:center;gap:.4rem;margin:0;font-weight:600;display:flex}.wish-repeat ul{gap:.3rem;margin:0;padding-left:1.4rem;display:grid}.wish-repeat li{display:grid}.wish-repeat li span{font-size:var(--text-sm)}.wish-repeat-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}@media (max-width:1100px){.wishlist-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.wishlist-columns{grid-template-columns:1fr}}.wish-basic-note{font-size:var(--text-sm);margin:0}.wish-grip{cursor:grab;width:1.4rem}.wish-grip:active{cursor:grabbing}.wish-list li.dragging,.wish-numbered li.dragging{opacity:.45}.wish-list li.drop-target,.wish-numbered li.drop-target{box-shadow:inset 0 2px 0 var(--gold-dark)}.connection-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1rem;display:grid}.connection-card{align-content:start;gap:.75rem;min-height:0;padding:1rem;display:grid}.connection-card header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.connection-card h2{font-size:var(--text-md);margin:0}.connection-purpose{margin:0}.connection-status{font-size:var(--text-xs);border-radius:999px;flex:none;align-items:center;gap:.3rem;padding:.15rem .55rem;font-weight:700;display:inline-flex}.connection-status.ok{color:#1f7048;background:#e6f2eb}.connection-status.bad{color:#a23d35;background:#fbe9e7}.connection-status.warn{background:var(--gold)}@supports (color:color-mix(in lab, red, red)){.connection-status.warn{background:color-mix(in srgb, var(--gold) 20%, #fff)}}.connection-status.warn{color:#7a5a12}.connection-status.idle{background:var(--row-alt);color:var(--label)}.connection-fields{gap:.65rem;display:grid}.connection-field{gap:.25rem;display:grid}.connection-field label,.connection-toggle{text-align:left;color:var(--label);font-size:var(--text-sm);flex-direction:row;justify-content:flex-start;align-items:center;gap:.5rem;font-weight:600;display:flex}.connection-field input{border:1px solid var(--border);min-height:38px;font:inherit;background:#fff;border-radius:8px;padding:0 .7rem}.connection-toggle input{width:1rem;height:1rem}.connection-source{background:var(--row-alt);border-radius:999px;margin-left:auto;padding:.05rem .4rem;font-size:.68rem;font-weight:600}.connection-source.admin{color:var(--navy);background:#e8edf7}.connection-source.unset{color:#a23d35;background:#fbe9e7}.connection-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.connection-result{font-size:var(--text-sm);border-radius:8px;margin:0;padding:.5rem .65rem}.connection-result.ok{color:#1f5f3d;background:#e6f2eb}.connection-result.bad{color:#8a2f28;background:#fbe9e7}.alert-text{color:#a23d35}.auth-forgot{align-self:flex-end;margin-top:-.5rem;font-size:.8125rem}.auth-consent{flex-direction:row;align-items:flex-start;gap:.55rem;font-size:.8125rem;line-height:1.45;display:flex}.auth-consent input{flex:none;width:1rem;height:1rem;margin-top:.15rem}.auth-consent a{color:var(--navy);text-decoration:underline}.reset-shell{grid-template-columns:1fr;place-items:center;min-height:100vh;display:grid}.reset-shell .login-panel{width:min(440px,100vw - 2rem)}.legal-page{width:min(760px,100vw - 2rem);margin:0 auto;padding:2.5rem 0 4rem}.legal-page .brand{margin-bottom:1.5rem;display:inline-block}.legal-page article{line-height:1.6}.legal-page h1{margin:0 0 .25rem}.legal-page h2{font-size:var(--text-md);margin:1.75rem 0 .5rem}.legal-page ul{gap:.35rem;padding-left:1.25rem;display:grid}.legal-page a{color:var(--navy)}.legal-contact{margin-top:2rem}.legal-links{font-size:var(--text-sm);flex-wrap:wrap;gap:1rem;margin-top:1rem;display:flex}.login-legal{justify-content:center;gap:1rem;margin-top:1rem;font-size:.8125rem;display:flex}.login-legal a{color:var(--muted)}.fire-page,.assets-page,.wishlist-page,.education-page,.transactions-page{grid-template-columns:minmax(0,1fr)}.fire-page>*,.assets-page>*,.wishlist-page>*,.education-page>*,.transactions-page>*{min-width:0}.simple-page{min-width:0;max-width:100%}.fire-calendar{grid-template-columns:minmax(0,1fr)}.fire-calendar>*{min-width:0}.fire-calendar-heading,.fire-legend{flex-wrap:wrap}@media (max-width:560px){.fire-calendar-heading h2{flex:1;min-width:0}.fire-calendar-totals{width:100%;margin-left:0}.fire-day{overflow:hidden}}@media (max-width:900px){.app-header .brand{order:1}.app-header .sidebar-language{border:0;order:2;margin-left:auto;padding:0 .5rem}.app-header .sidebar-language .language-switcher{width:auto}.app-header .sidebar-footer{order:2}.app-header .main-tabs{scrollbar-width:none;border-top:1px solid #ffffff14;flex:1 0 100%;order:3;justify-content:flex-start;min-height:0}.app-header .main-tabs::-webkit-scrollbar{display:none}}.profile-dialog{width:min(560px,100vw - 2rem);max-height:calc(100vh - 3rem);overflow-y:auto}.share-links{border-top:1px solid var(--line);gap:.6rem;margin-top:1.25rem;padding-top:1rem;display:grid}.share-links h3{font-size:var(--text-md);align-items:center;gap:.4rem;margin:0;display:flex}.share-links p{margin:0}.share-links ul{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.share-links li{border:1px solid var(--line);background:#fff;border-radius:8px;gap:.4rem;padding:.6rem .7rem;display:grid}.share-toggle{cursor:pointer;flex-direction:row;align-items:center;gap:.55rem;font-weight:600;display:flex}.share-toggle input{width:1rem;height:1rem}.share-url{gap:.4rem;display:flex}.share-url input{border:1px solid var(--border);background:var(--row-alt);min-width:0;min-height:36px;color:var(--label);font:inherit;font-size:var(--text-xs);border-radius:6px;flex:1;padding:0 .6rem}.share-copy{border:1px solid var(--border);width:2.25rem;color:var(--navy);cursor:pointer;background:#fff;border-radius:6px;place-items:center;display:grid}.share-copy:hover,.share-copy:focus-visible{border-color:var(--navy);background:var(--row-hover)}.share-page{gap:1rem;width:min(1100px,100vw - 2rem);margin:0 auto;padding:1.5rem 0 4rem;display:grid}.share-page>*{min-width:0}.share-page .brand{color:var(--navy);letter-spacing:.08em;font-weight:800;text-decoration:none}.share-page .brand span{color:var(--gold-dark);font-weight:600}.share-head h1{margin:0 0 .25rem}.share-head p{margin:0}.share-tiles{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.75rem;display:grid}.share-tile{border:1px solid var(--line);background:#fff;border-radius:10px;gap:.2rem;padding:.85rem 1rem;display:grid}.share-tile span{color:var(--label);font-size:var(--text-sm)}.share-tile strong{font-size:var(--text-lg);font-variant-numeric:tabular-nums}.share-tile small{color:var(--muted);font-size:var(--text-xs)}.share-tile .up,.share-table .up{color:#1f7048}.share-tile .down,.share-table .down{color:#a23d35}.share-panel{border:1px solid var(--line);background:var(--panel,#fafafa);border-radius:12px;gap:.75rem;min-width:0;padding:1rem;display:grid}.share-panel h2{font-size:var(--text-md);margin:0}.share-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.share-list{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.share-list li{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem .7rem;display:flex}.share-list li>div{min-width:0;display:grid}.share-list li span{color:var(--muted);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.share-list li>strong{font-variant-numeric:tabular-nums;flex:none}.share-entries.income li>strong{color:#1f7048}.share-entries.expense li>strong{color:#a23d35}.share-table-wrap{overflow-x:auto}.share-table{border-collapse:collapse;width:100%;min-width:560px;font-size:var(--text-sm);font-variant-numeric:tabular-nums}.share-table th,.share-table td{border-bottom:1px solid var(--line);text-align:right;padding:.55rem .5rem}.share-table thead th{color:var(--label);font-size:var(--text-xs)}.share-table th[scope=row],.share-table thead th:first-child{text-align:left}.share-table th[scope=row]{font-weight:600;display:grid}.share-table th[scope=row] span{color:var(--muted);font-size:var(--text-xs);font-weight:400}.share-missing{text-align:center;padding:3rem 1rem}@media (max-width:720px){.share-columns{grid-template-columns:1fr}}.simple-page.run-test{gap:1rem;width:100%;display:grid}.run-test-panel{z-index:2;gap:.85rem;display:grid;position:relative;overflow:visible}.run-test-controls{flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem;display:flex;position:relative}.run-test-picker{gap:.35rem;min-width:12rem;display:grid;position:relative}.run-test-picker-label{font-size:.85rem;font-weight:600}.run-test-picker-button{border:1px solid var(--line);min-height:2.6rem;font:inherit;cursor:pointer;text-align:left;background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.run-test-picker-button:disabled{opacity:.6;cursor:not-allowed}.run-test-menu{z-index:20;border:1px solid var(--line);background:#fff;border-radius:10px;gap:.4rem;min-width:100%;max-height:22rem;padding:.6rem;display:grid;position:absolute;top:calc(100% + 4px);left:0;overflow:auto;box-shadow:0 12px 32px #0f172a24}.run-test-picker.wide{position:static}.run-test-menu.wide{width:min(44rem,100%);padding:0;top:calc(100% + 6px)}.run-test-check{white-space:nowrap;cursor:pointer;flex-direction:row;align-items:center;gap:.5rem;font-weight:500;display:inline-flex}.run-test-all{border-bottom:1px solid var(--line);padding-bottom:.4rem}.run-test-table{border-collapse:collapse;width:100%;font-size:.9rem}.run-test-table th,.run-test-table td{text-align:left;border-bottom:1px solid var(--line);padding:.45rem .7rem}.run-test-table thead th{text-transform:uppercase;letter-spacing:.04em;z-index:1;background:#fff;font-size:.72rem;position:sticky;top:0}.run-test-table th:first-child,.run-test-table td:first-child{width:2.2rem}.run-test-table tbody tr{cursor:pointer}.run-test-table tbody tr:hover{background:var(--panel)}.run-test-table tbody tr:not(.on){opacity:.55}.run-test-table tbody th{font-weight:700}.run-test-date{min-width:10rem}.run-test-start{align-items:center;gap:.45rem;min-height:2.6rem;margin-left:auto;display:inline-flex}.run-test-panel{align-content:start;min-height:0}.run-test-wallet{background:#fefce8;border:1px solid #fde68a;border-radius:12px;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;padding:.85rem 1rem;display:flex}.run-test-wallet-icon{color:#a16207;flex:none}.run-test-wallet-body{flex:22rem;gap:.35rem;min-width:0;display:grid}.run-test-wallet-body p{margin:0}.run-test-wallet-title{flex-wrap:wrap;align-items:center;gap:.5rem;font-weight:600;display:flex}.run-test-wallet-free{color:#166534;background:#dcfce7;border-radius:999px;padding:.1rem .5rem;font-size:.75rem;font-weight:600}.run-test-wallet-count strong{font-size:1.25rem}.run-test-wallet-rule{font-size:.85rem}.run-test-meter{background:#fde68a;border-radius:999px;max-width:28rem;height:.5rem;overflow:hidden}.run-test-meter span{border-radius:inherit;background:#ca8a04;height:100%;display:block}.run-test-buy{align-items:center;gap:.4rem;display:inline-flex}.run-test-wallet.warn{background:#fee2e2;border-color:#fecaca}.run-test-wallet.warn .run-test-wallet-icon{color:var(--danger)}.run-test-wallet.warn .run-test-meter{background:#fecaca}.run-test-wallet.warn .run-test-meter span{background:var(--danger)}.run-test-wallet-warning{color:#7f1d1d;border-bottom:1px solid #fecaca;padding-bottom:.45rem;margin-bottom:.15rem!important}.add-holding-modal.buy-tokens{width:min(42rem,100vw - 2rem);max-width:none}.buy-tokens-packs{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem;margin:.75rem 0;padding:0;list-style:none;display:grid}.buy-tokens-packs li{border:1px solid var(--line);border-radius:10px;gap:.35rem;padding:.85rem;display:grid}.buy-tokens-packs p{margin:0}.buy-tokens-name{font-weight:700}.buy-tokens-amount{align-items:center;gap:.35rem;font-size:1.1rem;font-weight:600;display:flex}.buy-tokens-amount svg{color:#a16207}.run-test-note{margin:0;font-size:.85rem}.run-test-progress{gap:.75rem;display:grid}.run-test-progress-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}.run-test-progress-head p{margin:0}.run-test-progress-buttons{gap:.5rem;display:flex}.run-test-progress-buttons .button{align-items:center;gap:.35rem;display:inline-flex}.run-test-progress-buttons .button.danger{color:var(--danger);border-color:#fecaca}.run-test-bar{background:var(--line);border-radius:999px;height:.6rem;overflow:hidden}.run-test-bar span{border-radius:inherit;background:#2563eb;height:100%;transition:width .4s;display:block}.run-test-bar.running span,.run-test-bar.stopping span{background-image:linear-gradient(90deg,#2563eb,#60a5fa,#2563eb);background-size:200% 100%;animation:1.4s linear infinite run-test-flow}.run-test-bar.paused span{background:#f59e0b}.run-test-bar.finished span{background:#16a34a}.run-test-bar.stopped span{background:#64748b}@keyframes run-test-flow{0%{background-position:200% 0}to{background-position:0 0}}.run-test-results{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.run-test-results summary{cursor:pointer;border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.6rem;padding:.45rem .25rem;display:flex}.run-test-results li.failed summary{color:var(--danger)}.run-test-results li.completed summary svg{color:#16a34a}.run-test-results li.queued summary,.run-test-results li.skipped summary{color:#64748b}.run-test-results details>section{margin-top:.6rem}.run-test-status{margin-left:auto;font-size:.85rem;font-weight:600}@media (max-width:640px){.run-test-picker,.run-test-date{flex:100%}.run-test-start{justify-content:center;width:100%;margin-left:0}}.reset-tokens{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1rem;margin-top:1rem;padding-top:1rem;display:flex}.reset-tokens p{margin:0}.reset-tokens-title{font-weight:600}.reset-tokens .button{align-items:center;gap:.4rem;display:inline-flex}.reset-tokens>p{flex:100%}.simple-page.support-shell{place-items:center;width:100%;min-height:calc(100vh - 8.5rem);display:grid}.support-page{gap:1.25rem;width:100%;max-width:60rem;display:grid}.support-hero{text-align:center;justify-items:center;gap:.5rem;display:grid}.support-hero h1{margin:0}.support-hero p{max-width:44rem;margin:0;font-size:1.05rem}@media (max-width:640px){.simple-page.support-shell{min-height:0}}.support-heart{color:#e11d48}.support-promises{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.support-promises li{border:1px solid var(--line);background:#fff;border-radius:12px;gap:.25rem;padding:.9rem 1rem;display:grid}.support-promises svg{color:#16a34a}.support-plan{background:#fefce8;border-color:#fde68a;flex-wrap:wrap;align-items:stretch;gap:1.25rem 2rem;min-height:0;display:flex}.support-price{text-align:center;border-right:1px solid #fde68a;align-content:center;justify-items:center;gap:.2rem;min-width:12rem;padding-right:2rem;display:grid}@media (max-width:640px){.support-price{border-bottom:1px solid #fde68a;border-right:0;flex:100%;padding:0 0 1.25rem}}.support-price svg{color:#a16207}.support-price p{margin:0;font-size:1.1rem}.support-price strong{font-size:2.4rem;line-height:1}.support-why{flex:22rem;justify-items:start;gap:.6rem;display:grid}.support-why p{margin:0}.support-why .button{align-items:center;gap:.45rem;display:inline-flex}.support-soon{font-size:.85rem}.run-test-table tbody tr.blocked{opacity:1;cursor:default;color:#64748b}.run-test-table tbody tr.blocked th{color:#64748b}.run-test-blocked{color:#92400e;white-space:normal;align-items:flex-start;gap:.3rem;margin-top:.2rem;font-size:.8rem;display:flex}.run-test-blocked svg{flex:none;margin-top:.15rem}.run-test-left-out{background:#f1f5f9;border-radius:10px;align-items:flex-start;gap:.5rem;margin:0;padding:.6rem .8rem;font-size:.88rem;display:flex}.run-test-left-out svg{color:#64748b;flex:none;margin-top:.15rem}.run-test-row-note{color:#92400e;margin:.5rem 0 .25rem;font-size:.88rem}.report.report-short{padding:1rem 1.2rem}.report.report-short p{margin:0}.login-copy{position:relative;overflow:hidden}.login-copy>:not(.login-bills){z-index:1;position:relative}.login-bills{aspect-ratio:520/300;pointer-events:none;width:clamp(220px,22vw,340px);position:absolute;bottom:calc(1.25rem + 20%);right:2rem}.login-bill{filter:drop-shadow(0 18px 30px #00000059);width:100%;height:auto;position:absolute}.login-bill.back{opacity:.55;top:0;right:6%;transform:rotate(9deg)}.login-bill.front{bottom:0;right:0;transform:rotate(-7deg)}.login-copyright{text-align:center;color:var(--muted);margin:.5rem 0 0;font-size:.75rem}@media (max-width:1160px){.login-bills{width:min(320px,80%);margin-top:2.5rem;position:relative;bottom:auto;right:auto}}.form-message.error{color:var(--danger);font-weight:600}.login-copy{background:radial-gradient(at 85% 90%,#85bb6547,#0000 55%),linear-gradient(160deg,#1f4d32 0%,#17402a 55%,#10301f 100%)}.login-copy>p{color:#d7e6d2}.principles span{color:#eef6ea;border-color:#5f8f6b}.login-bill{border-radius:4px;max-width:340px}.add-holding-modal.confirm-dialog{width:min(420px,100vw - 2rem);color:var(--text,#111827)}.confirm-dialog h2{margin:0 0 .5rem}.confirm-dialog p{margin:0 0 1rem}.confirm-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.confirm-actions .button{align-items:center;gap:.4rem;display:inline-flex}.delete-account{border-top:1px solid var(--line);margin-top:1.25rem;padding-top:1rem}.delete-account h3{color:var(--danger);align-items:center;gap:.4rem;margin:0 0 .4rem;font-size:.95rem;display:flex}.delete-account p{margin:0 0 .75rem}.delete-account-confirm{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;gap:.6rem;padding:.8rem;display:grid}.delete-account-confirm p{margin:0}.button.danger{background:var(--danger);border-color:var(--danger);color:#fff}.button.danger:disabled{opacity:.45}.button.danger-outline{color:var(--danger);background:#fff;border-color:#fecaca}.language-switcher{background:#ffffff1a;border-radius:999px;gap:.2em;max-width:100%;padding:.2em;font-size:clamp(.66rem,2.4vw,.78rem);display:inline-flex}.language-switcher button{color:inherit;font:inherit;letter-spacing:.03em;white-space:nowrap;cursor:pointer;opacity:.75;background:0 0;border:0;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:.35em;padding:.35em .7em;font-weight:700;line-height:1;display:inline-flex}.language-switcher button[aria-pressed=true]{color:#1f4d32;opacity:1;background:#ffffffeb}.language-switcher button:hover{opacity:1}.language-switcher svg{border-radius:.15em;flex:none;width:1.6em;height:1.07em;box-shadow:0 0 0 1px #00000026}.language-switcher span{text-overflow:clip;overflow:hidden}@media (max-width:360px){.language-switcher span{display:none}}.language-switcher.on-light{color:#374151;background:#eef3ec}.language-switcher.on-light button[aria-pressed=true]{color:#fff;background:#1f4d32}.page-language{z-index:50;position:fixed;top:.9rem;right:1rem}.sidebar-language{border-bottom:1px solid var(--sidebar-divider);padding:.6rem .9rem}.sidebar-language .language-switcher{width:100%;display:flex}.sidebar-language .language-switcher button{flex:1 1 0;justify-content:center;min-width:0}@keyframes bill-in-back{0%{opacity:0;transform:translate(40px,60px)rotate(18deg)}to{opacity:.55;transform:rotate(9deg)}}@keyframes bill-in-front{0%{opacity:0;transform:translate(-30px,80px)rotate(-16deg)}to{opacity:1;transform:rotate(-7deg)}}@keyframes bill-float-back{0%,to{transform:translate(0)rotate(9deg)}50%{transform:translate(-6px,-10px)rotate(11.5deg)}}@keyframes bill-float-front{0%,to{transform:translate(0)rotate(-7deg)}35%{transform:translate(4px,-12px)rotate(-5deg)}70%{transform:translate(-3px,-5px)rotate(-8.5deg)}}.login-bill.back{animation:.9s cubic-bezier(.2,.8,.2,1) both bill-in-back,7s ease-in-out .9s infinite bill-float-back}.login-bill.front{animation:1s cubic-bezier(.2,.8,.2,1) .15s both bill-in-front,6s ease-in-out 1.15s infinite bill-float-front}@media (prefers-reduced-motion:reduce){.login-bill.back,.login-bill.front{animation:none}}.login-copy h1{line-height:1.04}html:lang(hy) .login-copy h1,html:lang(hy) .hero h1{letter-spacing:-.03em;line-height:1.22}.cash-label{align-items:center;gap:.3rem;display:inline-flex}.cash-info{color:var(--muted);cursor:help;border-radius:50%;display:inline-flex}.cash-info:focus-visible{outline:2px solid var(--accent,#1f4d32);outline-offset:2px}.summary-card.short>small,.analytics-metric.short>small{color:#a23d35}.cash-field-label{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem .75rem;display:flex}.cash-summary{color:var(--muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;align-items:center;gap:.3rem;display:inline-flex}.cash-summary.short{color:#a23d35}.simple-page.today-shell{width:100%;padding-top:.5rem}.today-page{gap:1rem;padding-top:1.25rem;display:grid}.today-heading h1{margin:0 0 .2rem}.today-heading p{margin:0}.today-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.today-card{border:1px solid var(--line);min-width:0;color:var(--ink);font:inherit;text-align:left;background:#fff;border-radius:12px;align-content:start;gap:.3rem;padding:1rem 1.1rem;display:grid}button.today-card{cursor:pointer}button.today-card:hover{background:#fcfcfd;border-color:#cbd5e1}.today-card-label{color:var(--label);font-size:var(--text-sm);align-items:center;gap:.4rem;font-weight:600;display:inline-flex}.today-card>strong{font-size:var(--text-xl);font-variant-numeric:tabular-nums}.today-card small{font-size:var(--text-sm)}.today-card .positive,.net-worth-summary .positive{color:#1f7048}.today-card .negative,.net-worth-summary .negative{color:#a23d35}.today-progress{background:#eef2f7;border-radius:999px;height:6px;display:block;overflow:hidden}.today-progress span{background:var(--sidebar);border-radius:inherit;height:100%;display:block}.today-section-heading h2,.today-list h2{font-size:var(--text-md);align-items:center;gap:.45rem;margin:0 0 .6rem;display:flex}.panel.today-chart,.panel.today-list,.panel.setup-guide{min-height:0}.today-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.today-list ul{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.today-row{width:100%;color:var(--ink);font:inherit;font-size:var(--text-sm);text-align:left;background:0 0;border:0;border-radius:8px;grid-template-columns:4.5rem minmax(0,1fr);gap:.6rem;padding:.5rem .6rem;display:grid}button.today-row{cursor:pointer}button.today-row:hover{background:var(--row-hover)}.today-row span{color:var(--label)}.today-note{font-size:var(--text-xs);margin:.6rem 0 0}.net-worth-summary{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:.5rem;display:flex}.net-worth-summary>div:first-child{display:grid}.net-worth-summary strong{font-size:var(--text-lg);font-variant-numeric:tabular-nums}.net-worth-summary .segmented{margin-left:auto}.net-worth-summary .segmented button{min-width:2.8rem;padding:.25rem .6rem}.net-worth-plot{position:relative}.net-worth-chart svg{touch-action:pan-y;width:100%;height:190px;display:block}.net-worth-line{fill:none;stroke:var(--sidebar);stroke-width:2px;vector-effect:non-scaling-stroke}.net-worth-area{fill:#1f4d3214}.net-worth-dot{border:2px solid var(--sidebar);pointer-events:none;background:#fff;border-radius:50%;width:10px;height:10px;margin:-5px 0 0 -5px;position:absolute}.net-worth-axis{color:var(--muted);font-size:var(--text-xs);justify-content:space-between;margin-top:.35rem;display:flex}.net-worth-empty{gap:.3rem;padding:1.25rem 0;display:grid}.net-worth-empty p{margin:0}.setup-guide{background:#f5faf6;border-color:#c7dccd}.setup-guide-heading{justify-content:space-between;align-items:start;gap:1rem;display:flex}.setup-guide-heading h2{font-size:var(--text-md);margin:0}.setup-guide-heading p{margin:.2rem 0 0}.setup-steps{gap:.5rem;margin:.9rem 0 0;padding:0;list-style:none;display:grid}.setup-steps li{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:1.75rem minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.7rem .8rem;display:grid}.setup-steps li>div{gap:.15rem;display:grid}.setup-steps li .muted{font-size:var(--text-sm)}.setup-step-mark{width:1.75rem;height:1.75rem;color:var(--label);font-weight:700;font-size:var(--text-sm);background:#eef2f7;border-radius:50%;place-items:center;display:inline-grid}.setup-steps li.done .setup-step-mark{background:var(--sidebar);color:#fff}.setup-steps li.done strong{color:var(--muted)}.setup-step-done{color:#1f7048;font-weight:600;font-size:var(--text-sm)}.setup-steps .button{white-space:nowrap;align-items:center;gap:.35rem;display:inline-flex}@media (max-width:900px){.today-cards,.today-columns{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.setup-steps li{grid-template-columns:1.75rem minmax(0,1fr)}.setup-steps li>:last-child{grid-column:2;justify-self:start}}.cash-inputs{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.money-input{border:1px solid var(--line);background:#fff;border-radius:8px;flex:11rem;align-items:stretch;min-width:10rem;max-width:18rem;display:inline-flex;overflow:hidden}.money-input:focus-within{border-color:var(--gold-dark);box-shadow:0 0 0 3px #e8c97a4d}.money-input select{border:0;border-right:1px solid var(--line);width:auto;color:var(--label);background:#f9fafb;border-radius:0;flex:none;padding:0 .4rem 0 .6rem;font-weight:600}.money-input input{width:100%;min-width:0;box-shadow:none;border:0;border-radius:0;flex:auto}.money-input input:focus,.money-input select:focus{box-shadow:none;outline:none}.money-input-remove{border:0;border-left:1px solid var(--line);width:2rem;color:var(--muted);cursor:pointer;background:#fff;place-items:center;display:inline-grid}.money-input-remove:hover{color:var(--danger);background:#fef2f2}.cash-add{width:2.4rem;height:2.4rem;color:var(--label);cursor:pointer;background:#fff;border:1px dashed #cbd5e1;border-radius:8px;flex:none;place-items:center;display:inline-grid}.cash-add:hover{border-style:solid;border-color:var(--sidebar);color:var(--sidebar)}.today-unsaved{font-size:var(--text-sm);background:#fefce8;border:1px solid #fde68a;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1rem;padding:.7rem .9rem;display:flex}.panel.bonds-section{min-height:0;margin-top:1rem}.bonds-heading{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:.75rem 1rem;display:flex}.bonds-heading h2{font-size:var(--text-md);align-items:center;gap:.45rem;margin:0 0 .2rem;display:flex}.bonds-heading p{max-width:46rem;font-size:var(--text-sm);margin:0}.bonds-heading .button{white-space:nowrap;align-items:center;gap:.35rem;display:inline-flex}.bonds-table{margin-top:.8rem;display:grid;overflow-x:auto}.bonds-row{border-bottom:1px solid var(--line);min-width:44rem;font-size:var(--text-sm);font-variant-numeric:tabular-nums;grid-template-columns:minmax(10rem,2fr) repeat(5,minmax(6.5rem,1fr));align-items:center;gap:.75rem;padding:.55rem .4rem;display:grid}.bonds-row>span{gap:.1rem;display:grid}.bonds-head{color:var(--label);font-weight:600;font-size:var(--text-xs)}.bonds-total{border-bottom:0;font-weight:700}.panel.investment-mix{min-height:0}.investment-mix h2{font-size:var(--text-md);margin:0 0 .7rem}.investment-mix-bar{background:#eef2f7;border-radius:999px;height:12px;display:flex;overflow:hidden}.investment-mix-rows{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.5rem 1rem;margin:.8rem 0 0;padding:0;list-style:none;display:grid}.investment-mix-rows li{font-size:var(--text-sm);grid-template-columns:auto 1fr auto;align-items:center;gap:.15rem .5rem;display:grid}.investment-mix-rows li .muted{font-size:var(--text-xs);grid-column:2/-1}.investment-mix>p{font-size:var(--text-xs);margin:.7rem 0 0}.mix-dot{border-radius:3px;width:10px;height:10px}.mix-stocks{background:var(--navy)}.mix-funds{background:#2f7d4f}.mix-bonds{background:var(--gold-dark)}.mix-cash{background:#9ca3af}.today-progress.cash span{background:#2f7d4f}.page-progress{top:0;left:var(--sidebar-width);z-index:60;background:linear-gradient(90deg, var(--gold-dark), var(--gold));transform-origin:0;pointer-events:none;height:3px;animation:.7s ease-out forwards page-progress;position:fixed;right:0}@keyframes page-progress{0%{opacity:1;transform:scaleX(0)}70%{opacity:1;transform:scaleX(.85)}to{opacity:0;transform:scaleX(1)}}.simple-page,.portfolio-workspace>*,.analytics-dashboard{animation:.28s ease-out backwards page-in}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (max-width:900px){.page-progress{left:0}}@media (prefers-reduced-motion:reduce){.page-progress{display:none}.simple-page,.portfolio-workspace>*,.analytics-dashboard{animation:none}}.today-card-label{width:100%;position:relative}.today-info{margin-left:auto;display:inline-flex;position:relative}.today-info-button{width:1.6rem;height:1.6rem;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:inline-grid}.today-info-button:hover,.today-info-button[aria-expanded=true]{color:var(--ink);background:#eef2f7}.today-info-popup{z-index:20;border:1px solid var(--line);width:min(20rem,80vw);color:var(--label);font-size:var(--text-sm);background:#fff;border-radius:10px;gap:.5rem;padding:.8rem .9rem;font-weight:400;line-height:1.45;display:grid;position:absolute;top:calc(100% + .4rem);right:0;box-shadow:0 10px 28px #0f172a1f}.today-info-popup .text-button{justify-self:end}.shimmer{background:linear-gradient(90deg,#eceef1 25%,#f7f7f5 50%,#eceef1 75%) 0 0/200% 100%;border-radius:6px;animation:1.2s linear infinite summary-skeleton;display:block}.shimmer-value{vertical-align:middle;width:8.5rem;height:1.6rem;display:inline-block}.shimmer-lines{gap:.55rem;padding:.3rem 0;display:grid}.shimmer-line{height:.95rem}.shimmer-line:nth-child(2n){width:72%}.shimmer-cards{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.75rem;display:grid}.shimmer-card{border-radius:12px;height:11rem}@media (prefers-reduced-motion:reduce){.shimmer{animation:none}}.net-worth-line{animation:1.1s ease-out both line-draw}.net-worth-area{animation:1.1s ease-out both line-draw,.9s ease-out both fade-in}@keyframes line-draw{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes fade-in{0%{opacity:0}}.today-progress span,.investment-mix-bar span,.fire-progress-bar span{transform-origin:0;animation:.9s cubic-bezier(.2,.8,.2,1) both bar-fill}.investment-mix-bar span+span{animation-delay:.1s}@keyframes bar-fill{0%{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){.net-worth-line,.net-worth-area,.today-progress span,.investment-mix-bar span,.fire-progress-bar span{animation:none}}.button.primary.is-saved{color:#fff;background:#1f7048;border-color:#1f7048;animation:.4s ease-out saved-pop}@keyframes saved-pop{35%{transform:scale(1.05)}}button.today-card{transition:transform .18s,box-shadow .18s,border-color .18s}button.today-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px #0f172a14}.modal-backdrop{animation:.18s ease-out backwards fade-in}.modal-backdrop>section,.modal-backdrop>div,.modal-backdrop>form{animation:.22s cubic-bezier(.2,.8,.2,1) backwards dialog-in}.today-info-popup{transform-origin:100% 0;animation:.18s ease-out backwards dialog-in}@keyframes dialog-in{0%{opacity:0;transform:scale(.96)translateY(4px)}}@media (prefers-reduced-motion:reduce){.button.primary.is-saved,.modal-backdrop,.modal-backdrop>section,.modal-backdrop>div,.modal-backdrop>form,.today-info-popup{animation:none}button.today-card{transition:none}button.today-card:hover{transform:none}}.flash-up,.flash-down{border-radius:4px;animation:none;display:inline-block}.flash-up{animation-name:flash-up}.flash-down{animation-name:flash-down}@keyframes flash-up{0%,30%{color:#1f7048;background:#1f70482e}}@keyframes flash-down{0%,30%{color:#a23d35;background:#a23d3529}}.empty-state{text-align:center;justify-items:center;gap:.45rem;padding:1.6rem 1rem 1.4rem;display:grid;position:relative}.empty-state.compact{padding:1rem .75rem}.empty-state-art{width:120px;height:96px}.empty-state.compact .empty-state-art{width:96px;height:76px}.empty-state-icon{position:absolute;top:calc(1.6rem + 28px)}.empty-state.compact .empty-state-icon{top:calc(1rem + 22px)}.empty-state h3{font-size:var(--text-md);margin:.2rem 0 0}.empty-state p{max-width:34rem;color:var(--muted);font-size:var(--text-sm);margin:0}.empty-shadow{fill:#0f172a0f}.empty-disc{fill:#eef4f0}.empty-dot{fill:#d7e6dc}.empty-spark{fill:var(--gold)}.empty-state .empty-state-icon{color:#2f7d4f}.empty-state.tone-gold .empty-disc{fill:#fdf6e3}.empty-state.tone-gold .empty-state-icon{color:var(--gold-dark)}.empty-state.tone-navy .empty-disc{fill:#eaf0fb}.empty-state.tone-navy .empty-state-icon{color:var(--navy)}.empty-state-art,.empty-state-icon{animation:4s ease-in-out infinite empty-float}@keyframes empty-float{50%{transform:translateY(-3px)}}.today-greeting{font-size:var(--text-md);margin:0}.today-greeting strong{color:var(--ink)}.reviewer-crew{flex-wrap:wrap;align-items:center;gap:.6rem .9rem;margin-top:.75rem;display:flex}.reviewer-avatars{margin:0;padding:0;list-style:none;display:flex}.reviewer-avatar{color:#fff;opacity:.55;border:2px solid #fff;border-radius:50%;place-items:center;width:2.1rem;height:2.1rem;margin-left:-.35rem;font-size:.68rem;font-weight:700;transition:transform .25s,opacity .25s,box-shadow .25s;display:inline-grid}.reviewer-avatar:first-child{margin-left:0}.reviewer-avatar.active{z-index:1;opacity:1;transform:translateY(-3px)scale(1.12);box-shadow:0 0 0 3px #e8c97a8c}.reviewer-graham{background:#1b2b4b}.reviewer-buffett{background:#1f7048}.reviewer-munger{background:#6b4f2a}.reviewer-lynch{background:#2563a8}.reviewer-druckenmiller{background:#7c3a5c}.reviewer-line{color:var(--label);font-size:var(--text-sm);margin:0;animation:.3s ease-out backwards page-in}@media (prefers-reduced-motion:reduce){.flash-up,.flash-down,.empty-state-art,.empty-state-icon,.reviewer-line{animation:none}.reviewer-avatar{transition:none}}.info-popover{display:inline-flex;position:relative}.today-info-popup.info-popup-left{transform-origin:0 0;left:0;right:auto}.cash-field{color:var(--label);font:500 var(--text-sm)/1.4 var(--font-inter), var(--font-armenian), sans-serif;flex-direction:column;gap:.4rem;display:flex}.cash-field-label{justify-content:flex-start}.today-info-popup .cash-summary{color:var(--ink);gap:.15rem;display:grid}.today-info-popup .cash-summary.short>span:last-child{color:#a23d35}.portfolio-page-head{align-items:center}.portfolio-price-date{color:var(--label);font-size:var(--text-xs);font-variant-numeric:tabular-nums;background:#eef2f7;border-radius:999px;margin-left:.75rem;margin-right:auto;padding:.2rem .6rem;font-weight:600}#bonds-title .info-popover{margin-left:.15rem}.panel.budget-rule{min-height:0}.budget-rule-head h2{font-size:var(--text-md);align-items:center;gap:.3rem;margin:0 0 .2rem;display:flex}.budget-rule-head p{font-size:var(--text-sm);margin:0}.budget-rows{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:.9rem 0 0;padding:0;list-style:none;display:grid}.budget-row{align-content:start;gap:.45rem;display:grid}.budget-row-title{gap:.1rem;display:grid}.budget-row-title .muted{font-size:var(--text-xs)}.budget-bar{background:#eef2f7;border-radius:999px;height:10px;position:relative}.budget-bar-actual{border-radius:inherit;transform-origin:0;animation:.9s cubic-bezier(.2,.8,.2,1) both bar-fill;position:absolute;inset:0 auto 0 0}.budget-needs .budget-bar-actual{background:var(--navy)}.budget-wants .budget-bar-actual{background:var(--gold-dark)}.budget-savings .budget-bar-actual{background:#2f7d4f}.budget-bar-ideal{background:var(--ink);border-radius:2px;width:2px;margin-left:-1px;position:absolute;top:-4px;bottom:-4px}.budget-row-numbers{font-size:var(--text-sm);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:space-between;gap:.2rem .6rem;display:flex}.budget-row-numbers .positive{color:#1f7048}.budget-row-numbers .negative{color:#a23d35}@media (max-width:800px){.budget-rows{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.budget-bar-actual{animation:none}}.rotating-messages{gap:.7rem;max-width:40rem;display:grid}.rotating-message{color:#d7e6d2;min-height:4.8em;margin:0;font-size:1.05rem;line-height:1.6;animation:.6s ease-out backwards message-in}@keyframes message-in{0%{opacity:0;transform:translateY(8px)}}.rotating-dots{gap:.45rem;display:flex}.rotating-dots button{cursor:pointer;background:#ffffff4d;border:0;border-radius:999px;width:8px;height:8px;padding:0;transition:width .3s,background .3s}.rotating-dots button.active{background:var(--gold);width:22px}@media (prefers-reduced-motion:reduce){.rotating-message{animation:none}.rotating-dots button{transition:none}}.simple-page.growth-shell{width:min(1080px,100%);padding-top:.5rem}.growth-page{gap:1rem;padding-top:1.25rem;display:grid}.growth-heading h1{align-items:center;gap:.3rem;margin:0 0 .2rem;display:flex}.growth-heading p{margin:0}.panel.growth-card{background:#f6f7f9;border-radius:22px;min-height:0;padding:0;overflow:visible}.growth-summary{border-bottom:1px solid var(--line);padding:1.5rem 1.75rem 1.2rem}.growth-label{color:var(--label);font-size:var(--text-sm);font-weight:600;display:block}.growth-future{font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:.15rem 0 1rem;font-size:clamp(2rem,4vw,2.75rem);font-weight:800;display:block}.growth-split{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding-top:1rem;display:grid}.growth-split strong{font-size:var(--text-xl);font-variant-numeric:tabular-nums}.growth-split .positive{color:#2f9e57}.growth-legend{border-bottom:1px solid var(--line);color:var(--label);font-size:var(--text-sm);gap:1.5rem;padding:.9rem 1.75rem;display:flex}.growth-legend span{align-items:center;gap:.45rem;display:inline-flex}.growth-dot{border-radius:50%;width:12px;height:12px;display:inline-block}.growth-dot.value{background:#3b6fe0}.growth-dot.contributed{background:#4b5563}.growth-chart{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr);gap:.6rem;padding:1.4rem 1.75rem 2.2rem 1rem;display:grid}.growth-y-axis{min-width:3.2rem;height:280px;color:var(--label);font-size:var(--text-xs);font-variant-numeric:tabular-nums;position:relative}.growth-y-axis span{white-space:nowrap;position:absolute;right:0;transform:translateY(-50%)}.growth-plot{position:relative}.growth-plot svg{cursor:crosshair;width:100%;height:280px;display:block;overflow:visible}.growth-grid{stroke:#e7e9ee;stroke-width:1px;vector-effect:non-scaling-stroke}.growth-line{fill:none;stroke:#3b6fe0;stroke-width:3px;vector-effect:non-scaling-stroke;stroke-linejoin:round}.growth-contributed{fill:none;stroke:#8a8f98;stroke-width:1.5px;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.growth-cursor{stroke:#9aa3b2;stroke-width:1px;vector-effect:non-scaling-stroke}.growth-point{pointer-events:none;background:#fff;border:3px solid #3b6fe0;border-radius:50%;width:12px;height:12px;margin:-6px 0 0 -6px;position:absolute}.growth-tip{z-index:2;border:1px solid var(--line);font-size:var(--text-sm);white-space:nowrap;pointer-events:none;font-variant-numeric:tabular-nums;background:#fff;border-radius:8px;gap:.1rem;margin-left:12px;padding:.5rem .65rem;display:grid;position:absolute;top:0;box-shadow:0 8px 20px #0f172a1a}.growth-tip.left{transform:translate(calc(-100% - 24px))}.growth-x-axis{height:1rem;color:var(--label);font-size:var(--text-xs);margin-top:.4rem;position:relative}.growth-x-axis span{white-space:nowrap;position:absolute;transform:translate(-50%)}.growth-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem 2.5rem;padding:1.4rem 1.75rem 1rem;display:grid}.growth-control{gap:.5rem;display:grid}.growth-control-label{color:var(--label);font-weight:600}.growth-control-row{grid-template-columns:minmax(0,1fr) 8.5rem;align-items:center;gap:.5rem 1rem;display:grid}.growth-control-row input[type=range]{accent-color:#3b6fe0;width:100%}.growth-control-row input[type=text]{text-align:right;font-variant-numeric:tabular-nums;padding:.4rem .6rem;font-weight:700}.growth-value{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.growth-use{font-size:var(--text-xs);grid-column:1/-1;justify-self:start}.growth-note{font-size:var(--text-xs);margin:0;padding:0 1.75rem 1.4rem}@media (max-width:760px){.growth-controls,.growth-split{grid-template-columns:minmax(0,1fr)}.growth-chart{padding-left:.5rem;padding-right:1rem}}.simple-page.growth-shell{width:min(70%,1000px);min-width:min(640px,100%);padding:.25rem 0 1rem}.growth-page{gap:.5rem;padding-top:.5rem}.growth-heading h1{font-size:var(--text-xl);margin:0}.growth-heading p{font-size:var(--text-sm)}.growth-summary{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"label split""future split";align-items:end;gap:0 2rem;padding:.9rem 1.4rem .8rem;display:grid}.growth-summary>.growth-label{grid-area:label}.growth-future{grid-area:future;margin:0;font-size:clamp(1.6rem,3vw,2.2rem)}.growth-split{border-top:0;grid-area:split;gap:1rem;padding-top:0}.growth-split strong{font-size:var(--text-lg)}.growth-legend{padding:.5rem 1.4rem}.growth-chart{--growth-chart-height:clamp(140px, calc(100vh - 560px), 260px);padding:.7rem 1.4rem 1.6rem .6rem}.growth-y-axis,.growth-plot svg{height:var(--growth-chart-height)}.growth-controls{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem 1.25rem;padding:.8rem 1.4rem .4rem}.growth-control{gap:.3rem}.growth-control-label{font-size:var(--text-sm)}.growth-control-row{grid-template-columns:minmax(0,1fr);gap:.3rem}.growth-control-row .growth-value,.growth-control-row input[type=text]{text-align:left}.growth-control-row input[type=text]{width:100%;padding:.25rem .5rem}.growth-note{padding:0 1.4rem .8rem}@media (max-width:1100px){.simple-page.growth-shell{width:100%;min-width:0}.growth-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.growth-summary{grid-template-columns:minmax(0,1fr);grid-template-areas:"label""future""split"}.growth-controls{grid-template-columns:minmax(0,1fr)}}.app-shell:has(.growth-shell){padding-bottom:1rem}.growth-use{white-space:nowrap}.growth-control{grid-template-rows:auto}.growth-control-label{white-space:nowrap;justify-content:space-between;align-items:baseline;gap:.5rem;min-height:1.4rem;display:flex}.growth-control-label .growth-use{text-overflow:ellipsis;font-size:var(--text-xs);overflow:hidden}.growth-control-row{grid-template-rows:2.1rem auto;align-items:center}.growth-control-row input[type=range]{order:2}.growth-control-row input[type=text],.growth-control-row .growth-value{order:1;align-items:center;height:2.1rem;display:flex}.fire-growth-link{font-size:var(--text-sm);white-space:nowrap;align-items:center;gap:.35rem;margin-left:auto;display:inline-flex}.growth-control,.growth-control-row{min-width:0}.growth-control-row input{box-sizing:border-box;min-width:0}.growth-control-label{overflow:hidden}.growth-control-label .growth-use{flex:0 auto;min-width:0}.investor-quote{z-index:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a1e1459;border:1px solid #e8c97a8c;border-radius:14px;grid-template-columns:72px minmax(0,1fr);grid-template-areas:"art quote""art author";align-items:center;gap:.15rem .9rem;width:min(380px,52%);margin-top:2rem;padding:.85rem 1.1rem;animation:.9s ease-out .4s backwards quote-in;display:grid;position:relative;box-shadow:0 14px 30px #00000040}.investor-portrait{object-fit:cover;object-position:50% 20%;border:2px solid var(--gold);border-radius:50%;grid-area:art;width:72px;height:72px;box-shadow:0 0 0 4px #e8c97a2e}.investor-quote blockquote{color:#f4f1e6;grid-area:quote;margin:0;font-size:.95rem;font-style:italic;line-height:1.45}.investor-quote figcaption{color:var(--gold);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;grid-area:author;font-weight:700}.investor-quote figcaption:before{content:"— "}@keyframes quote-in{0%{opacity:0;transform:translateY(10px)}}@media (max-width:1160px){.investor-quote{width:min(420px,100%)}}@media (prefers-reduced-motion:reduce){.investor-quote{animation:none}}.password-rules{font-size:var(--text-xs);margin-top:-.5rem}@media (min-width:1161px){.login-copy{padding-block:clamp(1.25rem,5vh,5rem)}.login-copy h1{font-size:clamp(2.2rem,min(5.4vw,9.5vh),5.2rem)}html:lang(hy) .login-copy h1{font-size:clamp(2rem,min(4.1vw,7vh),4rem)}.login-copy .rotating-message{min-height:4.2em;font-size:clamp(.92rem,1.9vh,1.05rem)}.login-copy .investor-quote{margin-top:clamp(.9rem,2.6vh,2rem)}}@media (min-width:1161px) and (max-height:880px){.login-bills{width:clamp(180px,18vw,280px);bottom:1.5rem}}.brand{align-items:center;gap:.5rem;display:inline-flex}.brand-coin{flex:none;width:1.6rem;height:1.6rem}.brand-name{letter-spacing:0;text-transform:none;font-size:.95rem;font-weight:700}.brand-name .brand-accent{color:var(--gold-dark)}.app-header .brand .brand-name,.login-copy .brand .brand-name{color:#fff}.app-header .brand .brand-accent,.login-copy .brand .brand-accent{color:var(--gold)}.app-header .brand span.brand-name{opacity:1;margin-left:0;font-size:.95rem;font-weight:700}.app-header .brand span.brand-accent{font-size:inherit;font-weight:inherit;opacity:1;margin-left:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
