:root{--bg: #060912;--bg-2: #0c1428;--surface: #121a31;--surface-2: #1a2547;--glass: linear-gradient(157deg, rgba(40, 52, 92, .55), rgba(15, 22, 43, .62));--glass-strong: linear-gradient(157deg, rgba(46, 60, 104, .7), rgba(16, 23, 45, .74));--hairline: rgba(255, 255, 255, .08);--hairline-strong: rgba(255, 255, 255, .14);--edge-light: inset 0 1px 0 rgba(255, 255, 255, .07);--text: #eef2fb;--muted: #9aa6c6;--faint: #6b7699;--border: rgba(255, 255, 255, .09);--accent: #6366f1;--accent-2: #8b5cf6;--accent-3: #22d3ee;--pink: #ec4899;--green: #34d399;--red: #fb7185;--amber: #fbbf24;--radius: 18px;--radius-sm: 12px;--radius-lg: 24px;--radius-pill: 999px;--shadow-sm: 0 2px 6px -2px rgba(0, 0, 0, .5);--shadow: 0 18px 40px -22px rgba(0, 0, 0, .85), 0 4px 14px -8px rgba(0, 0, 0, .5);--shadow-lg: 0 40px 90px -32px rgba(0, 0, 0, .9), 0 10px 30px -12px rgba(0, 0, 0, .6);--ease: cubic-bezier(.22, 1, .36, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,sans-serif;font-feature-settings:"cv11","ss01";color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh}body:before{content:"";position:fixed;top:-25%;right:-25%;bottom:-25%;left:-25%;z-index:-1;pointer-events:none;background:radial-gradient(38% 42% at 78% 8%,rgba(99,102,241,.38),transparent 60%),radial-gradient(34% 40% at 12% 18%,rgba(236,72,153,.24),transparent 60%),radial-gradient(42% 46% at 88% 88%,rgba(34,211,238,.18),transparent 62%),radial-gradient(40% 44% at 24% 92%,rgba(139,92,246,.22),transparent 62%);filter:blur(36px) saturate(125%);animation:aurora 26s var(--ease) infinite alternate}@keyframes aurora{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(-2.5%,2%,0) scale(1.06)}to{transform:translate3d(2.5%,-1.5%,0) scale(1.02)}}::selection{background:rgba(99,102,241,.4);color:#fff}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.16) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border:2px solid transparent;background-clip:content-box;border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.26);background-clip:content-box}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{max-width:1120px;margin:0 auto;padding:30px 22px 72px;position:relative;z-index:1}.content>*{animation:rise .42s var(--ease-out) both}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}.header__brand{display:flex;align-items:center;gap:15px}.header__logo{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;font-weight:800;font-size:19px;color:#fff;background:linear-gradient(140deg,#818cf8,#6366f1 45%,#ec4899);box-shadow:0 10px 26px -8px #6366f1b3,var(--edge-light);letter-spacing:-.02em}.header__title{margin:0;font-size:23px;font-weight:700;letter-spacing:-.03em}.header__subtitle{margin:3px 0 0;color:var(--muted);font-size:13px}.header__controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.rate{display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:var(--glass);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border:1px solid var(--hairline);border-radius:15px;padding:10px 16px;cursor:pointer;color:var(--text);box-shadow:var(--edge-light),var(--shadow-sm);transition:border-color .25s,transform .18s var(--ease),box-shadow .25s}.rate:hover{border-color:var(--hairline-strong);transform:translateY(-1px);box-shadow:var(--edge-light),var(--shadow)}.rate:active{transform:scale(.98)}.rate__value{font-size:17px;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.rate__meta{font-size:11px;color:var(--muted)}.rate__dot{width:8px;height:8px;border-radius:50%;margin:0 0 -2px}.rate__dot--live{background:var(--green);box-shadow:0 0 #34d39999;animation:pulse 2s infinite}.rate__dot--loading{background:var(--amber)}.rate__dot--stale{background:var(--muted)}@keyframes pulse{0%{box-shadow:0 0 #34d39980}70%{box-shadow:0 0 0 8px #34d39900}to{box-shadow:0 0 #34d39900}}.countdown{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:24px}.pill{background:var(--glass);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border:1px solid var(--hairline);border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:3px;box-shadow:var(--edge-light),var(--shadow-sm);transition:transform .2s var(--ease),border-color .25s,box-shadow .25s}.pill:hover{transform:translateY(-2px);border-color:var(--hairline-strong);box-shadow:var(--edge-light),var(--shadow)}.pill--done{opacity:.6}.pill__big{font-size:21px;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums;background:linear-gradient(120deg,#a5b4fc,#818cf8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.pill--done .pill__big{background:linear-gradient(120deg,#6ee7b7,#34d399);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.pill__label{font-size:12px;font-weight:600}.pill__date{font-size:11px;color:var(--muted)}.tabs{display:flex;gap:6px;background:var(--glass);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border:1px solid var(--hairline);padding:6px;border-radius:16px;margin-bottom:24px;overflow-x:auto;box-shadow:var(--edge-light),var(--shadow-sm)}.tab{flex:1;min-width:max-content;border:none;background:transparent;color:var(--muted);padding:10px 18px;border-radius:11px;font-size:14px;font-weight:600;cursor:pointer;transition:color .2s,background .2s}.tab:hover{color:var(--text);background:rgba(255,255,255,.04)}.tab--active{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;box-shadow:0 8px 22px -10px #6366f1e6,var(--edge-light)}.tab--active:hover{color:#fff;background:linear-gradient(135deg,#6d70f3,#936ef7)}.card{background:var(--glass);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border:1px solid var(--hairline);border-radius:var(--radius);padding:20px;box-shadow:var(--edge-light),var(--shadow)}.muted{color:var(--muted)}.small{font-size:12px}.block{display:block}.dashboard{display:flex;flex-direction:column;gap:18px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.stat{position:relative;display:flex;flex-direction:column;gap:6px;padding-left:20px;overflow:hidden;transition:transform .2s var(--ease),box-shadow .25s,border-color .25s}.stat:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:999px;background:var(--accent, var(--border));box-shadow:0 0 16px 0 var(--accent, transparent)}.stat:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120px 80px at 100% 0%,var(--accent, transparent),transparent 70%);opacity:.1;pointer-events:none}.stat:hover{transform:translateY(-2px);border-color:var(--hairline-strong);box-shadow:var(--edge-light),var(--shadow-lg)}.stat__label{font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.stat__value{font-size:25px;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.stat__sub{font-size:12px;color:var(--muted)}.projection__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.projection__head h2{margin:0;font-size:17px;letter-spacing:-.02em}.projection__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:14px}.projection__grid>div{display:flex;flex-direction:column;gap:3px}.projection__grid strong{font-size:18px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.chip{background:var(--surface-2);border:1px solid var(--hairline);border-radius:999px;padding:5px 13px;font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap}.progress{height:9px;background:rgba(255,255,255,.06);border-radius:999px;overflow:hidden;box-shadow:inset 0 1px 2px #0006}.progress__fill{height:100%;border-radius:999px;position:relative;transition:width .6s var(--ease);box-shadow:0 0 12px -2px currentColor}.progress__fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,0) 55%)}.debt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.debt-card{position:relative;display:flex;flex-direction:column;gap:12px;overflow:hidden;transition:transform .2s var(--ease),box-shadow .25s,border-color .25s}.debt-card:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--accent),transparent 85%)}.debt-card:hover{transform:translateY(-3px);border-color:var(--hairline-strong);box-shadow:var(--edge-light),var(--shadow-lg)}.debt-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.debt-card__name{margin:0;font-size:16px;letter-spacing:-.01em}.debt-card__ref{font-size:11px;color:var(--muted);font-family:ui-monospace,SF Mono,monospace}.debt-card__rate{background:rgba(251,191,36,.12);border:1px solid rgba(251,191,36,.25);border-radius:9px;padding:3px 9px;font-size:13px;font-weight:700;color:var(--amber);font-variant-numeric:tabular-nums}.debt-card__amounts{display:flex;justify-content:space-between}.debt-card__amounts>div{display:flex;flex-direction:column;gap:1px}.debt-card__amounts .right{align-items:flex-end}.debt-card__out{font-size:22px;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.debt-card__paid{font-size:17px;font-weight:700;color:var(--green);font-variant-numeric:tabular-nums}.debt-card__meta{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.debt-card__note{margin:0;font-size:12px;color:var(--muted);line-height:1.55}.debt-card__quick{display:flex;align-items:center;gap:8px;background:var(--bg-2);border:1px solid var(--hairline);border-radius:11px;padding:4px 4px 4px 12px;transition:border-color .2s,box-shadow .2s}.debt-card__quick:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #6366f138}.debt-card__quick .prefix{color:var(--muted);font-weight:700}.debt-card__quick input{flex:1;background:transparent;border:none;color:var(--text);font-size:14px;padding:8px 0;outline:none;width:100%;font-variant-numeric:tabular-nums}.debt-card__quick button{border:none;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-weight:700;border-radius:9px;padding:8px 16px;cursor:pointer;transition:filter .2s,transform .1s}.debt-card__quick button:hover:not(:disabled){filter:brightness(1.08)}.debt-card__quick button:active:not(:disabled){transform:scale(.97)}.debt-card__quick button:disabled{opacity:.4;cursor:not-allowed}.form,.settings section{display:flex;flex-direction:column;gap:14px}.form h2,.settings h2{margin:0;font-size:18px;letter-spacing:-.02em}.field{display:flex;flex-direction:column;gap:6px}.field>span{font-size:12px;color:var(--muted);font-weight:600}.field input,.field select{background:var(--bg-2);border:1px solid var(--hairline);border-radius:11px;padding:11px 13px;color:var(--text);font-size:15px;outline:none;transition:border-color .2s,box-shadow .2s,background .2s;width:100%;font-variant-numeric:tabular-nums}.field input:hover,.field select:hover{border-color:var(--hairline-strong)}.field input:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f138}.field-row{display:flex;gap:12px;flex-wrap:wrap}.field-row .field{flex:1;min-width:140px}.field.grow{flex:2}.form__actions{display:flex;justify-content:flex-end}.btn{border:1px solid rgba(139,92,246,.28);border-radius:11px;padding:11px 20px;font-size:14px;font-weight:700;cursor:pointer;background:linear-gradient(135deg,rgba(99,102,241,.16),rgba(139,92,246,.16));color:var(--text);box-shadow:var(--edge-light);transition:transform .12s var(--ease),filter .2s,box-shadow .25s,border-color .2s,background .2s,color .2s}.btn:hover{filter:brightness(1.06);border-color:#8b5cf680;background:linear-gradient(135deg,rgba(99,102,241,.24),rgba(139,92,246,.24))}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn--primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-color:transparent;color:#fff;box-shadow:0 10px 26px -12px #6366f1e6,var(--edge-light)}.btn--primary:hover{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.btn--danger{background:rgba(251,113,133,.14);color:#fda4af;border:1px solid rgba(251,113,133,.38)}.btn--danger:hover{background:rgba(251,113,133,.2);filter:none}.history__head,.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.history__head h2,.section-head h2{margin:0;font-size:18px;letter-spacing:-.02em}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:14px}.table th,.table td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--hairline);vertical-align:top}.table th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table tbody tr{transition:background .15s}.table tbody tr:hover{background:rgba(255,255,255,.04)}.note-cell{color:var(--muted);max-width:240px}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px;box-shadow:0 0 8px -1px currentColor}.icon-btn{background:transparent;border:1px solid var(--hairline);color:var(--muted);width:28px;height:28px;border-radius:9px;cursor:pointer;font-size:13px;line-height:1;transition:border-color .2s,color .2s,background .2s}.icon-btn:hover{border-color:var(--red);color:var(--red);background:rgba(251,113,133,.1)}.debt-editors,.settings{display:flex;flex-direction:column;gap:14px}.editor{padding:0;overflow:hidden;position:relative}.editor:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,var(--accent),transparent 90%)}.editor__head{display:flex;align-items:center;gap:10px;padding:16px 18px;cursor:pointer;transition:background .2s}.editor__head:hover{background:rgba(255,255,255,.03)}.editor__head strong{flex:1}.editor__chevron{color:var(--muted);transition:transform .25s var(--ease)}.editor__body{padding:14px 18px 18px;display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--hairline)}.editor__actions{display:flex;justify-content:flex-end}.swatches{display:flex;gap:8px}.swatch{width:26px;height:26px;border-radius:9px;border:2px solid transparent;cursor:pointer;transition:transform .15s var(--ease),box-shadow .2s}.swatch:hover{transform:scale(1.12)}.swatch--on{border-color:#fff;transform:scale(1.12);box-shadow:0 0 0 3px #ffffff26}.milestone-row{align-items:flex-end}.milestone-row .icon-btn{margin-bottom:6px}.contrib-row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.contrib-row .field{flex:1;min-width:110px}.contrib-row .field:first-child{min-width:140px}.contrib-row .field:has(input[type=month]){min-width:150px}.contrib-row .icon-btn{margin-bottom:6px}.contrib-row .field--ends{position:relative}.contrib-row__end{position:absolute;top:100%;left:2px;margin-top:5px;white-space:nowrap;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.contrib-row--single:has(.contrib-row__end){padding-bottom:20px}.danger{border-color:#fb71854d}.credila-plan{margin-top:2px}.credila-plan__body{margin-top:12px;padding-top:14px;border-top:1px solid var(--hairline);display:flex;flex-direction:column;gap:14px}.credila-plan__summary{display:flex;gap:8px;flex-wrap:wrap}.credila-plan__summary .chip strong{color:var(--text);margin-left:4px;font-variant-numeric:tabular-nums}.chip--ok{color:#34d399;border-color:#34d39959;background:rgba(52,211,153,.1)}.chip--warn{color:var(--red);border-color:#fb718559;background:rgba(251,113,133,.1)}.credila-plan__hint{margin:0}.credila-plan__section-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.credila-plan__section-head h4{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.credila-plan__rows{display:flex;flex-direction:column;gap:10px}.contrib-row--lump{padding-bottom:4px}.credila-plan__warn{flex-basis:100%;margin:0;color:var(--red);font-size:12px;font-weight:600}.records__layout{display:grid;grid-template-columns:220px 1fr;gap:18px;align-items:start}.records__rail{display:flex;flex-direction:column;gap:8px;position:sticky;top:84px}.records__tab{display:flex;flex-direction:column;gap:2px;text-align:left;padding:12px 14px;border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface);color:var(--text);cursor:pointer;transition:border-color .2s,background .2s}.records__tab:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--hairline))}.records__tab.is-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--surface))}.records__tab-label{font-weight:600}.records__panel{display:flex;flex-direction:column;gap:18px;min-width:0}.invest-log{display:flex;flex-direction:column;gap:18px}.funds-editor{display:flex;flex-direction:column;gap:10px;margin-top:12px}.fund-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:10px 12px;background:var(--bg-2);border:1px solid var(--hairline);border-radius:var(--radius)}.fund-row__dot{width:12px;height:12px;flex:0 0 auto;border-radius:50%;box-shadow:0 0 0 3px var(--surface)}.fund-row--readonly{display:grid;grid-template-columns:auto 1fr 56px 160px 120px;align-items:center;column-gap:24px;padding:13px 16px}.fund-row--readonly .fund-row__dot{margin-right:-14px}.fund-row__name-ro{font-weight:600;color:var(--text)}.fund-row__pct-ro{font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums;justify-self:end}.fund-row__target-ro{justify-self:end;white-space:nowrap}.fund-row--readonly .fund-row__amt{margin-left:0;justify-self:end;font-variant-numeric:tabular-nums}.plan-split__head-actions{display:inline-flex;align-items:center;gap:8px}.plan-split__head-actions .icon-btn:hover,.icon-btn--on{border-color:var(--accent);color:var(--accent);background:rgba(99,102,241,.12)}.fund-row__name{flex:1 1 140px;min-width:120px;background:var(--surface);border:1px solid var(--hairline);border-radius:8px;padding:6px 10px;color:var(--text);font-weight:600}.fund-row__pct,.fund-row__target{display:inline-flex;align-items:center;gap:6px}.fund-row__pct input{width:58px;background:var(--surface);border:1px solid var(--hairline);border-radius:8px;padding:6px 8px;color:var(--text);text-align:right}.fund-row__target input{width:110px;background:var(--surface);border:1px solid var(--hairline);border-radius:8px;padding:6px 8px;color:var(--text);text-align:right}.fund-row__amt{margin-left:auto;white-space:nowrap}.funds-editor__foot{margin-top:12px}@media (max-width: 640px){.records__layout{grid-template-columns:1fr}.records__rail{position:static;flex-direction:row}.records__tab{flex:1}.fund-row__amt{margin-left:0}}.year-nav{display:flex;align-items:center;gap:8px}.year-nav strong{font-size:17px;min-width:48px;text-align:center;font-variant-numeric:tabular-nums}.year-nav__select{background:var(--bg-2);border:1px solid var(--hairline);border-radius:10px;padding:7px 12px;color:var(--text);font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;cursor:pointer;outline:none;transition:border-color .2s,box-shadow .2s}.year-nav__select:hover{border-color:var(--hairline-strong)}.year-nav__select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f138}.year-nav__select option{background:var(--surface);color:var(--text)}.year-nav .icon-btn:disabled{opacity:.35;cursor:not-allowed}.year-nav__today{margin-left:2px}.cashflow__summary{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.cashflow__summary .chip strong{color:var(--text);margin-left:4px;font-variant-numeric:tabular-nums}.cashflow__table th,.cashflow__table td{padding:8px 10px}.cell-input{width:92px;background:var(--bg-2);border:1px solid var(--hairline);border-radius:9px;padding:7px 9px;color:var(--text);font-size:14px;text-align:right;outline:none;font-variant-numeric:tabular-nums;transition:border-color .2s,box-shadow .2s}.cell-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f138}.row--current{background:rgba(99,102,241,.1)}.tag{display:inline-block;margin-left:8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#c7d2fe;background:rgba(99,102,241,.2);border-radius:6px;padding:2px 6px}.tag--done{color:#6ee7b7;background:rgba(16,185,129,.18)}.free strong{color:var(--green);font-variant-numeric:tabular-nums}.free--neg strong{color:var(--red)}.empty{text-align:center;color:var(--muted);padding:40px 20px}.footer{margin-top:34px;text-align:center;color:var(--faint);font-size:12px;display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;justify-content:center}.sync{display:inline-flex;align-items:center;gap:6px}.sync__dot{width:8px;height:8px;border-radius:50%;display:inline-block}@media (max-width: 560px){.stat__value{font-size:21px}.header__title{font-size:20px}.app{padding:22px 16px 60px}}.debt-card__schedule-link{background:none;border:none;color:var(--accent);font-weight:600;font-size:13px;cursor:pointer;padding:0;margin:2px 0 12px;text-align:left;align-self:flex-start}.debt-card__schedule-link:hover{color:#a5b4fc;text-decoration:underline}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(5,8,18,.62);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:grid;place-items:center;padding:20px;z-index:100;animation:fade .25s ease both}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{background:var(--glass-strong);backdrop-filter:blur(28px) saturate(150%);-webkit-backdrop-filter:blur(28px) saturate(150%);border:1px solid var(--hairline-strong);border-radius:var(--radius-lg);box-shadow:var(--edge-light),var(--shadow-lg);width:min(880px,100%);max-height:88vh;display:flex;flex-direction:column;overflow:hidden;animation:pop .32s var(--ease-out) both}@keyframes pop{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px 16px;border-bottom:1px solid var(--hairline)}.modal__head h2{margin:0 0 6px;font-size:18px;letter-spacing:-.02em}.modal__head p{margin:0;max-width:640px}.modal__close{background:var(--surface-2);border:1px solid var(--hairline);color:var(--muted);border-radius:10px;width:32px;height:32px;cursor:pointer;flex-shrink:0;font-size:14px;transition:color .2s,border-color .2s,background .2s}.modal__close:hover{color:var(--text);border-color:var(--hairline-strong);background:rgba(255,255,255,.06)}.modal__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:16px 24px}.mstat{background:var(--surface-2);border:1px solid var(--hairline);border-radius:13px;padding:12px 14px;display:flex;flex-direction:column;gap:3px}.mstat strong{font-size:17px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.mstat .pos{color:var(--green)}.modal__table{overflow-y:auto;padding:0 24px 24px}.schedule-table{font-size:13px}.schedule-table th{position:sticky;top:0;background:#131b33;z-index:1}.schedule-table .accrue{color:var(--amber)}.ktag{display:inline-block;margin-left:7px;padding:1px 7px;border-radius:20px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;vertical-align:middle}.ktag--anchor{background:rgba(99,102,241,.22);color:#c7d2fe}.ktag--logged{background:rgba(52,211,153,.18);color:#6ee7b7}.ktag--planned{background:rgba(139,92,246,.2);color:#d8b4fe}.ktag--emi{background:rgba(251,191,36,.16);color:#fcd34d}.ktag--part-interest{background:var(--surface-2);color:var(--muted)}@media (max-width: 640px){.modal__stats{grid-template-columns:repeat(2,1fr)}}.editor__currency{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px}.cur-toggle{display:inline-flex;border:1px solid var(--hairline);border-radius:11px;overflow:hidden;background:var(--bg-2)}.cur-toggle__btn{background:transparent;border:none;color:var(--muted);padding:6px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s,color .2s}.cur-toggle__btn+.cur-toggle__btn{border-left:1px solid var(--hairline)}.cur-toggle__btn:hover{color:var(--text)}.cur-toggle__btn--on{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.cur-toggle__btn--on:hover{color:#fff}.field__hint{font-size:12px}.networth{display:flex;flex-direction:column;gap:18px}.goal__head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.goal__head h2{margin:0;letter-spacing:-.02em}.goal__meta{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:14px;color:var(--muted);font-size:14px}.goal__meta strong{color:var(--text);font-variant-numeric:tabular-nums}.allocation__body{display:flex;align-items:center;gap:32px;flex-wrap:wrap}.donut{position:relative;flex-shrink:0;filter:drop-shadow(0 8px 22px rgba(0,0,0,.45))}.donut__center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.donut__top{font-size:18px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.donut__bottom{font-size:12px;color:var(--muted)}.legend{list-style:none;margin:0;padding:0;flex:1;min-width:240px;display:flex;flex-direction:column;gap:10px}.legend__item{display:flex;align-items:center;gap:10px;font-size:14px}.legend__name{flex:1;color:var(--text)}.legend__val{font-weight:600;color:var(--text);white-space:nowrap;font-variant-numeric:tabular-nums}.asset-rows{display:flex;flex-direction:column;gap:12px;margin-top:14px}.asset-row{align-items:flex-start}.asset-row .field{flex:1 1 160px}.asset-row .field.grow{flex:2 1 200px}.asset-row__value{flex:1 1 220px}.asset-row__color{flex:1 1 100%}.asset-row__color .swatches{margin-top:4px}.asset-row .icon-btn{align-self:center;margin-top:22px}.amount-input{display:flex;align-items:stretch;border:1px solid var(--hairline);border-radius:11px;overflow:hidden;background:var(--bg-2);transition:border-color .2s,box-shadow .2s}.amount-input input{border:none;background:transparent;flex:1;min-width:0;border-radius:0}.amount-input input:focus{outline:none;box-shadow:none}.amount-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #6366f138}.cur-toggle--sm{border:none;border-right:1px solid var(--hairline);border-radius:0;flex-shrink:0;background:transparent}.cur-toggle--sm .cur-toggle__btn{padding:0 12px}.records{display:flex;flex-direction:column;gap:18px}.gear-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--hairline);border-radius:13px;background:var(--glass);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);color:var(--muted);cursor:pointer;box-shadow:var(--edge-light),var(--shadow-sm);transition:background .2s,color .2s,border-color .2s,transform .25s var(--ease),box-shadow .25s}.gear-btn:hover{color:var(--text);border-color:var(--hairline-strong);transform:translateY(-1px);box-shadow:var(--edge-light),var(--shadow)}.gear-btn:hover .gear-btn__icon{transform:rotate(45deg)}.gear-btn--on{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-color:transparent;color:#fff;box-shadow:0 8px 22px -10px #6366f1e6,var(--edge-light)}.gear-btn__icon{font-size:20px;line-height:1;transition:transform .35s var(--ease)}.plan{display:flex;flex-direction:column;gap:18px}.btn--ghost{background:transparent;border:1px solid var(--hairline);color:var(--muted)}.btn--ghost:hover{color:var(--text);border-color:var(--hairline-strong);background:rgba(255,255,255,.04);filter:none}.income-sim__slider{width:100%;margin:16px 0 12px;accent-color:var(--accent);cursor:pointer}.income-sim__readout{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.income-sim__big{font-size:23px;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums;background:linear-gradient(120deg,#a5b4fc,#c4b5fd);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.income-sim__delta{font-size:14px;color:var(--muted)}.income-sim__delta strong{color:var(--text);font-variant-numeric:tabular-nums}.income-sim__delta.up strong{color:var(--green)}.income-sim__delta.down strong{color:var(--red)}.alloc{display:flex;flex-direction:column;gap:12px;margin-top:14px}.alloc__row{display:flex;align-items:center;gap:10px;font-size:14px}.alloc__name{flex:1;color:var(--text)}.alloc__pct{width:64px;text-align:right;background:var(--bg-2);border:1px solid var(--hairline);border-radius:9px;padding:7px 10px;color:var(--text);font-size:14px;outline:none;font-variant-numeric:tabular-nums;transition:border-color .2s,box-shadow .2s}.alloc__pct:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f138}.alloc__amt{width:120px;text-align:right;font-weight:600;color:var(--text);white-space:nowrap;font-variant-numeric:tabular-nums}.plan-growth{margin-top:16px;max-width:320px}.plan-month--closed{border-color:#10b98166}.plan-month__log{display:flex;flex-direction:column;gap:10px;margin:14px 0}.plan-month__row{display:flex;align-items:center;gap:10px;font-size:14px}.plan-month__name{flex:1;color:var(--text)}.plan-month__rec{white-space:nowrap}.plan-month__input{width:150px}.plan-month__foot{display:flex;flex-direction:column;gap:16px;border-top:1px solid var(--hairline);padding-top:18px;margin-top:4px}.plan-month__totals{display:flex;flex-wrap:wrap;gap:28px;font-size:14px;color:var(--muted)}.plan-month__totals strong{color:var(--text);font-variant-numeric:tabular-nums}.plan-month__totals .free--neg strong{color:var(--red)}.plan-month__hint{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid var(--hairline);border-radius:12px;background:var(--bg-2);font-size:13px;color:var(--muted);line-height:1.5}.plan-month__hint p{margin:0}.plan-month__hint strong{color:var(--text)}.plan-month__hint-icon{flex:0 0 auto;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:rgba(99,102,241,.15);color:var(--accent);font-size:12px;font-weight:700}.plan-month__actions{display:flex;gap:12px}.plan-month__actions .btn{flex:1 1 0;min-width:0;text-align:center}.month-log-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.month-log{border:1px solid var(--hairline);border-radius:12px;overflow:hidden;background:var(--bg-2)}.month-log__head{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;background:none;border:none;cursor:pointer;color:var(--text);font-size:14px;text-align:left}.month-log__head:hover{background:rgba(255,255,255,.03)}.month-log__chevron{color:var(--muted);font-size:12px;width:12px}.month-log__name{flex:1;font-weight:600}.month-log__total{color:var(--green);font-variant-numeric:tabular-nums}.month-log__body{padding:4px 14px 14px 38px;display:flex;flex-direction:column;gap:8px}.month-log__row{display:flex;align-items:center;gap:10px;font-size:14px}.month-log__row-name{flex:1;color:var(--muted)}.month-log__row-val{color:var(--text);font-variant-numeric:tabular-nums}.month-log__foot{border-top:1px solid var(--hairline);padding-top:8px;margin-top:2px}.plan-bars{display:flex;flex-direction:column;gap:10px;margin-top:14px}.plan-bar{display:flex;align-items:center;gap:12px}.plan-bar__year{width:48px;color:var(--muted);font-size:14px;font-variant-numeric:tabular-nums}.plan-bar__track{flex:1}.plan-bar__val{width:110px;text-align:right;font-weight:600;color:var(--text);white-space:nowrap;font-variant-numeric:tabular-nums}@media (max-width: 640px){.alloc__amt{width:92px}.plan-bar__val{width:84px}}@media (max-width: 640px){.allocation__body{flex-direction:column;align-items:stretch}.donut{align-self:center}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:360px;display:flex;flex-direction:column;gap:14px}.login-title{margin:0;font-size:24px}.login-card .muted{margin:0 0 4px}.login-error{margin:0;font-size:13px;color:#fb7185}.login-submit{margin-top:4px;width:100%}.father-debt{--accent: var(--amber);margin-top:22px}.father-debt .section-head{align-items:flex-start}.father-debt__note{margin:4px 0 0;max-width:60ch}.father-debt__summary{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 18px}.father-debt__summary .chip strong{color:var(--text)}.father-debt__people{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.owed-locked{display:flex;align-items:center;gap:8px;min-height:38px}.owed-locked strong{font-size:16px;font-variant-numeric:tabular-nums}.owed-edit{display:flex;align-items:center;gap:6px}.owed-edit .prefixed{flex:1;min-width:0}.icon-btn--ok{color:var(--accent-3, #34d399);border-color:#34d39966}.icon-btn--ok:hover{background:rgba(52,211,153,.14)}.father-debt__rollup{margin-top:22px}.father-debt__rollup h3{margin:0 0 12px;font-size:15px}.father-debt__table tfoot td{border-top:1px solid var(--hairline-strong);font-weight:700;color:var(--text)}.father-debt__table td.num,.father-debt__table th.num{font-variant-numeric:tabular-nums}.invest-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px;flex:none}.person-card{background:var(--bg-2);border:1px solid var(--hairline);border-radius:var(--radius-sm);padding:16px;display:flex;flex-direction:column;gap:12px}.person-card__top{display:flex;align-items:center;gap:8px}.person-card__name{flex:1;background:transparent;border:1px solid transparent;border-radius:9px;padding:6px 8px;color:var(--text);font-size:16px;font-weight:700;outline:none;transition:border-color .2s,background .2s}.person-card__name:hover,.person-card__name:focus{border-color:var(--hairline-strong);background:rgba(255,255,255,.03)}.person-card__amounts{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px;align-items:end}.person-card__stat{display:flex;flex-direction:column;gap:2px}.person-card__stat.right{text-align:right}.person-card__stat strong{font-size:16px;font-variant-numeric:tabular-nums}.person-card__meta{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.person-card__quick{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--hairline);border-radius:11px;padding:4px 4px 4px 12px;transition:border-color .2s,box-shadow .2s}.person-card__quick:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #fbbf242e}.person-card__quick .prefix{color:var(--muted);font-weight:700}.person-card__quick input{flex:1;background:transparent;border:none;color:var(--text);font-size:14px;padding:8px 0;outline:none;width:100%;font-variant-numeric:tabular-nums}.person-card__quick button{border:none;background:linear-gradient(135deg,#f59e0b,#ec4899);color:#fff;font-weight:700;border-radius:9px;padding:8px 16px;cursor:pointer;transition:filter .2s,transform .1s}.person-card__quick button:hover:not(:disabled){filter:brightness(1.08)}.person-card__quick button:disabled{opacity:.4;cursor:not-allowed}.person-card__body{border-top:1px solid var(--hairline);padding-top:12px;display:flex;flex-direction:column;gap:10px}.person-card__plans-head,.person-card__log-head{display:flex;align-items:center;justify-content:space-between;margin:0;font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.person-card__log-head{margin-top:6px}.person-card__log{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.person-card__log li{display:flex;justify-content:space-between;font-size:13px;padding:4px 0;border-bottom:1px dashed var(--hairline)}.person-card__log strong{font-variant-numeric:tabular-nums}.plan-rows{display:flex;flex-direction:column;gap:12px}.plan-row{padding:14px;background:var(--bg);border:1px solid var(--hairline);border-radius:10px}.plan-row--editing{display:grid;grid-template-columns:1fr 110px auto;grid-template-areas:"mode mode mode" "emi months del" "starts starts starts" "hint hint hint" "actions actions actions";gap:12px 10px;align-items:end}.plan-row__mode{grid-area:mode;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.plan-row__mode-label{font-size:12px;color:var(--muted)}.plan-row__emi{grid-area:emi}.plan-row__months{grid-area:months;min-width:0}.plan-row__months-label{display:flex;align-items:center;justify-content:space-between;gap:6px}.plan-row__unit{border:1px solid var(--hairline);background:var(--bg-2);color:var(--muted);border-radius:6px;padding:1px 6px;font-size:10px;text-transform:uppercase;letter-spacing:.04em;cursor:pointer}.plan-row__unit:hover{border-color:var(--accent);color:var(--text)}.plan-row__starts{grid-area:starts}.plan-row__hint{grid-area:hint;margin:-2px 0 0;font-variant-numeric:tabular-nums}.plan-row__del{grid-area:del;align-self:end;margin-bottom:2px}.plan-row__actions{grid-area:actions;display:flex;align-items:center;justify-content:flex-end;gap:12px}.seg{display:inline-flex;border:1px solid var(--hairline);border-radius:8px;overflow:hidden;background:var(--bg-2)}.seg__btn{border:none;background:transparent;color:var(--muted);padding:5px 12px;font-size:12px;cursor:pointer;border-left:1px solid var(--hairline)}.seg__btn:first-child{border-left:none}.seg__btn:hover:not(:disabled){color:var(--text)}.seg__btn.is-active{background:var(--accent);color:#fff}.seg__btn:disabled{opacity:.4;cursor:not-allowed}.seg__count{display:inline-block;margin-left:4px;padding:0 5px;border-radius:999px;background:rgba(255,255,255,.12);font-size:11px;font-variant-numeric:tabular-nums}.seg__btn.is-active .seg__count{background:rgba(255,255,255,.28)}.history .seg{margin-bottom:14px}.plan-row .field input.is-derived,.plan-row .field .prefixed.is-derived{background:var(--bg-2);color:var(--muted);cursor:default}.plan-row .field span{font-size:11px}.plan-row .field input{padding:9px 10px;font-size:14px;width:100%}.plan-row__starts input[type=month]{width:100%}.plan-row--locked{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}.plan-row__summary{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.plan-row__summary strong{font-size:15px;font-variant-numeric:tabular-nums}.plan-row__locked-actions{display:flex;gap:6px;flex:none}.plan-row__status{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.prefixed{display:flex;align-items:center;background:var(--bg-2);border:1px solid var(--hairline);border-radius:11px;padding-left:11px;transition:border-color .2s,box-shadow .2s}.prefixed:focus-within{border-color:var(--accent)}.prefixed .prefix{color:var(--muted);font-weight:700}.prefixed input{background:transparent!important;border:none!important;padding-left:6px!important}.link-btn{background:none;border:none;color:var(--accent-3);font-size:13px;font-weight:600;cursor:pointer;padding:0}.link-btn:hover{text-decoration:underline}.btn--sm{padding:6px 12px;font-size:13px}.chip--sm{font-size:11px;padding:3px 9px}.tag--warn{color:#fcd34d;background:rgba(251,191,36,.18)}.icon-btn--xs{width:24px;height:24px;font-size:11px;flex:none}.debt-card__links{display:flex;flex-wrap:wrap;gap:14px}.debt-card__pay,.person-card__pay{display:flex;flex-direction:column;gap:8px}.debt-card__pay-row,.person-card__pay-row{display:flex;align-items:stretch;gap:8px}.debt-card__pay-row .debt-card__quick,.person-card__pay-row .person-card__quick{flex:1;min-width:0}.debt-card__month,.person-card__month{background:var(--bg-2);border:1px solid var(--hairline);border-radius:11px;color:var(--text);font-size:13px;padding:0 10px;outline:none;transition:border-color .2s}.debt-card__month:focus,.person-card__month:focus{border-color:var(--accent)}.debt-card__pay-row button,.person-card__pay-row button{border:none;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-weight:700;border-radius:9px;padding:0 16px;cursor:pointer;transition:filter .2s,transform .1s}.person-card__pay-row button{background:linear-gradient(135deg,#f59e0b,#ec4899)}.debt-card__pay-row button:hover:not(:disabled),.person-card__pay-row button:hover:not(:disabled){filter:brightness(1.08)}.debt-card__pay-row button:disabled,.person-card__pay-row button:disabled{opacity:.4;cursor:not-allowed}.debt-card__father,.person-card__father,.form__check{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);cursor:pointer}.debt-card__father input,.person-card__father input,.form__check input{width:15px;height:15px;accent-color:var(--amber)}.form__check{margin-top:4px}.debt-card__log,.person-card__log{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.debt-card__log li{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;font-size:13px;padding:4px 0;border-bottom:1px dashed var(--hairline)}.person-card__log li{grid-template-columns:1fr auto auto}.debt-card__log-amt,.person-card__log-amt{display:inline-flex;align-items:center;gap:6px;font-variant-numeric:tabular-nums}.emi-cell{background:none;border:none;color:var(--text);font:inherit;cursor:pointer;padding:2px 4px;border-radius:8px;text-align:right;width:100%;transition:background .15s;font-variant-numeric:tabular-nums}.emi-cell:hover{background:rgba(255,255,255,.06)}.emi-cell .block{display:block}.modal--narrow{width:min(520px,100%)}.modal--confirm{width:min(420px,100%)}.modal--confirm .modal__head{padding-bottom:16px}.modal--confirm .modal__head h2{display:flex;align-items:center;gap:9px;margin:0}.modal--danger{border-color:#fb718566;box-shadow:var(--edge-light),0 24px 70px -28px #fb71858c}.modal--danger .modal__head{border-bottom-color:#fb71853d}.confirm__warn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:9px;font-size:15px;background:rgba(251,113,133,.16);color:#fda4af;border:1px solid rgba(251,113,133,.36)}.confirm__body{padding:18px 24px 4px}.confirm__msg{margin:0;color:var(--muted);font-size:14px;line-height:1.5}.confirm__list{list-style:none;margin:16px 0 0;padding:14px 16px;background:var(--surface-2);border:1px solid var(--hairline);border-radius:12px;display:flex;flex-direction:column;gap:9px}.confirm__list li{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}.confirm__list li span{color:var(--muted)}.confirm__actions{display:flex;justify-content:flex-end;gap:10px;padding:20px 24px 22px}.confirm__actions .btn{padding:10px 18px}.emi-breakdown{padding:16px 24px 24px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.emi-breakdown__row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--hairline)}.emi-breakdown__name{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.emi-breakdown__amt{text-align:right;font-variant-numeric:tabular-nums}.emi-breakdown__amt .block{display:block}.emi-breakdown__total{display:flex;align-items:center;justify-content:space-between;padding:12px 0 2px;font-size:15px}.emi-breakdown__total strong{font-variant-numeric:tabular-nums}.emi-breakdown__total--muted{color:var(--muted);font-size:13px;padding-top:6px}.assistant__layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;max-width:1140px;margin:0 auto;align-items:start}.assistant__sidebar{position:sticky;top:16px;background:var(--glass);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border:1px solid var(--hairline);border-radius:var(--radius);box-shadow:var(--edge-light),var(--shadow);padding:14px 12px;display:flex;flex-direction:column;gap:12px;max-height:min(72vh,760px)}.assistant__sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:0 2px}.conv-list{display:flex;flex-direction:column;gap:6px;overflow-y:auto}.conv-list__empty{padding:8px 4px}.conv-item{display:flex;align-items:center;gap:6px;padding:9px 8px 9px 11px;border-radius:var(--radius-sm);cursor:pointer;border:1px solid transparent;background:rgba(255,255,255,.02);transition:background .16s var(--ease),border-color .16s var(--ease),transform .16s var(--ease)}.conv-item:hover{background:var(--surface);border-color:var(--hairline)}.conv-item.is-active{background:linear-gradient(157deg,rgba(139,92,246,.22),rgba(99,102,241,.12));border-color:#8b5cf680;box-shadow:inset 0 1px #ffffff0f}.conv-item__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.conv-item__title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;color:var(--text)}.conv-item.is-active .conv-item__title{font-weight:600}.conv-item__time{line-height:1;color:var(--faint)}.conv-item__del{flex-shrink:0;background:none;border:none;color:var(--faint);cursor:pointer;font-size:13px;line-height:1;padding:4px 6px;border-radius:var(--radius-pill);opacity:0;transition:opacity .16s var(--ease),color .16s var(--ease),background .16s var(--ease)}.conv-item:hover .conv-item__del,.conv-item.is-active .conv-item__del{opacity:1}.conv-item__del:hover{color:var(--red);background:rgba(251,113,133,.14)}.assistant__card{display:flex;flex-direction:column;min-width:0}.assistant__sub{max-width:620px}.assistant__head-actions{display:flex;gap:8px;flex-shrink:0}.assistant__chats-toggle{display:none}@media (max-width: 760px){.assistant__layout{grid-template-columns:1fr}.assistant__sidebar{display:none}.assistant__sidebar.is-open{display:flex;position:static;max-height:320px}.assistant__chats-toggle{display:inline-flex}}.chat{flex:1;min-height:340px;max-height:min(58vh,620px);overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding:6px 2px 12px;margin-top:6px}.chat__welcome{margin:auto 0;padding:12px 0}.chat__suggestions{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-top:12px}.chat__chip{text-align:left;background:var(--bg-2);border:1px solid var(--hairline);border-radius:12px;padding:12px 14px;color:var(--text);font-size:13.5px;line-height:1.4;cursor:pointer;transition:border-color .15s,transform .1s}.chat__chip:hover{border-color:var(--accent);transform:translateY(-1px)}.chat__msg{display:flex}.chat__msg--user{justify-content:flex-end}.chat__msg--assistant{justify-content:flex-start}.chat__bubble{max-width:84%;padding:12px 15px;border-radius:16px;font-size:14.5px;line-height:1.55;word-break:break-word}.chat__msg--user .chat__bubble{background:var(--accent);color:#fff;border-bottom-right-radius:5px}.chat__msg--assistant .chat__bubble{background:var(--bg-2);border:1px solid var(--hairline);color:var(--text);border-bottom-left-radius:5px}.chat-md>:first-child{margin-top:0}.chat-md>:last-child{margin-bottom:0}.chat-md p{margin:0 0 8px}.chat-md ul,.chat-md ol{margin:4px 0 10px;padding-left:22px;display:flex;flex-direction:column;gap:4px}.chat-md li{padding-left:2px}.chat-md h1,.chat-md h2,.chat-md h3,.chat-md h4{margin:14px 0 8px;line-height:1.3;font-weight:700}.chat-md h1{font-size:18px}.chat-md h2{font-size:16.5px}.chat-md h3{font-size:15px}.chat-md h4{font-size:14px;color:var(--muted)}.chat-md strong{font-weight:700;color:#fff}.chat-md a{color:var(--accent-3);text-decoration:underline}.chat-md blockquote{margin:8px 0;padding:4px 12px;border-left:3px solid var(--accent);color:var(--muted)}.chat-md code{background:rgba(255,255,255,.08);border-radius:5px;padding:1px 5px;font-size:.88em;font-variant-numeric:tabular-nums}.chat-md pre{background:var(--bg);border:1px solid var(--hairline);border-radius:10px;padding:12px;overflow-x:auto;margin:8px 0}.chat-md pre code{background:none;padding:0}.chat-md hr{border:none;border-top:1px solid var(--hairline);margin:12px 0}.chat-md table{width:100%;border-collapse:collapse;margin:8px 0 12px;font-size:13.5px;display:block;overflow-x:auto}.chat-md th,.chat-md td{border:1px solid var(--hairline);padding:7px 10px;text-align:left;font-variant-numeric:tabular-nums;white-space:nowrap}.chat-md thead th{background:var(--bg);font-weight:700;color:#fff}.chat-md tbody tr:nth-child(2n){background:rgba(255,255,255,.03)}.chat__bubble--thinking{display:inline-flex;gap:5px;align-items:center}.chat__dot{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:chat-blink 1.2s infinite ease-in-out}.chat__dot:nth-child(2){animation-delay:.2s}.chat__dot:nth-child(3){animation-delay:.4s}@keyframes chat-blink{0%,80%,to{opacity:.25}40%{opacity:1}}.chat__error{color:#fca5a5;font-size:13px;margin:6px 2px 0}.chat__composer{display:flex;gap:10px;align-items:flex-end;margin-top:10px;border-top:1px solid var(--hairline);padding-top:14px}.chat__input{flex:1;resize:none;max-height:160px;background:var(--bg-2);border:1px solid var(--hairline);border-radius:12px;color:var(--text);padding:12px 14px;font:inherit;font-size:14.5px;line-height:1.5}.chat__input:focus{outline:none;border-color:var(--accent)}.chat__composer .btn{height:44px;flex:none}.chat__disclaimer{margin:8px 2px 0}
