@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/barlow-condensed-600.ttf) format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/dm-sans-400.ttf) format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:600 700;font-display:swap;src:url(/fonts/dm-sans-600.ttf) format("truetype")}:root{--bg-dark: #222222;--bg-panel: #292929;--bg-card: #303030;--text-primary: #f5f4ef;--text-secondary: #c4c5bf;--text-muted: #c4c5bf;--accent-primary: #bdebf0;--accent-glow: transparent;--focus-ring: #fbbf24;--success: #b8dcc3;--success-glow: rgba(184, 220, 195, .3);--danger: #ff9386;--danger-glow: rgba(250, 102, 86, .3);--danger-text: #ff9386;--warning: #f8d568;--ai-color: #b5afff;--ai-glow: rgba(121, 113, 249, .5);--border-color: rgba(255, 255, 255, .08);--control-border: #a0a299;--glass-bg: rgba(255, 255, 255, .03);--glass-border: rgba(255, 255, 255, .05);--font-main: "DM Sans", sans-serif;--font-display: "Barlow Condensed", "Arial Narrow", sans-serif;--coral: #fa6656;--violet: #7971f9;--yellow: #f8d568;--mint: #c4d5c9;--ink: #222222;--paper: #f5f4ef;--quiet: #c4c5bf;--ink-deep: #111111;--ink-soft: #30312c;--surface-3: #333530;--surface-4: #3a3b36;--surface-hover: #41433e;--line: #44453f;--line-strong: #55574e;--outline: #6f7269;--outline-strong: #8d9189;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 22px;--radius-2xl: 28px;--radius-pill: 999px;--text-2xs: .72rem;--text-xs: .78rem;--text-sm: .8125rem;--text-md: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.3rem;--text-2xl: 1.5rem;--text-3xl: 1.65rem;--text-4xl: 1.8rem;--text-5xl: 2rem;--text-display-sm: 2.7rem;--text-display: 3rem}*{margin:0;padding:0;box-sizing:border-box}button,input,select,textarea{font-family:var(--font-main)}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea){font-size:var(--text-base)}:where(a[href]:not([aria-disabled=true]):not([hidden]):not([inert]),button:not(:disabled):not([aria-disabled=true]):not([hidden]):not([inert]),input:not([type=hidden]):not(:disabled):not([aria-disabled=true]):not([hidden]):not([inert]),select:not(:disabled):not([aria-disabled=true]):not([hidden]):not([inert]),textarea:not(:disabled):not([aria-disabled=true]):not([hidden]):not([inert]),summary:not([aria-disabled=true]):not([hidden]):not([inert]),[tabindex]:not([tabindex="-1"]):not([aria-disabled=true]):not([hidden]):not([inert]),[role=button]:not([aria-disabled=true]):not([hidden]):not([inert]),[role=tab]:not([aria-disabled=true]):not([hidden]):not([inert]),[role=link]:not([aria-disabled=true]):not([hidden]):not([inert]),[role=checkbox]:not([aria-disabled=true]):not([hidden]):not([inert]),[role=switch]:not([aria-disabled=true]):not([hidden]):not([inert])):focus-visible{outline-color:var(--focus-ring);outline-style:solid;outline-width:3px;outline-offset:3px}body{font-family:var(--font-main);background-color:var(--bg-dark);color:var(--text-primary);line-height:1.6;overflow-x:hidden;min-height:100vh}.skip-link{position:absolute;top:.75rem;left:.75rem;z-index:10000;padding:.75rem 1rem;border:2px solid #ffffff;border-radius:var(--radius-sm);background:#222;color:#fff;font-weight:700;text-decoration:none;transform:translateY(calc(-100% - 1rem))}.skip-link:focus,.skip-link:focus-visible{transform:translateY(0);outline:3px solid #fbbf24;outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#app{display:flex;min-height:100vh}.sidebar{width:260px;background:var(--bg-panel);border-right:1px solid var(--border-color);padding:2rem;display:flex;flex-direction:column;gap:2rem;position:fixed;height:100vh;z-index:10}.logo{font-size:var(--text-2xl);font-weight:700;display:flex;align-items:center;gap:.75rem;color:var(--text-primary)}.logo-icon{width:32px;height:32px;background:linear-gradient(135deg,var(--accent-primary),var(--ai-color));border-radius:var(--radius-sm);display:grid;place-items:center;box-shadow:0 0 15px var(--accent-glow)}.nav-links{list-style:none;display:flex;flex-direction:column;gap:.5rem}.nav-item{padding:.75rem 1rem;border-radius:var(--radius-md);cursor:pointer;color:var(--text-secondary);transition:all .3s ease;display:flex;align-items:center;gap:.75rem;font-weight:500;text-decoration:none}button.nav-item{width:100%;border:0;background:transparent;font:inherit;text-align:left}.desktop-nav{min-height:0;margin:-6px;padding:6px;width:calc(100% + 12px);overflow-y:auto;overflow-x:hidden}.mobile-primary-nav,.mobile-more-surface,.mobile-current-destination{display:none}.mobile-more-surface[hidden]{display:none!important}.nav-item:hover,.nav-item.active{background:var(--glass-bg);color:var(--text-primary);border:1px solid var(--glass-border)}.nav-item.active{border-left:3px solid var(--accent-primary)}.nav-group-header{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.04em;opacity:.85}.nav-group-header .nav-group-chevron{margin-left:auto;transition:transform .2s ease}.nav-group-header .nav-group-chevron.open{transform:rotate(180deg)}.nav-group-child{padding-left:1.9rem;font-size:var(--text-md)}.main-content{flex:1;min-width:0;margin-left:260px;padding:2rem;max-width:1600px;padding-left:max(2rem,env(safe-area-inset-left));padding-right:max(2rem,env(safe-area-inset-right))}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.app-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid transparent;flex-wrap:wrap;gap:.75rem;padding-top:env(safe-area-inset-top)}.header-brand{display:flex;align-items:center;gap:.75rem;font-size:var(--text-xl);font-weight:700;color:var(--text-primary)}.header-actions{display:flex;gap:1rem;align-items:center;margin-left:auto;flex-wrap:wrap;justify-content:flex-end;min-width:0}@media(max-width:400px){.header-actions{gap:.5rem}}.app-header button.icon-btn{appearance:none;font:inherit;color:inherit;border:0;background:transparent;padding:0}.mobile-only{display:none}@media(max-width:1024px){.mobile-only{display:flex}.app-header{border-bottom:1px solid var(--border-color);margin-bottom:2rem}}.greeting h1{font-size:var(--text-4xl);font-weight:600}.greeting p{color:var(--text-secondary);font-size:var(--text-base)}.user-profile{display:flex;align-items:center;gap:1rem}.avatar{width:40px;height:40px;border-radius:50%;background:var(--glass-bg);border:1px solid var(--border-color);overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-header{width:36px;height:36px}.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto auto;gap:1.5rem}.span-2{grid-column:span 2}.span-full{grid-column:1 / -1}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .3s ease,box-shadow .3s ease}.card:hover{transform:translateY(-2px);box-shadow:0 10px 30px -10px #00000080;border-color:#ffffff26}.stat-card{display:flex;flex-direction:column;gap:.5rem}.stat-header{display:flex;justify-content:space-between;align-items:center;color:var(--text-secondary);font-size:var(--text-md)}.stat-value{font-size:var(--text-5xl);font-weight:700;color:var(--text-primary)}.stat-trend{font-size:var(--text-md);display:flex;align-items:center;gap:.25rem}.trend-up{color:var(--success)}.trend-down{color:var(--danger)}.ai-section{grid-column:span 2;background:var(--bg-card);border:1px solid rgba(121,113,249,.2);position:relative;overflow:hidden}.ai-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;color:var(--ai-color);font-weight:600}.ai-content{font-size:var(--text-lg);color:var(--text-primary);line-height:1.7}.ai-typing-cursor:after{content:"|";animation:blink 1s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.chart-section{grid-column:span 2;height:350px}canvas{max-width:100%}.transactions-section{grid-column:span 1;grid-row:span 2;display:flex;flex-direction:column}.section-title{font-size:var(--text-lg);font-weight:600;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}.transaction-list{display:flex;flex-direction:column;gap:1rem;overflow-y:auto;max-height:600px;padding-right:.5rem}.transaction-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:var(--glass-bg);border-radius:var(--radius-md);border:1px solid var(--border-color);transition:background .2s}.transaction-item:hover{background:#ffffff0d}.t-icon{width:40px;height:40px;border-radius:var(--radius-md);display:grid;place-items:center;font-size:var(--text-lg);background:#ffffff0d}.t-info{flex:1;margin-left:1rem}.t-name{font-weight:500;color:var(--text-primary)}.t-date{font-size:var(--text-sm);color:var(--text-secondary)}.t-amount{font-weight:600}.amount-pos{color:var(--success)}.amount-neg{color:var(--text-primary)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-xs)}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@media(max-width:1024px){.dashboard-grid{grid-template-columns:minmax(0,1fr)}.ai-section,.chart-section,.transactions-section,.span-2,.span-full{grid-column:span 1}.sidebar{width:100%;max-width:100vw;height:calc(76px + env(safe-area-inset-bottom));bottom:0;top:auto;left:0;padding:.5rem;padding-bottom:calc(.5rem + env(safe-area-inset-bottom));padding-left:max(.5rem,env(safe-area-inset-left));padding-right:max(.5rem,env(safe-area-inset-right));border-right:none;border-top:1px solid var(--border-color);background:#222222fa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;overflow:visible}.logo,.desktop-nav{display:none!important}.mobile-primary-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.25rem;width:100%}.mobile-primary-nav .nav-item{min-width:0;min-height:58px;justify-content:center;flex-direction:column;gap:.2rem;padding:.35rem .2rem;font-size:var(--text-2xs);text-align:center;border-radius:var(--radius-sm)}.mobile-primary-nav .nav-item span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-primary-nav .nav-item i{width:20px;height:20px}.mobile-primary-nav .nav-item.active{border-left:none;border-top:2px solid var(--accent-primary);background:transparent}.mobile-current-destination{position:fixed;right:.5rem;bottom:84px;z-index:1001;display:inline-flex;min-height:44px;max-width:calc(100vw - 1rem);padding:.55rem .8rem;border:1px solid var(--accent-primary);border-radius:var(--radius-md);background:var(--bg-panel);box-shadow:0 -8px 24px #00000059}.mobile-more-surface{position:fixed;left:.5rem;right:.5rem;bottom:84px;display:flex;flex-direction:column;gap:.25rem;max-height:calc(100dvh - 104px);padding:1rem;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-panel);box-shadow:0 -16px 48px #00000073}.mobile-more-surface .nav-item{flex:0 0 auto;min-height:44px}.mobile-more-header{position:sticky;top:-1rem;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;background:var(--bg-panel)}.mobile-more-close{min-height:44px;padding:.5rem .9rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--glass-bg);color:var(--text-primary);font:inherit;cursor:pointer}body.mobile-more-open{overflow:hidden}.main-content{min-width:0;margin-left:0;padding:1rem;padding-bottom:calc(144px + env(safe-area-inset-bottom));padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));width:100%;max-width:100vw;overflow-x:hidden}}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.page-header>*{min-width:0}#main-content button,#main-content summary,#main-content select,#main-content textarea,#main-content input:not([type=checkbox]):not([type=radio]):not([type=range]),.app-header button,.modal button,.modal select,.modal input:not([type=checkbox]):not([type=radio]){min-height:24px}#main-content .icon-btn,#main-content .action-btn,.app-header .icon-btn,.modal .icon-btn{min-width:24px}@media(max-width:1024px){#main-content button,#main-content summary,#main-content select,#main-content textarea,#main-content input:not([type=checkbox]):not([type=radio]):not([type=range]),#main-content a.nav-item,#main-content a.avatar,#main-content a.btn-primary,#main-content a.btn-secondary,#main-content a.btn-outline,.app-header button,.app-header a.avatar,.modal button,.modal select,.modal textarea,.modal input:not([type=checkbox]):not([type=radio]){min-height:44px}#main-content .icon-btn,#main-content .action-btn,#main-content .btn-secondary,.app-header .icon-btn,.modal .icon-btn{min-width:44px;display:inline-flex;align-items:center;justify-content:center}.avatar-header{width:44px;height:44px}#main-content input[type=range]{min-height:44px}.toggle-switch{min-width:44px;min-height:44px;display:inline-flex;align-items:center}#main-content div:has(>[aria-label*=delete i]),#main-content div:has(>[title*=delete i]),#main-content div:has(>[aria-label*=remove i]),#main-content div:has(>[title*=remove i]){gap:.5rem!important}.row-actions{gap:.5rem}}.chart-data{margin-top:1rem;border-top:1px solid var(--border-color);padding-top:.5rem}.chart-data-summary{margin:.25rem 0 .75rem;color:var(--text-secondary);font-size:var(--text-sm)}.chart-data-scroll{overflow-x:auto;max-height:320px;overflow-y:auto;overscroll-behavior:contain}.chart-data table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.chart-data th,.chart-data td{padding:.4rem .6rem;text-align:right;white-space:nowrap;border-bottom:1px solid var(--glass-border)}.chart-data thead th{position:sticky;top:0;background:var(--bg-panel);color:var(--text-secondary);font-weight:600}.chart-data th[scope=row]{text-align:left;font-weight:500}.chat-status{min-height:1.25rem;margin:.25rem 0;padding:0 .25rem;color:var(--text-secondary);font-size:var(--text-md)}.message-source{display:block;margin-top:.4rem;color:var(--text-secondary);font-size:var(--text-2xs)}.chat-retry{margin:.25rem 0 .75rem;padding:.75rem 1rem;border:1px solid var(--border-color);border-left:3px solid var(--warning);border-radius:var(--radius-md);background:var(--glass-bg)}.chat-retry p{margin:0 0 .6rem;color:var(--text-secondary);font-size:var(--text-md)}.toast-action{margin-top:.5rem;padding:.4rem .85rem;min-height:44px;border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--glass-bg);color:var(--text-primary);font:inherit;font-weight:600;cursor:pointer}.toast-action:hover{background:#ffffff14}.setting-status{margin:-.5rem 0 1rem;color:var(--text-secondary);font-size:var(--text-sm);font-style:italic}.bank-list{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.5rem}.bank-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.75rem 1rem;border:1px solid var(--glass-border);border-radius:var(--radius-md);background:#ffffff08}.bank-identity{display:flex;align-items:flex-start;gap:.75rem;min-width:0}.bank-identity .lucide{width:20px;height:20px;margin-top:.15rem;flex-shrink:0;color:var(--text-secondary)}.bank-name{margin:0;font-weight:600;overflow-wrap:anywhere}.bank-meta{margin:.15rem 0 0;font-size:var(--text-sm);color:var(--text-secondary)}.bank-problem{margin:.45rem 0 0;padding-left:.65rem;border-left:2px solid var(--yellow);font-size:var(--text-sm);line-height:1.45;color:var(--text-primary);max-width:62ch}.bank-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.bank-action{display:inline-flex;align-items:center;gap:.4rem;flex-shrink:0}.bank-action .lucide{width:16px;height:16px}.bank-disconnect{color:var(--danger-text);border-color:#f8717166}.bank-disconnect:hover{background:#f871711f;border-color:var(--danger-text)}.disclosure{margin-top:.75rem}.disclosure>summary{cursor:pointer;color:var(--text-secondary);font-size:var(--text-sm);font-weight:600;padding:.5rem 0;min-height:44px;display:flex;align-items:center;gap:.4rem}.disclosure>summary:hover{color:var(--text-primary)}.pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:1rem;margin:1.25rem 0 2rem}.pagination-btn{width:auto;display:inline-flex;align-items:center;gap:.4rem;min-height:44px;padding:.5rem 1rem}.pagination-btn[disabled]{opacity:.45;cursor:not-allowed}.pagination-status{color:var(--text-secondary);font-size:var(--text-md)}.row-actions{flex-wrap:wrap}.row-actions>*{flex:0 0 auto}.transactions-table-container .row-actions{flex-wrap:nowrap;white-space:nowrap}.filters-bar{display:flex;gap:1rem;margin-bottom:1.5rem;overflow-x:auto;padding-bottom:.5rem}.filter-chip{background:var(--bg-card);border:1px solid var(--border-color);padding:.5rem 1rem;border-radius:var(--radius-xl);color:var(--text-secondary);font-size:var(--text-md);cursor:pointer;transition:background-color .2s,color .2s,border-color .2s;white-space:nowrap}.filter-chip:hover,.filter-chip.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.filter-chip.active{background:#c4d5c9;border-color:#c4d5c9}.account-switcher{display:flex;gap:.5rem;overflow-x:auto;white-space:nowrap}.transactions-table-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow-x:auto}.t-table{width:100%;border-collapse:collapse}.t-table th{text-align:left;padding:1rem 1.5rem;color:var(--text-secondary);font-weight:500;font-size:var(--text-md);border-bottom:1px solid var(--border-color);background:#ffffff05}.t-table td{padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.t-table tr:last-child td{border-bottom:none}.t-table tr:hover{background:#ffffff05}.category-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .75rem;border-radius:var(--radius-md);font-size:var(--text-md);font-family:inherit;color:inherit;cursor:pointer;background:#ffffff0d;border:1px solid var(--border-color)}.table-sort-button{display:inline-flex;align-items:center;gap:.25rem;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.amount-sort-button{width:100%;justify-content:flex-end}.tab-btn,.settings-nav-item,.create-goal-card{font-family:inherit}button.settings-nav-item{width:100%;border:0;background:transparent;color:inherit;font:inherit;appearance:none;text-align:left}.confidence-dot{width:8px;height:8px;border-radius:50%}.conf-high{background:var(--success)}.conf-med{background:var(--yellow)}.conf-low{background:var(--danger)}.action-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem;border-radius:var(--radius-xs);transition:color .2s}.action-btn:hover{color:var(--text-primary);background:#ffffff1a}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100dvh;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:100;opacity:0;pointer-events:none;transition:opacity .3s;--dialog-inset-top: max(1rem, env(safe-area-inset-top));--dialog-inset-bottom: max(1rem, env(safe-area-inset-bottom));--dialog-inset-left: max(1rem, env(safe-area-inset-left));--dialog-inset-right: max(1rem, env(safe-area-inset-right));padding:var(--dialog-inset-top) var(--dialog-inset-right) var(--dialog-inset-bottom) var(--dialog-inset-left);overflow-y:auto;overscroll-behavior:contain}.modal-overlay.open{opacity:1;pointer-events:all}.modal{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:500px;max-width:100%;padding:2rem;transform:translateY(20px);transition:transform .3s;box-shadow:0 20px 50px #00000080;max-height:calc(100dvh - var(--dialog-inset-top, 1rem) - var(--dialog-inset-bottom, 1rem));overflow-y:auto;overscroll-behavior:contain}@media(max-width:420px){.modal{padding:1.25rem}}.modal-overlay.open .modal{transform:translateY(0)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.modal-title{font-size:var(--text-xl);font-weight:600}.form-group{margin-bottom:1.25rem}.form-label{display:block;margin-bottom:.5rem;color:var(--text-secondary);font-size:var(--text-md)}.form-input,.form-select{width:100%;background:var(--bg-dark);border:1px solid var(--control-border);padding:.75rem;border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-main)}.field-error{margin:.4rem 0 0;color:var(--danger-text);font-size:var(--text-md);line-height:1.4}[aria-invalid=true]{border-color:var(--danger-text)!important}.form-input::placeholder,.chat-input::placeholder,.search-input::placeholder{color:var(--text-muted);opacity:1}.form-input:focus,.form-select:focus{border-color:var(--accent-primary)}.btn-primary{background:var(--accent-primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;width:100%;transition:background .2s}.btn-primary:hover{background:#f8d568}.planning-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem}@media(min-width:900px){.planning-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}}.calendar-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem}.cal-day-header{text-align:center;color:var(--text-secondary);font-size:var(--text-md);padding-bottom:.5rem}.cal-day{aspect-ratio:1;border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:.5rem;position:relative;transition:background .2s;background:#ffffff05}.cal-day:hover{background:#ffffff0d}.cal-day.today{border-color:var(--accent-primary);background:#c4d5c91a}.cal-date{font-size:var(--text-md);color:var(--text-primary)}.cal-event{font-size:var(--text-2xs);margin-top:4px;padding:2px 4px;border-radius:var(--radius-xs);background:var(--glass-bg);border-left:2px solid var(--accent-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-event.bill{border-left-color:var(--danger)}.cal-event.income{border-left-color:var(--success)}.bills-panel{display:flex;flex-direction:column;gap:1rem}.bill-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;display:flex;align-items:center;gap:1rem}.bill-icon{width:48px;height:48px;border-radius:var(--radius-md);background:#ffffff0d;display:grid;place-items:center;font-size:var(--text-lg)}.bill-info{flex:1}.bill-name{font-weight:600;color:var(--text-primary)}.bill-due{font-size:var(--text-md);color:var(--text-secondary)}.bill-amount{font-weight:700;font-size:var(--text-lg)}.bill-status{font-size:var(--text-xs);padding:2px 8px;border-radius:var(--radius-md);margin-left:.5rem}.status-paid{background:#b8dcc333;color:var(--success)}.status-due{background:#fa665633;color:var(--danger)}.toast-container{position:fixed;bottom:2rem;right:2rem;display:flex;flex-direction:column;gap:1rem;z-index:100}.toast{background:var(--bg-panel);border:1px solid var(--border-color);border-left:4px solid var(--accent-primary);padding:1rem;border-radius:var(--radius-sm);width:300px;box-shadow:0 10px 30px #00000080;display:flex;gap:1rem;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-content h4{font-size:var(--text-base);margin-bottom:.25rem}.toast-content p{font-size:var(--text-md);color:var(--text-secondary)}.tabs-container{display:flex;gap:1rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border-color);padding-bottom:1px;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scroll-padding-inline:.5rem;padding-top:4px;margin-top:-4px}.tab-btn{background:transparent;border:none;color:var(--text-secondary);padding:.75rem 1.5rem;cursor:pointer;font-size:var(--text-base);font-weight:500;position:relative;transition:color .2s;flex:0 0 auto;white-space:nowrap}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:var(--accent-primary)}.tab-btn.active:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:var(--accent-primary);box-shadow:0 -2px 10px var(--accent-glow)}.goals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:1.5rem;margin-bottom:2rem}.goal-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;position:relative;overflow:hidden}.goal-icon-wrapper{width:48px;height:48px;border-radius:var(--radius-md);background:#c4d5c91a;color:var(--accent-primary);display:grid;place-items:center;margin-bottom:1rem}.goal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.goal-title{font-weight:600;font-size:var(--text-lg);margin-bottom:.25rem}.goal-target{font-size:var(--text-md);color:var(--text-secondary)}.progress-container{height:8px;background:#ffffff1a;border-radius:var(--radius-xs);overflow:hidden;margin-bottom:.75rem}.progress-bar{height:100%;background:var(--accent-primary);border-radius:var(--radius-xs);transition:width 1s ease-in-out;position:relative}.progress-bar:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transform:translate(-100%);animation:shimmer 2s infinite}@keyframes shimmer{to{transform:translate(100%)}}.goal-stats{display:flex;justify-content:space-between;font-size:var(--text-md);font-weight:500}.debt-planner-container{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:1.5rem}.debt-chart-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;min-height:400px;height:auto}.debt-controls{display:flex;flex-direction:column;gap:1.5rem}.control-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem}.strategy-toggle{display:flex;background:var(--bg-dark);padding:4px;border-radius:var(--radius-sm);margin-top:1rem}.strategy-btn{flex:1;padding:.5rem;text-align:center;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-md);transition:all .2s;color:var(--text-secondary)}.strategy-btn.active{background:var(--bg-panel);color:var(--text-primary);box-shadow:0 2px 4px #0003}.slider-container{margin-top:1.5rem}.slider-label{display:flex;justify-content:space-between;margin-bottom:.75rem;font-size:var(--text-md)}.range-slider{width:100%;-webkit-appearance:none;appearance:none;height:6px;background:#ffffff1a;border-radius:var(--radius-xs)}.range-slider::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;background:var(--accent-primary);border-radius:50%;cursor:pointer;box-shadow:0 0 10px var(--accent-glow);transition:transform .1s}.range-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.chat-container{display:flex;flex-direction:column;height:calc(100vh - 140px);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;position:relative}.chat-messages{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.chat-message{max-width:70%;padding:1rem;border-radius:var(--radius-md);font-size:var(--text-base);line-height:1.5;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-user{align-self:flex-end;background:var(--accent-primary);color:#fff;border-bottom-right-radius:2px}.message-ai{align-self:flex-start;background:var(--bg-panel);border:1px solid var(--border-color);color:var(--text-primary);border-bottom-left-radius:2px;display:flex;gap:.75rem}.ai-avatar-small{width:28px;height:28px;background:linear-gradient(135deg,var(--accent-primary),var(--ai-color));border-radius:var(--radius-sm);display:grid;place-items:center;flex-shrink:0}.chat-input-area{padding:1.5rem;background:var(--bg-panel);border-top:1px solid var(--border-color);display:flex;gap:1rem;align-items:center}.chat-input{flex:1;background:var(--bg-dark);border:1px solid var(--control-border);padding:1rem;border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-main);resize:none;height:56px}.chat-input:focus{border-color:var(--accent-primary)}.send-btn{width:48px;height:48px;border-radius:var(--radius-md);background:var(--accent-primary);color:#fff;border:none;display:grid;place-items:center;cursor:pointer;transition:background .2s}.send-btn:hover{background:#f8d568}.suggestion-chips{display:flex;gap:.5rem;padding:0 1.5rem 1rem;overflow-x:auto}.suggestion-chip{font:inherit;background:#ffffff0d;border:1px solid var(--border-color);padding:.5rem 1rem;border-radius:var(--radius-xl);font-size:var(--text-md);color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:all .2s}.suggestion-chip:hover{background:#c4d5c91a;color:var(--accent-primary);border-color:var(--accent-primary)}.settings-container{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem;max-height:none}@media(min-width:760px){.settings-container{grid-template-columns:250px minmax(0,1fr);height:calc(100dvh - 140px)}}@media(min-width:760px)and (max-height:520px){.settings-container{height:auto}}.settings-sidebar{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1rem;display:flex;flex-direction:column;gap:.5rem}.settings-nav-item{padding:.75rem 1rem;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;gap:.75rem;font-size:var(--text-base);transition:all .2s}.settings-nav-item:hover,.settings-nav-item.active{background:#ffffff0d;color:var(--text-primary)}.settings-nav-item.active{background:var(--accent-primary);color:#fff}.settings-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2rem;overflow-y:auto}.settings-section{margin-bottom:3rem}.settings-section h2{font-size:var(--text-xl);margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.05)}.setting-item:last-child{border-bottom:none}.setting-info h3{font-size:var(--text-base);font-weight:500;margin-bottom:.25rem}.setting-info p{font-size:var(--text-md);color:var(--text-secondary)}.toggle-switch{position:relative;width:50px;height:26px}.toggle-switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:var(--bg-dark);transition:.4s;border-radius:var(--radius-2xl);border:1px solid var(--border-color)}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:var(--text-secondary);transition:.4s;border-radius:50%}input:checked+.slider{background-color:var(--accent-primary);border-color:var(--accent-primary)}input:checked+.slider:before{transform:translate(24px);background-color:#fff}.btn-outline{background:transparent;border:1px solid var(--border-color);color:var(--text-primary);padding:.5rem 1rem;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s}.btn-outline:hover{border-color:var(--text-secondary);background:#ffffff0d}.btn-secondary{background:var(--glass-bg);border:1px solid var(--border-color);color:var(--text-primary);padding:.5rem 1rem;border-radius:var(--radius-sm);cursor:pointer;font-weight:500;transition:all .2s}.btn-secondary:hover{border-color:var(--text-secondary);background:#ffffff0f}.btn-danger{background:#fa66561a;border:1px solid rgba(250,102,86,.3);color:var(--danger);padding:.5rem 1rem;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s}.btn-danger:hover{background:#fa665633}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(135deg,var(--bg-dark) 0%,var(--bg-panel) 100%)}.auth-card{width:100%;max-width:420px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:2.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 25px 50px -12px #00000080}.auth-header{text-align:center;margin-bottom:2rem}.logo-icon-large{width:64px;height:64px;margin:0 auto 1.5rem;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 0 30px var(--accent-glow)}.logo-icon-large svg{width:100%;height:100%}.auth-header h1{font-size:var(--text-4xl);font-weight:700;margin-bottom:.5rem;background:linear-gradient(135deg,var(--accent-primary),var(--ai-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-header p{color:var(--text-secondary);font-size:var(--text-base)}.auth-form{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:1.5rem}.input-with-icon{position:relative}.input-with-icon i{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-muted)}.input-with-icon input{padding-left:2.75rem}.auth-error{padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:var(--text-md);text-align:center}.auth-error.error{background:#fa66561a;color:var(--danger);border:1px solid rgba(250,102,86,.2)}.auth-error.success{background:#b8dcc31a;color:var(--success);border:1px solid rgba(184,220,195,.2)}.btn-full{width:100%;justify-content:center}.btn-loading{display:inline-flex;align-items:center}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-divider{display:flex;align-items:center;gap:1rem;margin:1.5rem 0;color:var(--text-muted);font-size:var(--text-md)}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border-color)}.auth-social{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.75rem;margin-bottom:1.5rem}.btn-social{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-md);font-weight:500;cursor:pointer;transition:all .2s ease}.btn-social:hover{background:#ffffff0d;border-color:var(--accent-primary)}.btn-link{background:none;border:none;color:var(--accent-primary);font-weight:600;cursor:pointer;padding:0;font-size:inherit}.btn-link:hover{text-decoration:underline}.auth-footer{text-align:center;color:var(--text-secondary);font-size:var(--text-md)}.auth-local-mode{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color);text-align:center}.btn-text{background:none;border:none;color:var(--text-muted);font-size:var(--text-md);cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.btn-text:hover{color:var(--text-secondary)}.sync-status{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--glass-bg);border-radius:var(--radius-sm);font-size:var(--text-md);color:var(--text-secondary)}.sync-status.synced{color:var(--success)}.sync-status.syncing i{animation:spin 1s linear infinite}.sync-status.offline{color:var(--text-muted)}body.privacy-on .stat-value,body.privacy-on .t-amount,body.privacy-on .amount-display,body.privacy-on .goal-target,body.privacy-on .goal-stats,body.privacy-on .impact-value,body.privacy-on .balance-amount,body.privacy-on canvas{filter:blur(9px)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01s!important;animation-iteration-count:1!important;transition-duration:.01s!important;scroll-behavior:auto!important}}.present-root{position:fixed;inset:0;z-index:3000;display:flex;flex-direction:column;background:radial-gradient(1200px 700px at 15% -10%,rgba(196,213,201,.18),transparent 60%),radial-gradient(900px 500px at 85% 0%,rgba(121,113,249,.15),transparent 60%),var(--bg-primary, #0b1220);color:var(--text-primary);padding:clamp(1rem,3vw,2.5rem);overflow-y:auto}.present-chrome{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-shrink:0}.present-brand{font-size:var(--text-base);letter-spacing:.03em;color:var(--text-secondary);font-weight:500}.present-actions{display:flex;gap:.5rem}.present-actions button{background:var(--glass-bg);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-md);padding:.6rem 1.1rem;font:inherit;font-size:var(--text-md);cursor:pointer;min-height:44px}.present-actions button:hover{color:var(--text-primary);border-color:var(--accent-primary)}.present-slide{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:clamp(1.5rem,5vh,4rem) 0;gap:.75rem}.present-kicker{font-size:clamp(.95rem,2.2vw,1.35rem);color:var(--text-secondary);max-width:40ch;margin:0;line-height:1.5}.present-headline{font-size:clamp(3rem,13vw,9rem);font-weight:600;letter-spacing:-.03em;line-height:1;margin:.25rem 0;background:linear-gradient(135deg,var(--accent-primary),var(--ai-color));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.present-headline--small{font-size:clamp(1.5rem,5vw,3.25rem);background:none;-webkit-text-fill-color:currentColor;display:flex;flex-wrap:wrap;gap:.4em 1em;justify-content:center;align-items:baseline;line-height:1.35;color:var(--text-secondary);font-weight:400}.present-headline--small span{font-weight:600;margin-right:.25em}.present-you{color:var(--success)}.present-mech{color:var(--ai-color)}.present-neg{color:var(--danger)}.present-unit{font-size:.35em;-webkit-text-fill-color:var(--text-secondary);color:var(--text-secondary)}.present-sub{font-size:clamp(1rem,2.4vw,1.5rem);color:var(--text-secondary);max-width:44ch;margin:0;line-height:1.5}.present-split{display:flex;flex-wrap:wrap;gap:clamp(1.5rem,5vw,4rem);justify-content:center;margin:1.5rem 0 .5rem}.present-split div{display:flex;flex-direction:column;gap:.25rem}.present-split span{font-size:clamp(1.75rem,5vw,3.25rem);font-weight:600;line-height:1}.present-split em{font-style:normal;font-size:var(--text-md);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.present-split-total span{color:var(--accent-primary)}.present-footer{display:flex;align-items:center;justify-content:center;gap:1.25rem;flex-shrink:0;padding-top:1rem}.present-footer button{background:var(--glass-bg);border:1px solid var(--border-color);color:var(--text-primary);border-radius:50%;width:48px;height:48px;font-size:var(--text-2xl);line-height:1;cursor:pointer}.present-footer button[disabled]{opacity:.3;cursor:default}.present-dots{display:flex;gap:.6rem}.present-dots button{width:12px;height:12px;border-radius:50%;border:1px solid var(--border-color);background:transparent;padding:0;cursor:pointer}.present-dots button.is-active{background:var(--accent-primary);border-color:var(--accent-primary)}.present-fineprint{flex-shrink:0;text-align:center;font-size:var(--text-xs);line-height:1.5;color:var(--text-muted);max-width:70ch;margin:1rem auto 0}@media print{body.presenting .sidebar,body.presenting .app-header,.present-actions,.present-footer{display:none!important}.present-root{position:static;background:#fff!important;color:var(--ink-deep)!important;padding:0;page-break-inside:avoid}.present-headline{-webkit-text-fill-color:var(--ink-deep)!important;background:none!important;color:var(--ink-deep)!important;font-size:3.5rem}.present-kicker,.present-sub,.present-split em{color:var(--line)!important}.present-fineprint{color:var(--outline)!important}.present-you{color:#047857!important}.present-neg{color:#b91c1c!important}.present-mech{color:#6d28d9!important}}body{background-color:var(--bg-dark)}h1,.greeting h1{font-family:var(--font-display);font-size:clamp(2.5rem,4.8vw,4.6rem);line-height:1;font-weight:600;letter-spacing:-.025em;text-transform:uppercase;background:none;-webkit-text-fill-color:currentColor}h2,.section-title,.goal-title{font-family:var(--font-display);font-weight:600;letter-spacing:-.015em}h2,.section-title{font-size:var(--text-3xl);line-height:1.15}.greeting p{margin-top:.7rem;max-width:65ch}.greeting .eyebrow,.eyebrow{font-family:var(--font-main);font-size:var(--text-2xs);line-height:1.6;font-weight:600;letter-spacing:.14em}.greeting .eyebrow{margin:0 0 .65rem;color:var(--mint)}.sidebar{width:228px;padding:2rem 1.25rem;background-color:var(--ink);border-color:var(--line);gap:2.5rem}.logo{font-size:var(--text-5xl);letter-spacing:-.09em;gap:.6rem;line-height:1}.logo-icon{width:42px;height:42px;border-radius:0;background:none;box-shadow:none}.brand-dot{color:var(--coral)}.nav-links{gap:.3rem}.nav-item{border:1px solid transparent;border-radius:var(--radius-pill);padding:.85rem 1rem;font-size:var(--text-md);transition:background .15s,color .15s}.nav-item svg{width:19px;height:19px;flex-shrink:0}.nav-item.active,.nav-item:hover{background-color:var(--mint);border:1px solid var(--mint);color:var(--ink)}.desktop-nav .nav-item:nth-last-child(2){margin-top:2rem}.main-content{margin-left:228px;padding:1.5rem clamp(1.25rem,3vw,3rem) 3rem;max-width:1800px}.app-header{padding-bottom:1.3rem;border-bottom:1px solid var(--line);margin-bottom:2rem}.header-context{font-size:var(--text-2xs);letter-spacing:.13em;color:var(--text-secondary)}.header-actions{gap:.6rem}.icon-btn{display:inline-grid;place-items:center;border-radius:50%;background-color:var(--paper);color:var(--ink);border:0;width:44px;height:44px}.icon-btn:hover{background-color:var(--mint);color:var(--ink)}.avatar-header{width:44px;height:44px;background-color:var(--yellow);border-radius:50%}.header,.page-header{margin-bottom:1.4rem;gap:1rem}.overview-actions{display:flex;gap:.65rem;flex-wrap:wrap;margin:0 0 1.5rem}.btn-primary,.btn-outline,.btn-danger,.pill-link{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:var(--radius-pill);min-height:44px;padding:.7rem 1.2rem;font:600 var(--text-sm) var(--font-main);box-shadow:none;text-decoration:none;cursor:pointer}.btn-primary{background-color:var(--mint);color:var(--ink);border:1px solid var(--mint)}.btn-primary:hover{background-color:var(--yellow);color:var(--ink);transform:none;box-shadow:none}.btn-primary svg{width:18px;height:18px}.btn-outline{background-color:transparent;border:1px solid var(--outline-strong);color:var(--text-primary)}.btn-outline:hover{background-color:var(--surface-hover)}.filter-chip{border-radius:var(--radius-pill);background-color:var(--surface-3);color:var(--text-primary);border:1px solid var(--outline)}.filter-chip.active{background-color:var(--mint);color:var(--ink);border-color:var(--mint)}.card,.goal-card{background-color:var(--bg-card);border:0;border-radius:var(--radius-2xl);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:1.5rem}.card:hover,.goal-card:hover{box-shadow:none;transform:none}.dashboard-grid{gap:1rem}.stat-card{min-height:190px;display:flex;flex-direction:column;justify-content:space-between}.stat-header{text-transform:uppercase;font-family:var(--font-display);font-size:var(--text-xl);font-weight:500}.stat-value{font-size:clamp(1.8rem,3.2vw,3.2rem);line-height:1.1;letter-spacing:-.04em;font-weight:600;margin:1rem 0 .6rem;overflow-wrap:anywhere}.stat-trend{font-size:var(--text-xs)}.coral-card{background-color:var(--coral)}.yellow-card{background-color:var(--yellow)}.mint-card,.grow-card{background-color:var(--mint)}.violet-card{background-color:var(--violet)}.coral-card,.yellow-card,.mint-card,.violet-card,.grow-card,.ask-card{--focus-ring: var(--ink-deep)}.coral-card,.yellow-card,.mint-card,.violet-card,.grow-card{color:var(--ink);--text-secondary: var(--ink-soft);--text-primary: var(--ink);--text-muted: var(--ink-soft);--control-border: var(--ink-soft)}.coral-card .stat-header,.yellow-card .stat-header,.mint-card .stat-header,.stat-card .stat-trend{color:var(--text-primary)}.grow-card{display:flex;flex-direction:column;overflow:hidden;padding-bottom:1rem}.grow-card .section-title{font-size:var(--text-5xl);text-transform:uppercase}.grow-card img{display:block;width:100%;height:230px;object-fit:contain}.page-header.illustrated-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,32%);align-items:center;gap:1.5rem;padding:1.5rem 2rem;border-radius:var(--radius-2xl)}.illustrated-header .greeting{min-width:0}.illustrated-header h1{font-size:clamp(2.5rem,4.5vw,4.2rem)}.illustrated-header .section-illustration{display:block;width:100%;height:240px;object-fit:contain;pointer-events:none}.illustrated-header .header-actions{margin-top:1.25rem}.illustrated-header .header-actions{justify-content:flex-start}.illustrated-header .btn-primary{background:var(--ink);border-color:var(--ink);color:var(--paper)}.illustrated-header .btn-primary:hover{background:var(--surface-hover)}@media(max-width:600px){.page-header.illustrated-header{grid-template-columns:minmax(0,1fr);gap:.75rem;padding:1.25rem;border-radius:var(--radius-2xl)}.illustrated-header .section-illustration{height:180px}}.pill-link{background-color:var(--ink);color:var(--paper);border:0;width:100%;justify-content:space-between}.pill-link span{font-size:var(--text-lg)}.ask-card{background-color:var(--yellow);color:var(--ink);display:flex;flex-direction:column;gap:1rem}.ask-card h2{font-size:var(--text-display-sm);text-transform:uppercase}.ask-card p{font-size:var(--text-md)}.ask-card .pill-link{margin-top:auto}.category-canvas{position:relative;height:250px}.chart-section{min-width:0}.chart-data-summary{font-size:var(--text-2xs);line-height:1.5}.chart-data{margin-top:.75rem}.chart-data summary{font-size:var(--text-xs)}.transaction-item{border-color:var(--line-strong);gap:.75rem;padding:.8rem 0}.t-icon{background-color:var(--surface-hover);color:var(--mint);border-radius:var(--radius-lg);width:42px;height:42px}.t-name{font-size:var(--text-md)}.t-date{font-size:var(--text-2xs)}.t-amount{font-size:var(--text-base);font-variant-numeric:tabular-nums}.form-input,.select-input,.chat-input,.search-input{border-radius:var(--radius-lg);background-color:var(--ink)}.tabs-container{border-bottom:0;gap:.5rem;padding:.25rem 0 .75rem}.tab-btn{border-radius:var(--radius-pill);border:1px solid var(--outline-strong);color:var(--text-primary)}.tab-btn.active{background-color:var(--mint);color:var(--ink);border-color:var(--mint)}.goal-card:nth-child(3n+1){border-top:6px solid var(--violet)}.goal-card:nth-child(3n+2){border-top:6px solid var(--yellow)}.goal-card:nth-child(3n){border-top:6px solid var(--coral)}.progress-bar{background-color:var(--violet)}.modal,.search-modal{background-color:var(--bg-card);border:1px solid var(--outline-strong);border-radius:var(--radius-2xl);box-shadow:0 20px 80px #0006;-webkit-backdrop-filter:none;backdrop-filter:none}.modal-title{font-family:var(--font-display);font-size:var(--text-4xl);text-transform:uppercase}.chat-container{background-color:var(--bg-panel);border:0;border-radius:var(--radius-2xl)}.message-ai .message-content{background-color:var(--surface-hover);border:0;border-radius:var(--radius-xs) var(--radius-xl) var(--radius-xl)}.message-user .message-content{background-color:var(--mint);color:var(--ink);border-radius:var(--radius-xl) var(--radius-xs) var(--radius-xl) var(--radius-xl)}.ai-avatar-small,.send-btn{background-color:var(--coral);color:var(--ink);box-shadow:none}.suggestion-chip{background-color:var(--mint);color:var(--ink);border:0;border-radius:var(--radius-pill)}.auth-container{background-color:var(--mint)}.auth-card{background-color:var(--ink);border:0;border-radius:var(--radius-2xl);box-shadow:none}.auth-header h1{background:none;-webkit-text-fill-color:currentColor;color:var(--paper);font-family:var(--font-display);font-size:var(--text-display);text-transform:uppercase}.logo-icon-large{background:none;box-shadow:none}.auth-header .logo-icon-large img{width:72px;height:72px}@media(min-width:1500px){.main-content{margin-right:auto}}@media(max-width:1024px){.main-content{margin-left:0;padding:1.25rem max(1.25rem,env(safe-area-inset-right)) calc(110px + env(safe-area-inset-bottom)) max(1.25rem,env(safe-area-inset-left))}.sidebar{width:100%;height:auto;background-color:var(--ink);border-top:1px solid var(--line-strong);border-right:0;padding:.5rem .5rem calc(.5rem + env(safe-area-inset-bottom))}.mobile-primary-nav .nav-item{border:0;border-radius:var(--radius-xl);font-size:.67rem;padding:.5rem .15rem}.mobile-more-surface{background-color:var(--bg-panel);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0}.mobile-more-surface .nav-item{min-height:48px}.header-context{display:none}.header-brand{font-size:clamp(1rem,calc((100vw - 210px) / 7),1.7rem);letter-spacing:-.09em;line-height:1}.app-header{column-gap:.5rem}.header-brand .logo-icon{width:32px;height:32px}.app-header{margin-bottom:1.6rem}}@media(max-width:600px){.main-content{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}.greeting h1{font-size:var(--text-display)}.greeting p{font-size:var(--text-md)}.card,.goal-card{padding:1.25rem;border-radius:var(--radius-2xl)}.stat-card{min-height:165px}.stat-value{font-size:var(--text-display-sm)}.dashboard-grid{gap:.85rem}.overview-actions{gap:.5rem}.overview-actions .btn-primary,.overview-actions .btn-outline{font-size:var(--text-xs);padding:.65rem .9rem}.header-actions{gap:.4rem}.sync-status{font-size:var(--text-2xs);padding:.2rem .4rem}.grow-card img{height:260px}.t-amount{font-size:var(--text-md)}}.overview-actions .btn-primary,.page-header>.btn-primary,.section-title .btn-primary{width:auto}.app-header button.icon-btn{background-color:#f5f4ef;color:#222}.app-header .icon-btn:hover{background-color:var(--mint)}.category-section{--text-secondary: var(--quiet)}.chat-welcome{margin:auto;padding:2rem 1rem;text-align:center;max-width:380px}.chat-welcome img{margin-bottom:1rem}.chat-welcome h2{font-size:var(--text-display-sm);text-transform:uppercase;margin-bottom:1rem}.chat-welcome p{color:var(--text-secondary);font-size:var(--text-md)}.modal-overlay,.search-modal-overlay{z-index:2000}.accounts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.account-card{min-height:245px;display:flex;flex-direction:column;gap:1rem}.account-topline,.account-bottomline{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:var(--text-sm);flex-wrap:wrap}.account-card h3{font-family:var(--font-display);font-size:var(--text-5xl);text-transform:uppercase;line-height:1.05;font-weight:600}.account-balance{font-size:var(--text-display-sm);letter-spacing:-.04em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.account-bottomline{margin-top:auto;text-transform:capitalize}.account-sync-note{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}.account-sync-note p{font-size:var(--text-md);color:var(--text-secondary)}.goal-card:not(.create-goal-card){background-color:var(--mint);color:var(--ink);--text-secondary: var(--ink-soft);--accent-primary: var(--ink);--danger: #802b25;--focus-ring: var(--ink-deep);border:0}.goal-card:not(.create-goal-card):nth-child(3n+2){background-color:var(--yellow)}.goal-card:not(.create-goal-card):nth-child(3n){background-color:var(--violet)}.goal-card:not(.create-goal-card) .goal-icon-wrapper{background-color:var(--ink);color:var(--paper)}.goal-title{font-size:var(--text-5xl);text-transform:uppercase}@media(max-width:600px){.accounts-grid{grid-template-columns:minmax(0,1fr)}.account-card{min-height:220px}}.privacy-policy-link{display:inline-flex;align-items:center;min-height:44px}@media(max-width:600px){.table-sort-button{min-width:44px}}.chart-section{height:auto}.chart-section>div:has(>canvas){height:260px;flex:0 0 260px!important;min-height:0}.violet-card .chart-data thead th{background-color:var(--violet);color:var(--ink)}.auth-card input,.auth-card button{min-height:44px}.auth-card .btn-primary .btn-text{color:inherit;padding:0}.auth-card button.btn-text,.auth-card .btn-link{display:inline-flex;align-items:center;justify-content:center}@media(max-width:600px){.auth-card{padding:2rem 1.5rem}}.nova-tools{margin:0 0 1.5rem;padding:1.25rem;display:grid;gap:.8rem}.nova-tools h2{margin:0 0 .35rem;font-size:var(--text-xl)}.nova-tools p,.nova-modal p{color:var(--text-secondary);line-height:1.55;overflow-wrap:anywhere}.nova-actions{display:flex;flex-wrap:wrap;gap:.65rem}.nova-tool-disclosure summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:600}.nova-tool-disclosure summary:after{content:"+";margin-left:auto}.nova-tool-disclosure[open] summary:after{content:"−"}.nova-tag-label{display:block;width:auto;max-width:100%;margin-top:.3rem;font-size:var(--text-xs);overflow-wrap:anywhere}.nova-actions button,.nova-tools>button{width:auto}.nova-modal{width:min(720px,calc(100vw - 2rem))}.nova-modal label{display:block;margin:.8rem 0 .4rem}.nova-modal input:not([type=checkbox]),.nova-modal textarea,.nova-modal select{display:block;box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:.65rem;border:1px solid var(--control-border);border-radius:var(--radius-lg);background:var(--bg-card);color:var(--text-primary);font:inherit}.nova-modal textarea{min-height:90px}.nova-modal button{margin-top:.6rem}.nova-review-row{min-width:0;border:1px solid var(--control-border);border-radius:var(--radius-lg);padding:1rem;margin:1rem 0}.nova-review-row legend{max-width:100%;overflow-wrap:anywhere}.nova-tools label,.nova-modal label:has(input[type=checkbox]){display:flex;align-items:center;gap:.65rem;min-height:44px}.nova-tools input[type=checkbox],.nova-modal input[type=checkbox]{flex:0 0 24px;width:24px;height:24px}@media(max-width:600px){.nova-actions>button{flex:1 1 180px}}.mfa-setup-key{overflow-wrap:anywhere;font-family:monospace;-webkit-user-select:all;user-select:all;padding:1rem;background:var(--bg-primary)}#account-feature-overlay .modal{display:grid;gap:1rem}:root{--accent-primary: #c4d5c9;color-scheme:dark}input[type=checkbox],input[type=radio],input[type=range],progress{accent-color:var(--mint)}a,button,summary,label,select,input{touch-action:manipulation}h1,h2,.section-title{text-wrap:balance}.stat-value,.account-balance,.bill-amount,.t-amount-cell{font-variant-numeric:tabular-nums}.greeting .eyebrow,.eyebrow,.header-context{font-size:var(--text-2xs)}.badge{font-size:var(--text-2xs)!important}.coral-card,.yellow-card,.mint-card,.violet-card,.grow-card,.goal-card:not(.create-goal-card){--accent-primary: var(--ink);--border-color: rgba(34, 34, 34, .28);--glass-bg: rgba(34, 34, 34, .08)}.goal-card:not(.create-goal-card){--text-primary: var(--ink);--text-muted: var(--ink-soft)}.violet-card,.goal-card:not(.create-goal-card):nth-child(3n){color:var(--ink-deep);--text-primary: var(--ink-deep);--text-secondary: var(--ink-deep);--text-muted: var(--ink-deep);--accent-primary: var(--ink-deep)}.violet-card .section-title,.violet-card .chart-data thead th,.violet-card .chart-data td,.violet-card .chart-data th{color:var(--ink-deep)}.goal-card:not(.create-goal-card) .progress-container{background-color:#22222229}.goal-card:not(.create-goal-card) .progress-bar{background-color:var(--ink)}.goal-card.create-goal-card{border:2px dashed var(--outline);background-color:transparent;color:var(--text-secondary);transition:border-color .15s,color .15s,background-color .15s}.goal-card.create-goal-card:hover{border-color:var(--mint);color:var(--text-primary);background-color:var(--bg-panel)}.goal-stats{align-items:center;gap:.5rem .9rem;flex-wrap:wrap}.goal-stats .btn-secondary{margin-left:auto}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background-color:transparent;border:1px solid var(--outline);color:var(--text-primary);border-radius:var(--radius-pill);font-family:var(--font-main);font-weight:600;transition:background-color .15s,border-color .15s,color .15s}.btn-secondary:hover{background-color:var(--surface-hover);border-color:var(--outline-strong)}.btn-secondary.active,.btn-secondary[aria-pressed=true]{background-color:var(--mint);border-color:var(--mint);color:var(--ink)}.coral-card .btn-secondary,.yellow-card .btn-secondary,.mint-card .btn-secondary,.violet-card .btn-secondary,.goal-card:not(.create-goal-card) .btn-secondary{border-color:#2229;color:inherit}.coral-card .btn-secondary:hover,.yellow-card .btn-secondary:hover,.mint-card .btn-secondary:hover,.violet-card .btn-secondary:hover,.goal-card:not(.create-goal-card) .btn-secondary:hover{background-color:#2222221f;border-color:var(--ink)}.btn-primary:disabled,.btn-outline:disabled,.btn-secondary:disabled,.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-outline,.btn-primary,.btn-danger{transition:background-color .15s,border-color .15s,color .15s}.section-title .icon-btn svg{width:20px;height:20px}.calendar-container,.settings-sidebar,.settings-content,.transactions-table-container,.debt-chart-card{border:0;border-radius:var(--radius-2xl)}.bill-card{border:0;border-radius:var(--radius-xl);padding:1.1rem 1.25rem}.bill-icon{border-radius:var(--radius-lg);background-color:var(--surface-hover);color:var(--mint);flex:0 0 48px}.bill-info{min-width:0;flex:1}.bill-status{margin-left:0;display:inline-block;margin-top:.25rem;white-space:nowrap}.status-scheduled{background-color:#c4d5c929;color:var(--mint)}.cal-day.today{border-color:var(--mint);background:#c4d5c924}.cal-day.empty{border-color:transparent}.cal-day.empty:hover{background:none}.illustrated-header .section-illustration{height:var(--scene, 240px)}.nova-tools-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem 1.25rem;flex-wrap:wrap}.nova-tools-head>div{flex:1 1 320px;min-width:0}.nova-tools .nova-tools-head .btn-primary{width:auto;flex:0 0 auto}.nova-tool-disclosure[open] .nova-actions{padding:.25rem 0 .5rem}.nova-tools-compact{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem 1rem;padding:.6rem 1.25rem;border-radius:var(--radius-xl);margin-bottom:1.25rem}.nova-tools-compact>*{flex:1 1 100%;min-width:0}.nova-tools-compact>.nova-tools-head{flex:1 1 300px}.nova-tools-compact>.nova-tool-disclosure:not([open]){flex:0 0 auto}.nova-tools-compact .nova-tools-head h2{font-size:var(--text-lg);margin:0}.nova-tools-compact.nova-tools-demo .nova-tools-head p{display:none}.nova-tools-compact .nova-tools-head .btn-primary{min-height:40px;padding:.5rem 1rem}.nova-tools-compact .nova-tool-disclosure:not([open]) summary:after{margin-left:.6rem}.nova-tools-compact .nova-tool-disclosure summary{font-size:var(--text-md)}.chat-container+.nova-tools{margin-top:1.25rem}@media(min-width:1025px){.dashboard-grid .transactions-section{grid-column:span 2;grid-row:auto}.dashboard-grid>.stat-card:nth-child(2):not(:has(+.stat-card)){grid-column:span 2}}.analytics-grid{grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr))!important}.analytics-grid>.card{min-width:0}.filters-bar{align-items:flex-end;gap:.75rem 1rem;flex-wrap:wrap;overflow:visible;padding-bottom:0;margin-bottom:1.1rem}.filter-search{display:flex;flex-direction:column;gap:.35rem;flex:1 1 240px;max-width:340px;min-width:0}.filter-search label{font-size:var(--text-xs);color:var(--text-secondary)}.filter-search .form-input{width:100%;min-height:44px;padding:.6rem 1rem;border:1px solid var(--control-border);color:var(--text-primary);font:inherit;font-size:var(--text-base)}.filter-chips{display:flex;gap:.5rem;flex-wrap:wrap}.filter-chips .filter-chip{min-height:44px}.filter-chip:hover:not(.active){background-color:var(--surface-hover)}.transactions-table-container{background-color:var(--bg-card)}.t-table th{padding:.9rem 1.25rem;font-size:var(--text-sm);background:none;border-bottom:1px solid var(--line)}.t-table td{padding:.75rem 1.25rem;border-bottom:1px solid var(--surface-4);vertical-align:middle}.t-table td:nth-child(4){white-space:nowrap}.t-name-cell{display:flex;align-items:center;gap:.85rem;min-width:0;font-weight:500}.t-name-cell .t-icon{flex:0 0 32px}.t-name-cell>span{min-width:0;overflow-wrap:anywhere}.t-amount-cell{font-weight:600;white-space:nowrap;text-align:right}.category-badge{border-radius:var(--radius-pill);background-color:var(--surface-4);border-color:var(--line-strong);white-space:nowrap}.category-badge:hover{background-color:var(--surface-hover)}.t-table .nova-tag-label{display:inline-flex;width:auto;margin-top:.3rem;padding:.2rem .6rem;border-color:transparent;color:var(--text-secondary);font-size:var(--text-2xs);font-weight:500;text-decoration:underline dotted;text-underline-offset:3px}.t-table .nova-tag-label:hover{color:var(--text-primary);background-color:var(--surface-hover)}.t-table td:nth-child(3){white-space:nowrap}.action-btn{border-radius:var(--radius-md);transition:color .15s,background-color .15s}#main-content .t-table .row-more{display:none}@media(max-width:900px){.transactions-table-container{overflow:visible;background:none;border-radius:0}.t-table,.t-table tbody,.t-table thead{display:block}.t-table thead tr{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.75rem}.t-table thead tr:before{content:"Sort by";font-size:var(--text-xs);color:var(--text-secondary);margin-right:.15rem}.t-table th{padding:0;border:0}.t-table th:nth-child(2),.t-table th:last-child{display:none}.t-table th .table-sort-button{min-height:44px;padding:.4rem .85rem;border:1px solid var(--outline);border-radius:var(--radius-pill);background-color:var(--surface-3);color:var(--text-primary);font-size:var(--text-sm)}.t-table th[aria-sort] .table-sort-button{background-color:var(--mint);border-color:var(--mint);color:var(--ink)}.t-table tbody tr{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"name name amount" "date acct acct" "cat cat actions";column-gap:.75rem;row-gap:.1rem;align-items:center;background-color:var(--bg-card);border-radius:var(--radius-xl);padding:.7rem 1rem .45rem;margin-bottom:.5rem}.t-table tbody tr:hover{background-color:var(--bg-card)}.t-table td{padding:0;border:0;min-width:0}.t-table td:nth-child(1){grid-area:name}.t-name-cell>span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.t-table td:nth-child(2){grid-area:acct;margin-left:-.4rem;font-size:var(--text-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t-table td:nth-child(2):before{content:"· "}.t-table td:nth-child(3){grid-area:cat;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;white-space:normal}.t-table td:nth-child(4){grid-area:date;font-size:var(--text-xs);white-space:nowrap}.t-table td:nth-child(5){grid-area:amount;font-size:var(--text-base)}.t-table td:nth-child(6){grid-area:actions}.t-table .nova-tag-label{margin-top:0}#main-content .t-table .row-actions .action-btn:not(.row-more),#main-content .t-table .nova-tag-label.is-empty{display:none}#main-content .t-table .row-more{display:inline-flex}.t-table tr.t-empty,.t-table tr.t-empty td{display:block}.filter-search{max-width:none;flex-basis:100%}}.chat-container{height:clamp(420px,calc(100dvh - 300px),860px)}.chat-message,.message-ai,.message-user{background:none;border:0;padding:0;border-radius:0;color:inherit}.chat-message{max-width:min(80%,68ch)}.message-ai{align-items:flex-start;gap:.65rem}.chat-message .message-content{padding:.8rem 1.1rem;min-width:0;overflow-wrap:anywhere}.ai-avatar-small{width:32px;height:32px;border-radius:50%;flex:0 0 32px}.chat-input-area{background-color:var(--bg-panel);border-top:1px solid var(--line);padding:1rem 1.25rem;gap:.75rem}.chat-input{height:52px;padding:.85rem 1.1rem;border-radius:var(--radius-pill)}.chat-input:focus{border-color:var(--mint)}.send-btn{width:52px;height:52px;flex:0 0 52px;border-radius:50%;transition:background-color .15s}.send-btn:hover{background-color:var(--yellow)}.suggestion-chips{padding:0 1.25rem .9rem}.suggestion-chip{min-height:40px;transition:background-color .15s}.suggestion-chip:hover{background-color:var(--yellow);color:var(--ink);border-color:transparent}@media(max-width:1024px){.chat-container{height:clamp(400px,calc(100dvh - 360px),760px)}.chat-message{max-width:92%}.suggestion-chip{min-height:44px}}.settings-nav-item{border-radius:var(--radius-pill);min-height:44px;transition:background-color .15s,color .15s}.settings-nav-item:hover{background-color:var(--surface-hover)}.settings-nav-item.active,.settings-nav-item.active:hover{background-color:var(--mint);color:var(--ink)}.setting-item{gap:1rem}.setting-item>button,.setting-item>.toggle-switch{flex:0 0 auto}.setting-item .btn-outline,.setting-item .btn-danger{white-space:nowrap}.setting-info{min-width:0}@media(max-width:600px){.setting-item:not(:has(.toggle-switch)){flex-direction:column;align-items:stretch}.setting-item>button{width:100%}.settings-content{padding:1.25rem}}.toggle-switch{display:inline-flex;align-items:center;width:52px;height:30px}.toggle-switch .slider{position:relative;inset:auto;display:block;flex:0 0 52px;width:52px;height:30px;background-color:var(--ink);border:1px solid var(--outline-strong);transition:background-color .2s,border-color .2s}.toggle-switch .slider:before{width:22px;height:22px;left:3px;top:50%;bottom:auto;transform:translateY(-50%);background-color:var(--quiet);transition:transform .2s,background-color .2s}.toggle-switch input:checked+.slider{background-color:var(--mint);border-color:var(--mint)}.toggle-switch input:checked+.slider:before{transform:translate(22px,-50%);background-color:var(--ink)}.toggle-switch input:disabled+.slider{opacity:.55;cursor:not-allowed}.toggle-switch input:focus-visible+.slider{outline:3px solid var(--focus-ring);outline-offset:2px}@media(max-width:1024px){.mobile-primary-nav .nav-item{color:var(--text-secondary);transition:background-color .15s,color .15s}.mobile-primary-nav .nav-item.active,.mobile-primary-nav .nav-item.active:hover{background-color:var(--mint);color:var(--ink);border:0}.mobile-primary-nav .nav-item:hover:not(.active){background-color:var(--surface-3);color:var(--text-primary);border:0}}@media(max-width:600px){.sync-status{padding:.45rem}.sync-status span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.calendar-container{padding:1rem}.calendar-grid{gap:.3rem}.cal-day{padding:.3rem}.cal-event{font-size:0;width:8px;height:8px;padding:0;margin:5px auto 0;border:0;border-radius:50%;background-color:var(--coral)}.cal-event.income{background-color:var(--success)}}@media(prefers-reduced-motion:reduce){.btn-secondary,.btn-outline,.btn-primary,.btn-danger,.settings-nav-item,.toggle-switch .slider,.toggle-switch .slider:before,.send-btn,.suggestion-chip,.nav-item{transition:none}}.transaction-item{padding:.8rem 1rem}.ai-avatar-small{background:var(--coral);color:var(--ink)}.t-table th,.t-table td{padding-left:1rem;padding-right:1rem}.t-table td:nth-child(2){white-space:nowrap}.t-table td:first-child{min-width:150px}.t-name-cell>span{overflow-wrap:break-word}@media(max-width:1024px){.mobile-primary-nav .nav-item{font-size:.72rem}.table-sort-button{min-width:44px;min-height:44px}}@media(max-width:900px){.t-table th,.t-table td{padding-left:0;padding-right:0}.t-table td:first-child{min-width:0}.t-table td:nth-child(4){padding-left:calc(32px + .85rem)}}@media(max-width:1024px){.mobile-primary-nav{gap:0}.mobile-primary-nav .nav-item{padding-left:0;padding-right:0}}@media(max-width:360px){.header-brand{gap:.4rem}.header-brand .logo-icon{width:26px;height:26px}.app-header{column-gap:.35rem}.header-actions{gap:.25rem}}@media(max-width:340px){.mobile-primary-nav .nav-item{font-size:.66rem;letter-spacing:-.03em}}@media(max-width:1024px){.mobile-current-destination{position:absolute;right:auto;bottom:auto;width:1px;height:1px;min-height:0;max-width:none;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;box-shadow:none}}.auth-container{flex:1 1 100%;width:100%;min-height:100dvh;background:var(--mint);padding:1.5rem}.auth-card{padding:2.25rem}.auth-header img{display:block;margin:0 auto 1rem}.auth-header h1{font-size:clamp(2.2rem,7vw,3rem);line-height:1;margin-bottom:.75rem}.auth-form{gap:.4rem}.auth-form .form-label{margin:.7rem 0 0}.auth-form .form-input{width:100%;padding:.7rem 1rem;border:1px solid var(--control-border);color:var(--text-primary);font:inherit}.auth-form .btn-primary{margin-top:1.1rem}.auth-form p{color:var(--text-secondary);font-size:var(--text-md)}#auth-error:empty{display:none}#auth-error{color:var(--danger-text);font-size:var(--text-md);margin:.5rem 0 0}.auth-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem 1.5rem;margin-bottom:1.1rem}.auth-card .btn-link{color:var(--mint);min-height:44px}.auth-card>.btn-link{display:flex;margin:0 auto}.auth-social{grid-template-columns:minmax(0,1fr);margin-bottom:0}.btn-social{min-height:44px;border-radius:var(--radius-pill);border:1px solid var(--outline-strong);background:transparent;font:600 var(--text-sm) var(--font-main);transition:background-color .15s,border-color .15s}.btn-social:hover{background-color:var(--surface-hover);border-color:var(--quiet)}.auth-local-mode{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--line)}.auth-card .btn-text{color:var(--text-secondary)}.auth-card .btn-text:hover{color:var(--text-primary)}.auth-card .btn-secondary.btn-full{margin-top:1rem;min-height:44px}@media(max-width:600px){.auth-container{padding:1rem;align-items:flex-start}.auth-card{margin-top:max(1rem,6vh)}}.nova-modal .modal-header .icon-btn{font-size:var(--text-2xl);line-height:1}.form-hint{font-size:var(--text-xs);line-height:1.45;color:var(--text-secondary);margin-top:.4rem}#nova-capacity-hint .btn-secondary{margin:.5rem 0 0}.outlook-card{display:grid;gap:1rem;padding:1.5rem 1.75rem;margin:0 0 1.5rem}.outlook-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.25rem 2.5rem;flex-wrap:wrap}.outlook-lead{flex:1 1 380px;min-width:0}.outlook-card .eyebrow{color:var(--text-secondary)}.outlook-pill{display:inline-block;margin:.5rem 0 .65rem;padding:.3rem .8rem;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:600;background-color:var(--surface-hover);color:var(--text-primary)}.outlook-positive .outlook-pill{background-color:var(--mint);color:var(--ink)}.outlook-tight .outlook-pill{background-color:var(--yellow);color:var(--ink)}.outlook-negative .outlook-pill{background-color:var(--coral);color:var(--ink)}.outlook-headline{font-size:clamp(1.4rem,2.3vw,2rem);line-height:1.15;text-transform:none;max-width:34ch}.outlook-detail{color:var(--text-secondary);font-size:var(--text-md);margin-top:.5rem}.outlook-figures{display:grid;grid-template-columns:repeat(3,auto);gap:.5rem 2rem;margin:0}.outlook-figures dt{font-size:var(--text-2xs);color:var(--text-secondary)}.outlook-figures dd{margin:.15rem 0 0;font-size:var(--text-2xl);font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.outlook-figures dd.is-ahead{color:var(--success)}.outlook-figures dd.is-short{color:var(--danger)}.outlook-compare{color:var(--text-secondary);font-size:var(--text-md);border-top:1px solid var(--line);padding-top:.9rem}.outlook-steps-title{font:600 var(--text-2xs) var(--font-main);letter-spacing:.14em;text-transform:uppercase;color:var(--mint);margin-bottom:-.35rem}.outlook-steps{list-style:none;display:grid;gap:.5rem;padding:0;margin:0}.outlook-steps li{display:flex;align-items:center;justify-content:space-between;gap:.75rem 1rem;flex-wrap:wrap;padding:.8rem 1rem;border-radius:var(--radius-lg);background-color:var(--surface-4);font-size:var(--text-md);line-height:1.45}.outlook-steps li span{flex:1 1 320px;min-width:0}.outlook-steps .btn-secondary{flex:0 0 auto;min-height:40px;padding:.45rem .95rem;font-size:var(--text-sm);white-space:nowrap}.outlook-how summary{min-height:44px;display:inline-flex;align-items:center;cursor:pointer;font-size:var(--text-sm);font-weight:600;color:var(--text-secondary)}.outlook-how p{font-size:var(--text-sm);line-height:1.5;color:var(--text-secondary);margin-top:.35rem;max-width:85ch}.outlook-stale{display:flex;align-items:center;gap:.6rem .85rem;flex-wrap:wrap;padding:.7rem .9rem;border-radius:var(--radius-lg);border:1px solid rgba(248,213,104,.45);background-color:#f8d5681f;font-size:var(--text-md);line-height:1.45}.outlook-stale .lucide{width:18px;height:18px;flex:0 0 auto;color:var(--yellow)}.outlook-stale p{flex:1 1 260px;min-width:0;margin:0}.outlook-stale .btn-secondary{flex:0 0 auto;min-height:40px;padding:.45rem .95rem;font-size:var(--text-sm);white-space:nowrap}@media(max-width:1024px){.outlook-steps .btn-secondary,.outlook-stale .btn-secondary{min-height:44px}}@media(max-width:600px){.outlook-card{padding:1.25rem}.outlook-figures{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:.75rem 1rem}.outlook-figures div:last-child{grid-column:1 / -1}.outlook-figures dd{font-size:var(--text-xl)}}.tab-btn.active:after{content:none}.form-select,.select-input{border-radius:var(--radius-lg)}.modal input[type=checkbox]{flex:0 0 20px;width:20px;height:20px}img.ai-avatar-small{display:block;background:none;border-radius:0}.violet-card .stat-header{color:var(--text-primary)}.toast{align-items:flex-start;gap:.75rem;width:min(340px,calc(100vw - 2rem));padding:.9rem 1.1rem;background-color:var(--bg-card);border:1px solid var(--outline-strong);border-radius:var(--radius-xl);box-shadow:0 20px 80px #0006}.toast-icon{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:50%;background-color:var(--mint);color:var(--ink)}.toast-icon svg{width:18px;height:18px}.toast-alert .toast-icon{background-color:var(--coral)}.toast-content{min-width:0}.toast-content h4{font-size:var(--text-md);font-weight:600}.toast-content p{font-size:var(--text-sm);line-height:1.45;overflow-wrap:anywhere}.toast-action{padding:.4rem 1rem;border:1px solid var(--outline-strong);border-radius:var(--radius-pill);background:transparent;font:600 var(--text-sm) var(--font-main);transition:background-color .15s}.toast-action:hover{background-color:var(--surface-hover)}.mobile-more-close{padding:.5rem 1.1rem;border:1px solid var(--outline-strong);border-radius:var(--radius-pill);background:transparent;font:600 var(--text-sm) var(--font-main);transition:background-color .15s}.mobile-more-close:hover{background-color:var(--surface-hover)}@media(prefers-reduced-motion:reduce){.toast-action,.mobile-more-close{transition:none}}.settings-container+.nova-tools{margin-top:1.25rem}#settings-panel{scroll-margin-top:1rem}@media(max-width:759px){.settings-container{gap:.85rem}.settings-sidebar{flex-direction:row;flex-wrap:wrap;gap:.4rem;padding:.6rem}.settings-sidebar .settings-nav-item{flex:1 1 auto;width:auto;justify-content:center;gap:.5rem;padding:.5rem .9rem;font-size:var(--text-md)}}.txn-actions-meta{margin:0 0 1rem;color:var(--text-secondary);font-size:var(--text-md);overflow-wrap:anywhere}.txn-actions-list{display:grid;gap:.5rem}.txn-actions-list .btn-secondary{display:flex;align-items:center;justify-content:flex-start;gap:.75rem;width:100%;min-height:48px;padding:.6rem 1rem;font-size:var(--text-base);text-align:left}.txn-actions-list .btn-secondary.is-danger{color:var(--danger-text)}.txn-actions-list svg{flex:0 0 18px}@media(max-width:1024px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid>:not(.stat-card){grid-column:1 / -1}.dashboard-grid>.stat-card{grid-column:auto;min-height:0}.dashboard-grid>.stat-card:nth-child(odd):not(:has(+.stat-card)){grid-column:1 / -1}}@media(max-width:600px){.dashboard-grid>.stat-card{padding:1rem;gap:.25rem}.dashboard-grid>.stat-card .stat-header{font-size:var(--text-lg);gap:.5rem}.dashboard-grid>.stat-card .stat-value{font-size:clamp(1.3rem,6.2vw,2rem);margin:.5rem 0 .35rem}.page-header.illustrated-header{grid-template-columns:minmax(0,1fr) 96px;align-items:center;gap:.75rem;padding:1rem 1.1rem}.illustrated-header h1{font-size:clamp(1.9rem,9vw,2.6rem);line-height:1.02}.illustrated-header .section-illustration{height:96px}.illustrated-header .header-actions{margin-top:.85rem}.grow-card{display:grid;grid-template-columns:minmax(0,1fr) 92px;align-items:center;gap:.5rem .75rem;padding-bottom:1.25rem}.grow-card .section-title{margin:0;font-size:var(--text-3xl);line-height:1.05}.grow-card img{width:92px;height:92px}.grow-card .pill-link{grid-column:1 / -1}.ask-card{gap:.6rem}.ask-card h2{font-size:var(--text-5xl)}.outlook-card{gap:.8rem}.outlook-steps li{padding:.65rem .85rem}}@media(max-width:359px){.dashboard-grid>.stat-card .stat-header svg{display:none}}@media(min-width:360px)and (max-width:600px){.outlook-figures{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem .75rem;align-items:end}.outlook-figures div:last-child{grid-column:auto}.outlook-figures dd{font-size:var(--text-lg);overflow-wrap:anywhere}}.illustrated-header .btn-outline{border-color:currentColor}.illustrated-header .btn-outline:hover{background-color:var(--glass-bg)}@media(min-width:760px){.page-header.illustrated-header{--scene: 240px;grid-template-columns:minmax(0,1fr) minmax(var(--scene),32%);min-height:calc(var(--scene) + 2.5rem);padding-top:1.25rem;padding-bottom:1.25rem}}@media(max-width:759px){.page-header.illustrated-header{--scene: clamp(96px, calc(96px + (100vw - 320px)*.48) , 140px);--hero: 10.5rem;grid-template-columns:minmax(0,1fr) calc(var(--scene) + 1.1rem);gap:0 .75rem;padding:0;border-radius:0;background-color:transparent}.page-header.illustrated-header:before{content:"";grid-area:1 / 1 / 3 / -1;align-self:stretch;border-radius:var(--radius-2xl);background-color:var(--hero-colour)}.illustrated-header.mint-card{--hero-colour: var(--mint)}.illustrated-header.yellow-card{--hero-colour: var(--yellow)}.illustrated-header.violet-card{--hero-colour: var(--violet)}.illustrated-header .greeting{display:contents}.illustrated-header h1{grid-area:1 / 1;align-self:end;padding-left:1.1rem;font-size:clamp(1.9rem,9vw,2.125rem);line-height:1.02}.illustrated-header .greeting>p{grid-area:2 / 1;align-self:start;margin:.45rem 0 0 1.1rem;font-size:var(--text-md);line-height:1.45;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.illustrated-header .section-illustration{grid-area:1 / 2 / 3 / 3;justify-self:start;width:var(--scene);height:var(--hero)}.illustrated-header .header-actions{grid-area:3 / 1 / 4 / -1;margin:.75rem 0 0;gap:.4rem;color:var(--paper);--text-primary: var(--paper);--text-secondary: var(--quiet);--text-muted: var(--quiet);--focus-ring: #fbbf24}.illustrated-header .header-actions .btn-primary{background:var(--mint);border-color:var(--mint);color:var(--ink)}.illustrated-header .header-actions .btn-primary:hover{background:var(--yellow);border-color:var(--yellow)}.illustrated-header .header-actions .btn-outline{border-color:var(--outline-strong)}.illustrated-header .header-actions .btn-outline:hover{background-color:var(--surface-hover)}#main-content .illustrated-header .header-actions>button{padding-left:.85rem;padding-right:.85rem}.illustrated-header .header-actions>.btn-outline svg{display:none!important}}@media(max-width:359px){.illustrated-header .greeting>p{margin-top:.35rem;font-size:var(--text-sm);line-height:1.4;-webkit-line-clamp:4;line-clamp:4}}.chat-container{height:clamp(290px,calc(100dvh - 468px),860px)}@media(max-width:1024px){.chat-container{height:clamp(270px,calc(100dvh - 493px),760px)}}@media(max-width:759px){.chat-container{height:clamp(300px,calc(100dvh - 435px),760px)}}@media(min-width:760px)and (min-height:521px){.settings-container{height:max(20rem,calc(100dvh - 308px))}}button.nav-feedback{border:1px solid transparent;font-size:var(--text-md);font-weight:500}.auth-closed p{margin:0 0 1rem;color:var(--text-secondary);overflow-wrap:anywhere}.auth-closed p:last-child{margin-bottom:1.5rem}.auth-closed strong{color:var(--text-primary)}.desktop-nav:has(>.nav-feedback) .nav-item:nth-last-child(2){margin-top:0}.desktop-nav:has(>.nav-feedback) .nav-item:nth-last-child(3){margin-top:2rem}.auth-legal{margin:1rem 0 0;font-size:var(--text-xs);line-height:1.5;color:var(--text-secondary);text-align:center}.auth-legal a{color:var(--text-primary);text-decoration:underline}.feedback-shot-list{display:flex;flex-wrap:wrap;gap:.75rem;list-style:none;margin:.5rem 0 .75rem;padding:.6rem .6rem 0 0}.feedback-shot-list:empty{display:none}.feedback-shot-list li{position:relative}.feedback-shot-list img{display:block;width:96px;height:96px;object-fit:cover;object-position:top;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--paper)}.feedback-shot-list .icon-btn{position:absolute;top:-.6rem;right:-.6rem;background:var(--surface-3);border:1px solid var(--line-strong);border-radius:var(--radius-pill)}.feedback-shot-add{width:auto;display:inline-flex;align-items:center;gap:.5rem}.feedback-shot-status:empty{display:none}@media(max-width:1024px){.toast-container{left:max(.75rem,env(safe-area-inset-left));right:max(.75rem,env(safe-area-inset-right));bottom:calc(76px + env(safe-area-inset-bottom) + .75rem);align-items:center;gap:.5rem;z-index:1100;pointer-events:none}.toast{width:min(100%,440px);pointer-events:auto}}.modal>.modal-header{position:sticky;top:-2rem;z-index:2;margin:-2rem -2rem 1.25rem;padding:2rem 2rem .75rem;background-color:var(--bg-card);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0}@media(max-width:420px){.modal>.modal-header{top:-1.25rem;margin:-1.25rem -1.25rem 1rem;padding:1.25rem 1.25rem .6rem}}.modal:focus,.search-modal:focus{outline:none}.outlook-start{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.outlook-start .btn-primary,.outlook-start .btn-secondary{width:auto;min-height:44px}@media(max-width:600px){.outlook-start .btn-primary,.outlook-start .btn-secondary{flex:1 1 100%}}.chart-empty{margin:auto 0;padding:1.5rem .5rem;text-align:center;color:var(--text-primary);font-size:var(--text-md);line-height:1.5}.category-section .chart-empty{color:var(--text-secondary)}.auth-social{margin-top:.5rem}.btn-social.btn-social-primary{background-color:var(--mint);border-color:var(--mint);color:var(--ink);min-height:48px;font-size:var(--text-md)}.btn-social.btn-social-primary:hover{background-color:var(--yellow);border-color:var(--yellow);color:var(--ink)}.auth-card .auth-divider{margin:1.25rem 0 .25rem;font-size:var(--text-sm);color:var(--text-secondary)}.auth-inapp{margin:0 0 1rem;padding:1rem;border:1px solid var(--yellow);border-radius:var(--radius-lg);background-color:#f8d56814}.auth-inapp p{margin:0 0 .75rem;color:var(--text-primary);font-size:var(--text-md);line-height:1.5}.auth-local-mode{text-align:center}.auth-local-note{margin:.25rem 0 0;color:var(--text-secondary);font-size:var(--text-sm)}.modal .form-group>input[type=checkbox]{flex:0 0 24px;width:24px;height:24px}.modal .form-group>input[type=checkbox]+.form-label{display:flex;align-items:center;min-height:44px;flex:1 1 auto;cursor:pointer}.nova-modal .modal-header h3{margin:0;font-family:var(--font-display);font-size:var(--text-4xl);line-height:1.05;text-transform:uppercase}.nova-modal p{font-size:var(--text-md)}@media(max-width:420px){.modal-title,.nova-modal .modal-header h3{font-size:var(--text-3xl)}}.search-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:none;justify-content:center;align-items:flex-start;padding-top:10vh;opacity:0;transition:opacity .2s ease}.search-modal-overlay.active{display:flex;opacity:1}.search-modal{background:var(--bg-card);width:100%;max-width:600px;border-radius:var(--radius-2xl);border:1px solid var(--outline-strong);box-shadow:0 20px 80px #0006;overflow:hidden;transform:translateY(-20px);transition:transform .2s ease}.search-modal-overlay.active .search-modal{transform:translateY(0)}.search-header{padding:1rem 1.25rem;border-bottom:1px solid var(--control-border);display:flex;align-items:center;gap:.75rem}.search-dialog-title{color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;text-transform:uppercase;white-space:nowrap}.search-input{flex:1;min-width:0;min-height:44px;padding:.6rem 1rem;background-color:var(--ink);border:1px solid var(--control-border);border-radius:var(--radius-pill);color:var(--text-primary);font-size:var(--text-base)}.search-results{max-height:400px;overflow-y:auto;padding:.5rem}.search-result-category{font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;padding:.5rem 1rem;margin-top:.5rem}.search-result-item{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border-radius:var(--radius-sm);cursor:pointer;transition:background .2s}.search-result-item:hover{background:var(--surface-hover)}.search-result-item.active-option{background:#c4d5c929;outline:2px solid var(--focus-ring);outline-offset:-2px}@media(max-width:1024px){.search-result-item{min-height:44px}}.search-result-icon{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--glass-bg);display:grid;place-items:center;color:var(--text-primary)}.search-result-info{flex:1}.search-result-title{font-weight:500;color:var(--text-primary)}.search-result-subtitle{font-size:var(--text-md);color:var(--text-secondary)}.ob-scene{display:block;width:100%;height:100%;overflow:visible}.ob-scene *{transform-box:fill-box;transform-origin:center}.ob-scene [transform]{transform-box:view-box;transform-origin:0 0}.ob-coral{fill:var(--coral)}.ob-yellow{fill:var(--yellow)}.ob-mint{fill:var(--mint)}.ob-violet{fill:var(--violet)}.ob-paper{fill:var(--paper)}.ob-ink{fill:var(--ink)}.ob-violet-soft{fill:#7971f92e}.ob-surface{fill:var(--surface-4)}.ob-track{fill:var(--surface-3)}.ob-ink-card{fill:var(--surface-4)}.ob-ink-line{fill:var(--ink)}.ob-paper-line{fill:var(--paper);opacity:.85}.ob-soil{fill:var(--line-strong)}.ob-orbit-ring{fill:none;stroke:var(--line-strong);stroke-width:1.5;stroke-dasharray:4 7}.ob-link{fill:none;stroke:var(--outline);stroke-width:2;stroke-dasharray:3 6}.ob-check{fill:none;stroke:var(--paper);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.ob-label{fill:var(--quiet);font-family:var(--font-main);font-size:11px;font-weight:500}.ob-label-strong{fill:var(--paper);font-weight:700}.ob-track-ring{fill:none;stroke:var(--surface-3);stroke-width:12}.ob-goal-ring{fill:none;stroke:var(--yellow);stroke-width:12;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;animation:ob-ring 1.6s .3s cubic-bezier(.3,.7,.2,1) forwards}.ob-stem{fill:none;stroke:var(--mint);stroke-width:5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:ob-draw .7s .8s ease-out forwards}.ob-pop{animation:ob-pop .6s var(--d, 0s) cubic-bezier(.2,.9,.3,1.3) both}.ob-orbit{animation:ob-spin 18s linear infinite}.ob-mascot{animation:ob-pop .7s .1s cubic-bezier(.2,.9,.3,1.3) both,ob-bob 3.2s .8s ease-in-out infinite alternate}.ob-twinkle{animation:ob-twinkle 2.8s var(--d, 0s) ease-in-out infinite both}.ob-rise{animation:ob-rise .6s var(--d, 0s) ease-out both}.ob-travel{animation:ob-travel 1.6s var(--d, 0s) ease-in-out infinite both}.ob-card-in{animation:ob-card-in .7s var(--d, 0s) cubic-bezier(.2,.9,.3,1.15) both}.ob-grow-x{transform-origin:left center;animation:ob-grow-x .8s var(--d, 0s) cubic-bezier(.3,.7,.2,1) both}.ob-breathe{animation:ob-grow-x .8s var(--d, 0s) cubic-bezier(.3,.7,.2,1) both,ob-breathe 2.4s calc(var(--d, 0s) + .8s) ease-in-out infinite alternate}.ob-fade{animation:ob-fade .5s var(--d, 0s) ease-out both}.ob-leaf{animation:ob-pop .6s var(--d, 0s) cubic-bezier(.2,.9,.3,1.3) both}.ob-bloom{animation:ob-bloom .8s var(--d, 0s) cubic-bezier(.2,.9,.3,1.3) both,ob-turn 9s calc(var(--d, 0s) + .8s) linear infinite}.ob-drop{animation:ob-drop 1.2s var(--d, 0s) cubic-bezier(.5,0,.6,1) both}.ob-bubble-in{animation:ob-bubble-in .5s var(--d, 0s) cubic-bezier(.2,.9,.3,1.15) both}.ob-typing{animation:ob-typing 1.3s var(--d, 0s) ease-in-out both}.ob-dot{animation:ob-dot .45s var(--d, 0s) ease-in-out infinite alternate}.ob-burst{animation:ob-burst 1s var(--d, 0s) cubic-bezier(.15,.8,.3,1) both}.ob-hero-star{animation:ob-hero .9s .1s cubic-bezier(.2,.9,.3,1.3) both,ob-bob 3s 1s ease-in-out infinite alternate}@keyframes ob-pop{0%{opacity:0;transform:scale(0)}70%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes ob-spin{to{transform:rotate(360deg)}}@keyframes ob-bob{0%{transform:translateY(0)}to{transform:translateY(-6px)}}@keyframes ob-twinkle{0%{opacity:0;transform:scale(0) rotate(-30deg)}30%{opacity:1;transform:scale(1.15) rotate(0)}65%{opacity:.75;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes ob-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes ob-travel{0%{opacity:0;transform:translate(0)}20%,80%{opacity:1}to{opacity:0;transform:translate(110px)}}@keyframes ob-card-in{0%{opacity:0;transform:translate(var(--dx, 0),var(--dy, 0)) rotate(var(--r, 0))}to{opacity:1;transform:none}}@keyframes ob-grow-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes ob-breathe{0%{opacity:1}to{opacity:.72}}@keyframes ob-fade{0%{opacity:0}to{opacity:1}}@keyframes ob-ring{to{stroke-dashoffset:28}}@keyframes ob-draw{to{stroke-dashoffset:0}}@keyframes ob-bloom{0%{opacity:0;transform:scale(0) rotate(-120deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes ob-turn{to{transform:rotate(360deg)}}@keyframes ob-drop{0%{opacity:0;transform:translateY(-30px)}30%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translate(var(--tx, 0),var(--ty, 0)) scale(.2)}}@keyframes ob-bubble-in{0%{opacity:0;transform:translate(var(--dx, 0)) scale(.9)}to{opacity:1;transform:none}}@keyframes ob-typing{0%{opacity:0}15%,85%{opacity:1}to{opacity:0}}@keyframes ob-dot{0%{transform:translateY(0)}to{transform:translateY(-4px)}}@keyframes ob-burst{0%{opacity:0;transform:translate(0) scale(0)}20%{opacity:1}to{opacity:1;transform:translate(var(--dx, 0),var(--dy, 0)) scale(1) rotate(200deg)}}@keyframes ob-hero{0%{opacity:0;transform:scale(0) rotate(-120deg)}70%{opacity:1;transform:scale(1.12) rotate(8deg)}to{opacity:1;transform:scale(1) rotate(0)}}.nova-tour-overlay .nova-tour{width:560px;padding:0;border-radius:var(--radius-2xl);animation:ob-dialog-in .5s cubic-bezier(.2,.9,.3,1.1) both}@keyframes ob-dialog-in{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:none}}.nova-tour-top{display:flex;align-items:center;gap:.75rem;padding:.75rem .75rem 0 1.5rem}.nova-tour-bar{display:flex;flex:1;gap:.4rem}.nova-tour-pip{position:relative;flex:1;height:6px;border-radius:var(--radius-pill);background:var(--surface-4);overflow:hidden}.nova-tour-pip:after{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--mint);transform:scaleX(0);transform-origin:left center;transition:transform .45s cubic-bezier(.3,.7,.2,1),background-color .3s}.nova-tour-pip.is-past:after{transform:scaleX(1)}.nova-tour-pip.is-current:after{transform:scaleX(1);background:var(--yellow)}.nova-tour-close{flex:none}.nova-tour-stage{position:relative;margin:.75rem 1.5rem 0;aspect-ratio:16 / 10;border-radius:var(--radius-xl);overflow:hidden;display:grid;place-items:center;padding:.75rem;background:#7971f924}.nova-tour-stage[data-tone=mint]{background:#c4d5c91f}.nova-tour-stage[data-tone=yellow]{background:#f8d5681f}.nova-tour-stage[data-tone=coral]{background:#fa66561f}.nova-tour-copy{padding:1.25rem 1.5rem 0}.nova-tour-copy .eyebrow{color:var(--yellow)}.nova-tour-copy h3{font-family:var(--font-display);font-size:var(--text-4xl);line-height:1.05;text-transform:uppercase;margin:.35rem 0 .6rem;outline-offset:4px}.nova-tour-copy h3:focus{outline:none}.nova-tour-copy p{color:var(--text-secondary);line-height:1.55}.nova-tour-why{display:flex;align-items:flex-start;gap:.5rem;margin-top:.75rem;color:var(--text-primary)!important;font-size:var(--text-md)}.nova-tour-why svg{flex:none;width:16px;height:16px;margin-top:.15rem;color:var(--yellow)}.nova-tour-actions{display:flex;flex-wrap:wrap;gap:.6rem;padding:1.1rem 1.5rem 0}.nova-tour-actions:empty{display:none}.nova-tour-nav{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1.25rem;padding:1rem 1.5rem 1.25rem;border-top:1px solid var(--line)}.nova-tour-nav .is-hidden{visibility:hidden}.nova-tour-count{color:var(--quiet);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.nova-done-badge{display:inline-flex;align-items:center;gap:.25rem;margin-left:.4rem;padding:.2rem .55rem;border-radius:var(--radius-pill);background:var(--mint);color:var(--ink);font-family:var(--font-main);font-size:var(--text-xs);font-weight:600;text-transform:none;vertical-align:middle}.nova-done-badge svg{width:12px;height:12px;fill:none;stroke:var(--ink);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.nova-tour-slide.is-entering>*{animation:ob-slide-next .45s cubic-bezier(.2,.8,.2,1) both}.nova-tour-slide.is-entering[data-dir=back]>*{animation-name:ob-slide-back}.nova-tour-slide.is-entering>:nth-child(2){animation-delay:.05s}.nova-tour-slide.is-entering>:nth-child(3){animation-delay:.1s}@keyframes ob-slide-next{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:none}}@keyframes ob-slide-back{0%{opacity:0;transform:translate(-28px)}to{opacity:1;transform:none}}@media(max-height:680px){.nova-tour-stage{aspect-ratio:16 / 7}}@media(max-width:520px){.nova-tour-top{padding-left:1.1rem}.nova-tour-stage{margin:.6rem 1.1rem 0}.nova-tour-copy,.nova-tour-actions{padding-left:1.1rem;padding-right:1.1rem}.nova-tour-nav{padding:.85rem 1.1rem 1rem}.nova-tour-copy h3{font-size:var(--text-3xl)}.nova-tour-actions>*{flex:1 1 100%}}.nova-start{margin:0 0 1.5rem;padding:1.25rem}.nova-start-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem}.nova-start-ring{position:relative;width:64px;height:64px}.nova-start-ring>svg{width:64px;height:64px;display:block}.nova-start-ring>span{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--font-display);font-size:var(--text-lg);font-weight:700}.nova-start-track{fill:none;stroke:var(--line-strong);stroke-width:6}.nova-start-fill{fill:none;stroke:var(--yellow);stroke-width:6;stroke-linecap:round;stroke-dasharray:var(--ring);stroke-dashoffset:var(--to);animation:ob-ring-fill 1s .2s cubic-bezier(.3,.7,.2,1) both}@keyframes ob-ring-fill{0%{stroke-dashoffset:var(--from)}to{stroke-dashoffset:var(--to)}}.nova-start-star{width:30px;height:30px;fill:var(--yellow);animation:ob-hero .9s .4s cubic-bezier(.2,.9,.3,1.3) both}.nova-start-intro h2{margin:.2rem 0 .3rem;font-family:var(--font-display);font-size:var(--text-2xl);line-height:1.05;text-transform:uppercase}.nova-start-intro p{color:var(--text-secondary);font-size:var(--text-md);line-height:1.5}.nova-start-intro .eyebrow{color:var(--yellow)}.nova-start-tools{display:flex;align-items:center;gap:.5rem}.nova-start-steps{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:.75rem;margin-top:1.25rem}.nova-start-step{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-content:start;gap:.4rem .75rem;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-3);animation:ob-rise .5s ease-out both}.nova-start-step:nth-child(2){animation-delay:.06s}.nova-start-step:nth-child(3){animation-delay:.12s}.nova-start-step:nth-child(4){animation-delay:.18s}.nova-start-step h3{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:var(--text-base);line-height:1.3}.nova-start-step p{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.45;margin-top:.15rem}.nova-start-step>button{grid-column:1 / -1;justify-self:start;margin-top:.5rem}.nova-start-mark{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--surface-4);color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-lg);font-weight:700}.nova-start-mark svg{width:16px;height:16px;fill:none;stroke:var(--ink);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:20;stroke-dashoffset:0}.nova-start-next{display:inline-block;padding:.15rem .5rem;border-radius:var(--radius-pill);background:var(--yellow);color:var(--ink);font-size:var(--text-2xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.nova-start-step.is-next{border-color:var(--yellow)}.nova-start-step.is-next .nova-start-mark{background:var(--yellow);color:var(--ink);animation:ob-nudge 2.4s .8s ease-in-out infinite}@keyframes ob-nudge{0%,70%,to{transform:scale(1)}80%{transform:scale(1.14)}90%{transform:scale(.96)}}.nova-start-step.is-done{background:transparent}.nova-start-step.is-done h3{color:var(--quiet)}.nova-start-step.is-done .nova-start-mark{background:var(--mint)}.nova-start-step.is-fresh{animation:ob-flash 1.4s ease-out both}.nova-start-step.is-fresh .nova-start-mark{animation:ob-pop .6s .2s cubic-bezier(.2,.9,.3,1.3) both}.nova-start-step.is-fresh .nova-start-mark svg{stroke-dashoffset:20;animation:ob-draw .5s .6s ease-out forwards}@keyframes ob-flash{0%{background:#c4d5c952;border-color:var(--mint)}to{background:transparent;border-color:var(--line)}}@media(max-width:600px){.nova-start-head{grid-template-columns:auto minmax(0,1fr)}.nova-start-tools{grid-column:1 / -1;justify-content:space-between}.nova-start-steps{gap:.5rem}.nova-start-step:not(.is-next){align-items:center;padding:.6rem 1rem}.nova-start-step:not(.is-next) p,.nova-start-step:not(.is-next)>button{display:none}}@media(prefers-reduced-motion:reduce){.nova-tour *,.nova-tour,.nova-start *,.nova-start{animation-delay:0s!important}.nova-tour-pip:after{transition:none}}
