.app{max-width:960px;margin:1.4rem auto 3rem;padding:0 1.5rem}.app.wide{max-width:none;margin:1.1rem 0 3rem;padding:0 1.1rem}.app header{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:2rem;margin-bottom:.7rem}.app h1{font-size:1.35rem;font-weight:650}.app h2{font-size:1.02rem;font-weight:620;margin:1.6rem 0 .5rem}.subtabs{display:flex;flex-wrap:wrap;gap:.25rem;font-size:.82rem;align-items:center;margin:0 0 .9rem}.subtabs a,.subtabs strong{padding:.2rem .65rem;border-radius:999px;border:1px solid transparent;color:var(--muted);font-weight:500}.subtabs a:hover{background:var(--hover);border-color:var(--border);color:var(--ink);text-decoration:none}.subtabs strong{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent-soft-ink);font-weight:600}.app code{background:var(--border-soft);padding:.1em .4em;border-radius:4px}.center{text-align:center;margin-top:4rem;color:var(--muted)}.note{font-size:.83rem;color:var(--muted);margin-bottom:.5rem}p.warn,p.error{font-size:.85rem;padding:.45rem .7rem;border-radius:var(--radius-sm);margin:.5rem 0}p.warn{color:var(--warn-ink);background:var(--warn-soft);border:1px solid var(--warn-border)}p.error{color:var(--danger);background:var(--danger-soft);border:1px solid var(--danger-border)}span.error{color:var(--danger);font-size:.9em}.empty{color:var(--muted);font-size:.9rem;text-align:center;padding:1.5rem 0}.panel.loading{display:flex;align-items:center;gap:.5rem;color:var(--muted);font-size:.9rem;padding:1rem 0}.kv-table{width:100%;border-collapse:collapse;font-size:.85rem;margin:.3rem 0 .5rem}.kv-table td{padding:.3rem .5rem .3rem 0;border-bottom:1px solid var(--border-soft);vertical-align:top}.kv-table td:first-child{color:var(--muted);white-space:nowrap;width:1%;padding-right:1.2rem}.brand-lockup{display:flex;align-items:center;gap:.5rem}.login{display:flex;justify-content:center;margin-top:14vh}.login form{display:flex;flex-direction:column;gap:.85rem;width:300px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:1.75rem 1.5rem}.login h1{font-size:1.2rem}.login .note{margin:-.45rem 0 .25rem}.login label{display:flex;flex-direction:column;gap:.3rem;font-size:.83rem;color:var(--muted)}.login button[type=submit]{margin-top:.4rem;padding:.5rem;display:inline-flex;justify-content:center;align-items:center;gap:.5rem}.home-scroll{overflow-x:auto}.home-table th.num,.home-table td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.home-table tbody th{background:none;font-size:.84rem}.home-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.home-table th.sortable:hover{color:var(--ink)}.home-table td.pos{color:var(--ok)}.home-table td.neg{color:var(--danger)}.home-table .chg-rel{display:block;font-size:.76rem;color:var(--muted)}.home-table td.private,.data-table td.private,.totals-strip .total-value.private,.app-net-worth.private{filter:blur(6px);-webkit-user-select:none;user-select:none;transition:filter .12s ease}.app header .header-right{display:inline-flex;align-items:center;gap:.6rem}.tab-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.tab-head .actions{display:inline-flex;align-items:center;gap:.6rem}.icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:.28rem;line-height:0;color:var(--muted)}.icon-btn:hover:not(:disabled){color:var(--ink)}.icon-btn[aria-pressed=true],.icon-btn[aria-current=page]{color:var(--accent);border-color:var(--accent-border);background:var(--accent-soft)}.app-shell{position:sticky;top:0;z-index:20;background:var(--surface);border-bottom:1px solid var(--border)}.app-bar{display:flex;align-items:center;gap:.9rem;padding:.4rem 1.1rem .35rem}.app-brand{display:inline-flex;align-items:center;gap:.45rem;font-size:.95rem;font-weight:650;letter-spacing:-.01em;color:var(--ink)}.app-brand:hover{text-decoration:none;color:var(--accent)}.app-mark{width:1.05rem;height:1.05rem;border-radius:5px;background:linear-gradient(150deg,var(--accent),var(--accent-strong));box-shadow:inset 0 0 0 1px light-dark(rgb(255 255 255 / .25),rgb(255 255 255 / .12))}.app-bar-tools{display:inline-flex;align-items:center;gap:.25rem}.app-bar-right{margin-left:auto;display:inline-flex;align-items:center;gap:.75rem;font-size:.8rem;color:var(--muted)}.app-user{display:inline-flex;align-items:center;gap:.5rem}.app-net-worth{font-variant-numeric:tabular-nums;color:var(--ink)}.app-user button.link{font-size:.8rem;color:var(--muted)}.app-user button.link:hover{color:var(--accent)}.version-chip{font-size:.72rem;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--muted);text-decoration:none;padding:.1rem .4rem;border:1px solid transparent;border-radius:999px}.version-chip:hover{color:var(--ink);border-color:var(--border);text-decoration:none}.app-tabs{padding:0 1.1rem;overflow-x:auto;scrollbar-width:thin}.app-tabs-inner{display:flex;align-items:stretch;gap:.05rem;width:max-content;min-width:100%}.app-tab{position:relative;padding:.35rem .6rem .45rem;font-size:.85rem;line-height:1.35;white-space:nowrap;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;border-radius:var(--radius-sm) var(--radius-sm) 0 0;transition:color .12s,background .12s}.app-tab:hover{color:var(--ink);background:var(--hover);text-decoration:none}.app-tab[aria-current=page]{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.app-tab.divided{margin-left:.75rem}.app-tab.divided:before{content:"";position:absolute;left:-.4rem;top:.45rem;bottom:.5rem;border-left:1px solid var(--border)}.mover-table{min-width:0;overflow-x:auto}.summary-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.summary-date{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--muted)}.summary-date input[type=date]{font-size:.85rem}.toolbar{display:flex;align-items:center;gap:.45rem;margin:.6rem 0;font-size:.85rem;color:var(--muted)}.toolbar .spacer{flex:1}.toolbar button{padding:.25rem .6rem}.toolbar .hide-zero{display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap;cursor:pointer}.totals-strip{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1.4rem;margin:0 0 .7rem;padding:.55rem .85rem;background:var(--accent-soft);border:1px solid var(--border);border-radius:var(--radius)}.totals-strip .totals-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--accent-soft-ink)}.totals-strip .total-item{display:inline-flex;align-items:baseline;gap:.4rem}.totals-strip .total-name{font-size:.78rem;color:var(--muted)}.totals-strip .total-value{font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink)}.totals-strip .total-value.neg{color:var(--danger)}.table-scroll{position:relative;overflow:auto;max-height:76vh;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.progress{height:2px;margin-bottom:-2px;position:relative;z-index:3;overflow:hidden;border-radius:2px;visibility:hidden}.progress.active{visibility:visible}.progress:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent);transform-origin:left;animation:indeterminate 1.1s ease-in-out infinite}@keyframes indeterminate{0%{transform:translate(-100%) scaleX(.4)}50%{transform:translate(30%) scaleX(.5)}to{transform:translate(105%) scaleX(.6)}}.data-table table{border-collapse:separate;border-spacing:0;font-size:.84rem;white-space:nowrap;width:100%}.data-table th,.data-table td{border-bottom:1px solid var(--border-soft);border-right:1px solid var(--border-soft);padding:.32rem .6rem;text-align:left;max-width:28rem;overflow:hidden;text-overflow:ellipsis}.data-table th:last-child,.data-table td:last-child{border-right:none}.data-table thead th{position:sticky;top:0;z-index:2;height:2.2rem;background:var(--surface-2);border-bottom:1px solid var(--border);font-size:.78rem;font-weight:600;color:var(--muted)}.data-table thead .filter-row th{top:2.2rem;height:2.3rem;background:var(--surface)}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.data-table th.sortable:hover{color:var(--ink)}.col-filter{display:flex;align-items:center;gap:.2rem;width:100%;max-width:8.5rem;padding:.15rem .3rem;font-size:.72rem;font-weight:500;color:var(--muted);background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius-sm);cursor:pointer}.col-filter:hover{border-style:solid;color:var(--ink)}.col-filter.on{border-style:solid;border-color:var(--accent);background:var(--accent-soft);color:var(--accent-soft-ink);font-weight:600}.col-filter-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.col-filter-caret{opacity:.6}.col-filter-pop{z-index:30;display:flex;flex-direction:column;gap:.35rem;padding:.5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);font-weight:400;color:var(--ink)}.col-filter-pop select,.col-filter-pop input[type=text],.col-filter-pop input[type=number],.col-filter-pop input[type=date],.col-filter-pop input[type=datetime-local]{width:100%;font-size:.8rem;padding:.25rem .35rem}.col-filter-values{display:flex;flex-direction:column;gap:.15rem;max-height:11rem;overflow-y:auto;padding:.25rem;border:1px solid var(--border-soft);border-radius:var(--radius-sm);font-size:.8rem}.col-filter-values label{display:flex;align-items:center;gap:.3rem;cursor:pointer}.col-filter-actions{display:flex;justify-content:space-between;gap:.35rem}.col-filter-actions button{flex:1;font-size:.78rem;padding:.22rem .4rem}.data-table tbody tr:hover td{background:var(--hover)}.data-table tbody.dim{opacity:.45;transition:opacity .2s}.data-table td.num{text-align:right;font-variant-numeric:tabular-nums}.data-table td.editable{cursor:pointer}.data-table tbody tr:hover td.editable{background:var(--hover-edit)}.data-table td.live-cell,.data-table tbody tr:hover td.live-cell{background:var(--accent-soft);color:var(--accent-soft-ink)}.data-table tbody.pinned-body td,.data-table tbody.pinned-body tr:hover td{background:var(--accent-soft);color:var(--accent-soft-ink);font-weight:600;border-bottom:2px solid var(--accent);cursor:default}.data-table td.frozen,.data-table th.frozen{position:sticky;z-index:1}.data-table tbody td.frozen{background:var(--surface)}.data-table tbody tr:hover td.frozen{background:var(--hover)}.data-table tbody tr:hover td.frozen.editable{background:var(--hover-edit)}.data-table td.frozen.live-cell,.data-table tbody tr:hover td.frozen.live-cell,.data-table tbody.pinned-body td.frozen,.data-table tbody.pinned-body tr:hover td.frozen{background:var(--accent-soft)}.data-table thead th.frozen{z-index:4;background:var(--surface-2)}.data-table thead .filter-row th.frozen{background:var(--surface)}.data-table td.frozen-last,.data-table th.frozen-last{border-right:1px solid var(--border);box-shadow:var(--shadow-frozen)}.live-badge{font-size:.68em;font-weight:600;letter-spacing:.02em;background:var(--badge-soft);color:var(--accent-soft-ink);border-radius:99px;padding:.05em .5em;margin-left:.4em;vertical-align:middle}.cfg-badge{font-size:.68em;font-weight:600;letter-spacing:.02em;background:var(--warn-soft);color:var(--warn-ink);border-radius:99px;padding:.05em .5em;margin-left:.4em;vertical-align:middle;cursor:help}.data-table td input:not([type=checkbox]){width:100%;font-size:inherit;padding:.05rem .25rem;border-color:var(--accent);box-shadow:none;border-radius:4px}.data-table td textarea.cell-textarea{width:100%;min-width:20rem;font-size:inherit;padding:.15rem .3rem;border-color:var(--accent);box-shadow:none;border-radius:4px;white-space:pre-wrap;resize:vertical}.enum-input{position:relative;display:block;width:100%}.enum-input input{width:100%;padding-right:1.3rem}.enum-caret{position:absolute;right:.15rem;top:50%;transform:translateY(-50%);padding:0 .2rem;border:0;background:none;box-shadow:none;font-size:.7rem;line-height:1;color:var(--muted);cursor:pointer}.enum-caret:hover:not(:disabled){background:none;color:var(--ink)}.enum-pop{z-index:60;overflow-y:auto;margin:0;padding:.2rem;list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);font-size:.82rem;font-weight:400;color:var(--ink)}.enum-pop li{padding:.22rem .45rem;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.enum-pop li.current{font-weight:600}.enum-pop li.active{background:var(--accent-soft);color:var(--accent-soft-ink)}.skeleton-row td .skeleton{width:65%}.skeleton-row:nth-child(2n) td .skeleton{width:45%}.skeleton-row:nth-child(3n) td .skeleton{width:80%}.add-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:.9rem 1.1rem;margin:.6rem 0}.add-form-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.65rem}.add-form label{display:flex;flex-direction:column;gap:.2rem;font-size:.78rem;color:var(--muted)}.add-form label.multiline{grid-column:1 / -1}.add-form label.app-col{border-left:2px solid var(--warn-ink);padding-left:.5rem}.add-form .field-help{font-size:.72rem;font-weight:400;color:var(--muted);line-height:1.3}.add-form button[type=submit]{margin-top:.7rem}.reconcile-table{border-collapse:separate;border-spacing:0;width:100%;margin-bottom:1.5rem;font-size:.86rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.reconcile-table th,.reconcile-table td{border-bottom:1px solid var(--border-soft);padding:.4rem .7rem;text-align:left}.reconcile-table tbody tr:last-child td{border-bottom:none}.reconcile-table th{background:var(--surface-2);border-bottom:1px solid var(--border);font-size:.78rem;font-weight:600;color:var(--muted)}.reconcile-table tbody tr:hover td{background:var(--hover)}.reconcile-table tbody tr.clickable{cursor:pointer}.sync-runs .toolbar{flex-wrap:wrap}.sync-runs .toolbar .checkbox{display:inline-flex;align-items:center;gap:.3rem}.sync-runs tbody.dim{opacity:.45;transition:opacity .2s}.diff-detail{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:.25rem 1.1rem 1.1rem;margin-bottom:1.5rem}.diff-detail h3{margin-top:.85rem}.diff-detail h4{margin:.8rem 0 .3rem;font-size:.9rem}.diff-detail table{border-collapse:collapse;font-size:.83rem}.diff-detail td,.diff-detail th{border:1px solid var(--border-soft);padding:.25rem .5rem}.tab-bar{display:flex;gap:.35rem;margin-bottom:.9rem}.tab-bar button{padding:.28rem .9rem;border-radius:99px}.tab-bar button.active{background:var(--accent-soft);color:var(--accent-soft-ink);border-color:var(--accent-border);font-weight:600}.live-toggle{display:inline-flex;align-items:center;gap:.3rem;color:var(--ink);-webkit-user-select:none;user-select:none}.log-view{background:var(--console-bg);color:var(--console-ink);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.76rem;line-height:1.5;padding:.6rem .8rem;height:68vh;overflow:auto}.log-line{display:flex;gap:.65rem;align-items:baseline}.log-line.log-req .log-msg{color:var(--console-dim)}.log-time{flex:none;color:var(--console-muted);font-variant-numeric:tabular-nums}.log-sev{flex:none;width:2em;font-weight:600}.log-sev.sev-default{color:var(--console-muted)}.log-sev.sev-info{color:#6ea8fe}.log-sev.sev-warn{color:#e8b93c}.log-sev.sev-error{color:#f4726a}.log-msg{white-space:pre-wrap;overflow-wrap:anywhere}.log-empty{color:var(--console-muted);padding:.5rem 0}.log-pre{background:var(--console-bg);color:var(--console-ink);border-radius:var(--radius-sm);font-size:.76rem;line-height:1.5;padding:.6rem .8rem;margin:.35rem 0;max-height:45vh;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}.log-pre.log-pre-error{color:#f4726a}.reconcile-table td.err-cell{max-width:24rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reconcile-table tr.log-row td{background:var(--hover);cursor:default}.diff-detail .row-scroll{overflow-x:auto;max-width:100%}.diff-detail .row-scroll table{white-space:nowrap}.diff-detail td.changed{background:var(--warn-soft)}.diff-detail td.changed s{color:var(--muted);margin-right:.45em}.bank-connections{margin-bottom:1.25rem}.bank-connections .reconcile-table{margin-bottom:.35rem}.warn-text{color:var(--warn-ink)}.connection-card,.add-bank{margin:.6rem 0;padding:.7rem .85rem}.connection-head,.add-bank-head{display:flex;align-items:center;gap:.6rem}.connection-title{display:flex;flex-direction:column;line-height:1.25}.connection-head .spacer,.add-bank-head .spacer{flex:1}.status{font-size:.78rem;color:var(--muted);text-transform:capitalize}.status-linked{color:var(--ok)}.status-error{color:var(--danger)}.institution-list{list-style:none;margin:.5rem 0 0;padding:0;max-height:18rem;overflow-y:auto}.institution-list li{margin:0}.institution{display:flex;align-items:center;gap:.55rem;width:100%;padding:.45rem .5rem;background:none;border:0;border-bottom:1px solid var(--border);text-align:left;cursor:pointer}.institution:hover{background:var(--hover)}.institution img{border-radius:4px}.mapped-accounts{list-style:none;margin:.4rem 0 0;padding:0;font-size:.85rem}.account-mapper{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed var(--border)}.account-mapper .field{margin:.35rem 0}button.secondary{background:var(--surface)}.field{display:flex;flex-direction:column;gap:.3rem;font-size:.83rem;color:var(--muted);margin-bottom:.85rem}.field .hint{font-size:.76rem;color:var(--muted)}.field-row{display:flex;gap:.8rem;flex-wrap:wrap}.field-row .field{flex:1 1 8rem}.field-check{display:flex;align-items:center;gap:.45rem;font-size:.83rem;color:var(--muted);margin-bottom:.85rem}.field-check input{width:auto}.row-actions{white-space:nowrap;text-align:right}.row-actions .icon-btn{margin-left:.2rem}tr.row-muted{opacity:.5}.module-list{display:flex;flex-direction:column;gap:.6rem;margin:.8rem 0}.module-row{display:flex;align-items:center;gap:1rem;justify-content:space-between;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:.7rem .9rem}.module-row.selectable{cursor:pointer}.module-row.on{border-color:var(--accent-border);box-shadow:inset 3px 0 0 var(--accent),var(--shadow)}.module-row.core{opacity:.92}.module-main{display:flex;flex-direction:column;gap:.15rem;min-width:0}.module-name{font-weight:600;font-size:.95rem;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.module-desc{font-size:.83rem;color:var(--ink)}.module-auto{font-size:.78rem;color:var(--muted)}.module-actions{flex-shrink:0}.gmail-connection{display:flex;align-items:center;gap:1rem;justify-content:space-between;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:.7rem .9rem;margin:.8rem 0}.gmail-connection.on{border-color:var(--accent-border);background:var(--accent-soft)}.gmail-connection .ok{color:var(--ok);font-size:.83rem;margin:.4rem 0 0}.lock,.auto-badge,.held{font-size:.7rem;font-weight:600;padding:.05rem .4rem;border-radius:99px;white-space:nowrap}.lock{background:var(--border-soft);color:var(--muted)}.auto-badge{background:var(--accent-soft);color:var(--accent-soft-ink)}.held{background:var(--ok-soft);color:var(--ok)}.cred-block{margin-top:.6rem;padding-top:.6rem;border-top:1px dashed var(--border)}.cred-block-head{display:flex;align-items:center;justify-content:space-between}.cred-block-head h3{font-size:.92rem}.skip-toggle{font-size:.8rem;color:var(--muted);display:inline-flex;gap:.35rem;align-items:center}.cred-fields{display:flex;flex-direction:column;gap:.7rem;margin-top:.5rem}.cred-field{display:flex;flex-direction:column;gap:.25rem}.cred-label{font-size:.82rem;font-weight:600}.cred-label .req{color:var(--danger)}.cred-label .opt{color:var(--muted);font-weight:400}.cred-help{font-size:.76rem;color:var(--muted)}.onboard{display:flex;justify-content:center;padding:4vh 1rem}.onboard-card{width:100%;max-width:640px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:1.75rem}.onboard-head h1{font-size:1.35rem;margin-bottom:.75rem}.onboard-card h2{font-size:1.1rem;margin:0 0 .5rem}.onboard-card section{margin-bottom:.5rem}.wizard-steps{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;font-size:.76rem;color:var(--muted);margin-bottom:1rem}.wizard-steps li{padding:.1rem .55rem;border-radius:99px;background:var(--border-soft)}.wizard-steps li.active{background:var(--accent);color:var(--on-accent)}.wizard-steps li.done{background:var(--ok-soft);color:var(--ok)}.wizard-nav{display:flex;align-items:center;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}.wizard-nav .spacer{flex:1}.review{list-style:none;font-size:.9rem;display:flex;flex-direction:column;gap:.3rem}.dead-end h2{color:var(--danger)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--backdrop);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:50}.modal{width:100%;max-width:440px;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-xl);padding:1.4rem}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.9rem}.modal-head h2{font-size:1.1rem}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;margin-top:.9rem}.dup-list{list-style:none;margin:.6rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.dup-list li{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap;padding:.5rem .7rem;border:1px solid var(--border);border-radius:var(--radius)}.dup-desc{font-size:.88rem;color:var(--muted)}.dup-actions{display:flex;gap:.4rem}.modal.wide{max-width:720px;max-height:90vh;overflow-y:auto}.rule-engine{margin:1rem 0}.rule-engine>summary{cursor:pointer;font-size:1.05rem;padding:.3rem 0}.rules-table .rule-conditions{font-size:.82rem;max-width:34rem}.rules-table .rule-conditions em{color:var(--muted)}tr.rule-hit td,tr.rule-hit th{background:var(--rule-hit)}.rule-clause{border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .8rem;margin:.6rem 0}.rule-clause legend{font-size:.85rem;padding:0 .3rem}.rule-condition{align-items:center;margin-bottom:.4rem}.rule-condition select,.rule-condition input{flex:1 1 8rem}.rule-condition .icon-btn{flex:0 0 auto}.vat-cell{display:inline-flex;align-items:center;gap:.2rem;justify-content:flex-end}.data-table td input.vat-input,.vat-input{width:4.5rem;text-align:right;padding:.15rem .35rem;font-size:.85rem}.vat-cell .unit,.vat-default .unit{color:var(--muted);font-size:.8rem}.vat-default{flex-wrap:wrap}.vat-default .field.inline{flex-direction:row;align-items:center;gap:.35rem;margin-bottom:0}.vat-default .note{margin:0;flex:1 1 18rem}.note-ok{color:var(--muted);border-left:3px solid var(--border);padding-left:.6rem}.invite-result{font-size:.9rem;display:flex;flex-direction:column;gap:.5rem}.settings-card .module-main{flex:1}.mtg-import{margin:.6rem 0}.mtg-import-head{display:flex;align-items:center;gap:.6rem;font-size:.85rem}.mtg-import-file{color:var(--muted)}.mtg-import-report{margin-top:.6rem;padding:.7rem .9rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font-size:.9rem}.mtg-import-unresolved{margin:.4rem 0 .2rem 1.2rem;font-size:.85rem;max-height:12rem;overflow-y:auto}.mtg-import .muted{color:var(--muted)}.mtg-import-actions{display:flex;gap:.6rem;margin-top:.7rem}.actions-col{white-space:nowrap;font-size:.82rem}.leading-col{white-space:nowrap}.numista-cell{display:inline-flex;align-items:center;gap:.4rem}.numista-modal{max-width:760px;max-height:85vh;overflow-y:auto}.numista-usage-line{margin:-.4rem 0 .6rem}.numista-search{display:flex;gap:.5rem;align-items:center;margin-bottom:.6rem}.numista-search input{flex:1}.numista-results{list-style:none;display:flex;flex-direction:column;gap:.3rem;margin:.4rem 0;max-height:26rem;overflow-y:auto}.numista-results button{width:100%;text-align:left;padding:.4rem .6rem;white-space:normal;overflow-wrap:anywhere}.numista-result-title{display:block;line-height:1.3}.numista-result-meta{display:block;font-size:.78rem;margin-top:.15rem}.numista-results .muted,.numista-cell .muted{color:var(--muted)}.photo-toggle{padding:.1rem .35rem;line-height:1}.reclassify-row{display:inline-flex;align-items:center;gap:.3rem}.reclassify-row button{padding:.1rem .35rem;line-height:1}.reclassify-row .muted{color:var(--muted)}.finish-todo{display:inline-flex;align-items:center;gap:.3rem}.finish-todo button{padding:.1rem .35rem;line-height:1}.delete-row{margin-left:.4rem}.delete-row button{padding:.1rem .35rem;line-height:1}.numista-result-row{display:flex;gap:.5rem;align-items:center}.numista-result-row>button{flex:1;min-width:0}.coin-thumbs{display:inline-flex;gap:.4rem;align-items:center;flex:0 0 auto}.coin-thumbs img{display:block;height:3rem;width:auto;border-radius:4px;background:var(--surface)}.coin-thumb-missing{color:var(--muted);font-size:.8rem;opacity:.6}.numista-modal .coin-thumbs{margin:.25rem 0 .35rem}.numista-modal .coin-thumbs img{height:6rem}.numista-modal .numista-results .coin-thumbs{margin:0}.numista-modal .numista-results .coin-thumbs img{height:3.4rem}.tab-jobs{margin:0 0 .9rem;padding:.65rem .85rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.tab-jobs-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:.35rem .7rem;margin-bottom:.55rem}.tab-jobs-title{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--accent-soft-ink)}.tab-jobs-head .note{margin:0;font-size:.78rem}.job-dry{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;color:var(--muted)}.tab-jobs-list{display:flex;flex-wrap:wrap;gap:.55rem .9rem}.job-item{display:flex;flex-direction:column;gap:.2rem;min-width:0}.job-item button{display:inline-flex;align-items:center;gap:.35rem}.job-meta{display:flex;flex-direction:column;font-size:.72rem;color:var(--muted);line-height:1.35}.job-sched{color:var(--muted)}.job-note{color:var(--muted);font-style:italic}.job-ok{color:var(--ok)}.job-meta .error{font-size:.72rem}.steam-accounts{margin:0 0 .9rem;padding:.65rem .85rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.steam-account{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .8rem;padding:.4rem 0;border-top:1px solid var(--border)}.steam-avatar{width:28px;height:28px;border-radius:4px}.steam-account-main{display:flex;flex-direction:column;gap:.1rem;min-width:0;flex:1;font-size:.82rem}.steam-account-name{font-weight:600}.steam-account-main .muted,.steam-account-main .job-ok,.steam-account-main .error{font-size:.74rem}.steam-account-actions,.steam-remove-confirm{display:inline-flex;align-items:center;gap:.4rem}.steam-add{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding-top:.5rem;border-top:1px solid var(--border)}.steam-add input[type=text]{min-width:18rem}.steam-add .job-ok,.steam-add .error{font-size:.78rem}.skinport-connection{margin-top:1rem}.skinport-connect{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding-top:.5rem;border-top:1px solid var(--border)}.skinport-connect input{min-width:14rem}.skinport-connect .job-ok,.skinport-connect .error{font-size:.78rem}.jobs-table td{vertical-align:top}.jobs-table .job-desc{color:var(--muted);font-size:.78rem;margin-top:.2rem;max-width:34rem}.job-tags{display:inline-flex;gap:.3rem;margin-left:.4rem}.job-tag{font-size:.66rem;font-weight:600;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:99px;padding:.02em .5em;vertical-align:middle}.job-stats{white-space:nowrap}.job-status{font-size:.68rem;font-weight:600;border-radius:99px;padding:.05em .5em}.job-status.sev-error{background:var(--pill-err-soft);color:var(--danger)}.job-status.sev-info{background:var(--pill-ok-soft);color:var(--ok)}.job-status.sev-default{background:var(--surface);color:var(--muted)}.job-actions{white-space:nowrap}.job-actions>*{margin-right:.5rem}.job-run{display:inline-flex;align-items:center;gap:.4rem;margin-right:.5rem}.secondary-link{font-size:.82rem}.sched-editor{display:flex;flex-direction:column;gap:.6rem;padding:.4rem .2rem}.sched-fields{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem}.sched-fields label{display:flex;flex-direction:column;gap:.2rem;font-size:.78rem;color:var(--muted)}.sched-fields input[type=number]{width:5rem}.sched-preview{font-size:.85rem}.sched-actions{display:flex;align-items:center;gap:.6rem}.sched-editor .note{margin:0}.mtg-card-cell{display:inline-flex;align-items:center;gap:.4rem}.mtg-card-cell .card-thumb img{display:block;height:21rem;width:auto;border-radius:5px;background:var(--surface)}.range-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;margin:.75rem 0 .25rem}.range-bar button{padding:.15rem .6rem;border-radius:99px}.range-bar button.active{background:var(--accent-soft);color:var(--accent-soft-ink);border-color:var(--accent-soft);font-weight:600}.range-bar input[type=date]{font-size:.8rem;margin-left:.3rem}.range-bar .range-sep{color:var(--muted);font-size:.8rem}.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:1rem;margin-top:.9rem}.chart-grid.chart-grid--2-1{grid-template-columns:2fr 1fr}@media (max-width: 820px){.chart-grid.chart-grid--2-1{grid-template-columns:1fr}}.section-head{font-size:1.05rem;margin:1.6rem 0 .2rem;padding-top:1rem;border-top:1px solid var(--border)}.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:.85rem 1rem .5rem;min-width:0}.chart-card.span2,.chart-card.chart-card--expanded{grid-column:1 / -1}.chart-card.bare{border:none;box-shadow:none;padding:.5rem 0 0}.chart-card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.chart-expand-btn{flex:none}.chart-card h3{font-size:.95rem;font-weight:600;margin-bottom:.35rem}.chart-note{color:var(--muted);font-size:.78rem;margin-bottom:.4rem}.sankey-taxes{font-size:.9rem;color:var(--ink);background:var(--danger-soft);border-radius:var(--radius-sm);padding:.3rem .6rem;margin-bottom:.5rem}.sankey-taxes span{color:var(--muted)}.chart-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.82rem;margin-bottom:.4rem}.chart-controls--viz{gap:.2rem .7rem;margin-bottom:.2rem;font-size:.75rem;color:var(--muted)}.chart-controls--viz label{display:inline-flex;align-items:center;gap:.3rem;cursor:pointer;white-space:nowrap}.chart-controls--viz select{font-size:.75rem;padding:.05rem .2rem}.chart-controls--viz .viz-spacer{flex:1}.chart-controls--viz button{font-size:.7rem;padding:.1rem .5rem;color:var(--muted)}.col-picker-wrap summary{cursor:pointer;font-size:.85rem;color:var(--accent);margin-bottom:.35rem}.col-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.1rem .75rem;max-height:15rem;overflow:auto;padding:.5rem .6rem;border:1px solid var(--border-soft);border-radius:var(--radius-sm)}.col-picker-groups{max-height:20rem;overflow:auto;padding:.5rem .6rem;border:1px solid var(--border-soft);border-radius:var(--radius-sm)}.col-picker.bare{max-height:none;overflow:visible;padding:0;border:0}.col-picker-group{margin:.6rem 0 .2rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.col-picker-groups>div:first-child .col-picker-group{margin-top:0}.col-picker-group .col-picker-actions{display:inline-flex;gap:.3rem;margin-left:.5rem;text-transform:none;letter-spacing:0}.col-picker-group .col-picker-actions button{font-size:.68rem;padding:.05rem .35rem;color:var(--muted)}.col-picker label{display:flex;align-items:center;gap:.35rem;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.col-picker label.dimmed{opacity:.55}.pred-inputs{display:flex;flex-wrap:wrap;gap:.75rem;margin:.9rem 0}.pred-inputs fieldset{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:.35rem .85rem .65rem;display:flex;flex-wrap:wrap;align-items:flex-end;gap:.4rem .9rem}.pred-inputs legend{font-size:.75rem;color:var(--muted);padding:0 .25rem}.pred-inputs label{display:inline-flex;flex-direction:column;gap:.15rem;font-size:.75rem;color:var(--muted)}.pred-inputs input{width:5.5rem}.pred-inputs fieldset.pred-grouped{gap:.55rem 1.5rem}.pred-inputs .pred-group{display:flex;flex-direction:column;gap:.3rem}.pred-inputs .pred-group-name{font-size:.75rem;font-weight:600;color:var(--ink);padding:0 .1rem .2rem;border-bottom:1px solid var(--border-strong)}.pred-inputs .pred-group-knobs{display:flex;gap:.45rem}.pred-inputs .pred-grouped:not(.pred-readonly) input{width:4.5rem}.pred-inputs .pred-readonly input:disabled{width:6.25rem;color:var(--muted);background:var(--surface-2);cursor:default}.pred-inputs .pred-ledger-value input{font-style:italic;color:var(--muted)}.pred-inputs .pred-outflow{border-left:1px solid var(--border-strong);padding-left:.9rem;margin-left:.2rem}.pred-inputs .pred-reset{font-size:.72rem;margin-left:.3rem}.pred-inputs .pred-reset:disabled{color:var(--muted)}.chart-embed{margin:.5rem 0 .75rem}.chart-embed summary{cursor:pointer;font-size:.85rem;color:var(--accent)}.chart-embed .chart-card{margin-top:.5rem}.dup-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin:.5rem 0}.dup-controls label{display:flex;flex-direction:column;gap:.2rem;font-size:.78rem;color:var(--muted)}.dup-controls input[type=number]{width:5rem}.dup-summary{font-size:.88rem;margin:.4rem 0}.dup-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:.5rem 0 .9rem;font-size:.85rem}.dup-selected{color:var(--muted);margin-left:auto}.dup-panel button.danger{color:var(--danger);border-color:var(--danger-border);background:var(--danger-soft)}.dup-panel button.danger:disabled{color:var(--muted);border-color:var(--border);background:var(--surface)}.dup-group{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:.5rem .7rem;margin-bottom:.6rem;overflow-x:auto}.dup-group-head{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;font-size:.85rem;margin-bottom:.35rem}.dup-group-head .muted{color:var(--muted)}.dup-badge{font-size:.72rem;padding:.05rem .4rem;border-radius:var(--radius-sm);background:var(--warn-soft);color:var(--warn-ink)}.dup-badge--sure{background:var(--ok-soft);color:var(--ok)}.dup-rows{border-collapse:collapse;font-size:.82rem;width:100%}.dup-rows th,.dup-rows td{text-align:left;padding:.2rem .5rem;white-space:nowrap;border-bottom:1px solid var(--border-soft)}.dup-rows th{color:var(--muted);font-weight:500}.dup-cell-info{max-width:22rem;overflow:hidden;text-overflow:ellipsis}.dup-rows tr.dup-doomed td{color:var(--danger);text-decoration:line-through}.select-col{width:2rem;text-align:center;white-space:nowrap}.data-table tr.row-selected>td{background:var(--accent-soft)}.bulk-bar{border:1px solid var(--accent-border);background:var(--accent-soft);border-radius:var(--radius);padding:.6rem .8rem;margin-bottom:.7rem}.bulk-controls{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.bulk-controls label{display:inline-flex;align-items:center;gap:.35rem;color:var(--muted);font-size:.85rem}.bulk-bar .note{margin:.5rem 0 0}.bulk-rows{border-collapse:collapse;font-size:.82rem;width:100%;margin-top:.4rem}.bulk-rows th,.bulk-rows td{text-align:left;padding:.2rem .5rem;border-bottom:1px solid var(--border-soft);vertical-align:top}.bulk-rows th{color:var(--muted);font-weight:500}.bulk-change{display:inline-block;margin-right:.7rem;white-space:nowrap}.bulk-change--derived{color:var(--warn-ink)}.support-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.82rem;font-weight:600}.support-form textarea{width:100%;max-width:44rem;font-weight:400;resize:vertical}.support-form .radio-group{display:flex;gap:1.2rem}.support-form .radio-group label{flex-direction:row;align-items:center;font-weight:400}.support-reports th{text-align:left;padding:.3rem .5rem .3rem 0;border-bottom:1px solid var(--border);font-size:.78rem;color:var(--muted)}.support-reports td.report-body{white-space:pre-wrap;word-break:break-word;color:var(--ink);width:auto;max-width:46rem}.support-reports td:last-child{white-space:nowrap;color:var(--muted)}.data-table td{position:relative}.data-table td.has-more{padding-right:1.7rem}.data-table td .cell-more{position:absolute;top:50%;right:.15rem;transform:translateY(-50%);display:none;padding:0 .25rem;line-height:1.15;font-size:.85rem;border:none;background:none;box-shadow:none;color:var(--muted);cursor:pointer}.data-table tbody tr:hover td .cell-more,.data-table td .cell-more:focus-visible{display:inline-block}.data-table td .cell-more:hover{background:none;color:var(--accent)}@media (hover: none){.data-table td .cell-more{display:inline-block;opacity:.5}}.data-table td .cell-mark{margin-right:.3em;font-size:.85em;cursor:help;-webkit-user-select:none;user-select:none}.data-table td .cell-mark--formula{color:var(--accent);font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:700}.data-table td .cell-mark--job,.data-table td .cell-mark--fetched{font-size:.7em;opacity:.8}.data-table td .cell-mark--broken{color:var(--warn-ink);font-size:.8em}.data-table td .cell-mark--pinned{font-size:.72em;opacity:.85}.data-table td.num .cell-mark{margin-right:.25em}.job-badge{font-size:.78em;font-weight:600;background:var(--warn-soft);color:var(--warn-ink);border-radius:99px;padding:.05em .42em;margin-left:.4em;vertical-align:middle;cursor:help}.cell-modal{max-width:560px;max-height:90vh;overflow-y:auto}.cell-modal .subtabs{margin-bottom:.9rem}.cell-modal .cell-tab{display:flex;flex-direction:column;gap:.7rem}.cell-modal .cell-tab label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.cell-modal .cell-tab label.checkbox{flex-direction:row;align-items:center;gap:.45rem}.cell-modal .cell-tab label.checkbox input{width:auto}.cell-modal .modal-actions{justify-content:flex-start}.cell-modal .modal-actions .small{margin-left:auto}.cell-modal .kv-rows{display:flex;flex-direction:column;gap:.4rem}.cell-modal .kv-row{display:grid;grid-template-columns:10rem 1fr auto;gap:.4rem;align-items:center}.cell-modal .kv-row input{width:100%}.cell-modal .kv-row input.dupe,.cell-modal .kv-row .dupe input{border-color:var(--danger)}.cell-modal .kv-row .kv-result{grid-column:2 / -1;font-size:.8rem;color:var(--muted);overflow-wrap:anywhere}.cell-modal .kv-row .kv-result--error{color:var(--warn)}@media (max-width: 520px){.cell-modal .kv-row{grid-template-columns:1fr 1fr auto}.cell-modal .kv-row .kv-result{grid-column:1 / -1}}.metrics-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin:.9rem 0 .6rem}.metrics-toolbar button.active{border-color:var(--accent);color:var(--accent)}.metrics-toolbar input[type=search]{margin-left:auto;min-width:12rem}.new-metric{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.8rem;border:1px solid var(--border);border-radius:8px;padding:.9rem;margin:.6rem 0}.new-metric label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.new-metric .muted.small{flex-basis:100%;margin:0}.data-table td label.inline-check{display:inline-flex;align-items:center;gap:.35rem}.data-table td label.inline-check input{width:auto}.data-table td button+button{margin-left:.35rem}.data-table td button.danger{color:var(--danger)}.modal-section{font-size:.9rem;margin:.9rem 0 .2rem}.re-sources{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.7rem;margin-top:.8rem}.re-source{border:1px solid var(--border);border-radius:8px;padding:.7rem .8rem}.re-source--uncovered{opacity:.72}.re-source-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.re-source-value{font-variant-numeric:tabular-nums}.re-source p{margin:.35rem 0 0}.re-source-facts{display:grid;grid-template-columns:auto 1fr;gap:.1rem .6rem;margin:.5rem 0 0;font-size:.85rem}.re-source-facts dt{color:var(--muted)}.re-source-facts dd{margin:0;font-variant-numeric:tabular-nums}.re-source-why{font-size:.83rem;line-height:1.45;color:var(--muted);border-left:2px solid var(--border);padding-left:.5rem;margin-top:.55rem!important}.re-source-why--ok{border-left-color:var(--accent)}.release-list{list-style:none;padding:0;margin:.8rem 0 0;display:flex;flex-direction:column;gap:.7rem}.release{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:.8rem 1rem .9rem}.release-head{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem}.release-head h2{margin:0;font-size:1rem;font-variant-numeric:tabular-nums}.release-head time{font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums}.release-current{font-size:.68rem;font-weight:600;letter-spacing:.02em;background:var(--badge-soft);color:var(--accent-soft-ink);border-radius:99px;padding:.05em .5em;margin-left:.45em;vertical-align:middle}.release-title{margin:.15rem 0 .6rem;color:var(--muted);font-size:.88rem}.release-group+.release-group{margin-top:.5rem}.release-group h3{margin:0 0 .2rem;font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.release-group ul{margin:0;padding-left:1.1rem}.release-group li{font-size:.88rem;line-height:1.5;margin-bottom:.15rem}:root{color-scheme:light dark;--bg: light-dark(#f6f7f9, #0f1319);--surface: light-dark(#ffffff, #171c25);--surface-2: light-dark(#f9fafb, #1e242e);--hover: light-dark(#f8fafc, #1c222b);--hover-edit: light-dark(#fffaeb, #2a2314);--ink: light-dark(#1c2026, #e5e9ef);--muted: light-dark(#69727d, #9aa3b0);--placeholder: light-dark(#a4abb5, #6b7480);--border: light-dark(#e4e7ec, #2b333e);--border-soft: light-dark(#eef0f3, #232a34);--border-strong: light-dark(#cdd3da, #3c4653);--accent: light-dark(#2563eb, #60a5fa);--accent-strong: light-dark(#1d4ed8, #93c5fd);--accent-soft: light-dark(#eff4ff, #17253c);--accent-soft-ink: light-dark(#3450a8, #a9c9f7);--accent-border: light-dark(#c6d4f7, #31517f);--on-accent: light-dark(#ffffff, #0d1219);--danger: light-dark(#b42318, #f87171);--danger-soft: light-dark(#fef3f2, #2c1719);--danger-border: light-dark(#f4cdc9, #5d2b2a);--ok: light-dark(#067647, #34d399);--ok-soft: light-dark(#e7f5ee, #0f2a20);--warn-ink: light-dark(#92600a, #f5c04a);--warn-soft: light-dark(#fdf6e7, #2b2313);--warn-border: light-dark(#f0e2c0, #584526);--badge-soft: light-dark(#dbe7fe, #1d3357);--pill-ok-soft: light-dark(#dcfce7, #0f2f22);--pill-err-soft: light-dark(#fde2e1, #39201f);--rule-hit: light-dark(rgb(255 214 102 / .25), rgb(255 214 102 / .14));--backdrop: light-dark(rgb(16 24 40 / .35), rgb(0 0 0 / .6));--console-bg: light-dark(#0d1526, #0a0f18);--console-ink: #d6deec;--console-dim: #8b98b1;--console-muted: #67748f;--skeleton-a: light-dark(#e9ebef, #232a34);--skeleton-b: light-dark(#f4f5f7, #2c3440);--radius: 10px;--radius-sm: 6px;--shadow: 0 1px 2px light-dark(rgb(16 24 40 / .05), rgb(0 0 0 / .5));--shadow-md: 0 4px 16px light-dark(rgb(16 24 40 / .06), rgb(0 0 0 / .45));--shadow-lg: 0 8px 24px light-dark(rgb(16 24 40 / .14), rgb(0 0 0 / .6));--shadow-xl: 0 12px 40px light-dark(rgb(16 24 40 / .2), rgb(0 0 0 / .7));--shadow-accent: 0 3px 10px light-dark(rgb(37 99 235 / .08), rgb(96 165 250 / .16));--shadow-frozen: 2px 0 5px -2px light-dark(rgb(15 23 42 / .18), rgb(0 0 0 / .6))}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.5;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{letter-spacing:-.01em}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}button{font:inherit;font-size:.875rem;color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.35rem .8rem;cursor:pointer;box-shadow:var(--shadow);transition:background .15s,border-color .15s}button:hover:not(:disabled){background:var(--hover);border-color:var(--border-strong)}button:disabled{opacity:.6;cursor:default}button.primary:disabled{opacity:1;background:var(--surface-2);border-color:var(--border);color:var(--muted)}button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}button.primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}button.link{background:none;border:none;box-shadow:none;padding:0;font-size:inherit;color:var(--accent);border-radius:0}button.link:hover:not(:disabled){background:none;text-decoration:underline}input:not([type=checkbox]),textarea,select{font:inherit;font-size:.875rem;color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.35rem .6rem;transition:border-color .15s}input::placeholder,textarea::placeholder{color:var(--placeholder)}input:not([type=checkbox]):hover,textarea:hover,select:hover{border-color:var(--border-strong)}input[type=checkbox]{accent-color:var(--accent);width:1rem;height:1rem;vertical-align:-.15em}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:1px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{background-position-x:-200%}}.spinner{display:inline-block;width:.85rem;height:.85rem;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;vertical-align:-.1em}.skeleton{display:inline-block;height:.85em;width:70%;border-radius:4px;background:linear-gradient(90deg,var(--skeleton-a) 8%,var(--skeleton-b) 28%,var(--skeleton-a) 48%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}
