@charset "UTF-8";:root{--font-ui: system-ui, -apple-system, "PingFang SC", "MiSans", "HarmonyOS Sans SC", "Microsoft YaHei UI", "Microsoft YaHei", "Noto Sans SC", "Segoe UI", sans-serif;--bg: #f5f7fa;--surface: #ffffff;--surface-raised: rgba(255, 255, 255, .88);--surface-subtle: #f8f9fb;--surface-quiet: #edf1f6;--text: #18202b;--text-soft: #4d5a6a;--muted: #7b8798;--faint: #a6afbc;--line: #dfe4eb;--line-strong: #cbd3dd;--accent: #3158d4;--accent-soft: color-mix(in srgb, var(--accent) 11%, var(--surface));--accent-text: color-mix(in srgb, var(--accent) 72%, var(--text));--accent-hover: color-mix(in srgb, var(--accent) 84%, black);--success: #237550;--success-soft: #e9f3ee;--danger: #b94048;--danger-soft: #f8eceb;--warning: #9b7133;--warning-soft: #f8f1e4;--shadow-sm: 0 8px 24px rgba(25, 37, 53, .06);--shadow-md: 0 20px 60px rgba(25, 37, 53, .1);--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 22px;--sidebar-w: 248px;--page-max: 1160px;--ease: cubic-bezier(.32, .72, .24, 1);--press-ease: cubic-bezier(.25, .8, .35, 1);--press-scale: .95;--press-translate: 2px;--press-duration: .24s;--chart-lightness: 52%;color-scheme:light}[data-theme=dark]{--bg: #11151b;--surface: #191f27;--surface-raised: rgba(25, 31, 39, .88);--surface-subtle: #1e252f;--surface-quiet: #252e39;--text: #f1f4f8;--text-soft: #c3cbd6;--muted: #929daa;--faint: #6d7886;--line: #2e3743;--line-strong: #3a4654;--success: #5ec391;--success-soft: #1d3329;--danger: #ed777c;--danger-soft: #392321;--warning: #d6a866;--warning-soft: #372c1d;--shadow-sm: 0 8px 24px rgba(0, 0, 0, .18);--shadow-md: 0 20px 60px rgba(0, 0, 0, .28);--chart-lightness: 64%;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{min-width:320px;background:var(--bg);scrollbar-width:none}html::-webkit-scrollbar,*::-webkit-scrollbar{width:0;height:0;display:none}*{scrollbar-width:none}body{margin:0;min-height:100dvh;background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color .25s ease,color .25s ease}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent-text)}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-weight:500;letter-spacing:-.02em;line-height:1.3}strong,b{font-weight:600}::selection{background:var(--accent-soft);color:var(--accent-text)}:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:3px}.muted{color:var(--muted);font-size:13px}.icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.money{white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.currency{font-size:.82em;margin-right:2px;color:inherit;opacity:.72}.category-image{display:block;object-fit:contain}.skip-link{position:fixed;left:16px;top:-80px;z-index:1000;padding:10px 16px;border-radius:var(--radius-sm);background:var(--accent);color:#fff;text-decoration:none;transition:top .2s ease}.skip-link:focus{top:16px}kbd{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;background:var(--surface-subtle);color:var(--faint);font-family:inherit;font-size:11px;line-height:1}button,[role=button]{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform var(--press-duration) var(--press-ease),filter var(--press-duration) ease,background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .22s var(--ease)}button:active:not(:disabled){transform:translateY(var(--press-translate)) scale(var(--press-scale));filter:brightness(.97) saturate(.95)}button:disabled{cursor:not-allowed;opacity:.48}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface);color:var(--text);font-size:14px;font-weight:600;white-space:nowrap}.btn .icon{width:18px!important;height:18px!important}.btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 55%,var(--line-strong))}.btn.primary{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 22%,transparent)}.btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn.danger{border-color:color-mix(in srgb,var(--danger) 36%,var(--line));color:var(--danger)}.btn.danger:hover:not(:disabled){border-color:var(--danger);background:var(--danger-soft)}.btn.danger-solid{border-color:var(--danger);background:var(--danger);color:#fff}.full-width{width:100%}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--muted);flex-shrink:0}.icon-button:hover{background:var(--surface-quiet);color:var(--text)}.app-shell{min-height:100dvh}.sidebar{display:none}.main-content{width:min(100%,calc(var(--page-max) + 40px));margin:0 auto;padding:calc(20px + var(--inset-top, env(safe-area-inset-top))) 16px calc(108px + var(--inset-bottom, env(safe-area-inset-bottom)));outline:none}.brand{display:inline-flex;align-items:baseline;gap:8px;color:var(--text);text-decoration:none;white-space:nowrap}.brand-mark{align-self:center;width:28px;height:28px;border-radius:8px;margin-right:2px}.brand>span{font-size:24px;letter-spacing:-.02em}.brand small{font-size:19px;letter-spacing:.01em;color:var(--text)}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.page-title{font-size:clamp(28px,5vw,36px);font-weight:500;line-height:1.15;letter-spacing:-.035em}.page-subtitle{margin-top:6px;color:var(--muted);font-size:14px}.page-content,.settings-subpage{animation:card-up .36s var(--ease) backwards}@keyframes card-up{0%{opacity:0;transform:translateY(32px) scale(.985)}}.mobile-nav{position:fixed;z-index:60;left:12px;right:12px;bottom:calc(10px + var(--inset-bottom, env(safe-area-inset-bottom)));max-width:440px;margin-inline:auto;padding:5px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;border:1px solid color-mix(in srgb,var(--line-strong) 64%,transparent);border-radius:20px;background:var(--surface);box-shadow:0 8px 30px #1a273a17,inset 0 1px color-mix(in srgb,#fff 58%,transparent)}[data-theme=dark] .mobile-nav{box-shadow:0 16px 46px #00000052,inset 0 1px #ffffff0f}.mobile-nav button{min-width:0;min-height:52px;padding:6px 2px;border:1px solid transparent;border-radius:14px;background:transparent;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;font-weight:650;line-height:1.2}.mobile-nav button:hover{color:var(--text-soft)}.mobile-nav button[aria-current=page]{border-color:color-mix(in srgb,var(--accent) 40%,var(--line-strong));background:color-mix(in srgb,var(--accent-soft) 78%,transparent);color:var(--accent-text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 20%,transparent),0 6px 16px -10px color-mix(in srgb,var(--accent) 48%,transparent)}@media(min-width:1024px){.app-shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100dvh;padding:26px 16px 18px;border-right:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column}.sidebar .brand{padding:0 10px}.sidebar-create{width:100%;min-height:46px;margin-top:18px;border-color:color-mix(in srgb,#fff 36%,var(--accent));box-shadow:inset 0 1px #ffffff38,0 10px 24px color-mix(in srgb,var(--accent) 22%,transparent)}.sidebar-create kbd{margin-left:auto;border-color:#ffffff59;background:#ffffff29;color:#ffffffe6}.sidebar nav{display:grid;gap:6px;margin-top:14px}.sidebar nav button{width:100%;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text-soft);display:flex;align-items:center;gap:10px;text-align:left;font-size:14px;font-weight:600}.sidebar nav button:active:not(:disabled){transform:translateY(1px) scale(.98)}.sidebar nav button:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));background:var(--surface-subtle)}.sidebar nav button[aria-current=page]{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:var(--accent-soft);color:var(--accent-text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent)}.sidebar-bottom{margin-top:auto;display:grid;gap:8px}.sidebar-account{width:100%;padding:10px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-subtle);display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;text-align:left}.sidebar-account:active:not(:disabled){transform:translateY(1px) scale(.98)}.sidebar-account>span:last-child{min-width:0;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-account small{display:block;overflow:hidden;color:var(--muted);font-size:11px;font-weight:400;text-overflow:ellipsis}.sidebar-account .avatar{width:34px;height:34px;border-radius:var(--radius-sm);background:var(--accent);color:#fff}.storage-status{width:100%;min-height:34px;padding:0 12px;border:0;border-radius:999px;background:transparent;color:var(--muted);display:flex;align-items:center;gap:8px;font-size:12px;text-align:left}.storage-status:hover{background:var(--surface-quiet)}.storage-status:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--success)}.storage-status.pending:before{background:var(--warning)}.storage-status b{margin-left:auto;min-width:20px;padding:0 6px;border-radius:999px;background:var(--warning-soft);color:var(--warning);font-size:11px;text-align:center}.mobile-nav{display:none}.main-content{width:min(100%,calc(var(--page-max) + 96px));padding:34px 40px 48px}}.overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px;padding:16px 4px;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.metric{position:relative;min-width:0;padding:0 14px;text-align:center}.metric+.metric:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:1px;background:color-mix(in srgb,var(--line) 75%,transparent)}.metric>span{color:var(--muted);font-size:12px}.metric strong{display:block;margin-top:2px;font-size:clamp(19px,3.2vw,26px);font-weight:550;line-height:1.3;font-variant-numeric:tabular-nums;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric strong small{margin-left:2px;color:var(--muted);font-size:13px;font-weight:400}.asset-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:16px}.search-box{flex:1 1 0%;min-width:0;height:42px;padding:0 8px 0 12px;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface);color:var(--faint);display:flex;align-items:center;gap:8px;transition:border-color .2s ease,box-shadow .2s ease}.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.search-box input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font-size:14px}.search-box input::-webkit-search-cancel-button{-webkit-appearance:none}.search-box input::placeholder{color:var(--faint)}.search-box:focus-within kbd{display:none}.search-box .icon-button{width:28px;height:28px;border-radius:8px}.toolbar-filters{display:flex;align-items:center;gap:8px;flex-shrink:0}.segmented{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--line);border-radius:12px;background:var(--surface-subtle);flex-shrink:0}.segmented button{min-height:32px;padding:0 12px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:13px;font-weight:600;white-space:nowrap}.segmented button:hover{color:var(--text-soft)}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 2px 8px #19253514}[data-theme=dark] .segmented button[aria-pressed=true]{background:var(--surface-quiet);box-shadow:none}.dropdown{position:relative;flex-shrink:0}.dropdown-trigger{min-height:40px;padding:0 10px 0 13px;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface);color:var(--text);display:inline-flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap}.dropdown-trigger:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--line-strong))}.dropdown.open .dropdown-trigger{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.dropdown-trigger .caret{color:var(--muted);transition:transform .2s ease}.dropdown.open .caret{transform:rotate(180deg);color:var(--accent)}.dropdown-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:70;min-width:150px;margin:0;padding:6px;list-style:none;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:0 18px 48px -12px color-mix(in srgb,var(--text) 28%,transparent),0 2px 6px -2px color-mix(in srgb,var(--text) 14%,transparent);animation:menu-in .2s var(--ease)}@keyframes menu-in{0%{opacity:0;transform:translateY(-6px) scale(.985)}}.dropdown-menu button{width:100%;min-height:36px;padding:0 12px;border:0;border-radius:8px;background:transparent;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;text-align:left;white-space:nowrap}.dropdown-menu button:active:not(:disabled){transform:none}.dropdown-menu button:hover,.dropdown-menu button:focus-visible{outline:0;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent-text)}.dropdown-menu button.selected{color:var(--accent);font-weight:600}.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:12px}.asset-card{position:relative;min-width:0;padding:12px 16px 14px;border:1px solid color-mix(in srgb,var(--line) 68%,transparent);border-radius:var(--radius-lg);background:var(--surface);box-shadow:0 1px color-mix(in srgb,var(--line) 30%,transparent),var(--shadow-sm);display:flex;flex-direction:column;transition:transform var(--press-duration) var(--press-ease),box-shadow .22s var(--ease),border-color .2s ease}@media(hover:hover){.asset-card:hover{border-color:color-mix(in srgb,var(--line-strong) 88%,transparent);box-shadow:0 2px color-mix(in srgb,var(--line) 40%,transparent),var(--shadow-md);transform:translateY(-2px)}.asset-card:hover .asset-card-top .icon-button{opacity:1}}.asset-card:has(.asset-card-main:active,.card-values:active){transform:translateY(1px) scale(.98)}.asset-card-main:active:not(:disabled),.card-values:active:not(:disabled){transform:none;filter:none}.asset-card-top{display:flex;align-items:center;justify-content:space-between;min-height:30px}.card-tools{display:inline-flex;align-items:center;gap:2px}.drag-handle{cursor:grab;touch-action:none;opacity:0}.drag-handle svg{stroke-width:2.8}.asset-card:hover .drag-handle,.drag-handle:focus-visible,.asset-grid.manual .drag-handle{opacity:1}@media(hover:none){.asset-grid:not(.manual) .drag-handle{display:none}}.drag-handle:active:not(:disabled){transform:none}.asset-card.dragging{position:relative;z-index:20;transition:none!important;border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:var(--shadow-md);cursor:grabbing}.asset-grid.sorting .asset-card:not(.dragging){pointer-events:none}html.is-dragging,html.is-dragging *{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}.asset-card-top .icon-button{width:30px;height:30px}@media(hover:hover){.asset-card-top .icon-button{opacity:.55}}.asset-status{display:inline-flex;align-items:center;gap:6px;min-height:22px;padding:0 9px;border-radius:999px;background:var(--success-soft);color:var(--success);font-size:11px;font-weight:600;white-space:nowrap}.asset-status i{width:6px;height:6px;border-radius:50%;background:currentColor}.asset-status.retired{background:var(--surface-quiet);color:var(--muted)}.asset-card-main{width:100%;padding:0;border:0;background:radial-gradient(ellipse 62% 54% at 50% 38%,color-mix(in srgb,var(--accent) 8%,transparent),transparent 72%);color:var(--text);text-align:center;display:block}.asset-card-main>.category-image{width:132px;height:108px;margin:0 auto 4px}.asset-card-main h2{font-size:17px;font-weight:500;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-card-main p{min-height:19px;margin:1px 0 10px;color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-values{width:100%;margin-top:auto;padding:11px 0 0;border:0;border-top:1px solid color-mix(in srgb,var(--line) 55%,transparent);background:none;display:grid;grid-template-columns:1fr 1fr;text-align:center}.card-values>div+div{border-left:1px solid color-mix(in srgb,var(--line) 55%,transparent)}.card-values strong{display:block;font-size:16px;font-weight:550;line-height:1.3}.card-values span:not(.money,.currency){display:block;margin-top:2px;color:var(--muted);font-size:11px}.asset-card .progress-block{margin-top:12px}.asset-card .progress-label{font-size:11px}.asset-card .progress-track{height:4px;margin-top:6px}.held-line{margin-top:12px;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.list-foot{margin-top:22px;color:var(--faint);font-size:12px;text-align:center}.progress-label{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.progress-track{height:6px;margin-top:8px;overflow:hidden;border-radius:999px;background:var(--surface-quiet)}.progress-track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 70%,white));transition:width .45s var(--ease)}.empty-state{min-height:320px;padding:48px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--muted)}.empty-icon{width:56px;height:56px;margin-bottom:14px;border-radius:16px;background:var(--surface-quiet);color:var(--faint);display:grid;place-items:center}.empty-icon .icon{width:28px!important;height:28px!important}.empty-state h2{color:var(--text);font-size:clamp(19px,2.6vw,23px);font-weight:520;letter-spacing:-.025em}.empty-state p{max-width:380px;margin:8px 0 18px;font-size:14px;line-height:1.7}.panel{border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.sync-notice{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding:10px 12px 10px 14px;border:1px solid color-mix(in srgb,var(--danger) 30%,var(--line));border-radius:var(--radius-md);background:var(--danger-soft);color:var(--danger);font-size:13px}.sync-notice>span:not(.icon){flex:1;min-width:0}.sync-notice .btn{min-height:32px;padding:0 12px;font-size:12px}.recovery-panel{max-width:720px;padding:28px}.recovery-panel>.icon{margin-bottom:14px;color:var(--danger)}.recovery-panel h2{margin-bottom:10px;font-size:22px}.recovery-panel p{color:var(--muted);font-size:14px;line-height:1.8}.recovery-panel .form-actions{justify-content:flex-start}.stat-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.stat-tile{padding:16px 18px}.stat-tile>span{color:var(--muted);font-size:13px}.stat-tile strong{display:block;margin-top:4px;font-size:clamp(22px,3vw,28px);font-weight:550;line-height:1.25;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.stat-tile small{color:var(--muted);font-size:13px;font-weight:400}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-heading h2,.ranking h2{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:500}.section-heading h2 .icon,.ranking h2 .icon{color:var(--muted);width:18px!important;height:18px!important}.breakdown{margin-bottom:14px;padding:20px 22px}.breakdown-layout{display:grid;grid-template-columns:minmax(200px,.75fr) minmax(0,1.6fr);align-items:center;gap:24px}.donut-wrap{display:grid;place-items:center;padding:8px}.donut{width:184px;height:184px;border-radius:50%;display:grid;place-items:center}.donut>div{width:146px;height:146px;border-radius:50%;background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center}.donut span{color:var(--muted);font-size:12px}.donut strong{font-size:32px;font-weight:500;line-height:1.2}.donut small{color:var(--muted);font-size:13px;font-weight:400}.category-breakdown{max-height:300px;overflow:auto}.breakdown-row{display:flex;align-items:center;gap:12px;padding:10px 2px;border-bottom:1px solid color-mix(in srgb,var(--line) 62%,transparent);font-size:13px}.breakdown-row:last-child{border-bottom:0}.breakdown-row>i{width:8px;height:8px;border-radius:3px;flex-shrink:0}.breakdown-row>span:nth-child(2){flex:1;min-width:0}.breakdown-row small{margin-left:8px;color:var(--muted);font-size:11px}.breakdown-row strong{font-weight:550}.percentage{width:48px;color:var(--muted);font-size:11px;text-align:right;font-variant-numeric:tabular-nums}.ranking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ranking{padding:18px 20px 8px}.ranking h2{margin-bottom:6px}.rank-row{width:100%;min-height:60px;padding:8px 2px;border:0;border-bottom:1px solid color-mix(in srgb,var(--line) 62%,transparent);background:none;display:flex;align-items:center;gap:12px;text-align:left}.rank-row:last-child{border-bottom:0}.rank-row:active:not(:disabled){transform:scale(.985)}.rank-row:hover .rank-name{color:var(--accent-text)}.rank-row>.icon{color:var(--faint);transition:transform .2s var(--ease)}.rank-row:hover>.icon{color:var(--accent);transform:translate(2px)}.rank-number{width:22px;color:var(--faint);font-size:12px;font-variant-numeric:tabular-nums}.rank-number.first{color:var(--accent);font-weight:700}.rank-row .category-image{width:42px;height:42px;padding:4px;border-radius:12px;background:var(--surface-subtle)}.rank-name{flex:1;min-width:0;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .2s ease}.rank-name small{display:block;color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis}.rank-row strong{font-size:14px;font-weight:550}.stats-footnote{max-width:820px;margin:18px 4px;color:var(--muted);font-size:12px;line-height:1.8}.modal{width:min(560px,calc(100vw - 28px));max-height:min(88dvh,880px);padding:0;border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--surface);color:var(--text);box-shadow:var(--shadow-md);overflow:hidden}.modal[open]{display:flex;flex-direction:column;animation:card-up .3s var(--ease) backwards}.modal.wide{width:min(720px,calc(100vw - 28px))}.modal::backdrop{background:#0d141e85;animation:fade .2s ease-out backwards}@keyframes fade{0%{opacity:0}}.modal-header{min-height:60px;padding:10px 14px 10px 20px;border-bottom:1px solid color-mix(in srgb,var(--line) 65%,transparent);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0}.modal-header h2{font-size:20px;font-weight:500;line-height:1.2}.modal-close{height:32px;padding:0 14px;border:1px solid color-mix(in srgb,var(--line-strong) 55%,transparent);border-radius:999px;background:var(--surface-quiet);color:var(--text-soft);font-size:12px;font-weight:600;flex-shrink:0}.modal-close:hover{color:var(--text)}.modal-body{padding:18px 20px 22px;overflow-y:auto;overscroll-behavior:contain}.modal-footer{padding:12px 20px calc(12px + var(--inset-bottom, env(safe-area-inset-bottom)));border-top:1px solid color-mix(in srgb,var(--line) 65%,transparent);background:var(--surface);display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-shrink:0}.confirm-message{color:var(--text-soft);font-size:14px;line-height:1.8;overflow-wrap:anywhere}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;color:var(--text-soft);font-size:13px;font-weight:600}.field label{color:var(--text-soft);font-size:13px;font-weight:600}.required{color:var(--danger)}.optional{margin-left:4px;color:var(--faint);font-size:11px;font-weight:400}.input{width:100%;min-height:44px;padding:10px 13px;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface);color:var(--text);font-size:14px;font-weight:400;line-height:1.5;transition:border-color .2s ease,box-shadow .2s ease}.input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.input::placeholder,textarea::placeholder{color:var(--faint);opacity:1}.input[aria-invalid=true]{border-color:var(--danger)}.input[type=number]{-moz-appearance:textfield;appearance:textfield}.input[type=number]::-webkit-inner-spin-button,.input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.input[type=date]::-webkit-calendar-picker-indicator{opacity:.55;cursor:pointer}textarea.input{min-height:92px;resize:vertical}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.chip{min-height:30px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface-subtle);color:var(--text-soft);font-size:12px;font-weight:600}.chip:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}.engine-notice{margin:0;padding:10px 16px;background:#f8f1e4;color:#6b4d1f;font-size:13px;text-align:center}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-columns .field{margin-bottom:14px}.field-error{color:var(--danger);font-size:12px;font-weight:500}.form-error{padding:10px 13px;border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);border-radius:12px;background:var(--danger-soft);color:var(--danger);font-size:13px;line-height:1.6}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.check-row{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;cursor:pointer}input[type=checkbox]{width:17px;height:17px;margin:0;accent-color:var(--accent);cursor:pointer}.form-category{margin:-2px 0 18px;text-align:center}.category-picker-button{margin:0 auto;padding:6px 14px 8px;border:1px solid transparent;border-radius:var(--radius-lg);background:none;display:flex;flex-direction:column;align-items:center}.category-picker-button:hover{border-color:var(--line);background:var(--surface-subtle)}.category-picker-button .category-image{width:96px;height:88px}.category-picker-button>span{display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:0 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent-text);font-size:13px;font-weight:600}.form-category .muted{margin-top:6px;color:var(--faint);font-size:11px}.icon-picker{margin-bottom:18px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-subtle);animation:card-up .28s var(--ease) backwards}.icon-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px;max-height:248px;margin-top:10px;overflow:auto}.icon-picker-grid button{min-width:0;padding:6px 2px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--text-soft);display:flex;flex-direction:column;align-items:center;font-size:11px}.icon-picker-grid button:hover{background:var(--surface);border-color:var(--line)}.icon-picker-grid button.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}.icon-picker-grid .category-image{width:44px;height:44px}.icon-picker-grid span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-hero{margin-bottom:18px;text-align:center;background:radial-gradient(ellipse 55% 60% at 50% 34%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 74%)}.detail-hero .category-image{width:140px;height:120px;margin:0 auto 8px}.detail-hero h3{font-size:22px;font-weight:500;overflow-wrap:anywhere}.detail-hero>p{margin:4px 0 10px;color:var(--muted);font-size:13px;overflow-wrap:anywhere}.detail-hero>p:empty{display:none}.detail-hero .asset-status{margin-top:8px}.detail-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:18px}.detail-metrics>div{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-subtle)}.detail-metrics span:not(.money,.currency){color:var(--muted);font-size:12px}.detail-metrics strong{display:block;margin-top:2px;font-size:21px;font-weight:550;line-height:1.3;font-variant-numeric:tabular-nums}.detail-metrics small{color:var(--muted);font-size:12px;font-weight:400}.detail-rows{margin:18px 0 8px}.detail-rows>div{display:flex;justify-content:space-between;gap:16px;padding:10px 2px;border-bottom:1px solid color-mix(in srgb,var(--line) 62%,transparent);font-size:13px}.detail-rows>div:last-child{border-bottom:0}.detail-rows dt{color:var(--muted)}.detail-rows dd{margin:0;text-align:right}.fine-print{margin:8px 0 16px;color:var(--faint);font-size:11px;line-height:1.7}.detail-note{margin-bottom:16px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--line) 85%,transparent);border-radius:12px;background:var(--surface-subtle)}.detail-note h4{margin-bottom:4px;color:var(--muted);font-size:12px;font-weight:600}.detail-note p{color:var(--text-soft);font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.modal-body>.segmented{display:flex;margin:14px 0 18px}.modal-body>.segmented button{flex:1}.modal-body>.muted{line-height:1.75}.modal-body>form+.muted{margin-top:16px}.toast{position:fixed;z-index:120;left:50%;bottom:calc(92px + var(--inset-bottom, env(safe-area-inset-bottom)));transform:translate(-50%);width:max-content;max-width:min(460px,calc(100vw - 32px));padding:8px 8px 8px 14px;border:1px solid color-mix(in srgb,var(--line-strong) 62%,transparent);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-md);display:flex;align-items:center;gap:8px;font-size:13px;animation:toast-in .32s var(--ease) both}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}.toast>.icon{width:18px!important;height:18px!important;color:var(--success)}.toast.error{border-color:color-mix(in srgb,var(--danger) 45%,transparent);background:color-mix(in srgb,var(--danger) 10%,var(--surface));color:var(--danger);font-weight:600}.toast.error>.icon{color:var(--danger)}.toast .icon-button{width:28px;height:28px;border-radius:8px}@media(min-width:1024px){.toast{left:calc(50% + var(--sidebar-w) / 2);bottom:30px}}.settings-menu{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}@media(min-width:768px){.settings-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}.settings-menu-row{width:100%;min-height:76px;padding:16px 18px;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:14px;text-align:left}.settings-menu-row:hover{border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}.settings-menu-row:active:not(:disabled){transform:scale(.985)}.settings-menu-copy{flex:1;min-width:0}.settings-menu-copy strong{display:block;font-size:15px;font-weight:600}.settings-menu-copy p{margin-top:3px;font-size:12px}.settings-menu-row>.icon{color:var(--faint);transition:transform .2s var(--ease)}.settings-menu-row:hover>.icon{color:var(--accent);transform:translate(2px)}.settings-menu-row:hover strong{color:var(--accent-text)}.settings-back{min-height:34px;margin-bottom:14px;padding:0 14px 0 10px;border:1px solid color-mix(in srgb,var(--line-strong) 55%,transparent);border-radius:999px;background:var(--surface-quiet);color:var(--text-soft);display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600}.settings-section{min-width:0;padding:20px 22px}.section-title{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:19px;font-weight:500}.icon-tile{width:40px;height:40px;border-radius:12px;background:var(--surface-subtle);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line) 80%,transparent);display:grid;place-items:center;flex-shrink:0;font-size:20px;line-height:1}.settings-row{min-height:60px;padding:12px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 62%,transparent);display:flex;align-items:center;justify-content:space-between;gap:16px}.settings-row:last-child{border-bottom:0;padding-bottom:2px}.settings-row>.row-copy,.settings-row>.field{flex:1}.settings-row>.field{margin:0}.row-copy{min-width:0;font-size:14px}.row-copy strong{font-weight:600}.row-copy p{margin-top:2px;color:var(--muted);font-size:12px;line-height:1.65}.settings-row .btn{min-height:36px;padding:0 14px;border-radius:var(--radius-sm);font-size:13px;flex-shrink:0}.settings-row .segmented button{padding:0 10px;font-size:12px}.settings-section>.btn{margin-top:12px}.profile-card{margin:12px 0 6px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-subtle);display:flex;align-items:center;gap:14px}.profile-card>div{flex:1;min-width:0}.profile-card strong,.profile-card h3{font-size:17px;font-weight:550}.profile-card .muted{overflow-wrap:anywhere}.avatar{width:46px;height:46px;border-radius:14px;background:var(--accent);color:#fff;display:inline-grid;place-items:center;flex-shrink:0}.pill{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border:1px solid color-mix(in srgb,var(--accent) 26%,transparent);border-radius:999px;background:var(--accent-soft);color:var(--accent-text);font-size:12px;font-weight:650;white-space:nowrap}.pill.premium{border-color:#d9b96a;background:linear-gradient(135deg,#f7ead0,#efd7a4);color:#7a5d14}.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:8px;margin-top:12px}.swatch{aspect-ratio:1;width:100%;max-width:40px;padding:0;border:0;border-radius:10px;color:#fff;display:grid;place-items:center;box-shadow:inset 0 0 0 1px #0000000f}.swatch.active{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--accent)}.swatch .icon{opacity:.92}.slider-row{padding:14px 0 6px;border-bottom:1px solid color-mix(in srgb,var(--line) 62%,transparent);display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 12px;font-size:14px}.slider-row output{color:var(--accent);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.slider-row input[type=range]{grid-column:1 / -1;width:100%;margin:0;accent-color:var(--accent);cursor:pointer}.switch{position:relative;width:44px;height:26px;padding:0;border:0;border-radius:999px;background:var(--line-strong);flex-shrink:0}.switch:after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #0000002e;transition:transform .24s var(--ease)}.switch[aria-checked=true]{background:var(--accent)}.switch[aria-checked=true]:after{transform:translate(18px)}.switch:active:not(:disabled){transform:none}.data-safety-note{margin:8px 0 4px;padding:10px 13px;border:1px solid color-mix(in srgb,var(--warning) 28%,var(--line));border-radius:12px;background:var(--warning-soft);color:var(--warning);font-size:12px;line-height:1.7;display:flex;gap:8px;align-items:flex-start}.benefit-row{justify-content:flex-start;gap:14px}.swatch.locked{opacity:.55}.fatal-error{max-width:560px;margin:auto;padding:60px 24px}.fatal-error h1{margin-bottom:12px;font-size:26px}.fatal-error p{margin-bottom:20px;color:var(--muted)}.fatal-error details{margin-top:20px;font-size:12px}@media(min-width:768px)and (max-width:1023.98px){.main-content{padding:28px 24px calc(112px + var(--inset-bottom, env(safe-area-inset-bottom)))}}@media(max-width:767.98px){.page-header{margin-bottom:14px}.page-title{font-size:30px}.page-subtitle{font-size:13px}.overview{padding:13px 0;border-radius:16px}.metric{padding:0 8px}.metric>span{font-size:11px}.metric strong small{font-size:11px}.asset-toolbar{flex-wrap:wrap;gap:8px}.search-box{flex-basis:100%}.search-box kbd{display:none}.toolbar-filters{width:100%;justify-content:space-between}.segmented button{padding:0 11px;font-size:12px}.asset-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.asset-card{padding:8px 10px 11px;border-radius:16px}.asset-card-top{min-height:26px}.asset-card-top .icon-button{width:28px;height:28px}.asset-status{min-height:20px;padding:0 7px;font-size:10px}.asset-card-main>.category-image{width:88px;height:76px;margin-bottom:2px}.asset-card-main h2{font-size:14px}.asset-card-main p{min-height:17px;margin-bottom:8px;font-size:11px}.card-values{padding-top:8px}.card-values strong{font-size:13px}.card-values span:not(.money,.currency){font-size:10px}.asset-card .progress-block{margin-top:8px}.asset-card .progress-label{font-size:10px}.stat-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat-tile{padding:13px 14px;border-radius:16px}.stat-tile>span{font-size:12px}.breakdown{padding:16px;border-radius:16px}.breakdown-layout{grid-template-columns:1fr;gap:8px}.category-breakdown{max-height:none}.breakdown-row{gap:8px;font-size:12px}.ranking-grid{grid-template-columns:1fr;gap:10px}.ranking{padding:14px 16px 4px;border-radius:16px}.rank-row{gap:10px}.rank-row .category-image{width:34px;height:34px}.rank-name,.rank-row strong{font-size:13px}.stats-footnote{margin:16px 2px;font-size:11px}.settings-menu-row{min-height:68px;padding:14px 16px;border-radius:16px}.settings-section{padding:16px;border-radius:16px}.settings-row{gap:12px}.settings-row .row-copy{overflow-wrap:anywhere}.modal{width:calc(100vw - 20px);max-height:calc(100dvh - 24px);border-radius:20px}.modal-header{min-height:54px;padding:8px 12px 8px 18px}.modal-header h2{font-size:19px}.modal-body{padding:16px 18px 20px}.modal-footer{padding:12px 18px calc(12px + var(--inset-bottom, env(safe-area-inset-bottom)))}.modal-footer .btn{flex:1 1 120px}.input{font-size:16px}.detail-metrics strong{font-size:19px}.detail-hero .category-image{height:104px}}@media(max-width:380px){.main-content{padding-left:12px;padding-right:12px}.form-columns{grid-template-columns:1fr;gap:0}.settings-row{flex-wrap:wrap}.segmented button{padding:0 8px}.mobile-nav{left:8px;right:8px}.mobile-nav button{font-size:10px}}.legal-frame{display:block;width:100%;height:min(68dvh,620px);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}.consent-list{margin:8px 0 12px;padding-left:20px;color:var(--text-soft);font-size:14px;line-height:1.8}.consent-list li{margin:3px 0}.link-btn{padding:0;border:0;background:none;color:var(--accent-text);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.link-btn:active:not(:disabled){transform:none;filter:none}.agree-row{margin:4px 0 12px;font-size:13px;line-height:1.7}.agree-row .check-row{align-items:flex-start;color:var(--text-soft)}.agree-row input[type=checkbox]{margin-top:3px}.inline-actions{display:inline-flex;gap:8px;flex-shrink:0}@media(max-width:480px){.inline-actions{flex-direction:column}}@media(hover:none){kbd{display:none!important}}[data-platform=android] kbd,[data-platform=harmonyos] kbd{display:none!important}[data-platform=android] :is(.mobile-nav,.sidebar,.page-header,.modal-header,.asset-card,.settings-menu-row,button),[data-platform=harmonyos] :is(.mobile-nav,.sidebar,.page-header,.modal-header,.asset-card,.settings-menu-row,button){-webkit-user-select:none;user-select:none}[data-platform=android] img,[data-platform=harmonyos] img{-webkit-touch-callout:none;-webkit-user-drag:none}[data-motion=reduced] *,[data-motion=reduced] *:before,[data-motion=reduced] *:after,[data-motion=reduced] ::backdrop{animation:none!important;transition:none!important}[data-motion=reduced] :is(button,.asset-card):active,[data-motion=reduced] .asset-card:hover{transform:none!important;filter:none!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after,::backdrop{animation:none!important;transition:none!important}:is(button,.asset-card):active,.asset-card:hover{transform:none!important;filter:none!important}}
