:root{--lf-success: #30d158}:root[data-theme=light]{--lf-success: #0f8f45}.lf-root{font-size:14px;text-align:left}.lf-root .num,.lf-num{font-variant-numeric:tabular-nums}.lf-card{border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:1.3em 1.5em;transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}.lf-card+.lf-card{margin-top:1.15em}.lf-label{display:block;font-size:.86em;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-faint)}.lf-field{display:flex;flex-direction:column;gap:.4em}.lf-input,.lf-root input[type=text],.lf-root input[type=number],.lf-root input[type=date],.lf-root input[type=search],.lf-root select,.lf-root textarea{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--fg);padding:.65em .85em;font-size:1em;font-family:inherit;caret-color:var(--accent)}.lf-input:focus,.lf-root input:focus,.lf-root select:focus,.lf-root textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3d7eff29}.lf-root input[type=date]{color-scheme:dark}:root[data-theme=light] .lf-root input[type=date]{color-scheme:light}.lf-root button:focus-visible,.lf-root [tabindex]:focus-visible,.lf-overlay button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lf-btn-sm{padding:.45em .85em;font-size:.93em}.lf-btn-danger{border-color:var(--error);color:var(--error)}.lf-btn-danger:hover{border-color:var(--error);box-shadow:0 4px 14px #e8355d40}.lf-hoverable{transition:border-color .15s var(--ease),background-color .15s var(--ease),transform .15s var(--ease)}.lf-hoverable:hover{border-color:var(--accent);background:var(--surface-alt)}.lf-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;align-items:flex-start;justify-content:center;padding:9vh 16px 16px;background:#0000008c;animation:lf-fade-in .15s var(--ease)}.lf-modal{width:100%;max-width:26.5em;max-height:82vh;overflow:auto;border:1px solid var(--border);border-radius:12px;background:var(--surface);animation:lf-pop .18s var(--ease)}.lf-modal.lf-modal-wide{max-width:40em}.lf-modal-head{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:.6em;padding:1em 1.3em;border-bottom:1px solid var(--border);background:var(--surface);font-weight:600;font-size:1em}.lf-modal-body{padding:1.3em;display:flex;flex-direction:column;gap:1em;font-size:1em}.lf-x{border:none;background:none;color:var(--fg-faint);font-size:1em;line-height:1;padding:.3em;cursor:pointer;border-radius:var(--radius);transition:color .12s var(--ease)}.lf-x:hover{color:var(--fg)}.lf-modal-actions{display:flex;justify-content:flex-end;gap:.6em;flex-wrap:wrap}.lf-modal-message{color:var(--fg-muted);font-size:1em;line-height:1.5}.lf-icon-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:.3em}.lf-icon-btn{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);font-size:1.15em;line-height:1;padding:.4em 0;cursor:pointer;transition:border-color .12s var(--ease),transform .12s var(--ease)}.lf-icon-btn:hover{border-color:var(--accent);transform:scale(1.08)}.lf-icon-btn.sel{border-color:var(--accent);box-shadow:0 0 0 2px #3d7eff40}.lf-colorfield{display:flex;flex-direction:column;gap:.4em}.lf-color-row{display:flex;align-items:center;gap:.6em;flex-wrap:wrap}.lf-color-input{width:2.4em;height:2.4em;padding:.15em;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);cursor:pointer}.lf-swatches{display:flex;gap:.35em;flex-wrap:wrap}.lf-swatch{width:1.55em;height:1.55em;border-radius:50%;border:1px solid var(--border);cursor:pointer;padding:0;transition:transform .12s var(--ease),box-shadow .12s var(--ease)}.lf-swatch:hover{transform:scale(1.15)}.lf-swatch.sel{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--accent)}.lf-fab{position:fixed;right:22px;bottom:22px;z-index:80;width:52px;height:52px;border-radius:50%;border:1px solid var(--accent);background:var(--surface);color:var(--accent);font-size:24px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--glow);transition:transform .15s var(--ease),box-shadow .15s var(--ease)}.lf-fab:hover{transform:translateY(-2px) scale(1.05);box-shadow:var(--glow-strong)}.lf-fab:active{transform:scale(.95)}.lf-empty{text-align:center;padding:2.6em 1.3em;color:var(--fg-muted)}.lf-empty .lf-empty-icon{font-size:2em;margin-bottom:.4em}.lf-empty .lf-empty-title{font-weight:600;color:var(--fg);font-size:1.07em}.lf-empty .lf-empty-hint{font-size:.93em;color:var(--fg-faint);margin-top:.3em;line-height:1.5}.lf-empty .lf-empty-action{margin-top:1em}.lf-install{gap:.4em}@keyframes lf-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lf-pop{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.lf-root *,.lf-overlay,.lf-overlay *,.lf-fab{animation:none!important;transition:none!important}}.lf-overview{position:relative}.lf-ov-head{display:flex;align-items:flex-end;justify-content:space-between;gap:.8em;flex-wrap:wrap;margin-bottom:1.2em}.lf-ov-title{margin:.15em 0 0;font-size:1.35em;font-weight:700;letter-spacing:-.01em;color:var(--fg)}.lf-ov-actions{display:flex;align-items:center;gap:.5em;flex-wrap:wrap}.lf-btn-icon{padding:.45em .65em;line-height:1}.lf-btn-icon:disabled{opacity:.4;cursor:default;box-shadow:none}.lf-group+.lf-group{margin-top:1.25em}.lf-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:.6em;padding-bottom:.45em;margin-bottom:.6em;border-bottom:1px solid var(--border)}.lf-group-total{font-size:.93em;color:var(--fg-faint)}.lf-group-grid{display:grid;grid-template-columns:1fr;gap:.55em}@media(min-width:720px){.lf-group-grid{grid-template-columns:repeat(auto-fill,minmax(19.5em,1fr));gap:.7em}}.lf-acct{display:flex;align-items:center;gap:.75em;padding:.75em .9em;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);cursor:pointer;-webkit-user-select:none;user-select:none}.lf-acct:hover{transform:translateY(-1px)}.lf-acct:active{transform:none}.lf-acct.lf-acct-hidden{opacity:.6;cursor:pointer}.lf-acct.lf-dragging{opacity:.45}.lf-acct.lf-drag-over{border-color:var(--accent);box-shadow:0 0 0 2px #3d7eff47;background:var(--surface-alt)}.lf-acct-chip{flex:none;display:flex;align-items:center;justify-content:center;width:2.5em;height:2.5em;border:1px solid var(--border);border-radius:var(--radius);font-size:1.1em;line-height:1}.lf-acct-info{flex:1 1 auto;min-width:0}.lf-acct-name{font-weight:600;color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lf-acct-type{margin-top:.15em;font-size:.82em;text-transform:uppercase;letter-spacing:.07em;color:var(--fg-faint)}.lf-acct-right{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:.3em}.lf-balance-btn{border:none;border-bottom:1px dashed transparent;background:none;padding:.1em 0;font:inherit;font-size:1.05em;font-weight:600;font-variant-numeric:tabular-nums;color:var(--fg);cursor:text;transition:color .12s var(--ease),border-color .12s var(--ease)}.lf-balance-btn:hover{color:var(--accent);border-bottom-color:var(--accent)}.lf-balance-btn.neg{color:var(--error)}.lf-root input.lf-balance-input{width:8.5em;padding:.25em .5em;font-size:1em;font-weight:600;font-variant-numeric:tabular-nums;text-align:right}.lf-acct-actions{display:flex;gap:.3em}.lf-act{border:1px solid var(--border);border-radius:var(--radius);background:none;padding:.2em .45em;font-size:.86em;line-height:1.3;font-family:inherit;color:var(--fg-muted);cursor:pointer;transition:color .12s var(--ease),border-color .12s var(--ease)}.lf-act:hover{color:var(--accent);border-color:var(--accent)}.lf-act.lf-act-danger:hover{color:var(--error);border-color:var(--error)}@media(hover:hover)and (pointer:fine){.lf-acct .lf-acct-actions{opacity:0;transition:opacity .15s var(--ease)}.lf-acct:hover .lf-acct-actions,.lf-acct:focus-within .lf-acct-actions{opacity:1}}.lf-hidden{margin-top:1.25em;border-top:1px solid var(--border);padding-top:.8em}.lf-hidden>summary{display:flex;align-items:center;gap:.5em;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.lf-hidden>summary::-webkit-details-marker{display:none}.lf-hidden>summary:before{content:"▸";font-size:.8em;color:var(--fg-faint);transition:transform .15s var(--ease)}.lf-hidden[open]>summary:before{transform:rotate(90deg)}.lf-hidden>summary .lf-label{display:inline}.lf-hidden-count{padding:.05em .55em;border:1px solid var(--border);border-radius:999px;font-size:.82em;color:var(--fg-faint)}.lf-hidden>.lf-group-grid{margin-top:.7em}.lf-form{display:flex;flex-direction:column;gap:1em}.lf-form-row2{display:grid;grid-template-columns:1fr 1fr;gap:.9em}@media(max-width:560px){.lf-form-row2{grid-template-columns:1fr}}.lf-chart{display:block;width:100%;height:auto;font-family:var(--font-sans)}.lf-chart text{font-variant-numeric:tabular-nums}.lf-panel-head{display:flex;align-items:center;justify-content:space-between;gap:.8em;flex-wrap:wrap;margin-bottom:1.1em}.lf-panel-title{margin:0;font-size:.86em;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-faint)}.lf-panel-section{margin-top:1.1em}.lf-panel-section>.lf-label{margin-bottom:.5em}.lf-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5em,1fr));gap:.9em 1.2em}.lf-fact{display:flex;flex-direction:column;gap:.3em;min-width:0}.lf-inline-btn{align-self:flex-start;max-width:100%;background:none;border:none;border-bottom:1px dashed transparent;padding:.1em 0;font:inherit;font-size:1.07em;font-weight:600;font-variant-numeric:tabular-nums;color:var(--fg);text-align:left;cursor:pointer;transition:color .12s var(--ease),border-color .12s var(--ease)}.lf-inline-btn:hover{color:var(--accent);border-bottom-color:var(--accent)}.lf-inline-btn.lf-placeholder{color:var(--fg-faint);font-weight:400}.lf-root .lf-inline-input{max-width:11em;padding:.3em .55em;font-size:1em}.lf-progress-track{height:.6em;border:1px solid var(--border);border-radius:999px;background:var(--bg);overflow:hidden}.lf-progress-fill{height:100%;border-radius:999px;background:var(--accent);transition:width .3s var(--ease)}.lf-progress-meta{display:flex;justify-content:space-between;gap:.6em;flex-wrap:wrap;margin-top:.45em;font-size:.93em;color:var(--fg-muted);font-variant-numeric:tabular-nums}.lf-progress-hint{font-size:.93em;color:var(--fg-faint)}.lf-table-wrap{overflow-x:auto}.lf-table{width:100%;border-collapse:collapse;font-size:.95em}.lf-table th{padding:.5em .7em;border-bottom:1px solid var(--border);font-size:.8em;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--fg-faint);text-align:left;white-space:nowrap}.lf-table td{padding:.55em .7em;border-bottom:1px solid var(--border);vertical-align:middle;color:var(--fg)}.lf-table tbody tr{transition:background-color .15s var(--ease)}.lf-table tbody tr:hover{background:var(--surface-alt)}.lf-th-num,.lf-td-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.lf-td-note{color:var(--fg-muted);max-width:14em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lf-td-actions{text-align:right;white-space:nowrap}.lf-table .lf-totals td{border-top:2px solid var(--border);border-bottom:none;font-weight:600}.lf-pos{color:var(--lf-success)}.lf-neg{color:var(--error)}.lf-badge{display:inline-block;margin-left:.5em;padding:.1em .5em;border:1px solid var(--accent);border-radius:999px;font-size:.78em;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}.lf-row-actions{display:inline-flex;gap:.35em}.lf-row-btn{border:1px solid var(--border);border-radius:var(--radius);background:none;padding:.25em .55em;font-size:.86em;font-family:inherit;color:var(--fg-muted);cursor:pointer;white-space:nowrap;transition:color .12s var(--ease),border-color .12s var(--ease)}.lf-row-btn:hover{color:var(--accent);border-color:var(--accent)}.lf-row-btn.lf-danger:hover{color:var(--error);border-color:var(--error)}.lf-row-btn.lf-num{font-variant-numeric:tabular-nums}.lf-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9em}.lf-form-grid .lf-span2{grid-column:1 / -1}@media(max-width:560px){.lf-form-grid{grid-template-columns:1fr}.lf-form-grid .lf-span2{grid-column:auto}}.lf-check{display:flex;align-items:center;gap:.5em;font-size:.95em;color:var(--fg-muted);cursor:pointer}.lf-check input{accent-color:var(--accent)}.lf-div-list{list-style:none;margin:0;padding:0}.lf-div-row{display:flex;align-items:center;justify-content:space-between;gap:.6em;padding:.5em 0;border-bottom:1px solid var(--border)}.lf-div-row:last-child{border-bottom:none}.lf-div-date{color:var(--fg-muted);font-size:.95em}.lf-div-amount{font-weight:600;font-variant-numeric:tabular-nums}.lf-div-form{display:flex;align-items:flex-end;gap:.6em;flex-wrap:wrap}.lf-div-form .lf-field{flex:1 1 8em}.lf-div-total{display:flex;justify-content:space-between;gap:.6em;font-weight:600;font-variant-numeric:tabular-nums}.lf-fact-value{padding:.1em 0;border-bottom:1px dashed transparent;font-size:1.07em;font-weight:600;font-variant-numeric:tabular-nums;color:var(--fg)}.lf-chart-box{max-width:30em}.lf-visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap}.lf-d-back{display:inline-block;color:var(--fg-muted);text-decoration:none;font-size:.93em;margin-bottom:1em;transition:color .15s var(--ease)}.lf-d-back:hover{color:var(--accent)}.lf-d-head{display:flex;align-items:center;gap:1em;flex-wrap:wrap}.lf-d-chip{width:2.9em;height:2.9em;flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-size:1.35em;border:1px solid var(--border);border-radius:12px;background:var(--bg)}.lf-d-idm{min-width:0}.lf-d-name{margin:0;font-size:1.35em;font-weight:650;color:var(--fg);overflow-wrap:anywhere}.lf-d-type{color:var(--fg-faint);font-size:.9em;margin-top:.15em}.lf-d-balwrap{margin-left:auto;text-align:right}.lf-d-bal{display:block;font-size:1.65em;font-weight:650;margin-top:.1em}.lf-d-bal.neg{color:var(--error)}.lf-d-meta{display:flex;align-items:center;justify-content:space-between;gap:1em;flex-wrap:wrap;margin-top:1.15em;padding-top:1em;border-top:1px solid var(--border)}.lf-d-sb{display:flex;align-items:baseline;gap:.6em}.lf-d-sb-btn{border:none;background:none;font:inherit;color:var(--fg);font-variant-numeric:tabular-nums;cursor:pointer;padding:.05em 0;border-bottom:1px dashed var(--fg-faint);transition:color .15s var(--ease),border-color .15s var(--ease)}.lf-d-sb-btn:hover{color:var(--accent);border-bottom-color:var(--accent)}.lf-d-sb-input{width:8.5em;padding:.3em .55em}.lf-d-meta-actions{display:flex;align-items:center;gap:.5em;flex-wrap:wrap}.lf-d-iconbtn{padding:.45em .65em}.lf-d-txhead{display:flex;align-items:flex-end;justify-content:space-between;gap:1em;flex-wrap:wrap}.lf-d-txtitle{margin:.15em 0 0;font-size:1.1em;font-weight:650;color:var(--fg)}.lf-d-count{color:var(--fg-faint);font-weight:500;font-size:.85em;margin-left:.5em}.lf-d-export{display:flex;gap:.5em;flex-wrap:wrap}.lf-d-filters{display:flex;align-items:center;gap:.55em;flex-wrap:wrap;margin-top:1em}.lf-d-filters select,.lf-d-filters input{width:auto;flex:1 1 8.5em;min-width:7.5em;padding:.5em .65em;font-size:.95em}.lf-d-filters input[type=date]{flex:0 1 9.5em}.lf-d-search{flex:2 1 11em}.lf-d-clear{flex:0 0 auto}.lf-d-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5em,1fr));gap:.7em;margin-top:1em}.lf-d-tile{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);padding:.7em .9em;display:flex;flex-direction:column;gap:.3em}.lf-d-tile .v{font-weight:600;font-size:1.08em;font-variant-numeric:tabular-nums;color:var(--fg)}.lf-d-tile .v.pos{color:var(--lf-success)}.lf-d-tile .v.neg{color:var(--error)}.lf-d-cattotals{display:flex;flex-wrap:wrap;gap:.45em;margin-top:.8em}.lf-d-catchip{display:inline-flex;align-items:center;gap:.4em;border:1px solid var(--border);border-radius:999px;background:var(--bg);padding:.28em .75em;font-size:.9em;color:var(--fg-muted)}.lf-d-catchip b{font-weight:600;color:var(--fg);font-variant-numeric:tabular-nums}.lf-d-tablewrap{margin-top:1em;overflow-x:auto}.lf-d-table{width:100%;border-collapse:collapse;font-size:.95em}.lf-d-table th{text-align:left;font-size:.8em;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-faint);padding:.55em .7em;border-bottom:1px solid var(--border);white-space:nowrap}.lf-d-table td{padding:.6em .7em;border-bottom:1px solid var(--border);vertical-align:middle}.lf-d-table tbody tr{transition:background-color .15s var(--ease)}.lf-d-table tbody tr:hover{background:var(--surface-alt)}.lf-d-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.lf-d-amt.pos{color:var(--lf-success)}.lf-d-runbal{color:var(--fg-muted)}.lf-d-runbal.neg{color:var(--error)}.lf-d-c-date{white-space:nowrap;color:var(--fg-muted)}.lf-d-cat{display:inline-flex;align-items:center;gap:.4em;white-space:nowrap}.lf-d-cat.none{color:var(--fg-faint)}.lf-d-tags{display:flex;flex-wrap:wrap;gap:.3em}.lf-d-tag{border:1px solid var(--border);border-radius:999px;background:var(--bg);padding:.08em .6em;font-size:.85em;color:var(--fg-muted);white-space:nowrap}.lf-d-c-note{color:var(--fg-muted);max-width:16em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lf-d-c-act{text-align:right;white-space:nowrap}.lf-d-act{border:none;background:none;font:inherit;font-size:1em;line-height:1;cursor:pointer;color:var(--fg-faint);padding:.3em .4em;border-radius:var(--radius);opacity:.55;transition:color .12s var(--ease),background-color .12s var(--ease),opacity .12s var(--ease)}.lf-d-table tbody tr:hover .lf-d-act,.lf-d-table tbody tr:focus-within .lf-d-act{opacity:1}.lf-d-act:hover{color:var(--accent);background:var(--surface)}.lf-d-act.danger:hover{color:var(--error)}.lf-d-srlabel{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.lf-d-more{display:flex;align-items:center;justify-content:center;gap:.9em;margin-top:1.1em}.lf-d-more-count{color:var(--fg-faint);font-size:.9em;font-variant-numeric:tabular-nums}.lf-d-form{display:flex;flex-direction:column;gap:1em}.lf-d-row2{display:grid;grid-template-columns:1fr 1fr;gap:.8em}.lf-d-seg{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;width:max-content}.lf-d-seg button{border:none;background:var(--bg);color:var(--fg-muted);font:inherit;padding:.5em 1.05em;cursor:pointer;transition:background-color .15s var(--ease),color .15s var(--ease)}.lf-d-seg button+button{border-left:1px solid var(--border)}.lf-d-seg button.sel{background:var(--accent);color:var(--accent-contrast)}.lf-d-tagpick{display:flex;flex-wrap:wrap;gap:.4em}.lf-d-tagbtn{border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--fg-muted);font:inherit;font-size:.9em;padding:.25em .75em;cursor:pointer;transition:border-color .12s var(--ease),color .12s var(--ease),transform .12s var(--ease)}.lf-d-tagbtn:hover{border-color:var(--accent);transform:translateY(-1px)}.lf-d-tagbtn.sel{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.lf-d-newtag{display:flex;gap:.5em}.lf-d-newtag input{flex:1}.lf-d-hint{color:var(--fg-faint);font-size:.88em;line-height:1.45}@media(max-width:720px){.lf-d-balwrap{margin-left:0;text-align:left;width:100%}.lf-d-tablewrap{overflow-x:visible}.lf-d-table thead{display:none}.lf-d-table,.lf-d-table tbody{display:block;width:100%}.lf-d-table tbody tr{display:grid;grid-template-columns:1fr auto;grid-template-areas:"date amt" "cat  bal" "note note" "tags act";gap:.2em .8em;padding:.8em .15em;border-bottom:1px solid var(--border)}.lf-d-table td{display:block;border:none;padding:0}.lf-d-table td.lf-d-c-date{grid-area:date;font-size:.85em;color:var(--fg-faint)}.lf-d-table td.lf-d-c-amt{grid-area:amt}.lf-d-table td.lf-d-c-cat{grid-area:cat}.lf-d-table td.lf-d-c-bal{grid-area:bal;font-size:.85em}.lf-d-table td.lf-d-c-bal:before{content:"Bal ";color:var(--fg-faint)}.lf-d-table td.lf-d-c-note{grid-area:note;max-width:none;white-space:normal}.lf-d-table td.lf-d-c-note:empty,.lf-d-table td.lf-d-c-tags:empty{display:none}.lf-d-table td.lf-d-c-tags{grid-area:tags;margin-top:.25em}.lf-d-table td.lf-d-c-act{grid-area:act;margin-top:.25em}.lf-d-act{opacity:1}.lf-d-row2{grid-template-columns:1fr}}.lf-sc-head{display:flex;align-items:flex-end;justify-content:space-between;gap:.8em;flex-wrap:wrap;margin-bottom:1.2em}.lf-sc-title{margin:.15em 0 0;font-size:1.35em;font-weight:700;letter-spacing:-.01em;color:var(--fg)}.lf-lock{display:flex;flex-direction:column;align-items:center;gap:.65em;padding:3em 1.5em;text-align:center}.lf-lock-icon{font-size:2.2em;line-height:1}.lf-lock-title{margin:0;font-size:1.35em;font-weight:700;color:var(--fg)}.lf-lock-hint{margin:0;max-width:34em;color:var(--fg-muted);line-height:1.5}.lf-lock .btn{margin-top:.5em}.lf-sec-rows{display:flex;flex-direction:column}.lf-sec-row{display:flex;align-items:center;justify-content:space-between;gap:.8em 1.2em;flex-wrap:wrap;padding:.95em 0;border-top:1px solid var(--border)}.lf-sec-row:first-child{border-top:none;padding-top:0}.lf-sec-info{flex:1 1 16em;min-width:0}.lf-sec-title{font-weight:600;color:var(--fg)}.lf-sec-desc{margin:.25em 0 0;font-size:.92em;color:var(--fg-muted);line-height:1.5}.lf-sec-actions{display:flex;align-items:center;gap:.5em;flex-wrap:wrap}.lf-sec-file{display:none}.lf-sec-msg{margin:.9em 0 0;font-size:.93em;line-height:1.5}.lf-sec-msg.ok{color:var(--lf-success)}.lf-sec-msg.err{color:var(--error)}.lf-sec-error{margin:0;font-size:.93em;color:var(--error);line-height:1.5}.lf-sec-note{margin:1.1em 0 0;font-size:.89em;color:var(--fg-faint)}.lf-switch{position:relative;display:inline-flex;align-items:center;cursor:pointer}.lf-switch input{position:absolute;opacity:0;width:1px;height:1px}.lf-switch-track{display:inline-flex;align-items:center;width:2.7em;height:1.5em;padding:.12em;border:1px solid var(--border);border-radius:999px;background:var(--bg);transition:background-color .18s var(--ease),border-color .18s var(--ease)}.lf-switch-knob{width:1.1em;height:1.1em;border-radius:50%;background:var(--fg-faint);transition:transform .18s var(--ease),background-color .18s var(--ease)}.lf-switch input:checked+.lf-switch-track{background:var(--accent);border-color:var(--accent)}.lf-switch input:checked+.lf-switch-track .lf-switch-knob{transform:translate(1.18em);background:#fff}.lf-switch input:focus-visible+.lf-switch-track{outline:2px solid var(--accent);outline-offset:2px}.lf-sec-block{margin-top:1.15em;padding-top:1em;border-top:1px solid var(--border)}.lf-sec-block.lf-sec-block-first{margin-top:0;padding-top:0;border-top:none}.lf-sec-block>.lf-label{margin-bottom:.4em}.lf-sec-block>.lf-sec-desc{margin:0 0 .7em}.lf-cat-list{display:grid;grid-template-columns:1fr;gap:.45em}@media(min-width:720px){.lf-cat-list{grid-template-columns:repeat(auto-fill,minmax(15em,1fr));gap:.55em}}.lf-cat-row{display:flex;align-items:center;gap:.55em;padding:.5em .65em;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);-webkit-user-select:none;user-select:none}.lf-cat-row.lf-cat-dragging{opacity:.45}.lf-cat-row.lf-cat-drag-over{border-color:var(--accent);box-shadow:0 0 0 2px #3d7eff47;background:var(--surface-alt)}.lf-cat-grip{flex:none;color:var(--fg-faint);font-size:.95em;cursor:grab}.lf-cat-row.lf-cat-dragging .lf-cat-grip{cursor:grabbing}.lf-cat-chip{flex:none;display:flex;align-items:center;justify-content:center;width:2em;height:2em;border:1px solid var(--border);border-radius:var(--radius);font-size:1em;line-height:1}.lf-cat-name{flex:1 1 auto;min-width:0;font-weight:600;color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lf-cat-actions{flex:none;display:flex;gap:.3em}.lf-cat-act{border:1px solid var(--border);border-radius:var(--radius);background:none;padding:.2em .45em;font-size:.86em;line-height:1.3;font-family:inherit;color:var(--fg-muted);cursor:pointer;transition:color .12s var(--ease),border-color .12s var(--ease)}.lf-cat-act:hover{color:var(--accent);border-color:var(--accent)}.lf-cat-act.lf-cat-act-danger:hover{color:var(--error);border-color:var(--error)}.lf-tag-chips{display:flex;align-items:center;gap:.4em;flex-wrap:wrap}.lf-tag-chip{display:inline-flex;align-items:center;gap:.3em;padding:.25em .4em .25em .7em;border:1px solid var(--border);border-radius:999px;background:var(--bg);font-size:.93em;color:var(--fg);transition:border-color .15s var(--ease)}.lf-tag-chip:hover{border-color:var(--accent)}.lf-tag-x{border:none;background:none;padding:.15em .3em;border-radius:50%;font-size:.85em;line-height:1;font-family:inherit;color:var(--fg-faint);cursor:pointer;transition:color .12s var(--ease)}.lf-tag-x:hover{color:var(--error)}.lf-tag-form{display:flex;gap:.5em;margin-top:.7em;max-width:22em}.lf-root .lf-tag-form input{padding:.45em .7em}.lf-scale-seg{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--bg)}.lf-scale-btn{border:none;background:none;padding:.5em 1em;font-size:.95em;font-family:inherit;font-weight:600;color:var(--fg-muted);cursor:pointer;transition:background-color .15s var(--ease),color .15s var(--ease)}.lf-scale-btn+.lf-scale-btn{border-left:1px solid var(--border)}.lf-scale-btn:hover{color:var(--fg);background:var(--surface-alt)}.lf-scale-btn.sel{background:var(--accent);border-color:var(--accent);color:#fff}.lf-theme-note{margin:1.15em 0 0;padding-top:1em;border-top:1px solid var(--border);font-size:.92em;color:var(--fg-muted);line-height:1.5}.lf-sec-form{display:flex;flex-direction:column;gap:1em}:root{--asset-rev: 2;--bg: #000000;--surface: #0A0D14;--surface-alt: #10151F;--fg: #FFFFFF;--fg-muted: #9AA7BD;--fg-faint: #566179;--accent: #3D7EFF;--accent-dim: #2563EB;--accent-contrast: #FFFFFF;--border: #1A2233;--error: #FF3355;--warning: #FFD600;--nav-bg: rgba(0, 0, 0, .85);--btn-bg: #000000;--radius: 8px;--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ease: cubic-bezier(.4, 0, .2, 1);--glow: 0 6px 20px rgba(61, 126, 255, .22);--glow-strong: 0 10px 32px rgba(61, 126, 255, .3)}:root[data-theme=light]{--bg: #FFFFFF;--surface: #F7FAFF;--surface-alt: #EDF2FC;--fg: #0A1428;--fg-muted: #4A5C7B;--fg-faint: #8593AC;--accent: #0057FF;--accent-dim: #0044CC;--accent-contrast: #FFFFFF;--border: #D8E2F2;--error: #D6224C;--warning: #C77700;--nav-bg: rgba(255, 255, 255, .85);--btn-bg: #FFFFFF;--glow: 0 2px 12px rgba(0, 87, 255, .18);--glow-strong: 0 6px 24px rgba(0, 87, 255, .28)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);line-height:1.2;letter-spacing:-.01em;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:var(--accent-contrast)}.num{font-variant-numeric:tabular-nums}.accent{color:var(--accent)}.muted{color:var(--fg-muted)}.faint{color:var(--fg-faint)}.wrap{max-width:1080px;margin:0 auto;padding:0 24px}section{padding:88px 0;border-top:1px solid var(--border)}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.section-title{font-size:34px;font-weight:600;margin:10px 0 8px;letter-spacing:-.02em}.section-sub{color:var(--fg-muted);font-size:15px;max-width:540px}.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--border);background:var(--nav-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.brand{display:flex;align-items:center;gap:10px;font-weight:600;font-size:16px}.brand-mark{width:26px;height:26px;border-radius:6px;display:block}.nav-links{display:flex;gap:26px;align-items:center}.nav-links a{font-size:14px;color:var(--fg-muted);transition:color .12s var(--ease)}.nav-links a:hover{color:var(--fg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:var(--radius);border:1px solid var(--border);background:var(--btn-bg);color:var(--fg);font-size:14px;font-weight:500;cursor:pointer;transition:transform .12s var(--ease),border-color .12s var(--ease),box-shadow .12s var(--ease)}.btn:hover{border-color:var(--accent)}.btn:active{transform:scale(.97)}.btn-primary{border-color:var(--accent);color:var(--accent)}.btn-primary:hover{box-shadow:var(--glow)}.theme-toggle{padding:8px;font-size:15px;line-height:1}.hero{padding:96px 0 80px;border-top:none;text-align:center}.hero h1{font-size:clamp(40px,7vw,76px);font-weight:600;letter-spacing:-.03em;line-height:1.04}.hero h1 .accent{display:inline-block}.hero p{color:var(--fg-muted);font-size:18px;max-width:560px;margin:22px auto 30px}.hero-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.hero-stats{display:flex;gap:40px;justify-content:center;margin-top:56px;flex-wrap:wrap}.hero-stat .n{font-size:28px;font-weight:600;color:var(--accent)}.hero-stat .l{font-size:12px;color:var(--fg-faint);text-transform:uppercase;letter-spacing:.1em}.preview{margin:56px auto 0;max-width:760px;border:1px solid var(--border);border-radius:12px;background:var(--surface);overflow:hidden;text-align:left;box-shadow:var(--glow)}.preview-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 20px;border-bottom:1px solid var(--border);font-size:13px;font-weight:600}.preview-head .note{font-size:12px;font-weight:400;color:var(--fg-faint)}.preview-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:12px 20px;border-bottom:1px solid var(--border);font-size:14px}.preview-row:last-child{border-bottom:none}.preview-row .l{color:var(--fg-muted)}.preview-row .v{font-weight:500;text-align:right}.grid{display:grid;gap:16px}.grid-4{grid-template-columns:repeat(4,1fr)}.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:22px;transition:border-color .18s var(--ease),box-shadow .18s var(--ease),transform .18s var(--ease)}.card:hover{border-color:var(--accent);box-shadow:var(--glow);transform:translateY(-2px)}.feature-icon{width:38px;height:38px;border:1px solid var(--accent);border-radius:var(--radius);display:grid;place-items:center;color:var(--accent);margin-bottom:14px}.card h3{font-size:16px;font-weight:600;margin-bottom:6px}.card p{font-size:13px;color:var(--fg-muted);line-height:1.5}.pricing-groups{display:flex;flex-direction:column;gap:28px;margin-top:36px}.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.plan{position:relative;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:22px;display:flex;flex-direction:column}.plan.popular{border-color:var(--accent);box-shadow:var(--glow)}.plan .tag{position:absolute;top:14px;right:14px;font-size:10px;font-weight:600;letter-spacing:.1em;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:2px 8px}.plan .name{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-faint);font-weight:600}.plan .price{font-variant-numeric:tabular-nums;font-size:32px;font-weight:600;margin:8px 0 2px}.plan .price small{font-size:13px;color:var(--fg-faint)}.plan .tagline{font-size:13px;color:var(--fg-muted);min-height:34px;margin-bottom:12px}.plan ul{list-style:none;display:flex;flex-direction:column;gap:7px;margin:12px 0 18px}.plan li{font-size:12.5px;display:flex;gap:8px}.plan li .check{color:var(--accent)}.plan .btn{margin-top:auto;width:100%}.dl-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:36px}.dl{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:24px;text-align:center;transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}.dl:hover{border-color:var(--accent);box-shadow:var(--glow)}.dl .platform{font-size:30px;margin-bottom:10px;color:var(--accent)}.dl .os{font-weight:600;font-size:15px}.dl .meta{font-size:12px;color:var(--fg-faint);margin:4px 0 14px}.market-panel{margin-top:24px;background:#05080f;border:1px solid #1a2233;border-radius:12px;overflow:hidden}.market-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 20px;border-bottom:1px solid #1a2233;color:#fff;font-size:13px;font-weight:600}.market-live{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#9aa7bd}.market-live .pulse{width:8px;height:8px;border-radius:50%;background:#3d7eff;animation:market-pulse 2s ease-out infinite}.market-live .pulse.stale{background:#566179;animation:none}.market-asof{color:#566179;letter-spacing:0;text-transform:none}.market-grid{display:grid;grid-template-columns:repeat(5,1fr)}.market-tile{padding:18px 20px;border-right:1px solid #1a2233}.market-tile:last-child{border-right:none}.market-tile .t-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#9aa7bd}.market-tile .t-price{font-variant-numeric:tabular-nums;color:#fff;font-size:21px;font-weight:600;margin:6px 0 4px}.market-tile .t-change{font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:500}.t-change.up{color:#30d158}.t-change.down{color:#f35}.market-loading{grid-column:1 / -1;padding:26px 20px;color:#566179;font-size:13px;text-align:center}@keyframes market-pulse{0%{box-shadow:0 0 #3d7eff80}70%{box-shadow:0 0 0 8px #3d7eff00}to{box-shadow:0 0 #3d7eff00}}@media(prefers-reduced-motion:reduce){.market-live .pulse{animation:none}}.auth-section{padding:88px 0;border-top:none;min-height:60vh}.auth-form{display:flex;flex-direction:column;gap:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:26px}.field{display:flex;flex-direction:column;gap:6px}.field span{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-faint)}.field input{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--fg);padding:10px 12px;font-size:14px;font-family:inherit;caret-color:var(--accent)}.field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3d7eff29}.form-msg{font-size:13px;line-height:1.5;border-radius:var(--radius);padding:10px 12px;border:1px solid var(--border)}.form-msg.err{color:var(--error);border-color:var(--error)}.form-msg.info{color:var(--fg-muted)}.form-msg.ok{color:var(--accent);border-color:var(--accent)}.account-card{border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:10px 26px 22px;margin-top:18px}.account-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--border);font-size:14px}.account-row .l{color:var(--fg-muted)}.account-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.faq{margin-top:28px;display:flex;flex-direction:column;gap:10px}.faq details{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:16px 18px}.faq details[open]{border-color:var(--accent)}.faq summary{cursor:pointer;font-weight:500;font-size:15px;list-style:none;display:flex;justify-content:space-between}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--accent)}.faq details[open] summary:after{content:"–"}.faq p{margin-top:12px;color:var(--fg-muted);font-size:14px;line-height:1.6}.footer{border-top:1px solid var(--border);padding:40px 0;color:var(--fg-faint);font-size:13px}.footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px}@media(max-width:860px){.grid-4,.pricing-grid,.dl-grid{grid-template-columns:1fr 1fr}.nav-links{display:none}.market-grid{grid-template-columns:1fr 1fr}.market-tile{border-bottom:1px solid #1a2233}.market-tile:nth-child(2n){border-right:none}}@media(max-width:520px){.grid-4,.pricing-grid,.dl-grid,.market-grid{grid-template-columns:1fr}.market-tile{border-right:none}}
