@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--spacing:.25rem;--radius-md:.375rem;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-body);--default-mono-font-family:var(--font-title)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.grid{display:grid}.hidden{display:none}.table{display:table}.h-full{height:100%}.min-h-full{min-height:100%}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}#nprogress{pointer-events:none}#nprogress .bar{z-index:1031;background:#29d;width:100%;height:2px;position:fixed;top:0;left:0}#nprogress .peg{opacity:1;width:100px;height:100%;display:block;position:absolute;right:0;transform:rotate(3deg)translateY(-4px);box-shadow:0 0 10px #29d,0 0 5px #29d}#nprogress .spinner{z-index:1031;display:block;position:fixed;top:15px;right:15px}#nprogress .spinner-icon{box-sizing:border-box;border:2px solid #0000;border-color:#29d #0000 #0000 #29d;border-radius:50%;width:18px;height:18px;animation:.4s linear infinite nprogress-spinner}.nprogress-custom-parent{position:relative;overflow:hidden}.nprogress-custom-parent #nprogress .spinner,.nprogress-custom-parent #nprogress .bar{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(360deg)}}@keyframes nprogress-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*{box-sizing:border-box}html{scrollbar-gutter:stable;font-size:var(--app-font-size);overflow:clip scroll}body{background:var(--background);color:var(--foreground);font-family:var(--ff-app);font-size:var(--fs-18);overflow-x:clip}a{color:inherit;text-decoration:none}input,select{border:1px solid var(--line);background:var(--field-bg);width:100%;color:var(--foreground);border-radius:10px;padding:.62rem}input:disabled,select:disabled{background:var(--field-disabled-bg);color:var(--field-disabled-text);cursor:not-allowed}input[type=number]{appearance:textfield}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.error-text{color:var(--error-text);font-size:var(--fs-16)}.form-error-in-value{margin-top:.5rem}.empty-state{color:var(--text-soft);margin-top:.8rem}.empty-state-with-demo{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:2.5rem 1rem;display:flex}.demo-data-notice{border:1px solid var(--warn);border-radius:10px;margin-bottom:.9rem;padding:.72rem .85rem}@supports (color:color-mix(in lab, red, red)){.demo-data-notice{border:1px solid color-mix(in oklab, var(--warn) 42%, var(--line))}}.demo-data-notice{background:var(--warn)}@supports (color:color-mix(in lab, red, red)){.demo-data-notice{background:color-mix(in oklab, var(--warn) 10%, var(--surface))}}.demo-data-notice{color:var(--text-strong);font-size:var(--fs-16);line-height:1.45}.demo-data-notice strong{color:var(--warn)}@supports (color:color-mix(in lab, red, red)){.demo-data-notice strong{color:color-mix(in oklab, var(--warn) 60%, var(--text-strong))}}.muted{font-size:var(--fs-15);color:var(--text-soft)}:root[data-private-mode=on] .private-amount{filter:blur(6px);-webkit-user-select:none;user-select:none}.nav-links a{transition:color .2s;position:relative}.nav-links a.is-active{color:var(--primary);font-weight:var(--fw-semibold)}.nav-links a.is-active:after{content:"";background:var(--primary);border-radius:1px;height:2px;position:absolute;bottom:-8px;left:0;right:0}:root{--app-font-size:18px;--font-app:system-ui, -apple-system, "Segoe UI", "Noto Sans KR", sans-serif;--layout-max-width:1280px;--layout-shell-max-width:calc(var(--page-max-width) + 260px + 3rem);--layout-single-max-width:860px;--page-max-width:1280px;--page-max-width-narrow:1080px;--page-padding-x:1.25rem;--radius-nav:18px;--radius-card:22px;--radius-pill:999px}:root[data-layout-width="1"]{--layout-max-width:1040px;--page-max-width:1040px}:root[data-layout-width="2"]{--layout-max-width:1160px;--page-max-width:1160px}:root[data-layout-width="3"]{--layout-max-width:1280px;--page-max-width:1280px}:root[data-layout-width="4"]{--layout-max-width:1400px;--page-max-width:1400px}:root[data-layout-width="5"]{--layout-max-width:100%;--layout-shell-max-width:none;--page-max-width:100%}:root[data-font-size="1"]{--app-font-size:14px}:root[data-font-size="2"]{--app-font-size:16px}:root[data-font-size="3"]{--app-font-size:18px}:root[data-font-size="4"]{--app-font-size:20px}:root[data-font-size="5"]{--app-font-size:22px}:root[data-font-family=system]{--font-app:system-ui, -apple-system, "Segoe UI", "Noto Sans KR", sans-serif}:root[data-font-family=pretendard]{--font-app:var(--font-pretendard), var(--font-body), sans-serif}:root[data-font-family=noto-sans-kr]{--font-app:var(--font-body), sans-serif}:root[data-font-family=ibm-plex-sans-kr]{--font-app:var(--font-ibm-plex-sans-kr), var(--font-body), sans-serif}:root[data-font-family=gowun-dodum]{--font-app:var(--font-gowun-dodum), var(--font-body), sans-serif}@media (max-width:720px){:root{--page-padding-x:.75rem}}:root{--background:#f2f4f7;--foreground:#111827;--surface:#fff;--surface-soft:#f8fbff;--surface-strong:#f7fbff;--line:#d7dce3;--line-strong:#cfd9e8;--primary:#1368ec;--primary-soft:#e8f1ff;--primary-soft-2:#eef5ff;--text-muted:#4c647f;--text-soft:#5b718c;--text-strong:#102743;--accent:#00a78e;--warn:#d97706;--danger:#b42318;--danger-soft:#fff1f1;--success-soft:#effcf6;--success-line:#89dbb2;--success-text:#146540;--gain-soft:#effcf6;--gain-line:#89dbb2;--gain-text:#146540;--loss-soft:#fff1f1;--loss-line:#e9a4a4;--loss-text:#b42318;--warning-soft:#fff5e6;--warning-line:#f2cc94;--warning-text:#8a570c;--focus:#1368ec;--field-bg:#fcfdff;--field-disabled-bg:#eef2f7;--field-disabled-text:#7589a2;--error-text:#b42318;--disabled-bg-strong:#e3e9f3;--disabled-bg-soft:#f2f5fa;--disabled-border:#cfd8e6;--disabled-text:#8396af;--hero-chip-border:#6da6ff;--feature-text:#2d3f55;--stacked-link-bg:#f5f8fd;--asset-divider:#e2e8f1;--bar-track-bg:#eef4ff;--bar-fill-end:#61b2f3;--hover-surface:#eef5ff;--hover-outline:#c9dcff;--shadow-lg:0 12px 24px #0a1a3724;--color-positive:#1b7a44;--color-negative:#b91c1c;--pure-white:#fff;--btn-primary-bg:#0d2457;--btn-primary-hover-bg:#1a3b7a;--btn-primary-hover-border:#2a4f9e;--btn-secondary-bg:#eef4ff;--btn-secondary-border:#c4d9ff;--btn-secondary-text:#153666;--btn-secondary-hover-bg:#ddeaff;--btn-secondary-hover-border:#92b8ff;--btn-danger-bg:#c0392b;--btn-danger-border:#a93226;--btn-danger-hover-bg:#a93226;--btn-danger-hover-border:#922b21;--btn-danger-outline-border:#f2b7b7;--btn-danger-outline-text:#b12c2c;--btn-danger-outline-hover-bg:#fff0f0;--btn-danger-outline-hover-border:#e08080;--btn-ghost-border:#cfd8e6;--btn-ghost-text:#2f4665;--btn-ghost-hover-bg:#f0f4fa;--btn-ghost-hover-border:#a8bcd8;--shell-bg:linear-gradient(180deg, #f7f9fc 0%, #edf2f9 100%);--form-hint-bg:#f4f6fa;--form-hint-line:#dce2ec;--form-hint-text:#556782;--skeleton-shimmer:#404a56;--risk-medium:#b8860b;--risk-high:#c2410c;--tab-active:#1565c0;--tab-active-text:#113a69;--status-active:#2e7d32;--status-closed:#616161;--status-closed-bg:#eee;--strategy-conservative-bg:#e8f4fd;--strategy-conservative-text:#1a6fa0;--strategy-growth-bg:#e8f5e9;--strategy-growth-text:#2e7d32;--strategy-aggressive-bg:#fff3e0;--strategy-aggressive-text:#e65100;--strategy-custom-bg:#f3e5f5;--strategy-custom-text:#6a1b9a;--cat-stock-soft:#e8f2ff;--cat-stock-line:#bdd7ff;--cat-stock-text:#1d4f91;--cat-etf-soft:#e7f7f4;--cat-etf-line:#a8ddd4;--cat-etf-text:#0f766e;--cat-real-estate-soft:#e9f8ef;--cat-real-estate-line:#bbe5c9;--cat-real-estate-text:#1b6a3d;--cat-cash-soft:#f3f4f8;--cat-cash-line:#d9dde7;--cat-cash-text:#4b5870;--cat-bond-soft:#fff5e8;--cat-bond-line:#f3d3aa;--cat-bond-text:#86521e;--cat-checking-account-soft:#e9fbfa;--cat-checking-account-line:#b7e8e3;--cat-checking-account-text:#1c6c63;--cat-installment-savings-soft:#fff1e8;--cat-installment-savings-line:#f6c5a5;--cat-installment-savings-text:#9a3412;--cat-deposit-account-soft:#fff7dc;--cat-deposit-account-line:#efd887;--cat-deposit-account-text:#8a570c;--cat-pension-soft:#f5f9ec;--cat-pension-line:#d0e4ab;--cat-pension-text:#4a6b1f;--cat-crypto-soft:#f3eeff;--cat-crypto-line:#cbbdff;--cat-crypto-text:#6d28d9;--cat-fund-soft:#fff0f6;--cat-fund-line:#f2c6da;--cat-fund-text:#8b2e61;--cat-insurance-soft:#fffbec;--cat-insurance-line:#f5dfa0;--cat-insurance-text:#7a5b1a}:root[data-theme=dark]{--background:#0e1523;--foreground:#e5edf9;--surface:#151f33;--surface-soft:#1a2740;--surface-strong:#1a2740;--line:#2d3a55;--line-strong:#415172;--primary:#6ea5ff;--primary-soft:#24395d;--primary-soft-2:#22324f;--text-muted:#b3c1d7;--text-soft:#94a8c4;--text-strong:#eef4ff;--accent:#52d2b6;--warn:#f3b14e;--danger:#ff8a8a;--danger-soft:#3a242c;--success-soft:#1f3a33;--success-line:#3f8f75;--success-text:#c5f5df;--gain-soft:#1f3a33;--gain-line:#3f8f75;--gain-text:#c5f5df;--loss-soft:#3a242c;--loss-line:#8f4b4b;--loss-text:#ff8a8a;--warning-soft:#3d3122;--warning-line:#8c6c3f;--warning-text:#ffe0ac;--focus:#7fb0ff;--field-bg:#1b2842;--field-disabled-bg:#22324f;--field-disabled-text:#92a5c2;--error-text:#ff9b9b;--disabled-bg-strong:#32445f;--disabled-bg-soft:#283850;--disabled-border:#4a5f7f;--disabled-text:#9eb2cf;--hero-chip-border:#8ab5ff;--feature-text:#c8d5e8;--stacked-link-bg:#1d2c46;--asset-divider:#324868;--bar-track-bg:#253754;--bar-fill-end:#78c4ff;--hover-surface:#1c2a45;--hover-outline:#39517a;--shadow-lg:0 14px 30px #00000059;--color-positive:#4ade80;--color-negative:#f87171;--shell-bg:linear-gradient(180deg, #0b1220 0%, #111827 100%);--bg-deepest:#0b1220;--nav-border:#2d3f5c;--tab-active-text:#7eb8f7;--btn-primary-bg:#6ea5ff;--btn-primary-border:#7db0ff;--btn-primary-text:#0f1b30;--btn-primary-hover-bg:#89b8ff;--btn-primary-hover-border:#a0c8ff;--btn-secondary-bg:#22324f;--btn-secondary-border:#415172;--btn-secondary-text:#dfe9fb;--btn-secondary-hover-bg:#2d4266;--btn-secondary-hover-border:#5a6f9a;--btn-danger-outline-border:#7a4654;--btn-danger-outline-text:#ffdce3;--btn-danger-outline-hover-bg:#40212b;--btn-danger-outline-hover-border:#a05060;--btn-ghost-bg:#1b2943;--btn-ghost-border:#415172;--btn-ghost-text:#e5edf9;--btn-ghost-hover-bg:#243657;--btn-ghost-hover-border:#5a6f9a;--cat-stock-soft:#22395d;--cat-stock-line:#4f7fbc;--cat-stock-text:#d8e8ff;--cat-etf-soft:#173b38;--cat-etf-line:#4a9b92;--cat-etf-text:#c9f7f1;--cat-real-estate-soft:#1f3a2c;--cat-real-estate-line:#4f9a74;--cat-real-estate-text:#d8f8e7;--cat-cash-soft:#2a3140;--cat-cash-line:#59667f;--cat-cash-text:#e3e9f4;--cat-bond-soft:#45311f;--cat-bond-line:#a27847;--cat-bond-text:#ffe8cc;--cat-checking-account-soft:#1d3838;--cat-checking-account-line:#4e9b95;--cat-checking-account-text:#d7fcf6;--cat-installment-savings-soft:#4a2a1d;--cat-installment-savings-line:#b46f42;--cat-installment-savings-text:#ffe1c9;--cat-deposit-account-soft:#443616;--cat-deposit-account-line:#aa8736;--cat-deposit-account-text:#ffedb5;--cat-pension-soft:#2d3a1f;--cat-pension-line:#7ea04c;--cat-pension-text:#edf9d8;--cat-crypto-soft:#37235d;--cat-crypto-line:#8b6ee2;--cat-crypto-text:#eee6ff;--cat-fund-soft:#48273d;--cat-fund-line:#b16d94;--cat-fund-text:#ffe1ef;--cat-insurance-soft:#3d3010;--cat-insurance-line:#b08c35;--cat-insurance-text:#fff2cc}:root[data-color-scheme=korean]{--color-positive:#b91c1c;--color-negative:#1d4ed8;--gain-soft:#fff1f1;--gain-line:#e9a4a4;--gain-text:#b42318;--loss-soft:#eef5ff;--loss-line:#a8c7f7;--loss-text:#1d4ed8}:root[data-theme=dark][data-color-scheme=korean]{--color-positive:#f87171;--color-negative:#60a5fa;--gain-soft:#3a242c;--gain-line:#8f4b4b;--gain-text:#ff8a8a;--loss-soft:#1e3154;--loss-line:#4e73b5;--loss-text:#9ec5ff}:root{--fs-11:.62rem;--fs-13:.72rem;--fs-14:.78rem;--fs-15:.84rem;--fs-16:.9rem;--fs-18:1rem;--fs-20:1.1rem;--fs-22:1.22rem;--fs-24:1.33rem;--fs-28:1.56rem;--fs-32:1.78rem;--fs-36:2rem;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-extrabold:800;--fw-black:900;--ff-app:var(--font-app);--ff-title:var(--font-title), sans-serif;--ff-body:var(--font-body), sans-serif;--lh-tight:1.3;--lh-snug:1.4;--lh-normal:1.5;--lh-relaxed:1.6}.page-skeleton{flex-direction:column;gap:1rem;min-height:320px;display:flex}.page-skeleton-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.page-skeleton-heading{gap:.65rem;width:min(100%,520px);display:grid}.page-skeleton-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.page-skeleton-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.8rem;display:grid}.page-skeleton-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;display:grid}.page-skeleton-card{border:1px solid var(--line);background:var(--surface);min-height:8rem;box-shadow:var(--shadow-lg);border-radius:12px;gap:.7rem;padding:1rem;display:grid}.page-skeleton-card.is-flat{box-shadow:none}.page-skeleton-toolbar{border:1px solid var(--line);background:var(--surface);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.55rem;padding:.9rem;display:flex}.page-skeleton-table{border:1px solid var(--line);background:var(--surface);border-radius:14px;gap:.65rem;padding:1rem;display:grid;overflow:hidden}.page-skeleton-row{grid-template-columns:minmax(10rem,1.5fr) repeat(4,minmax(5rem,1fr));align-items:center;gap:.75rem;min-height:2.75rem;display:grid}.page-skeleton-snapshot-row{grid-template-columns:minmax(10rem,1.2fr) repeat(5,minmax(7rem,1fr));align-items:center;gap:.75rem;min-height:2.7rem;display:grid}.page-skeleton-form{gap:1rem;display:grid}.page-skeleton-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.page-skeleton-field{gap:.45rem;display:grid}.page-skeleton-chart{min-height:18rem}.page-skeleton-chart.is-large{min-height:24rem}.page-skeleton-block{background:var(--surface-soft);border-radius:8px;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.page-skeleton-block{background:color-mix(in srgb, var(--surface-soft) 72%, var(--line) 28%)}}.page-skeleton-block:after{content:"";background:linear-gradient(90deg, transparent, var(--surface), transparent);position:absolute;inset:0;transform:translate(-100%)}@supports (color:color-mix(in lab, red, red)){.page-skeleton-block:after{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--surface) 72%, transparent), transparent)}}.page-skeleton-block:after{animation:1.4s infinite page-skeleton-shimmer}.page-skeleton-title{width:min(16rem,70%);height:1.9rem}.page-skeleton-copy{width:min(30rem,100%);height:1rem}.page-skeleton-copy.is-short{width:min(18rem,78%)}.page-skeleton-button{width:6.25rem;height:2.35rem}.page-skeleton-pill{border-radius:999px;width:7.5rem;height:2.15rem}.page-skeleton-input{height:2.8rem}.page-skeleton-label{width:5.8rem;height:.85rem}.page-skeleton-line{width:100%;height:1rem}.page-skeleton-line.is-short{width:62%}.page-skeleton-line.is-medium{width:78%}.page-skeleton-cell{height:1.1rem}.page-skeleton-cell.is-tall{height:2rem}.page-skeleton-section{border:1px solid var(--line);background:var(--surface);border-radius:14px;gap:.75rem;padding:1.1rem;display:grid}@keyframes page-skeleton-shimmer{to{transform:translate(100%)}}@media (max-width:760px){.page-skeleton-head{flex-direction:column}.page-skeleton-actions{justify-content:flex-start}.page-skeleton-kpi-grid,.page-skeleton-field-grid{grid-template-columns:1fr}.page-skeleton-row{grid-template-columns:1.4fr 1fr}.page-skeleton-snapshot-row{grid-template-columns:minmax(9rem,1.2fr) repeat(2,minmax(7rem,1fr))}}.site-bg{background:var(--shell-bg);z-index:-1;position:fixed;inset:0}:root[data-theme=dark] .site-bg{background:var(--shell-bg)}.app-shell{width:100%;max-width:var(--layout-shell-max-width);grid-template:"sidebar topbar""sidebar main"minmax(0,1fr)/260px minmax(0,1fr);gap:1rem;min-height:100vh;margin-left:auto;margin-right:auto;padding:1rem;display:grid}.app-shell:has(.app-sidebar.is-collapsed){max-width:calc(var(--page-max-width) + 84px + 3rem);grid-template-columns:84px minmax(0,1fr)}.app-sidebar{z-index:1100;border:1px solid var(--line);background:var(--surface);border-radius:18px;flex-direction:column;grid-area:sidebar;align-self:start;min-height:calc(100vh - 2rem);display:flex;position:sticky;top:1rem}@supports (color:color-mix(in lab, red, red)){.app-sidebar{background:color-mix(in oklab, var(--surface) 94%, var(--pure-white))}}.app-sidebar{overflow:hidden;box-shadow:0 18px 48px #0f172a14}.sidebar-brand-row{border-bottom:1px solid var(--line);align-items:center;gap:.5rem;min-height:4.5rem;padding:.85rem;display:flex}.sidebar-brand{width:100%;min-width:0;color:inherit;text-align:left;cursor:default;background:0 0;border:0;flex:auto;align-items:center;gap:.75rem;padding:0;display:flex}.sidebar-brand-mark{background:var(--surface);border-radius:10px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex;overflow:hidden;box-shadow:0 8px 18px #0f172a1a}.sidebar-brand-mark img{object-fit:cover;width:100%;height:100%;display:block}.sidebar-brand-text{gap:.12rem;min-width:0;display:grid}.sidebar-brand-text span{color:var(--text-soft);font-size:var(--fs-13);font-weight:var(--fw-bold)}.sidebar-brand-text strong{color:var(--text-strong);font-family:var(--ff-title);font-size:var(--fs-18);line-height:1.2}.sidebar-collapse-btn{border:1px solid var(--line);background:var(--surface);width:36px;height:36px;color:var(--text-soft);font-size:var(--fs-22);font-weight:var(--fw-extrabold);cursor:pointer;border-radius:10px;flex:none;justify-content:center;align-items:center;padding:0;line-height:1;transition:background .14s,border-color .14s,color .14s;display:inline-flex}.sidebar-collapse-btn:hover{border-color:var(--line-strong);background:var(--surface-soft);color:var(--text-strong)}.sidebar-collapse-svg{width:18px;height:18px;display:block}.sidebar-nav{gap:.28rem;padding:1rem .75rem;display:grid}.sidebar-nav-link{min-height:2.55rem;color:var(--text-soft);font-size:var(--fs-16);font-weight:var(--fw-bold);border:1px solid #0000;border-radius:10px;align-items:center;gap:.68rem;padding:.62rem .72rem;transition:background .14s,border-color .14s,color .14s;display:flex}.sidebar-nav-link:hover{border-color:var(--line);background:var(--surface-soft);color:var(--text-strong)}.sidebar-nav-link.is-active{border-color:var(--primary);position:relative}@supports (color:color-mix(in lab, red, red)){.sidebar-nav-link.is-active{border-color:color-mix(in srgb, var(--primary) 18%, var(--line))}}.sidebar-nav-link.is-active{background:var(--primary-soft);color:var(--primary)}.sidebar-nav-link.is-active:before{content:"";background:var(--primary);border-radius:999px;width:3px;position:absolute;top:5px;bottom:5px;left:4px}.sidebar-nav-link.is-active .sidebar-nav-icon{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.sidebar-nav-link.is-active .sidebar-nav-icon{background:color-mix(in srgb, var(--primary) 12%, transparent)}}.sidebar-nav-link.is-active .sidebar-nav-icon{border-radius:8px}.app-sidebar.is-collapsed .sidebar-nav-link.is-active:before{display:none}.sidebar-nav-icon{width:36px;height:36px;color:inherit;font-size:var(--fs-18);flex:0 0 36px;justify-content:center;align-items:center;line-height:1;display:inline-flex}.sidebar-nav-svg{width:18px;height:18px;display:block}.app-sidebar.is-collapsed .sidebar-brand-row{flex-direction:column;justify-content:center;align-items:center;padding:.85rem .55rem}.app-sidebar.is-collapsed{overflow:visible}.app-sidebar.is-collapsed .sidebar-brand{cursor:pointer;flex:none;justify-content:center;width:auto}.app-sidebar.is-collapsed .sidebar-brand-text,.app-sidebar.is-collapsed .sidebar-nav-link>span:last-child{display:none}.app-sidebar.is-collapsed .sidebar-nav{padding:1rem .55rem}.app-sidebar.is-collapsed .sidebar-nav-link{justify-content:center;gap:0;padding:.28rem;position:relative}.app-sidebar.is-collapsed .sidebar-nav-link:after{content:attr(data-label);z-index:1200;border:1px solid var(--line);background:var(--surface);max-width:12rem;color:var(--text-strong);font-size:var(--fs-13);font-weight:var(--fw-extrabold);white-space:nowrap;pointer-events:none;border-radius:8px;padding:.34rem .52rem;line-height:1.2;display:none;position:absolute;top:50%;left:calc(100% + .55rem);transform:translateY(-50%);box-shadow:0 12px 28px #0f172a24}.app-sidebar.is-collapsed .sidebar-nav-link:hover:after,.app-sidebar.is-collapsed .sidebar-nav-link:focus-visible:after{display:block}.app-sidebar.is-collapsed .sidebar-collapse-btn{display:none}.app-topbar{z-index:1050;grid-area:topbar;width:100%;min-width:0;position:sticky;top:1rem}.app-topbar-inner{width:100%;max-width:var(--page-max-width);border:1px solid var(--line);background:var(--surface);border-radius:18px;justify-content:space-between;align-items:center;gap:1rem;min-height:4.5rem;margin-left:auto;margin-right:auto;padding:.8rem 1rem;display:flex}@supports (color:color-mix(in lab, red, red)){.app-topbar-inner{background:color-mix(in oklab, var(--surface) 94%, var(--pure-white))}}.app-topbar-inner{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 16px 42px #0f172a12}.app-topbar:before{content:"";background:var(--background);pointer-events:none;height:2rem;position:absolute;top:-2rem;left:0;right:0}.app-topbar-title{gap:.16rem;min-width:0;display:grid}.app-topbar-title span{color:var(--text-soft);font-size:var(--fs-13);font-weight:var(--fw-extrabold)}.app-topbar-title strong{color:var(--text-strong);font-family:var(--ff-title);font-size:var(--fs-18)}.app-topbar-actions{justify-content:flex-end;align-items:center;gap:.55rem;min-width:0;display:flex}.topbar-chip{border:1px solid var(--line);background:var(--surface);min-height:2.25rem;color:var(--text-strong);font-size:var(--fs-15);font-weight:var(--fw-extrabold);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:.36rem .72rem;transition:background .14s,border-color .14s;display:inline-flex}.topbar-chip:hover{border-color:var(--line-strong);background:var(--surface-soft)}:root[data-theme=dark] .app-sidebar,:root[data-theme=dark] .app-topbar-inner{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark] .app-sidebar,:root[data-theme=dark] .app-topbar-inner{background:color-mix(in oklab, var(--surface) 92%, var(--bg-deepest))}}:root[data-theme=dark] .app-sidebar,:root[data-theme=dark] .app-topbar-inner{box-shadow:0 18px 48px #00000047}.top-nav{max-width:var(--layout-max-width);z-index:1100;border:1px solid var(--line);border-radius:var(--radius-nav);background:var(--surface);margin:0 auto;padding:1rem 1.2rem;position:relative}@supports (color:color-mix(in lab, red, red)){.top-nav{background:color-mix(in oklab, var(--surface) 92%, var(--pure-white))}}.top-nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);justify-content:space-between;align-items:center;gap:1rem;display:flex}.brand-wrap{flex-direction:column;gap:.1rem;display:flex}.eyebrow{font-size:var(--fs-13);text-transform:uppercase;letter-spacing:.08em;color:var(--text-soft)}.brand-title{font-family:var(--ff-title);font-size:var(--fs-20);font-weight:var(--fw-bold)}.nav-links{gap:.5rem;display:flex}.nav-right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.7rem;display:flex}.nav-links a{border-radius:var(--radius-pill);font-size:var(--fs-16);border:1px solid #0000;padding:.5rem .9rem;transition:all .2s}.nav-links a:hover{border-color:var(--line-strong);background:var(--primary-soft-2)}.nav-auth-btn{border-radius:var(--radius-pill);font-size:var(--fs-16);font-weight:var(--fw-medium);border:1px solid var(--line);background:var(--surface);color:var(--text-soft);cursor:pointer;white-space:nowrap;padding:.42rem .9rem;text-decoration:none;transition:all .2s}.nav-auth-btn:hover{border-color:var(--line-strong);background:var(--primary-soft-2);color:var(--text-strong)}.nav-auth-btn--login{color:var(--primary);border-color:var(--primary-soft);background:var(--primary-soft)}.nav-auth-btn--login:hover{background:var(--primary-soft-2);border-color:var(--primary)}:root[data-theme=dark] .nav-auth-btn{background:var(--surface-soft);border-color:var(--nav-border)}:root[data-theme=dark] .nav-auth-btn--login{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark] .nav-auth-btn--login{background:color-mix(in oklab, var(--primary) 15%, transparent)}}:root[data-theme=dark] .nav-auth-btn--login{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark] .nav-auth-btn--login{border-color:color-mix(in oklab, var(--primary) 35%, transparent)}}.theme-switch{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);color:var(--text-strong);cursor:pointer;align-items:center;gap:.52rem;padding:.28rem .5rem;display:inline-flex;box-shadow:0 6px 16px #11274714}.theme-switch-track{border-radius:var(--radius-pill);background:var(--primary-soft);border:1px solid var(--line-strong);width:36px;height:20px;position:relative}.page-wrap{grid-area:main;width:100%;min-width:0;margin:0}.page-wrap>*{width:100%;max-width:var(--page-max-width);margin-left:auto;margin-right:auto}.page-wrap>.page-content-narrow,.page-wrap>.settings-page,.page-wrap>.about-page,.page-wrap>.legal-page,.page-wrap>.auth-page{max-width:var(--page-max-width-narrow)}.intro-grid,.content-grid,.stats-grid{grid-template-columns:1.4fr 1fr;gap:1rem;display:grid}.intro-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.72fr)}.hero-card,.panel-card,.table-card,.form-card,.stat-card,.chart-card{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);padding:1.25rem}.single-card{max-width:var(--layout-single-max-width)}.wide-card{width:100%}.hero-card{background:linear-gradient(135deg, var(--primary) 0%, var(--primary) 58%, var(--accent) 100%);grid-column:1/-1}@supports (color:color-mix(in lab, red, red)){.hero-card{background:linear-gradient(135deg, color-mix(in srgb, var(--primary) 78%, var(--surface) 22%) 0%, color-mix(in srgb, var(--primary) 58%, var(--accent) 42%) 58%, color-mix(in srgb, var(--accent) 74%, var(--surface) 26%) 100%)}}.hero-card{color:var(--surface);padding:1.1rem 1.25rem;box-shadow:0 16px 36px #1368ec2e}.hero-title{font-family:var(--ff-title);text-wrap:balance;flex-wrap:wrap;gap:0 .4rem;max-width:820px;margin-top:.4rem;font-size:clamp(1.55rem,2.8vw,2.15rem);line-height:1.32;display:flex}.hero-copy{max-width:860px;color:var(--surface);flex-direction:column;gap:.15rem;margin-top:.8rem;display:grid}@supports (color:color-mix(in lab, red, red)){.hero-copy{color:color-mix(in srgb, var(--surface) 86%, var(--primary-soft) 14%)}}.hero-copy{text-wrap:pretty;line-height:1.55}.hero-copy p{margin:0}.hero-kicker{flex-wrap:wrap;align-items:center;gap:.55rem;display:inline-flex}.hero-eyebrow{color:var(--surface)}@supports (color:color-mix(in lab, red, red)){.hero-eyebrow{color:color-mix(in srgb, var(--surface) 78%, var(--primary-soft) 22%)}}.hero-eyebrow{font-size:var(--fs-13);font-weight:var(--fw-extrabold);letter-spacing:.08em;text-transform:uppercase}.chip{border:1px solid var(--surface);display:inline-flex}@supports (color:color-mix(in lab, red, red)){.chip{border:1px solid color-mix(in srgb, var(--surface) 42%, transparent)}}.chip{border-radius:var(--radius-pill);font-size:var(--fs-14);font-weight:var(--fw-bold);background:var(--surface);padding:.25rem .7rem}@supports (color:color-mix(in lab, red, red)){.chip{background:color-mix(in srgb, var(--surface) 16%, transparent)}}.chip{color:var(--surface)}.demo-notice{border-radius:var(--radius-pill);color:#ffffffeb;font-size:var(--fs-14);font-weight:var(--fw-semibold);letter-spacing:.01em;background:#ffffff29;border:1px solid #ffffff4d;align-items:center;margin-top:.55rem;padding:.28rem .75rem;display:inline-flex}.intro-message-backdrop{z-index:2200;background:#0f172a6b;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.intro-message-modal{border:1px solid var(--line);background:var(--surface);width:min(720px,100%);max-height:min(760px,100vh - 2rem);box-shadow:var(--shadow-lg);border-radius:12px;padding:1.15rem;overflow-y:auto}.intro-message-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.9rem;display:flex}.intro-message-head h2{color:var(--text-strong);font-family:var(--ff-title);font-size:var(--fs-22);margin:0}.intro-message-close{border:1px solid var(--line);background:var(--surface-soft);width:2rem;height:2rem;color:var(--text-soft);font-size:var(--fs-20);font-weight:var(--fw-extrabold);cursor:pointer;border-radius:8px;flex:none;justify-content:center;align-items:center;display:flex}.intro-message-close:hover{border-color:var(--line-strong);color:var(--text-strong)}.intro-message-body{max-width:38rem;color:var(--text-strong);font-size:var(--fs-16);text-wrap:pretty;gap:.9rem;line-height:1.62;display:grid}.intro-message-body p{margin:0}.intro-message-body strong{color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.intro-message-body strong{color:color-mix(in srgb, var(--primary) 68%, var(--text-strong))}}.intro-message-body strong{font-weight:var(--fw-extrabold)}.intro-message-purpose{margin-top:.12rem}:root[data-theme=dark] .intro-message-body strong{color:var(--primary)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark] .intro-message-body strong{color:color-mix(in srgb, var(--primary) 78%, var(--text-strong))}}.intro-message-actions{border-top:1px solid var(--line);background:var(--surface);flex-wrap:wrap;justify-content:flex-end;gap:.55rem;margin:1.1rem -1.15rem -1.15rem;padding:.85rem 1.15rem;display:flex;position:sticky;bottom:-1.15rem}.intro-message-dismiss-btn{border:1px solid var(--line);background:var(--surface-soft);min-height:2.35rem;color:var(--text-strong);font-size:var(--fs-16);font-weight:var(--fw-extrabold);cursor:pointer;border-radius:8px;padding:.55rem .9rem}.intro-message-dismiss-btn:hover{border-color:var(--line-strong);background:var(--primary-soft-2)}.cta-row{flex-wrap:wrap;gap:.7rem;margin-top:.9rem;display:flex}:root[data-theme=dark] .hero-card{background:linear-gradient(135deg, var(--primary) 0%, var(--primary) 58%, var(--accent) 100%)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark] .hero-card{background:linear-gradient(135deg, color-mix(in srgb, var(--primary) 44%, var(--surface) 56%) 0%, color-mix(in srgb, var(--primary) 34%, var(--accent) 66%) 58%, color-mix(in srgb, var(--accent) 50%, var(--surface) 50%) 100%)}}:root[data-theme=dark] .hero-card{box-shadow:0 18px 38px #00000047}.feature-list{color:var(--feature-text);gap:.7rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.feature-list li{padding-left:1.55rem;position:relative}.feature-list li:before{content:"✓";background:var(--success-soft);width:1rem;height:1rem;color:var(--success-text);font-size:var(--fs-13);font-weight:var(--fw-extrabold);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:.05rem;left:0}.feature-list strong{color:var(--text-strong);font-size:var(--fs-16);display:block}.feature-list span{color:var(--text-soft);font-size:var(--fs-15);margin-top:.16rem;line-height:1.45;display:block}.category-chips{border-top:1px solid var(--line);flex-wrap:wrap;gap:.38rem;margin-top:.9rem;padding-top:.85rem;display:flex}.app-preview-frame{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;margin-top:.9rem;margin-bottom:0;padding:.55rem .55rem .45rem}@supports (color:color-mix(in lab, red, red)){.app-preview-frame{background:color-mix(in srgb, var(--surface-soft) 86%, var(--surface))}}.app-preview-frame{overflow:hidden}.app-preview-svg{background:0 0;width:100%;height:auto;display:block}.app-preview-caption{font-size:var(--fs-13);color:var(--text-soft);text-align:center;margin:.45rem 0 0}.home-right-content{--home-status-card-min-height:560px;--home-recent-list-min-height:348px;opacity:0;min-height:var(--home-status-card-min-height);flex-direction:column;transition:opacity .18s;display:flex}.home-right-content[data-loaded=true]{opacity:1}.home-feature-skeleton{gap:.85rem;display:grid}.home-feature-skeleton-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.home-feature-skeleton-item{gap:.3rem;display:grid}.home-preview-skeleton{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;gap:.5rem;padding:.7rem;display:grid}@supports (color:color-mix(in lab, red, red)){.home-preview-skeleton{background:color-mix(in srgb, var(--surface-soft) 86%, var(--surface))}}.home-preview-skeleton-head{background:var(--surface-strong);border-radius:6px;width:40%;height:.8rem}.home-preview-skeleton-chart{background:linear-gradient(90deg, var(--surface-soft) 0%, var(--surface-strong) 50%, var(--surface-soft) 100%);background-size:200% 100%;border-radius:8px;height:140px;animation:1.5s infinite shimmer}.home-chip-skeleton-row{flex-wrap:wrap;gap:.42rem;display:flex}.home-chip-skeleton{background:var(--surface-strong);border-radius:999px;width:68px;height:24px}.home-status-skeleton{gap:.75rem;display:grid}.home-status-skeleton-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.home-status-skeleton-pill{background:var(--surface-strong);border-radius:999px;width:84px;height:20px}.home-status-skeleton-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.home-status-skeleton-kpi{border:1px solid var(--line);background:var(--surface-soft);border-radius:10px;height:64px}.home-status-skeleton-list{gap:.46rem;min-height:292px;margin:0;padding:0;list-style:none;display:grid}.home-status-skeleton-item{border:1px solid var(--line);background:var(--surface-soft);border-radius:10px;grid-template-columns:72px minmax(0,1fr) 56px;align-items:center;gap:.5rem;padding:.52rem .65rem;display:grid}.home-status-skeleton-badge{background:var(--surface-strong);border-radius:999px;width:66px;height:22px}.home-status-skeleton-footer{gap:.55rem;display:grid}.home-status-skeleton-actions{flex-wrap:wrap;gap:.5rem;display:flex}.home-status-skeleton-btn{border:1px solid var(--line);background:var(--surface-soft);border-radius:999px;width:98px;height:34px}.home-status-skeleton-assets{margin-top:.7rem}.home-returning-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.home-returning-head h3{margin:0}.demo-badge{border-radius:var(--radius-pill);background:var(--warn);align-items:center;padding:.2rem .6rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.demo-badge{background:color-mix(in oklab, var(--warn) 14%, var(--surface))}}.demo-badge{border:1px solid var(--warn)}@supports (color:color-mix(in lab, red, red)){.demo-badge{border:1px solid color-mix(in oklab, var(--warn) 28%, var(--line))}}.demo-badge{color:var(--text-strong);font-size:var(--fs-13);font-weight:var(--fw-bold);letter-spacing:.01em}.home-kpi-row{background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:.8rem;padding:.65rem .7rem;display:grid}.home-kpi{flex-direction:column;gap:.12rem;display:flex}.home-kpi-label{font-size:var(--fs-13);color:var(--text-soft);white-space:nowrap}.home-kpi-value{font-size:var(--fs-16);font-weight:var(--fw-bold);color:var(--text-strong)}.home-kpi-value.is-positive{color:var(--color-positive)}.home-kpi-value.is-negative{color:var(--color-negative)}.home-recent-assets{min-height:var(--home-recent-list-min-height);flex-direction:column;gap:0;margin:.75rem 0 0;padding:0;list-style:none;transition:opacity .28s;display:flex}.home-recent-assets.is-fading{opacity:0}.home-asset-pagination{justify-content:flex-end;align-items:center;gap:.35rem;min-height:1rem;margin-top:.45rem;display:flex}.home-asset-page-indicator{font-size:var(--fs-13);color:var(--text-soft);text-align:right}.home-asset-page-btn{border:1px solid var(--line);background:var(--surface);width:1.65rem;height:1.65rem;color:var(--text-soft);font-size:var(--fs-15);font-weight:var(--fw-extrabold);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.home-asset-page-btn:hover{border-color:var(--primary);color:var(--primary)}.home-asset-page-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.home-recent-asset{border-bottom:1px solid var(--line);align-items:center;gap:.5rem;padding:.42rem 0;display:flex}.home-recent-asset:last-child{border-bottom:none}.home-asset-name{font-size:var(--fs-16);color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.home-asset-rate{font-size:var(--fs-15);font-weight:var(--fw-bold);color:var(--text-soft);white-space:nowrap}.home-asset-rate.is-positive{color:var(--color-positive)}.home-asset-rate.is-negative{color:var(--color-negative)}.home-returning-footer{flex-direction:column;gap:.5rem;min-height:5.9rem;margin-top:auto;display:flex}.home-last-date{min-height:1.1rem;font-size:var(--fs-13);color:var(--text-soft)}.home-returning-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.home-returning-btn{text-align:center;justify-content:center;align-items:center;min-width:0;min-height:2.45rem;display:inline-flex}.quick-start-card>p{color:var(--text-soft);font-size:var(--fs-16);margin:.45rem 0 0;line-height:1.5}.quick-start-actions{gap:.55rem;margin-top:.85rem;margin-bottom:auto;display:grid}.quick-start-action{border:1px solid var(--line);background:var(--stacked-link-bg);width:100%;color:var(--text-strong);text-align:left;cursor:pointer;border-radius:10px;gap:.18rem;padding:.75rem .85rem;transition:background .15s,border-color .15s,transform .15s;display:grid}.quick-start-action:hover:not(:disabled){border-color:var(--hover-outline);background:var(--hover-surface);transform:translateY(-1px)}.quick-start-action:disabled{cursor:not-allowed;opacity:.72}.quick-start-action strong{font-size:var(--fs-16)}.quick-start-action span{color:var(--text-soft);font-size:var(--fs-15);line-height:1.4}.stacked-links{gap:.5rem;margin-top:.7rem;display:grid}.stacked-links a{background:var(--stacked-link-bg);border:1px solid var(--line);border-radius:10px;padding:.65rem .8rem;display:block}.section-head{justify-content:space-between;align-items:flex-start;gap:.8rem;margin-bottom:1rem;display:flex}.section-head h2{font-family:var(--ff-title);font-size:clamp(1.35rem,2.3vw,1.9rem)}.section-head p{color:var(--text-muted);margin-top:.35rem}.section-desc{gap:.15rem;margin-top:.35rem;display:grid}.section-desc p{margin:0}@media (max-width:900px){.app-shell{grid-template-columns:1fr;grid-template-areas:"sidebar""topbar""main";padding:.75rem}.app-shell:has(.app-sidebar.is-collapsed){grid-template-columns:1fr}.app-sidebar{min-height:auto;position:relative;top:auto}.sidebar-brand{min-height:4rem}.app-sidebar.is-collapsed .sidebar-brand-row{flex-direction:row;justify-content:flex-start;padding:.85rem}.app-sidebar.is-collapsed .sidebar-brand{flex:auto}.app-sidebar.is-collapsed .sidebar-brand-text,.app-sidebar.is-collapsed .sidebar-nav-link>span:last-child{display:grid}.sidebar-nav{scrollbar-width:none;padding:.7rem;display:flex;overflow-x:auto}.app-sidebar.is-collapsed .sidebar-nav{padding:.7rem}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar-nav-link{white-space:nowrap;flex:none;min-height:2.4rem}.app-sidebar.is-collapsed .sidebar-nav-link{justify-content:flex-start;gap:.68rem;padding:.62rem .72rem}.app-sidebar.is-collapsed .sidebar-nav-link:after{content:none}.app-topbar{position:relative;top:auto}.app-topbar-inner{flex-direction:row;align-items:center;min-height:3.8rem;padding:.65rem 1rem}.app-topbar:before{height:.75rem;top:-.75rem}.app-topbar-actions{flex-wrap:nowrap;justify-content:flex-end;width:auto}.top-nav{flex-direction:column;align-items:flex-start}.nav-right{justify-content:flex-start;width:100%}.intro-grid,.content-grid,.stats-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr;gap:.45rem}}@media (max-width:720px){.app-shell{grid-template-areas:"topbar""main";gap:.75rem;padding:.6rem}.app-sidebar{display:none}.app-topbar{position:static}.app-topbar-inner{border-radius:14px;flex-direction:row;align-items:center;min-height:3.2rem;padding:.5rem .85rem}.app-topbar:before{display:none}.sidebar-brand-text strong{font-size:var(--fs-16)}.app-topbar-actions .market-widget-nav,.app-topbar-actions>.nav-auth-btn{display:none}.app-topbar-actions{flex-wrap:nowrap;justify-content:flex-end;width:auto}.section-head{flex-direction:column}.section-head p{display:none}.btn-row{flex-wrap:wrap}.section-head .btn-row{width:100%}.section-head .btn-row .action-btn,.section-head .btn-row a{flex:auto;min-height:44px}.section-head .btn-row .action-btn-danger{flex:none;min-width:88px;padding:0 1rem}.hero-card,.panel-card,.table-card,.form-card,.stat-card,.chart-card{padding:.95rem}.asset-detail-hero{flex-direction:column;align-items:flex-start}.asset-detail-grid,.asset-list-layout{grid-template-columns:1fr}.asset-summary-aside{position:static}.home-right-content{--home-status-card-min-height:460px;--home-recent-list-min-height:260px}.home-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr));padding:.55rem .65rem}.home-kpi-label{white-space:normal;line-height:1.3}.home-kpi-value{font-size:var(--fs-15);overflow-wrap:anywhere;word-break:break-all}.home-returning-footer{display:none}.home-returning-actions{grid-template-columns:1fr}.home-returning-btn{min-height:44px}.home-asset-page-btn{width:2.75rem;height:2.75rem}}@media (max-width:480px){.home-kpi-row{grid-template-columns:1fr}.app-preview-frame{display:none}.hero-title{font-size:var(--fs-22)}.hero-card{padding:.75rem}.chip{font-size:var(--fs-13);padding:.2rem .52rem}.section-head h2{font-size:var(--fs-22)}.category-chips{gap:.28rem}}.mobile-menu-toggle,.mobile-menu-sheet{display:none}@media (max-width:720px){.mobile-menu-toggle{border:1px solid var(--line);background:var(--surface);width:40px;height:40px;color:var(--text-strong);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;padding:0;transition:background .14s,border-color .14s,color .14s;display:inline-flex}.mobile-menu-toggle:hover{border-color:var(--line-strong);background:var(--surface-soft)}.mobile-menu-toggle-svg{width:22px;height:22px;display:block}.mobile-menu-sheet{z-index:2000;opacity:0;visibility:hidden;transition:opacity .18s,visibility .18s;display:block;position:fixed;inset:0}.mobile-menu-sheet.is-open{opacity:1;visibility:visible}.mobile-menu-backdrop{cursor:pointer;background:#0f172a6b;border:0;margin:0;padding:0;position:absolute;inset:0}.mobile-menu-panel{width:min(84vw,320px);padding:1rem;padding-top:calc(env(safe-area-inset-top,0px) + 1rem);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 1rem);border-left:1px solid var(--line);background:var(--surface);flex-direction:column;gap:.75rem;display:flex;position:absolute;top:0;bottom:0;right:0;overflow-y:auto}@supports (color:color-mix(in lab, red, red)){.mobile-menu-panel{background:color-mix(in oklab, var(--surface) 96%, var(--pure-white))}}.mobile-menu-panel{transition:transform .22s;transform:translate(100%);box-shadow:-16px 0 42px #0f172a2e}.mobile-menu-sheet.is-open .mobile-menu-panel{transform:translate(0)}:root[data-theme=dark] .mobile-menu-panel{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark] .mobile-menu-panel{background:color-mix(in oklab, var(--surface) 92%, var(--bg-deepest))}}:root[data-theme=dark] .mobile-menu-panel{box-shadow:-16px 0 42px #00000052}.mobile-menu-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.5rem;padding-bottom:.75rem;display:flex}.mobile-menu-title{color:var(--text-strong);font-family:var(--ff-title);font-size:var(--fs-18);font-weight:var(--fw-extrabold)}.mobile-menu-close{border:1px solid var(--line);background:var(--surface);width:36px;height:36px;color:var(--text-soft);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;padding:0;transition:background .14s,border-color .14s,color .14s;display:inline-flex}.mobile-menu-close:hover{border-color:var(--line-strong);background:var(--surface-soft);color:var(--text-strong)}.mobile-menu-close-svg{width:18px;height:18px;display:block}.mobile-menu-nav{gap:.28rem;padding:.25rem 0;display:grid}.mobile-menu-link{min-height:44px;color:var(--text-soft);font-size:var(--fs-18);font-weight:var(--fw-bold);border:1px solid #0000;border-radius:10px;align-items:center;gap:.7rem;padding:.62rem .72rem;text-decoration:none;transition:background .14s,border-color .14s,color .14s;display:flex}.mobile-menu-link:hover{border-color:var(--line);background:var(--surface-soft);color:var(--text-strong)}.mobile-menu-link.is-active{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.mobile-menu-link.is-active{border-color:color-mix(in srgb, var(--primary) 18%, var(--line))}}.mobile-menu-link.is-active{background:var(--primary-soft);color:var(--primary)}.mobile-menu-link-icon{width:28px;height:28px;color:inherit;flex:0 0 28px;justify-content:center;align-items:center;display:inline-flex}.mobile-menu-link-svg{width:18px;height:18px;display:block}.mobile-menu-auth{border-top:1px solid var(--line);margin-top:auto;padding-top:.75rem;display:flex}.mobile-menu-auth-btn{min-height:44px;font-size:var(--fs-18);font-weight:var(--fw-bold);flex:1;justify-content:center;align-items:center;display:inline-flex}}.form-card form{gap:.7rem;display:grid}.form-card label{font-size:var(--fs-16);display:block}.form-grid{gap:.9rem;display:grid}.form-row{grid-template-columns:120px minmax(0,1fr);align-items:center;gap:1rem;display:grid}.form-row-start{align-items:start}.form-label{font-size:var(--fs-18);color:var(--text-strong);margin:0}.required-asterisk{color:var(--error-text);font-weight:var(--fw-bold)}.form-required-mark{color:var(--danger);font-weight:var(--fw-bold);margin-left:.15rem}.form-value{min-width:0}.form-hint{font-size:var(--fs-14);color:var(--text-soft);margin:.25rem 0 0}.rate-chip{border-radius:var(--radius-pill);font-size:var(--fs-14);font-weight:var(--fw-bold);border:1px solid #0000;justify-content:center;align-items:center;padding:.2rem .54rem;display:inline-flex}.rate-band-neutral{background:var(--form-hint-bg);border-color:var(--form-hint-line);color:var(--form-hint-text)}.rate-band-up-1{background:var(--gain-soft);border-color:var(--gain-line)}@supports (color:color-mix(in lab, red, red)){.rate-band-up-1{border-color:color-mix(in srgb, var(--gain-line) 72%, var(--line) 28%)}}.rate-band-up-1{color:var(--gain-text)}.rate-band-up-2{background:var(--gain-soft)}@supports (color:color-mix(in lab, red, red)){.rate-band-up-2{background:color-mix(in srgb, var(--gain-soft) 82%, var(--gain-line) 18%)}}.rate-band-up-2{border-color:var(--gain-line);color:var(--gain-text)}.rate-band-up-3{background:var(--gain-soft)}@supports (color:color-mix(in lab, red, red)){.rate-band-up-3{background:color-mix(in srgb, var(--gain-soft) 68%, var(--gain-line) 32%)}}.rate-band-up-3{border-color:var(--gain-line)}@supports (color:color-mix(in lab, red, red)){.rate-band-up-3{border-color:color-mix(in srgb, var(--gain-line) 72%, var(--gain-text) 28%)}}.rate-band-up-3{color:var(--gain-text)}.rate-band-down-1{background:var(--loss-soft);border-color:var(--loss-line)}@supports (color:color-mix(in lab, red, red)){.rate-band-down-1{border-color:color-mix(in srgb, var(--loss-line) 72%, var(--line) 28%)}}.rate-band-down-1{color:var(--loss-text)}.rate-band-down-2{background:var(--loss-soft)}@supports (color:color-mix(in lab, red, red)){.rate-band-down-2{background:color-mix(in srgb, var(--loss-soft) 82%, var(--loss-line) 18%)}}.rate-band-down-2{border-color:var(--loss-line);color:var(--loss-text)}.rate-band-down-3{background:var(--loss-soft)}@supports (color:color-mix(in lab, red, red)){.rate-band-down-3{background:color-mix(in srgb, var(--loss-soft) 68%, var(--loss-line) 32%)}}.rate-band-down-3{border-color:var(--loss-line)}@supports (color:color-mix(in lab, red, red)){.rate-band-down-3{border-color:color-mix(in srgb, var(--loss-line) 72%, var(--loss-text) 28%)}}.rate-band-down-3{color:var(--loss-text)}.asset-plain-rate{font-size:var(--fs-16);font-weight:var(--fw-semibold);background:0 0;border-color:#0000;padding:0}.pill{border-radius:var(--radius-pill);font-size:var(--fs-13);color:var(--pure-white);padding:.15rem .45rem;display:inline-block}.pill-ok{background:var(--accent)}.pill-pending{background:var(--warn)}.kpi{justify-content:space-between;align-items:end;margin-top:.6rem;display:flex}.kpi strong{font-family:var(--ff-title);font-size:var(--fs-28)}.bars{gap:.55rem;margin-top:1rem;display:grid}.bar-row{grid-template-columns:90px 1fr;align-items:center;gap:.5rem;display:grid}.bar-track{border-radius:var(--radius-pill);background:var(--bar-track-bg);width:100%;height:12px;overflow:hidden}.bar-fill{border-radius:var(--radius-pill);background:linear-gradient(90deg, var(--primary) 0%, var(--bar-fill-end) 100%);height:100%}.category-badge{border-radius:var(--radius-pill);font-size:var(--fs-13);font-weight:var(--fw-bold);white-space:nowrap;letter-spacing:.01em;border:1px solid #0000;justify-content:center;align-items:center;padding:.2rem .58rem;display:inline-flex}.category-badge-stock{background:var(--cat-stock-soft);border-color:var(--cat-stock-line);color:var(--cat-stock-text)}.category-badge-etf{background:var(--cat-etf-soft);border-color:var(--cat-etf-line);color:var(--cat-etf-text)}.category-badge-real-estate{background:var(--cat-real-estate-soft);border-color:var(--cat-real-estate-line);color:var(--cat-real-estate-text)}.category-badge-cash{background:var(--cat-cash-soft);border-color:var(--cat-cash-line);color:var(--cat-cash-text)}.category-badge-bond{background:var(--cat-bond-soft);border-color:var(--cat-bond-line);color:var(--cat-bond-text)}.category-badge-checking-account{background:var(--cat-checking-account-soft);border-color:var(--cat-checking-account-line);color:var(--cat-checking-account-text)}.category-badge-installment-savings{background:var(--cat-installment-savings-soft);border-color:var(--cat-installment-savings-line);color:var(--cat-installment-savings-text)}.category-badge-deposit-account{background:var(--cat-deposit-account-soft);border-color:var(--cat-deposit-account-line);color:var(--cat-deposit-account-text)}.category-badge-pension{background:var(--cat-pension-soft);border-color:var(--cat-pension-line);color:var(--cat-pension-text)}.category-badge-crypto{background:var(--cat-crypto-soft);border-color:var(--cat-crypto-line);color:var(--cat-crypto-text)}.category-badge-fund{background:var(--cat-fund-soft);border-color:var(--cat-fund-line);color:var(--cat-fund-text)}.category-badge-insurance{background:var(--cat-insurance-soft);border-color:var(--cat-insurance-line);color:var(--cat-insurance-text)}.category-badge-selected{box-shadow:0 0 0 2px}@supports (color:color-mix(in lab, red, red)){.category-badge-selected{box-shadow:0 0 0 2px color-mix(in oklab, currentColor 45%, var(--pure-white))}}.category-preview{color:var(--text-soft);font-size:var(--fs-15);align-items:center;gap:.42rem;margin-top:.45rem;display:inline-flex}.asset-detail-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.asset-detail-card{padding:1.5rem}.asset-detail-hero{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem;padding-bottom:1.2rem;display:flex}.asset-detail-kicker{display:none}.asset-detail-title{color:var(--text-strong);margin:0;font-size:clamp(1.5rem,2.5vw,2.1rem)}.asset-detail-title-row{align-items:center;gap:.65rem;display:flex}.asset-detail-item{border:1px solid var(--line);background:var(--surface);border-radius:12px;flex-direction:column;gap:.35rem;padding:.9rem 1rem;display:flex;box-shadow:0 2px 8px #0000000f}.asset-detail-item.is-positive{border-left:3px solid var(--color-positive)}.asset-detail-item.is-negative{border-left:3px solid var(--color-negative)}.asset-detail-label{color:var(--text-soft);font-size:var(--fs-14)}.asset-detail-value{color:var(--text-strong);font-size:var(--fs-24);font-weight:var(--fw-bold);line-height:1.3}.asset-history-table{margin-top:.2rem}.asset-history-section{margin-top:.9rem}.asset-history-head{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:.4rem;display:flex}.asset-history-head h3{font-size:var(--fs-18);color:var(--text-strong);margin:0}.asset-history-head p{color:var(--text-soft);font-size:var(--fs-16);margin:.3rem 0 0}.asset-list-section{--asset-list-sticky-top:5.5rem;--asset-list-table-head-offset:7.4rem;min-height:200px}.asset-list-layout{display:block}.asset-summary-strip{background:var(--surface);flex-wrap:wrap;gap:.15rem 1.4rem;margin-bottom:0;padding:.55rem 0 .68rem;display:flex}.asset-summary-strip-item{font-size:var(--fs-15);align-items:baseline;gap:.38rem;display:flex}.asset-summary-strip-label{color:var(--text-soft);font-weight:var(--fw-medium)}.asset-summary-strip-value{color:var(--text-strong);font-weight:var(--fw-bold)}.asset-list-card{padding:1.35rem}.asset-list-sticky-controls{top:var(--asset-list-sticky-top);z-index:30;border-bottom:1px solid var(--line);background:var(--surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin:0 0 .5rem;padding:0 0 .05rem;position:sticky}.asset-category-tabs{flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem;display:flex}.asset-category-tabs button{border:1px solid var(--line);background:var(--surface);height:1.75rem;color:var(--text-soft);font-size:var(--fs-14);font-weight:var(--fw-semibold);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;padding:0 .75rem;transition:background-color .16s,border-color .16s,color .16s;display:inline-flex}.asset-category-tabs button:hover{background:var(--hover-surface);border-color:var(--line-strong);color:var(--text-strong)}.asset-category-tabs button:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.asset-category-tabs button.is-active{background:var(--primary-soft-2);border-color:var(--primary);color:var(--text-strong);font-weight:var(--fw-bold)}.mock-table{border-collapse:collapse;width:100%;margin-top:.8rem}.mock-table th,.mock-table td{text-align:left;border-bottom:1px solid var(--line);font-size:var(--fs-16);padding:.62rem}.mock-table th{color:var(--text-soft)}.asset-list-card .mock-table th{top:calc(var(--asset-list-sticky-top) + var(--asset-list-table-head-offset));z-index:20;background:var(--surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky}:is(.asset-list-card .mock-table th:has(.tooltip-wrapper:hover),.asset-list-card .mock-table th:has(.tooltip-wrapper:focus-within)){z-index:60}.mock-table tbody tr:last-child td{border-bottom:none}.asset-list-table tbody tr{transition:background-color .15s,box-shadow .15s,transform .15s}.asset-list-table{table-layout:fixed;margin-top:0}.asset-list-table th:first-child,.asset-list-table td:first-child{width:24%}.asset-list-table th:nth-child(2),.asset-list-table td:nth-child(2),.asset-list-table th:nth-child(3),.asset-list-table td:nth-child(3),.asset-list-table th:nth-child(4),.asset-list-table td:nth-child(4){width:13%}.asset-list-table th:nth-child(5),.asset-list-table td:nth-child(5),.asset-list-table th:nth-child(6),.asset-list-table td:nth-child(6),.asset-list-table th:nth-child(7),.asset-list-table td:nth-child(7){width:11%}.asset-list-table th:nth-child(8),.asset-list-table td:nth-child(8){width:12%}.clickable-row{cursor:pointer}.clickable-row:hover{background:var(--hover-surface);box-shadow:inset 0 0 0 1px var(--hover-outline)}.asset-row-closed{opacity:.58}.asset-row-closed:hover{opacity:.72}.row-link-cell{margin:-.62rem;padding:.62rem;display:block}.asset-list-table td{max-width:180px}.asset-list-table .row-link-cell{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.asset-list-table td:first-child .row-link-cell{white-space:normal;text-overflow:unset;overflow:visible}.asset-name-with-badge{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.asset-name-cell{flex-direction:column;gap:.15rem;display:flex}.asset-name-subtext{font-size:var(--fs-13);color:var(--text-soft);white-space:normal;line-height:1.3}.asset-name-text{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.asset-list-table .rate-chip{text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;max-width:100%;display:inline-block;overflow:hidden}.row-link-cell:focus-visible{outline:2px solid var(--focus);outline-offset:-2px;background:var(--hover-surface);border-radius:8px}.asset-status-badge{border:1px solid var(--line);background:var(--surface-soft);color:var(--text-strong);font-size:var(--fs-13);font-weight:var(--fw-bold);vertical-align:middle;border-radius:999px;align-items:center;margin-left:.4rem;padding:.13rem .46rem;line-height:1.2;display:inline-flex}.asset-status-badge-detail{margin-left:0}.asset-status-badge-active{border-color:var(--status-active)}@supports (color:color-mix(in lab, red, red)){.asset-status-badge-active{border-color:color-mix(in srgb, var(--status-active) 45%, var(--line))}}.asset-status-badge-active{background:var(--strategy-growth-bg)}@supports (color:color-mix(in lab, red, red)){.asset-status-badge-active{background:color-mix(in srgb, var(--strategy-growth-bg) 80%, var(--surface))}}.asset-status-badge-active{color:var(--status-active)}.asset-status-badge-closed{border-color:var(--status-closed)}@supports (color:color-mix(in lab, red, red)){.asset-status-badge-closed{border-color:color-mix(in srgb, var(--status-closed) 45%, var(--line))}}.asset-status-badge-closed{background:var(--status-closed-bg)}@supports (color:color-mix(in lab, red, red)){.asset-status-badge-closed{background:color-mix(in srgb, var(--status-closed-bg) 80%, var(--surface))}}.asset-status-badge-closed{color:var(--status-closed)}.asset-exclude-badge{border:1px solid var(--warn);align-items:center;padding:.18rem .55rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.asset-exclude-badge{border:1px solid color-mix(in srgb, var(--warn) 40%, var(--line))}}.asset-exclude-badge{background:var(--warn);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.asset-exclude-badge{background:color-mix(in srgb, var(--warn) 10%, var(--surface))}}.asset-exclude-badge{color:var(--warn);font-size:var(--fs-13);font-weight:var(--fw-semibold)}:root[data-theme=dark] .asset-exclude-badge{border-color:var(--warn)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark] .asset-exclude-badge{border-color:color-mix(in srgb, var(--warn) 35%, transparent)}}:root[data-theme=dark] .asset-exclude-badge{background:var(--warn)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark] .asset-exclude-badge{background:color-mix(in srgb, var(--warn) 15%, transparent)}}.status-toggle-btn{border:1px solid var(--line);background:var(--surface);color:var(--text-soft);font-size:var(--fs-15);font-weight:var(--fw-semibold);cursor:pointer;border-radius:10px;align-items:center;gap:.42rem;padding:.38rem .62rem;transition:background-color .18s,border-color .18s,color .18s;display:inline-flex}.status-toggle-btn:hover{background:var(--hover-surface);border-color:var(--line-strong)}.status-toggle-btn.is-active{background:var(--primary-soft-2);border-color:var(--line-strong);color:var(--text-strong)}.status-toggle-dot{border:1px solid var(--line-strong);background:0 0;border-radius:50%;width:.55rem;height:.55rem}.status-toggle-btn.is-active .status-toggle-dot{background:var(--primary);border-color:var(--primary)}.profit-target-section{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;flex-direction:column;gap:.9rem;padding:1.1rem 1.2rem;display:flex}.profit-target-title{font-size:var(--fs-18);font-weight:var(--fw-bold);color:var(--text-strong);margin:0}.profit-target-strategy-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.profit-target-strategy-label-text{font-size:var(--fs-15);color:var(--text-soft);white-space:nowrap;margin:0}.profit-strategy-buttons{flex-wrap:wrap;gap:.4rem;display:flex}.profit-target-selected,.profit-target-selected-readonly{font-size:var(--fs-16);color:var(--text-soft);margin:0}.profit-strategy-badge{font-size:var(--fs-14);font-weight:var(--fw-bold);border-radius:99px;padding:.18em .6em;display:inline-block}.profit-strategy-conservative{background:var(--strategy-conservative-bg);color:var(--strategy-conservative-text)}.profit-strategy-growth{background:var(--strategy-growth-bg);color:var(--status-active)}.profit-strategy-aggressive{background:var(--strategy-aggressive-bg);color:var(--strategy-aggressive-text)}.profit-strategy-custom{background:var(--strategy-custom-bg);color:var(--strategy-custom-text)}.profit-target-rules-title{font-size:var(--fs-15);font-weight:var(--fw-semibold);color:var(--text-soft);margin:0 0 .5rem}.profit-target-rules{flex-direction:column;gap:.2rem;display:flex}.profit-target-rule-row{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.profit-target-plus{font-weight:var(--fw-bold);color:var(--text-soft)}.profit-target-rate-input,.profit-target-percent-input{border:1px solid var(--line);width:72px;font-size:var(--fs-16);background:var(--surface);color:var(--text-strong);text-align:right;border-radius:7px;padding:.3rem .5rem}.profit-target-rule-text{font-size:var(--fs-16);color:var(--text-soft);white-space:nowrap}.profit-target-empty{font-size:var(--fs-16);color:var(--text-muted,var(--text-soft));margin:0}.profit-target-guide{font-size:var(--fs-15);color:var(--text-soft);margin:.55rem 0 0;line-height:1.4}.risk-target-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}@media (max-width:960px){.risk-target-grid{grid-template-columns:1fr}}.profit-target-rule-list{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.profit-target-rule-item-readonly{background:var(--surface);border:1px solid var(--line);font-size:var(--fs-16);border-radius:8px;align-items:center;gap:.6rem;padding:.38rem .7rem;display:flex}.profit-target-rate-badge{background:var(--strategy-growth-bg);color:var(--status-active);font-weight:var(--fw-bold);font-size:var(--fs-15);white-space:nowrap;border-radius:6px;padding:.15em .55em;display:inline-block}.profit-target-rule-desc{color:var(--text-soft)}.profit-target-rules-readonly{flex-direction:column;gap:.4rem;display:flex}.table-link{color:var(--primary);font-weight:var(--fw-bold)}.detail-grid{grid-template-columns:130px 1fr;gap:.6rem .9rem;margin-bottom:1rem;display:grid}.detail-grid dt{color:var(--text-soft);font-weight:var(--fw-semibold)}.detail-grid dd{margin:0}.compact-table{margin-top:.5rem}@media (max-width:900px){.asset-list-section{--asset-list-sticky-top:.5rem}}@media (max-width:720px){.asset-list-section{--asset-list-sticky-top:.5rem}.asset-category-tabs{gap:.45rem}.asset-category-tabs button{height:auto;min-height:2.5rem;font-size:var(--fs-15);padding:.45rem .85rem}.status-toggle-btn{min-height:2.5rem;padding:.48rem .85rem}.asset-list-card{padding:.85rem}.asset-detail-card{padding:1rem}.asset-detail-hero{gap:.65rem;margin-bottom:.85rem;padding-bottom:.75rem}.asset-detail-title{font-size:var(--fs-24)}}.route-error{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:40vh;padding:48px 24px;display:flex}.route-error-title{font-size:var(--fs-18);font-weight:var(--fw-semibold);color:var(--text);margin:0}.route-error-desc{font-size:var(--fs-15);color:var(--text-soft);margin:0}.route-error-link{font-size:var(--fs-15);color:var(--primary);margin-top:4px;text-decoration:underline}.route-loading{background:var(--surface-soft);border-radius:12px;min-height:200px;margin:24px}.btn{font-weight:var(--fw-bold);font-size:var(--fs-16);cursor:pointer;border:1px solid #0000;border-radius:10px;padding:.62rem 1rem}.action-btn{font-weight:var(--fw-bold);font-size:var(--fs-16);cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;padding:.62rem 1rem;transition:all .15s;display:inline-flex}.action-btn:disabled{opacity:1;cursor:not-allowed;box-shadow:none}.action-btn[data-loading=true]{cursor:wait}.action-btn-label{align-items:center;gap:0;display:inline-flex}.action-btn-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex-shrink:0;width:1em;height:1em;margin-right:.4em;animation:.7s linear infinite action-btn-spin}@keyframes action-btn-spin{to{transform:rotate(360deg)}}.action-btn-primary:disabled{background:var(--disabled-bg-strong);border-color:var(--disabled-border);color:var(--disabled-text)}.action-btn-secondary:disabled,.action-btn-ghost:disabled,.action-btn-white:disabled{background:var(--disabled-bg-soft);border-color:var(--disabled-border);color:var(--disabled-text)}.action-btn-danger:disabled,.action-btn-danger-outline:disabled{background:var(--btn-danger-bg)}@supports (color:color-mix(in lab, red, red)){.action-btn-danger:disabled,.action-btn-danger-outline:disabled{background:color-mix(in oklab, var(--btn-danger-bg) 20%, var(--surface))}}.action-btn-danger:disabled,.action-btn-danger-outline:disabled{border-color:var(--btn-danger-bg)}@supports (color:color-mix(in lab, red, red)){.action-btn-danger:disabled,.action-btn-danger-outline:disabled{border-color:color-mix(in oklab, var(--btn-danger-bg) 25%, var(--line))}}.action-btn-danger:disabled,.action-btn-danger-outline:disabled{color:var(--btn-danger-bg)}@supports (color:color-mix(in lab, red, red)){.action-btn-danger:disabled,.action-btn-danger-outline:disabled{color:color-mix(in oklab, var(--btn-danger-bg) 50%, var(--text-soft))}}.action-btn-primary{background:var(--btn-primary-bg);color:var(--pure-white)}.action-btn-primary:not(:disabled):hover{background:var(--btn-primary-hover-bg);border-color:var(--btn-primary-hover-border)}.action-btn-secondary{background:var(--btn-secondary-bg);border-color:var(--btn-secondary-border);color:var(--btn-secondary-text)}.action-btn-secondary:not(:disabled):hover{background:var(--btn-secondary-hover-bg);border-color:var(--btn-secondary-hover-border)}.action-btn-danger{background:var(--btn-danger-bg);border-color:var(--btn-danger-border);color:var(--pure-white)}.action-btn-danger:not(:disabled):hover{background:var(--btn-danger-hover-bg);border-color:var(--btn-danger-hover-border)}.action-btn-danger-outline{border-color:var(--btn-danger-outline-border);color:var(--btn-danger-outline-text);background:0 0}.action-btn-danger-outline:not(:disabled):hover{background:var(--btn-danger-outline-hover-bg);border-color:var(--btn-danger-outline-hover-border)}.action-btn-ghost{background:var(--surface);border-color:var(--btn-ghost-border);color:var(--btn-ghost-text)}.action-btn-ghost:not(:disabled):hover{background:var(--btn-ghost-hover-bg);border-color:var(--btn-ghost-hover-border)}.action-btn-white{background:var(--surface);border-color:var(--btn-ghost-border);color:var(--btn-ghost-text)}.action-btn-white:not(:disabled):hover{background:var(--btn-ghost-hover-bg);border-color:var(--btn-ghost-hover-border)}:root[data-theme=dark] .action-btn-primary{background:var(--btn-primary-bg);border-color:var(--btn-primary-border);color:var(--btn-primary-text)}:root[data-theme=dark] .action-btn-primary:not(:disabled):hover{background:var(--btn-primary-hover-bg);border-color:var(--btn-primary-hover-border)}:root[data-theme=dark] .action-btn-secondary{background:var(--btn-secondary-bg);border-color:var(--btn-secondary-border);color:var(--btn-secondary-text)}:root[data-theme=dark] .action-btn-secondary:not(:disabled):hover{background:var(--btn-secondary-hover-bg);border-color:var(--btn-secondary-hover-border)}:root[data-theme=dark] .action-btn-danger{background:var(--btn-danger-bg);border-color:var(--btn-danger-border);color:var(--pure-white)}:root[data-theme=dark] .action-btn-danger:not(:disabled):hover{background:var(--btn-danger-hover-bg);border-color:var(--btn-danger-hover-border)}:root[data-theme=dark] .action-btn-danger-outline{border-color:var(--btn-danger-outline-border);color:var(--btn-danger-outline-text);background:0 0}:root[data-theme=dark] .action-btn-danger-outline:not(:disabled):hover{background:var(--btn-danger-outline-hover-bg);border-color:var(--btn-danger-outline-hover-border)}:root[data-theme=dark] .action-btn-ghost,:root[data-theme=dark] .action-btn-white{background:var(--btn-ghost-bg);border-color:var(--btn-secondary-border);color:var(--btn-ghost-text)}:root[data-theme=dark] .action-btn-ghost:not(:disabled):hover,:root[data-theme=dark] .action-btn-white:not(:disabled):hover{background:var(--btn-ghost-hover-bg);border-color:var(--btn-secondary-hover-border)}.btn-primary{background:var(--surface);color:var(--text-strong);box-shadow:0 8px 18px #10274329}.btn-ghost{border:1px solid var(--surface)}@supports (color:color-mix(in lab, red, red)){.btn-ghost{border:1px solid color-mix(in srgb, var(--surface) 62%, transparent)}}.btn-ghost{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.btn-ghost{background:color-mix(in srgb, var(--surface) 13%, transparent)}}.btn-ghost{color:var(--surface)}.btn-ghost:hover:not(:disabled){background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.btn-ghost:hover:not(:disabled){background:color-mix(in srgb, var(--surface) 20%, transparent)}}.btn-ghost:hover:not(:disabled){border-color:var(--surface)}@supports (color:color-mix(in lab, red, red)){.btn-ghost:hover:not(:disabled){border-color:color-mix(in srgb, var(--surface) 86%, transparent)}}.btn:disabled{cursor:not-allowed;opacity:.72}.btn-row{gap:.5rem;margin-top:.4rem;display:flex}.btn-row-top-right{justify-content:flex-end;margin-top:0}.skeleton-card-container{flex-direction:column;gap:1rem;display:flex}.skeleton-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:.75rem;min-height:120px;padding:1.25rem;display:flex}.skeleton-line{background:linear-gradient(90deg, var(--surface-soft) 0%, var(--surface-strong) 50%, var(--surface-soft) 100%);background-size:200% 100%;border-radius:4px;height:.875rem;animation:1.5s infinite shimmer}.skeleton-line-full{width:100%}.skeleton-line-80{width:80%}.skeleton-line-60{width:60%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}:root[data-theme=dark] .skeleton-card{background:var(--surface);border-color:var(--line)}:root[data-theme=dark] .skeleton-line{background:linear-gradient(90deg, var(--surface-soft) 0%, var(--skeleton-shimmer) 50%, var(--surface-soft) 100%)}.skeleton-asset-list{flex-direction:column;gap:.5rem;width:100%;display:flex}.skeleton-asset-row{background:var(--surface);border:1px solid var(--line);border-radius:8px;grid-template-columns:2fr 1fr 1fr 1fr;align-items:center;gap:1rem;min-height:60px;padding:1rem;display:grid}.skeleton-asset-cell{flex-direction:column;gap:.5rem;display:flex}.skeleton-text-short{background:linear-gradient(90deg, var(--surface-soft) 0%, var(--surface-strong) 50%, var(--surface-soft) 100%);background-size:200% 100%;border-radius:4px;width:100%;height:.875rem;animation:1.5s infinite shimmer-text}.skeleton-text-medium{background:linear-gradient(90deg, var(--surface-soft) 0%, var(--surface-strong) 50%, var(--surface-soft) 100%);background-size:200% 100%;border-radius:4px;width:85%;height:.875rem;animation:1.5s infinite shimmer-text}.skeleton-text-tiny{background:linear-gradient(90deg, var(--surface-soft) 0%, var(--surface-strong) 50%, var(--surface-soft) 100%);background-size:200% 100%;border-radius:4px;width:60%;height:.7rem;animation:1.5s infinite shimmer-text}@keyframes shimmer-text{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:768px){.skeleton-asset-row{grid-template-columns:1fr 1fr;gap:.75rem;padding:.75rem}}:root[data-theme=dark] .skeleton-asset-row{background:var(--surface);border-color:var(--line)}:root[data-theme=dark] .skeleton-text-short,:root[data-theme=dark] .skeleton-text-medium,:root[data-theme=dark] .skeleton-text-tiny{background:linear-gradient(90deg, var(--surface-soft) 0%, var(--skeleton-shimmer) 50%, var(--surface-soft) 100%)}.skeleton-text-block{flex-direction:column;gap:.75rem;display:flex}.skeleton-text-line{background:linear-gradient(90deg, var(--surface-soft) 0%, var(--surface-strong) 50%, var(--surface-soft) 100%);background-size:200% 100%;border-radius:4px;height:.875rem;animation:1.5s infinite shimmer-line}.skeleton-text-line-width-40{width:40%}.skeleton-text-line-width-50{width:50%}.skeleton-text-line-width-60{width:60%}.skeleton-text-line-width-70{width:70%}.skeleton-text-line-width-80{width:80%}.skeleton-text-line-width-90{width:90%}.skeleton-text-line-width-100{width:100%}@keyframes shimmer-line{0%{background-position:200% 0}to{background-position:-200% 0}}:root[data-theme=dark] .skeleton-text-line{background:linear-gradient(90deg, var(--surface-soft) 0%, var(--skeleton-shimmer) 50%, var(--surface-soft) 100%)}.batch-summary-panel{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;gap:.8rem;padding:.9rem;display:grid}.batch-summary-panel-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.batch-summary-panel-head h3{color:var(--text-strong);font-family:var(--ff-title);font-size:var(--fs-18);margin:0}.batch-summary-panel-meta,.batch-summary-panel-meta span,.batch-summary-empty{color:var(--text-soft);font-size:var(--fs-15);font-weight:var(--fw-semibold);margin:0}.batch-summary-panel-meta{text-align:right;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.55rem;display:inline-flex}.batch-summary-panel-meta span+span{color:var(--text-strong)}.batch-summary-currency-grid{gap:.75rem;display:grid}.batch-summary-currency{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:.6rem;padding:.72rem;display:grid}.batch-summary-currency-title{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-soft);color:var(--text-strong);font-size:var(--fs-14);font-weight:var(--fw-extrabold);letter-spacing:.04em;justify-self:start;margin:0;padding:.22rem .52rem}.batch-summary-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,.9fr);gap:.5rem;margin:0;display:grid}.batch-summary-item{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;gap:.18rem;min-width:0;padding:.6rem;display:grid}.batch-summary-item dt{color:var(--text-soft);font-size:var(--fs-13);font-weight:var(--fw-bold)}.batch-summary-item dd{color:var(--text-strong);font-size:var(--fs-18);font-weight:var(--fw-extrabold);overflow-wrap:anywhere;margin:0}.batch-summary-item-primary dd{font-size:var(--fs-20)}.batch-summary-item p{color:var(--text-soft);font-size:var(--fs-13);font-weight:var(--fw-bold);margin:.12rem 0 0;line-height:1.35}.batch-summary-ratio-card progress{border-radius:var(--radius-pill);background:var(--surface);border:0;width:100%;height:.46rem;overflow:hidden}.batch-summary-ratio-card progress::-webkit-progress-bar{background:var(--surface)}.batch-summary-ratio-card progress::-webkit-progress-value{border-radius:var(--radius-pill);background:var(--accent)}.batch-summary-ratio-card progress::-moz-progress-bar{border-radius:var(--radius-pill);background:var(--accent)}@media (max-width:1280px){.batch-summary-grid{grid-template-columns:1fr}}@media (max-width:560px){.batch-summary-panel-head{flex-direction:column;align-items:flex-start}.batch-summary-grid{grid-template-columns:1fr}}.sort-icon{border:1px solid var(--line-strong);background:var(--surface-strong);width:30px;height:30px;color:var(--text-strong);font-weight:var(--fw-bold);border-radius:9px;justify-content:center;align-items:center;display:inline-flex}.sort-toggle-btn{cursor:pointer}.sort-icon-svg{width:16px;height:16px;display:block}.sort-dropdown{align-items:center;gap:.45rem;display:inline-flex;position:relative}.sort-dropdown-menu{z-index:25;border:1px solid var(--line);background:var(--surface);min-width:112px;box-shadow:var(--shadow-lg);border-radius:10px;gap:.15rem;padding:.25rem;display:grid;position:absolute;top:calc(100% + .35rem);left:0}.sort-dropdown-item{text-align:left;width:100%;color:var(--text-strong);font-size:var(--fs-15);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:.42rem .5rem}.sort-dropdown-item:hover{background:var(--hover-surface)}.sort-dropdown-item.is-selected{background:var(--primary-soft);color:var(--primary);font-weight:var(--fw-bold)}.sort-label{font-size:var(--fs-15);font-weight:var(--fw-bold);color:var(--text-soft)}.sort-select{width:auto;min-width:220px}.compact-sort{min-width:128px;max-width:150px;font-size:var(--fs-15);padding:.5rem .55rem}.table-toolbar{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.6rem;margin-top:.8rem;display:flex}.filter-dropdown{flex-shrink:0;align-items:center;gap:.45rem;width:220px;min-width:220px;display:inline-flex;position:relative}.filter-selected-text{font-size:var(--fs-15);color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;display:inline-block;overflow:hidden}.filter-dropdown-menu{z-index:25;border:1px solid var(--line);background:var(--surface);min-width:240px;max-width:360px;box-shadow:var(--shadow-lg);border-radius:10px;flex-wrap:wrap;gap:.35rem;padding:.4rem;display:flex;position:absolute;top:calc(100% + .35rem);left:0}.category-filter-chip{border:1px solid var(--line);font-size:var(--fs-14);font-weight:var(--fw-bold);color:var(--text-soft);background:var(--surface-soft);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:.34rem;padding:.2rem .52rem;display:inline-flex}.category-filter-chip input{cursor:pointer;margin:0}.confirm-modal{min-width:280px;max-width:420px;padding:1.5rem}.confirm-modal-title{font-size:var(--fs-18);font-weight:var(--fw-semibold);color:var(--text-strong);margin:0 0 .5rem}.confirm-modal-message{font-size:var(--fs-16);color:var(--text-soft);white-space:pre-wrap;margin:0 0 1.25rem;line-height:1.5}.confirm-modal-actions{justify-content:flex-end;gap:.5rem;display:flex}@media (max-width:720px){.confirm-modal{width:100%;min-width:0}.confirm-modal-actions{flex-direction:column-reverse}}.tracking-box{border:1px solid var(--line);border-radius:12px;gap:.65rem;padding:.8rem;display:grid}.tracking-box legend{font-size:var(--fs-16);color:var(--text-soft);padding:0 .2rem}.tracking-table{border-collapse:collapse;width:100%}.tracking-table th:first-child,.tracking-table td:first-child{width:14rem}.tracking-table th,.tracking-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:.55rem .4rem}.tracking-table th{color:var(--text-soft);font-size:var(--fs-15);font-weight:var(--fw-bold)}.tracking-table th:last-child,.tracking-table td:last-child{width:92px}.date-input:hover{cursor:pointer}.tracking-row{display:table-row}.tracking-row td>input,.tracking-row td>.action-btn{width:100%}.tracking-row .smart-date-input-wrap{min-width:0}.tracking-row td>.action-btn{white-space:nowrap;min-width:72px}.calc-field{background:var(--surface-soft);color:var(--text-strong)}.calc-field:disabled{cursor:not-allowed;color:var(--text-soft)}.tracking-add-box{border-top:1px solid var(--line);margin-top:1rem;padding-top:.8rem}.tracking-add-box h4{color:var(--text-strong);margin-bottom:.5rem}.radio-group{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;flex-wrap:wrap;gap:.8rem;padding:.8rem;display:flex}.radio-group legend{font-size:var(--fs-16);color:var(--text-soft);padding:0 .2rem}.radio-group label{font-size:var(--fs-16);cursor:pointer;align-items:center;gap:.45rem;display:inline-flex}.radio-group input{width:auto}.radio-group input[type=radio]{cursor:pointer}.radio-group:disabled label{opacity:.5;cursor:not-allowed;pointer-events:none}.radio-group:disabled input[type=radio]{cursor:not-allowed}.theme-switch{border:1px solid var(--line);background:var(--surface);color:var(--text-strong);cursor:pointer;border-radius:999px;align-items:center;gap:.52rem;padding:.28rem .5rem;display:inline-flex;box-shadow:0 6px 16px #11274714}.theme-switch-track{background:var(--primary-soft);border:1px solid var(--line-strong);border-radius:999px;width:36px;height:20px;position:relative}.theme-switch-thumb{background:var(--surface);border-radius:50%;width:16px;height:16px;transition:transform .18s;position:absolute;top:1px;left:1px;box-shadow:0 2px 6px #1127472e}.theme-switch.is-dark .theme-switch-thumb{transform:translate(16px)}.theme-switch-label{font-size:var(--fs-14);font-weight:var(--fw-bold);align-items:center;gap:.25rem;display:inline-flex}.theme-switch-icon{width:.86rem;height:.86rem;display:block}.toast-stack{z-index:3000;pointer-events:none;justify-items:center;gap:.55rem;display:grid;position:fixed;top:1.4rem;left:50%;transform:translate(-50%)}.toast{min-width:220px;max-width:340px;box-shadow:var(--shadow-lg);font-size:var(--fs-16);font-weight:var(--fw-bold);pointer-events:auto;border:1px solid #0000;border-radius:10px;padding:.72rem .95rem}.toast-success{background:var(--success-soft);border-color:var(--success-line);color:var(--success-text)}.field-tooltip-icon{background:var(--surface-soft);border:1px solid var(--line-strong);width:1rem;height:1rem;color:var(--text-soft);font-size:var(--fs-11);font-weight:var(--fw-bold);cursor:help;vertical-align:middle;-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;transition:background .15s,color .15s;display:inline-flex}.field-tooltip-icon:hover{background:var(--hover-surface);color:var(--text-strong)}.field-tooltip-svg{width:.72rem;height:.72rem;display:block}.dual-currency-sub{font-size:var(--fs-13);font-weight:var(--fw-regular);color:var(--text-soft);margin-top:.1rem;line-height:1.3;display:block}.demo-banner-page{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:.75rem;display:flex}.demo-banner-text{flex:1;min-width:0}.demo-banner-end-btn{font-size:var(--fs-14);font-weight:var(--fw-medium);color:var(--text-soft);border:1px solid var(--line);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;flex-shrink:0;padding:.25rem .75rem}.demo-banner-end-btn:hover{background:var(--hover-surface);border-color:var(--line-strong)}.intro-grid>.demo-data-notice{width:100%;font-size:var(--fs-15);text-wrap:pretty;line-height:1.4}.dashboard-empty{text-align:center;flex-direction:column;align-items:center;gap:.85rem;padding:4rem 1.5rem;display:flex}.dashboard-empty-title{font-family:var(--ff-title);font-size:var(--fs-28);font-weight:var(--fw-bold);color:var(--text-strong);flex-direction:column;gap:.05em;margin:0;line-height:1.25;display:flex}.dashboard-empty-title-accent{color:var(--primary)}.dashboard-empty-desc{font-size:var(--fs-18);color:var(--text-soft);max-width:400px;margin:0}.dashboard-empty-cta-row{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:.5rem;display:flex}.dashboard-empty-quick-start{flex-direction:column;gap:.65rem;width:100%;max-width:360px;margin-top:.5rem;display:flex}.quick-start-action{background:var(--surface);border:1px solid var(--line);text-align:left;cursor:pointer;border-radius:12px;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.85rem 1.1rem;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.quick-start-action:hover{border-color:var(--primary);background:var(--primary-soft)}.quick-start-action strong{font-size:var(--fs-16);font-weight:var(--fw-semibold);color:var(--text-strong)}.quick-start-action span{font-size:var(--fs-15);color:var(--text-soft)}.dashboard-empty-more{font-size:var(--fs-16);font-weight:var(--fw-semibold);color:var(--primary);margin-top:.25rem;text-decoration:none}.dashboard-empty-more:hover{text-decoration:underline}.dashboard-empty-eyebrow{font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--primary);letter-spacing:.06em;text-transform:uppercase;margin:0}.dashboard-empty-body-list{text-align:left;flex-direction:column;gap:.35rem;max-width:420px;margin:0;padding:0;list-style:none;display:flex}.dashboard-empty-body-list li{font-size:var(--fs-16);color:var(--text-soft);padding-left:1.2em;position:relative}.dashboard-empty-body-list li:before{content:"·";color:var(--primary);font-weight:var(--fw-bold);position:absolute;left:0}.dashboard-empty-features{border-top:1px solid var(--line);width:100%;max-width:720px;margin-top:1.5rem;padding-top:1.5rem}.dashboard-empty-features-title{font-size:var(--fs-16);font-weight:var(--fw-semibold);color:var(--text-soft);text-align:center;margin:0 0 1rem}.dashboard-empty-features-grid{grid-template-columns:repeat(3,1fr);gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.dashboard-empty-feature-item{background:var(--surface);border:1px solid var(--line);text-align:left;border-radius:10px;flex-direction:column;gap:.25rem;padding:.85rem 1rem;display:flex}.dashboard-empty-feature-item a{flex-direction:column;gap:.25rem;text-decoration:none;display:flex}.dashboard-empty-feature-item a:hover .dashboard-empty-feature-title{color:var(--primary)}.dashboard-empty-feature-title{font-size:var(--fs-15);font-weight:var(--fw-semibold);color:var(--text-strong)}.dashboard-empty-feature-desc{font-size:var(--fs-13);color:var(--text-soft);line-height:1.5}@media (max-width:720px){.dashboard-empty-features-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.dashboard-empty-features-grid{grid-template-columns:1fr}}.app-preview-svg{border:1px solid var(--line);background:var(--surface-soft);border-radius:10px;width:100%;height:auto;display:block}.dashboard-grid{opacity:0;grid-template-columns:1fr;gap:.85rem;width:100%;min-height:50vh;margin:0 auto;transition:opacity .18s;display:grid}.dashboard-grid[data-loaded=true]{opacity:1}.dashboard-view-toolbar{justify-items:start;gap:.8rem;display:grid}.dashboard-view-left-group{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.dashboard-view-preset-group{border:1px solid var(--line);background:var(--surface-soft);border-radius:999px;grid-template-columns:repeat(3,minmax(0,1fr));width:min(420px,100%);padding:.16rem;display:grid}.dashboard-invest-view-desc{font-size:var(--fs-13);color:var(--text-soft);padding:0 .3rem;line-height:1.4}.dashboard-view-controls-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.dashboard-archived-toggle,.dashboard-header-private-toggle{border:1px solid var(--line);background:var(--surface);color:var(--text-soft);font-size:var(--fs-15);font-weight:var(--fw-semibold);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:10px;justify-content:center;align-items:center;gap:.42rem;padding:.38rem .62rem;transition:background-color .18s,border-color .18s,color .18s;display:inline-flex;position:relative}.dashboard-header-private-toggle{padding-inline:.7rem}.dashboard-archived-toggle:hover,.dashboard-header-private-toggle:hover{background:var(--hover-surface);border-color:var(--line-strong)}.dashboard-archived-toggle.is-active,.dashboard-header-private-toggle[aria-pressed=true]{background:var(--primary-soft-2);border-color:var(--line-strong);color:var(--text-strong)}.dashboard-archived-toggle input[type=checkbox]{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.dashboard-archived-toggle-dot{border:1px solid var(--line-strong);background:0 0;border-radius:50%;width:.55rem;height:.55rem}.dashboard-archived-toggle.is-active .dashboard-archived-toggle-dot{background:var(--primary);border-color:var(--primary)}.dashboard-view-preset-group button,.dashboard-analysis-toggle button{color:var(--text-soft);font-size:var(--fs-14);font-weight:var(--fw-bold);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:999px;padding:.34rem .65rem;transition:background .14s,border-color .14s,color .14s}.dashboard-view-preset-group button:hover,.dashboard-analysis-toggle button:hover{border-color:var(--line-strong);color:var(--text-strong)}.dashboard-view-preset-group button.is-active,.dashboard-analysis-toggle button.is-active{border-color:var(--primary-soft-2);background:var(--primary-soft);color:var(--primary)}.dashboard-skeleton-wrap{width:100%;max-width:var(--page-max-width);gap:.85rem;margin:0 auto;display:grid}.dashboard-skeleton-filter-tabs{width:min(420px,100%)}.dashboard-skeleton-header{height:110px}.dashboard-skeleton-kpi-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;display:grid}.dashboard-skeleton-charts-row,.dashboard-skeleton-analysis-row{grid-template-columns:1fr 2fr;gap:.85rem;display:grid}.dashboard-skeleton-holdings-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;display:grid}@media (max-width:1100px){.dashboard-skeleton-holdings-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.dashboard-skeleton-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-skeleton-charts-row,.dashboard-skeleton-analysis-row{grid-template-columns:1fr}}@media (max-width:720px){.dashboard-skeleton-holdings-row{grid-template-columns:1fr}}.dashboard-card-head{margin-bottom:.65rem}.dashboard-card-head h3{font-size:var(--fs-16);font-weight:var(--fw-bold);color:var(--text-strong)}.dashboard-card-head p{font-size:var(--fs-13);color:var(--text-soft);margin-top:.15rem}.dashboard-hero-card{grid-template-columns:minmax(210px,1.18fr) repeat(4,minmax(0,1fr));padding:0;display:grid}.dashboard-hero-summary{flex-direction:column;gap:.24rem;padding:.9rem 1rem;display:flex}.dashboard-hero-kpi-row{display:contents}.dashboard-hero-kpi-item{border-left:1px solid var(--line);flex-direction:column;gap:.22rem;padding:.9rem 1rem;display:flex}.dashboard-header-label{font-size:var(--fs-14);color:var(--text-soft);margin:0}.dashboard-header-value{font-size:var(--fs-22);font-weight:var(--fw-bold);color:var(--text-strong);letter-spacing:0;line-height:1.1}.dashboard-header-delta{font-size:var(--fs-13);font-weight:var(--fw-semibold)}.dashboard-header-delta-row{flex-wrap:wrap;gap:.35rem .55rem;margin-top:.22rem;display:flex}.dashboard-header-profit{font-size:var(--fs-15);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;margin:.04rem 0 .08rem}.dashboard-header-profit.is-positive{color:var(--color-positive)}.dashboard-header-profit.is-negative{color:var(--color-negative)}.dashboard-header-delta em{background:var(--surface-soft);color:var(--text-soft);font-size:var(--fs-13);font-style:normal;font-weight:var(--fw-semibold);border-radius:4px;margin-right:.3rem;padding:.05rem .4rem;display:inline-block}.dashboard-header-delta.is-positive{color:var(--color-positive)}.dashboard-header-delta.is-negative{color:var(--color-negative)}.dashboard-header-delta.is-neutral{color:var(--text-soft)}:root[data-theme=dark] .dashboard-header-delta.is-positive{color:var(--color-positive)}:root[data-theme=dark] .dashboard-header-delta.is-negative{color:var(--color-negative)}.dashboard-currency-chip{background:var(--primary-soft);color:var(--primary);font-size:var(--fs-14);font-weight:var(--fw-semibold);border-radius:20px;align-items:center;margin-left:.4rem;padding:.15rem .55rem;display:inline-flex}.dashboard-kpi-label{font-size:var(--fs-13);color:var(--text-soft)}.dashboard-kpi-value{font-size:var(--fs-18);font-weight:var(--fw-bold);color:var(--text-strong)}.dashboard-kpi-meta{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.dashboard-kpi-delta,.dashboard-kpi-rate,.dashboard-kpi-profit{font-size:var(--fs-14);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.dashboard-kpi-delta.is-positive,.dashboard-kpi-rate.is-positive,.dashboard-kpi-profit.is-positive{color:var(--color-positive)}.dashboard-kpi-delta.is-negative,.dashboard-kpi-rate.is-negative,.dashboard-kpi-profit.is-negative{color:var(--color-negative)}.dashboard-kpi-delta.is-neutral,.dashboard-kpi-rate.is-neutral{color:var(--text-soft)}@media (max-width:900px){.dashboard-hero-card{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-hero-summary{grid-column:1/-1}.dashboard-hero-kpi-item{border-left:none;border-top:1px solid var(--line)}.dashboard-hero-kpi-item:nth-child(2n){border-left:1px solid var(--line)}}@media (max-width:720px){.dashboard-hero-card{grid-template-columns:repeat(2,minmax(0,1fr))}}.dashboard-charts-row{grid-template-columns:1fr 2fr;align-items:stretch;gap:.85rem;display:grid}@media (max-width:900px){.dashboard-charts-row{grid-template-columns:1fr}}.dashboard-portfolio-card,.dashboard-growth-card{flex-direction:column;padding:.9rem 1rem;display:flex}.dashboard-portfolio-card{min-height:260px}.dashboard-portfolio-body{flex:1;grid-template-columns:1fr 1fr;align-items:center;gap:1rem;display:grid}@media (max-width:720px){.dashboard-portfolio-body{grid-template-columns:1fr}}.dashboard-donut-wrap{width:100%;height:180px;position:relative}.dashboard-donut-center{text-align:center;pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.dashboard-donut-center-label{font-size:var(--fs-13);color:var(--text-soft)}.dashboard-donut-center-value{font-size:var(--fs-18);font-weight:var(--fw-bold);color:var(--text-strong)}.dashboard-portfolio-legend{flex-direction:column;gap:.32rem;display:flex}.dashboard-portfolio-legend-item{font-size:var(--fs-13);color:var(--text-soft);align-items:center;gap:.4rem;display:flex}.dashboard-portfolio-legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.dashboard-portfolio-legend-dot-stock{background:var(--cat-stock-text)}.dashboard-portfolio-legend-dot-etf{background:var(--cat-etf-text)}.dashboard-portfolio-legend-dot-real-estate{background:var(--cat-real-estate-text)}.dashboard-portfolio-legend-dot-cash{background:var(--cat-cash-text)}.dashboard-portfolio-legend-dot-bond{background:var(--cat-bond-text)}.dashboard-portfolio-legend-dot-checking-account{background:var(--cat-checking-account-text)}.dashboard-portfolio-legend-dot-installment-savings{background:var(--cat-installment-savings-text)}.dashboard-portfolio-legend-dot-deposit-account{background:var(--cat-deposit-account-text)}.dashboard-portfolio-legend-dot-pension{background:var(--cat-pension-text)}.dashboard-portfolio-legend-dot-crypto{background:var(--cat-crypto-text)}.dashboard-portfolio-legend-dot-fund{background:var(--cat-fund-text)}.dashboard-portfolio-legend-dot-insurance{background:var(--cat-insurance-text)}.dashboard-portfolio-legend-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.dashboard-portfolio-legend-pct{font-weight:var(--fw-semibold);color:var(--text-strong);flex-shrink:0}.dashboard-portfolio-empty{height:200px;color:var(--text-soft);font-size:var(--fs-16);justify-content:center;align-items:center;display:flex}.dashboard-growth-card{min-height:320px}.dashboard-growth-head-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.85rem;margin-bottom:.65rem;display:flex}.dashboard-growth-head-row .dashboard-card-head{flex:1;margin-bottom:0}.dashboard-growth-range-btns{flex-wrap:wrap;gap:.3rem;display:flex}.dashboard-growth-range-btn{font-size:var(--fs-14);color:var(--text-soft);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:.25rem .6rem;transition:background .12s,color .12s}.dashboard-growth-range-btn:hover{background:var(--hover-surface)}.dashboard-growth-range-btn.is-active{background:var(--primary-soft);color:var(--primary);border-color:var(--primary-soft-2);font-weight:var(--fw-semibold)}.dashboard-growth-chart-wrap{width:100%;height:260px;margin-top:.35rem}.dashboard-growth-empty{height:200px;color:var(--text-soft);font-size:var(--fs-16);justify-content:center;align-items:center;display:flex}.dashboard-stack-tooltip{border:1px solid var(--line-strong);background:var(--surface);min-width:210px;max-width:280px;box-shadow:var(--shadow-lg);color:var(--text-strong);border-radius:10px;padding:.7rem .8rem}.dashboard-stack-tooltip-label{color:var(--text-strong);font-size:var(--fs-14);font-weight:var(--fw-extrabold);margin:0 0 .55rem}.dashboard-stack-tooltip ul{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.dashboard-stack-tooltip li,.dashboard-stack-tooltip-total{font-size:var(--fs-13);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.4rem;display:grid}.dashboard-stack-tooltip-name{min-width:0;color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-stack-tooltip strong{font-variant-numeric:tabular-nums}.dashboard-stack-tooltip-total{border-top:1px solid var(--line);color:var(--text-strong);font-weight:var(--fw-extrabold);grid-template-columns:minmax(0,1fr) auto;margin:.6rem 0 0;padding-top:.55rem}.dashboard-stack-tooltip-dot{background:var(--primary);border-radius:999px;width:.55rem;height:.55rem}.dashboard-stack-tooltip-dot-stock{background:var(--cat-stock-text)}.dashboard-stack-tooltip-dot-etf{background:var(--cat-etf-text)}.dashboard-stack-tooltip-dot-real-estate{background:var(--cat-real-estate-text)}.dashboard-stack-tooltip-dot-cash{background:var(--cat-cash-text)}.dashboard-stack-tooltip-dot-bond{background:var(--cat-bond-text)}.dashboard-stack-tooltip-dot-checking-account{background:var(--cat-checking-account-text)}.dashboard-stack-tooltip-dot-installment-savings{background:var(--cat-installment-savings-text)}.dashboard-stack-tooltip-dot-deposit-account{background:var(--cat-deposit-account-text)}.dashboard-stack-tooltip-dot-pension{background:var(--cat-pension-text)}.dashboard-stack-tooltip-dot-crypto{background:var(--cat-crypto-text)}.dashboard-stack-tooltip-dot-fund{background:var(--cat-fund-text)}.dashboard-stack-tooltip-dot-insurance{background:var(--cat-insurance-text)}.dashboard-analysis-grid{grid-template-columns:minmax(0,1.45fr) minmax(320px,.8fr);gap:.85rem;display:grid}@media (max-width:1200px){.dashboard-analysis-grid{grid-template-columns:1fr}}.dashboard-analysis-card{padding:.9rem 1rem}.dashboard-analysis-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.4rem;display:flex}.dashboard-analysis-toggle{border:1px solid var(--line);background:var(--surface-soft);border-radius:999px;max-width:100%;padding:.14rem;display:inline-flex}.dashboard-return-chart-wrap{min-height:240px}.dashboard-analysis-empty{min-height:180px;color:var(--text-soft);font-size:var(--fs-15);justify-content:center;align-items:center;margin:0;display:flex}.dashboard-analysis-empty-wrap{text-align:center;color:var(--text-soft);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:2.5rem 1rem;display:flex}.dashboard-analysis-empty-cta{align-self:center}.dashboard-sector-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:.75rem 1rem;display:grid}.dashboard-sector-chart-wrap{aspect-ratio:1;width:100%;max-height:220px}.dashboard-sector-legend{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.dashboard-sector-legend-item{color:var(--text-soft);font-size:var(--fs-14);grid-template-columns:.55rem minmax(0,1fr) auto;align-items:center;gap:.5rem;line-height:1.3;display:grid}.dashboard-sector-dot{border-radius:999px;width:.55rem;height:.55rem}.dashboard-sector-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-sector-percent{color:var(--text-strong);font-weight:var(--fw-bold);font-size:var(--fs-15)}.dashboard-sector-center-count{fill:var(--text-soft);font-family:var(--ff-body);font-size:11px}.dashboard-sector-center-amount{fill:var(--text-strong);font-family:var(--ff-body);font-size:13px;font-weight:var(--fw-bold)}.dashboard-sector-dot-0{background:var(--cat-stock-text)}.dashboard-sector-dot-1{background:var(--cat-etf-text)}.dashboard-sector-dot-2{background:var(--cat-real-estate-text)}.dashboard-sector-dot-3{background:var(--cat-installment-savings-text)}.dashboard-sector-dot-4{background:var(--cat-crypto-text)}.dashboard-sector-dot-5{background:var(--cat-bond-text)}.dashboard-sector-dot-6{background:var(--cat-deposit-account-text)}.dashboard-sector-dot-7{background:var(--cat-pension-text)}.dashboard-sector-dot-8{background:var(--cat-fund-text)}.dashboard-sector-dot-9{background:var(--cat-checking-account-text)}.dashboard-sector-dot-10{background:var(--cat-cash-text)}.dashboard-sector-dot-11{background:var(--cat-insurance-text)}@media (max-width:900px){.dashboard-analysis-grid{grid-template-columns:1fr}}@media (max-width:720px){.dashboard-sector-body{grid-template-columns:1fr}}.dashboard-concentration-card{flex-direction:column;gap:.5rem;display:flex}.dashboard-concentration-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.dashboard-concentration-list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.dashboard-concentration-row{border-radius:6px}.dashboard-concentration-row:hover{background:var(--hover-surface)}.dashboard-concentration-link{color:var(--text-strong);font-size:var(--fs-15);grid-template-columns:minmax(0,1.2fr) minmax(0,2fr) 7rem 7rem;align-items:center;gap:.6rem;padding:.4rem .5rem;text-decoration:none;display:grid}.dashboard-concentration-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-concentration-bar-wrap{background:var(--bar-track-bg);border-radius:4px;height:8px;position:relative;overflow:hidden}.dashboard-concentration-progress{appearance:none;background:0 0;border:none;width:100%;height:100%;display:block}.dashboard-concentration-progress::-webkit-progress-bar{background:0 0}.dashboard-concentration-progress::-webkit-progress-value{background:var(--primary);border-radius:4px;transition:width .2s}.dashboard-concentration-progress::-moz-progress-bar{background:var(--primary);border-radius:4px}.dashboard-concentration-progress.is-positive::-webkit-progress-value{background:var(--color-positive)}.dashboard-concentration-progress.is-positive::-moz-progress-bar{background:var(--color-positive)}.dashboard-concentration-progress.is-negative::-webkit-progress-value{background:var(--color-negative)}.dashboard-concentration-progress.is-negative::-moz-progress-bar{background:var(--color-negative)}.dashboard-concentration-percent{font-variant-numeric:tabular-nums;font-weight:var(--fw-semibold);color:var(--text-strong);text-align:right;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-concentration-percent.is-positive{color:var(--color-positive)}.dashboard-concentration-percent.is-negative{color:var(--color-negative)}.dashboard-concentration-valuation{font-variant-numeric:tabular-nums;color:var(--text-soft);text-align:right;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (max-width:720px){.dashboard-concentration-link{grid-template-columns:minmax(0,1.4fr) minmax(0,2fr) 4.5rem}.dashboard-concentration-valuation{display:none}}.dashboard-holdings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}@media (min-width:1200px){.dashboard-holdings-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:900px){.dashboard-holdings-grid{grid-template-columns:1fr}}.dashboard-holdings-card{min-height:160px;padding:.9rem 1rem}.dashboard-holdings-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.dashboard-holdings-row{border-bottom:1px solid var(--line);gap:0;display:grid}.dashboard-holdings-row:last-child{border-bottom:none}.dashboard-holdings-row>a,.dashboard-holdings-row>span{color:var(--text-strong);font-size:var(--fs-14);border-radius:6px;align-items:center;gap:.35rem;padding:.4rem .25rem;text-decoration:none;transition:background .1s;display:grid}.dashboard-holdings-row>a:hover{background:var(--hover-surface)}.dashboard-holdings-row .col-name{font-weight:var(--fw-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-holdings-row .col-sub{color:var(--text-soft);font-size:var(--fs-13);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-holdings-row .col-amount{text-align:right;font-variant-numeric:tabular-nums}.dashboard-holdings-row .col-rate{text-align:right;font-size:var(--fs-13);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.dashboard-holdings-row .col-rate.is-positive{color:var(--color-positive)}.dashboard-holdings-row .col-rate.is-negative{color:var(--color-negative)}:root[data-theme=dark] .dashboard-holdings-row .col-rate.is-positive{color:var(--color-positive)}:root[data-theme=dark] .dashboard-holdings-row .col-rate.is-negative{color:var(--color-negative)}.dashboard-holdings-empty{color:var(--text-soft);font-size:var(--fs-15);padding:1rem 0}.dashboard-holdings-investment>.dashboard-holdings-row>a,.dashboard-holdings-investment>.dashboard-holdings-row>span{grid-template-columns:1fr auto auto}.dashboard-holdings-savings>.dashboard-holdings-row>a,.dashboard-holdings-savings>.dashboard-holdings-row>span,.dashboard-holdings-cash>.dashboard-holdings-row>a,.dashboard-holdings-cash>.dashboard-holdings-row>span,.dashboard-holdings-other>.dashboard-holdings-row>a,.dashboard-holdings-other>.dashboard-holdings-row>span{grid-template-columns:1fr auto}.dashboard-risk-strip{background:var(--warn);align-items:center;gap:.75rem;padding:.55rem .75rem;display:flex}@supports (color:color-mix(in lab, red, red)){.dashboard-risk-strip{background:color-mix(in srgb, var(--warn) 7%, var(--surface-soft))}}.dashboard-risk-strip{border:1px solid var(--line);border-left:3px solid var(--warn);scrollbar-width:thin;border-radius:10px;overflow-x:auto}.dashboard-risk-strip-label{font-size:var(--fs-15);color:var(--text-strong);font-weight:var(--fw-semibold);white-space:nowrap;flex-shrink:0}.dashboard-risk-strip-list{flex-wrap:nowrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.dashboard-risk-strip-chip>a{font-size:var(--fs-15);background:var(--surface);border:1px solid var(--line);color:var(--text-strong);white-space:nowrap;border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .55rem;text-decoration:none;display:inline-flex}.dashboard-risk-strip-chip>a:hover{background:var(--hover-surface)}.dashboard-risk-strip-chip-name{font-weight:var(--fw-medium);text-overflow:ellipsis;max-width:12rem;overflow:hidden}.dashboard-risk-strip-chip-rate{font-variant-numeric:tabular-nums;font-weight:var(--fw-semibold)}.dashboard-risk-strip-chip-rate.is-positive{color:var(--color-positive)}.dashboard-risk-strip-chip-rate.is-negative{color:var(--color-negative)}.dashboard-risk-strip-chip-stop-hit>a{border-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.dashboard-risk-strip-chip-stop-hit>a{border-color:color-mix(in oklab, var(--danger) 40%, var(--line))}}.dashboard-risk-strip-chip-stop-hit>a{background:var(--danger)}@supports (color:color-mix(in lab, red, red)){.dashboard-risk-strip-chip-stop-hit>a{background:color-mix(in oklab, var(--danger) 8%, var(--surface))}}.dashboard-risk-strip-chip-stop-near>a{border-color:var(--risk-high)}@supports (color:color-mix(in lab, red, red)){.dashboard-risk-strip-chip-stop-near>a{border-color:color-mix(in oklab, var(--risk-high) 30%, var(--line))}}.dashboard-risk-strip-chip-target-hit>a{border-color:var(--color-positive)}@supports (color:color-mix(in lab, red, red)){.dashboard-risk-strip-chip-target-hit>a{border-color:color-mix(in oklab, var(--color-positive) 30%, var(--line))}}.dashboard-risk-strip-chip-target-hit>a{background:var(--color-positive)}@supports (color:color-mix(in lab, red, red)){.dashboard-risk-strip-chip-target-hit>a{background:color-mix(in oklab, var(--color-positive) 8%, var(--surface))}}.dashboard-risk-strip-chip-target-near>a{border-color:var(--risk-medium)}@supports (color:color-mix(in lab, red, red)){.dashboard-risk-strip-chip-target-near>a{border-color:color-mix(in oklab, var(--risk-medium) 25%, var(--line))}}.dashboard-risk-strip-more{font-size:var(--fs-15);color:var(--text-soft);white-space:nowrap;margin-left:auto;text-decoration:underline}:root[data-theme=dark] .dashboard-risk-strip-chip-stop-hit>a{background:var(--danger)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark] .dashboard-risk-strip-chip-stop-hit>a{background:color-mix(in oklab, var(--danger) 14%, var(--surface))}}:root[data-theme=dark] .dashboard-risk-strip-chip-target-hit>a{background:var(--color-positive)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark] .dashboard-risk-strip-chip-target-hit>a{background:color-mix(in oklab, var(--color-positive) 16%, var(--surface))}}.chart-placeholder{background:var(--surface-soft);border-radius:12px;width:100%;height:100%;min-height:240px}.legal-page{max-width:var(--page-max-width-narrow);gap:1rem;width:100%;display:grid}.legal-card{gap:1.2rem;padding:1.2rem;display:grid}.legal-updated{color:var(--text-soft);font-size:var(--fs-15);font-weight:var(--fw-semibold);margin:.28rem 0 0}.legal-section{gap:.48rem;display:grid}.legal-section h3{color:var(--text-strong);font-size:var(--fs-18);margin:0}.legal-section p,.legal-section li{color:var(--text-soft);font-size:var(--fs-16);line-height:1.62}.legal-section p,.legal-section ul{margin:0}.legal-section ul{gap:.34rem;padding-left:1.15rem;display:grid}.legal-link-row{flex-wrap:wrap;gap:.55rem;display:flex}.legal-link{border:1px solid var(--line);background:var(--surface);min-height:2.25rem;color:var(--text-strong);font-size:var(--fs-15);font-weight:var(--fw-bold);border-radius:8px;justify-content:center;align-items:center;padding:.45rem .72rem;text-decoration:none;display:inline-flex}.legal-link:hover{border-color:var(--line-strong);background:var(--primary-soft-2)}.legal-version-dropdown{max-width:22rem;position:relative}.legal-version-summary{border:1px solid var(--line);background:var(--surface);min-height:2.65rem;color:var(--text-strong);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:.65rem;padding:.62rem .82rem;list-style:none;display:flex}.legal-version-summary::-webkit-details-marker{display:none}.legal-version-summary-label{color:var(--text-muted);font-size:var(--fs-14);font-weight:var(--fw-bold)}.legal-version-summary-current{min-width:0;color:var(--text-strong);font-size:var(--fs-16);font-weight:var(--fw-bold);flex:1}.legal-version-chevron{color:var(--text-muted);font-size:var(--fs-20);transition:transform .18s;display:inline-block}.legal-version-dropdown[open] .legal-version-chevron{transform:rotate(90deg)}.legal-version-menu{z-index:20;border:1px solid var(--line);background:var(--surface);width:100%;box-shadow:var(--shadow-lg);border-radius:8px;display:grid;position:absolute;top:calc(100% + .35rem);left:0;overflow:hidden}.legal-version-option{color:var(--text-soft);font-size:var(--fs-16);font-weight:var(--fw-semibold);padding:.72rem .82rem;text-decoration:none}.legal-version-option:hover,.legal-version-option[aria-current=page]{background:var(--primary-soft-2);color:var(--text-strong)}.about-page{max-width:var(--page-max-width-narrow);gap:.85rem;margin:0 auto;padding:.25rem 0;display:grid}.about-page .section-head h2{font-size:var(--fs-24)}.about-page .section-head p{font-size:var(--fs-16);margin-top:.25rem}.about-hero-card{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);align-items:start;gap:1.5rem;padding:1.25rem 1.4rem;display:grid}.about-hero-main{gap:.9rem;display:grid}.about-hero-title{font-family:var(--ff-title);font-size:var(--fs-28);font-weight:var(--fw-extrabold);color:var(--text-strong);letter-spacing:0;flex-direction:column;gap:.1em;margin:0;line-height:1.15;display:flex}.about-hero-title-accent{color:var(--primary)}.about-hero-body{gap:.42rem;margin:0;padding-left:1.15rem;display:grid}.about-hero-body li{font-size:var(--fs-16);color:var(--text-soft);line-height:1.5}.about-hero-preview{width:100%;max-width:520px;margin:0 auto}.about-hero-side{flex-direction:column;gap:.85rem;display:flex}.about-hero-highlights{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.about-hero-highlights li{border-left:3px solid var(--primary);background:var(--surface-soft);border-radius:0 8px 8px 0;gap:.12rem;padding:.55rem .72rem;display:grid}.about-hero-highlights strong{color:var(--text-strong);font-size:var(--fs-15)}.about-hero-highlights span{color:var(--text-soft);font-size:var(--fs-14);line-height:1.45}.about-hero-cta{border:1px solid var(--primary);justify-content:center;align-self:flex-start;align-items:center;min-height:2.2rem;padding:.5rem .9rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.about-hero-cta{border:1px solid color-mix(in srgb, var(--primary) 80%, var(--line))}}.about-hero-cta{background:var(--primary);color:var(--pure-white);font-size:var(--fs-15);font-weight:var(--fw-bold);border-radius:8px;text-decoration:none;transition:background .14s,border-color .14s}.about-hero-cta:hover{border-color:var(--primary);background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.about-hero-cta:hover{background:color-mix(in srgb, var(--primary) 88%, #000)}}.about-section-title{font-size:var(--fs-18);font-weight:var(--fw-bold);color:var(--text-strong);margin:0 0 .7rem}.about-features-card{padding:1.1rem 1.4rem}.about-feature-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1.4rem;margin:0;padding:0;list-style:none;display:grid}.about-feature-item{gap:.12rem;padding:.15rem 0;display:grid}.about-feature-title{font-size:var(--fs-16);font-weight:var(--fw-bold);color:var(--text-strong)}.about-feature-desc{font-size:var(--fs-14);color:var(--text-soft);line-height:1.42}.about-categories-card{padding:1.1rem 1.4rem}.about-category-chips{flex-wrap:wrap;gap:.38rem;display:flex}.about-category-chip{background:var(--primary-soft);border:1px solid var(--primary-soft-2);font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--primary);border-radius:999px;align-items:center;padding:.18rem .55rem;display:inline-flex}.about-purpose-card{padding:1.1rem 1.4rem}.about-purpose-line{font-size:var(--fs-15);color:var(--text-soft);margin:0 0 .52rem;line-height:1.55}.about-purpose-line:last-child{margin-bottom:0}.about-nav-links{border-top:1px solid var(--line);font-size:var(--fs-15);flex-wrap:wrap;align-items:center;gap:.55rem 1rem;padding-top:.8rem;display:flex}.about-nav-btn{font-size:var(--fs-16);padding:.5rem 1rem}@media (max-width:720px){.about-page{max-width:none;padding:0}.about-hero-card{grid-template-columns:1fr;padding:1.5rem 1.25rem}.about-hero-title{font-size:var(--fs-24)}.about-features-card,.about-categories-card,.about-purpose-card{padding:1.25rem}.about-feature-list{grid-template-columns:1fr}}:root[data-theme=dark] .about-category-chip{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark] .about-category-chip{background:color-mix(in oklab, var(--primary) 18%, transparent)}}:root[data-theme=dark] .about-category-chip{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark] .about-category-chip{border-color:color-mix(in oklab, var(--primary) 30%, transparent)}}:root[data-theme=dark] .about-category-chip{color:var(--hero-chip-border)}.feature-page{max-width:var(--page-max-width-narrow);gap:1.25rem;margin:0 auto;padding:.25rem 0;display:grid}.feature-hero{gap:1rem;padding:1.5rem 0 .5rem;display:grid}.feature-hero-title{font-family:var(--ff-title);font-size:var(--fs-32);font-weight:var(--fw-extrabold);color:var(--text-strong);flex-direction:column;gap:.08em;margin:0;line-height:1.15;display:flex}.feature-hero-title-accent{color:var(--primary)}.feature-hero-subtitle{font-size:var(--fs-17);color:var(--text-soft);max-width:480px;margin:0;line-height:1.6}.feature-hero-cta{flex-wrap:wrap;gap:.75rem;margin-top:.25rem;display:flex}.feature-section{padding:1.25rem 1.4rem}.feature-section-title{font-size:var(--fs-18);font-weight:var(--fw-bold);color:var(--text-strong);margin:0 0 1rem}.feature-problem-list{gap:.5rem;margin:0;padding-left:1.2rem;display:grid}.feature-problem-list li{font-size:var(--fs-15);color:var(--text-soft);line-height:1.55}.feature-solution-grid{grid-template-columns:repeat(2,1fr);gap:.85rem;margin:0;padding:0;list-style:none;display:grid}.feature-solution-item{background:var(--surface-1);border-radius:var(--radius-md);border:1px solid var(--border-soft);gap:.25rem;padding:.75rem 1rem;display:grid}.feature-solution-title{font-size:var(--fs-15);font-weight:var(--fw-semibold);color:var(--text-strong)}.feature-solution-desc{font-size:var(--fs-14);color:var(--text-soft);line-height:1.5}.feature-related{padding:.5rem 0}.feature-related-title{font-size:var(--fs-15);font-weight:var(--fw-semibold);color:var(--text-muted);margin:0 0 .6rem}.feature-related-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.feature-related-link{border-radius:var(--radius-md);border:1px solid var(--border-soft);gap:.15rem;padding:.75rem 1rem;text-decoration:none;transition:background-color .15s;display:grid}.feature-related-link:hover{background:var(--surface-hover)}.feature-related-link strong{font-size:var(--fs-15);font-weight:var(--fw-semibold);color:var(--primary)}.feature-related-link span{font-size:var(--fs-13);color:var(--text-soft)}:root[data-theme=dark] .feature-solution-item{background:var(--surface-1);border-color:var(--border-soft)}:root[data-theme=dark] .feature-related-link:hover{background:var(--surface-hover)}@media (max-width:720px){.feature-hero-title{font-size:var(--fs-26)}.feature-hero-subtitle{font-size:var(--fs-15)}.feature-solution-grid{grid-template-columns:1fr}}@media (max-width:480px){.feature-hero{padding:.75rem 0 .25rem}.feature-hero-cta{flex-direction:column}}.stats-dashboard{min-height:680px}.stats-view-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.7rem;margin-bottom:.55rem;display:flex}.stats-view-preset-group{border:1px solid var(--line);background:var(--surface-soft);border-radius:999px;grid-template-columns:repeat(3,minmax(0,1fr));width:min(520px,100%);padding:.18rem;display:grid}.stats-view-preset-group button{color:var(--text-soft);font-size:var(--fs-15);font-weight:var(--fw-bold);cursor:pointer;text-align:center;background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;width:100%;min-width:0;padding:.42rem .78rem;transition:box-shadow .16s,border-color .16s,background .16s,color .16s;display:flex}.stats-view-preset-group button:hover{border-color:var(--line)}@supports (color:color-mix(in lab, red, red)){.stats-view-preset-group button:hover{border-color:color-mix(in srgb, var(--line) 58%, var(--tab-active) 42%)}}.stats-view-preset-group button:hover{color:var(--text-strong)}.stats-view-preset-group button:focus-visible{outline:2px solid var(--tab-active);outline-offset:1px}.stats-view-preset-group button.is-active{border-color:var(--tab-active)}@supports (color:color-mix(in lab, red, red)){.stats-view-preset-group button.is-active{border-color:color-mix(in srgb, var(--tab-active) 58%, var(--line) 42%)}}.stats-view-preset-group button.is-active{background:var(--tab-active)}@supports (color:color-mix(in lab, red, red)){.stats-view-preset-group button.is-active{background:color-mix(in srgb, var(--tab-active) 9%, var(--surface))}}.stats-view-preset-group button.is-active{color:var(--tab-active-text);box-shadow:0 7px 18px #113a6924}.stats-view-preset-title{width:100%;font-size:var(--fs-15);text-align:center;line-height:1.2;display:block}.stats-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-bottom:.85rem;display:grid}.stats-group-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin-bottom:.85rem;display:grid}.stats-group-kpi-card{padding:.75rem 1rem}.stats-group-kpi-label{font-size:var(--fs-13);color:var(--text-soft);margin:0}.stats-group-kpi-value{font-size:var(--fs-18);color:var(--text-strong);font-weight:var(--fw-bold);margin-top:.35rem;display:block}.stats-group-kpi-delta{font-size:var(--fs-13);font-weight:var(--fw-semibold);margin-top:.28rem;display:block}.stats-group-kpi-delta.is-positive{color:var(--gain-text)}.stats-group-kpi-delta.is-negative{color:var(--loss-text)}.stats-group-kpi-delta.is-neutral{color:var(--text-soft)}.stats-criteria-note{color:var(--text-soft);font-size:var(--fs-14);font-weight:var(--fw-bold);align-items:center;gap:.1rem;margin-bottom:.85rem;display:inline-flex}.stats-kpi-label{font-size:var(--fs-14);color:var(--text-soft);margin:0}.stats-kpi-value{font-size:var(--fs-18);color:var(--text-strong);font-weight:var(--fw-bold);margin-top:.4rem;display:block}.stats-kpi-delta{font-size:var(--fs-14);font-weight:var(--fw-bold);white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:.22rem;margin-top:.42rem;padding:.22rem .48rem;line-height:1.2;display:inline-flex}.stats-kpi-delta-icon{flex:none;width:.82rem;height:.82rem}.stats-kpi-delta.is-positive{background:var(--gain-soft);border-color:var(--gain-line);color:var(--gain-text)}.stats-kpi-delta.is-negative{background:var(--loss-soft);border-color:var(--loss-line)}@supports (color:color-mix(in lab, red, red)){.stats-kpi-delta.is-negative{border-color:color-mix(in srgb, var(--loss-line) 72%, var(--line) 28%)}}.stats-kpi-delta.is-negative{color:var(--loss-text)}.stats-kpi-delta.is-neutral{background:var(--surface-soft);border-color:var(--line);color:var(--text-soft)}.stats-grid-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.9rem;display:grid}.stats-card{padding:1rem}.stats-card-full{grid-column:1/-1}.stats-trend-card{padding-bottom:.65rem}.stats-top-holdings-card{flex-direction:column;display:flex}.stats-top-holdings-list{margin:0;padding:0;list-style:none}.stats-top-holding-row+.stats-top-holding-row{border-top:1px solid var(--asset-divider)}.stats-top-holding-row>a{color:inherit;border-radius:6px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.5rem .75rem;padding:.55rem .35rem;text-decoration:none;transition:background .12s;display:grid}.stats-top-holding-row>a:hover{background:var(--hover-surface)}.stats-top-holding-name{font-size:var(--fs-16);color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.stats-top-holding-value{font-size:var(--fs-16);font-weight:var(--fw-semibold);color:var(--text-strong);white-space:nowrap}.stats-top-holding-rate{font-size:var(--fs-14);font-weight:var(--fw-medium);white-space:nowrap;text-align:right;min-width:3.5rem}.stats-top-holding-rate.is-positive{color:var(--color-positive)}.stats-top-holding-rate.is-negative{color:var(--color-negative)}.stats-top-holding-rate.is-neutral{color:var(--text-soft)}:root[data-theme=dark] .stats-top-holding-rate.is-positive{color:var(--color-positive)}:root[data-theme=dark] .stats-top-holding-rate.is-negative{color:var(--color-negative)}.donut-card{flex-direction:column;display:flex}.stats-card-head{justify-content:space-between;align-items:flex-start;gap:.8rem;margin-bottom:.55rem;display:flex}.stats-card-head h3{color:var(--text-strong);font-size:var(--fs-18);margin:0}.stats-card-head p{color:var(--text-soft);font-size:var(--fs-15);margin:.3rem 0 0}.stats-card-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.stats-clear-filter,.stats-return-limit-row button{border:1px solid var(--line);background:var(--surface);color:var(--text-soft);cursor:pointer;font-size:var(--fs-14);font-weight:var(--fw-bold);border-radius:999px;padding:.34rem .62rem;transition:background .15s,border-color .15s,color .15s}.stats-clear-filter:hover,.stats-return-limit-row button:hover{border-color:var(--hover-outline);background:var(--hover-surface);color:var(--text-strong)}.stats-return-limit-row{color:var(--text-soft);font-size:var(--fs-14);font-weight:var(--fw-bold);justify-content:space-between;align-items:center;gap:.6rem;margin:-.15rem 0 .55rem;display:flex}.binary-toggle{cursor:pointer;background:0 0;border:none;padding:0}.binary-toggle-track{border:1px solid var(--line);background:var(--surface-soft);border-radius:999px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;min-width:210px;padding:.2rem;display:grid;position:relative;overflow:hidden}.binary-toggle-thumb{background:var(--surface);border-radius:999px;width:calc(50% - .2rem);transition:transform .18s;position:absolute;top:.2rem;bottom:.2rem;box-shadow:0 4px 12px #1022391f}.binary-toggle.is-second .binary-toggle-thumb{transform:translate(100%)}.binary-toggle-option{z-index:1;text-align:center;color:var(--text-soft);font-size:var(--fs-14);font-weight:var(--fw-bold);-webkit-user-select:none;user-select:none;padding:.35rem .65rem;position:relative}.binary-toggle-option.is-active{color:var(--text-strong)}.binary-toggle:focus-visible{outline:2px solid var(--tab-active);outline-offset:2px;border-radius:999px}.stats-chart-wrap{width:100%;min-height:260px}.stats-trend-chart-wrap{min-height:390px}.stats-pie-sector{cursor:pointer;opacity:.86;transition:opacity .15s,filter .15s}.stats-pie-sector:hover,.stats-pie-sector.is-active{opacity:1;filter:drop-shadow(0 4px 8px #1022392e)}.stats-legend-list{flex-direction:column;gap:.34rem;margin:.1rem 0 0;padding:0;list-style:none;display:flex}.stats-legend-list li{border:1px solid var(--line);font-size:var(--fs-15);border-radius:9px;grid-template-columns:auto 1fr auto;align-items:center;gap:.4rem;padding:.28rem .42rem;transition:background .15s,border-color .15s;display:grid;position:relative}.stats-legend-list li:hover,.stats-legend-list li.is-active{border-color:var(--hover-outline);background:var(--hover-surface)}.stats-legend-list li em{color:var(--text-soft);font-style:normal;font-size:var(--fs-14);margin-left:.24rem}.stats-legend-dot{border-radius:50%;width:.58rem;height:.58rem}.stats-legend-dot-stock{background:var(--cat-stock-text)}.stats-legend-dot-etf{background:var(--cat-etf-text)}.stats-legend-dot-real-estate{background:var(--cat-real-estate-text)}.stats-legend-dot-cash{background:var(--cat-cash-text)}.stats-legend-dot-bond{background:var(--cat-bond-text)}.stats-legend-dot-checking-account{background:var(--cat-checking-account-text)}.stats-legend-dot-installment-savings{background:var(--cat-installment-savings-text)}.stats-legend-dot-deposit-account{background:var(--cat-deposit-account-text)}.stats-legend-dot-pension{background:var(--cat-pension-text)}.stats-legend-dot-crypto{background:var(--cat-crypto-text)}.stats-legend-dot-fund{background:var(--cat-fund-text)}.stats-legend-dot-insurance{background:var(--cat-insurance-text)}.stats-legend-filter{cursor:pointer;background:0 0;border:0;border-radius:9px;position:absolute;inset:0}.stats-legend-list li>:not(.stats-legend-filter){pointer-events:none}.stats-sector-dot{background:var(--sector-dot-fill,var(--text-soft))}.stats-empty-card{padding:1.2rem}.stats-empty-card h3{margin:0}.stats-empty-card p{color:var(--text-soft);margin:.6rem 0 0}.stats-empty-inline{color:var(--text-soft);font-size:var(--fs-16);margin:1rem 0 .3rem}.stats-portfolio-group-summary{border-top:1px solid var(--line);flex-direction:column;gap:.35rem;margin-top:.75rem;padding-top:.75rem;display:flex}.stats-portfolio-group-row{font-size:var(--fs-16);align-items:center;gap:.5rem;display:flex}.stats-portfolio-group-label{color:var(--text-soft);flex:1}.stats-portfolio-group-percent{color:var(--text-muted);font-size:var(--fs-15)}.stats-portfolio-group-value{font-weight:var(--fw-semibold);color:var(--text-strong);text-align:right;min-width:5rem}@media (max-width:980px){.stats-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid-layout{grid-template-columns:1fr}.stats-card-full{grid-column:auto}}@media (max-width:640px){.stats-view-preset-group{width:100%}.stats-kpi-grid{grid-template-columns:1fr}.stats-card-head{flex-direction:column}.stats-card-actions,.stats-return-limit-row{align-items:stretch;width:100%}.stats-return-limit-row{flex-direction:column}}.trend-range-buttons{flex-shrink:0;align-items:center;gap:.25rem;display:flex}.trend-range-btn{border:1px solid var(--line);color:var(--text-soft);font-size:var(--fs-14);cursor:pointer;background:0 0;border-radius:6px;padding:.28rem .65rem;transition:background .12s,color .12s,border-color .12s}.trend-range-btn:hover{background:var(--hover-surface);border-color:var(--line-strong);color:var(--text-strong)}.trend-range-btn.is-active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary);font-weight:var(--fw-semibold)}:root[data-theme=dark] .trend-range-btn{border-color:var(--line);color:var(--text-soft)}:root[data-theme=dark] .trend-range-btn:hover{background:var(--hover-surface);color:var(--text-strong)}:root[data-theme=dark] .trend-range-btn.is-active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}@media (max-width:720px){.stats-dashboard{padding-top:.5rem}.stats-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.stats-group-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.stats-view-preset-group{width:100%}.stats-view-preset-group button{min-height:2.5rem;font-size:var(--fs-15);padding:.42rem .5rem}.trend-range-btn{min-height:44px;padding:.35rem .85rem}.stats-view-toolbar{flex-direction:column;align-items:stretch;gap:.5rem}.stats-card-head{flex-direction:column;align-items:flex-start;gap:.5rem}.stats-view-preset-title{font-size:var(--fs-15)}}@media (max-width:480px){.stats-kpi-grid{grid-template-columns:1fr}.stats-kpi-label{font-size:var(--fs-13)}.stats-kpi-value{font-size:var(--fs-18)}}.snapshot-page{--snapshot-head-height:2.88rem;--snapshot-summary-height:2.74rem;--snapshot-summary-1-top:var(--snapshot-head-height);--snapshot-summary-2-top:calc(var(--snapshot-head-height) + var(--snapshot-summary-height));--snapshot-summary-3-top:calc(var(--snapshot-head-height) + var(--snapshot-summary-height) + var(--snapshot-summary-height));--snapshot-summary-4-top:calc(var(--snapshot-head-height) + var(--snapshot-summary-height) + var(--snapshot-summary-height) + var(--snapshot-summary-height));--snapshot-category-top:calc(var(--snapshot-head-height) + var(--snapshot-summary-height) + var(--snapshot-summary-height) + var(--snapshot-summary-height) + var(--snapshot-summary-height));min-height:320px}.snapshot-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.6rem;display:flex}.snapshot-action-bar{justify-content:flex-end;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.snapshot-batch-link{border:1px solid var(--line-strong);background:var(--surface);min-height:2.25rem;color:var(--text-strong);font-size:var(--fs-16);font-weight:var(--fw-bold);border-radius:8px;justify-content:center;align-items:center;padding:0 .8rem;text-decoration:none;display:inline-flex}.snapshot-batch-link:hover{border-color:var(--primary);color:var(--primary)}.snapshot-batch-link:disabled{opacity:.5;cursor:not-allowed}.snapshot-import-file-input{display:none}.snapshot-filter-bar{border:1px solid var(--line);background:var(--surface);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem 1.2rem;margin-bottom:.8rem;padding:.6rem .8rem;display:flex}.snapshot-filter-primary,.snapshot-filter-options{flex-wrap:wrap;align-items:center;display:flex}.snapshot-filter-primary{gap:.65rem}.snapshot-filter-options{gap:.6rem}.snapshot-search,.snapshot-filter-control,.snapshot-option{color:var(--text-soft);font-size:var(--fs-15);font-weight:var(--fw-semibold);align-items:center;gap:.45rem;display:inline-flex}.snapshot-search>span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.snapshot-option{white-space:nowrap}.snapshot-search input{border:1px solid var(--line-strong);background:var(--surface-soft);min-width:220px;min-height:2.25rem;color:var(--text-strong);font:inherit;font-weight:var(--fw-semibold);border-radius:8px;padding:0 .7rem}.snapshot-option input{accent-color:var(--primary)}.snapshot-filter-options .binary-toggle{cursor:pointer;background:0 0;border:none;padding:0}.snapshot-filter-options .binary-toggle-track{border:1px solid var(--line);background:var(--surface-soft);border-radius:999px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;min-width:176px;padding:.2rem;display:grid;position:relative;overflow:hidden}.snapshot-filter-options .binary-toggle-thumb{background:var(--surface);border-radius:999px;width:calc(50% - .2rem);transition:transform .18s;position:absolute;top:.2rem;bottom:.2rem;box-shadow:0 4px 12px #1022391f}.snapshot-filter-options .binary-toggle.is-second .binary-toggle-thumb{transform:translate(100%)}.snapshot-filter-options .binary-toggle-option{z-index:1;text-align:center;color:var(--text-soft);font-size:var(--fs-14);font-weight:var(--fw-bold);-webkit-user-select:none;user-select:none;white-space:nowrap;padding:.35rem .55rem;position:relative}.snapshot-filter-options .binary-toggle-option.is-active{color:var(--text-strong)}.snapshot-filter-options .binary-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:999px}.snapshot-mode-segment{border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;align-items:center;margin:0;padding:0;display:inline-flex;overflow:hidden}.snapshot-mode-segment legend{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.snapshot-mode-segment button{border:0;border-right:1px solid var(--line);min-height:2.25rem;color:var(--text-soft);font:inherit;font-size:var(--fs-15);font-weight:var(--fw-extrabold);cursor:pointer;background:0 0;padding:0 .75rem}.snapshot-mode-segment button:last-child{border-right:0}.snapshot-mode-segment button:hover,.snapshot-mode-segment button.is-active{background:var(--primary-soft);color:var(--primary)}.snapshot-table-wrap{border:1px solid var(--line);background:var(--surface);border-radius:8px;max-width:100%;overflow:auto}.snapshot-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:var(--fs-15)}.snapshot-table th,.snapshot-table td{min-width:160px;height:var(--snapshot-summary-height);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);text-align:right;white-space:nowrap;padding:.65rem .75rem}.snapshot-table th{color:var(--text-soft);font-weight:var(--fw-extrabold)}.snapshot-date-col-header>a{flex:1;min-width:0}.snapshot-table thead th{z-index:5;height:var(--snapshot-head-height);background:var(--surface-strong);position:sticky;top:0}.snapshot-table thead a,.snapshot-table td a,.snapshot-table th a{color:inherit;text-decoration:none}.snapshot-table thead a{gap:.18rem;display:grid}.snapshot-date-fx{color:var(--text-soft);font-size:var(--fs-13);font-weight:var(--fw-bold);line-height:1.25}.snapshot-table thead a:hover,.snapshot-table td a:hover,.snapshot-table th a:hover{color:var(--primary)}.snapshot-table .snapshot-sticky-col{z-index:3;background:var(--surface);text-align:left;min-width:220px;max-width:260px;box-shadow:1px 0 0 var(--line);position:sticky;left:0}.snapshot-table thead .snapshot-sticky-col{z-index:6;background:var(--surface-strong)}.snapshot-summary-row th,.snapshot-summary-row td{z-index:4;position:sticky}.snapshot-table>tbody:first-of-type .snapshot-summary-row:first-child th,.snapshot-table>tbody:first-of-type .snapshot-summary-row:first-child td{top:var(--snapshot-summary-1-top)}.snapshot-table>tbody:first-of-type .snapshot-summary-row:nth-child(2) th,.snapshot-table>tbody:first-of-type .snapshot-summary-row:nth-child(2) td{top:var(--snapshot-summary-2-top)}.snapshot-table>tbody:first-of-type .snapshot-summary-row:nth-child(3) th,.snapshot-table>tbody:first-of-type .snapshot-summary-row:nth-child(3) td{top:var(--snapshot-summary-3-top)}.snapshot-table>tbody:first-of-type .snapshot-summary-row:nth-child(4) th,.snapshot-table>tbody:first-of-type .snapshot-summary-row:nth-child(4) td{top:var(--snapshot-summary-4-top)}.snapshot-summary-row th,.snapshot-summary-row td{background:var(--primary-soft-2);color:var(--text-strong);font-weight:var(--fw-extrabold)}.snapshot-summary-row .snapshot-sticky-col{background:var(--primary-soft-2);z-index:5}.snapshot-category-row th,.snapshot-category-row td{top:var(--snapshot-category-top);z-index:2;background:var(--surface-soft);color:var(--text-strong);position:sticky}.snapshot-category-row th{text-align:left}.snapshot-category-row .snapshot-sticky-col{z-index:4;background:var(--surface-soft);left:0}.snapshot-category-toggle{color:inherit;font:inherit;font-weight:var(--fw-black);cursor:pointer;background:0 0;border:0;align-items:center;gap:.45rem;display:inline-flex}.snapshot-category-toggle-icon{flex:none;width:.9rem;height:.9rem}.snapshot-subtotal-row th,.snapshot-subtotal-row td{background:var(--surface-soft);color:var(--text-strong);font-weight:var(--fw-bold)}.snapshot-subtotal-row .snapshot-sticky-col{background:var(--surface-soft)}.snapshot-sticky-col.is-closed{color:var(--text-soft)}.snapshot-closed-badge{border:1px solid var(--line);background:var(--surface-soft);color:var(--text-soft);font-size:var(--fs-13);font-weight:var(--fw-extrabold);vertical-align:middle;border-radius:999px;align-items:center;margin-left:.4rem;padding:.08rem .35rem;display:inline-flex}.snapshot-cell-link{cursor:pointer;justify-items:end;gap:.16rem;display:grid}.snapshot-cell-secondary,.snapshot-cell-delta{color:var(--text-soft);font-size:var(--fs-13);font-weight:var(--fw-bold);line-height:1.25;display:block}.snapshot-tooltip{white-space:nowrap;gap:.2rem;display:grid}.snapshot-page .is-positive{color:var(--success-text)}.snapshot-page .is-negative,.snapshot-page[data-color-scheme=korean] .is-positive{color:var(--danger)}.snapshot-page[data-color-scheme=korean] .is-negative,:root[data-theme=dark] .snapshot-page[data-color-scheme=korean] .is-negative{color:var(--color-negative)}.snapshot-empty-cell{color:var(--text-muted)}.snapshot-empty-state{border:1px solid var(--line);background:var(--surface);border-radius:8px;justify-items:start;gap:.8rem;padding:1.1rem;display:grid}.snapshot-empty-state p{color:var(--text-soft);font-weight:var(--fw-semibold);margin:0}.snapshot-date-col-header{justify-content:space-between;align-items:center;gap:.25rem;height:100%;display:flex}.snapshot-date-delete-btn{width:1.5rem;height:1.5rem;color:var(--text-muted);font-size:var(--fs-20);cursor:pointer;opacity:0;background:0 0;border:1px solid #0000;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;line-height:1;transition:opacity .12s,color .1s,background .1s,border-color .1s;display:flex}.snapshot-table thead th:hover .snapshot-date-delete-btn,.snapshot-table thead th:focus-within .snapshot-date-delete-btn{opacity:1}.snapshot-date-delete-btn:hover{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.snapshot-date-confirm{text-align:left;flex-direction:column;gap:.35rem;padding:.25rem 0;display:flex}.snapshot-date-confirm-label{color:var(--text-soft);font-size:var(--fs-13);font-weight:var(--fw-bold);white-space:nowrap;line-height:1.3;display:block}.snapshot-date-confirm-actions{gap:.3rem;display:flex}.snapshot-date-confirm-cancel,.snapshot-date-confirm-ok{border:1px solid var(--line);min-height:1.55rem;font-size:var(--fs-13);font-weight:var(--fw-bold);cursor:pointer;border-radius:5px;flex:1;padding:0 .45rem;transition:background .1s,border-color .1s,color .1s}.snapshot-date-confirm-cancel{background:var(--surface);color:var(--text-soft)}.snapshot-date-confirm-cancel:hover:not(:disabled){border-color:var(--text-muted)}.snapshot-date-confirm-ok{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.snapshot-date-confirm-ok:hover:not(:disabled){background:var(--danger);color:var(--pure-white)}.snapshot-date-confirm-cancel:disabled,.snapshot-date-confirm-ok:disabled{opacity:.55;cursor:not-allowed}@media (max-width:720px){.snapshot-page{--snapshot-head-height:2.74rem;--snapshot-summary-height:2.55rem}.snapshot-toolbar{justify-content:flex-start}.snapshot-filter-bar{align-items:stretch}.snapshot-filter-primary,.snapshot-filter-options{width:100%}.snapshot-filter-options{justify-content:flex-start}.snapshot-search{width:100%}.snapshot-search input{width:100%;min-width:0}.snapshot-table th,.snapshot-table td{min-width:140px;padding:.58rem .65rem}.snapshot-table .snapshot-sticky-col{min-width:160px;max-width:190px}}@media (max-width:640px){.snapshot-summary-row th,.snapshot-summary-row td,.snapshot-category-row th,.snapshot-category-row td,.snapshot-table thead th{position:static}.snapshot-table .snapshot-sticky-col{position:sticky}}.snapshot-mobile-view{display:none}@media (max-width:720px){.snapshot-mobile-view{gap:.8rem;display:grid}.snapshot-table-wrap{display:none}.snapshot-mobile-date-picker{color:var(--text-soft);font-size:var(--fs-15);font-weight:var(--fw-bold);gap:.35rem;display:grid}.snapshot-mobile-date-picker>span{font-size:var(--fs-14)}.snapshot-mobile-date-picker select{border:1px solid var(--line-strong);background:var(--surface);width:100%;min-height:44px;color:var(--text-strong);font:inherit;font-size:var(--fs-16);font-weight:var(--fw-extrabold);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235b718c' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:1rem;border-radius:8px;padding:0 2.5rem 0 .7rem}:root[data-theme=dark] .snapshot-mobile-date-picker select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238fa3be' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")}.snapshot-mobile-summary,.snapshot-mobile-card{border:1px solid var(--line);background:var(--surface);border-radius:8px}.snapshot-mobile-summary{gap:.75rem;padding:.85rem;display:grid}.snapshot-mobile-summary-head{justify-content:space-between;align-items:flex-start;gap:.6rem;display:flex}.snapshot-mobile-summary-head h3{color:var(--text-strong);font-size:var(--fs-18);margin:0}.snapshot-mobile-delete-btn{border:1px solid var(--line);background:var(--surface-soft);min-height:44px;color:var(--danger);font-size:var(--fs-15);font-weight:var(--fw-extrabold);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:.3rem;padding:.5rem 1rem;display:inline-flex}.snapshot-mobile-delete-icon{width:16px;height:16px;display:block}.snapshot-mobile-delete-confirm{border:1px solid var(--danger);background:var(--danger-soft);color:var(--danger);font-size:var(--fs-15);font-weight:var(--fw-extrabold);border-radius:8px;gap:.55rem;padding:.65rem;display:grid}.snapshot-mobile-delete-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;display:grid}.snapshot-mobile-delete-actions .snapshot-date-confirm-cancel,.snapshot-mobile-delete-actions .snapshot-date-confirm-ok{min-height:44px;font-size:var(--fs-15)}.snapshot-mobile-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:0;display:grid}.snapshot-mobile-summary-grid div{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;gap:.18rem;padding:.65rem;display:grid}.snapshot-mobile-summary-grid dt{color:var(--text-soft);font-size:var(--fs-13);font-weight:var(--fw-extrabold)}.snapshot-mobile-summary-grid dd{color:var(--text-strong);font-size:var(--fs-16);font-weight:var(--fw-black);overflow-wrap:anywhere;margin:0}.snapshot-mobile-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.snapshot-mobile-card-link{color:inherit;gap:.55rem;padding:.85rem;text-decoration:none;display:grid}.snapshot-mobile-card-link:hover{background:var(--surface-soft)}.snapshot-mobile-card-head{justify-content:space-between;align-items:flex-start;gap:.55rem;display:flex}.snapshot-mobile-asset-name{min-width:0;color:var(--text-strong);font-size:var(--fs-16);font-weight:var(--fw-extrabold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.snapshot-mobile-card-value{color:var(--text-strong);font-size:var(--fs-16);font-weight:var(--fw-black);overflow-wrap:anywhere}.snapshot-mobile-secondary{color:var(--text-soft);font-size:var(--fs-13);font-weight:var(--fw-extrabold);margin-top:.16rem;display:block}}@media print{.snapshot-toolbar,.snapshot-action-bar,.snapshot-filter-bar{display:none}.snapshot-table-wrap{border:0;overflow:visible}.snapshot-table{width:100%;min-width:0}.snapshot-table thead{display:table-header-group}.snapshot-table th,.snapshot-table td,.snapshot-table thead th,.snapshot-summary-row th,.snapshot-summary-row td,.snapshot-category-row th,.snapshot-table .snapshot-sticky-col{min-width:0;box-shadow:none;position:static}}.settings-page{max-width:var(--page-max-width-narrow);gap:1rem;width:100%;margin:0 auto;display:grid}.settings-page .section-head h2{font-size:var(--fs-24)}.settings-page .section-head p{font-size:var(--fs-16);margin-top:.25rem}.settings-sheet{padding:0}.settings-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(180px,1fr) auto;align-items:center;gap:.65rem 1rem;padding:.62rem .82rem;display:grid}.settings-row:last-child{border-bottom:none}.settings-skeleton{gap:1rem;display:grid}.settings-skeleton-title,.settings-skeleton-subtitle,.settings-skeleton-heading,.settings-skeleton-copy,.settings-chip-skeleton,.settings-danger-skeleton-btn{background:linear-gradient(90deg, var(--surface-soft) 0%, var(--surface-strong) 50%, var(--surface-soft) 100%);background-size:200% 100%;animation:1.5s infinite shimmer-line}.settings-skeleton-title{border-radius:6px;width:180px;height:1rem}.settings-skeleton-subtitle{border-radius:6px;width:260px;max-width:80%;height:.8rem;margin-top:.45rem}.settings-skeleton-sheet{padding:0}.settings-row-skeleton{align-items:center}.settings-skeleton-heading{border-radius:6px;width:132px;height:.9rem}.settings-skeleton-heading-short{width:94px}.settings-skeleton-copy{border-radius:6px;width:210px;max-width:100%;height:.72rem;margin-top:.35rem}.settings-option-row-skeleton{gap:.42rem;padding:.2rem}.settings-chip-skeleton{border-radius:999px;width:74px;height:1.75rem}.settings-danger-skeleton-card{gap:.62rem;display:grid}.settings-danger-skeleton-row{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.settings-danger-skeleton-btn{border-radius:999px;width:108px;height:2rem}.settings-row-block{align-items:flex-start}.settings-meta h3{color:var(--text-strong);font-size:var(--fs-16);font-weight:var(--fw-semibold);align-items:center;gap:.3rem;margin:0;display:flex}.settings-meta p{color:var(--text-soft);font-size:var(--fs-13);margin:.22rem 0 0}.settings-mobile-notice{font-size:var(--fs-14);color:var(--text-muted);margin:0;font-style:italic}.settings-notification-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.6rem;display:inline-flex}.settings-notification-request{min-height:2rem}.settings-notification-warning{color:var(--error-text)}.settings-row.is-disabled .settings-meta h3,.settings-row.is-disabled .settings-meta p{opacity:.5}.settings-color-tooltip{gap:.18rem;display:grid}.settings-color-token{font-weight:var(--fw-extrabold)}.settings-color-token-green{color:var(--color-positive)}.settings-color-token-red{color:var(--danger)}.settings-color-token-blue{color:var(--color-negative)}:root[data-theme=dark] .settings-color-token-green{color:var(--color-positive)}:root[data-theme=dark] .settings-color-token-red,:root[data-theme=dark] .settings-color-token-blue{color:var(--color-negative)}.settings-option-row{border:1px solid var(--line);background:var(--surface-soft);border-radius:999px;flex-wrap:wrap;justify-content:flex-end;max-width:100%;display:inline-flex;overflow:hidden}.settings-chip{border:none;border-right:1px solid var(--line);color:var(--text-soft);font-size:var(--fs-14);font-weight:var(--fw-semibold);cursor:pointer;white-space:nowrap;background:0 0;padding:.28rem .68rem;line-height:1.4;transition:background .12s,color .12s}.settings-chip:last-child{border-right:none}.settings-chip:hover:not(.is-active){background:var(--hover-surface);color:var(--text-strong)}.settings-chip.is-active{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.settings-chip.is-active{background:color-mix(in srgb, var(--primary) 12%, var(--surface))}}.settings-chip.is-active{color:var(--primary);font-weight:var(--fw-bold)}.settings-row-block .settings-option-row{background:0 0;border:none;border-radius:0;gap:.4rem}.settings-row-block .settings-chip{border:1px solid var(--line);border-right:1px solid var(--line);background:var(--surface-soft);border-radius:999px}.settings-row-block .settings-chip:last-child{border-right:1px solid var(--line)}.settings-row-block .settings-chip.is-active{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.settings-row-block .settings-chip.is-active{border-color:color-mix(in srgb, var(--primary) 40%, var(--line))}}.settings-row-block .settings-chip:hover:not(.is-active){border-color:var(--line-strong)}.settings-font-preview-system{font-family:system-ui,-apple-system,Segoe UI,Noto Sans KR,sans-serif}.settings-font-preview-pretendard{font-family:"Pretendard Variable", Pretendard, var(--font-body), sans-serif}.settings-font-preview-noto{font-family:var(--ff-body)}.settings-font-preview-ibm{font-family:var(--font-ibm-plex-sans-kr), var(--font-body), sans-serif}.settings-font-preview-gowun{font-family:var(--font-gowun-dodum), var(--font-body), sans-serif}.settings-toggle-switch{cursor:pointer;align-items:center;display:inline-flex}.settings-toggle-switch input[type=checkbox]{opacity:0;width:0;height:0;position:absolute}.settings-toggle-track{background:var(--line-strong);border-radius:999px;width:2.6rem;height:1.45rem;transition:background .18s;position:relative}.settings-toggle-switch input:checked+.settings-toggle-track{background:var(--primary)}.settings-toggle-thumb{background:var(--surface);border-radius:50%;width:1.13rem;height:1.13rem;transition:transform .18s;position:absolute;top:.16rem;left:.16rem;box-shadow:0 1px 3px #0000002e}.settings-toggle-switch input:checked+.settings-toggle-track .settings-toggle-thumb{transform:translate(1.15rem)}.settings-toggle-switch:focus-within .settings-toggle-track{outline:2px solid var(--focus);outline-offset:2px}.settings-drag-list{gap:.38rem;max-width:380px;margin:0;padding:0;list-style:none;display:grid}.settings-drag-item{border:1px solid var(--line);background:var(--surface-soft);cursor:grab;border-radius:10px;align-items:center;gap:.48rem;padding:.44rem .58rem;display:flex}.settings-drag-item *{cursor:grab}.settings-drag-category-badge{font-size:1em;line-height:1.35}.settings-drag-item.is-dragging{opacity:.62}.settings-drag-handle{color:var(--text-soft);font-weight:var(--fw-bold)}@media (max-width:840px){.settings-row{grid-template-columns:1fr;align-items:flex-start;gap:.55rem}.settings-option-row{justify-content:flex-start;justify-self:start;width:fit-content;max-width:100%}.settings-chip{min-height:2.05rem;font-size:var(--fs-14);padding:.24rem .72rem;line-height:1.15}}@media (min-width:1280px){.settings-sheet{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.settings-sheet .settings-row{border-bottom:1px solid var(--line)}.settings-sheet .settings-row:not(.settings-row-block){min-height:4.55rem}.settings-sheet .settings-row:nth-child(odd){border-right:1px solid var(--line)}.settings-sheet .settings-row-block{border-right:none;grid-column:1/-1;grid-template-columns:minmax(220px,280px) 1fr;align-items:flex-start;padding-block:.72rem}.settings-row-block>.settings-option-row{place-self:center end}.settings-sheet .settings-row.settings-row-block:nth-child(odd){border-right:none}.settings-row-block>.settings-drag-list{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.4rem;max-width:none}}.settings-backup-card{margin-top:0;padding:.85rem 1rem}.settings-backup-head{margin-bottom:.62rem}.settings-backup-head h3{font-size:var(--fs-16);color:var(--text-strong);margin:0}.settings-backup-head p{font-size:var(--fs-13);color:var(--text-soft);margin:.22rem 0 0}.settings-backup-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.settings-policy-card{gap:.65rem;margin-top:0;padding:.85rem 1rem;display:grid}.settings-policy-head h3{font-size:var(--fs-16);color:var(--text-strong);margin:0}.settings-policy-head p{font-size:var(--fs-13);color:var(--text-soft);margin:.22rem 0 0}.settings-policy-links{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.settings-policy-link{border:1px solid var(--line);background:var(--surface-soft);min-height:2rem;color:var(--text-strong);font-size:var(--fs-14);font-weight:var(--fw-bold);border-radius:8px;justify-content:center;align-items:center;padding:.38rem .66rem;text-decoration:none;display:inline-flex}.settings-policy-link:hover{border-color:var(--line-strong);background:var(--primary-soft-2)}.settings-feedback-card{gap:.65rem;margin-top:0;padding:.85rem 1rem;display:grid}.settings-feedback-head h3{font-size:var(--fs-16);color:var(--text-strong);margin:0}.settings-feedback-head p{font-size:var(--fs-13);color:var(--text-soft);margin:.22rem 0 0}.settings-feedback-links{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.settings-export-card{margin-top:0;padding:.85rem 1rem}.settings-export-head{margin-bottom:.62rem}.settings-export-head h3{font-size:var(--fs-16);color:var(--text-strong);margin:0}.settings-export-head p{font-size:var(--fs-13);color:var(--text-soft);margin:.22rem 0 0}.settings-export-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.settings-export-row>div>strong{font-size:var(--fs-15);color:var(--text-strong)}.settings-export-row>div>p{font-size:var(--fs-13);color:var(--text-soft);margin:.18rem 0 0}.settings-export-divider{border:none;border-top:1px solid var(--line);margin:.2rem 0}.settings-danger-card{border-color:var(--danger);margin-top:0;padding:.85rem 1rem}@supports (color:color-mix(in lab, red, red)){.settings-danger-card{border-color:color-mix(in srgb, var(--danger) 30%, var(--line))}}.settings-danger-head{margin-bottom:.62rem}.settings-danger-head h3{font-size:var(--fs-16);color:var(--danger);margin:0}.settings-danger-head p{font-size:var(--fs-13);color:var(--text-soft);margin:.22rem 0 0}.settings-danger-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.settings-danger-row>div>strong{font-size:var(--fs-15);color:var(--text-strong)}.settings-danger-row>div>p{font-size:var(--fs-13);color:var(--text-soft);margin:.18rem 0 0}.settings-danger-btn{border-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.settings-danger-btn{border-color:color-mix(in srgb, var(--danger) 60%, var(--line))}}.settings-danger-btn{color:var(--danger);background:var(--danger-soft);white-space:nowrap}.settings-danger-btn:hover{background:var(--danger)}@supports (color:color-mix(in lab, red, red)){.settings-danger-btn:hover{background:color-mix(in srgb, var(--danger) 12%, var(--surface))}}.settings-danger-confirm{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.settings-danger-confirm>span{font-size:var(--fs-15);color:var(--text-soft)}.settings-danger-divider{border:none;border-top:1px solid var(--danger);margin:.2rem 0}@supports (color:color-mix(in lab, red, red)){.settings-danger-divider{border-top:1px solid color-mix(in srgb, var(--danger) 15%, var(--line))}}.settings-danger-error{font-size:var(--fs-14);color:var(--error-text);margin:.22rem 0 0}.settings-sync-message{font-size:var(--fs-15);color:var(--text-soft);margin:.65rem 0 0}@media (max-width:720px){.settings-row{grid-template-columns:1fr;gap:.55rem;padding:.85rem 0}.settings-sheet button:not(.field-tooltip-icon),.settings-sheet a[role=button]{min-height:44px}}.page-wrap>.asset-list-section{width:100%;max-width:var(--page-max-width)}.table-card.wide-card.asset-list-card{width:100%;max-width:none}.asset-controls-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.asset-controls-row .table-toolbar{flex:1;min-width:0}.asset-controls-row .asset-price-update-row{flex-shrink:0;padding:0}.asset-list-search{margin-bottom:.75rem}.asset-list-search input{border:1px solid var(--line);background:var(--field-bg);width:100%;color:var(--text-strong);font-size:var(--fs-16);border-radius:8px;outline:none;padding:.5rem .75rem;transition:border-color .15s}.asset-list-search input:focus{border-color:var(--primary)}.asset-list-search input::placeholder{color:var(--text-muted)}:root[data-theme=dark] .asset-list-search input{background:var(--field-bg);border-color:var(--line)}.asset-list-empty-text{text-align:center;color:var(--text-soft);font-size:var(--fs-16);padding:2rem 0}.asset-price-update-row{font-size:var(--fs-15);color:var(--text-soft);align-items:center;gap:.5rem;padding:.3rem 0;display:flex}.asset-price-update-time{align-items:center;gap:.35rem;display:flex}.asset-price-delay-hint{color:var(--text-muted);font-size:var(--fs-14)}.asset-price-refresh-btn{font-size:var(--fs-14);border:1px solid var(--line);background:var(--surface);color:var(--text-soft);cursor:pointer;border-radius:6px;align-items:center;gap:.28rem;padding:.2rem .65rem;transition:background .12s;display:inline-flex}.asset-price-refresh-icon{width:.86rem;height:.86rem;display:block}.asset-price-refresh-btn:hover:not(:disabled){background:var(--hover-surface);color:var(--text-strong)}.asset-price-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.asset-mobile-list{margin:0;padding:0;list-style:none;display:none}@media (max-width:720px){.asset-list-search input{font-size:var(--fs-18)}.asset-controls-row{flex-direction:column;align-items:flex-start}.asset-controls-row .asset-price-update-row{width:100%}.asset-list-card>.asset-list-table{display:none}.asset-mobile-list{gap:.55rem;padding:.55rem 0 0;display:grid}.asset-mobile-card{border:1px solid var(--line);background:var(--surface);color:inherit;border-radius:8px;gap:.7rem;padding:.85rem;text-decoration:none;transition:background .14s,border-color .14s;display:grid}.asset-mobile-card:hover{border-color:var(--line-strong);background:var(--surface-soft)}.asset-mobile-card.is-closed{opacity:.68}.asset-mobile-card-head{justify-content:space-between;align-items:flex-start;gap:.6rem;display:flex}.asset-mobile-title{gap:.16rem;min-width:0;display:grid}.asset-mobile-card-name{color:var(--text-strong);font-size:var(--fs-18);font-weight:var(--fw-extrabold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.asset-mobile-subtext{color:var(--text-soft);font-size:var(--fs-13);line-height:1.35}.asset-mobile-card-body{gap:.42rem;display:grid}.asset-mobile-kv{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.asset-mobile-kv-label{color:var(--text-soft);font-size:var(--fs-14);font-weight:var(--fw-bold)}.asset-mobile-kv-value{min-width:0;color:var(--text-strong);font-size:var(--fs-16);font-weight:var(--fw-extrabold);text-align:right;overflow-wrap:anywhere}.asset-mobile-kv-value.is-positive{color:var(--color-positive)}.asset-mobile-kv-value.is-negative{color:var(--color-negative)}.asset-mobile-closed-badge{border:1px solid var(--line);background:var(--surface-soft);min-height:1.45rem;color:var(--text-soft);font-size:var(--fs-13);font-weight:var(--fw-extrabold);border-radius:999px;justify-self:start;align-items:center;padding:0 .55rem;display:inline-flex}}.assets-table-col-risk{text-align:right;min-width:110px}.batch-clear-draft-btn{min-width:124px}.batch-back-link{margin-top:.7rem}.batch-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1.2rem;display:flex}.batch-header-secondary-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.batch-summary-bar{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.batch-summary-bar span{border:1px solid var(--line);background:var(--surface-soft);color:var(--text-strong);border-radius:var(--radius-pill);font-size:var(--fs-14);padding:.25rem .55rem}.batch-draft-meta{font-size:var(--fs-14);color:var(--text-soft);margin:.62rem 0 0}.batch-draft-autoload-note{font-size:var(--fs-14);color:var(--accent);margin:.48rem 0 0}@supports (color:color-mix(in lab, red, red)){.batch-draft-autoload-note{color:color-mix(in srgb, var(--accent) 72%, var(--text-strong))}}.batch-input-panel{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;gap:.85rem;padding:.9rem;display:grid}.batch-mode-toggle{justify-self:start}.batch-input-grid{grid-template-columns:repeat(2,minmax(280px,1fr));align-items:start;gap:.75rem 1rem;display:grid}.batch-input-field{gap:.34rem;display:grid}.batch-input-field label{color:var(--text-soft);font-size:var(--fs-15);font-weight:var(--fw-semibold)}.batch-input-field p,.batch-stock-excluded-note{color:var(--text-soft);font-size:var(--fs-15);margin:0;line-height:1.45}.batch-fx-market{color:var(--text-soft);font-size:var(--fs-15);flex-wrap:wrap;align-items:center;gap:.5rem;line-height:1.45;display:flex}.batch-fx-market-btn{min-height:1.9rem;font-size:var(--fs-14);padding:.18rem .52rem}.batch-input-field input,.batch-input-field select{min-height:2.35rem}.batch-history-date-select{width:100%;min-width:0}.batch-table-controls{margin:0}.batch-table-controls .filter-dropdown{width:42px;min-width:42px}.batch-table-controls .filter-selected-text{display:none}.batch-table-controls .filter-dropdown-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:.42rem;min-width:356px;max-width:min(86vw,520px);max-height:min(52vh,360px);padding:.5rem;display:grid;overflow:auto}.batch-table-controls .category-filter-chip{width:100%;font-size:var(--fs-14);white-space:normal;border-radius:10px;justify-content:flex-start;padding:.32rem .56rem;line-height:1.25}.batch-table-controls .category-filter-chip input{flex:none}@media (max-width:860px){.batch-table-controls .filter-dropdown-menu{grid-template-columns:1fr;min-width:min(84vw,300px);max-width:min(90vw,360px)}}.batch-table-wrap{overflow-x:auto}.batch-table-panel{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px 8px 0 0;gap:.75rem;padding:.85rem .9rem;display:grid}.batch-table-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:.75rem;display:flex}.batch-table-head h3{color:var(--text-strong);font-size:var(--fs-18);margin:0}.batch-table-head p{color:var(--text-soft);font-size:var(--fs-15);margin:.24rem 0 0;line-height:1.45}.batch-table-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.2rem;display:flex}.batch-table-wrap .mock-table{min-width:940px}.batch-table-wrap .mock-table th:first-child,.batch-table-wrap .mock-table td:first-child{width:5%;min-width:56px}.batch-table-wrap .mock-table th:nth-child(2),.batch-table-wrap .mock-table td:nth-child(2){width:20%}.batch-table-wrap .mock-table th:nth-child(3),.batch-table-wrap .mock-table td:nth-child(3){width:12%}.batch-table-wrap .mock-table th:nth-child(4),.batch-table-wrap .mock-table td:nth-child(4){text-align:center;width:5%}.batch-table-wrap .mock-table th:nth-child(5),.batch-table-wrap .mock-table td:nth-child(5){width:15%}.batch-table-wrap .mock-table th:nth-child(6),.batch-table-wrap .mock-table td:nth-child(6){width:20%}.batch-table-wrap .mock-table th:nth-child(7),.batch-table-wrap .mock-table td:nth-child(7){width:9%}.batch-table-wrap .mock-table td{vertical-align:middle}.batch-table-wrap .mock-table td:first-child{font-weight:var(--fw-bold);white-space:nowrap}.batch-table-wrap .mock-table td:last-child{white-space:nowrap;text-align:center;width:88px;min-width:88px}.batch-table-wrap .mock-table .action-btn{min-width:62px}.batch-table-wrap .mock-table .muted{text-align:center;min-width:62px;display:inline-block}.batch-readonly-text{color:var(--text-strong);align-items:center;gap:.4rem;padding:.2rem 0;display:inline-flex}.batch-stale-row td{background:var(--warning-soft)}:root[data-theme=dark] .batch-stale-row td{background:var(--warn)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark] .batch-stale-row td{background:color-mix(in srgb, var(--warn) 10%, transparent)}}.batch-mobile-card.is-stale{background:var(--warning-soft);border-color:var(--warning-line)}:root[data-theme=dark] .batch-mobile-card.is-stale{background:var(--warn)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark] .batch-mobile-card.is-stale{background:color-mix(in srgb, var(--warn) 10%, transparent)}}:root[data-theme=dark] .batch-mobile-card.is-stale{border-color:var(--warn)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark] .batch-mobile-card.is-stale{border-color:color-mix(in srgb, var(--warn) 35%, transparent)}}.batch-stale-badge{background:var(--warning-soft);border:1px solid var(--warning-line);color:var(--warning-text);font-size:var(--fs-13);font-weight:var(--fw-semibold);white-space:nowrap;border-radius:4px;flex-shrink:0;align-items:center;padding:.1rem .45rem;display:inline-flex}:root[data-theme=dark] .batch-stale-badge{background:var(--warn)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark] .batch-stale-badge{background:color-mix(in srgb, var(--warn) 15%, transparent)}}:root[data-theme=dark] .batch-stale-badge{border-color:var(--warn)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark] .batch-stale-badge{border-color:color-mix(in srgb, var(--warn) 40%, transparent)}}:root[data-theme=dark] .batch-stale-badge{color:var(--warn)}.batch-category-badge,.batch-category-select{min-width:92px;font-size:1em;line-height:1.35}.batch-category-select{cursor:pointer;text-align:center;text-align-last:center;width:100%;max-width:148px;min-height:32px}.batch-currency-chip{border:1px solid var(--line);background:var(--surface-soft);width:28px;height:28px;color:var(--text-strong);font-weight:var(--fw-bold);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.batch-currency-cell{justify-content:center;align-items:center;gap:.28rem;display:inline-flex}.batch-currency-warning{border-radius:var(--radius-pill);background:var(--danger);justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.batch-currency-warning{background:color-mix(in srgb, var(--danger) 14%, var(--surface))}}.batch-currency-warning{color:var(--danger);font-size:var(--fs-13);font-weight:var(--fw-extrabold);cursor:help;line-height:1}.batch-row-auto-price{background:var(--field-disabled-bg);color:var(--text-soft);font-size:var(--fs-15);font-weight:var(--fw-semibold);text-align:left;white-space:normal;line-height:1.45}.batch-row-auto-price-valuation{text-align:left}.batch-auto-label{background:var(--primary-soft);color:var(--primary);font-size:var(--fs-13);font-weight:var(--fw-bold);border-radius:4px;padding:.1rem .45rem;display:inline-block}.batch-auto-amount{gap:.18rem;min-width:8rem;display:grid}.batch-auto-amount span{color:var(--text-soft);font-size:var(--fs-14);line-height:1.35}.batch-auto-amount strong{color:var(--text-strong);font-size:var(--fs-16);font-weight:var(--fw-extrabold);overflow-wrap:anywhere;line-height:1.35}:root[data-theme=dark] .batch-auto-label{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark] .batch-auto-label{background:color-mix(in srgb, var(--primary) 20%, transparent)}}.batch-input-changed{box-shadow:0 0 0 1px var(--accent);border:1px solid #0000}@supports (color:color-mix(in lab, red, red)){.batch-input-changed{box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 32%, transparent)}}.batch-input-changed{background:linear-gradient(var(--field-bg), var(--field-bg)) padding-box, linear-gradient(90deg, var(--accent), var(--accent)) border-box}@supports (color:color-mix(in lab, red, red)){.batch-input-changed{background:linear-gradient(var(--field-bg), var(--field-bg)) padding-box, linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 52%, var(--pure-white))) border-box}}.batch-mobile-list{margin:0;padding:0;list-style:none;display:none}@media (max-width:768px){.batch-table-head,.batch-table-toolbar{flex-direction:column;align-items:stretch}.batch-header-actions{flex-flow:row;align-items:stretch;gap:.5rem;width:100%}.batch-header-secondary-actions{display:contents}.batch-header-actions>.button,.batch-header-actions .batch-header-secondary-actions>.button{flex:1 1 0;justify-content:center;min-width:0;min-height:44px}.batch-clear-draft-btn{min-width:0}.batch-input-grid{grid-template-columns:1fr}.batch-mode-toggle,.batch-mode-toggle .binary-toggle{width:100%}.batch-input-panel{padding:.75rem}.batch-summary-bar{justify-content:flex-start}.batch-table-panel{padding:.75rem}.batch-mobile-list{gap:.65rem;display:grid}.batch-table-wrap{display:none}.batch-mobile-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:.8rem;padding:.85rem;display:grid}.batch-mobile-card-head{justify-content:space-between;align-items:flex-start;gap:.65rem;display:flex}.batch-mobile-title{flex:1;gap:.45rem;min-width:0;display:grid}.batch-mobile-title strong{color:var(--text-strong);font-size:var(--fs-18);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.batch-mobile-title input,.batch-mobile-field input,.batch-mobile-field select{width:100%;min-height:44px}.batch-mobile-badges{flex-wrap:wrap;gap:.35rem;display:flex}.batch-mobile-row-badge{border:1px solid var(--line);background:var(--surface-soft);min-height:1.45rem;color:var(--text-soft);font-size:var(--fs-13);font-weight:var(--fw-extrabold);border-radius:999px;align-items:center;padding:0 .5rem;display:inline-flex}.batch-mobile-fields{gap:.6rem;display:grid}.batch-mobile-field{color:var(--text-soft);font-size:var(--fs-14);font-weight:var(--fw-extrabold);gap:.32rem;display:grid}.batch-mobile-field>span:last-child{color:var(--text-strong)}.batch-mobile-field .batch-row-auto-price{border-radius:8px;width:100%;min-height:44px;padding:.68rem .75rem;display:block}.batch-mobile-remove-btn{width:100%;min-height:44px}.batch-table-head .button{min-height:44px}}.page-wrap>.asset-detail-section{width:100%;max-width:var(--page-max-width)}.table-card.wide-card.asset-detail-card{width:100%;max-width:none}.asset-detail-section .section-head h2{font-weight:var(--fw-extrabold)}.asset-detail-hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.5rem;display:flex}.asset-detail-hero-main{flex:auto;min-width:0}.asset-detail-hero-meta{flex-direction:column;flex:0 auto;align-items:flex-end;gap:.4rem;max-width:none;display:flex}.asset-detail-hero-meta-main{flex-wrap:nowrap;justify-content:flex-end;gap:.2rem 1.2rem;display:flex}.asset-detail-hero-meta-price{text-align:right}@media (max-width:720px){.asset-detail-hero{flex-direction:column;gap:1rem}.asset-detail-hero-meta{align-items:flex-start;width:100%;max-width:none}.asset-detail-hero-meta-main{flex-wrap:wrap;justify-content:flex-start}.asset-detail-hero-meta-price{text-align:left}.asset-detail-hero-meta-price .asset-detail-price-meta{text-align:left;align-items:flex-start}}.asset-detail-tx-wrap{gap:.75rem;display:grid}.asset-detail-tx-scroll{max-width:100%;overflow:auto hidden}.asset-detail-tx-table{border-collapse:collapse;width:100%;min-width:420px;font-size:var(--fs-16)}.asset-detail-tx-table th,.asset-detail-tx-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap;padding:.45rem .6rem}.asset-detail-tx-table th{background:var(--surface-soft);color:var(--text-soft);font-size:var(--fs-14);font-weight:var(--fw-bold)}.asset-detail-tx-table tbody tr{transition:background-color .15s}.asset-detail-tx-table tbody tr:hover{background:var(--hover-surface)}.asset-detail-tx-type{font-weight:var(--fw-semibold);font-size:var(--fs-15)}.asset-detail-tx-type.is-buy{color:var(--color-positive)}.asset-detail-tx-type.is-sell{color:var(--color-negative)}.asset-detail-tx-num{text-align:right}.asset-detail-tx-note{color:var(--text-soft);text-overflow:ellipsis;max-width:140px;overflow:hidden}.asset-detail-status-positive{color:var(--color-positive);font-weight:var(--fw-bold)}.asset-detail-status-warning{color:var(--danger);font-weight:var(--fw-bold)}.asset-detail-holdings{border-top:1px solid var(--line);padding-top:.65rem}.asset-detail-holdings-title{font-size:var(--fs-15);font-weight:var(--fw-bold);color:var(--text-soft);margin:0 0 .5rem}.asset-detail-holdings-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem 1rem;margin:0;display:grid}.asset-detail-holdings-item{flex-direction:column;gap:.15rem;display:flex}.asset-detail-holdings-item dt{font-size:var(--fs-14);color:var(--text-soft)}.asset-detail-holdings-item dd{font-size:var(--fs-16);font-weight:var(--fw-bold);color:var(--text-strong);margin:0}.asset-detail-holdings-sub{font-size:var(--fs-14);font-weight:var(--fw-regular);color:var(--text-soft);margin-top:.1rem;display:block}.asset-detail-holdings-item.is-positive dd{color:var(--color-positive)}.asset-detail-holdings-item.is-negative dd{color:var(--color-negative)}@media (max-width:600px){.asset-detail-holdings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.asset-detail-info-card{padding:.2rem 0}.asset-detail-info-title{font-size:var(--fs-15);font-weight:var(--fw-bold);color:var(--text-soft);margin:0 0 .65rem}.asset-detail-extra-total{color:var(--text-soft);font-size:var(--fs-16);font-weight:var(--fw-semibold);text-align:right;margin:0}.asset-detail-info-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem 1.2rem;margin:0;display:grid}.asset-detail-info-item{flex-direction:column;gap:.2rem;display:flex}.asset-detail-info-item dt{font-size:var(--fs-14);color:var(--text-soft)}.asset-detail-info-item dd{font-size:var(--fs-18);font-weight:var(--fw-semibold);color:var(--text-strong);margin:0}@media (max-width:700px){.asset-detail-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.asset-detail-balance-wrap{overflow-x:auto}.asset-history-editing-row td{background:var(--primary-soft-2)}.asset-history-actions{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;min-width:120px;display:flex}.asset-history-actions .action-btn{min-height:1.95rem}.asset-history-editing-row .smart-date-input,.asset-history-editing-row input{min-width:130px}.asset-detail-empty{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 0;display:flex}.asset-detail-empty-text{color:var(--text-soft);font-size:var(--fs-16);margin:0}.asset-detail-meta-item{font-size:var(--fs-15);white-space:nowrap;align-items:center;gap:.45rem;display:flex}.asset-detail-meta-label{color:var(--text-muted);font-weight:var(--fw-medium)}.asset-detail-meta-value{color:var(--text-strong);font-weight:var(--fw-bold)}.asset-detail-stock-meta-strip{flex-wrap:wrap;gap:.2rem 1.4rem;margin-bottom:.5rem;padding:.75rem 0;display:flex}.asset-detail-price-meta{text-align:right;flex-direction:column;align-items:flex-end;gap:.15rem;display:flex}.asset-detail-price-meta-text{color:var(--text-soft);font-size:var(--fs-14);line-height:1.5}.asset-detail-value{margin:0}.asset-detail-item .rate-chip{align-self:flex-start}.asset-detail-perf-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin-bottom:1rem;display:grid}@media (max-width:820px){.asset-detail-perf-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:480px){.asset-detail-perf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.asset-detail-item.is-positive .asset-detail-value{color:var(--color-positive)}.asset-detail-item.is-negative .asset-detail-value{color:var(--color-negative)}.asset-detail-item.is-neutral .asset-detail-value{color:var(--text-muted)}.asset-detail-holdings-nums-grid{border-top:1px solid var(--line);grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin:0 0 1rem;padding-top:1rem;display:grid}.asset-detail-holdings-nums-grid .asset-detail-item{background:var(--surface-soft);box-shadow:0 1px 2px #00000008}@media (max-width:820px){.asset-detail-holdings-nums-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:440px){.asset-detail-holdings-nums-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.asset-detail-holdings-nums-grid .asset-detail-value{font-size:var(--fs-20);font-weight:var(--fw-bold)}.asset-detail-holdings-num-sub{font-size:var(--fs-13);font-weight:var(--fw-regular);color:var(--text-soft);margin-top:.05rem;display:block}.kpi-subtext{font-size:var(--fs-13);font-weight:var(--fw-regular);color:var(--text-soft);margin-top:.2rem;line-height:1.4;display:block}.kpi-subtext+.kpi-subtext{margin-top:.1rem}.kpi-subtext.kpi-subtext-muted{color:var(--text-muted)}.kpi-price-breakdown{font-size:var(--fs-15);font-weight:var(--fw-regular);color:var(--text-soft);margin-top:.35rem;line-height:1.4;display:block}.price-refresh-btn{cursor:pointer;font-size:var(--fs-13);font-weight:var(--fw-medium);color:var(--primary);text-underline-offset:2px;background:0 0;border:none;align-items:center;gap:.22rem;padding:0;text-decoration:underline;display:inline-flex}.price-refresh-icon{width:.82rem;height:.82rem;display:block}.price-refresh-btn:hover{color:var(--primary);opacity:.75}.asset-detail-price-source{color:var(--text-muted);font-size:var(--fs-13)}.asset-detail-currency-toggle{align-items:center;gap:.25rem;margin-bottom:.75rem;display:flex}.asset-detail-currency-btn{border:1px solid var(--line);font-size:var(--fs-14);font-weight:var(--fw-semibold);color:var(--text-soft);cursor:pointer;background:0 0;border-radius:6px;padding:.2rem .6rem;line-height:1.5;transition:background .12s,color .12s,border-color .12s}.asset-detail-currency-btn:hover{border-color:var(--primary);color:var(--primary)}.asset-detail-currency-btn.is-active{background:var(--primary);border-color:var(--primary);color:var(--pure-white)}:root[data-theme=dark] .asset-detail-currency-btn.is-active{color:var(--pure-white)}.deposit-schedule-summary{font-size:var(--fs-16);align-items:center;gap:.4rem;margin-bottom:.65rem;display:flex}.deposit-schedule-summary-paid{color:var(--color-positive);font-weight:var(--fw-bold)}.deposit-schedule-summary-sep{color:var(--text-muted)}.deposit-schedule-summary-total{color:var(--text-soft)}.deposit-schedule-summary-done{border:1px solid var(--gain-line);background:var(--gain-soft);color:var(--color-positive);font-size:var(--fs-14);font-weight:var(--fw-semibold);border-radius:999px;margin-left:.5rem;padding:.1rem .55rem}.installment-status-badge{font-size:var(--fs-14);font-weight:var(--fw-semibold);border-radius:999px;padding:.1rem .5rem;display:inline-block}.installment-status-badge.is-paid{border:1px solid var(--gain-line);background:var(--gain-soft);color:var(--color-positive)}.installment-status-badge.is-overdue{border:1px solid var(--warning-line);background:var(--warning-soft);color:var(--warning-text)}.installment-status-badge.is-scheduled{border:1px solid var(--line);background:var(--surface-soft);color:var(--text-muted)}:root[data-theme=dark] .deposit-schedule-summary-paid,:root[data-theme=dark] .deposit-schedule-summary-done,:root[data-theme=dark] .installment-status-badge.is-paid{color:var(--color-positive)}.asset-detail-action-btn-with-icon .action-btn-label{gap:.35rem}.btn-hint-icon{opacity:.5;flex-shrink:0;width:.88rem;height:.88rem;transition:opacity .15s}.asset-detail-action-btn-with-icon:hover .btn-hint-icon{opacity:.85}.asset-detail-action-bar{align-items:center;gap:.4rem}.asset-detail-secondary-actions{border-left:1px solid var(--line);border-right:1px solid var(--line);align-items:center;gap:.5rem;padding:0 .35rem;display:flex}.asset-detail-secondary-actions .tooltip-wrapper{display:flex}@media (max-width:720px){.asset-detail-secondary-actions{border:none;width:100%;padding:0}.asset-detail-secondary-actions .tooltip-wrapper{flex:140px}}.asset-detail-manage-dropdown{position:relative}.asset-detail-manage-panel{z-index:55;background:var(--surface);border:1px solid var(--line);min-width:160px;box-shadow:var(--shadow-lg);border-radius:10px;position:absolute;top:calc(100% + .45rem);right:0;overflow:hidden}.asset-detail-manage-item{width:100%;font-size:var(--fs-16);font-weight:var(--fw-semibold);color:var(--text-strong);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;padding:.65rem 1rem;transition:background .12s;display:flex}.asset-detail-manage-item:hover:not(:disabled){background:var(--hover-surface)}.asset-detail-manage-item:disabled{color:var(--disabled-text);cursor:not-allowed}.asset-detail-manage-item+.asset-detail-manage-item{border-top:1px solid var(--line)}@media (max-width:720px){.asset-detail-manage-dropdown{flex:140px}.asset-detail-section .btn-row{flex-wrap:wrap;width:100%}.asset-detail-section .btn-row .action-btn{flex:140px;min-height:44px}.asset-detail-currency-btn{min-height:2.5rem;font-size:var(--fs-15);padding:.4rem .85rem}.asset-detail-holdings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.asset-detail-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .85rem}.asset-history-actions{justify-content:stretch}.asset-history-actions .action-btn{flex:96px;min-height:44px}.asset-detail-balance-wrap,.asset-detail-tx-scroll{max-width:100%;overflow-x:auto}}.risk-management-section{flex-direction:column;gap:1rem;display:flex}.risk-management-head h3{font-size:var(--fs-18);font-weight:var(--fw-bold);color:var(--text-strong)}.risk-management-summary{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding:.75rem 0;display:grid}.risk-management-summary>div{flex-direction:column;gap:.2rem;display:flex}.risk-management-label{font-size:var(--fs-14);color:var(--text-soft)}.risk-management-summary strong{font-size:var(--fs-18);color:var(--text-strong)}.risk-management-summary strong.is-positive{color:var(--color-positive)}.risk-management-summary strong.is-negative{color:var(--danger)}:root[data-theme=dark] .risk-management-summary strong.is-positive{color:var(--color-positive)}:root[data-theme=dark] .risk-management-summary strong.is-negative{color:var(--color-negative)}.risk-stage-list{flex-direction:column;gap:.4rem;display:flex}.risk-stage-list h4{font-size:var(--fs-16);font-weight:var(--fw-semibold);color:var(--text-strong);margin-bottom:.3rem}.risk-stage-list ul{margin:0;padding:0;list-style:none}.risk-stage-item{font-size:var(--fs-15);color:var(--text-soft);border-radius:6px;grid-template-columns:80px 1fr auto;gap:.75rem;padding:.4rem .6rem;display:grid}.risk-stage-item.is-reached{background:var(--color-positive)}@supports (color:color-mix(in lab, red, red)){.risk-stage-item.is-reached{background:color-mix(in oklab, var(--color-positive) 10%, transparent)}}.risk-stage-item.is-reached{color:var(--color-positive)}.risk-stage-item.is-stop.is-reached{background:var(--danger)}@supports (color:color-mix(in lab, red, red)){.risk-stage-item.is-stop.is-reached{background:color-mix(in oklab, var(--danger) 10%, transparent)}}.risk-stage-item.is-stop.is-reached{color:var(--danger)}:root[data-theme=dark] .risk-stage-item.is-reached{background:var(--color-positive)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark] .risk-stage-item.is-reached{background:color-mix(in oklab, var(--color-positive) 10%, transparent)}}:root[data-theme=dark] .risk-stage-item.is-reached{color:var(--color-positive)}:root[data-theme=dark] .risk-stage-item.is-stop.is-reached{background:var(--color-negative)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark] .risk-stage-item.is-stop.is-reached{background:color-mix(in oklab, var(--color-negative) 10%, transparent)}}:root[data-theme=dark] .risk-stage-item.is-stop.is-reached{color:var(--color-negative)}.risk-stage-item.is-reached .risk-stage-rate{font-weight:var(--fw-bold)}.risk-stage-rate{font-variant-numeric:tabular-nums;font-weight:var(--fw-semibold)}.risk-stage-status{font-size:var(--fs-13);color:var(--text-soft)}.risk-stage-item.is-reached .risk-stage-status{color:inherit}.risk-next-stage{background:var(--surface-soft);font-size:var(--fs-15);color:var(--text-soft);border-left:3px solid var(--primary-soft-2);border-radius:8px;padding:.55rem .8rem}@media (max-width:600px){.risk-management-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.form-card.wide-card .btn-row{flex-wrap:wrap;width:100%}.form-card.wide-card .btn-row .action-btn{flex:140px;min-height:44px}.form-card.wide-card .form-row{grid-template-columns:1fr}.form-card.wide-card .stock-tx-scroll,.form-card.wide-card .balance-box{max-width:100%;overflow-x:auto}.form-card.wide-card .stock-tx-table{min-width:760px}.form-card.wide-card .balance-table{min-width:520px}}.form-card.wide-card{width:100%;max-width:none}@media (max-width:720px){.form-card.wide-card .btn-row{flex-wrap:wrap;width:100%}.form-card.wide-card .btn-row .action-btn{flex:140px;min-height:44px}.form-card.wide-card .form-row{grid-template-columns:1fr}.form-card.wide-card .stock-tx-scroll,.form-card.wide-card .balance-box{max-width:100%;overflow-x:auto}.form-card.wide-card .stock-tx-table{min-width:760px}.form-card.wide-card .balance-table{min-width:520px}}.market-widget-nav{opacity:0;min-width:0;transition:opacity .18s;position:relative}.market-widget-nav[data-loaded=true]{opacity:1}.market-widget-title{font-size:var(--fs-13);font-weight:var(--fw-bold);color:var(--text-soft);text-transform:uppercase;letter-spacing:.04em}.market-widget-meta{font-size:var(--fs-13);color:var(--text-soft)}.market-chip{border:1px solid var(--line);align-items:baseline;gap:.38rem;width:auto;min-width:180px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.market-chip{border:1px solid color-mix(in srgb, var(--line) 92%, var(--accent))}}.market-chip{background:var(--surface);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.market-chip{background:color-mix(in srgb, var(--surface) 92%, var(--surface-soft))}}.market-chip{color:var(--text-strong);cursor:pointer;padding:.28rem .58rem;transition:border-color .12s,background .12s;overflow:hidden}.market-chip-content{align-items:baseline;gap:.38rem;animation:.28s ticker-slide-in;display:inline-flex}@keyframes ticker-slide-in{0%{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}.market-chip:hover{border-color:var(--line-strong)}@supports (color:color-mix(in lab, red, red)){.market-chip:hover{border-color:color-mix(in srgb, var(--line-strong) 84%, var(--accent))}}.market-chip:hover{background:var(--surface-soft)}.market-chip-label{font-size:var(--fs-13);color:var(--text-soft);font-weight:var(--fw-bold)}.market-chip-value{font-size:var(--fs-14);font-weight:var(--fw-bold);color:var(--text-strong)}.market-chip-caret{width:.9rem;height:.9rem;color:var(--text-soft);flex:none;position:relative;top:2px}.market-popover{z-index:55;border:1px solid var(--line);background:var(--surface);border-radius:12px;width:min(560px,100vw - 2.4rem);padding:.72rem;position:absolute;top:calc(100% + .45rem);right:0;box-shadow:0 14px 34px #0f172a29}.market-popover-head{justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.6rem;display:flex}.market-popover-meta{align-items:center;gap:.52rem;display:inline-flex}.market-widget-refresh{border:1px solid var(--line);width:1.5rem;height:1.5rem;color:var(--text-soft);font-size:var(--fs-16);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:0;line-height:1;transition:background .12s,border-color .12s;display:inline-flex}.market-widget-refresh:hover{background:var(--surface-soft);border-color:var(--line-strong)}.market-refresh-svg{width:.9rem;height:.9rem;display:block}.market-widget-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1.2rem;display:grid}.market-item{align-items:center;gap:.42rem;display:flex}.market-item-label{font-size:var(--fs-14);color:var(--text-soft);font-weight:var(--fw-semibold);white-space:nowrap}.market-item-value{font-size:var(--fs-15);font-weight:var(--fw-bold);color:var(--text-strong);white-space:nowrap}.market-item-unavailable{color:var(--text-soft)}.market-item-change{font-size:var(--fs-13);font-weight:var(--fw-bold);white-space:nowrap}.market-item-change.is-positive{color:var(--color-positive)}.market-item-change.is-negative{color:var(--color-negative)}.market-item-change.is-neutral{color:var(--text-soft)}.market-widget-error{font-size:var(--fs-15);color:var(--text-soft);margin:0}.market-widget-source{font-size:var(--fs-13);color:var(--text-muted);text-align:right;margin:.55rem 0 0}.market-modal-backdrop{z-index:60;background:#0f172a59;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.market-modal{border:1px solid var(--line);background:var(--surface);border-radius:14px;width:min(760px,100%);padding:1rem}.market-modal-head{color:var(--text-strong);justify-content:space-between;align-items:flex-start;gap:.8rem;margin-bottom:.8rem;display:flex}.market-modal-meta{font-size:var(--fs-13);color:var(--text-soft);margin:.28rem 0 0}.market-modal-close{border:1px solid var(--line);width:auto;color:var(--text-soft);font-size:var(--fs-13);font-weight:var(--fw-bold);cursor:pointer;background:0 0;border-radius:8px;padding:.32rem .6rem}@media (max-width:640px){.market-popover{width:min(560px,100vw - 3rem);left:0;right:auto}.market-popover-head{flex-direction:column;align-items:flex-start}.market-popover-meta{flex-wrap:wrap;gap:.5rem}.market-popover-actions{width:100%}.market-widget-items{grid-template-columns:1fr;gap:.55rem}}.modal-backdrop{z-index:2200;background:#0f172a6b;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-panel{z-index:1;outline:none;position:relative}.modal-backdrop-dismiss{cursor:default;background:0 0;border:0;width:100%;height:100%;padding:0;display:block;position:absolute;inset:0}.stock-tx-box{border:1px solid var(--line);border-radius:12px;gap:.75rem;padding:.8rem;display:grid}.stock-tx-legend{font-size:var(--fs-16);color:var(--text-soft);font-weight:var(--fw-bold);padding:0 .2rem}.stock-tx-header{justify-content:flex-end;display:flex}.stock-tx-scroll{max-width:100%;overflow:visible}.stock-tx-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:0}.stock-tx-col-date{width:18%}.stock-tx-col-type{width:8%}.stock-tx-col-brokerage{width:14%}.stock-tx-col-number{width:11%}.stock-tx-col-note{width:auto}.stock-tx-col-action{width:2.1rem}.stock-tx-table.is-usd .stock-tx-col-date{width:16%}.stock-tx-table.is-usd .stock-tx-col-type{width:8%}.stock-tx-table.is-usd .stock-tx-col-brokerage{width:12%}.stock-tx-table.is-usd .stock-tx-col-number{width:10%}.stock-tx-table th,.stock-tx-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap;padding:.45rem .25rem}.stock-tx-table th{color:var(--text-soft);font-size:var(--fs-15);font-weight:var(--fw-bold)}.stock-tx-table td:last-child{text-align:center;width:2.1rem;padding-left:0;padding-right:0}.stock-tx-table .smart-date-input-wrap{min-width:0}.stock-tx-input{border:1px solid var(--line);background:var(--field-bg);width:100%;min-width:0;color:var(--text-strong);font-size:var(--fs-16);border-radius:6px;outline:none;padding:.35rem .4rem}.stock-tx-input:focus{border-color:var(--primary)}.stock-tx-input-ticker{text-transform:uppercase;min-width:72px}.stock-tx-number{border:1px solid var(--line);background:var(--field-bg);width:100%;min-width:0;color:var(--text-strong);font-size:var(--fs-16);text-align:right;border-radius:6px;outline:none;padding:.35rem .4rem}.stock-tx-number:focus{border-color:var(--primary)}.stock-tx-select{border:1px solid var(--line);background:var(--field-bg);width:100%;min-width:0;color:var(--text-strong);font-size:var(--fs-16);cursor:pointer;border-radius:6px;outline:none;padding:.35rem .3rem}.stock-tx-table td:last-child .action-btn{width:2.1rem;min-width:0;height:2.1rem;padding:0}.stock-tx-select:focus{border-color:var(--primary)}.stock-tx-input.is-invalid,.stock-tx-number.is-invalid,.stock-tx-select.is-invalid{border-color:var(--danger)}.stock-tx-empty{color:var(--text-soft);font-size:var(--fs-15);text-align:center}.stock-tx-summary{border-top:1px solid var(--line);padding-top:.65rem}.stock-tx-summary-title{font-size:var(--fs-15);font-weight:var(--fw-bold);color:var(--text-soft);margin:0 0 .5rem}.stock-tx-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem 1rem;margin:0;display:grid}.stock-tx-summary-item{flex-direction:column;gap:.15rem;display:flex}.stock-tx-summary-item dt{font-size:var(--fs-14);color:var(--text-soft)}.stock-tx-summary-item dd{font-size:var(--fs-16);font-weight:var(--fw-bold);color:var(--text-strong);margin:0}.stock-tx-summary-item.is-positive dd{color:var(--color-positive)}.stock-tx-summary-item.is-negative dd{color:var(--color-negative)}:root[data-theme=dark] .stock-tx-summary-item.is-positive dd{color:var(--color-positive)}:root[data-theme=dark] .stock-tx-summary-item.is-negative dd{color:var(--color-negative)}@media (max-width:600px){.stock-tx-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.stock-asset-section{gap:1rem;display:grid}.stock-info-box{border:1px solid var(--line);border-radius:12px;gap:.75rem;padding:.8rem;display:grid}.stock-info-legend{font-size:var(--fs-16);color:var(--text-soft);font-weight:var(--fw-bold);padding:0 .2rem}.stock-info-row{grid-template-columns:auto 1fr;align-items:start;gap:.65rem 1.2rem;display:grid}@media (max-width:720px){.stock-info-row{grid-template-columns:1fr}.stock-info-market-wrap{gap:.5rem}}.stock-info-field{gap:.35rem;display:grid}.stock-info-field-search{min-width:0}.stock-info-entry-grid{grid-template-columns:minmax(0,1fr);gap:.7rem;min-width:0;display:grid}.stock-info-card{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;gap:.55rem;min-width:0;padding:.72rem;display:grid}.stock-info-label{font-size:var(--fs-15);font-weight:var(--fw-semibold);color:var(--text-soft)}.stock-info-market-wrap{flex-wrap:wrap;align-items:center;gap:1rem;padding-top:.25rem;display:flex}.stock-info-market-option{font-size:var(--fs-16);color:var(--text-strong);cursor:pointer;align-items:center;gap:.35rem;display:flex}.stock-info-market-option input[type=radio]{accent-color:var(--primary);cursor:pointer}.stock-manual-form{flex-direction:column;flex:1;gap:.55rem;display:flex}.stock-manual-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1rem;display:grid}@media (max-width:720px){.stock-manual-fields{grid-template-columns:1fr}}.stock-unified-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1rem;display:grid}@media (max-width:720px){.stock-unified-fields{grid-template-columns:1fr}}.stock-manual-field{flex-direction:column;gap:.3rem;display:flex}.stock-manual-input{border:1px solid var(--line);background:var(--field-bg);height:2.2rem;color:var(--text-strong);font-size:var(--fs-16);border-radius:8px;outline:none;padding:0 .65rem;transition:border-color .14s}.stock-manual-input:focus{border-color:var(--primary)}.stock-manual-input:disabled{background:var(--field-disabled-bg);color:var(--field-disabled-text);cursor:not-allowed}.stock-manual-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stock-manual-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stock-manual-required{color:var(--danger);margin-left:.2rem}.stock-manual-error{font-size:var(--fs-14);color:var(--error-text)}.stock-manual-note{font-size:var(--fs-14);color:var(--text-muted);line-height:1.4}:root[data-theme=dark] .stock-manual-input{background:var(--surface-soft);border-color:var(--line);color:var(--text-strong)}:root[data-theme=dark] .stock-manual-input:focus{border-color:var(--primary)}.deposit-box{border:1px solid var(--line);border-radius:12px;gap:.75rem;padding:.8rem;display:grid}.deposit-legend{font-size:var(--fs-16);color:var(--text-soft);font-weight:var(--fw-bold);padding:0 .2rem}.deposit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1rem;display:grid}.deposit-field{flex-direction:column;gap:.3rem;display:flex}.deposit-field-wide{grid-column:1/-1}.deposit-label{font-size:var(--fs-15);font-weight:var(--fw-bold);color:var(--text-soft)}.deposit-input{border:1px solid var(--line);background:var(--field-bg);width:100%;color:var(--text-strong);font-size:var(--fs-16);border-radius:6px;outline:none;padding:.4rem .55rem}.deposit-input:focus{border-color:var(--primary)}.deposit-number{border:1px solid var(--line);background:var(--field-bg);width:100%;color:var(--text-strong);font-size:var(--fs-16);text-align:right;border-radius:6px;outline:none;padding:.4rem .55rem}.deposit-number:focus{border-color:var(--primary)}.deposit-number.is-invalid{border-color:var(--danger)}.deposit-field-hint{color:var(--text-soft);font-size:var(--fs-13);margin:0}.deposit-select{border:1px solid var(--line);background:var(--field-bg);width:100%;color:var(--text-strong);font-size:var(--fs-16);cursor:pointer;border-radius:6px;outline:none;padding:.4rem .55rem}.deposit-select:focus{border-color:var(--primary)}.deposit-toggle-row{align-items:center;gap:1rem;padding:.4rem 0;display:flex}.deposit-radio{font-size:var(--fs-16);color:var(--text-strong);cursor:pointer;align-items:center;gap:.3rem;display:flex}.deposit-calc{border-top:1px solid var(--line);padding-top:.65rem}.deposit-schedule-section{border-top:1px solid var(--line);gap:.55rem;padding-top:.65rem;display:grid}.deposit-schedule-list{border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:.3rem;max-height:320px;padding:.5rem;display:flex;overflow-y:auto}.deposit-schedule-item{width:100%;color:var(--text-strong);font:inherit;font-size:var(--fs-16);text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:0;border-radius:8px;grid-template-columns:1.4rem 3.5rem 6.5rem 1fr auto;align-items:center;gap:.6rem;padding:.45rem .6rem;transition:background .1s;display:grid}.deposit-schedule-item:hover{background:var(--hover-surface)}.deposit-schedule-check{border:2px solid var(--line-strong);border-radius:50%;width:1.1rem;height:1.1rem;transition:background .15s,border-color .15s;display:block}.deposit-schedule-num{width:3.5rem;font-weight:var(--fw-semibold)}.deposit-schedule-date{width:6.5rem;color:var(--text-soft)}.deposit-schedule-item.is-overdue .deposit-schedule-date{color:var(--danger)}.deposit-schedule-amount{font-weight:var(--fw-semibold);text-align:right}.deposit-schedule-status{color:var(--text-muted);font-size:var(--fs-14);font-weight:var(--fw-semibold)}.deposit-schedule-item.is-paid{color:var(--text-soft)}.deposit-schedule-item.is-paid .deposit-schedule-check{border-color:var(--color-positive);background:var(--color-positive);position:relative}.deposit-schedule-item.is-paid .deposit-schedule-check:after{border:2px solid var(--pure-white);content:"";border-top:none;border-left:none;width:.35rem;height:.55rem;position:absolute;top:.05rem;left:.2rem;transform:rotate(45deg)}.deposit-schedule-item.is-paid .deposit-schedule-date{color:var(--text-muted)}.deposit-schedule-item.is-paid .deposit-schedule-status{color:var(--color-positive)}.deposit-schedule-item.is-overdue .deposit-schedule-check{border-color:var(--warn)}.deposit-schedule-item.is-overdue .deposit-schedule-status{color:var(--warn)}:root[data-theme=dark] .deposit-schedule-item.is-paid .deposit-schedule-check{border-color:var(--color-positive);background:var(--color-positive)}:root[data-theme=dark] .deposit-schedule-item.is-paid .deposit-schedule-status{color:var(--color-positive)}.deposit-extra-section{border-top:1px solid var(--line);gap:.55rem;padding-top:.65rem;display:grid}.deposit-extra-list{flex-direction:column;gap:.4rem;max-height:200px;display:flex;overflow-y:auto}.deposit-extra-row{grid-template-columns:1fr 1fr auto;align-items:center;gap:.5rem;display:grid}.deposit-extra-remove{color:var(--text-muted);cursor:pointer;font-size:var(--fs-18);background:0 0;border:none;border-radius:4px;padding:.2rem .4rem;line-height:1}.deposit-extra-remove:hover{color:var(--danger)}.deposit-extra-add{border:1px dashed var(--line-strong);width:100%;color:var(--text-soft);cursor:pointer;font-size:var(--fs-15);text-align:center;background:0 0;border-radius:6px;align-self:flex-start;padding:.3rem .75rem}.deposit-extra-add:hover{border-color:var(--primary);color:var(--primary)}.deposit-calc-title{font-size:var(--fs-15);font-weight:var(--fw-bold);color:var(--text-soft);margin:0 0 .5rem}.deposit-calc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem 1rem;margin:0;display:grid}.deposit-calc-item{flex-direction:column;gap:.12rem;display:flex}.deposit-calc-item dt{font-size:var(--fs-14);color:var(--text-soft)}.deposit-calc-item dd{font-size:var(--fs-16);font-weight:var(--fw-bold);color:var(--text-strong);margin:0}@media (max-width:480px){.deposit-grid,.deposit-calc-grid{grid-template-columns:1fr}}.balance-box{border:1px solid var(--line);border-radius:12px;gap:.65rem;padding:.8rem;display:grid}.balance-legend{font-size:var(--fs-16);color:var(--text-soft);font-weight:var(--fw-bold);padding:0 .2rem}.balance-table{border-collapse:collapse;width:100%}.balance-table th,.balance-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:.5rem .4rem}.balance-table th{color:var(--text-soft);font-size:var(--fs-15);font-weight:var(--fw-bold)}.balance-table td:last-child{text-align:center;width:44px}.balance-number{border:1px solid var(--line);background:var(--field-bg);width:100%;color:var(--text-strong);font-size:var(--fs-16);text-align:right;border-radius:6px;outline:none;padding:.35rem .5rem}.balance-number:focus{border-color:var(--primary)}.insurance-box{border:1px solid var(--line);border-radius:12px;gap:.75rem;padding:.8rem;display:grid}.insurance-legend{font-size:var(--fs-16);color:var(--text-soft);font-weight:var(--fw-bold);padding:0 .2rem}.insurance-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1rem;display:grid}.insurance-field{flex-direction:column;gap:.3rem;display:flex}.insurance-field-wide{grid-column:1/-1}.insurance-label{font-size:var(--fs-15);font-weight:var(--fw-bold);color:var(--text-soft);align-items:center;gap:.2rem;display:flex}.insurance-hint{font-size:var(--fs-13);font-weight:var(--fw-regular);color:var(--text-muted)}.insurance-hint:before{content:"("}.insurance-hint:after{content:")"}.insurance-input{border:1px solid var(--line);background:var(--field-bg);width:100%;color:var(--text-strong);font-size:var(--fs-16);border-radius:6px;outline:none;padding:.4rem .55rem}.insurance-input:focus{border-color:var(--primary)}.insurance-number{border:1px solid var(--line);background:var(--field-bg);width:100%;color:var(--text-strong);font-size:var(--fs-16);text-align:right;border-radius:6px;outline:none;padding:.4rem .55rem}.insurance-number:focus{border-color:var(--primary)}.insurance-calc{border-top:1px solid var(--line);padding-top:.65rem}.insurance-calc-title{font-size:var(--fs-15);font-weight:var(--fw-bold);color:var(--text-soft);margin:0 0 .5rem}.insurance-calc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem 1rem;margin:0;display:grid}.insurance-calc-item{flex-direction:column;gap:.12rem;display:flex}.insurance-calc-item dt{font-size:var(--fs-14);color:var(--text-soft)}.insurance-calc-item dd{font-size:var(--fs-16);font-weight:var(--fw-bold);color:var(--text-strong);margin:0}.insurance-periods{border-top:1px solid var(--line);flex-direction:column;gap:.4rem;padding-top:.75rem;display:flex}.insurance-periods-title{font-size:var(--fs-15);font-weight:var(--fw-bold);color:var(--text-soft);align-items:center;gap:.2rem;margin:0 0 .35rem;display:flex}.insurance-periods-header{font-size:var(--fs-13);color:var(--text-muted);grid-template-columns:1fr 1fr 1fr 1.6rem;gap:.4rem;padding:0 .1rem;display:grid}.insurance-period-row{grid-template-columns:1fr 1fr 1fr 1.6rem;align-items:start;gap:.4rem;display:grid}.insurance-period-cell{flex-direction:column;gap:.2rem;display:flex}.insurance-period-remove{border:1px solid var(--line);width:1.6rem;height:1.6rem;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:5px;justify-content:center;align-items:center;margin-top:.3rem;transition:background .12s,color .12s;display:flex}.insurance-period-remove:hover:not(:disabled){background:var(--danger-soft);color:var(--danger);border-color:var(--danger)}.insurance-period-remove:disabled{opacity:.3;cursor:default}.insurance-period-add{border:1px dashed var(--line);color:var(--text-soft);font-size:var(--fs-15);cursor:pointer;background:0 0;border-radius:6px;align-self:flex-start;padding:.3rem .75rem;transition:background .12s,border-color .12s}.insurance-period-add:hover{background:var(--surface-soft);border-color:var(--primary);color:var(--primary)}@media (max-width:480px){.insurance-grid{grid-template-columns:1fr}.insurance-periods-header,.insurance-period-row{grid-template-columns:1fr 1fr 1.6rem}.insurance-periods-header span:nth-child(2),.insurance-period-row .insurance-period-cell:nth-child(2){display:none}}.stock-search-wrap{opacity:0;min-height:38px;transition:opacity .18s;position:relative}.stock-search-wrap[data-loaded=true]{opacity:1}.stock-search-input{border:1px solid var(--line);background:var(--field-bg);width:100%;color:var(--text-strong);font-size:var(--fs-16);border-radius:8px;outline:none;padding:.45rem .75rem}.stock-search-input:focus{border-color:var(--primary)}.stock-search-input:disabled{background:var(--field-disabled-bg);color:var(--field-disabled-text,var(--text-muted));cursor:not-allowed}.stock-search-selected{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;align-items:center;gap:.5rem;min-height:38px;padding:.45rem .75rem;display:flex}.stock-search-selected-info{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.stock-search-selected-label{font-size:var(--fs-16);color:var(--text-strong);font-weight:var(--fw-semibold);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.stock-search-selected-meta{font-size:var(--fs-13);color:var(--text-soft)}.stock-search-clear{width:22px;height:22px;color:var(--text-soft);cursor:pointer;font-size:var(--fs-13);background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.stock-search-clear:hover{background:var(--hover-surface);color:var(--text-strong)}.stock-search-list{z-index:60;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lg);border-radius:10px;max-height:240px;margin:0;padding:.3rem 0;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.stock-search-item{cursor:pointer;font-size:var(--fs-16);color:var(--text-strong);align-items:center;gap:.5rem;padding:.45rem .85rem;display:flex}.stock-search-item:hover,.stock-search-item.is-active{background:var(--primary-soft)}.stock-search-item-ticker{font-weight:var(--fw-bold);font-family:var(--ff-title);min-width:60px;color:var(--primary);font-size:var(--fs-15)}.stock-search-item-name{flex:1}.stock-search-item-sector{font-size:var(--fs-14);color:var(--text-muted);flex-shrink:0}.stock-search-empty{font-size:var(--fs-16);color:var(--text-soft);padding:.6rem .85rem;list-style:none}.smart-date-input-wrap{align-items:center;display:flex;position:relative}.smart-date-input-text{width:100%;padding-right:2.75rem}.smart-date-input-btn{width:1.9rem;height:1.9rem;color:var(--text-soft);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:color .15s,background .12s;display:flex;position:absolute;right:.45rem}.smart-date-input-btn svg{width:1.15rem;height:1.15rem}.smart-date-input-btn:hover:not(:disabled){color:var(--primary);background:var(--primary-soft);cursor:pointer}.smart-date-input-btn:disabled{opacity:.4;cursor:not-allowed}.smart-date-input-hidden{opacity:0;pointer-events:none;width:0;height:0;position:absolute;overflow:hidden}.auth-page{justify-content:center;align-items:center;width:100%;min-height:calc(100vh - 120px);padding:2rem 1rem;display:flex}.auth-card{background:var(--surface);border:1px solid var(--line);width:100%;max-width:400px;box-shadow:var(--shadow-lg);border-radius:16px;padding:2rem 2.25rem}.auth-title{font-size:var(--fs-24);font-weight:var(--fw-bold);color:var(--text-strong);margin:0 0 .35rem}.auth-desc{font-size:var(--fs-16);color:var(--text-soft);margin:0 0 1.6rem}.auth-form{gap:1rem;display:grid}.auth-field{gap:.35rem;display:grid}.auth-label{font-size:var(--fs-16);font-weight:var(--fw-medium);color:var(--text-strong)}.auth-input{width:100%;font-size:var(--fs-18);background:var(--field-bg);border:1px solid var(--line);color:var(--text-strong);box-sizing:border-box;border-radius:8px;outline:none;padding:.6rem .85rem;transition:border-color .15s}.auth-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary)}@supports (color:color-mix(in lab, red, red)){.auth-input:focus{box-shadow:0 0 0 3px color-mix(in oklab, var(--primary) 15%, transparent)}}.auth-error{font-size:var(--fs-15);color:var(--error-text);background:var(--danger-soft);border-radius:8px;margin:0;padding:.5rem .75rem}.auth-consent-field{flex-direction:column;gap:.5rem;display:flex}.auth-consent-label{cursor:pointer;align-items:flex-start;gap:.55rem;display:flex}.auth-consent-checkbox{width:1rem;height:1rem;accent-color:var(--primary);cursor:pointer;flex-shrink:0;margin-top:.18rem}.auth-consent-text{font-size:var(--fs-15);color:var(--text-soft);line-height:1.5}.auth-consent-link{color:var(--primary);text-underline-offset:2px;text-decoration:underline}.auth-consent-link:hover{color:var(--primary);opacity:.8}.auth-submit-btn{font-size:var(--fs-18);font-weight:var(--fw-semibold);background:var(--primary);color:var(--pure-white);cursor:pointer;border:none;border-radius:8px;width:100%;padding:.65rem 1rem;transition:opacity .15s}.auth-submit-btn:hover{opacity:.88}.auth-submit-btn:disabled{opacity:.55;cursor:not-allowed}.auth-footer{font-size:var(--fs-16);color:var(--text-soft);text-align:center;margin-top:1.2rem}.auth-footer-link{color:var(--primary);font-weight:var(--fw-semibold);margin-left:.25rem;text-decoration:none}.auth-footer-link:hover{text-decoration:underline}.auth-legal-links{font-size:var(--fs-14);color:var(--text-soft);justify-content:center;align-items:center;gap:.45rem;margin-top:.9rem;display:flex}.auth-legal-link{color:var(--text-soft);text-decoration:none}.auth-legal-link:hover{color:var(--primary);text-decoration:underline}.auth-legal-divider{color:var(--line-strong)}.auth-check-email{text-align:center;padding:1.5rem 0 .5rem}.auth-check-email-title{font-size:var(--fs-20);font-weight:var(--fw-bold);color:var(--text-strong);margin:0 0 .5rem}.auth-check-email-desc{font-size:var(--fs-16);color:var(--text-soft);margin:0}:root[data-theme=dark] .auth-input{background:var(--surface-soft);border-color:var(--nav-border);color:var(--text-strong)}.auth-intro-panel{display:none}@media (min-width:900px){.auth-page{grid-template-columns:1fr 420px;align-items:center;gap:3rem;max-width:1000px;margin:0 auto;display:grid}.auth-intro-panel{flex-direction:column;gap:1.25rem;padding:1rem 0;display:flex}}.auth-intro-title{font-family:var(--ff-title);font-size:var(--fs-36);font-weight:var(--fw-bold);color:var(--text-strong);flex-direction:column;gap:.1em;margin:0;line-height:1.2;display:flex}.auth-intro-title-accent{color:var(--primary)}.auth-intro-desc{font-size:var(--fs-18);color:var(--text-soft);margin:0;line-height:1.6}.auth-intro-features{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.auth-intro-features li{font-size:var(--fs-16);color:var(--text-soft);padding-left:1.2rem;position:relative}.auth-intro-features li:before{content:"✓";color:var(--accent);font-weight:var(--fw-bold);position:absolute;left:0}.auth-intro-more{font-size:var(--fs-16);font-weight:var(--fw-semibold);color:var(--primary);align-items:center;gap:.3rem;width:fit-content;text-decoration:none;display:inline-flex}.auth-intro-more:hover{text-decoration:underline}.admin-shell{background:var(--surface-soft);flex-direction:column;min-height:100vh;display:flex}.admin-topbar{background:var(--surface);border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;height:3rem;padding:0 1.5rem;display:flex}.admin-topbar-back{font-size:var(--fs-13);color:var(--text-soft);white-space:nowrap;align-items:center;gap:.35rem;text-decoration:none;display:inline-flex}.admin-topbar-back:hover{color:var(--text-strong)}.admin-topbar-center{align-items:center;gap:.5rem;display:flex}.admin-topbar-title{font-family:var(--ff-title);font-size:var(--fs-15);font-weight:var(--fw-semibold);color:var(--text-strong)}.admin-topbar-badge{font-size:var(--fs-11);font-weight:var(--fw-semibold);border-radius:var(--radius-pill);background:var(--primary-soft);color:var(--primary);border:1px solid var(--primary-soft-2);letter-spacing:.04em;padding:.1rem .45rem}.admin-topbar-email{font-size:var(--fs-13);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:220px;overflow:hidden}.admin-tabbar{background:var(--surface);border-bottom:1px solid var(--line);flex-shrink:0;align-items:flex-end;gap:0;padding:0 1.5rem;display:flex;overflow-x:auto}.admin-tab-link{font-size:var(--fs-13);font-weight:var(--fw-medium);color:var(--text-soft);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;padding:.65rem 1rem;text-decoration:none;transition:color .12s;display:inline-flex}.admin-tab-link:hover{color:var(--text-strong)}.admin-tab-link.is-active{color:var(--primary);border-bottom-color:var(--primary);font-weight:var(--fw-semibold)}.admin-content{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:2rem 1.5rem 4rem}@media (max-width:720px){.admin-topbar{padding:0 1rem}.admin-topbar-email{display:none}.admin-tabbar{padding:0 .5rem}.admin-tab-link{font-size:var(--fs-12);padding:.6rem .65rem}.admin-content{padding:1.25rem 1rem 3rem}}:root[data-theme=dark] .admin-shell{background:var(--surface-soft)}.admin-panels{flex-direction:column;gap:1rem;display:flex}.admin-route-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.admin-route-card{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-soft);min-height:6.5rem;color:var(--text-soft);flex-direction:column;gap:.35rem;padding:1rem;text-decoration:none;display:flex}.admin-route-card:hover{background:var(--hover-surface);border-color:var(--hover-outline)}.admin-route-card strong{color:var(--text-strong);font-size:var(--fs-16);font-weight:var(--fw-semibold)}.admin-route-card span{font-size:var(--fs-13);line-height:var(--lh-relaxed)}.admin-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:1.25rem 1.5rem}.admin-panel--pending{opacity:.6}.admin-panel-title{font-size:var(--fs-18);font-weight:var(--fw-semibold);color:var(--text-strong);margin:0 0 .5rem}.admin-panel-body{font-size:var(--fs-14);color:var(--text-soft);margin:0}.admin-panel-subtitle{font-size:var(--fs-13);font-weight:var(--fw-regular);color:var(--text-soft);margin-left:.6rem}.static-data-file{border-bottom:1px solid var(--line);padding:.75rem 0}.static-data-file:last-of-type{border-bottom:none}.static-data-file-name{font-size:var(--fs-14);font-weight:var(--fw-semibold);color:var(--text-strong);margin:0 0 .2rem;font-family:monospace}.static-data-file-description{color:var(--text-soft);font-size:var(--fs-13);margin:0 0 .35rem}.static-data-file-meta{font-size:var(--fs-13);color:var(--text-soft);flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:.35rem;display:flex}.admin-badge{font-size:var(--fs-13);font-weight:var(--fw-medium);border-radius:var(--radius-pill);white-space:nowrap;align-items:center;gap:.25rem;padding:.15rem .55rem;display:inline-flex}.admin-badge--ok{background:var(--success-soft);color:var(--success-text);border:1px solid var(--success-line)}.admin-badge--warn{background:var(--warning-soft);color:var(--warning-text);border:1px solid var(--warning-line)}.admin-badge--error{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger)}.admin-badge--neutral{background:var(--surface-soft);color:var(--text-muted);border:1px solid var(--line)}.static-data-build-summary{font-size:var(--fs-13);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.6rem 0 0;display:flex}.static-data-build-summary-label{font-weight:var(--fw-medium);color:var(--text-soft);white-space:nowrap}.static-data-build-output code{font-family:monospace;font-size:.9em}.static-data-update-guide{margin-top:.75rem}.static-data-update-guide summary{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-soft);min-height:1.8rem;font-size:var(--fs-14);color:var(--primary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;padding:.2rem .65rem;list-style:none;display:inline-flex}.static-data-update-guide summary:hover{border-color:var(--hover-outline);background:var(--hover-surface)}.static-data-update-guide summary::-webkit-details-marker{display:none}.static-data-update-guide summary:before{content:"▶";color:var(--text-muted);font-size:var(--fs-12);margin-right:.35rem}.static-data-update-guide[open] summary:before{content:"▼"}.static-data-update-guide-body{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-soft);font-size:var(--fs-14);color:var(--text-soft);line-height:var(--lh-relaxed);margin-top:.75rem;padding:.75rem .85rem}.static-data-update-guide-body ol{margin:0 0 0 1.25rem;padding:0}.static-data-update-guide-body li{margin-bottom:.2rem}.static-data-update-guide-body li:last-child{margin-bottom:0}.static-data-update-guide-body code{background:var(--surface);border-radius:var(--radius-nav);border:1px solid var(--line);padding:.1em .35em;font-family:monospace;font-size:.9em}.admin-api-row{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.6rem 0;display:flex}.admin-api-row:last-of-type{border-bottom:none}.admin-api-label{font-size:var(--fs-14);color:var(--text-strong);font-weight:var(--fw-medium);flex:1;min-width:180px}.admin-api-detail{font-size:var(--fs-13);color:var(--text-soft);margin-top:.15rem}.admin-api-status{align-items:center;gap:.5rem;display:flex}.admin-api-latency{font-size:var(--fs-13);color:var(--text-muted)}.admin-cache-checked-at{font-size:var(--fs-13);color:var(--text-muted);margin:0 0 .75rem}.admin-cache-row{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.6rem 0;display:flex}.admin-cache-row:last-of-type{border-bottom:none}.admin-cache-main{flex:1;min-width:200px}.admin-cache-label{font-size:var(--fs-14);color:var(--text-strong);font-weight:var(--fw-medium)}.admin-cache-path{font-family:monospace;font-size:var(--fs-13);color:var(--text-soft)}.admin-cache-meta{font-size:var(--fs-13);color:var(--text-soft);flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.25rem;display:flex}.admin-cache-status-tag{font-family:monospace;font-size:var(--fs-13);font-weight:var(--fw-semibold);border-radius:var(--radius-nav);border:1px solid var(--line);padding:.1em .4em}.admin-cache-status-tag.is-hit{background:var(--success-soft);color:var(--success-text)}.admin-cache-status-tag.is-miss{background:var(--warning-soft);color:var(--warning-text)}.admin-cache-status-tag.is-stale,.admin-cache-status-tag.is-unknown{background:var(--surface-soft);color:var(--text-muted)}.admin-cache-status-tag.is-error{background:var(--danger-soft);color:var(--danger)}.admin-cache-control-value{background:var(--surface-soft);border-radius:var(--radius-nav);border:1px solid var(--line);color:var(--text-soft);padding:.1em .35em;font-family:monospace;font-size:.9em}.admin-cache-expiry{font-size:var(--fs-13);color:var(--text-muted)}.admin-cache-detail{color:var(--text-muted);font-size:var(--fs-13);line-height:var(--lh-relaxed);margin-top:.35rem}.admin-link-summary{flex-wrap:wrap;gap:.35rem;margin:.65rem 0 .75rem;display:flex}.admin-link-summary span{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-soft);min-height:1.45rem;color:var(--text-soft);font-size:var(--fs-12);font-weight:var(--fw-medium);align-items:center;padding:.1rem .5rem;display:inline-flex}.admin-link-tree,.admin-link-children{margin:0;padding:0;list-style:none}.admin-link-tree{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-soft);overflow:hidden}.admin-link-node{position:relative}.admin-link-children{border-left:1px solid var(--line);margin-left:1rem;padding-left:.65rem}.admin-link-node-row{border-bottom:1px solid var(--line);grid-template-columns:7rem minmax(9rem,1fr) minmax(10rem,1fr);align-items:center;gap:.5rem;min-height:2rem;padding:.28rem .55rem;display:grid}.admin-link-node-row:hover{background:var(--hover-surface)}.admin-link-node-label{min-width:0;color:var(--text-strong);font-size:var(--fs-14);font-weight:var(--fw-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-link-node-route{min-width:0}.admin-link-path{min-width:0;color:var(--primary);font-family:monospace;font-size:var(--fs-14);font-weight:var(--fw-semibold);overflow-wrap:anywhere;text-decoration:none}.admin-link-group-path{min-width:0;color:var(--text-muted);font-family:monospace;font-size:var(--fs-13);overflow-wrap:anywhere}a.admin-link-path:hover{text-decoration:underline}code.admin-link-path{color:var(--text-strong);background:0 0;border:0;padding:0}.admin-link-source{min-width:0;color:var(--text-muted);font-family:monospace;font-size:var(--fs-14);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-revalidate-action{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.admin-revalidate-btn{font-size:var(--fs-13);border-radius:var(--radius-nav);border:1px solid var(--line-strong);background:var(--surface);color:var(--text-strong);cursor:pointer;white-space:nowrap;padding:.3rem .75rem}.admin-revalidate-btn:hover:not(:disabled){background:var(--hover-surface)}.admin-revalidate-btn:disabled{opacity:.5;cursor:not-allowed}.admin-doc-browser{grid-template-columns:minmax(180px,260px) minmax(0,1fr);gap:1rem;margin-top:.75rem;display:grid}.admin-doc-sidebar{flex-direction:column;gap:.35rem;max-height:calc(100vh - 11rem);padding-right:.35rem;display:flex;overflow-y:auto}.admin-doc-tab{border:1px solid var(--line);border-radius:var(--radius-nav);background:var(--surface);width:100%;color:var(--text-soft);text-align:left;cursor:pointer;flex-direction:column;gap:.2rem;padding:.65rem .75rem;display:flex}.admin-doc-tab:hover{background:var(--hover-surface);border-color:var(--hover-outline)}.admin-doc-tab.is-active{background:var(--primary-soft);border-color:var(--primary)}.admin-doc-title{color:var(--text-strong);font-size:.95rem;font-weight:600;line-height:1.3}.admin-doc-summary{color:var(--text-soft);font-size:.8rem;line-height:1.35}.admin-doc-mtime{color:var(--text-muted);font-size:.72rem}.admin-doc-preview{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);min-width:0}.admin-doc-preview-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.75rem;padding:.9rem 1rem;display:flex}.admin-doc-preview-header h3{color:var(--text-strong);font-size:var(--fs-16);font-weight:var(--fw-semibold);margin:0}.admin-doc-preview-header span{color:var(--text-soft);font-size:var(--fs-13);flex-shrink:0}.admin-doc-content{max-height:calc(100vh - 14rem);font-size:var(--fs-15);color:var(--text-soft);padding:1.75rem 2.25rem;line-height:1.75;overflow:auto}.admin-doc-content h1,.admin-doc-content h2,.admin-doc-content h3,.admin-doc-content h4{color:var(--text-strong);font-weight:var(--fw-semibold);margin:1.25rem 0 .5rem}.admin-doc-content h1{font-size:var(--fs-22)}.admin-doc-content h2{font-size:var(--fs-18);border-bottom:1px solid var(--line);padding-bottom:.4rem}.admin-doc-content h3{font-size:var(--fs-16)}.admin-doc-content h4{font-size:var(--fs-15);color:var(--text-muted)}.admin-doc-content p{margin:.4rem 0}.admin-doc-content ul,.admin-doc-content ol{margin:.35rem 0 .75rem;padding-left:1.5rem}.admin-doc-content ul{list-style-type:disc}.admin-doc-content ol{list-style-type:decimal}.admin-doc-content ul ul,.admin-doc-content ol ul{list-style-type:circle}.admin-doc-content ul ul ul{list-style-type:square}.admin-doc-content li{margin-bottom:.2rem}.admin-doc-content li>p{margin:0}.admin-doc-content .contains-task-list{padding-left:.25rem;list-style:none}.admin-doc-content .task-list-item{align-items:flex-start;gap:.5rem;display:flex}.admin-doc-content .task-list-item>input[type=checkbox]{cursor:default;width:14px;height:14px;accent-color:var(--primary);flex-shrink:0;margin-top:.25rem}.admin-doc-content code{background:var(--surface-soft);border-radius:var(--radius-nav);border:1px solid var(--line);padding:.1em .35em;font-family:monospace;font-size:.9em}.admin-doc-content pre{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-nav);margin:.5rem 0;padding:.75rem 1rem;overflow-x:auto}.admin-doc-content pre code{background:0 0;border:none;padding:0}.admin-doc-content table{border-collapse:collapse;width:100%;font-size:var(--fs-13);margin:.5rem 0;display:block;overflow-x:auto}.admin-doc-content th,.admin-doc-content td{border:1px solid var(--line);text-align:left;white-space:normal;padding:.35rem .6rem}.admin-doc-content th{background:var(--surface-soft);color:var(--text-strong);font-weight:var(--fw-semibold)}.admin-doc-content blockquote{border-left:3px solid var(--line-strong);color:var(--text-soft);margin:.5rem 0;padding:.25rem .75rem}:root[data-theme=dark] .admin-doc-content pre,:root[data-theme=dark] .admin-doc-content code{background:var(--surface-soft)}.admin-env-list{margin-top:.25rem}.admin-env-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(200px,auto) 1fr auto;align-items:center;gap:.75rem;padding:.45rem 0;display:grid}.admin-env-row:last-of-type{border-bottom:none}.admin-env-key{font-family:monospace;font-size:var(--fs-13);color:var(--text-strong);white-space:nowrap}.admin-env-label{font-size:var(--fs-13);color:var(--text-soft)}.admin-env-badges{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.4rem;display:flex}@media (max-width:720px){.admin-route-grid,.admin-doc-browser{grid-template-columns:1fr}.admin-doc-sidebar,.admin-doc-content{max-height:none}.admin-doc-preview-header{flex-direction:column;align-items:flex-start}.admin-env-row{grid-template-columns:1fr auto}.admin-env-label{display:none}.admin-env-badges{justify-content:flex-end}.admin-link-node-row{grid-template-columns:minmax(6rem,.8fr) minmax(0,1.2fr)}.admin-link-source{display:none}.admin-link-children{margin-left:.65rem;padding-left:.45rem}}:root[data-theme=dark] .admin-panel{background:var(--surface);border-color:var(--line)}.risk-gauge{flex-direction:column;gap:.4rem;padding:.5rem 0;display:flex}.risk-gauge-track{background:var(--surface-soft);border-radius:8px;height:36px;position:relative;overflow:visible}.risk-gauge-zone{opacity:.18;height:100%;position:absolute;top:0}.risk-gauge-zone-stop{background:var(--danger);border-radius:8px 0 0 8px;left:0}.risk-gauge-zone-target{background:var(--color-positive);border-radius:0 8px 8px 0;right:0}:root[data-theme=dark] .risk-gauge-zone-target{background:var(--color-positive)}.risk-gauge-zero{background:var(--line-strong);width:1px;position:absolute;top:-4px;bottom:-4px;transform:translate(-50%)}.risk-gauge-marker{border-radius:1px;width:2px;position:absolute;top:0;bottom:0;transform:translate(-50%)}.risk-gauge-marker-stop{background:var(--danger)}.risk-gauge-marker-target,:root[data-theme=dark] .risk-gauge-marker-target{background:var(--color-positive)}.risk-gauge-current{background:var(--text-strong);z-index:2;border-radius:2px;width:3px;position:absolute;top:-6px;bottom:-6px;transform:translate(-50%)}.risk-gauge-current-label{font-size:var(--fs-14);font-weight:var(--fw-bold);background:var(--surface);border:1px solid var(--line);white-space:nowrap;border-radius:4px;padding:.15rem .4rem;position:absolute;top:-22px;left:50%;transform:translate(-50%)}.risk-gauge-current.is-positive .risk-gauge-current-label{color:var(--color-positive)}.risk-gauge-current.is-negative .risk-gauge-current-label{color:var(--danger)}:root[data-theme=dark] .risk-gauge-current.is-positive .risk-gauge-current-label{color:var(--color-positive)}:root[data-theme=dark] .risk-gauge-current.is-negative .risk-gauge-current-label{color:var(--color-negative)}.risk-gauge-bounds{font-size:var(--fs-13);color:var(--text-soft);justify-content:space-between;padding:0 .2rem;display:flex}.risk-gauge-bound-stop{color:var(--danger)}.risk-gauge-bound-target,:root[data-theme=dark] .risk-gauge-bound-target{color:var(--color-positive)}.risk-gauge-empty{font-size:var(--fs-15);color:var(--text-soft);text-align:center;padding:1rem 0}.risk-chip{font-size:var(--fs-13);font-weight:var(--fw-semibold);background:var(--surface-soft);color:var(--text-soft);border:1px solid var(--line);border-radius:999px;align-items:center;gap:.35rem;padding:.18rem .55rem;display:inline-flex}.risk-chip-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.risk-chip-label{white-space:nowrap}.risk-chip-bar{background:currentColor;border-radius:2px;width:36px;height:4px}@supports (color:color-mix(in lab, red, red)){.risk-chip-bar{background:color-mix(in oklab, currentColor 15%, transparent)}}.risk-chip-bar{flex-shrink:0;position:relative;overflow:hidden}.risk-chip-bar-fill{background:currentColor;border-radius:2px;position:absolute;inset:0}.risk-chip-normal{color:var(--text-soft)}.risk-chip-no-price{color:var(--text-soft);background:var(--surface-soft)}.risk-chip-target-near{color:var(--risk-medium);background:var(--risk-medium)}@supports (color:color-mix(in lab, red, red)){.risk-chip-target-near{background:color-mix(in oklab, var(--risk-medium) 12%, var(--surface))}}.risk-chip-target-near{border-color:var(--risk-medium)}@supports (color:color-mix(in lab, red, red)){.risk-chip-target-near{border-color:color-mix(in oklab, var(--risk-medium) 30%, var(--line))}}.risk-chip-target-hit{color:var(--color-positive);background:var(--color-positive)}@supports (color:color-mix(in lab, red, red)){.risk-chip-target-hit{background:color-mix(in oklab, var(--color-positive) 12%, var(--surface))}}.risk-chip-target-hit{border-color:var(--color-positive)}@supports (color:color-mix(in lab, red, red)){.risk-chip-target-hit{border-color:color-mix(in oklab, var(--color-positive) 35%, var(--line))}}.risk-chip-stop-near{color:var(--risk-high);background:var(--risk-high)}@supports (color:color-mix(in lab, red, red)){.risk-chip-stop-near{background:color-mix(in oklab, var(--risk-high) 12%, var(--surface))}}.risk-chip-stop-near{border-color:var(--risk-high)}@supports (color:color-mix(in lab, red, red)){.risk-chip-stop-near{border-color:color-mix(in oklab, var(--risk-high) 30%, var(--line))}}.risk-chip-stop-hit{color:var(--danger);background:var(--danger)}@supports (color:color-mix(in lab, red, red)){.risk-chip-stop-hit{background:color-mix(in oklab, var(--danger) 12%, var(--surface))}}.risk-chip-stop-hit{border-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.risk-chip-stop-hit{border-color:color-mix(in oklab, var(--danger) 40%, var(--line))}}:root[data-theme=dark] .risk-chip-target-hit{color:var(--color-positive)}:root[data-theme=dark] .risk-chip-target-near{color:var(--warn)}:root[data-theme=dark] .risk-chip-stop-near{color:var(--risk-high)}:root[data-theme=dark] .risk-chip-stop-hit{color:var(--color-negative)}.quiz-layout{background:linear-gradient(160deg,#f0f7ff 0%,#daeaff 55%,#e8f1ff 100%);min-height:100vh}:root[data-theme=dark] .quiz-layout{background:linear-gradient(160deg,#0c1e35 0%,#0d2548 55%,#091a35 100%)}.quiz-layout-header{background:0 0;align-items:center;height:56px;padding:0 1.5rem;display:flex}.quiz-layout-logo{font-size:var(--fs-16);font-weight:var(--fw-bold);color:var(--primary);font-family:var(--font-title), sans-serif;letter-spacing:-.01em;align-items:center;gap:.55rem;text-decoration:none;display:inline-flex}.quiz-layout-logo-image{border-radius:8px;width:28px;height:28px;box-shadow:0 8px 18px #11274724}.quiz-layout-logo-text{color:var(--text-strong)}.quiz-layout-logo-badge{border-radius:var(--radius-pill);background:var(--primary-soft);color:var(--primary);font-size:var(--fs-11);font-weight:var(--fw-bold);letter-spacing:.04em;text-transform:uppercase;padding:.16rem .46rem}:root[data-theme=dark] .quiz-layout-logo-badge{background:var(--primary-soft-2);color:#70b1ff}@media (max-width:720px){.quiz-layout-header{padding:0 1rem}}.quiz-intro-wrap{justify-content:center;align-items:center;min-height:calc(100vh - 56px);padding:1.5rem 1rem 2.5rem;display:flex}.quiz-intro-card{background:var(--surface);text-align:center;border-radius:24px;flex-direction:column;align-items:center;gap:1.25rem;width:100%;max-width:480px;padding:2.5rem 2rem 2rem;display:flex;position:relative;box-shadow:0 20px 48px #0a1a3726}.quiz-intro-emoji{font-size:4rem;line-height:1}.quiz-intro-image{flex-shrink:0;width:132px;height:132px}.quiz-intro-img{object-fit:contain;width:100%;height:100%}.quiz-intro-label{background:var(--primary-soft);color:var(--primary);font-size:var(--fs-12);font-weight:var(--fw-bold);letter-spacing:.04em;border-radius:100px;padding:.3rem .9rem;display:inline-block}:root[data-theme=dark] .quiz-intro-label{background:var(--primary-soft-2)}.quiz-intro-title{font-size:var(--fs-26);font-weight:var(--fw-bold);color:var(--text-strong);word-break:keep-all;margin:0;line-height:1.3}.quiz-intro-desc{font-size:var(--fs-15);color:var(--text-soft);word-break:keep-all;margin:0;line-height:1.75}.quiz-intro-types{grid-template-columns:repeat(3,1fr);gap:.45rem;width:100%;margin:0;padding:0;list-style:none;display:grid}.quiz-intro-type-item{background:var(--surface-soft);border:1px solid var(--line);font-size:var(--fs-11);color:var(--text-soft);font-weight:var(--fw-bold);white-space:nowrap;text-overflow:ellipsis;border-radius:10px;align-items:center;gap:.35rem;padding:.45rem .5rem;display:flex;overflow:hidden}.quiz-intro-facts{background:var(--surface-soft);border:1px solid var(--line);text-align:left;border-radius:14px;flex-direction:column;gap:.55rem;width:100%;margin:0;padding:1.1rem 1.25rem;list-style:none;display:flex}.quiz-intro-fact{font-size:var(--fs-14);color:var(--text-soft);align-items:center;gap:.5rem;display:flex}.quiz-intro-fact-icon{flex-shrink:0;font-size:1rem}.quiz-theme-toggle{z-index:2;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);width:2.35rem;height:2.35rem;color:var(--text-soft);cursor:pointer;justify-content:center;align-items:center;padding:0;transition:background .15s,border-color .15s,color .15s;display:inline-flex;position:absolute;top:1rem;right:1rem;box-shadow:0 6px 16px #11274714}.quiz-calculating-card,.quiz-card,.quiz-result-card{position:relative}.quiz-theme-toggle:hover{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}:root[data-theme=dark] .quiz-theme-toggle:hover{background:var(--primary-soft-2)}.quiz-theme-toggle-icon{flex-shrink:0;width:1rem;height:1rem}:root[data-theme=light] .quiz-theme-toggle-icon-moon,:root[data-theme=dark] .quiz-theme-toggle-icon-sun{display:none}.quiz-intro-start-btn{background:var(--primary);width:100%;font-size:var(--fs-16);font-weight:var(--fw-bold);color:#fff;cursor:pointer;font-family:var(--font-body), sans-serif;border:none;border-radius:14px;margin-top:.25rem;padding:1rem;transition:opacity .15s}.quiz-intro-start-btn:hover{opacity:.88}.quiz-calculating-wrap{justify-content:center;padding:2rem 1rem;display:flex}.quiz-calculating-card{background:var(--surface);text-align:center;border-radius:24px;flex-direction:column;align-items:center;gap:1.25rem;width:100%;max-width:480px;padding:3.5rem 2rem;display:flex;box-shadow:0 20px 48px #0a1a3726}.quiz-calculating-emoji{font-size:4rem;line-height:1;animation:1.2s ease-in-out infinite quiz-calculating-pulse}@keyframes quiz-calculating-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.12)}}.quiz-calculating-title{font-size:var(--fs-20);font-weight:var(--fw-bold);color:var(--text-strong);word-break:keep-all;margin:0}.quiz-calculating-desc{font-size:var(--fs-14);color:var(--text-soft);word-break:keep-all;margin:0}.quiz-calculating-dots{gap:.5rem;margin-top:.25rem;display:flex}.quiz-calculating-dot{background:var(--primary);opacity:.4;border-radius:50%;width:10px;height:10px;animation:1.2s ease-in-out infinite quiz-calculating-bounce}.quiz-calculating-dot:nth-child(2){animation-delay:.2s}.quiz-calculating-dot:nth-child(3){animation-delay:.4s}@keyframes quiz-calculating-bounce{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-10px)}}.quiz-wrap{justify-content:center;align-items:center;min-height:calc(100vh - 56px);padding:1.5rem 1rem 2.5rem;display:flex}.quiz-card{background:var(--surface);border-radius:24px;flex-direction:column;gap:1.5rem;width:100%;max-width:480px;padding:4rem 1.75rem 2.25rem;display:flex;box-shadow:0 20px 48px #0a1a3726}.quiz-header{flex-direction:column;gap:.65rem;display:flex}.quiz-step-label{justify-content:space-between;align-items:center;display:flex}.quiz-step-text{font-size:var(--fs-11);font-weight:var(--fw-bold);color:var(--primary);letter-spacing:.06em;text-transform:uppercase}.quiz-counter{font-size:var(--fs-13);color:var(--text-soft);font-weight:var(--fw-bold);margin:0}.quiz-progress-bar{background:var(--line);border-radius:100px;width:100%;height:8px;overflow:hidden}.quiz-progress-fill{height:100%;width:var(--quiz-progress,0%);background:linear-gradient(90deg, var(--primary) 0%, #5aa8ff 100%);border-radius:100px;transition:width .4s cubic-bezier(.4,0,.2,1)}.quiz-question{font-size:var(--fs-20);font-weight:var(--fw-bold);color:var(--text-strong);text-align:center;word-break:keep-all;overflow-wrap:break-word;margin:0;line-height:1.5}.quiz-options{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.quiz-option-btn{border:2px solid var(--line);background:var(--field-bg);cursor:pointer;text-align:left;width:100%;font-family:var(--font-body), sans-serif;border-radius:14px;align-items:center;gap:.75rem;padding:.85rem 1rem;transition:all .15s;display:flex}.quiz-option-btn:hover{border-color:var(--primary);background:var(--primary-soft)}.quiz-option-badge{background:var(--primary-soft);width:30px;height:30px;color:var(--primary);font-size:var(--fs-12);font-weight:var(--fw-bold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.quiz-option-btn:hover .quiz-option-badge{background:var(--primary);color:#fff}.quiz-option-text{font-size:var(--fs-15);color:var(--text-strong);word-break:keep-all;overflow-wrap:break-word;line-height:1.45;transition:color .15s}.quiz-option-btn:hover .quiz-option-text{color:var(--primary)}:root[data-theme=dark] .quiz-option-btn{background:var(--surface-soft)}:root[data-theme=dark] .quiz-option-btn:hover,:root[data-theme=dark] .quiz-option-badge{background:var(--primary-soft-2)}@media (max-width:720px){.quiz-intro-wrap,.quiz-wrap{align-items:flex-start;padding-top:1.25rem}.quiz-intro-card{border-radius:20px;padding:2rem 1.5rem 1.75rem}.quiz-intro-title{font-size:var(--fs-22)}.quiz-intro-image{width:116px;height:116px}.quiz-card{border-radius:20px;gap:1.25rem;padding:3.75rem 1.25rem 2rem}.quiz-question{font-size:var(--fs-18)}.quiz-option-btn{padding:.8rem .9rem}.quiz-option-text{font-size:var(--fs-14)}}.quiz-result-wrap{justify-content:center;align-items:flex-start;min-height:calc(100vh - 56px);padding:1.5rem 1rem 3rem;display:flex}.quiz-result-card{background:var(--surface);border-radius:24px;width:100%;max-width:480px;overflow:hidden;box-shadow:0 20px 48px #0a1a3726}.quiz-result-header{text-align:center;background:linear-gradient(145deg,#1368ec 0%,#3b8fff 100%);border-radius:24px 24px 0 0;flex-direction:column;align-items:center;gap:.85rem;padding:3rem 2rem 2.5rem;display:flex}:root[data-theme=dark] .quiz-result-header{background:linear-gradient(145deg,#0d3b8c 0%,#1a5fcc 100%)}.quiz-result-emoji-circle{background:#ffffff38;border-radius:50%;justify-content:center;align-items:center;width:92px;height:92px;font-size:3.25rem;line-height:1;display:flex}.quiz-result-badge{color:#fff;font-size:var(--fs-12);font-weight:var(--fw-bold);letter-spacing:.04em;background:#fff3;border-radius:100px;padding:.3rem .85rem;display:inline-block}.quiz-result-name-group{flex-direction:column;gap:.3rem;display:flex}.quiz-result-name{font-size:var(--fs-26);font-weight:var(--fw-bold);color:#fff;word-break:keep-all;margin:0;line-height:1.25}.quiz-result-subtitle{font-size:var(--fs-14);color:#ffffffd1;word-break:keep-all;margin:0}.quiz-result-body{padding:1.75rem 1.75rem 2rem}.quiz-result-body>*+*{margin-top:1.25rem}.quiz-result-desc{font-size:var(--fs-15);color:var(--text-soft);word-break:keep-all;overflow-wrap:break-word;margin:0;line-height:1.75}.quiz-result-traits{margin:0;padding:0;list-style:none}.quiz-result-trait{background:var(--primary-soft);color:var(--primary);font-size:var(--fs-13);font-weight:var(--fw-bold);border-radius:100px;margin:0 .45rem .45rem 0;padding:.3rem .85rem;display:inline-block}:root[data-theme=dark] .quiz-result-trait{background:var(--primary-soft-2)}.quiz-result-tip{background:var(--surface-soft);border:1px solid var(--line);border-left:3px solid var(--primary);font-size:var(--fs-14);color:var(--text-soft);word-break:keep-all;overflow-wrap:break-word;border-radius:10px;padding:1rem 1.15rem;line-height:1.7}.quiz-result-cta-section{background:var(--surface-soft);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:.85rem;padding:1.25rem;display:flex}.quiz-result-cta-title{font-size:var(--fs-15);font-weight:var(--fw-bold);color:var(--text-strong);word-break:keep-all;margin:0}.quiz-result-cta-desc{font-size:var(--fs-13);color:var(--text-soft);word-break:keep-all;margin:0;line-height:1.65}.quiz-result-cta-btn{background:var(--primary);width:100%;font-size:var(--fs-15);font-weight:var(--fw-bold);color:#fff;text-align:center;border-radius:12px;padding:.9rem;text-decoration:none;transition:opacity .15s;display:block}.quiz-result-cta-btn:hover{opacity:.88}.quiz-result-actions{flex-direction:column;align-items:center;gap:.65rem;display:flex}.quiz-result-share-btn{background:var(--surface);border:1.5px solid var(--line-strong);width:100%;font-size:var(--fs-15);font-weight:var(--fw-bold);color:var(--text-strong);cursor:pointer;font-family:var(--font-body), sans-serif;border-radius:12px;padding:.85rem;transition:all .15s}.quiz-result-share-btn:hover{border-color:var(--primary);color:var(--primary)}.quiz-result-retry-link{font-size:var(--fs-13);color:var(--text-soft);padding:.25rem 0;text-decoration:none}.quiz-result-retry-link:hover{color:var(--text-strong);text-decoration:underline}@media (max-width:720px){.quiz-result-character-circle{width:128px;height:128px}}[data-animal=turtle] .quiz-result-header{background:linear-gradient(145deg,#1a7a46 0%,#3dab72 100%)}[data-animal=turtle] .quiz-result-trait{color:#1a7a46;background:#e6f4ec}[data-animal=turtle] .quiz-result-tip{border-left-color:#1a7a46}[data-animal=turtle] .quiz-result-cta-btn{background:#1a7a46}:root[data-theme=dark] [data-animal=turtle] .quiz-result-trait{color:#5dca8e;background:#0d3d21}[data-animal=bee] .quiz-result-header{background:linear-gradient(145deg,#b86a00 0%,#f0a530 100%)}[data-animal=bee] .quiz-result-trait{color:#8f5200;background:#fff5e0}[data-animal=bee] .quiz-result-tip{border-left-color:#b86a00}[data-animal=bee] .quiz-result-cta-btn{background:#b86a00}:root[data-theme=dark] [data-animal=bee] .quiz-result-trait{color:#f0a530;background:#3d2400}[data-animal=owl] .quiz-result-header{background:linear-gradient(145deg,#4338ca 0%,#7c6ff0 100%)}[data-animal=owl] .quiz-result-trait{color:#4338ca;background:#eeecff}[data-animal=owl] .quiz-result-tip{border-left-color:#4338ca}[data-animal=owl] .quiz-result-cta-btn{background:#4338ca}:root[data-theme=dark] [data-animal=owl] .quiz-result-trait{color:#9d96ff;background:#1e1a54}[data-animal=lion] .quiz-result-header{background:linear-gradient(145deg,#c2510a 0%,#f07830 100%)}[data-animal=lion] .quiz-result-trait{color:#a03d00;background:#fff1e8}[data-animal=lion] .quiz-result-tip{border-left-color:#c2510a}[data-animal=lion] .quiz-result-cta-btn{background:#c2510a}:root[data-theme=dark] [data-animal=lion] .quiz-result-trait{color:#f0a060;background:#3d1800}[data-animal=eagle] .quiz-result-header{background:linear-gradient(145deg,#0a6b8e 0%,#1aabcc 100%)}[data-animal=eagle] .quiz-result-trait{color:#0a6b8e;background:#e0f4f8}[data-animal=eagle] .quiz-result-tip{border-left-color:#0a6b8e}[data-animal=eagle] .quiz-result-cta-btn{background:#0a6b8e}:root[data-theme=dark] [data-animal=eagle] .quiz-result-trait{color:#4dd4ef;background:#042d3d}[data-animal=fox] .quiz-result-header{background:linear-gradient(145deg,#c01b40 0%,#e84565 100%)}[data-animal=fox] .quiz-result-trait{color:#c01b40;background:#ffecef}[data-animal=fox] .quiz-result-tip{border-left-color:#c01b40}[data-animal=fox] .quiz-result-cta-btn{background:#c01b40}:root[data-theme=dark] [data-animal=fox] .quiz-result-trait{color:#f4809a;background:#3d0818}@media (max-width:720px){.quiz-result-wrap{padding-top:1.25rem}.quiz-result-header{padding:2rem 1.5rem 1.75rem}.quiz-result-emoji-circle{width:80px;height:80px;font-size:2.75rem}.quiz-result-name{font-size:var(--fs-22)}.quiz-result-body{gap:1rem;padding:1.5rem 1.5rem 1.75rem}.quiz-result-desc{font-size:var(--fs-14)}.quiz-result-character-circle{width:128px;height:128px}}[data-character=abraham] .quiz-result-header{background:linear-gradient(145deg,#8b6914 0%,#c9a227 100%)}[data-character=abraham] .quiz-result-trait{color:#7a5c0f;background:#fdf6e0}[data-character=abraham] .quiz-result-tip{border-left-color:#8b6914}[data-character=abraham] .quiz-result-cta-btn{background:#8b6914}:root[data-theme=dark] [data-character=abraham] .quiz-result-trait{color:#e8c060;background:#3d2c00}[data-character=joseph] .quiz-result-header{background:linear-gradient(145deg,#3a7d44 0%,#5fb86a 100%)}[data-character=joseph] .quiz-result-trait{color:#2e6636;background:#edf7ee}[data-character=joseph] .quiz-result-tip{border-left-color:#3a7d44}[data-character=joseph] .quiz-result-cta-btn{background:#3a7d44}:root[data-theme=dark] [data-character=joseph] .quiz-result-trait{color:#7fd48a;background:#0f311a}[data-character=solomon] .quiz-result-header{background:linear-gradient(145deg,#5b21b6 0%,#8b5cf6 100%)}[data-character=solomon] .quiz-result-trait{color:#5b21b6;background:#f3eeff}[data-character=solomon] .quiz-result-tip{border-left-color:#5b21b6}[data-character=solomon] .quiz-result-cta-btn{background:#5b21b6}:root[data-theme=dark] [data-character=solomon] .quiz-result-trait{color:#b48dff;background:#200d4d}[data-character=david] .quiz-result-header{background:linear-gradient(145deg,#b91c1c 0%,#ef4444 100%)}[data-character=david] .quiz-result-trait{color:#9b1c1c;background:#fff0f0}[data-character=david] .quiz-result-tip{border-left-color:#b91c1c}[data-character=david] .quiz-result-cta-btn{background:#b91c1c}:root[data-theme=dark] [data-character=david] .quiz-result-trait{color:#f87171;background:#3d0808}[data-character=noah] .quiz-result-header{background:linear-gradient(145deg,#0369a1 0%,#38bdf8 100%)}[data-character=noah] .quiz-result-trait{color:#0369a1;background:#e0f2fe}[data-character=noah] .quiz-result-tip{border-left-color:#0369a1}[data-character=noah] .quiz-result-cta-btn{background:#0369a1}:root[data-theme=dark] [data-character=noah] .quiz-result-trait{color:#56cbf5;background:#042a44}[data-character=paul] .quiz-result-header{background:linear-gradient(145deg,#1d4ed8 0%,#60a5fa 100%)}[data-character=paul] .quiz-result-trait{color:#1d4ed8;background:#eff6ff}[data-character=paul] .quiz-result-tip{border-left-color:#1d4ed8}[data-character=paul] .quiz-result-cta-btn{background:#1d4ed8}:root[data-theme=dark] [data-character=paul] .quiz-result-trait{color:#93c5fd;background:#0c1f5a}.quiz-result-character-circle{background:#ffffff38;border-radius:50%;flex-shrink:0;width:156px;height:156px;overflow:hidden}.quiz-result-character-img{object-fit:cover;width:100%;height:100%;image-rendering:pixelated}@media (max-width:720px){.quiz-result-character-circle{width:128px;height:128px}}[data-guru=buffett] .quiz-result-header{background:linear-gradient(145deg,#78350f 0%,#d97706 100%)}[data-guru=buffett] .quiz-result-trait{color:#78350f;background:#fef3c7}[data-guru=buffett] .quiz-result-tip{border-left-color:#d97706}[data-guru=buffett] .quiz-result-cta-btn{background:#b45309}:root[data-theme=dark] [data-guru=buffett] .quiz-result-trait{color:#fbbf24;background:#3d1c00}[data-guru=lynch] .quiz-result-header{background:linear-gradient(145deg,#14532d 0%,#16a34a 100%)}[data-guru=lynch] .quiz-result-trait{color:#14532d;background:#dcfce7}[data-guru=lynch] .quiz-result-tip{border-left-color:#16a34a}[data-guru=lynch] .quiz-result-cta-btn{background:#15803d}:root[data-theme=dark] [data-guru=lynch] .quiz-result-trait{color:#4ade80;background:#052e16}[data-guru=soros] .quiz-result-header{background:linear-gradient(145deg,#134e4a 0%,#0d9488 100%)}[data-guru=soros] .quiz-result-trait{color:#134e4a;background:#ccfbf1}[data-guru=soros] .quiz-result-tip{border-left-color:#0d9488}[data-guru=soros] .quiz-result-cta-btn{background:#0f766e}:root[data-theme=dark] [data-guru=soros] .quiz-result-trait{color:#2dd4bf;background:#042a27}[data-guru=wood] .quiz-result-header{background:linear-gradient(145deg,#6b21a8 0%,#c026d3 100%)}[data-guru=wood] .quiz-result-trait{color:#6b21a8;background:#fae8ff}[data-guru=wood] .quiz-result-tip{border-left-color:#9333ea}[data-guru=wood] .quiz-result-cta-btn{background:#7e22ce}:root[data-theme=dark] [data-guru=wood] .quiz-result-trait{color:#e879f9;background:#2d0a4d}[data-guru=dalio] .quiz-result-header{background:linear-gradient(145deg,#1e3a5f 0%,#1d4ed8 100%)}[data-guru=dalio] .quiz-result-trait{color:#1e3a5f;background:#dbeafe}[data-guru=dalio] .quiz-result-tip{border-left-color:#1d4ed8}[data-guru=dalio] .quiz-result-cta-btn{background:#1e40af}:root[data-theme=dark] [data-guru=dalio] .quiz-result-trait{color:#93c5fd;background:#0a1a35}[data-guru=musk] .quiz-result-header{background:linear-gradient(145deg,#0e7490 0%,#06b6d4 100%)}[data-guru=musk] .quiz-result-trait{color:#0e7490;background:#cffafe}[data-guru=musk] .quiz-result-tip{border-left-color:#06b6d4}[data-guru=musk] .quiz-result-cta-btn{background:#0891b2}:root[data-theme=dark] [data-guru=musk] .quiz-result-trait{color:#67e8f9;background:#042a35}html[data-market-widget=off] .market-widget-nav{display:none}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
