.dev-device-dock{position:fixed;z-index:100000;left:50%;bottom:max(12px,env(safe-area-inset-bottom,0px));transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;max-width:calc(100vw - 16px)}.dev-device-fab{position:fixed;z-index:100000;right:max(12px,env(safe-area-inset-right,0px));bottom:max(12px,env(safe-area-inset-bottom,0px));appearance:none;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:10px 14px;background:#12161ceb;color:var(--accent);font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px;font-weight:800;letter-spacing:.08em;cursor:pointer;box-shadow:0 8px 28px #00000059;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.dev-device-fab:hover{background:#1c222af5}.dev-device-toolbar{display:inline-flex;align-items:center;gap:4px;padding:6px 8px 6px 10px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:#12161ceb;box-shadow:0 8px 28px #00000059;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-family:ui-sans-serif,system-ui,sans-serif;-webkit-user-select:none;user-select:none;flex-wrap:wrap;justify-content:center;max-width:100%}.dev-device-toolbar__group{display:inline-flex;align-items:center;gap:2px}.dev-device-toolbar__sep{width:1px;height:18px;margin:0 4px;background:#ffffff29}.dev-device-toolbar__btn{appearance:none;border:none;border-radius:999px;padding:6px 12px;background:transparent;color:#ffffffb8;font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),opacity var(--dur-fast) var(--ease-standard)}.dev-device-toolbar__btn:hover:not(:disabled){color:#fff;background:#ffffff14}.dev-device-toolbar__btn:disabled{opacity:.45;cursor:default}.dev-device-toolbar__btn.is-active{color:#111;background:#e8edf2}.dev-device-phone-picker{position:relative;display:inline-flex}.dev-device-devices-panel{position:absolute;left:0;bottom:calc(100% + 8px);z-index:2;box-sizing:border-box;width:min(320px,calc(100vw - 24px));padding:10px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:#12161cf5;box-shadow:0 12px 36px #00000073;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;flex-direction:column;gap:10px}.dev-device-devices-panel__hint{margin:0;color:#ffffff80;font-size:11px;line-height:1.4}.dev-device-preset-block__label{margin:0 0 4px;color:#ffffff73;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.dev-device-preset-block__list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:2px}.dev-device-phone-picker__option{appearance:none;width:100%;border:none;border-radius:10px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:transparent;color:#ffffffd1;font:inherit;font-size:12px;font-weight:600;text-align:left;cursor:pointer}.dev-device-phone-picker__option:hover{background:#ffffff14;color:#fff}.dev-device-phone-picker__option.is-active{background:#fbbf2424;color:var(--accent)}.dev-device-phone-picker__option-meta{color:#fff6;font-size:10px;font-weight:600;letter-spacing:.02em}.dev-device-phone-picker__option.is-active .dev-device-phone-picker__option-meta{color:#fbbf24b3}.dev-device-toolbar__icon-btn{appearance:none;border:none;border-radius:999px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#ffffffb8;font:inherit;font-size:14px;line-height:1;cursor:pointer}.dev-device-toolbar__icon-btn:hover,.dev-device-toolbar__icon-btn.is-active{color:#fff;background:#ffffff1a}.dev-device-toolbar__error,.dev-device-accounts__error{margin:0;max-width:360px;color:#fca5a5;font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px;text-align:center}.dev-device-accounts{box-sizing:border-box;width:min(420px,calc(100vw - 16px));padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:#12161cf5;box-shadow:0 12px 36px #0006;color:#ffffffe0;font-family:ui-sans-serif,system-ui,sans-serif}.dev-device-accounts__hint{margin:0 0 10px;color:#ffffff8c;font-size:11px;line-height:1.4}.dev-device-accounts__hint code{font-size:10px;color:var(--accent)}.dev-device-accounts__grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dev-device-accounts label{display:flex;flex-direction:column;gap:4px;font-size:10px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#ffffff8c}.dev-device-accounts input{appearance:none;border:1px solid rgba(255,255,255,.14);border-radius:8px;padding:8px 10px;background:#00000059;color:#fff;font:inherit;font-size:13px;font-weight:500;text-transform:none;letter-spacing:normal}.dev-device-accounts input:focus{outline:1px solid #d97706;border-color:#d97706}.dev-device-accounts__actions{display:flex;gap:6px;margin-top:10px}html.dev-device-preview-active,body.dev-device-preview-active{height:100%;margin:0;overflow:hidden;background:#1a1f27}.dev-device-stage{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;height:100%;min-height:100vh;min-height:100dvh;padding:24px 16px 72px;background:radial-gradient(ellipse at top,rgba(255,255,255,.04),transparent 55%),#1a1f27}.dev-device-frame{box-sizing:border-box;flex:0 1 auto;width:var(--dev-device-width, 390px);height:var(--dev-device-height, 844px);max-width:calc(100vw - 32px);max-height:calc(100dvh - 110px);border:1px solid rgba(255,255,255,.14);border-radius:28px;overflow:hidden;background:#000;transform:translateZ(0);box-shadow:0 0 0 1px #0006,0 24px 60px #00000073}.dev-device-frame--mobile{border-radius:28px}.dev-device-frame--tablet{border-radius:18px}.dev-device-frame__content{box-sizing:border-box;width:100%;height:100%;overflow:auto;overflow-x:hidden;background:var(--bg-primary, #fff);position:relative;-webkit-overflow-scrolling:touch}.dev-device-frame--mobile .dev-device-frame__content{--safe-top: 47px;--safe-right: 0px;--safe-bottom: 34px;--safe-left: 0px}.dev-device-frame--tablet .dev-device-frame__content{--safe-top: 24px;--safe-right: 0px;--safe-bottom: 20px;--safe-left: 0px}.dev-device-stage__meta{margin:0;color:#ffffff73;font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px;letter-spacing:.04em}@media(max-width:640px){.dev-device-accounts__grid{grid-template-columns:1fr}}.ap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px;padding:20px var(--page-gutter) 24px;min-height:100%;max-width:var(--dashboard-max);margin:0 auto}.ap-panel{background:var(--bg-secondary);border:1px solid var(--surface-border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5);display:flex;flex-direction:column;gap:4px}.ap-panel-title{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 4px;letter-spacing:-.01em}.ap-panel-copy{color:var(--text-muted);font-size:.8125rem;line-height:1.5;margin:0 0 16px}.ap-field{margin-bottom:12px}.ap-status{margin-top:12px;padding:10px 12px;border-radius:var(--radius-sm);font-size:.8125rem;line-height:1.45}.ap-status--success{background:var(--color-success-bg);color:var(--color-success);border:1px solid rgba(var(--green-600-rgb),.25)}.ap-status--error{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid rgba(var(--red-400-rgb),.25)}.ap-status--loading{background:var(--accent-soft);color:var(--accent-hover);border:1px solid var(--accent-border)}.ap-result{margin-top:12px;padding:12px 14px;background:rgba(var(--black-rgb),.25);border-radius:var(--radius-sm);font-size:.8125rem;max-height:280px;overflow-y:auto;border:1px solid var(--surface-border)}.ap-result pre{margin:0;color:var(--color-success);font-family:ui-monospace,Cascadia Code,Courier New,monospace;white-space:pre-wrap;word-break:break-word;font-size:.75rem;line-height:1.5}.ap-modal-field{display:flex;flex-direction:column;gap:6px}.ap-status--flush{margin-top:0}.ap-users-toolbar{display:flex;align-items:flex-end;gap:10px;margin-bottom:12px}.ap-users-toolbar-field{flex:1;min-width:0}.ap-users-toolbar-field .ap-field,.ap-users-toolbar-field .field-label{margin-bottom:6px}.ap-users-add-btn{flex-shrink:0;white-space:nowrap}.ap-users-list{list-style:none;margin:0 0 12px;padding:0;max-height:220px;overflow-y:auto;border:1px solid var(--surface-border-strong);border-radius:var(--radius-sm);background:var(--bg-primary)}.ap-user-row{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border:0;border-bottom:1px solid var(--surface-border);border-radius:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.ap-users-list li:last-child .ap-user-row{border-bottom:none}.ap-user-row:hover{background:var(--bg-elevated)}.ap-user-row--active,.ap-user-row--active:hover{background:var(--accent-soft)}.ap-users-empty-hint{margin:0;color:var(--text-muted);font-size:.8125rem}.ap-users-workspace{display:flex;flex-direction:column;gap:12px;margin-top:4px}.ap-users-workspace-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--surface-border-strong);background:var(--bg-elevated)}.ap-users-workspace-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.ap-users-workspace-meta strong{color:var(--text-primary);font-size:.875rem}.ap-users-workspace-detail{color:var(--text-muted);font-size:.75rem}.ap-users-section-title{color:var(--text-secondary);font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin:0}.ap-page-access-editor{padding:12px;border-radius:var(--radius-sm);border:1px solid var(--surface-border-strong);background:var(--bg-primary)}.ap-page-access-editor--compact{margin:0}.ap-page-access-editor-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}.ap-page-access-legend{display:flex;flex-wrap:wrap;gap:10px}.ap-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600}.ap-legend-dot{width:10px;height:10px;border-radius:999px;flex-shrink:0}.ap-legend-item--full{color:var(--color-success)}.ap-legend-item--full .ap-legend-dot{background:var(--color-success)}.ap-legend-item--construction{color:var(--color-warning)}.ap-legend-item--construction .ap-legend-dot{background:var(--color-warning)}.ap-legend-item--none{color:var(--color-danger)}.ap-legend-item--none .ap-legend-dot{background:var(--color-danger)}.ap-select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% + 1px),calc(100% - 12px) calc(50% + 1px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:32px}.ap-status--inline{margin:0;flex:1;min-width:0}.ap-page-access-list{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.ap-page-access-list--compact{max-height:min(52dvh,420px);overflow-y:auto;padding-right:2px}.ap-page-access-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--surface-border-strong);background:var(--bg-card)}.ap-page-access-row--compact{min-height:40px}.ap-page-access-label{color:var(--text-primary);font-size:.8125rem;font-weight:600;flex:1;min-width:0}.ap-page-state-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;flex-shrink:0}.ap-page-state-options--compact{width:min(100%,210px)}.ap-page-access-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.ap-page-state-btn{padding:6px 4px;border-radius:var(--radius-sm);border:1px solid var(--surface-border-strong);background:var(--bg-elevated);color:var(--text-muted);font-size:.72rem;font-weight:600;line-height:1.2;cursor:pointer;transition:background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}.ap-page-state-btn--full.ap-page-state-btn--active{background:var(--color-success-bg);border-color:rgba(var(--green-600-rgb),.28);color:var(--color-success)}.ap-page-state-btn--construction.ap-page-state-btn--active{background:var(--color-warning-bg);border-color:var(--accent-border);color:var(--color-warning)}.ap-page-state-btn--none.ap-page-state-btn--active{background:var(--color-danger-bg);border-color:rgba(var(--red-400-rgb),.24);color:var(--color-danger)}.ap-user-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.ap-online-badge{font-size:.625rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:var(--color-success-bg);color:var(--color-success);border:1px solid rgba(var(--green-600-rgb),.28)}.ap-page-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.ap-page-option{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--surface-border-strong);background:var(--bg-card);color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard);-webkit-tap-highlight-color:transparent}.ap-page-option input{width:16px;height:16px;flex-shrink:0;margin:0;accent-color:var(--accent)}.ap-page-option-label{flex:1;min-width:0}.ap-page-option--selected{background:var(--accent-soft);border-color:var(--accent-border);color:var(--text-primary)}.ap-page-option--selected .ap-page-option-label{color:var(--accent-hover);font-weight:600}.ap-page-option:active{transform:scale(.99)}.ap-user-row-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.ap-user-row strong{color:var(--text-primary);font-size:.875rem;font-weight:600}.ap-wallet-badge{font-size:.625rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 8px;border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-muted);border:1px solid var(--surface-border-strong)}.ap-wallet-badge--on{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-border)}.ap-users-loading{color:var(--text-muted);font-size:.875rem}.ap-spinner{display:inline-block;width:12px;height:12px;border:2px solid var(--text-faint);border-top-color:var(--text-strong);border-radius:50%;animation:app-spin .7s linear infinite;margin-right:6px;vertical-align:middle}.ap-reindex-stats{margin-top:12px;background:var(--surface-hover);border:1px solid var(--surface-border, var(--surface-border));border-radius:var(--radius-sm);overflow:hidden}.ap-reindex-row{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:4px 12px;padding:8px 14px;font-size:.8125rem;border-bottom:1px solid var(--surface-border, var(--surface-2))}.ap-reindex-row:last-child{border-bottom:none}.ap-kb-warn{background:rgba(var(--accent-rgb),.1);border:1px solid rgba(var(--accent-rgb),.3);border-radius:var(--radius-sm);padding:10px 12px;font-size:.8125rem;color:var(--accent-hover);line-height:1.5;margin-bottom:12px}.ap-kb-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:4px}.ap-reindex-row span{color:var(--text-muted)}.ap-reindex-row strong{color:var(--text-primary)}.ap-reindex-row--nested{padding-left:26px}.ap-kb .ap-panel-copy{margin-bottom:8px}.ap-kb .ap-reindex-stats{margin-top:0;margin-bottom:8px}.ap-kb .ap-reindex-row{padding:5px 10px;font-size:.75rem}.ap-kb .ap-kb-actions{margin-top:4px}.ap-kb-rank{margin:0 0 8px;font-size:.6875rem;line-height:1.4;color:var(--text-muted)}.ap-kb-meta{font-weight:500;color:var(--text-muted);font-variant-numeric:tabular-nums}.ap-kb-weight{color:var(--text-primary);font-weight:700;font-variant-numeric:tabular-nums}.ap-kb-off{color:var(--text-muted);font-size:.75rem;font-weight:500}.ap-api-grid{display:flex;flex-direction:column;gap:10px;margin-top:12px}.ap-api-card{background:var(--surface-hover);border:1px solid var(--surface-border, var(--surface-border));border-radius:var(--radius-sm);padding:12px 14px}.ap-api-card-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.ap-api-name{font-size:.8125rem;font-weight:600;color:var(--text-primary);flex:1}.ap-api-badge{font-size:.6875rem;font-weight:700;padding:2px 8px;border-radius:20px;letter-spacing:.04em;text-transform:uppercase}.ap-api-ok{background:rgba(var(--green-600-rgb),.15);color:var(--color-success)}.ap-api-warn{background:rgba(var(--accent-rgb),.15);color:var(--accent-hover)}.ap-api-error{background:var(--color-danger-bg);color:var(--color-danger)}.ap-api-off{background:var(--surface-2);color:var(--text-muted)}.ap-api-rows{display:flex;flex-direction:column;gap:4px}.ap-api-row{display:flex;gap:8px;font-size:.75rem;line-height:1.5}.ap-api-row--error .ap-api-val{color:var(--color-danger)}.ap-api-row--warn .ap-api-val{color:var(--accent-hover)}.ap-api-key{color:var(--text-muted);min-width:130px;flex-shrink:0}.ap-api-val{color:var(--text-secondary, var(--text-primary));word-break:break-word}.ap-api-muted{color:var(--text-muted);font-style:italic}.ap-api-usage-used{color:var(--accent-hover);font-weight:600}.ap-api-usage-ok{color:var(--color-success);font-weight:600}.ap-api-usage-low{color:var(--color-danger);font-weight:600}.ap-api-usage-bar-wrap{height:4px;background:var(--surface-border);border-radius:2px;overflow:hidden;margin-top:4px}.ap-api-usage-bar-fill{width:100%;height:100%;border-radius:2px;transform-origin:left center;transition:transform var(--dur-slow) var(--ease-standard)}.ap-api-checked-at{margin:4px 0 0;font-size:.7rem;color:var(--text-muted)}.ap-panel--logs{grid-column:1 / -1;min-width:0}.ap-logs-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}.ap-logs-toolbar .segment.ap-logs-services{width:auto;max-width:100%;padding:2px}.ap-logs-toolbar .segment.ap-logs-services .segment__btn{padding:4px 8px;font-size:.6875rem;line-height:1.2}.ap-logs-lines-segment{padding:2px}.ap-logs-lines-segment .segment__btn{padding:3px 7px;font-size:.6875rem;line-height:1.2}.ap-logs-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.ap-logs-lines{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ap-logs-lines-label{font-size:.75rem;font-weight:600;color:var(--text-muted)}.ap-logs-status-line{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:.75rem;color:var(--text-muted);min-width:0}.ap-logs-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted);flex-shrink:0}.ap-logs-dot--running{background:var(--color-success)}.ap-logs-dot--exited,.ap-logs-dot--dead,.ap-logs-dot--unavailable{background:var(--color-danger)}.ap-logs-dot--paused,.ap-logs-dot--created,.ap-logs-dot--idle,.ap-logs-dot--waiting,.ap-logs-dot--not_running{background:var(--accent-hover)}.ap-logs-error{margin:0 0 10px}.ap-logs-terminal{display:flex;flex-direction:column;min-width:0;min-height:120px;height:180px;max-height:80dvh;border:1px solid var(--surface-border);border-radius:var(--radius-sm);overflow:hidden;resize:vertical;background:rgba(var(--black-rgb),.45)}.ap-logs-chrome{display:flex;justify-content:flex-end;align-items:center;gap:2px;padding:4px 6px;border-bottom:1px solid var(--surface-border);background:var(--bg-secondary);flex-shrink:0}.ap-logs-chrome .btn--icon svg{width:15px;height:15px}.ap-logs-chrome-btn--spin svg{animation:app-spin .7s linear infinite}.ap-logs-viewer{flex:1;min-height:0;overflow:auto;padding:12px 14px}.ap-logs-viewer pre{margin:0;color:var(--text-secondary);font-family:ui-monospace,Cascadia Code,Courier New,monospace;font-size:.75rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}@media(max-width:768px){.ap-logs-terminal{height:160px}}.ap-warp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ap-warp-restart-msg{margin:12px 0 0}.ap-warp-restart-ok{font-weight:700;letter-spacing:.02em}@media(max-width:968px){.ap-grid{grid-template-columns:1fr;padding:16px;gap:12px}.ap-panel{padding:16px}.ap-user-actions{width:100%;justify-content:stretch}.ap-user-actions .btn--sm{flex:1 1 calc(50% - 4px);min-width:0}.ap-page-grid{grid-template-columns:1fr}.ap-users-toolbar{flex-direction:column;align-items:stretch}.ap-users-add-btn{width:100%}.ap-page-access-row--compact{flex-direction:column;align-items:stretch}.ap-page-state-options--compact{width:100%}.ap-page-access-footer{flex-direction:column;align-items:stretch}.ap-page-access-footer .btn{width:100%}}@media(max-width:480px){.ap-grid{padding:12px 12px calc(16px + var(--safe-bottom))}.ap-user-actions .btn--sm{flex:1 1 100%;min-height:44px}.app-modal__actions .btn--sm{width:100%;min-height:44px}}.cpw-overlay{position:fixed;inset:0;z-index:var(--z-overlay-elevated);display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:max(var(--space-6),var(--safe-top)) var(--space-4) max(var(--space-6),var(--safe-bottom));background:var(--material-scrim);backdrop-filter:blur(var(--blur-sm));-webkit-backdrop-filter:blur(var(--blur-sm));animation:app-fade-in var(--dur-fast) var(--ease-out)}.cpw-modal{width:100%;max-width:440px;margin:auto;max-height:calc(100dvh - 48px);overflow-y:auto;background:var(--material-sheet);border:1px solid var(--surface-border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:app-slide-down var(--dur-base) var(--ease-out)}.cpw-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-5) var(--space-6) var(--space-3);border-bottom:1px solid var(--surface-border)}.cpw-title{margin:0;font-size:1.125rem;font-weight:700;color:var(--text-primary)}.cpw-subtitle{margin:6px 0 0;font-size:.8125rem;color:var(--text-muted)}.cpw-subtitle strong{color:var(--text-primary)}.cpw-form{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5) var(--space-6) var(--space-6)}.cpw-field{display:flex;flex-direction:column;gap:6px}.cpw-label{font-size:.6875rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.cpw-input{width:100%;padding:12px 14px;border:1px solid var(--surface-border-strong);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-primary);font-size:1rem}.cpw-input:focus{outline:none;border-color:var(--accent-border);box-shadow:0 0 0 2px var(--accent-soft)}.cpw-message{padding:10px 12px;border-radius:var(--radius-sm);font-size:.875rem}.cpw-message--error{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid rgba(var(--red-400-rgb),.25)}.cpw-message--success{background:var(--color-success-bg);color:var(--color-income);border:1px solid rgba(var(--green-600-rgb),.25)}.cpw-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}@media(max-width:480px){.cpw-overlay{align-items:flex-end;padding:0}.cpw-modal{width:100%;max-width:none;max-height:min(90dvh,100%);border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-left:none;border-right:none;border-bottom:none;padding-bottom:max(var(--space-6),var(--safe-bottom))}.cpw-header{padding:var(--space-4) var(--space-4) var(--space-2-5)}.cpw-form{padding:var(--space-4)}.cpw-header .app-close-btn{width:44px;height:44px;min-width:44px;min-height:44px}}.admin-panel-drawer{position:fixed;inset:0;z-index:var(--z-overlay);background:var(--material-scrim);display:flex;align-items:flex-start;justify-content:center;padding:24px var(--page-gutter);overflow-y:auto;backdrop-filter:blur(var(--blur-md));-webkit-backdrop-filter:blur(var(--blur-md));animation:app-fade-in .18s ease}.admin-panel-shell{width:min(1320px,100%);height:min(860px,calc(100vh - 48px));display:flex;flex-direction:column;position:relative;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--surface-border-strong);background:var(--material-sheet);box-shadow:var(--shadow-lg);animation:app-slide-down .22s cubic-bezier(.22,1,.36,1)}.admin-panel-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 28px;background:var(--bg-primary);border-bottom:1px solid var(--surface-border-strong);flex-shrink:0}.admin-panel-heading{display:flex;flex-direction:column;gap:6px;min-width:0;padding-right:40px}.admin-panel-badge{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:4px 10px;border-radius:var(--radius-pill);font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent-border)}.admin-panel-badge svg{width:12px;height:12px}.admin-panel-title{margin:4px 0 0;color:var(--text-primary);font-size:1.375rem;line-height:1.25;font-weight:700;letter-spacing:-.01em}.admin-panel-description{margin:0;color:var(--text-muted);font-size:.875rem;line-height:1.5;max-width:560px}.admin-panel-header .app-close-btn{flex-shrink:0;position:relative;z-index:5}.admin-panel-body{flex:1;min-height:0;overflow-y:auto;background:var(--bg-primary)}@media(max-width:968px){.admin-panel-drawer{padding:0;align-items:stretch;overflow:hidden}.admin-panel-shell{width:100%;height:100dvh;max-height:100dvh;border-radius:0;border-left:none;border-right:none}.admin-panel-topbar{position:sticky;top:0;z-index:20;align-items:center;gap:12px;padding:max(14px,var(--safe-top)) max(16px,var(--safe-right)) 14px max(16px,var(--safe-left))}.admin-panel-heading{flex:1;min-width:0;padding-right:4px}.admin-panel-badge{display:none}.admin-panel-title{margin:0;font-size:1.125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-panel-description{display:none}.admin-panel-header .app-close-btn{width:48px;height:48px;min-width:48px;min-height:48px}.admin-panel-header .app-close-btn svg{width:22px;height:22px}.admin-panel-body{padding-bottom:max(16px,var(--safe-bottom))}}.pf-broker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.pf-broker-card{padding:16px;display:flex;flex-direction:column;gap:10px}.pf-broker-card__head{display:flex;justify-content:space-between;align-items:center;gap:8px}.pf-broker-card__head h3{margin:0;font-size:1rem;color:var(--text-primary)}.pf-broker-card__hint,.pf-broker-card__meta{margin:0;font-size:.78rem;color:var(--text-muted);line-height:1.4}.pf-broker-card__error{color:var(--color-danger)}.pf-broker-card__form{display:flex;flex-direction:column;gap:8px}.pf-broker-card__form input[type=password],.pf-broker-card__form input[type=text],.pf-import-form select{padding:8px 10px;border-radius:var(--radius-md);border:1px solid var(--surface-border);background:var(--bg-secondary);color:var(--text-primary);font-size:.85rem}.pf-broker-card__checkbox{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--text-secondary)}.pf-broker-card .btn{align-self:flex-start}.pf-broker-card__form-actions{display:flex;gap:8px;margin-top:auto;flex-wrap:wrap}.pf-import-form{display:flex;flex-direction:column;gap:10px}.pf-import-result{margin:0;font-size:.85rem;color:var(--text-secondary)}.pf-broker-card__sync{display:flex;flex-direction:column;gap:6px}.pf-broker-card__sync-btn{gap:6px}.pf-broker-card__sync-result{margin:0;font-size:.76rem;color:var(--color-success)}.pf-broker-card__reconciliation{padding:8px 10px;border-radius:var(--radius-sm, 6px);background:var(--color-warning-bg);display:flex;flex-direction:column;gap:4px}.pf-broker-card__reconciliation-title{margin:0;font-size:.78rem;font-weight:600;color:var(--color-warning)}.pf-broker-card__reconciliation-list{margin:0;padding-left:18px;font-size:.76rem;color:var(--text-secondary)}.pf-broker-card__reconciliation .pf-broker-card__hint{margin:0}.connections-panel-drawer{position:fixed;inset:0;z-index:var(--z-overlay);background:var(--material-scrim);display:flex;align-items:flex-start;justify-content:center;padding:var(--space-6) var(--page-gutter);overflow-y:auto;backdrop-filter:blur(var(--blur-sm));-webkit-backdrop-filter:blur(var(--blur-sm));animation:app-fade-in .18s ease}.connections-panel-shell{width:min(960px,100%);max-height:min(860px,calc(100vh - 48px));display:flex;flex-direction:column;position:relative;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--surface-border-strong);background:var(--material-sheet);box-shadow:var(--shadow-lg);animation:app-slide-down .22s cubic-bezier(.22,1,.36,1)}.connections-panel-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 28px;background:transparent;border-bottom:1px solid var(--surface-border);flex-shrink:0}.connections-panel-heading{display:flex;flex-direction:column;gap:6px;min-width:0;padding-right:40px}.connections-panel-title{margin:0;color:var(--text-primary);font-size:1.375rem;line-height:1.25;font-weight:700;letter-spacing:-.01em}.connections-panel-description{margin:0;color:var(--text-muted);font-size:.875rem;line-height:1.45}.connections-panel-body{padding:20px 28px 28px;overflow-y:auto;display:flex;flex-direction:column;gap:28px}.connections-section{display:flex;flex-direction:column;gap:12px}.connections-section__head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.connections-section__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.connections-section__head h3{margin:0;font-size:1rem;font-weight:700;color:var(--text-primary)}.connections-section__hint{margin:0;font-size:.82rem;color:var(--text-muted);line-height:1.45}.connections-loading{color:var(--text-muted);font-size:.875rem}.connections-wallet-card{padding:16px 18px}.connections-wallet-card .wallet-setup{padding:0;max-width:none;background:transparent;border:none;border-radius:0}.connections-wallet-card .wallet-setup h2{display:none}.connections-wallet-card .wallet-copy{margin-bottom:10px}.connections-wallet-card .wallet-link{margin-bottom:14px}.connections-wallet-card .wallet-token-form{max-width:none}.connections-wallet-card__copy{margin:0 0 12px;font-size:.85rem;color:var(--text-secondary);line-height:1.45}@media(max-width:968px){.connections-panel-drawer{padding:12px}.connections-panel-topbar,.connections-panel-body{padding-left:16px;padding-right:16px}}@media(max-width:480px){.connections-panel-drawer{align-items:flex-end;padding:0}.connections-panel-shell{width:100%;max-height:min(90dvh,100%);border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-left:none;border-right:none;border-bottom:none}.connections-panel-body{padding-bottom:max(var(--space-6),var(--safe-bottom))}}.header{position:sticky;top:0;z-index:var(--z-header);padding-top:max(env(safe-area-inset-top,0px),var(--safe-top, 0px));padding-left:max(env(safe-area-inset-left,0px),var(--safe-left, 0px));padding-right:max(env(safe-area-inset-right,0px),var(--safe-right, 0px));background:var(--material-chrome);backdrop-filter:blur(var(--blur-md)) saturate(180%);-webkit-backdrop-filter:blur(var(--blur-md)) saturate(180%);border-bottom:none;box-shadow:inset 0 -1px 0 var(--surface-border);isolation:isolate}.header-container{width:100%;max-width:none;margin:0;padding-left:var(--page-gutter);padding-right:var(--page-gutter);min-height:64px;display:flex;align-items:stretch;justify-content:space-between;gap:24px}.header-left{display:flex;align-items:stretch;gap:32px;min-width:0;flex:1}.header-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.logo{display:flex;align-items:center;flex-shrink:0}.header-logo-img{width:48px;height:48px;object-fit:contain}.nav{display:flex;align-items:stretch;gap:2px;min-width:0}.nav a{position:relative;display:flex;align-items:center;color:var(--text-muted);text-decoration:none;font-weight:500;font-size:.875rem;letter-spacing:.01em;padding:0 14px;white-space:nowrap;transition:color var(--dur-fast) var(--ease-standard)}.nav a:hover{color:var(--text-secondary)}.nav a:active{color:var(--text-primary)}.nav a.active{color:var(--text-primary);font-weight:600}.nav a.active:after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:2px;background:var(--accent);border-radius:2px 2px 0 0}.user-section{display:flex;align-items:center;gap:12px;flex-shrink:0}.welcome{display:none}.user-menu-trigger{display:inline-flex;align-items:center;gap:10px;padding:6px 12px 6px 6px;border-radius:999px;border:1px solid var(--surface-border);background:var(--surface-1);color:var(--text-primary);cursor:pointer;transition:background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard);max-width:220px}.user-menu-trigger:hover,.user-menu-trigger.active{background:var(--surface-2);border-color:var(--surface-border-strong)}.user-menu-avatar{width:32px;height:32px;border-radius:50%;background:var(--accent-soft);border:1px solid var(--accent-border);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-menu-avatar svg{width:16px;height:16px}.user-menu-name{font-size:.875rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.user-menu-badge{flex-shrink:0;font-size:.625rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent-border)}.user-menu-badge--admin{background:rgba(var(--blue-500-rgb),.14);color:var(--color-info);border-color:rgba(var(--blue-500-rgb),.35)}.user-menu-chevron{width:14px;height:14px;flex-shrink:0;color:var(--text-muted);transition:transform var(--dur-fast) var(--ease-standard)}.user-menu-trigger.active .user-menu-chevron{transform:rotate(180deg)}.user-avatar,.avatar-text{display:none}.hamburger{display:none;flex-direction:column;justify-content:space-between;width:30px;height:24px;background:transparent;border:none;cursor:pointer;padding:0;position:relative;z-index:1003}.hamburger span{display:block;width:100%;height:2px;background:var(--text-secondary);border-radius:2px;transition:transform var(--dur-base) var(--ease-standard),opacity var(--dur-base) var(--ease-standard);transform-origin:center}.hamburger.active span:nth-child(1){transform:translateY(11px) rotate(45deg)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:translateY(-11px) rotate(-45deg)}.mobile-menu-overlay{display:block;position:fixed;top:0;left:0;width:100%;height:100%;background:var(--material-scrim);backdrop-filter:blur(var(--blur-sm));-webkit-backdrop-filter:blur(var(--blur-sm));z-index:var(--z-overlay);animation:app-fade-in var(--dur-base) var(--ease-out) both}.mobile-menu-overlay--closing{animation:app-fade-out var(--dur-base) var(--ease-exit) both;pointer-events:none}.mobile-nav{display:flex;position:fixed;top:0;right:0;width:300px;max-width:100%;height:100vh;height:100dvh;background:var(--bg-primary);border-left:1px solid var(--surface-border);z-index:var(--z-menu-open-header);flex-direction:column;padding-top:max(env(safe-area-inset-top,0px),var(--safe-top, 0px));padding-left:max(env(safe-area-inset-left,0px),var(--safe-left, 0px));padding-right:max(env(safe-area-inset-right,0px),var(--safe-right, 0px));padding-bottom:max(env(safe-area-inset-bottom,0px),var(--safe-bottom, 0px));overflow:hidden;animation:app-drawer-in var(--dur-slow) var(--ease-enter) both}.mobile-nav--closing{animation:app-drawer-out var(--dur-base) var(--ease-exit) both;pointer-events:none}.mobile-nav-panels{display:flex;width:200%;flex:1;min-height:0;transform:translate(0);transition:transform var(--dur-base) var(--ease-standard)}.mobile-nav--account .mobile-nav-panels{transform:translate(-50%)}.mobile-nav-panel{width:50%;height:100%;display:flex;flex-direction:column;min-height:0}.mobile-user-entry{display:flex;align-items:center;gap:10px;height:56px;width:100%;margin:0;padding:0 14px;border:none;border-bottom:1px solid var(--surface-border);border-radius:0;background:transparent;color:inherit;text-align:left;cursor:pointer;flex-shrink:0;-webkit-tap-highlight-color:transparent;transition:background var(--dur-fast) var(--ease-standard);box-sizing:border-box}.mobile-user-entry:hover,.mobile-user-entry:active{background:var(--surface-hover)}.mobile-user-avatar{width:32px;height:32px;border-radius:50%;background:var(--accent-soft);border:1px solid var(--accent-border);display:flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0}.mobile-user-avatar svg{width:16px;height:16px}.mobile-user-info{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:6px 8px;min-width:0;flex:1}.mobile-welcome{display:none}.mobile-username{font-size:.875rem;color:var(--text-primary);font-weight:600;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.mobile-user-badge{display:inline-block;margin-top:0;font-size:.625rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent-border)}.mobile-user-badge--admin{background:rgba(var(--blue-500-rgb),.14);color:var(--color-info);border-color:rgba(var(--blue-500-rgb),.35)}.mobile-account-back{display:inline-flex;align-items:center;gap:6px;height:56px;margin:0;padding:0 52px 0 14px;width:100%;box-sizing:border-box;border:none;border-bottom:1px solid var(--surface-border);border-radius:0;background:transparent;color:var(--text-secondary);font-size:.875rem;font-weight:600;cursor:pointer;flex-shrink:0}.mobile-account-back svg{width:18px;height:18px}.mobile-account-back:hover{background:var(--surface-hover);color:var(--text-primary)}.mobile-menu-scroll{flex:1;min-height:0;overflow-y:auto;padding:0 0 max(20px,var(--safe-bottom));-webkit-overflow-scrolling:touch}.mobile-menu-section{padding:4px 0 12px}.mobile-menu-section-label{margin:0 0 6px;padding:0 24px;font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.mobile-menu-section-list{display:flex;flex-direction:column;gap:2px}.mobile-nav-item{display:block;padding:13px 24px;color:var(--text-secondary);text-decoration:none;font-weight:500;font-size:.9375rem;transition:color var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard);border-left:2px solid transparent}.mobile-nav-item:hover,.mobile-nav-item:active{background:var(--surface-hover);color:var(--text-primary)}.mobile-nav-item.active{background:var(--accent-soft);color:var(--accent);border-left-color:var(--accent);font-weight:600}.mobile-account-btn{display:flex;align-items:center;gap:12px;width:100%;padding:13px 24px;margin:0;background:transparent;color:var(--text-secondary);border:none;border-left:2px solid transparent;font-weight:500;font-size:.9375rem;cursor:pointer;text-align:left;text-decoration:none;transition:background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}.mobile-account-btn svg{width:18px;height:18px;flex-shrink:0;color:var(--text-muted)}.mobile-account-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.mobile-account-btn:hover svg{color:var(--accent)}.mobile-account-btn--upgrade{color:var(--accent-hover)}.mobile-account-btn--upgrade svg{color:var(--accent)}.mobile-logout-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:calc(100% - 32px);margin:12px 16px 0;padding:12px 16px;background:transparent;color:var(--color-danger);border:1px solid rgba(var(--red-400-rgb),.35);border-radius:var(--radius-sm);font-weight:500;font-size:.9375rem;cursor:pointer;transition:background var(--dur-fast) var(--ease-standard)}.mobile-logout-btn svg{width:18px;height:18px;flex-shrink:0}.mobile-logout-btn:hover{background:var(--color-danger-bg)}.user-menu-container{position:relative}.user-dropdown-menu{position:absolute;top:calc(100% + 10px);right:0;background:var(--material-popover);border:1px solid var(--surface-border-strong);border-radius:var(--radius-md);min-width:240px;box-shadow:var(--shadow-lg);z-index:var(--z-overlay);transform-origin:top right;animation:app-modal-in var(--dur-base) var(--ease-enter) both;overflow:hidden;padding:8px}.user-dropdown-menu--closing{animation:app-modal-out var(--dur-fast) var(--ease-exit) both;pointer-events:none}.dropdown-user-header{padding:10px 12px 8px}.dropdown-user-name{display:block;font-size:.9375rem;font-weight:600;color:var(--text-primary);line-height:1.3}.dropdown-user-role{display:inline-block;margin-top:6px;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent-border)}.dropdown-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:.9375rem;font-weight:500;cursor:pointer;text-align:left;text-decoration:none;transition:background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}.dropdown-item svg{width:18px;height:18px;flex-shrink:0;color:var(--text-muted);transition:color var(--dur-fast) var(--ease-standard)}.dropdown-item span{flex:1;line-height:1.2}.dropdown-item:hover{background:var(--surface-hover);color:var(--text-primary)}.dropdown-item:hover svg{color:var(--accent)}.dropdown-item--upgrade{background:var(--accent-soft);color:var(--accent-hover);border:1px solid var(--accent-border);margin-bottom:4px}.dropdown-item--upgrade svg{color:var(--accent)}.dropdown-item--upgrade:hover{background:var(--accent-soft-strong);color:var(--text-primary)}.dropdown-item--upgrade:hover svg{color:var(--accent-hover)}.dropdown-user-role--admin{background:rgba(var(--blue-500-rgb),.14);color:var(--color-info);border-color:rgba(var(--blue-500-rgb),.35)}.dropdown-item--logout:hover{color:var(--color-danger)}.dropdown-item--logout:hover svg{color:var(--color-danger)}.dropdown-divider{height:1px;background:var(--surface-border);margin:6px 4px}.mobile-page-title{display:none}.desktop-nav,.desktop-user{display:flex}@media(max-width:1100px){.header-left{gap:20px}.nav a{padding:0 10px;font-size:.8125rem}.nav a.active:after{left:10px;right:10px}}@media(max-width:968px){.desktop-nav,.desktop-user{display:none}.hamburger{display:flex}.hamburger:before{content:"";position:absolute;inset:-10px -8px}.header-container{position:relative;padding-left:max(12px,var(--safe-left));padding-right:max(12px,var(--safe-right));min-height:56px}.header-left{flex:0;align-items:center;gap:0}.header-logo-img{width:40px;height:40px}.mobile-page-title{display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;padding:2px 0 8px;border:none;background:none;font-family:inherit;font-size:1rem;font-weight:600;letter-spacing:-.02em;color:var(--text-primary);cursor:pointer;max-width:min(200px,calc(100vw - 112px));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color var(--dur-fast) var(--ease-standard),opacity var(--dur-fast) var(--ease-standard);-webkit-tap-highlight-color:transparent}.mobile-page-title:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent);border-radius:2px}.mobile-page-title:active{color:var(--accent);opacity:.8}}@media(max-width:480px){.mobile-nav{width:100%}.mobile-menu-scroll{padding-bottom:max(20px,var(--safe-bottom))}}.env-badge{display:inline-flex;align-items:center;align-self:center;margin-left:8px;padding:2px 7px;border:1px solid var(--accent-border);border-radius:var(--radius-xs);background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.08em;line-height:1.4;text-transform:uppercase;white-space:nowrap;-webkit-user-select:none;user-select:none}@media(max-width:480px){.env-badge{margin-left:6px;padding:1px 5px;font-size:9px}}.ptr-indicator{position:fixed;top:calc(var(--safe-top) + 6px);left:50%;z-index:90;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--material-popover);border:1px solid var(--surface-border-strong);box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transform:translate(-50%) translateY(calc(var(--ptr-pull, 0px) - 48px));transition:opacity var(--dur-fast) var(--ease-standard)}.ptr-indicator--visible{opacity:calc(.35 + var(--ptr-progress, 0) * .65)}.ptr-icon{width:18px;height:18px;border:2px solid var(--text-muted);border-top-color:var(--accent);border-radius:50%;transform:rotate(calc(var(--ptr-progress, 0) * 320deg));transition:border-color var(--dur-fast) var(--ease-standard)}.ptr-indicator--ready .ptr-icon{border-color:var(--accent-border);border-top-color:var(--accent)}.ptr-indicator--refreshing .ptr-icon{animation:app-spin .7s linear infinite;border-color:var(--accent-border);border-top-color:var(--accent)}@media(min-width:969px){.ptr-indicator{display:none}}.login-page{min-height:100vh;min-height:100dvh;background:var(--bg-gradient);display:flex;align-items:center;justify-content:center;padding:max(20px,var(--safe-top)) var(--page-padding-inline) max(20px,var(--safe-bottom))}.login-container{width:100%;max-width:480px}.login-card{background:var(--bg-card);border:1px solid var(--surface-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.login-brand{display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px 36px 28px;border-bottom:1px solid var(--surface-border);background:linear-gradient(180deg,rgba(var(--accent-rgb),.06) 0%,transparent 100%)}.login-logo{width:96px;height:96px;object-fit:contain}.login-title{margin:0;font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}.login-subtitle{margin:0;font-size:.875rem;color:var(--text-muted)}.login-form{display:flex;flex-direction:column;gap:18px;padding:28px 36px 32px}.login-field{display:flex;flex-direction:column;gap:6px}.login-label{font-size:.6875rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.login-input{width:100%;padding:13px 14px;background:var(--surface-sunken);border:1px solid var(--surface-border-strong);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.9375rem;font-family:inherit;color-scheme:var(--color-scheme);transition:border-color var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard)}.login-input::placeholder{color:var(--text-faint)}.login-input:focus{outline:none;background:rgba(var(--black-rgb),.45);border-color:var(--accent)}.login-input:-webkit-autofill,.login-input:-webkit-autofill:hover,.login-input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--bg-primary) inset;-webkit-text-fill-color:var(--text-primary);caret-color:var(--text-primary);transition:background-color 5000s var(--ease-standard) 0s}.login-input:disabled{opacity:.55;cursor:not-allowed}.login-error{background:var(--color-danger-bg);border:1px solid rgba(var(--red-600-rgb),.35);color:var(--color-danger);padding:10px 12px;border-radius:var(--radius-sm);font-size:.8125rem;line-height:1.45}@media(prefers-reduced-motion:no-preference){.login-error{animation:login-shake .45s var(--ease-standard)}}@keyframes login-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.login-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;margin-top:6px;padding:14px 18px;border:1px solid rgba(var(--accent-rgb),.45);border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--accent-deep) 0%,var(--accent-deep) 100%);color:var(--accent-contrast);font-size:.9375rem;font-weight:600;font-family:inherit;cursor:pointer;box-shadow:0 4px 16px rgba(var(--accent-rgb),.22);transition:background var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard),opacity var(--dur-fast) var(--ease-standard)}.login-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--accent) 0%,var(--accent-deep) 100%);box-shadow:0 6px 20px rgba(var(--accent-rgb),.3)}.login-btn:active:not(:disabled){transform:scale(.98)}.login-btn:disabled{opacity:.65;cursor:not-allowed;transform:none}.login-footer{padding:0 36px 28px}.login-security{display:flex;align-items:center;justify-content:center;gap:8px;margin:0;padding:10px 12px;border-radius:var(--radius-sm);background:var(--color-success-bg);border:1px solid rgba(var(--green-600-rgb),.22);color:var(--color-success);font-size:.75rem;font-weight:600;line-height:1.4;text-align:center}.login-security svg{flex-shrink:0;width:14px;height:14px}@media(max-width:480px){.login-page{align-items:flex-start;padding-top:max(32px,var(--safe-top));padding-bottom:max(24px,var(--safe-bottom))}.login-brand{padding:28px 20px 20px}.login-form{padding:20px;gap:16px}.login-footer{padding:0 20px 24px}.login-logo{width:80px;height:80px}.login-title{font-size:1.35rem}.login-input{font-size:16px;padding:14px}.login-btn{min-height:48px;font-size:1rem}}.home-panel--loading{position:relative}.home-panel--loading.sentiment-row--loading,.home-panel--loading.indices-wrap--loading{pointer-events:none}.sentiment-row.home-panel--loading{border-radius:var(--radius-md)}.indices-wrap.home-panel--loading{border-radius:var(--radius-md);min-height:74px}.home-panel-loader{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:var(--material-chrome);backdrop-filter:blur(var(--blur-sm));-webkit-backdrop-filter:blur(var(--blur-sm));border-radius:inherit;pointer-events:none}@media(prefers-reduced-transparency:reduce){.home-panel-loader{background:var(--bg-primary)}}.home-panel-loader-text{font-size:.78rem;font-weight:600;color:var(--text-muted);letter-spacing:.02em}.home-page{padding:16px var(--page-padding-inline) var(--page-padding-bottom);width:100%}.home-container{width:100%;max-width:var(--dashboard-max);margin-inline:auto;display:flex;flex-direction:column;gap:16px}.home-intel-row{display:flex;flex-direction:column;gap:16px}@media(min-width:969px){.home-intel-row{display:grid;grid-template-columns:minmax(280px,.92fr) minmax(340px,1.08fr);gap:16px;align-items:stretch}.home-intel-row .hn-panel,.home-intel-row .hec-panel{margin-top:0;display:flex;flex-direction:column;min-width:0;min-height:0;max-height:min(520px,72vh)}.home-intel-row .hn-note{display:none}.home-intel-row .hn-header,.home-intel-row .hec-header{flex-shrink:0;margin-bottom:10px;gap:8px}.home-intel-row .hn-item{padding:7px 6px;gap:4px}.home-intel-row .hn-headline{font-size:.84rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2;overflow:hidden}.home-intel-row .hn-summary{display:none}.home-intel-row .hn-body,.home-intel-row .hec-body{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb, rgba(var(--accent-rgb), .45)) transparent}.home-intel-row .hec-filter{height:28px;padding:0 8px;font-size:var(--text-2xs)}.home-intel-row .hec-month-label{min-width:0}.home-intel-row .hec-weekdays,.home-intel-row .hec-grid{gap:4px}.home-intel-row .hec-cell{padding:6px;min-height:48px;gap:4px}.home-intel-row .hec-cell--has{padding:6px;gap:4px;min-height:52px}.home-intel-row .hec-cell--idle{min-height:40px;justify-content:center}.home-intel-row .hec-day-count,.home-intel-row .hec-earnings--desktop{display:none}.home-intel-row .hec-mobile-summary{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.home-intel-row .hec-pill{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 5px;border-radius:var(--radius-pill);font-size:var(--text-2xs);font-weight:700;line-height:1}.home-intel-row .hec-pill--bmo{background:var(--hec-bmo-soft);color:var(--hec-bmo);border:1px solid var(--hec-bmo-border)}.home-intel-row .hec-pill--amc{background:var(--hec-amc-soft);color:var(--hec-amc);border:1px solid var(--hec-amc-border)}.home-intel-row .hec-detail{padding:10px}.home-intel-row .hec-detail-sessions{grid-template-columns:1fr;gap:8px}}.home-page :is(button,[role=button],[role=tab],a,input,select,summary):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.home-intel-row .hn-body[data-edge-start=true][data-edge-end=true]{mask-image:linear-gradient(to bottom,transparent,black 20px,black calc(100% - 20px),transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,black 20px,black calc(100% - 20px),transparent)}.home-intel-row .hn-body[data-edge-start=false][data-edge-end=true]{mask-image:linear-gradient(to bottom,black calc(100% - 28px),transparent);-webkit-mask-image:linear-gradient(to bottom,black calc(100% - 28px),transparent)}.home-intel-row .hn-body[data-edge-start=true][data-edge-end=false]{mask-image:linear-gradient(to bottom,transparent,black 20px);-webkit-mask-image:linear-gradient(to bottom,transparent,black 20px)}.wl-tile-wrap>.intel-stock-btn:after,.indices-edit-btn:after,.market-status-badge--compact:after{content:"";position:absolute}.wl-tile-wrap>.intel-stock-btn:after{inset:-13px}.indices-edit-btn{position:relative}.indices-edit-btn:after{inset:-6px}.market-status-badge--compact{position:relative}.market-status-badge--compact:after{inset:-12px -4px}@media(hover:none){.wl-tile-wrap>.intel-stock-btn{top:8px;bottom:auto;opacity:.8;pointer-events:auto}}.market-strip{display:flex;align-items:stretch;gap:12px}.indices-wrap{flex:1;min-width:0;position:relative;order:1}@property --edge-start{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --edge-end{syntax: "<length>"; inherits: false; initial-value: 0px;}.tickers-row{flex:1;min-width:0;display:flex;gap:8px;align-items:stretch;overflow-x:auto;padding-block:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;mask-image:linear-gradient(to right,transparent,black var(--edge-start),black calc(100% - var(--edge-end)),transparent);-webkit-mask-image:linear-gradient(to right,transparent,black var(--edge-start),black calc(100% - var(--edge-end)),transparent);transition:--edge-start var(--dur-base) var(--ease-out),--edge-end var(--dur-base) var(--ease-out)}.tickers-row[data-edge-start=true]{--edge-start: 28px}.tickers-row[data-edge-end=true]{--edge-end: 28px}@media(hover:hover)and (pointer:fine){.tickers-row{cursor:grab}}@media(hover:none),(pointer:coarse){.tickers-row{touch-action:pan-x;scroll-snap-type:x proximity}.tickers-row .index-tile{scroll-snap-align:start;touch-action:pan-x}}.tickers-row::-webkit-scrollbar{display:none}.tickers-row--dragging{cursor:grabbing;scroll-snap-type:none;user-select:none;-webkit-user-select:none}.tickers-row--dragging .index-tile{pointer-events:none}.sentiment-row{display:flex;gap:8px;flex-shrink:0;min-width:260px;order:2}.sentiment-row .sentiment-card{flex:1;min-width:120px}.index-tile{flex:1 0 auto;min-width:0;min-height:74px;display:flex;flex-direction:column;box-sizing:border-box;padding:8px 12px;background:linear-gradient(145deg,var(--surface-1) 0%,var(--surface-1) 100%);border:1px solid var(--surface-border);border-radius:var(--radius-sm);transition:border-color var(--dur-fast) var(--ease-out),transform var(--dur-press) var(--ease-out);overflow:hidden;font:inherit;color:inherit;text-align:left}.index-tile--clickable:active{transform:scale(var(--press-scale))}.index-tile--clickable{cursor:pointer}.tickers-row .index-tile--clickable{cursor:inherit}@media(hover:none),(pointer:coarse){.tickers-row .index-tile--clickable{touch-action:pan-x}}.index-tile--clickable:hover{border-color:var(--surface-border-strong);box-shadow:var(--shadow-sm)}.index-tile--clickable:focus-visible{outline:2px solid var(--accent-border);outline-offset:2px}.index-tile-main{display:flex;flex:1;min-height:0;flex-direction:row;align-items:center;gap:8px}.index-tile-body{flex:0 1 auto;min-width:0;max-width:none;display:flex;flex-direction:column;gap:3px}.index-tile-head-row{display:flex;align-items:baseline;justify-content:flex-start;gap:5px;min-width:0;width:max-content;max-width:100%}.index-tile-head-row.up .index-tile-change{color:var(--color-success)}.index-tile-head-row.down .index-tile-change{color:var(--color-danger)}.index-tile-change-abs.up{color:var(--color-success)}.index-tile-change-abs.down{color:var(--color-danger)}.indices-edit-btn{flex-shrink:0;align-self:center;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid var(--surface-border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:color var(--dur-fast),border-color var(--dur-fast),background var(--dur-fast)}.indices-edit-btn.active{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-border)}.indices-edit-btn svg{width:14px;height:14px}.indices-edit-btn:hover{color:var(--text-primary);border-color:var(--surface-border-strong);background:var(--surface-hover)}.index-tile-name{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--text-strong)}.index-tile-price{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums;letter-spacing:.01em;line-height:1.1}.index-tile-change{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-weight:700;font-variant-numeric:tabular-nums;flex-shrink:0}.index-tile-change-abs{display:none}.index-tile:hover{border-color:var(--surface-border-strong)}.index-tile-spark{flex:1 1 0;min-width:24px;width:auto;height:100%;max-height:46px;min-height:36px;align-self:stretch;margin:0;overflow:visible;color:rgba(var(--slate-400-rgb),.9)}.index-tile-spark-line{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.index-tile-spark-area{stroke:none}.index-tile-spark-grid line{stroke:rgba(var(--slate-400-rgb),.45);stroke-width:1;stroke-dasharray:3 2}.index-tile-spark.up{color:rgba(var(--green-600-rgb),.9)}.index-tile-spark.down{color:rgba(var(--red-400-rgb),.92)}.index-tile--skeleton{min-height:74px;animation:app-pulse 1.4s ease-in-out infinite;background:var(--surface-hover)}.indices-edit-overlay{position:fixed;inset:0;z-index:var(--z-overlay-elevated);background:var(--material-scrim);display:flex;align-items:center;justify-content:center;padding:var(--space-5);animation:app-fade-in var(--dur-fast) var(--ease-out)}.indices-edit-modal{width:min(400px,100%);background:var(--material-sheet);border:1px solid var(--surface-border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.indices-edit-modal.indices-edit-popover{overflow:visible}.indices-edit-modal--overlay{position:relative;top:auto;left:auto;width:min(400px,100%);max-height:min(88dvh,560px);display:flex;flex-direction:column;overflow:hidden;animation:app-modal-in var(--dur-base) var(--ease-enter) both}.indices-edit-modal--overlay .indices-edit-list{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.indices-edit-modal--overlay .indices-edit-add,.indices-edit-modal--overlay .indices-edit-hint,.indices-edit-modal--overlay .indices-edit-error{flex-shrink:0}.indices-edit-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:1200;transform-origin:top left;animation:app-modal-in var(--dur-base) var(--ease-enter) both}.indices-edit-modal.indices-edit-modal--closing{animation:app-modal-out var(--dur-fast) var(--ease-exit) both;pointer-events:none}.indices-edit-overlay--closing{animation:app-fade-out var(--dur-base) var(--ease-exit) both;pointer-events:none}.indices-edit-modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--surface-border)}.indices-edit-head-actions{display:flex;align-items:center;gap:10px}.indices-edit-modal-head h2{margin:0;font-size:.95rem;font-weight:700;color:var(--text-primary)}.indices-edit-reorder-btn{background:none;border:1px solid var(--surface-border);color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;transition:color var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard);font-size:.95rem}.indices-edit-reorder-btn:hover{background:var(--surface-hover);border-color:var(--surface-border-strong);color:var(--text-primary)}.indices-edit-reorder-btn.active{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-border)}.indices-edit-list{list-style:none;margin:0;padding:8px 0}.indices-edit-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 16px}.indices-edit-item-actions{display:flex;align-items:center;gap:10px}.indices-edit-item-order{display:flex;flex-direction:row;gap:6px}.indices-edit-item-order .btn--icon{min-width:28px;min-height:28px;padding:0;font-size:.95rem}.indices-edit-item-info{display:flex;flex-direction:column;gap:1px;min-width:0}.indices-edit-item-symbol{font-size:.85rem;font-weight:700;color:var(--text-primary)}.indices-edit-item-name{font-size:.72rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.indices-edit-item-remove{flex-shrink:0;width:28px;height:28px;border:1px solid var(--surface-border);border-radius:6px;background:transparent;color:var(--text-muted);font-size:1.1rem;line-height:1;cursor:pointer}.indices-edit-item-remove:hover:not(:disabled){color:var(--color-danger);border-color:rgba(var(--red-600-rgb),.4);background:var(--color-danger-bg)}.indices-edit-item-remove:disabled{opacity:.3;cursor:not-allowed}.indices-edit-add{display:flex;flex-direction:column;gap:8px;padding:8px 16px 12px;border-top:1px solid var(--surface-border);min-width:0;width:100%;box-sizing:border-box;flex-shrink:0}.indices-edit-add .stock-search-input{flex:1;min-width:0;padding-left:12px}.indices-edit-add-row{display:flex;gap:8px;min-width:0}.indices-edit-modal .indices-edit-type-row{width:100%;min-width:0;flex-shrink:0;box-sizing:border-box}.indices-suggest-wrap{position:relative;flex:1;min-width:0}.suggestions-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;min-width:0;background:var(--bg-secondary);border:1px solid var(--surface-border-strong);border-radius:8px;box-shadow:var(--shadow-soft);z-index:1300;max-height:240px;overflow-y:auto}.indices-suggestion-item,.suggestion-item{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;font-size:.8rem}.indices-suggestion-item:hover,.suggestion-item:hover{background:var(--surface-hover)}.indices-suggestion-item--muted,.suggestion-item--muted{color:var(--text-muted);cursor:default;font-size:.75rem}.indices-suggestion-symbol{font-weight:700;color:var(--accent);min-width:48px}.indices-suggestion-name{flex:1;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.indices-edit-hint,.indices-edit-error{margin:0;padding:0 16px 8px;font-size:.72rem}.indices-edit-hint{color:var(--text-muted)}.indices-edit-error{color:var(--color-danger)}.indices-edit-modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--surface-border);background:rgba(var(--black-rgb),.12)}@media(max-width:768px){.indices-edit-overlay{padding:12px;padding-bottom:max(12px,var(--safe-bottom))}.indices-edit-modal--overlay{width:100%;max-height:min(90dvh,620px)}.indices-edit-modal--overlay .indices-edit-modal-head{padding:12px 14px}.indices-edit-modal--overlay .indices-edit-item{padding:10px 14px}.indices-edit-modal--overlay .indices-edit-item-order .btn--icon,.indices-edit-modal--overlay .indices-edit-item-remove{width:32px;height:32px;min-width:32px;min-height:32px}.indices-edit-modal--overlay .indices-edit-add{padding:10px 14px 12px}.indices-edit-modal .indices-edit-type-row .segment__btn{padding:6px 9px;font-size:var(--text-2xs)}.indices-edit-modal--overlay .indices-edit-add .stock-search-input{padding:7px 10px;font-size:.78rem}.indices-edit-modal--overlay .indices-edit-hint,.indices-edit-modal--overlay .indices-edit-error{padding:0 14px 12px}.indices-edit-modal--overlay .suggestions-dropdown{max-height:min(28dvh,180px)}}@media(max-width:480px){.indices-edit-overlay{align-items:flex-end;padding:0}.indices-edit-modal--overlay{width:100%;max-height:min(88dvh,100%);border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-left:none;border-right:none;border-bottom:none;padding-bottom:max(var(--space-4),var(--safe-bottom));animation-name:app-sheet-in}.indices-edit-modal--overlay.indices-edit-modal--closing{animation:app-sheet-out var(--dur-base) var(--ease-exit) both}.indices-edit-modal-head .app-close-btn{width:44px;height:44px;min-width:44px;min-height:44px}}.chart-panel{background:var(--surface-1);border:1px solid var(--surface-border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;container-type:inline-size;container-name:wl-chart}.watchlist-bar{border-bottom:1px solid var(--surface-border);padding:0 16px}.watchlist-bar--editing{background:rgba(var(--accent-rgb),.05);border-bottom-color:rgba(var(--accent-rgb),.22)}.watchlist-bar-row{display:flex;align-items:center;gap:14px;min-height:46px}.watchlist-label{flex-shrink:0;font-size:.8125rem;font-weight:700;letter-spacing:.01em;color:var(--accent);line-height:1;-webkit-user-select:none;user-select:none}.watchlist-tabs{flex:1;min-width:0;display:flex;align-items:center;gap:4px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:4px 0}.watchlist-tabs::-webkit-scrollbar{display:none}.watchlist-bar--editing .watchlist-bar-row{flex-wrap:wrap;align-items:center;row-gap:10px;padding:10px 0 8px}.watchlist-bar--editing .watchlist-tabs{flex:1 1 100%;order:2;width:100%;min-width:100%;flex-wrap:nowrap;gap:6px;margin:0 -4px;padding:2px 4px 8px;scrollbar-width:thin;scrollbar-color:rgba(var(--accent-rgb),.55) var(--surface-2)}.watchlist-bar--editing .watchlist-tabs::-webkit-scrollbar{display:block;height:6px}.watchlist-bar--editing .watchlist-tabs::-webkit-scrollbar-track{background:var(--surface-2);border-radius:var(--radius-pill)}.watchlist-bar--editing .watchlist-tabs::-webkit-scrollbar-thumb{background:rgba(var(--accent-rgb),.55);border-radius:var(--radius-pill)}.watchlist-bar--editing .watchlist-tabs::-webkit-scrollbar-thumb:hover{background:rgba(var(--accent-rgb),.75)}.watchlist-bar--editing .watchlist-toolbar{order:1;margin-left:auto;flex:1;justify-content:flex-end;min-width:0}.watchlist-bar--editing .watchlist-search{flex:1;max-width:280px;min-width:140px}.watchlist-tab-wrap{flex-shrink:0;display:flex;align-items:center}.watchlist-tab-wrap--edit{gap:0;border:1px solid var(--surface-border-strong);border-radius:var(--radius-sm);background:var(--surface-hover);overflow:hidden}.watchlist-tab-wrap--edit.watchlist-tab-wrap:has(.watchlist-tab--edit-active){border-color:rgba(var(--accent-rgb),.45);background:var(--accent-soft)}.watchlist-tab{position:relative;background:transparent;border:none;color:var(--text-muted);padding:8px 14px 10px;min-height:44px;font-size:.82rem;font-weight:500;font-family:inherit;cursor:pointer;white-space:nowrap;transition:color var(--dur-fast) var(--ease-standard);-webkit-tap-highlight-color:transparent;line-height:1.2}.watchlist-tab--edit{padding:7px 6px 7px 10px;font-weight:600;color:var(--text-secondary)}.watchlist-tab--edit-active{color:var(--accent)}.watchlist-tab:hover:not(.active):not(.watchlist-tab--edit){color:var(--text-secondary)}.watchlist-tab.active{color:var(--text-primary);font-weight:600}.watchlist-tab.active:after{content:"";position:absolute;left:10px;right:10px;bottom:0;height:2px;background:var(--accent);border-radius:2px 2px 0 0}.watchlist-tab-remove{flex-shrink:0;width:44px;min-width:44px;min-height:44px;padding:0;border:none;border-left:1px solid var(--surface-border);background:transparent;color:var(--text-muted);font-size:15px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard)}.watchlist-tab-remove:hover{color:var(--color-danger);background:var(--color-danger-bg)}.watchlist-toolbar{flex-shrink:0;display:flex;align-items:center;gap:10px;min-width:0}.watchlist-search{position:relative;width:min(100%,240px);display:flex;flex-direction:column;gap:8px}.watchlist-search-field{position:relative;z-index:5}.search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--text-muted);pointer-events:none}.stock-search-input{width:100%;padding:7px 10px 7px 32px;background:var(--surface-sunken);border:1px solid rgba(var(--accent-rgb),.25);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.78rem;font-weight:500;font-family:inherit}.stock-search-input::placeholder{color:var(--text-muted)}.stock-search-input:focus{outline:none;border-color:var(--accent);background:var(--surface-sunken-strong)}.watchlist-search-field .ticker-suggestions{z-index:var(--z-overlay-elevated)}.add-btn-inline,.suggestion-trailing{color:var(--color-success);font-weight:700}.wl-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px;border-bottom:1px solid var(--surface-border)}.wl-panel-title{display:flex;align-items:center;gap:8px;min-width:0;flex:1;flex-wrap:nowrap}.wl-panel-title .market-status-badge{min-width:0;max-width:100%;flex-shrink:1}.wl-panel-title .watchlist-label{font-size:.96rem;font-weight:800;color:var(--text-primary);letter-spacing:.03em;flex-shrink:0}.wl-panel-side{display:flex;flex-direction:row;align-items:center;gap:4px;flex-shrink:0;min-width:0}.wl-panel-side .btn{min-height:30px;min-width:0;padding:5px 10px;font-size:.72rem;gap:4px}.wl-panel-side .btn svg{width:13px;height:13px}.wl-panel-ai-group{display:inline-flex;flex-direction:row;align-items:center;gap:8px;min-width:0;flex-shrink:0;box-sizing:border-box}.wl-panel-ai-label{display:inline-flex;align-items:center;gap:4px;padding:0;font-size:var(--text-2xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);line-height:1;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none}.wl-panel-ai-label svg{width:11px;height:11px;flex-shrink:0;color:var(--text-muted)}.wl-panel-ai-row{display:flex;align-items:center;gap:4px;min-width:0}.wl-panel-ai-row .intel-btn,.wl-panel-ai-row .intel-btn--secondary{min-height:30px;padding:5px 10px;border-radius:8px;font-size:.72rem;font-weight:600;font-family:inherit;letter-spacing:0;gap:5px;background:transparent;border:1px solid var(--surface-border);color:var(--text-secondary);box-shadow:none;transform:none;transition:color var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}.wl-panel-ai-row .intel-btn:hover,.wl-panel-ai-row .intel-btn:focus-visible,.wl-panel-ai-row .intel-btn--secondary:hover,.wl-panel-ai-row .intel-btn--secondary:focus-visible{background:var(--surface-hover);border-color:var(--surface-border-strong);color:var(--text-primary);box-shadow:none;transform:none}.wl-panel-ai-row .intel-btn:active,.wl-panel-ai-row .intel-btn--secondary:active{transform:none;box-shadow:none;background:var(--surface-2);color:var(--text-primary)}.home-watchlist-heading{margin:8px 2px 10px;font-size:.82rem;font-weight:700;color:var(--text-primary);letter-spacing:.02em}.wl-panel-market-row{display:flex;align-items:center;margin-top:2px}.wl-board-updated{margin-top:10px;padding-top:8px;border-top:1px solid var(--surface-border);font-size:var(--text-2xs);color:var(--text-muted);text-align:right;font-variant-numeric:tabular-nums;column-span:all}.market-status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 8px;border-radius:999px;font-size:var(--text-2xs);font-weight:600;line-height:1.2;border:1px solid transparent;white-space:nowrap;max-width:100%;box-sizing:border-box;margin:0;font-family:inherit;color:inherit;background:transparent;cursor:default;appearance:none;-webkit-appearance:none;-webkit-tap-highlight-color:transparent;text-align:left}.market-status-badge--compact{cursor:pointer}.market-status-badge--compact:focus-visible{outline:2px solid rgba(var(--accent-rgb),.55);outline-offset:2px}.market-status-detail{display:inline-flex;align-items:center;gap:6px;min-width:0}.market-status-badge--compact:not(.market-status-badge--expanded) .market-status-detail{display:none}.market-status-badge svg{width:12px;height:12px;flex-shrink:0}.market-status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.market-status-label{font-weight:700;letter-spacing:.02em}.market-status-sep{opacity:.45}.market-status-countdown{font-weight:500;opacity:.92}.market-status-countdown strong{font-weight:800}.market-status-updated{font-weight:500;opacity:.8}.market-status-updated-date,.market-status-updated-time{font-variant-numeric:tabular-nums}.market-status-badge--open{color:var(--color-success);background:var(--color-success-bg);border-color:rgba(var(--green-600-rgb),.35)}.market-status-dot--open{background:var(--color-success);animation:app-pulse 2s ease-in-out infinite}.market-status-badge--pre{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-border)}.market-status-dot--pre{background:var(--accent)}.market-status-badge--post{color:var(--color-accent-alt);background:color-mix(in srgb,var(--color-accent-alt) 12%,transparent);border-color:color-mix(in srgb,var(--color-accent-alt) 35%,transparent)}.market-status-dot--post{background:var(--color-accent-alt)}.market-status-badge--closed{color:var(--color-neutral);background:var(--color-neutral-bg);border-color:rgba(var(--slate-400-rgb),.22)}.market-status-dot--closed{background:var(--color-neutral)}.market-status-badge--holiday{color:var(--text-secondary);background:var(--surface-2);border-color:rgba(var(--slate-400-rgb),.28)}.market-status-badge--holiday svg{color:var(--text-primary);opacity:.95}.wl-panel-head--editing{border-bottom-color:var(--surface-border)}.chart-panel:has(.wl-panel-head--editing){overflow:visible}.wl-board{position:relative;display:block;column-count:2;column-gap:12px;padding:14px 16px;min-height:180px}.wl-board--loading{pointer-events:none}.wl-column{display:flex;flex-direction:column;gap:10px;min-width:0;padding:12px;border-radius:var(--radius-md);border:1px solid var(--surface-border)}.wl-board>.wl-section{display:inline-block;width:100%;margin:0 0 12px;min-width:0;padding:10px;border-radius:var(--radius-md);border:1px solid var(--surface-border);background:rgba(var(--black-rgb),.16);break-inside:avoid}.wl-column--picks{background:var(--surface-1);border-color:var(--surface-border);border-top:2px solid var(--accent-border);display:flex;flex-direction:column;gap:14px}.wl-column--watchlist{background:linear-gradient(160deg,rgba(var(--accent-rgb),.1) 0%,var(--surface-1) 55%);border-color:var(--accent-border)}.wl-section--buy+.wl-section--crypto{padding-top:12px;border-top:1px solid var(--surface-border)}.wl-section-header{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin-bottom:8px;position:relative}.wl-section-drag-handle{width:30px;height:30px;min-width:30px;min-height:30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--surface-border);border-radius:var(--radius-xs);background:var(--surface-hover);color:var(--text-muted);cursor:grab;flex-shrink:0;touch-action:none;-webkit-tap-highlight-color:transparent}.wl-section-drag-handle svg{width:14px;height:14px}.wl-section-drag-handle:active{cursor:grabbing;color:var(--accent);background:var(--accent-soft);border-color:rgba(var(--accent-rgb),.35)}.wl-section--dragging{opacity:.35}.wl-section--section-drop-target{outline:2px dashed rgba(var(--accent-rgb),.7);outline-offset:3px}.wl-section-title{margin:0;display:inline-flex;align-items:center;gap:6px;font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.wl-section-title:before{content:"";width:8px;height:8px;border-radius:2px;flex-shrink:0;background:var(--wl-section-accent, var(--accent));box-shadow:0 0 8px color-mix(in srgb,var(--wl-section-accent, var(--accent)) 45%,transparent)}.wl-section-title--editable{cursor:pointer;padding:2px 6px;margin:-2px -6px;border-radius:var(--radius-xs);transition:background var(--dur-fast),color var(--dur-fast)}.wl-section-title--editable:hover{background:var(--surface-hover);color:var(--text-primary)}.wl-section-title-input{font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;background:var(--surface-2);border:1px solid var(--accent-border);border-radius:var(--radius-xs);padding:2px 6px;color:var(--text-primary);outline:none;width:120px}.wl-section-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.wl-section-color-btn{width:16px;height:16px;border-radius:50%;border:2px solid var(--text-faint);cursor:pointer;transition:transform var(--dur-fast),border-color var(--dur-fast)}.wl-section-color-btn:hover{transform:scale(1.15);border-color:var(--text-dim)}.wl-section-delete-btn{width:18px;height:18px;border-radius:50%;border:none;background:rgba(var(--red-400-rgb),.15);color:var(--color-danger);font-size:14px;font-weight:700;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--dur-fast),transform var(--dur-fast)}.wl-section-delete-btn:hover{background:rgba(var(--red-400-rgb),.3);transform:scale(1.1)}.wl-color-picker{position:absolute;top:100%;right:0;z-index:var(--z-dropdown);display:flex;gap:6px;padding:8px;background:var(--surface-2);border:1px solid var(--surface-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);margin-top:4px}.wl-color-option{width:20px;height:20px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform var(--dur-fast),border-color var(--dur-fast)}.wl-color-option:hover{transform:scale(1.15)}.wl-color-option.active{border-color:var(--text-strong)}.wl-add-section-btn{display:block;width:100%;margin-top:8px;border-style:dashed;border-width:2px;column-span:all}.wl-add-section-btn:hover:not(:disabled){border-color:var(--accent-border);color:var(--accent)}.wl-column-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.wl-column-empty{grid-column:1 / -1;margin:0;padding:16px 8px;text-align:center;font-size:.75rem;color:var(--text-muted)}.wl-panel-head--editing .watchlist-search{width:min(100%,640px);max-width:100%}.watchlist-toolbar--editing{position:relative;width:100%;flex-direction:column;align-items:stretch;gap:8px}.watchlist-edit-bar{display:flex;align-items:center;gap:8px;width:100%;min-width:0}.watchlist-edit-bar .watchlist-search-field{flex:1;min-width:0}.watchlist-edit-bar .btn{flex-shrink:0;margin-left:0}.wl-tile-wrap{position:relative;min-width:0}.wl-tile-wrap--edit{display:flex;align-items:stretch;gap:0}.wl-tile{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 10px 8px;border-radius:var(--radius-sm);border:1px solid var(--surface-border);background:var(--surface-sunken);cursor:pointer;text-align:left;transition:border-color var(--dur-fast) var(--ease-out),transform var(--dur-press) var(--ease-out)}.wl-tile-main{display:flex;flex-direction:column;width:100%;min-width:0;gap:4px}.wl-tile-body{display:flex;flex-direction:column;gap:4px;min-width:0;width:100%}.wl-tile-spark,.wl-tile-spark-wrap{display:none}.wl-tile-spark-line{fill:none;stroke:currentColor;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round}.wl-tile-spark-area{stroke:none}.wl-tile-spark-grid line{stroke:rgba(var(--slate-400-rgb),.45);stroke-width:1;stroke-dasharray:3 2}.wl-tile-spark.up{color:rgba(var(--green-600-rgb),.9)}.wl-tile-spark.down{color:rgba(var(--red-400-rgb),.92)}.wl-tile-spark.neutral{color:var(--text-secondary)}.wl-tile-spark.neutral .wl-tile-spark-grid line{stroke:var(--surface-border-strong)}@media(min-width:969px){.wl-tile:not(.wl-tile--edit){overflow:hidden}.wl-tile:not(.wl-tile--edit) .wl-tile-main{flex-direction:row;align-items:stretch;gap:8px;min-height:0}.wl-tile:not(.wl-tile--edit) .wl-tile-body{flex:0 1 auto;max-width:68%;width:auto}.wl-tile:not(.wl-tile--edit) .wl-tile-top{width:auto;gap:8px}.wl-tile:not(.wl-tile--edit) .wl-tile-identity{flex:0 1 auto}.wl-tile:not(.wl-tile--edit) .wl-tile-spark-wrap{display:flex;flex:1 1 0;flex-direction:column;align-items:stretch;justify-content:center;align-self:stretch;min-width:44px;min-height:36px;max-height:52px}.wl-tile:not(.wl-tile--edit) .wl-tile-spark{display:block;flex:1 1 auto;width:100%;min-width:0;height:auto;min-height:32px;max-height:46px;align-self:stretch;margin:0;overflow:visible;color:rgba(var(--slate-400-rgb),.9)}.wl-tile:not(.wl-tile--edit).wl-tile--has-ext .wl-tile-spark-wrap{max-height:64px}.wl-tile:not(.wl-tile--edit).wl-tile--has-ext .wl-tile-spark{max-height:58px}.wl-tile:not(.wl-tile--edit) .wl-tile-spark.up{color:rgba(var(--green-600-rgb),.9)}.wl-tile:not(.wl-tile--edit) .wl-tile-spark.down{color:rgba(var(--red-400-rgb),.92)}.wl-tile:not(.wl-tile--edit) .wl-tile-spark.neutral{color:var(--text-secondary)}}.wl-tile--skeleton{pointer-events:none;cursor:default;border-color:var(--surface-2);background:rgba(var(--black-rgb),.14)}.wl-tile-skeleton-shimmer{display:block;border-radius:4px;background:var(--surface-2);animation:app-pulse 1.4s ease-in-out infinite}.wl-tile-skeleton-line{height:8px}.wl-tile-skeleton-line--symbol{width:42px;margin-bottom:5px}.wl-tile-skeleton-line--price{width:54px;height:10px}.wl-tile-skeleton-line--change{width:68px;height:7px;margin-top:2px}.wl-tile-skeleton-spark{display:none}@media(min-width:969px){.wl-tile--skeleton .wl-tile-main{flex-direction:row;align-items:stretch;gap:8px}.wl-tile--skeleton .wl-tile-body{flex:0 1 auto;max-width:68%}.wl-tile-skeleton-spark{display:block;flex:1 1 0;min-height:36px;max-height:40px;align-self:center;border-radius:6px}}.wl-tile:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.wl-tile:active{transform:scale(var(--press-scale))}.wl-tile:focus{outline:none}.wl-tile:focus-visible{outline:2px solid var(--accent-border);outline-offset:2px}.wl-tile--active{border-color:var(--accent-border);box-shadow:0 0 0 1px var(--accent-border)}.wl-tile--buy:hover,.wl-tile--buy.wl-tile--active{border-color:rgba(var(--green-600-rgb),.45)}.wl-tile--crypto:hover,.wl-tile--crypto.wl-tile--active{border-color:color-mix(in srgb,var(--color-accent-alt) 45%,transparent)}.wl-tile--watchlist:hover,.wl-tile--watchlist.wl-tile--active{border-color:var(--accent-border)}.wl-tile-top{display:flex;align-items:center;gap:8px;width:100%;min-width:0}.wl-tile-identity{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.wl-tile-wrap>.intel-stock-btn{position:absolute;bottom:6px;right:6px;z-index:2;width:18px;height:18px;opacity:0;pointer-events:none;transition:opacity var(--dur-fast),transform var(--dur-fast)}.wl-tile-wrap>.intel-stock-btn svg{width:10px;height:10px}.wl-tile-wrap:hover>.intel-stock-btn,.wl-tile-wrap:focus-within>.intel-stock-btn{opacity:1;pointer-events:auto}.wl-tile-wrap>.intel-stock-btn:hover,.wl-tile-wrap>.intel-stock-btn:focus-visible{transform:scale(1.12)}.wl-tile-price{font-size:.9rem;font-weight:800;color:var(--text-strong);font-variant-numeric:tabular-nums;letter-spacing:.01em;line-height:1.15}.wl-tile-logo{width:28px;height:28px;border-radius:6px;object-fit:contain;object-position:center;flex-shrink:0}.wl-tile-logo--ph{display:flex;align-items:center;justify-content:center;font-size:var(--text-2xs);font-weight:700;color:var(--text-primary)}.wl-tile-symbol{font-size:.82rem;font-weight:700;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;line-height:1.2}.wl-tile-change-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;font-variant-numeric:tabular-nums}.wl-tile-change{font-size:1rem;font-weight:800;color:var(--text-muted)}.wl-tile-change.up{color:var(--color-success)}.wl-tile-change.down{color:var(--color-danger)}.wl-tile-change-dollar{font-size:.74rem;font-weight:500;color:var(--text-muted);letter-spacing:.01em}.wl-tile-change-dollar.up{color:var(--color-success)}.wl-tile-change-dollar.down{color:var(--color-danger)}.wl-tile-ext{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;font-variant-numeric:tabular-nums;margin-top:4px;padding-top:4px;border-top:1px solid var(--surface-2);white-space:nowrap;min-width:0}.wl-tile-ext-pct{font-size:.74rem;font-weight:800;color:var(--text-muted)}.wl-tile-ext-dollar{font-size:var(--text-2xs);font-weight:600;color:var(--text-muted)}.wl-tile-ext-pct.up,.wl-tile-ext-dollar.up{color:var(--color-success)}.wl-tile-ext-pct.down,.wl-tile-ext-dollar.down{color:var(--color-danger)}.wl-session{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0;border-radius:999px;background:var(--surface-2)}.wl-session svg{width:13px;height:13px;display:block}.wl-session--pre{color:var(--accent);background:var(--accent-soft)}.wl-session--post{color:var(--color-accent-alt);background:color-mix(in srgb,var(--color-accent-alt) 14%,transparent)}.wl-session--futures{color:var(--text-secondary);background:var(--surface-3)}.wl-tile-edit-controls{display:flex;flex-direction:column;flex-shrink:0;align-self:stretch;width:30px}.wl-tile-remove{flex:1;display:flex;align-items:center;justify-content:center;width:100%;min-height:28px;padding:0;border:1px solid var(--surface-border);border-top:none;border-right:none;border-radius:0 0 0 var(--radius-sm);background:rgba(var(--black-rgb),.25);color:var(--text-muted);font-size:1.1rem;line-height:1;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.wl-tile-remove:hover{color:var(--color-danger);background:var(--color-danger-bg)}.wl-tile-wrap--edit .wl-tile{flex:1;min-width:0;border-radius:0 var(--radius-sm) var(--radius-sm) 0;border-left:none}.wl-tile--edit{flex-direction:row;align-items:center;gap:8px;padding:8px;min-height:44px}.wl-tile--edit:hover{transform:none;box-shadow:none}.wl-tile--edit .wl-tile-top{gap:6px;min-width:0}.wl-tile--edit .wl-tile-logo{width:24px;height:24px}.wl-tile--edit .wl-tile-identity{flex-direction:row;align-items:center;min-width:0}.wl-tile--edit .wl-tile-symbol{font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wl-tile-drag{flex:1;display:flex;align-items:center;justify-content:center;width:100%;min-height:28px;padding:0;border:1px solid var(--surface-border);border-right:none;border-bottom:none;border-radius:var(--radius-sm) 0 0 0;background:rgba(var(--black-rgb),.3);color:var(--text-muted);cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent}.wl-tile-drag svg{width:16px;height:16px}.wl-tile-drag:active{cursor:grabbing;color:var(--accent);background:var(--accent-soft)}.wl-section--drop-active .wl-section-title{color:var(--accent)}.wl-section--drop-active .wl-section-title:before{background:var(--accent);box-shadow:0 0 8px rgba(var(--accent-rgb),.45)}.wl-column-grid--drop-active{outline:2px dashed rgba(var(--accent-rgb),.55);outline-offset:3px;border-radius:var(--radius-sm);background:rgba(var(--accent-rgb),.06)}.wl-edit-hint{margin:0;padding:8px 16px 0;font-size:.72rem;color:var(--text-muted)}body.wl-dragging{user-select:none;-webkit-user-select:none;touch-action:none;overflow:hidden}body.wl-dragging .wl-tile-wrap,body.wl-dragging .wl-tile,body.wl-dragging .wl-tile-remove{pointer-events:none}body.wl-section-dragging{user-select:none;-webkit-user-select:none;touch-action:none}body.wl-section-dragging .wl-tile-wrap,body.wl-section-dragging .wl-tile,body.wl-section-dragging .wl-tile-drag,body.wl-section-dragging .wl-tile-remove{pointer-events:none}.wl-section--drop-active{outline:2px dashed rgba(var(--accent-rgb),.55);outline-offset:2px;border-radius:var(--radius-sm);background:rgba(var(--accent-rgb),.04)}.wl-drag-ghost{position:fixed;z-index:1300;display:none;translate:-50% -50%;padding:8px 14px;background:var(--accent);color:var(--bg-primary);font-weight:800;font-size:.85rem;border-radius:var(--radius-sm);pointer-events:none;box-shadow:var(--shadow-soft);-webkit-user-select:none;user-select:none}.app-modal.chart-modal{max-height:none;overflow:hidden}.app-modal.chart-modal:has(.ticker-suggestions){overflow:visible}.chart-modal-overlay{position:fixed;inset:0;z-index:var(--z-overlay);background:var(--material-scrim);padding:var(--space-5);display:flex;align-items:center;justify-content:center;animation:app-fade-in var(--dur-base) var(--ease-out) both}@keyframes chart-quick-swap{0%{opacity:0;transform:translate3d(14px,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes chart-chip-in{0%{opacity:0;transform:translate3d(0,6px,0) scale(.92)}to{opacity:1;transform:translateZ(0) scale(1)}}.chart-modal-overlay--closing{animation:app-fade-out var(--dur-base) var(--ease-exit) both;pointer-events:none}.chart-modal.chart-modal--closing{animation:app-modal-out var(--dur-base) var(--ease-exit) both;pointer-events:none}.app-modal.chart-modal.chart-modal--mobile.chart-modal--closing{animation:app-sheet-out var(--dur-base) var(--ease-exit) both;transform-origin:bottom center}.chart-modal--closing .chart-modal-head,.chart-modal--closing .chart-modal-content{opacity:0;transition:opacity var(--dur-fast) var(--ease-out)}.chart-modal--closing .chart-modal-body{visibility:hidden}.chart-modal{width:min(1100px,100%);height:min(88vh,820px);display:flex;flex-direction:column;background:var(--material-sheet);border:1px solid var(--surface-border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;--modal-scale-from: .92;animation:app-modal-in var(--dur-slow) var(--ease-enter) both;transform:translateZ(0);transform-origin:center center}.chart-modal--fullscreen{width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;border-radius:0;border:none}@media(min-width:769px){.app-overlay.chart-modal-overlay:not(.chart-modal-overlay--mobile):has(.chart-modal--fullscreen){padding:0;align-items:stretch;justify-content:stretch}.chart-modal:not(.chart-modal--mobile).chart-modal--fullscreen{position:fixed;inset:0;width:100%;height:100%;min-height:100dvh;margin:0;box-shadow:none}}.app-overlay.chart-modal-overlay--mobile{padding:0;justify-content:stretch;align-items:stretch}.app-modal.chart-modal.chart-modal--mobile{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;min-height:100dvh;margin:0;border:none;border-radius:0;box-shadow:none;animation:app-sheet-in var(--dur-slow) var(--ease-enter) both;transform-origin:bottom center;transition:border-radius var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.chart-modal--mobile .chart-modal-body{width:100%;overflow:hidden}.chart-modal-grabber{flex-shrink:0;display:flex;align-items:center;justify-content:center;height:28px;padding-top:env(safe-area-inset-top,0px);box-sizing:content-box;background:var(--bg-secondary);touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}.chart-modal-grabber-bar{width:36px;height:5px;border-radius:var(--radius-pill);background:var(--surface-border-strong);transition:background var(--dur-fast) var(--ease-out)}.chart-modal-grabber:active .chart-modal-grabber-bar{background:var(--text-muted)}.chart-modal--dragging{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);box-shadow:var(--shadow-lg);will-change:transform}.chart-modal--dragging .chart-modal-grabber{cursor:grabbing;border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.chart-modal--mobile .chart-modal-body .tradingview-widget-container,.chart-modal--mobile .chart-modal-body .tradingview-widget-container__widget,.chart-modal--mobile .chart-modal-body iframe{position:absolute;inset:0;width:100%!important;height:100%!important;min-height:100%!important}.chart-modal-head{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:12px 14px;border-bottom:1px solid var(--surface-border);animation:app-rise var(--dur-slow) var(--ease-enter) .08s both;position:relative;z-index:6;flex-shrink:0;background:var(--bg-secondary)}.chart-modal-head-top{display:flex;align-items:center;gap:10px;min-width:0}.chart-modal-title--sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.chart-modal-head-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.chart-modal-head-left{flex:1;min-width:0;position:relative;display:flex;align-items:center;gap:8px}.chart-modal-search{position:relative;display:flex;align-items:center;flex:1;min-width:0;max-width:420px}.chart-modal-input{width:100%;min-width:0;height:36px;padding:0 12px 0 36px;background:var(--surface-1);border:1px solid var(--surface-border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.82rem;font-family:inherit;transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard)}.chart-modal-input:focus{outline:none;border-color:var(--accent-border);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.14);background:var(--surface-1)}.chart-modal-input::placeholder{color:var(--text-muted)}.chart-modal-search-btn{position:absolute;left:4px;top:50%;transform:translateY(-50%);z-index:1;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;min-width:28px;min-height:28px;padding:0;margin:0;border:none;border-radius:6px;color:var(--text-muted);background:transparent;cursor:pointer;appearance:none;-webkit-appearance:none}.chart-modal-search-btn svg{width:15px;height:15px}.chart-modal-search-btn:hover:not(:disabled){color:var(--text-secondary);background:var(--surface-hover)}.chart-modal-search-btn:active:not(:disabled){transform:translateY(-50%) scale(.96)}.chart-modal-search-btn:focus-visible{outline:2px solid rgba(var(--accent-rgb),.45);outline-offset:1px}.chart-modal-type-filters{width:100%;max-width:100%}.chart-modal-type-filters .segment__btn{display:inline-flex;align-items:center;gap:6px}.chart-modal-type-filters .segment__btn.active{background:var(--surface-3);color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--surface-border-strong)}.chart-modal-type-filters .segment__btn:hover:not(.active){color:var(--text-secondary);background:var(--surface-hover)}.chart-modal-filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--surface-2);font-size:var(--text-2xs);font-weight:800;line-height:1;color:inherit;opacity:.85}.chart-modal-type-filters .segment__btn.active .chart-modal-filter-count{background:var(--surface-3);opacity:1}.chart-modal-filter-label{flex:0 1 auto;min-width:0;white-space:nowrap}.chart-modal-quick{display:flex;gap:6px;margin-top:0;padding-bottom:2px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.chart-modal-content{display:flex;flex-direction:column;min-height:0;flex:1;position:relative;z-index:1;overflow:hidden;animation:app-rise var(--dur-slow) var(--ease-enter) .12s both}.chart-modal-content--fullscreen{display:grid;grid-template-columns:max-content minmax(0,1fr);grid-template-rows:1fr;gap:0}.chart-modal-content--fullscreen>.chart-modal-quick-wrap{grid-column:1;grid-row:1;position:relative;z-index:2}.chart-modal-content--fullscreen>.chart-modal-body{grid-column:2;grid-row:1;min-width:0;min-height:0;overflow:hidden}.chart-modal-quick-wrap{border-bottom:1px solid var(--surface-border);padding:0 12px 8px;position:relative;z-index:2;background:var(--bg-secondary)}.chart-modal-quick-empty{margin:6px 2px 0;font-size:.72rem;color:var(--text-muted)}.chart-modal-quick-group{margin-top:8px}.chart-modal-quick-group--swap{animation:chart-quick-swap .28s cubic-bezier(.22,1,.36,1) both}.chart-modal-quick-group--swap .chart-modal-quick-btn{animation:chart-chip-in .3s cubic-bezier(.22,1,.36,1) both}.chart-modal-quick-group--swap .chart-modal-quick-btn:nth-child(1){animation-delay:.02s}.chart-modal-quick-group--swap .chart-modal-quick-btn:nth-child(2){animation-delay:.04s}.chart-modal-quick-group--swap .chart-modal-quick-btn:nth-child(3){animation-delay:.06s}.chart-modal-quick-group--swap .chart-modal-quick-btn:nth-child(4){animation-delay:.08s}.chart-modal-quick-group--swap .chart-modal-quick-btn:nth-child(5){animation-delay:.1s}.chart-modal-quick-group--swap .chart-modal-quick-btn:nth-child(6){animation-delay:.12s}.chart-modal-quick-group--swap .chart-modal-quick-btn:nth-child(7){animation-delay:.14s}.chart-modal-quick-group--swap .chart-modal-quick-btn:nth-child(8){animation-delay:.16s}.chart-modal-quick-group--swap .chart-modal-quick-btn:nth-child(n+9){animation-delay:.18s}.chart-modal-quick-group-title{margin:0 0 6px;padding:0 2px;font-size:var(--text-2xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.chart-modal-quick-group:first-child{margin-top:0}.chart-modal-quick-wrap--side{border-bottom:none;border-right:1px solid var(--surface-border);padding:10px;overflow-y:auto}.chart-modal-quick-wrap--side .chart-modal-quick{display:flex;flex-direction:column;overflow:visible;margin-top:0}.chart-modal-quick-wrap--side .chart-modal-quick{display:grid;grid-template-columns:1fr;justify-items:stretch}.chart-modal-quick-wrap--side .chart-modal-quick-btn{width:100%;justify-content:flex-start}.chart-modal-quick-wrap--side .chart-modal-quick-group{margin-top:10px;padding-top:10px;border-top:1px solid var(--color-neutral-bg)}.chart-modal-quick-wrap--side .chart-modal-quick-group:first-child{margin-top:0;padding-top:0;border-top:none}.chart-modal-quick-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;gap:6px;min-height:30px;padding:4px 8px 4px 4px;margin:0;border-radius:var(--radius-sm);border:1px solid var(--surface-border);font-size:.72rem;font-weight:600;font-family:inherit;color:var(--text-secondary);background:var(--surface-1);cursor:pointer;appearance:none;-webkit-appearance:none;transition:color var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}.chart-modal-quick-logo{width:18px;height:18px;border-radius:5px;object-fit:contain;object-position:center;flex-shrink:0}.chart-modal-quick-logo--ph{display:inline-flex;align-items:center;justify-content:center;font-size:.5rem;font-weight:800;color:var(--text-primary)}.chart-modal-quick-symbol{line-height:1}.chart-modal-quick-btn:hover:not(.active):not(:disabled){color:var(--text-primary);background:var(--surface-hover);border-color:var(--surface-border-strong)}.chart-modal-quick-btn.active{color:var(--accent);border-color:var(--accent-border);background:var(--accent-soft);font-weight:700}.chart-modal-quick-btn.active:hover:not(:disabled){background:var(--accent-soft-strong);border-color:rgba(var(--accent-rgb),.45)}.chart-modal-quick-btn:focus-visible{outline:2px solid rgba(var(--accent-rgb),.45);outline-offset:1px}.chart-modal-head .ticker-suggestions,.chart-modal-suggestions{left:auto;right:0;width:min(460px,100%);max-width:100%;z-index:var(--z-overlay-elevated)}.chart-modal-head-actions .btn--icon.active{color:var(--accent);border-color:var(--accent-border);background:var(--accent-soft)}.chart-modal-body{flex:1;min-height:0;min-width:0;background:var(--bg-primary);position:relative;display:flex;flex-direction:column;overflow:hidden;isolation:isolate;z-index:0;contain:layout size}.chart-modal-body>div{position:absolute;inset:0;width:100%;height:100%}.chart-modal-body .tradingview-widget-container,.chart-modal-body .tradingview-widget-container__widget{position:absolute!important;inset:0;width:100%!important;height:100%!important;max-width:100%;max-height:100%;margin:0!important;overflow:hidden}.chart-modal-body iframe{position:absolute!important;inset:0;width:100%!important;height:100%!important;max-width:100%;max-height:100%;border:0;display:block}@media(min-width:769px){.chart-modal:not(.chart-modal--mobile):not(.chart-modal--fullscreen){width:min(1180px,calc(100vw - 40px));height:min(90vh,860px)}.chart-modal:not(.chart-modal--mobile) .chart-modal-head-left{max-width:none;flex:1;min-width:0}.chart-modal:not(.chart-modal--mobile) .chart-modal-content:not(.chart-modal-content--fullscreen){display:grid;grid-template-columns:max-content minmax(0,1fr);grid-template-rows:1fr;flex:1;min-height:0}.chart-modal:not(.chart-modal--mobile) .chart-modal-content:not(.chart-modal-content--fullscreen)>.chart-modal-quick-wrap{grid-column:1;grid-row:1;display:flex;flex-direction:column;width:max-content;max-width:min(220px,34vw);min-height:0;max-height:none;overflow:hidden;border-bottom:none;border-right:1px solid var(--surface-border);padding:10px 8px;position:relative;z-index:2;background:var(--bg-secondary)}.chart-modal:not(.chart-modal--mobile) .chart-modal-content:not(.chart-modal-content--fullscreen) .chart-modal-quick{flex:1;min-height:0;display:grid;grid-template-columns:1fr;justify-items:stretch;flex-direction:unset;flex-wrap:unset;overflow-x:hidden;overflow-y:auto;margin-top:0;gap:5px;scrollbar-width:thin}.chart-modal:not(.chart-modal--mobile) .chart-modal-content:not(.chart-modal-content--fullscreen) .chart-modal-quick-group{margin-top:8px;padding-top:8px;border-top:1px solid var(--color-neutral-bg)}.chart-modal:not(.chart-modal--mobile) .chart-modal-content:not(.chart-modal-content--fullscreen) .chart-modal-quick-group:first-child{margin-top:0;padding-top:0;border-top:none}.chart-modal:not(.chart-modal--mobile) .chart-modal-content:not(.chart-modal-content--fullscreen) .chart-modal-quick-btn{width:100%;white-space:nowrap;justify-content:flex-start}.chart-modal:not(.chart-modal--mobile) .chart-modal-content:not(.chart-modal-content--fullscreen)>.chart-modal-body{grid-column:2;grid-row:1;min-height:0;min-width:0;overflow:hidden}.chart-modal:not(.chart-modal--mobile).chart-modal--fullscreen .chart-modal-content--fullscreen{grid-template-columns:max-content minmax(0,1fr)}.chart-modal:not(.chart-modal--mobile).chart-modal--fullscreen .chart-modal-quick-wrap--side{width:max-content;max-width:min(220px,34vw)}.chart-modal:not(.chart-modal--mobile) .chart-modal-content:not(.chart-modal-content--fullscreen):not(:has(.chart-modal-quick-wrap)){display:flex;flex-direction:column}.chart-modal:not(.chart-modal--mobile) .chart-modal-content:not(.chart-modal-content--fullscreen):not(:has(.chart-modal-quick-wrap))>.chart-modal-body{flex:1;min-height:0}}@media(prefers-reduced-motion:reduce){.chart-modal-overlay,.chart-modal,.chart-modal-overlay--closing,.chart-modal--closing,.chart-modal-head,.chart-modal-content,.chart-modal-quick-group--swap,.chart-modal-quick-group--swap .chart-modal-quick-btn{animation:none}}.hec-panel{--hec-highlight: var(--accent);--hec-highlight-soft: var(--accent-soft);--hec-highlight-border: var(--accent-border);--hec-bmo: var(--accent);--hec-bmo-soft: var(--accent-soft);--hec-bmo-border: var(--accent-border);--hec-amc: var(--color-accent-alt);--hec-amc-soft: color-mix(in srgb, var(--color-accent-alt) 16%, transparent);--hec-amc-border: color-mix(in srgb, var(--color-accent-alt) 40%, transparent);margin-top:16px;background:var(--surface-1);border:1px solid var(--surface-border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:14px}.hec-header{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.hec-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.hec-title{margin:0;font-size:var(--text-md);font-weight:var(--weight-bold);letter-spacing:var(--tracking-title);line-height:var(--leading-title);color:var(--text-primary);font-optical-sizing:auto}.hec-legend{display:flex;align-items:center;gap:10px}.hec-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-2xs);font-weight:600;color:var(--text-secondary)}.hec-legend-item:before{content:"";width:8px;height:8px;border-radius:2px}.hec-legend-item--bmo{color:var(--hec-bmo)}.hec-legend-item--amc{color:var(--hec-amc)}.hec-legend-item--bmo:before{background:var(--hec-bmo);box-shadow:0 0 8px var(--accent-glow)}.hec-legend-item--amc:before{background:var(--hec-amc);box-shadow:0 0 8px color-mix(in srgb,var(--color-accent-alt) 45%,transparent)}.hec-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.hec-filters{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.hec-filter{height:30px;padding:0 12px;border-radius:var(--radius-sm);border:1px solid var(--surface-border);background:var(--surface-2);color:var(--text-secondary);font-size:.72rem;font-weight:600;cursor:pointer;transition:background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),transform var(--dur-press) var(--ease-out)}.hec-filter:active{transform:scale(var(--press-scale))}.hec-filter:hover{border-color:var(--hec-highlight-border);color:var(--hec-highlight)}.hec-filter--active{background:var(--hec-highlight-soft);border-color:var(--hec-highlight-border);color:var(--hec-highlight)}.hec-nav{display:flex;align-items:center;gap:8px}.hec-nav .btn--icon{flex-shrink:0}.hec-month-label{display:flex;align-items:center;gap:8px;min-width:140px;justify-content:center;font-size:.84rem;font-weight:700;color:var(--text-primary)}.hec-month-label .btn--sm{padding:3px 8px;font-size:var(--text-2xs);border-radius:999px}.hec-body{position:relative;display:flex;flex-direction:column;gap:12px}.hec-body--loading{pointer-events:none;min-height:120px}.hec-calendar{display:flex;flex-direction:column;gap:6px}.hec-weekdays{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.hec-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:auto;align-items:start;gap:6px}.hec-weekday{text-align:center;font-size:var(--text-2xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);padding:0;line-height:1.2}.hec-cell{appearance:none;text-align:left;width:100%;min-height:0;display:flex;flex-direction:column;gap:4px;padding:6px 8px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--surface-border);color:inherit;cursor:pointer;overflow:hidden;transition:background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),transform var(--dur-press) var(--ease-out)}.hec-cell:active{transform:scale(var(--press-scale))}.hec-cell:hover{border-color:var(--hec-highlight-border);background:var(--surface-1)}.hec-cell--empty{background:transparent;border:none;padding:0;min-height:0;height:0;overflow:hidden;cursor:default;pointer-events:none}.hec-cell--has{background:var(--surface-1);padding:8px;gap:6px}.hec-cell--idle{cursor:default;opacity:.72}.hec-cell--idle:hover{border-color:var(--surface-border);background:var(--surface-2)}.hec-cell--idle:disabled{cursor:default}.hec-cell--today{border-color:var(--hec-highlight);box-shadow:0 0 0 1px var(--hec-highlight-border)}.hec-cell--today .hec-day{color:var(--hec-highlight)}.hec-cell--selected{border-color:var(--hec-highlight);background:var(--hec-highlight-soft);box-shadow:0 0 0 1px var(--hec-highlight-border)}.hec-day-head{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-shrink:0}.hec-day{font-size:.82rem;font-weight:700;color:var(--text-primary);line-height:1}.hec-day-count{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--hec-highlight-soft);color:var(--hec-highlight);font-size:var(--text-2xs);font-weight:700;display:inline-flex;align-items:center;justify-content:center}.hec-cell-empty-note{display:none}.hec-earnings,.hec-earnings--desktop{display:flex;flex-direction:column;gap:6px;flex:1;min-height:0}.hec-month-label-short,.hec-weekday-short,.hec-mobile-summary{display:none}.hec-session{display:flex;flex-direction:column;gap:4px;min-width:0;padding:5px 6px;border-radius:6px;border-left:2px solid transparent}.hec-session--bmo{background:var(--hec-bmo-soft);border-left-color:var(--hec-bmo);box-shadow:inset 0 0 0 1px var(--accent-border)}.hec-session--amc{background:var(--hec-amc-soft);border-left-color:var(--hec-amc);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-accent-alt) 16%,transparent)}.hec-session-head{display:flex;align-items:center;justify-content:space-between;gap:6px}.hec-timing{font-size:var(--text-2xs);font-weight:700;letter-spacing:.03em;text-transform:uppercase;line-height:1.2}.hec-timing--bmo{color:var(--hec-bmo)}.hec-timing--amc{color:var(--hec-amc)}.hec-session-count{font-size:var(--text-2xs);font-weight:700;color:var(--text-muted)}.hec-chip-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.hec-chip{display:flex;align-items:center;gap:6px;min-width:0;padding:3px 5px;border-radius:5px;background:rgba(var(--black-rgb),.22);border:1px solid var(--surface-border)}.hec-chip--compact{padding:2px 4px}.hec-chip-logo{width:16px;height:16px;border-radius:4px;object-fit:contain;flex-shrink:0}.hec-chip-logo--ph{display:flex;align-items:center;justify-content:center;font-size:.45rem;font-weight:700;color:var(--text-primary);background:var(--surface-2)}.hec-chip-symbol{font-size:.7rem;font-weight:700;color:var(--text-primary);letter-spacing:.02em;flex-shrink:0}.hec-chip--compact .hec-chip-symbol{font-size:var(--text-2xs)}.hec-chip-name{font-size:var(--text-2xs);font-weight:500;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.hec-day-list>.btn{appearance:none;border:none;background:transparent;color:var(--hec-highlight);font-size:var(--text-2xs);font-weight:700;padding:0;text-align:left;width:fit-content;min-height:auto}.hec-day-list>.btn:hover:not(:disabled){text-decoration:underline;background:transparent;color:var(--hec-highlight)}.hec-empty{text-align:center;padding:20px 12px;color:var(--text-muted);font-size:.8rem}.hec-detail{padding:12px;border-radius:var(--radius-sm);border:1px solid var(--surface-border);background:var(--surface-2)}.hec-detail-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}.hec-detail-title{margin:0;font-size:.9rem;font-weight:700;color:var(--text-primary)}.hec-detail-meta{font-size:.72rem;font-weight:600;color:var(--text-muted)}.hec-detail-empty{margin:0;color:var(--text-muted);font-size:.78rem}.hec-detail-sessions{display:grid;grid-template-columns:1fr;gap:10px}.hec-detail .hec-session{padding:8px 10px}.hec-detail .hec-chip-list{gap:5px}.hec-detail .hec-chip{padding:6px 8px}.hec-detail .hec-chip-logo{width:22px;height:22px;border-radius:var(--radius-xs)}.hec-detail .hec-chip-symbol{font-size:.8rem;min-width:3.2rem}.hec-detail .hec-chip-name{font-size:.76rem}@media(min-width:768px){.hec-panel{padding:16px 18px}.hec-weekdays,.hec-grid{gap:8px}.hec-cell--has{padding:10px}.hec-day{font-size:.9rem}.hec-detail-sessions{grid-template-columns:1fr 1fr}}@media(min-width:1024px){.hec-chip-symbol{font-size:.74rem}}@media(max-width:767px){.hec-panel{margin-top:12px;padding:12px;border-radius:var(--radius-md)}.hec-header{gap:8px;margin-bottom:10px}.hec-title-row{flex-direction:column;align-items:flex-start;gap:6px}.hec-title{font-size:.92rem}.hec-legend{gap:8px}.hec-legend-item{font-size:var(--text-2xs)}.hec-toolbar{flex-direction:column;align-items:stretch;gap:8px}.hec-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%}.hec-filter{height:36px;padding:0 8px;font-size:.72rem;width:100%}.hec-nav{width:100%;justify-content:space-between}.hec-nav .btn--icon{min-width:40px;min-height:40px;font-size:1.2rem}.hec-month-label{min-width:0;flex:1;font-size:.8rem}.hec-month-label-full{display:none}.hec-month-label-short{display:inline}.hec-month-label .btn--sm{padding:4px 10px;font-size:var(--text-2xs);min-height:28px}.hec-body{gap:10px}.hec-calendar,.hec-weekdays,.hec-grid{gap:4px}.hec-weekday-full{display:none}.hec-weekday-short{display:inline}.hec-weekday{font-size:.7rem;padding-bottom:2px}.hec-cell{padding:8px 6px;min-height:44px;align-items:stretch;-webkit-tap-highlight-color:transparent}.hec-cell--has{padding:8px 6px;gap:6px;min-height:52px}.hec-cell--idle{opacity:.55;min-height:40px;justify-content:center}.hec-day{font-size:.78rem}.hec-day-count,.hec-earnings--desktop{display:none}.hec-mobile-summary{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.hec-pill{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 5px;border-radius:var(--radius-pill);font-size:var(--text-2xs);font-weight:700;line-height:1}.hec-pill--bmo{background:var(--hec-bmo-soft);color:var(--hec-bmo);border:1px solid var(--hec-bmo-border)}.hec-pill--amc{background:var(--hec-amc-soft);color:var(--hec-amc);border:1px solid var(--hec-amc-border)}.hec-detail{padding:12px;border-radius:var(--radius-md)}.hec-detail-head{flex-wrap:wrap;gap:4px 10px;margin-bottom:12px}.hec-detail-title{font-size:.86rem}.hec-detail-meta{font-size:.7rem}.hec-detail-sessions{grid-template-columns:1fr;gap:8px}.hec-detail .hec-session{padding:10px}.hec-detail .hec-timing{font-size:var(--text-2xs)}.hec-detail .hec-chip{padding:8px 10px;gap:8px}.hec-detail .hec-chip-logo{width:24px;height:24px}.hec-detail .hec-chip-symbol{font-size:.82rem;min-width:3rem}.hec-detail .hec-chip-name{font-size:.74rem}.hec-empty{padding:16px 8px;font-size:.78rem}}@media(max-width:480px){.hec-filter{font-size:var(--text-2xs);padding:0 4px}.hec-cell{padding:6px 4px}.hec-pill{min-width:18px;height:16px;font-size:var(--text-2xs)}}.hn-panel{margin-top:0;background:var(--surface-1);border:1px solid var(--surface-border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:14px}.hn-header{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.hn-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.hn-title{margin:0;font-size:var(--text-md);font-weight:var(--weight-bold);letter-spacing:var(--tracking-title);line-height:var(--leading-title);color:var(--text-primary)}.hn-note{margin:0;font-size:var(--text-2xs);font-weight:600;color:var(--text-secondary)}.hn-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.hn-filters{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.hn-filter{height:30px;padding:0 12px;border-radius:var(--radius-sm);border:1px solid var(--surface-border);background:var(--surface-2);color:var(--text-secondary);font-size:.72rem;font-weight:600;cursor:pointer;transition:background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),transform var(--dur-press) var(--ease-out)}.hn-filter:active{transform:scale(var(--press-scale))}.hn-filter:hover{border-color:var(--accent-border);color:var(--accent)}.hn-filter:focus-visible,.hn-link:focus-visible{outline:2px solid var(--accent-border);outline-offset:2px}.hn-filter--active{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent)}.hn-body{position:relative;min-height:48px}.hn-body--loading{min-height:72px}.hn-empty{margin:0;padding:8px 2px;font-size:.82rem;color:var(--text-secondary);line-height:1.45}.hn-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.hn-item{display:flex;flex-direction:column;gap:6px;padding:10px 8px;border-radius:var(--radius-sm)}.hn-item:hover{background:var(--surface-2)}.hn-link{display:flex;flex-direction:column;gap:4px;color:inherit;text-decoration:none}.hn-headline{font-size:.92rem;font-weight:650;color:var(--text-primary);line-height:1.35}.hn-link:hover .hn-headline{color:var(--accent)}.hn-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:var(--text-2xs);font-weight:600;color:var(--text-secondary)}.hn-publisher{color:var(--text-secondary)}.hn-badge{padding:1px 6px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-size:var(--text-2xs);letter-spacing:.02em;text-transform:uppercase}.hn-summary{font-size:.78rem;color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2;overflow:hidden}.hn-tickers{display:flex;flex-wrap:wrap;gap:6px}.hn-chip{padding:1px 7px;border-radius:var(--radius-pill);border:1px solid var(--surface-border);background:var(--surface-2);font-size:var(--text-2xs);font-weight:700;letter-spacing:.03em;color:var(--text-secondary)}.hn-chip--match{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent)}@media(max-width:640px){.hn-note{width:100%}.hn-headline{font-size:.88rem}}@media(max-width:968px){.market-strip{flex-direction:column;gap:10px}.indices-wrap{order:2}.sentiment-row{order:1}.tickers-row{width:100%;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;padding-bottom:4px}@media(hover:hover)and (pointer:fine){.tickers-row{scroll-snap-type:x proximity;cursor:grab}.index-tile{scroll-snap-align:start}}.index-tile{flex:0 0 auto;min-width:112px;max-width:140px}.home-page .sentiment-row{width:100%;min-width:0;gap:10px}.home-page .sentiment-row .sentiment-card{flex:1 1 var(--strip-card-width, calc((100% - 10px)/2) );min-width:0;max-width:var(--strip-card-width, calc((100% - 10px)/2) );padding:10px 12px;border-radius:var(--radius-sm);container-type:inline-size;gap:3px}.home-page .sentiment-row .sentiment-card-main{gap:clamp(4px,2.5cqi,10px)}.home-page .sentiment-row .sentiment-card-value{font-size:clamp(1.28rem,13cqi,1.48rem);margin-inline-end:clamp(6px,2.5cqi,12px)}.home-page .sentiment-row .sentiment-card-updated{font-size:clamp(.6875rem,4.8cqi,.8rem);letter-spacing:.01em;margin-top:2px;min-height:unset}.home-page .sentiment-row .sentiment-card-meter{margin-top:0}.home-page .sentiment-row .sentiment-card--compact{padding:8px 10px 7px;min-height:68px}.home-page .sentiment-row .sentiment-card--compact .sentiment-card-value{font-size:clamp(1.1rem,12cqi,1.35rem)}.home-page .sentiment-row .sentiment-card--compact .sentiment-card-mood{min-height:unset}.home-page .sentiment-row .sentiment-card--compact .sentiment-card-updated{font-size:clamp(.6875rem,4.5cqi,.75rem)}.home-page .sentiment-row .sentiment-card-label{font-size:.6875rem}.home-page .sentiment-row .sentiment-card-mood{font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-page .sentiment-row .sentiment-card-meter{height:4px;margin-top:0}.home-page .sentiment-row .sentiment-card--skeleton{min-height:68px}.watchlist-bar:not(.watchlist-bar--editing) .watchlist-tabs{scrollbar-width:thin;scrollbar-color:rgba(var(--accent-rgb),.45) var(--surface-2);padding-bottom:6px}.watchlist-bar:not(.watchlist-bar--editing) .watchlist-tabs::-webkit-scrollbar{display:block;height:4px}.watchlist-bar:not(.watchlist-bar--editing) .watchlist-tabs::-webkit-scrollbar-thumb{background:rgba(var(--accent-rgb),.45);border-radius:var(--radius-pill)}.watchlist-search{flex:1;width:auto;max-width:none;min-width:0}.suggestions-dropdown{min-width:100%}}@media(max-width:968px){.wl-board{column-count:1}.wl-column-grid{grid-template-columns:repeat(3,1fr)}.chart-modal{height:min(92vh,900px)}}@media(max-width:768px){.home-page{padding:12px var(--page-padding-inline) var(--page-padding-bottom)}.market-strip{flex-direction:column;--strip-card-width: calc((100% - 10px)/2) }.tickers-row{gap:10px;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}@media(hover:hover)and (pointer:fine){.tickers-row{cursor:grab}}.wl-board{padding:12px;gap:10px}.wl-board>.wl-section{margin-bottom:10px}.wl-column-grid{grid-template-columns:repeat(2,1fr)}.wl-panel-side .btn{min-height:30px;padding:5px 8px;font-size:.7rem}.market-status-updated-date{display:none}.wl-panel-head--editing{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:10px 12px}.wl-panel-head--editing .watchlist-toolbar--editing{gap:8px}.wl-panel-head--editing .segment--scroll .segment__btn{padding:6px 10px;font-size:.7rem}.wl-section-drag-handle{width:36px;height:36px;min-width:36px;min-height:36px}.wl-edit-hint{padding:6px 12px 0;font-size:var(--text-2xs)}.chart-modal--mobile .chart-modal-head{flex-shrink:0;padding:calc(10px + var(--safe-top)) 12px 10px;gap:8px}.chart-modal--mobile .chart-modal-head-top{gap:8px}.chart-modal--mobile .chart-modal-search{max-width:none}.chart-modal--mobile .chart-modal-input{height:34px;padding-left:32px;font-size:.8rem}.chart-modal--mobile .chart-modal-search-btn{width:26px;height:26px;min-width:26px;min-height:26px;left:3px}.chart-modal--mobile .chart-modal-search-btn svg{width:14px;height:14px}.chart-modal--mobile .chart-modal-close{width:34px;height:34px;font-size:1.1rem}.chart-modal--mobile .chart-modal-type-filters{gap:5px}.chart-modal--mobile .chart-modal-filter-btn{height:28px;padding:0 9px;font-size:.7rem}.chart-modal--mobile .chart-modal-filter-btn__count{min-width:16px;height:16px;font-size:var(--text-2xs)}.chart-modal--mobile .chart-modal-quick-wrap{max-height:none;padding:6px 10px 8px}.chart-modal--mobile .chart-modal-quick-group{margin-top:0}.chart-modal--mobile .chart-modal-quick{gap:4px}.chart-modal--mobile .chart-modal-quick-btn{min-height:28px;padding:3px 7px 3px 3px;font-size:var(--text-2xs);gap:5px;border-radius:var(--radius-xs)}.chart-modal--mobile .chart-modal-quick-logo{width:16px;height:16px;border-radius:var(--radius-xs)}.chart-modal--mobile .chart-modal-quick-logo--ph{font-size:.45rem}.chart-modal-content{flex:1;min-height:0}.chart-modal-quick-wrap{flex-shrink:0;max-height:24dvh;overflow-y:auto;padding:0 12px 6px;-webkit-overflow-scrolling:touch}.chart-modal-quick{margin-top:0;gap:4px;padding-bottom:4px}.chart-modal-content--fullscreen{grid-template-columns:1fr;grid-template-rows:auto 1fr}.chart-modal-content--fullscreen>.chart-modal-quick-wrap{grid-column:1;grid-row:1;max-height:22dvh}.chart-modal-content--fullscreen>.chart-modal-body{grid-column:1;grid-row:2}.chart-modal-quick-wrap--side{border-right:none;border-bottom:1px solid var(--surface-border);padding:8px 12px}.chart-modal-quick-wrap--side .chart-modal-quick{flex-direction:row;overflow-x:auto}.chart-modal-quick-btn{min-height:28px;padding:3px 7px 3px 3px;font-size:var(--text-2xs)}.chart-modal-head .ticker-suggestions,.chart-modal-head .suggestions-dropdown{left:0;right:0;width:100%}@media(prefers-reduced-motion:reduce){.app-modal.chart-modal.chart-modal--mobile,.chart-modal--mobile.chart-modal--closing{animation:none}}.wl-tile-edit-controls{width:34px}.wl-tile-drag svg{width:14px;height:14px}.wl-tile-symbol,.wl-tile-change{font-size:.88rem}.wl-tile-change-dollar{font-size:.72rem}.wl-tile-ext{font-size:var(--text-2xs);flex-wrap:nowrap;white-space:nowrap;gap:4px}.wl-tile-ext-pct,.wl-tile-ext-dollar{flex-shrink:0}.watchlist-bar-row{flex-wrap:wrap;gap:10px;padding:10px 0}.watchlist-bar:not(.watchlist-bar--editing) .watchlist-tabs{order:3;flex-basis:100%;padding:0}.watchlist-bar:not(.watchlist-bar--editing) .watchlist-toolbar{order:2;margin-left:auto;flex-wrap:nowrap;min-width:0}.watchlist-toolbar>*{flex-shrink:0}.watchlist-bar--editing .watchlist-search,.chart-modal-search{max-width:none}.chart-modal-suggestions{max-width:none;width:100%;left:0;right:0;max-height:240px}.index-tile{flex:0 0 var(--strip-card-width, calc((100% - 10px)/2) );min-width:var(--strip-card-width, calc((100% - 10px)/2) );max-width:var(--strip-card-width, calc((100% - 10px)/2) );min-height:68px;padding:10px 12px 4px;border-radius:var(--radius-sm);box-sizing:border-box;scroll-snap-align:start;overflow:hidden}.index-tile-main{flex-direction:column;align-items:stretch;gap:4px}.index-tile-body{width:100%;max-width:none;flex:1 1 auto;gap:4px;padding-bottom:2px}.index-tile-head-row{gap:8px;width:auto}.index-tile-name{font-size:.96rem;font-weight:800;letter-spacing:.03em;color:var(--text-strong)}.index-tile-change{font-size:.76rem;font-weight:700;flex-shrink:0}.index-tile-price{font-size:.8rem;font-weight:600;color:var(--text-muted);letter-spacing:.01em;line-height:1.1}.index-tile-change-abs{display:none}.index-tile-spark{flex:0 0 auto;width:calc(100% + 16px);max-width:none;height:30px;min-height:unset;max-height:none;margin:2px -8px 0;align-self:stretch;display:block}.index-tile--skeleton{min-height:68px}}@container wl-chart (max-width: 620px){.wl-panel-head:not(.wl-panel-head--editing){display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"label status side" "ai ai ai";gap:6px 8px;align-items:center;padding:8px 12px}.wl-panel-head:not(.wl-panel-head--editing) .wl-panel-title{display:contents}.wl-panel-head:not(.wl-panel-head--editing) .watchlist-label{grid-area:label;align-self:center;line-height:1.1}.wl-panel-head:not(.wl-panel-head--editing) .market-status-badge{grid-area:status;justify-self:start;max-width:100%;font-size:var(--text-2xs);padding:3px 8px 3px 6px}.wl-panel-head:not(.wl-panel-head--editing) .wl-panel-side{grid-area:side;align-self:center;flex-wrap:nowrap;justify-content:flex-end}.wl-panel-ai-group{grid-area:ai;width:100%;box-sizing:border-box;flex-direction:column;align-items:stretch;gap:3px}.wl-panel-ai-label{align-self:center}.wl-panel-ai-row{width:100%;min-width:0;justify-content:stretch;flex-wrap:nowrap;gap:4px}.wl-panel-ai-row .intel-btn,.wl-panel-ai-row .intel-btn--secondary{flex:1;min-width:0;justify-content:center;min-height:30px;padding:0 8px;font-size:.72rem}}.sentiment-card{flex:1;min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:10px 12px;border-radius:var(--radius-md);font-family:inherit;text-align:left;cursor:default;color:inherit;background:linear-gradient(160deg,color-mix(in srgb,var(--sentiment-accent, var(--text-muted)) 14%,var(--surface-hover)) 0%,var(--surface-1) 55%);border:1px solid color-mix(in srgb,var(--sentiment-accent, var(--text-muted)) 28%,var(--surface-3));border-top:3px solid var(--sentiment-accent, var(--text-muted));box-shadow:var(--shadow-sm);transition:transform var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}button.sentiment-card{cursor:pointer}button.sentiment-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--sentiment-accent, var(--text-muted)) 45%,var(--surface-border-strong))}button.sentiment-card:active{transform:scale(var(--press-scale));transition-duration:var(--dur-press)}.sentiment-card-main{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:0 0 auto;min-height:0}.sentiment-card-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.sentiment-card-label{flex-shrink:0;font-size:.7rem;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sentiment-card-value{flex-shrink:0;font-size:1.15rem;font-weight:700;line-height:1}.sentiment-card-mood{flex-shrink:0;font-size:.72rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sentiment-card-meter{height:3px;border-radius:var(--radius-pill);background:var(--surface-border);overflow:hidden;margin-top:2px}.sentiment-card-meter-fill{display:block;width:100%;height:100%;border-radius:var(--radius-pill);transform-origin:left center;transition:transform var(--dur-slow) var(--ease-standard)}.sentiment-card-updated{flex-shrink:0;font-size:var(--text-2xs);color:rgba(var(--slate-400-rgb),.9);letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;min-height:.85rem}.sentiment-card--compact{padding:8px 10px;border-radius:var(--radius-md);min-width:120px;min-height:74px}.sentiment-card--compact .sentiment-card-value{font-size:1rem}.sentiment-card--compact .sentiment-card-text{gap:1px}.sentiment-card--compact .sentiment-card-mood{font-size:var(--text-2xs);min-height:.95rem}.sentiment-card--compact .sentiment-card-updated{font-size:var(--text-2xs)}.sentiment-card--skeleton{min-height:72px;background:var(--surface-hover);border:1px solid var(--surface-2);border-top-color:var(--surface-2);animation:app-pulse 1.4s ease-in-out infinite}.intel-modal-overlay{position:fixed;inset:0;z-index:var(--z-overlay);background:var(--material-scrim);padding:var(--space-5);display:flex;align-items:center;justify-content:center;animation:app-fade-in var(--dur-base) var(--ease-out) both}.intel-modal-overlay--closing{animation:app-fade-out var(--dur-base) var(--ease-exit) both;pointer-events:none}.intel-modal.intel-modal--closing{animation:app-modal-out var(--dur-base) var(--ease-exit) both;pointer-events:none}.intel-modal.intel-modal--mobile.intel-modal--closing{animation:app-sheet-out var(--dur-base) var(--ease-exit) both;transform-origin:bottom center}.intel-modal{position:relative;width:100%;max-width:560px;max-height:min(80dvh,720px);min-height:0;background:var(--material-sheet);backdrop-filter:blur(var(--blur-md));-webkit-backdrop-filter:blur(var(--blur-md));border:1px solid var(--surface-border-strong);border-radius:var(--radius-lg);display:flex;flex-direction:column;animation:app-modal-in var(--dur-slow) var(--ease-enter) both;box-shadow:var(--shadow-lg);overflow:hidden}.intel-modal-overlay--mobile{align-items:flex-end;padding:0}.intel-modal--mobile{width:100%;max-width:none;max-height:min(88dvh,100%);border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-left:none;border-right:none;border-bottom:none;padding-bottom:max(var(--space-4),var(--safe-bottom));animation:app-sheet-in var(--dur-slow) var(--ease-enter) both;transform-origin:bottom center}.intel-modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-shrink:0;padding:var(--space-3-5) var(--space-4);border-bottom:1px solid var(--surface-border);background:var(--surface-sunken)}.intel-modal-title{display:flex;align-items:center;gap:10px;min-width:0}.intel-modal-title svg{width:22px;height:22px;flex-shrink:0;color:var(--color-accent-alt)}.intel-modal-title h2{margin:0;font-size:1.02rem;font-weight:700;color:var(--text-primary);line-height:1.25}.intel-modal-body{flex:1;min-height:0;overflow-y:auto;padding:var(--space-4-5) var(--space-4);background:transparent;-webkit-overflow-scrolling:touch}.intel-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:40px 20px}.intel-loading-dots{display:flex;gap:6px}.intel-loading-dots span{width:10px;height:10px;background:var(--color-accent-alt);border-radius:50%;animation:intel-bounce 1.4s ease-in-out infinite both}.intel-loading-dots span:nth-child(1){animation-delay:-.32s}.intel-loading-dots span:nth-child(2){animation-delay:-.16s}.intel-loading-dots span:nth-child(3){animation-delay:0s}@keyframes intel-bounce{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}.intel-loading p{margin:0;font-size:.9rem;color:var(--text-muted)}.intel-error{text-align:center;padding:30px 20px}.intel-error p{margin:0 0 16px;color:var(--color-danger)}.intel-error button{padding:8px 16px;background:var(--surface-3);border:1px solid var(--surface-border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.85rem;cursor:pointer;transition:background var(--dur-fast)}.intel-error button:hover{background:var(--surface-border-strong)}.intel-content{line-height:1.7}.intel-content p{margin:0 0 16px;color:var(--text-primary);font-size:.95rem;opacity:.92}.intel-content p:last-child{margin-bottom:0}.intel-content strong{font-weight:700;color:inherit}.intel-content .stock-mention{font-weight:700;color:var(--color-accent-alt);cursor:pointer;transition:color var(--dur-fast)}.intel-content .stock-mention:hover{color:var(--color-accent-alt)}.stock-mention-tooltip{position:fixed;z-index:1100;max-width:min(240px,calc(100vw - 24px));padding:6px 10px;background:rgba(var(--black-rgb),.95);border:1px solid rgba(var(--violet-500-rgb),.3);border-radius:var(--radius-sm);color:var(--text-strong);font-size:.75rem;font-weight:600;line-height:1.3;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity var(--dur-fast) var(--ease-standard),visibility var(--dur-fast) var(--ease-standard);box-shadow:0 4px 12px rgba(var(--black-rgb),.4)}.stock-mention-tooltip--visible{opacity:1;visibility:visible}.intel-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2-5);flex-shrink:0;padding:var(--space-3) var(--space-4);border-top:1px solid var(--surface-border);background:var(--surface-sunken)}.intel-disclaimer{font-size:.72rem;line-height:1.35;color:var(--text-muted);opacity:.85;min-width:0}.intel-refresh-btn{flex-shrink:0;padding:6px 12px;background:rgba(var(--violet-500-rgb),.1);border:1px solid rgba(var(--violet-500-rgb),.2);border-radius:var(--radius-sm);color:var(--color-accent-alt);font-size:.75rem;font-weight:600;cursor:pointer;transition:background var(--dur-fast),border-color var(--dur-fast)}.intel-refresh-btn:hover:not(:disabled){background:rgba(var(--violet-500-rgb),.2);border-color:rgba(var(--violet-500-rgb),.4)}.intel-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.intel-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:linear-gradient(135deg,rgba(var(--violet-500-rgb),.2),rgba(var(--violet-500-rgb),.15));border:1px solid rgba(var(--violet-500-rgb),.35);border-radius:var(--radius-sm);color:var(--color-accent-alt);font-size:.8rem;font-weight:600;cursor:pointer;transition:background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-standard);box-shadow:0 2px 8px rgba(var(--violet-500-rgb),.15)}.intel-btn:hover{background:linear-gradient(135deg,rgba(var(--violet-500-rgb),.3),rgba(var(--violet-500-rgb),.25));border-color:rgba(var(--violet-500-rgb),.5);box-shadow:0 4px 12px rgba(var(--violet-500-rgb),.25);transform:translateY(-1px)}.intel-btn:active{transform:translateY(0) scale(var(--press-scale));transition-duration:var(--dur-press)}.intel-btn svg{width:15px;height:15px}.intel-btn--secondary{background:linear-gradient(135deg,var(--surface-border) 0%,var(--surface-hover) 100%);border-color:var(--surface-3);color:var(--text-secondary);box-shadow:none}.intel-btn--secondary:hover{background:linear-gradient(135deg,var(--surface-3) 0%,var(--surface-border) 100%);border-color:var(--surface-border-strong);color:var(--text-primary);box-shadow:0 2px 8px rgba(var(--black-rgb),.15)}.intel-stock-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;background:linear-gradient(135deg,rgba(var(--violet-500-rgb),.22),rgba(var(--violet-500-rgb),.14));border:1px solid rgba(var(--violet-500-rgb),.4);border-radius:50%;color:var(--color-accent-alt);cursor:pointer;transition:background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard);flex-shrink:0}.intel-stock-btn:hover,.intel-stock-btn:focus-visible{background:linear-gradient(135deg,rgba(var(--violet-500-rgb),.4),rgba(var(--violet-500-rgb),.28));border-color:rgba(var(--violet-500-rgb),.65);box-shadow:0 0 8px rgba(var(--violet-500-rgb),.3);color:var(--color-accent-alt)}.intel-stock-btn svg{width:12px;height:12px}@media(max-width:768px){.intel-modal-title h2{font-size:.95rem}.intel-modal-body{padding:14px;min-height:0}.intel-content p{font-size:.9rem}.intel-modal-footer{flex-wrap:wrap;align-items:flex-start}.intel-disclaimer{flex:1 1 100%}.intel-refresh-btn{margin-left:auto}.intel-btn{padding:10px 16px;font-size:.85rem}}@media(max-width:480px){.intel-modal{max-height:min(92dvh,100%);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.intel-modal-header{padding:var(--space-3) var(--space-4)}.intel-modal-header .app-close-btn{width:44px;height:44px;min-width:44px;min-height:44px}.intel-modal-body{padding:var(--space-3-5) var(--space-4)}.intel-modal-footer{padding:var(--space-3) var(--space-4) max(var(--space-4),var(--safe-bottom))}}@media(prefers-reduced-motion:reduce){.intel-modal-overlay,.intel-modal,.intel-modal-overlay--closing,.intel-modal--closing{animation:none}}.donut-chart-svg{display:block;overflow:visible}.donut-chart-slice{transition:opacity var(--dur-fast) var(--ease-standard),stroke-width var(--dur-fast) var(--ease-standard),filter var(--dur-fast) var(--ease-standard);outline:none}.donut-chart-slice:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wallet-salary-prompt{display:flex;flex-direction:column;gap:12px;padding:14px 16px;margin-bottom:16px;background:var(--bg-card);border:1px solid var(--surface-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.wallet-salary-prompt-head{display:flex;flex-direction:column;gap:4px}.wallet-salary-prompt-sub{color:var(--text-secondary);font-size:var(--text-sm)}.wallet-salary-prompt-options{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.wallet-salary-prompt-option{display:grid;grid-template-columns:auto auto auto 1fr;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--surface-border);border-radius:var(--radius-sm);cursor:pointer}.wallet-salary-prompt-option:hover{border-color:var(--accent-border)}.wallet-salary-prompt-option input{margin:0}.wallet-salary-prompt-date{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:var(--text-sm)}.wallet-salary-prompt-amount{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:600}.wallet-salary-prompt-label{color:var(--text-muted);font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wallet-salary-prompt-actions{display:flex;justify-content:flex-end;gap:8px}@media(max-width:480px){.wallet-salary-prompt-option{grid-template-columns:auto auto 1fr;row-gap:2px}.wallet-salary-prompt-label{grid-column:1 / -1;white-space:normal}}.wallet-setup{background:var(--surface-1);border:1px solid var(--surface-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm)}.wallet-setup h2{margin:0 0 12px;color:var(--accent);font-size:1.15rem}.wallet-copy{color:var(--text-dim);line-height:1.55;margin:0 0 12px}.wallet-link{color:var(--accent);display:inline-block;margin-bottom:var(--space-5);font-size:14px}.wallet-token-form{display:flex;flex-direction:column;gap:var(--space-2-5);max-width:480px}.wallet-alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4)}.wallet-alert--error{background:var(--color-danger-bg);border:1px solid rgba(var(--red-400-rgb),.28);color:var(--color-danger)}@media(max-width:480px){.wallet-setup{padding:var(--space-4)}}.wallet-page{padding:var(--space-4) var(--page-padding-inline) var(--page-padding-bottom);width:100%;max-width:var(--dashboard-max);margin-inline:auto}.wallet-inline-loader,.wallet-boot-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;margin-bottom:16px;padding:18px 14px;border-radius:var(--radius-md);background:rgba(var(--neutral-950-rgb),.35);border:1px solid var(--surface-border)}.wallet-boot-loader{min-height:220px;margin-bottom:0;background:transparent;border:none}.wallet-inline-loader-text,.wallet-boot-loader-text{font-size:.78rem;font-weight:600;color:var(--text-muted, var(--text-dim));letter-spacing:.02em}.wallet-page--pending .wallet-summary-grid,.wallet-page--pending .wallet-chart-section{opacity:.92}.wallet-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:var(--space-6);flex-wrap:wrap}.wallet-header h1{margin:0;color:var(--text-primary);font-size:1.75rem;font-weight:700;letter-spacing:-.02em}.wallet-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.wallet-sync-note{margin:6px 0 0;color:var(--text-dim);font-size:13px}.wallet-section{margin-bottom:var(--space-6)}.wallet-section h2{color:var(--text-primary);font-size:1rem;font-weight:700;margin:0;letter-spacing:-.01em}.wallet-empty,.wallet-loading{color:var(--text-faint);font-size:14px}.wallet-load-more{margin-top:var(--space-4);width:100%}@media(max-width:480px){.wallet-page{padding:var(--space-3) var(--page-padding-inline) var(--page-padding-bottom)}.wallet-summary-groups{gap:12px}.wallet-summary-grid{gap:8px}.wallet-summary-card{padding:12px 14px}.wallet-summary-value{font-size:1rem}}.wallet-period-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:nowrap}.wallet-period-bar-actions{display:flex;align-items:center;gap:6px;flex-shrink:0;margin-left:auto}.wallet-toolbar-section .wallet-period-nav{flex-wrap:nowrap}.wallet-period-current{display:inline-flex;align-items:baseline;gap:8px;min-width:0;padding:0 2px}.wallet-period-title{font-size:.98rem;font-weight:700;letter-spacing:-.02em;color:var(--text-primary);white-space:nowrap}.wallet-period-range{font-size:.75rem;font-weight:600;color:var(--text-dim);white-space:nowrap}.wallet-period-dot{width:3px;height:3px;border-radius:50%;background:var(--text-faint);opacity:.75;align-self:center;flex-shrink:0}.wallet-period-toolbar-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:34px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-dim);cursor:pointer;font-size:16px;font-weight:600;line-height:1;transition:background var(--dur-fast),color var(--dur-fast)}.wallet-period-toolbar-btn:hover:not(:disabled){color:var(--text-secondary);background:var(--surface-2)}.wallet-period-toolbar-btn:disabled{opacity:.35;cursor:not-allowed}.wallet-period-toolbar-btn--cycle{width:36px;min-width:36px;padding:0;justify-content:center}.wallet-period-toolbar-btn--spin{animation:app-spin .8s linear infinite}.wallet-period-toolbar-icon{width:17px;height:17px}.wallet-period-eye.active{color:rgba(var(--accent-rgb),.9);background:rgba(var(--accent-rgb),.12)}.wallet-period-section{margin-bottom:20px}.wallet-period-btn.active{background:var(--accent);color:var(--bg-primary)}.wallet-toolbar-section{margin-bottom:16px}@media(max-width:720px){.wallet-period-range,.wallet-period-dot{display:none}}@media(max-width:560px){.wallet-period-bar{gap:4px}.wallet-toolbar-section .wallet-period-nav{flex:1 1 auto;min-width:0;gap:4px}.wallet-period-bar-actions{margin-left:0;gap:2px}.wallet-period-title{font-size:.86rem}.wallet-period-nav-btn,.wallet-period-toolbar-btn,.wallet-period-toolbar-btn--cycle{width:32px;min-width:32px;height:32px;padding:0}.wallet-period-nav-btn--text{width:auto;min-width:0;padding:0 8px}}.wallet-summary-block{display:flex;flex-direction:column;gap:8px}.wallet-summary-groups{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:12px 28px;align-items:stretch}.wallet-summary-group{display:flex;flex-direction:column;gap:8px;min-width:0}.wallet-summary-group-label{margin:0;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}.wallet-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;flex:1}@media(min-width:1200px){.wallet-summary-groups{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 32px}.wallet-summary-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}@media(max-width:900px){.wallet-summary-groups{grid-template-columns:1fr;gap:14px}}.wallet-summary-card{background:var(--surface-1);border:1px solid var(--surface-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-4-5);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:4px}.wallet-summary-card--filter{cursor:pointer;transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard)}.wallet-summary-card--filter:hover{background:var(--surface-hover);border-color:var(--surface-border-strong);box-shadow:var(--shadow-md)}.wallet-summary-card--filter:focus-visible{outline:2px solid var(--text-faint);outline-offset:2px}.wallet-summary-card--income.wallet-summary-card--filter.active{border-color:color-mix(in srgb,var(--color-income) 55%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-income) 28%,transparent)}.wallet-summary-card--expense.wallet-summary-card--filter.active{border-color:color-mix(in srgb,var(--color-expense) 55%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-expense) 28%,transparent)}.wallet-summary-card--savings.wallet-summary-card--filter.active{border-color:rgba(var(--blue-500-rgb),.55);box-shadow:0 0 0 1px rgba(var(--blue-500-rgb),.28)}.wallet-summary-card--invest.wallet-summary-card--filter.active{border-color:rgba(var(--violet-500-rgb),.55);box-shadow:0 0 0 1px rgba(var(--violet-500-rgb),.28)}.wallet-summary-label{color:var(--text-faint);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.wallet-summary-value{font-size:1.15rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.wallet-summary-value--count{font-size:1.4rem;color:var(--accent)}.wallet-summary-card--income .wallet-summary-value{color:var(--color-income)}.wallet-summary-card--expense .wallet-summary-value{color:var(--color-expense)}.wallet-summary-card--savings .wallet-summary-value{color:var(--color-info)}.wallet-summary-card--invest .wallet-summary-value{color:var(--color-accent-alt)}.wallet-summary-card--net.positive .wallet-summary-value{color:var(--color-income)}.wallet-summary-card--net.negative .wallet-summary-value{color:var(--color-expense)}.wallet-cycle-picker{width:min(100%,860px);max-width:860px}.wallet-cycle-picker-body{gap:10px}.app-modal__head.wallet-cycle-picker-head{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:12px 16px 12px 18px}.wallet-cycle-picker-head-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.wallet-cycle-picker-head .app-modal__title,.wallet-cycle-picker-head .app-close-btn{flex-shrink:0}.wallet-cycle-picker-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.wallet-cycle-picker-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:auto}.wallet-cycle-picker-actions .btn{min-height:32px}.wallet-cycle-picker-actions .btn--accent-soft{min-width:0}.wallet-cycle-calendars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}.wallet-cycle-preview-nav{display:flex;align-items:center;justify-content:center;gap:4px;flex:0 0 auto;min-width:0;margin:0;padding:2px 6px 2px 2px;border-radius:var(--radius-md);border:1px solid var(--surface-border);background:var(--surface-2)}.wallet-cycle-preview-nav-label{min-width:7.2rem;text-align:center;font-size:.82rem;font-weight:700;color:var(--text-strong);white-space:nowrap}.wallet-cycle-preview-nav-btn{width:28px;height:28px;border-radius:var(--radius-sm);border:1px solid var(--surface-border);background:var(--surface-hover);color:var(--text-secondary);font-size:1.1rem;line-height:1;cursor:pointer;padding:0;flex-shrink:0}.wallet-cycle-preview-nav-btn:hover{border-color:var(--accent-border);color:var(--accent);background:var(--accent-soft)}.wallet-cycle-month--next{background:rgba(var(--blue-600-rgb),.1);border:1px solid rgba(var(--blue-600-rgb),.22)}.wallet-cycle-month--next .wallet-cycle-month-role{color:rgba(var(--blue-600-rgb),.95);background:rgba(var(--blue-600-rgb),.16)}.wallet-cycle-month--next .wallet-cycle-day-hero{background:rgba(var(--blue-600-rgb),.92);box-shadow:inset 0 0 0 1px var(--surface-3)}.wallet-cycle-month--next .wallet-cycle-day-btn.in-range{background:rgba(var(--blue-600-rgb),.12)}.wallet-cycle-month--next .wallet-cycle-day-btn.is-selected{background:rgba(var(--blue-600-rgb),.92);color:var(--bg-elevated)}.wallet-cycle-month{display:flex;flex-direction:column;gap:5px;padding:10px 10px 8px;border-radius:var(--radius-md);min-width:0}.wallet-cycle-month--prev{background:rgba(var(--blue-600-rgb),.1);border:1px solid rgba(var(--blue-600-rgb),.22)}.wallet-cycle-month--named{background:linear-gradient(160deg,rgba(var(--accent-rgb),.1) 0%,var(--surface-1) 55%);border:1px solid var(--accent-border)}.wallet-cycle-month--named .wallet-cycle-month-name{color:var(--accent)}.wallet-cycle-month-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.wallet-cycle-month-name{font-size:11px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.wallet-cycle-month-role{align-self:flex-start;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 6px;border-radius:var(--radius-pill);line-height:1.2}.wallet-cycle-month--prev .wallet-cycle-month-role{color:rgba(var(--blue-600-rgb),.95);background:rgba(var(--blue-600-rgb),.16)}.wallet-cycle-month--named .wallet-cycle-month-role{color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-border)}.wallet-cycle-day-hero{flex-shrink:0;min-width:52px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);font-size:1.65rem;font-weight:800;letter-spacing:-.03em;line-height:1;color:var(--bg-elevated)}.wallet-cycle-month--prev .wallet-cycle-day-hero{background:rgba(var(--blue-600-rgb),.92);box-shadow:inset 0 0 0 1px var(--surface-3)}.wallet-cycle-month--named .wallet-cycle-day-hero{background:rgba(var(--accent-rgb),.92);color:var(--bg-elevated);box-shadow:inset 0 0 0 1px var(--surface-3)}.wallet-cycle-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-top:1px}.wallet-cycle-weekday{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-faint);text-align:center;line-height:1}.wallet-cycle-day-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(6,34px);gap:2px;min-height:214px}.wallet-cycle-day-empty{min-height:34px;height:34px}.wallet-cycle-day-btn{display:flex;align-items:center;justify-content:center;min-height:34px;height:34px;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-secondary);font-size:13px;font-weight:700;cursor:pointer;line-height:1}.wallet-cycle-month--prev .wallet-cycle-day-btn{background:rgba(var(--blue-600-rgb),.05)}.wallet-cycle-month--named .wallet-cycle-day-btn{background:rgba(var(--accent-rgb),.05)}.wallet-cycle-day-btn:hover{background:var(--surface-hover)}.wallet-cycle-day-btn.in-range{background:var(--surface-border)}.wallet-cycle-month--prev .wallet-cycle-day-btn.in-range{background:rgba(var(--blue-600-rgb),.16)}.wallet-cycle-month--named .wallet-cycle-day-btn.in-range{background:rgba(var(--accent-rgb),.14)}.wallet-cycle-day-btn.is-selected{color:var(--bg-elevated);border-color:transparent;font-size:14px;font-weight:800}.wallet-cycle-month--prev .wallet-cycle-day-btn.is-selected{background:rgba(var(--blue-600-rgb),.92)}.wallet-cycle-month--named .wallet-cycle-day-btn.is-selected{background:rgba(var(--accent-rgb),.92)}.wallet-cycle-day-preview{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;padding:10px 12px;border-radius:var(--radius-md);background:var(--surface-hover);border:1px solid var(--surface-border);font-size:12px;color:var(--text-secondary);line-height:1.3}.wallet-cycle-day-preview strong{font-size:14px;color:var(--text-strong)}.wallet-cycle-day-preview-days{margin-left:auto;font-size:12px;font-weight:700;color:rgba(var(--accent-rgb),.9);white-space:nowrap}.wallet-cycle-day-preview-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint)}.wallet-settings-error{margin:0;color:var(--color-danger);font-size:13px}.wallet-toolbar-actions--start{margin-left:0;margin-right:auto}.wallet-period-picker-trigger{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;padding:6px 12px;border-radius:var(--radius-sm);border:1px solid var(--accent-border);background:linear-gradient(135deg,var(--accent-soft) 0%,rgba(var(--accent-rgb),.08) 100%);color:var(--text-secondary);cursor:pointer;text-align:left}.wallet-period-picker-trigger:hover{background:linear-gradient(135deg,var(--accent-soft-strong) 0%,rgba(var(--accent-rgb),.15) 100%);border-color:rgba(var(--accent-rgb),.45)}.wallet-period-picker-trigger .wallet-period-nav-label{margin:0;font-size:14px;font-weight:700;color:var(--text-strong)}.wallet-period-picker-trigger--static{cursor:default;border-color:var(--surface-3);background:var(--surface-hover)}.wallet-period-nav-btn--text{width:auto;min-width:52px;padding:0 10px;font-size:12px}.wallet-period-picker-body{gap:14px}.wallet-period-picker-presets,.wallet-period-picker-selection{display:flex;flex-wrap:wrap;gap:8px}.wallet-period-picker-step{padding:6px 10px;border-radius:var(--radius-sm);background:var(--surface-hover);border:1px solid var(--surface-border);font-size:12px;color:var(--text-secondary)}.wallet-period-picker-step.active{border-color:rgba(var(--accent-rgb),.45);color:var(--accent-hover)}.wallet-period-picker-nav{display:flex;align-items:center;justify-content:space-between;gap:10px}.wallet-period-picker-month{font-size:15px;font-weight:700;color:var(--text-strong)}.wallet-period-picker-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.wallet-period-picker-weekday{text-align:center;font-size:10px;font-weight:700;text-transform:uppercase;color:var(--text-faint)}.wallet-period-picker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.wallet-period-picker-day{aspect-ratio:1;min-height:36px;border:none;border-radius:var(--radius-sm);background:var(--surface-hover);color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer}.wallet-period-picker-day:hover:not(:disabled){background:var(--surface-border)}.wallet-period-picker-day--empty{background:transparent;pointer-events:none}.wallet-period-picker-day--in-range{background:rgba(var(--accent-rgb),.12);color:var(--accent-hover)}.wallet-period-picker-day--selected{background:rgba(var(--accent-rgb),.85);color:var(--bg-elevated)}.wallet-period-picker-day--today{box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.55)}.wallet-period-picker-day:disabled{opacity:.25;cursor:not-allowed}.wallet-period-picker-summary{margin:0;font-size:13px;font-weight:600;color:var(--text-secondary);text-align:center}.wallet-period-nav{display:flex;align-items:center;gap:8px;flex:1;min-width:0;flex-wrap:wrap}.wallet-period-nav-btn{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 10px;border-radius:var(--radius-sm);border:1px solid var(--surface-border);background:var(--surface-hover);color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:600}.wallet-period-nav-btn:hover:not(:disabled){background:var(--surface-border)}.wallet-period-nav-btn:disabled{opacity:.35;cursor:not-allowed}.wallet-period-nav-label{margin:0;font-size:13px;font-weight:600;color:var(--text-secondary)}.wallet-period-nav-meta{margin:0;font-size:11px;color:var(--text-faint)}@media(max-width:640px){.wallet-cycle-calendars{grid-template-columns:1fr}}.wallet-modal-head h2{margin:0;font-size:1.1rem;color:var(--text-primary)}.wallet-modal-copy,.wallet-modal-hint,.wallet-modal-amount-preview{margin:0;font-size:13px;color:var(--text-dim);line-height:1.45}.wallet-modal-amount-preview{color:var(--accent-hover);font-weight:600}.wallet-modal-field{display:flex;flex-direction:column;gap:8px}.wallet-modal-field>span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint)}.coverflex-modal-body{gap:12px}.coverflex-modal-segment .segment__btn{min-height:40px;padding:10px 12px}.coverflex-modal-preview{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:var(--radius-md);background:rgba(var(--violet-500-rgb),.08);border:1px solid rgba(var(--violet-500-rgb),.22)}.coverflex-modal-preview-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:rgba(var(--violet-500-rgb),.7)}.coverflex-modal-actions{margin-top:4px;padding-top:4px}.coverflex-modal-actions .btn--accent-soft{min-width:132px}@media(max-width:640px){.coverflex-modal-overlay{align-items:flex-end;padding:0}.coverflex-modal{width:100%;max-width:100%;max-height:min(92dvh,100%);border-radius:var(--radius-xl) var(--radius-xl) 0 0;border-left:none;border-right:none;border-bottom:none}.coverflex-modal .app-modal__head{padding:16px 16px 0}.coverflex-modal-body{padding:12px 16px;gap:14px}.coverflex-modal-segment .segment__btn{min-height:44px;font-size:.875rem}.coverflex-modal .input{min-height:44px;font-size:16px}.coverflex-modal-actions{padding:4px 0 calc(8px + var(--safe-bottom));gap:8px}.coverflex-modal-actions .btn{flex:1;min-height:44px}}.wallet-accounts-hero{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.wallet-account-hero{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%;text-align:left;padding:14px 16px;border-radius:var(--radius-lg);border:1px solid var(--surface-border);background:var(--surface-1);box-shadow:var(--shadow-sm);cursor:pointer;font:inherit;color:inherit;transition:background var(--dur-fast),border-color var(--dur-fast),box-shadow var(--dur-fast)}.wallet-account-hero:hover{background:var(--surface-hover);box-shadow:var(--shadow-md)}.wallet-account-hero-head{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px}.wallet-account-hero-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.wallet-hero-action{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:none;background:transparent;border-radius:var(--radius-sm);color:var(--text-faint);cursor:pointer;transition:color var(--dur-fast),background var(--dur-fast),opacity var(--dur-fast)}.wallet-account-hero:hover .wallet-hero-action{color:var(--text-dim)}.wallet-hero-action:hover{color:var(--text-secondary);background:var(--surface-2)}.wallet-hero-action--add{opacity:.45}.wallet-account-hero--coverflex:hover .wallet-hero-action--add{opacity:1;color:rgba(var(--violet-500-rgb),.75)}.wallet-account-hero--coverflex .wallet-hero-action--add:hover{color:var(--color-accent-alt);background:rgba(var(--violet-500-rgb),.12)}.wallet-coverflex-add-icon,.wallet-hero-action--add svg{width:15px;height:15px;flex-shrink:0}.wallet-hero-power{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;background:transparent;border-radius:var(--radius-sm);color:rgba(var(--violet-500-rgb),.55);flex-shrink:0;cursor:pointer;transition:color var(--dur-fast),background var(--dur-fast)}.wallet-hero-power:hover{color:var(--color-accent-alt);background:rgba(var(--violet-500-rgb),.12)}.wallet-hero-power-icon{width:16px;height:16px}.wallet-account-hero--main{background:linear-gradient(145deg,rgba(var(--blue-500-rgb),.12) 0%,var(--surface-1) 60%);border-color:rgba(var(--blue-500-rgb),.22)}.wallet-account-hero--main.active{border-color:rgba(var(--blue-500-rgb),.5);box-shadow:0 0 0 1px rgba(var(--blue-500-rgb),.2)}.wallet-account-hero--coverflex{background:linear-gradient(145deg,rgba(var(--violet-500-rgb),.14) 0%,var(--surface-1) 60%);border-color:rgba(var(--violet-500-rgb),.25)}.wallet-account-hero--coverflex.active{border-color:rgba(var(--violet-500-rgb),.55);box-shadow:0 0 0 1px rgba(var(--violet-500-rgb),.25)}.wallet-account-hero-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim)}.wallet-account-hero-value{font-size:clamp(1.2rem,3.5vw,1.5rem);font-weight:700;letter-spacing:-.02em;line-height:1.15;color:var(--text-primary)}.wallet-account-hero--main .wallet-account-hero-value{color:var(--color-info)}.wallet-account-hero--coverflex .wallet-account-hero-value{color:var(--color-accent-alt)}.wallet-account-hero-badge{display:inline-block;margin-left:8px;padding:1px 6px;border-radius:var(--radius-pill);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);background:var(--surface-border);border:1px solid var(--surface-border);vertical-align:middle}.wallet-account-hero--coverflex.is-disabled{opacity:.72;cursor:default;background:linear-gradient(145deg,var(--surface-1) 0%,var(--surface-1) 60%);border-color:var(--surface-border);box-shadow:none}.wallet-account-hero--coverflex.is-disabled:hover{background:linear-gradient(145deg,var(--surface-1) 0%,var(--surface-1) 60%)}.wallet-account-hero--coverflex.is-disabled .wallet-account-hero-label{color:var(--text-faint)}.wallet-account-hero-value.is-struck{color:var(--text-faint)!important;text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:var(--text-faint)}.wallet-hero-power.is-off{color:rgba(var(--red-400-rgb),.85)}.wallet-account-hero--coverflex.is-disabled .wallet-hero-power{color:rgba(var(--red-400-rgb),.75);opacity:1}.wallet-account-hero--coverflex.is-disabled .wallet-hero-power:hover{color:var(--color-expense);background:var(--color-danger-bg)}@media(max-width:768px){.wallet-accounts-hero{grid-template-columns:1fr}.wallet-account-hero-value{font-size:1.35rem}.wallet-account-hero-actions{gap:4px}.wallet-hero-action,.wallet-hero-power{width:36px;height:36px}.wallet-hero-power-icon,.wallet-coverflex-add-icon,.wallet-hero-action--add svg{width:18px;height:18px}}.wallet-chart-section{background:var(--surface-1);border:1px solid var(--surface-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm)}.wallet-chart-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:20px}.wallet-chart-hint{margin:0;font-size:12px;color:var(--text-faint)}.wallet-chart-visual{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.wallet-chart-donut-wrap{position:relative;width:190px;height:190px;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:visible}.wallet-chart-donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.wallet-chart-donut-total{font-size:1rem;font-weight:700;color:var(--text-primary);text-align:center;line-height:1.2;letter-spacing:-.02em}.wallet-chart-donut-sub{font-size:10px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.08em;margin-top:2px}.wallet-chart-legend{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;flex:1;min-width:min(280px,100%);max-height:240px;overflow-y:auto;padding-right:4px}@media(max-width:560px){.wallet-chart-legend{grid-template-columns:1fr}}.wallet-chart-chip{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border-radius:var(--radius-sm, 6px);background:var(--surface-2);border:1px solid var(--surface-border);cursor:pointer;font-size:.8rem;color:var(--text-primary);text-align:left;font:inherit;min-width:0;transition:border-color var(--dur-fast, .15s),background var(--dur-fast, .15s),opacity var(--dur-fast, .15s),box-shadow var(--dur-fast, .15s)}.wallet-chart-chip:hover,.wallet-chart-chip--focused,.wallet-chart-chip--active{border-color:var(--wallet-chip-glow, var(--accent));background:var(--surface-hover);box-shadow:0 0 0 1px color-mix(in srgb,var(--wallet-chip-glow, var(--accent)) 55%,transparent),0 0 14px color-mix(in srgb,var(--wallet-chip-glow, var(--accent)) 45%,transparent)}.wallet-chart-chip--dimmed{opacity:.4}.wallet-chart-chip--dimmed:hover{opacity:1}.wallet-chart-swatch{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px}.wallet-chart-chip-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.wallet-chart-chip-name{font-weight:700;color:var(--text-primary);line-height:1.25;overflow-wrap:anywhere;word-break:break-word}.wallet-chart-chip-meta{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.wallet-chart-chip-pct{font-size:.75rem;color:var(--text-muted)}.wallet-chart-chip-val{font-size:.75rem;color:var(--text-secondary)}.wallet-chart-chip--credit{background:color-mix(in srgb,var(--color-income) 8%,transparent);border-color:color-mix(in srgb,var(--color-income) 22%,transparent);grid-column:1 / -1}.wallet-chart-chip--credit:hover,.wallet-chart-chip--credit.wallet-chart-chip--focused,.wallet-chart-chip--credit.wallet-chart-chip--active{background:color-mix(in srgb,var(--color-income) 12%,transparent)}.wallet-chart-swatch--credit{background:var(--color-income)}.wallet-category-modal__body{max-height:min(70vh,640px);overflow:auto}.wallet-category-detail-swatch{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:8px;vertical-align:middle}@media(max-width:768px){.wallet-chart-visual{flex-direction:column;align-items:center}.wallet-chart-legend{width:100%;min-width:0;max-height:none}}.wallet-tx-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.wallet-tx-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--radius-md);background:var(--surface-1);border:1px solid var(--surface-border);transition:background var(--dur-fast),border-color var(--dur-fast);position:relative}.wallet-tx-item:hover{background:var(--surface-hover)}.wallet-tx-item--validated{border-color:rgba(var(--green-600-rgb),.35);background:rgba(var(--green-600-rgb),.06)}.wallet-tx-item--selected{border-color:rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.08)}.wallet-tx-item--clickable{padding:0;overflow:hidden}.wallet-tx-item--with-select{display:flex;align-items:center;gap:10px;padding:0 14px 0 10px}.wallet-tx-item--with-select.wallet-tx-item--clickable{padding:0 14px 0 10px}.wallet-tx-item--with-select .wallet-tx-row-btn{flex:1;min-width:0}.wallet-tx-row-btn{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 14px;border:none;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit}.wallet-tx-row-btn--with-lead{justify-content:flex-start}.wallet-tx-row-btn--with-lead .wallet-tx-main{flex:1;min-width:0}.wallet-tx-row-btn--with-lead .wallet-tx-end{margin-left:auto;flex-shrink:0}.wallet-tx-row-static{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 14px}.wallet-tx-row-static.wallet-tx-row-btn--with-lead{justify-content:flex-start}.wallet-tx-row-static.wallet-tx-row-btn--with-lead .wallet-tx-main{flex:1;min-width:0}.wallet-tx-row-static.wallet-tx-row-btn--with-lead .wallet-tx-end{margin-left:auto;flex-shrink:0}.wallet-tx-item--with-actions{display:flex;align-items:center;gap:8px;padding:0 8px}.wallet-tx-item--with-actions.wallet-tx-item--clickable{padding:0 8px}.wallet-tx-item--with-actions .wallet-tx-row-btn,.wallet-tx-item--with-actions .wallet-tx-row-static{flex:1;min-width:0;padding:12px 8px}.wallet-tx-status-icon,.wallet-tx-status-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);flex-shrink:0}.wallet-tx-status-icon--reviewed,.wallet-tx-status-btn.is-reviewed{background:rgba(var(--green-600-rgb),.12);color:var(--color-income);border:1px solid rgba(var(--green-600-rgb),.3)}.wallet-tx-status-btn{border:1px solid var(--surface-border);background:var(--surface-1);color:var(--text-faint);cursor:pointer;padding:0;transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast)}.wallet-tx-status-btn:hover{color:var(--color-income);border-color:rgba(var(--green-600-rgb),.4);background:rgba(var(--green-600-rgb),.1)}.wallet-tx-status-icon svg,.wallet-tx-status-btn svg{width:16px;height:16px}.wallet-tx-delete-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);flex-shrink:0;border:1px solid rgba(var(--red-400-rgb),.2);background:var(--color-danger-bg);color:rgba(var(--red-400-rgb),.75);cursor:pointer;padding:0;transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast)}.wallet-tx-delete-btn svg{width:15px;height:15px}.wallet-tx-delete-btn:hover{color:var(--color-expense);border-color:rgba(var(--red-400-rgb),.45);background:var(--color-danger-bg)}.wallet-tx-row-btn:hover{background:var(--surface-1)}.wallet-tx-note-hint{display:block;font-size:11px;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wallet-tx-item--group{flex-direction:column;align-items:stretch;gap:0;padding:0;overflow:hidden}.wallet-tx-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.wallet-tx-merge-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);flex-shrink:0;border:1px solid rgba(var(--blue-500-rgb),.22);background:rgba(var(--blue-500-rgb),.06);color:rgba(var(--blue-500-rgb),.85);cursor:pointer;padding:0;transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast)}.wallet-tx-merge-btn svg{width:15px;height:15px}.wallet-tx-merge-btn:hover{color:var(--color-info);border-color:rgba(var(--blue-500-rgb),.45);background:rgba(var(--blue-500-rgb),.14)}.wallet-tx-merge-btn.is-active{color:var(--bg-elevated);border-color:rgba(var(--blue-500-rgb),.65);background:rgba(var(--blue-500-rgb),.9)}.wallet-tx-select{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:22px;height:22px;border-radius:var(--radius-sm);border:1px solid var(--text-faint);background:rgba(var(--black-rgb),.25);cursor:pointer;padding:0;color:var(--text-strong)}.wallet-tx-select svg{width:13px;height:13px}.wallet-tx-select.active{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.12)}.wallet-tx-validate{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--surface-border);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-faint);cursor:pointer;padding:0;transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast)}.wallet-tx-validate svg{width:14px;height:14px}.wallet-tx-validate:hover{color:var(--text-secondary);background:var(--surface-border)}.wallet-tx-validate.active{color:var(--color-income);border-color:rgba(var(--green-600-rgb),.45);background:rgba(var(--green-600-rgb),.12)}.wallet-tx-main{min-width:0;display:flex;flex-direction:column;gap:2px;flex:1}.wallet-tx-label{color:var(--text-primary);font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wallet-tx-cat{font-size:12px;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wallet-tx-cat--unknown{color:var(--color-warning);font-weight:600}.wallet-tx-item--unknown-cat{border-color:var(--color-warning-bg)}.wallet-tx-end{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.wallet-tx-date{font-size:11px;color:var(--text-faint)}.wallet-amount{font-weight:700;font-size:14px;white-space:nowrap;letter-spacing:-.01em}.wallet-amount--income{color:var(--color-income)}.wallet-amount--expense{color:var(--color-expense)}.wallet-amount--reimburse{color:var(--color-income)}.wallet-tx-group-toggle{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:none;background:transparent;color:inherit;text-align:left;cursor:pointer}.wallet-tx-group-toggle .wallet-tx-main{flex:1;min-width:0}.wallet-tx-group-toggle .wallet-tx-end{margin-left:auto;flex-shrink:0}.wallet-tx-group-detail{padding:0 14px 12px 58px;border-top:1px solid var(--surface-2)}.wallet-tx-group-members{list-style:none;margin:10px 0;padding:0;display:flex;flex-direction:column;gap:6px}.wallet-tx-group-member{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--text-secondary)}.wallet-tx-ungroup-btn{margin-top:4px}.wallet-tx-section-head{align-items:flex-start}.wallet-tx-section-actions{display:flex;gap:8px;flex-shrink:0}.wallet-tx-section-actions .btn.active{border-color:var(--accent-border);color:var(--accent);background:var(--accent-soft)}@media(max-width:640px){.wallet-tx-item--with-actions{gap:6px;padding-inline:6px}.wallet-tx-item--with-actions .wallet-tx-row-btn,.wallet-tx-item--with-actions .wallet-tx-row-static{padding:10px 6px;gap:8px}.wallet-tx-status-btn,.wallet-tx-merge-btn,.wallet-tx-delete-btn{width:36px;height:36px;flex-shrink:0}.wallet-tx-end{flex-direction:column;align-items:flex-end;flex-shrink:0;max-width:42%}.wallet-tx-date,.wallet-amount{max-width:100%;overflow:hidden;text-overflow:ellipsis}.wallet-tx-group-detail{padding-left:14px}}.wallet-selection-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2-5);margin-bottom:var(--space-3);padding:var(--space-2-5) var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--surface-border);background:rgba(var(--neutral-850-rgb),.94);font-size:13px;color:var(--text-secondary)}.wallet-selection-bar-actions{display:flex;gap:var(--space-2)}.wallet-selection-bar-summary{line-height:1.4}.wallet-selection-bar-net{font-weight:700}.wallet-selection-bar-net--income{color:var(--color-income)}.wallet-selection-bar-net--expense{color:var(--color-expense)}.wallet-selection-bar--sticky{position:fixed;left:50%;bottom:calc(var(--space-3) + var(--safe-bottom));translate:-50% 0;z-index:var(--z-overlay);width:min(calc(100% - 24px),720px);margin:0;box-shadow:var(--shadow-lg);backdrop-filter:blur(var(--blur-md));-webkit-backdrop-filter:blur(var(--blur-md));animation:app-rise var(--dur-base) var(--ease-enter)}.wallet-merge-sheet-bar{flex-direction:column;align-items:stretch;gap:var(--space-2-5);padding:var(--space-2-5) var(--space-3-5) var(--space-3);border-radius:var(--radius-xl)}.wallet-merge-sheet-bar .wallet-selection-bar-actions{justify-content:flex-end}.wallet-page--reconcile-select{padding-bottom:calc(120px + var(--safe-bottom))}.wallet-merge-overlay{align-items:flex-end;padding:0}.wallet-merge-sheet{width:100%;max-width:520px;border-radius:var(--radius-xl) var(--radius-xl) 0 0;margin:0 auto;animation:app-sheet-in var(--dur-slow) var(--ease-enter)}@media(min-width:641px){.wallet-merge-overlay{align-items:center;padding:var(--space-5)}.wallet-merge-sheet{border-radius:var(--radius-lg);animation-name:app-modal-in}}.wallet-reconcile-modal{width:min(100%,520px);max-width:520px}.wallet-reconcile-member-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1-5)}.wallet-reconcile-member-item{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-2-5);border-radius:var(--radius-md);background:var(--surface-1);border:1px solid var(--surface-border);font-size:13px}.wallet-reconcile-member-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wallet-reconcile-member-amount.is-income{color:var(--color-income);font-weight:700}.wallet-reconcile-member-amount.is-expense{color:var(--color-expense);font-weight:700}.wallet-reconcile-net{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--surface-border)}.wallet-reconcile-net strong{font-size:1.25rem}.wallet-reconcile-net-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim)}.wallet-reconcile-net-hint{font-size:12px;color:var(--text-dim)}.wallet-reconcile-net--income{background:rgba(var(--green-600-rgb),.08);border-color:rgba(var(--green-600-rgb),.25)}.wallet-reconcile-net--expense{background:var(--color-danger-bg);border-color:rgba(var(--red-400-rgb),.25)}.wallet-reconcile-net--settled{background:var(--surface-hover)}.wallet-reconcile-member-end{display:inline-flex;align-items:center;gap:var(--space-2);flex-shrink:0}.wallet-reconcile-member-remove{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-dim);font-size:18px;line-height:1;cursor:pointer}.wallet-reconcile-member-remove:hover:not(:disabled){color:var(--color-expense);background:var(--color-danger-bg)}.wallet-reconcile-member-remove:disabled{opacity:.35;cursor:not-allowed}.wallet-reconcile-add-btn{align-self:flex-start}.wallet-reconcile-field{display:flex;flex-direction:column;gap:var(--space-1-5);font-size:12px;color:var(--text-dim)}.wallet-reconcile-input{width:100%;padding:9px 12px;border-radius:var(--radius-sm);border:1px solid var(--surface-border);background:rgba(var(--black-rgb),.35);color:var(--text-primary);font-size:13px}.wallet-reconcile-input:focus{outline:none;border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-soft)}.wallet-reconcile-category-hint{font-size:11px;color:var(--text-faint)}.wallet-tx-detail-modal{width:min(100%,440px);max-width:440px;display:flex;flex-direction:column;max-height:min(90dvh,720px);overflow:hidden}.wallet-tx-detail-handle{display:none}.wallet-tx-detail-head{align-items:flex-start;gap:12px}.wallet-tx-detail-head-text{min-width:0;flex:1}.wallet-tx-detail-kicker{margin:0 0 4px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}.wallet-tx-detail-title{margin:0;font-size:1.05rem;line-height:1.3;overflow-wrap:anywhere}.wallet-tx-detail-body{gap:14px;flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:12px}.wallet-tx-detail-summary{display:flex;flex-direction:column;gap:var(--space-2);padding:14px 16px;border-radius:var(--radius-lg);background:var(--surface-hover);border:1px solid var(--surface-border)}.wallet-tx-detail-summary.is-income{background:color-mix(in srgb,var(--color-income) 10%,transparent);border-color:color-mix(in srgb,var(--color-income) 28%,transparent)}.wallet-tx-detail-summary.is-expense{background:color-mix(in srgb,var(--color-expense) 10%,transparent);border-color:color-mix(in srgb,var(--color-expense) 28%,transparent)}.wallet-tx-detail-amount{font-size:1.55rem;font-weight:750;letter-spacing:-.03em;line-height:1.15}.wallet-tx-detail-summary.is-income .wallet-tx-detail-amount{color:var(--color-income)}.wallet-tx-detail-summary.is-expense .wallet-tx-detail-amount{color:var(--color-expense)}.wallet-tx-detail-meta{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:13px;color:var(--text-dim)}.wallet-tx-detail-current-cat{color:var(--text-secondary)!important;font-weight:600}.wallet-tx-detail-section{display:flex;flex-direction:column;gap:8px}.wallet-tx-detail-section-label{font-size:12px;font-weight:600;color:var(--text-dim)}.wallet-tx-detail-note-field{color:inherit}.wallet-tx-category-chips{display:flex;flex-wrap:wrap;gap:8px}.wallet-category-picker{display:flex;flex-direction:column;gap:10px}.wallet-category-picker--panel{padding:12px;border-radius:var(--radius-lg);background:var(--surface-1);border:1px solid var(--surface-border)}.wallet-category-picker-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px}.wallet-category-picker-title{font-size:12px;font-weight:600;color:var(--text-dim)}.wallet-category-picker-spacer{width:52px}.wallet-category-picker-back{border:none;background:transparent;color:var(--accent);font-size:13px;font-weight:600;padding:4px 0;cursor:pointer;min-height:36px}.wallet-category-picker-tools{display:inline-flex;gap:8px}.wallet-category-tool-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 12px;border-radius:var(--radius-pill);border:1px solid var(--surface-border);background:var(--surface-hover);color:var(--text-secondary);font-size:12px;font-weight:650;cursor:pointer}.wallet-category-tool-btn svg{width:15px;height:15px;flex-shrink:0}.wallet-category-tool-btn:hover:not(:disabled){border-color:var(--accent-border);color:var(--accent);background:var(--accent-soft)}.wallet-category-tool-btn.is-done{border-color:var(--accent-border);color:var(--bg-elevated);background:rgba(var(--accent-rgb),.92)}.wallet-category-tool-btn:disabled{opacity:.45;cursor:not-allowed}.wallet-category-create-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;padding:10px 14px;border-radius:var(--radius-md);border:1px dashed rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.08);color:var(--accent);font-size:13px;font-weight:700;cursor:pointer}.wallet-category-create-btn svg{width:16px;height:16px}.wallet-category-create-btn:hover:not(:disabled){background:rgba(var(--accent-rgb),.14);border-color:var(--accent-border)}.wallet-category-create{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--text-dim)}.wallet-category-create-actions{display:flex;justify-content:flex-end;gap:8px}.wallet-category-picker-search{width:100%;min-height:44px;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--surface-border);background:rgba(var(--black-rgb),.35);color:var(--text-primary);font-size:15px}.wallet-category-picker-search:focus{outline:none;border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-soft)}.wallet-category-picker-add-list{display:flex;flex-direction:column;gap:4px;max-height:min(36vh,240px);overflow:auto;padding-right:2px;-webkit-overflow-scrolling:touch}.wallet-category-picker-add-item{text-align:left;min-height:44px;padding:11px 12px;border-radius:var(--radius-sm);border:1px solid transparent;background:var(--surface-1);color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer}.wallet-category-picker-add-item:hover:not(:disabled),.wallet-category-picker-add-item:active:not(:disabled){border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent)}.wallet-category-picker-empty{margin:0;padding:14px 8px;font-size:13px;line-height:1.4;color:var(--text-dim);text-align:center}.wallet-category-picker-section{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.wallet-category-picker-section-label{margin:8px 2px 2px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}.wallet-category-picker-section-hint{display:block;margin-top:2px;font-weight:500;letter-spacing:0;text-transform:none}.wallet-tx-category-chip{min-height:40px;padding:8px 12px;border-radius:var(--radius-pill);border:1px solid var(--surface-border);background:var(--surface-hover);color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;line-height:1.2;text-align:center;display:inline-flex;align-items:center;gap:6px}.wallet-tx-category-chip--muted{border-style:dashed;color:var(--text-dim);font-weight:550}.wallet-tx-category-chip-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:11rem}.wallet-tx-category-chip:hover:not(:disabled){border-color:var(--accent-border);color:var(--accent);background:var(--accent-soft)}.wallet-tx-category-chip.is-active{border-color:var(--accent-border);color:var(--bg-elevated);background:rgba(var(--accent-rgb),.92)}.wallet-tx-category-chip.is-editing{border-color:rgba(var(--red-400-rgb),.45);background:var(--color-danger-bg)}.wallet-tx-category-chip-x{font-size:15px;line-height:1;opacity:.85}.wallet-tx-category-chip:disabled{opacity:.5;cursor:not-allowed}.wallet-tx-detail-hint{margin:0;font-size:12px;color:var(--text-dim);line-height:1.45}.wallet-tx-detail-select,.wallet-tx-detail-note{width:100%;padding:9px 12px;border-radius:var(--radius-sm);border:1px solid var(--surface-border);background:rgba(var(--black-rgb),.35);color:var(--text-primary);font-size:13px;font-family:inherit}.wallet-tx-detail-note{resize:vertical;min-height:56px}.wallet-tx-detail-select:focus,.wallet-tx-detail-note:focus{outline:none;border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-soft)}.wallet-tx-detail-actions{flex-shrink:0;align-items:center;justify-content:flex-end;gap:10px;padding:12px 22px calc(16px + var(--safe-bottom));border-top:1px solid var(--surface-border);background:var(--bg-secondary)}.wallet-tx-detail-actions-spacer{margin-right:auto}.wallet-tx-detail-trash{margin-right:auto;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border-radius:var(--radius-sm);border:1px solid rgba(var(--red-400-rgb),.28);background:var(--color-danger-bg);color:var(--color-expense);cursor:pointer}.wallet-tx-detail-trash svg{width:18px;height:18px}.wallet-tx-detail-trash:hover:not(:disabled){color:var(--color-expense);background:var(--color-danger-bg);border-color:rgba(var(--red-400-rgb),.45)}.wallet-tx-detail-trash:disabled{opacity:.45;cursor:not-allowed}@media(max-width:640px){.wallet-tx-detail-overlay{align-items:flex-end;padding:0}.wallet-tx-detail-modal{width:100%;max-width:100%;max-height:min(94dvh,100%);border-radius:var(--radius-xl) var(--radius-xl) 0 0;border-left:none;border-right:none;border-bottom:none}.wallet-tx-detail-handle{display:block;width:42px;height:4px;margin:10px auto 0;border-radius:var(--radius-pill);background:var(--surface-border-strong);flex-shrink:0}.wallet-tx-detail-modal .app-modal__head,.wallet-tx-detail-head{padding:10px 16px 0}.wallet-tx-detail-body{padding:12px 16px 16px}.wallet-tx-detail-actions{padding:12px 16px calc(14px + var(--safe-bottom))}.wallet-tx-detail-amount{font-size:1.7rem}.wallet-category-tool-btn{min-height:40px;padding:0 14px}.wallet-tx-category-chip{min-height:44px;flex:1 1 calc(50% - 8px);justify-content:center}.wallet-tx-category-chip-label{max-width:none}.wallet-category-picker-add-list{max-height:min(42vh,280px)}.wallet-tx-detail-title{font-size:1rem;padding-right:4px}.wallet-tx-detail-meta{flex-direction:column;align-items:flex-start;gap:4px}.wallet-selection-bar--sticky{width:min(calc(100% - 16px),720px);bottom:calc(10px + var(--safe-bottom))}}.pf-cash{padding:16px;display:flex;flex-direction:column;gap:14px}.pf-cash__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.pf-cash__title{margin:0;font-size:1.05rem;font-weight:700;color:var(--text-primary)}.pf-cash__toggle{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 10px;flex:1;min-width:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.pf-cash__toggle:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:var(--radius-xs)}.pf-cash__chevron{color:var(--text-muted);font-size:.8rem}.pf-cash__headline{font-weight:700;color:var(--text-primary)}.pf-cash__headline-earn{font-weight:500;font-size:.8rem;color:var(--text-muted)}.pf-cash__body{display:flex;flex-direction:column;gap:14px}.pf-cash__subtitle,.pf-cash__note,.pf-cash__empty{margin:4px 0 0;font-size:.78rem;color:var(--text-muted)}.pf-cash__summary{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;padding:12px 14px;border-radius:var(--radius-sm, 6px);background:var(--surface-1);border:1px solid var(--surface-border)}.pf-cash__summary-label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:4px}.pf-cash__summary-value{font-size:1.5rem;color:var(--text-primary)}.pf-cash__earnings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 18px;margin:0}.pf-cash__earning dt{font-size:.7rem;color:var(--text-muted)}.pf-cash__earning dd{margin:2px 0 0;font-weight:700;font-size:.95rem;white-space:nowrap}.pf-cash__account{display:flex;flex-direction:column;gap:12px;padding:14px;border-radius:var(--radius-sm, 6px);border:1px solid var(--surface-border)}.pf-cash__account-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.pf-cash__account-head h3{margin:0;font-size:1rem;color:var(--text-primary)}.pf-cash__rate{display:inline-block;margin-top:4px;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:700;color:var(--accent);border:1px solid var(--accent)}.pf-cash__balance{text-align:right;display:flex;flex-direction:column}.pf-cash__balance strong{font-size:1.3rem;color:var(--text-primary)}.pf-cash__balance span{font-size:.7rem;color:var(--text-muted)}.pf-cash__facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px 16px;margin:0}.pf-cash__facts dt{font-size:.7rem;color:var(--text-muted)}.pf-cash__facts dd{margin:2px 0 0;font-size:.88rem;font-weight:600;color:var(--text-primary)}.pf-cash__actions{display:flex;gap:8px;flex-wrap:wrap}.pf-cash__form{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px 12px;align-items:end;padding:12px;border-radius:var(--radius-sm, 6px);background:var(--surface-1);border:1px solid var(--surface-border)}.pf-cash__field{display:flex;flex-direction:column;gap:4px;font-size:.72rem;color:var(--text-muted)}.pf-cash__form-actions{display:flex;gap:8px;grid-column:1 / -1}.pf-cash__movements{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:220px;overflow-y:auto}.pf-cash__movements li{display:grid;grid-template-columns:110px 1fr auto 24px;gap:10px;align-items:center;font-size:.8rem;color:var(--text-secondary)}.pf-cash__movement-note{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pf-cash__remove{border:0;background:transparent;color:var(--text-muted);font-size:1rem;line-height:1;cursor:pointer}.pf-cash__remove:hover:not(:disabled),.pf-cash__remove:focus-visible{color:var(--text-primary)}@media(max-width:520px){.pf-cash__balance{text-align:left}.pf-cash__movements li{grid-template-columns:1fr auto 24px}.pf-cash__movements li>:first-child{grid-column:1 / -1;font-size:.72rem;color:var(--text-muted)}}@media(pointer:coarse){.pf-cash__remove{padding:8px;margin:-8px}}.pf-holdings__cards-wrap{display:none}@media(max-width:640px){.pf-holdings__cards-wrap{display:flex;flex-direction:column;gap:12px}.pf-holdings__table-wrap{display:none}}.pf-holdings__mobile-sort{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 0}.pf-holdings__sort-label{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.pf-holdings__sort-select{flex:1;max-width:240px;background:var(--surface-2);color:var(--text-primary);border:1px solid var(--surface-border);border-radius:var(--radius-sm);padding:6px 10px;font-size:.78rem;font-weight:500;outline:none;cursor:pointer;transition:border-color var(--dur-fast, .15s),background var(--dur-fast, .15s)}.pf-holdings__sort-select:focus-visible{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.pf-holdings__cards{display:flex;flex-direction:column;gap:10px}.pf-holding-card{display:flex;flex-direction:column;gap:10px;background:var(--surface-1);border:1px solid var(--surface-border);border-radius:var(--radius-md);padding:12px 14px;transition:background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),transform var(--dur-press) var(--ease-out);text-align:left}.pf-holding-card--clickable{cursor:pointer}.pf-holding-card--clickable:hover{background:var(--surface-hover);border-color:var(--surface-border-strong)}.pf-holding-card--clickable:active{transform:scale(.98)}.pf-holding-card--clickable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pf-holding-card__header{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.pf-holding-card__asset{display:flex;align-items:baseline;gap:6px;min-width:0}.pf-holding-card__asset .pf-asset-symbol{font-size:1rem;font-weight:700;color:var(--text-primary);margin-right:0}.pf-holding-card--clickable:hover .pf-asset-symbol{color:var(--accent)}.pf-holding-card__asset .pf-asset-type{font-size:.68rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;background:var(--surface-2);padding:1px 6px;border-radius:var(--radius-pill);letter-spacing:.03em}.pf-holding-card__value-group{display:flex;align-items:baseline;gap:6px;flex-shrink:0}.pf-holding-card__value{font-size:1rem;font-weight:700;color:var(--text-primary)}.pf-holding-card__weight{font-size:.72rem;font-weight:600;color:var(--text-muted);background:var(--surface-2);padding:1px 6px;border-radius:var(--radius-pill)}.pf-holding-card__pnl-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;background:var(--surface-sunken);border-radius:var(--radius-sm);padding:8px 10px}.pf-holding-card__stat{display:flex;flex-direction:column;gap:2px;min-width:0}.pf-holding-card__stat--right{align-items:flex-end;text-align:right}.pf-holding-card__stat-label{font-size:.68rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.pf-holding-card__stat-value{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;font-size:.82rem}.pf-holding-card__stat--right .pf-holding-card__stat-value{justify-content:flex-end}.pf-holding-card__pnl-pct{font-size:.72rem;font-weight:600}.pf-holding-card__secondary{display:flex;align-items:center;gap:6px;font-size:.72rem;color:var(--text-muted);flex-wrap:wrap;padding-top:2px}.pf-holding-card__sec-val{color:var(--text-secondary);font-weight:600}.pf-holding-card__sep{opacity:.5}.pf-holding-card__broker{text-transform:capitalize;font-size:.7rem}.jsr-section{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--surface-border)}.jsr-head{display:flex;flex-direction:column;gap:var(--space-1)}.jsr-title{margin:0;font-size:var(--text-md, 1rem);font-weight:var(--weight-bold, 700);color:var(--text-primary)}.jsr-subtitle{margin:0;font-size:var(--text-sm, .8125rem);color:var(--text-muted)}.pt-alert-panel{display:flex;flex-direction:column;background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:var(--radius-sm);overflow:hidden}.pt-alert-toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;padding:10px 14px;border:none;background:transparent;color:var(--accent);font:inherit;font-size:.8125rem;font-weight:600;text-align:left;cursor:pointer}.pt-alert-toggle:hover{background:var(--accent-soft-strong)}.pt-alert-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.pt-alert-toggle-label{min-width:0}.pt-alert-toggle-hint{flex-shrink:0;font-size:.75rem;font-weight:500;color:var(--text-muted)}.pt-alert-body{display:flex;flex-direction:column;gap:12px;padding:0 14px 12px;border-top:1px solid var(--accent-border)}.pt-alert-body[hidden]{display:none}.pt-alert-group{display:flex;flex-direction:column;gap:6px}.pt-alert-group-title{font-size:.75rem;font-weight:700;color:var(--text-primary)}.pt-alert-group-title--warn{color:var(--accent)}.pt-alert-group-title--info{color:var(--color-info)}.pt-alert-group-sub{margin:0;font-size:.7rem;color:var(--text-muted)}.pt-alert-rows{display:flex;flex-wrap:wrap;gap:8px}.pt-alert-row-wrapper{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:var(--radius-sm);background:var(--surface-1);border:1px solid var(--surface-border);transition:border-color var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard)}.pt-alert-row-wrapper:hover{border-color:var(--surface-border-strong);background:var(--surface-hover)}.pt-alert-row{display:flex;flex-direction:column;gap:2px;background:transparent;border:none;color:var(--text-primary);font-size:.75rem;text-align:left;cursor:pointer;font:inherit;padding:0}.pt-alert-ticker{font-weight:700}.pt-alert-sub{color:var(--text-muted);font-size:.6875rem}.pt-alert-confirm-btn{flex-shrink:0;padding:3px 8px;font-size:.6875rem;font-weight:600;border-radius:var(--radius-xs)}.pt-timeline-overlay{position:fixed;inset:0;z-index:var(--z-overlay, 900);background:var(--material-scrim);backdrop-filter:blur(var(--blur-sm));-webkit-backdrop-filter:blur(var(--blur-sm));display:flex;align-items:center;justify-content:center;padding:var(--space-4);animation:app-fade-in var(--dur-fast, .15s) var(--ease-out, ease-out)}.pt-timeline-panel{background:var(--material-sheet, var(--surface-1));border:1px solid var(--surface-border-strong);border-radius:var(--radius-md);width:100%;max-width:560px;max-height:85vh;overflow-y:auto;padding:var(--space-6);box-shadow:var(--shadow-lg);color:var(--text-primary);animation:app-slide-down var(--dur-base) var(--ease-out)}.pt-timeline-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.pt-timeline-header h2{font-size:1.125rem;font-weight:700;margin:0;flex:1;color:var(--text-primary)}.pt-timeline-close{width:32px;height:32px;border:1px solid var(--surface-border);background:var(--surface-2);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:1.125rem}.pt-timeline-close:hover{background:var(--surface-3);color:var(--text-primary);border-color:var(--surface-border-strong)}.pt-real-banner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:10px 14px;margin-bottom:16px;border-radius:var(--radius-sm);background:var(--color-success-bg);border:1px solid var(--surface-border)}.pt-real-banner--none{background:var(--surface-1);color:var(--text-muted);font-size:.8125rem;justify-content:flex-start}.pt-real-banner-main{display:flex;flex-direction:column;gap:2px}.pt-real-banner-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.pt-real-banner-value{font-size:.9375rem;font-weight:700;color:var(--text-primary)}.pt-real-banner-changes{display:flex;gap:12px;font-size:.8125rem;font-weight:600}.pt-change-up{color:var(--color-success)}.pt-change-down{color:var(--color-danger)}.pt-no-signal{margin:0 0 16px;padding:10px 14px;border-radius:var(--radius-sm);background:var(--surface-1);border:1px solid var(--surface-border);color:var(--text-muted);font-size:.8125rem;line-height:1.5}.pt-timeline-summary{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.pt-timeline-stat{padding:8px 14px;background:var(--surface-1);border:1px solid var(--surface-border);border-radius:var(--radius-sm);text-align:center}.pt-timeline-stat .stat-val{font-size:1rem;font-weight:700;color:var(--text-primary)}.pt-timeline-stat .stat-lbl{font-size:.6875rem;color:var(--text-muted)}.pt-timeline-list{display:flex;flex-direction:column;gap:0;position:relative;padding-left:20px}.pt-timeline-list:before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:var(--surface-border-strong)}.pt-timeline-entry{position:relative;padding:10px 0 10px 16px}.pt-timeline-entry:before{content:"";position:absolute;left:-16px;top:16px;width:10px;height:10px;border-radius:50%;border:2px solid var(--surface-border-strong);background:var(--bg-secondary)}.pt-timeline-entry--buy:before,.pt-timeline-entry--add:before{border-color:var(--color-success);background:var(--color-success)}.pt-timeline-entry--sell:before,.pt-timeline-entry--reduce:before{border-color:var(--color-danger);background:var(--color-danger)}.pt-timeline-entry-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pt-timeline-action{padding:2px 8px;font-size:.6875rem;font-weight:600;border-radius:var(--radius-pill);text-transform:uppercase}.pt-timeline-action--buy,.pt-timeline-action--add{background:var(--color-success-bg);color:var(--color-success)}.pt-timeline-action--sell,.pt-timeline-action--reduce{background:var(--color-danger-bg);color:var(--color-danger)}.pt-timeline-action--hold{background:var(--surface-1);color:var(--text-muted)}.pt-timeline-date{font-size:.75rem;color:var(--text-muted)}.pt-timeline-details{margin-top:6px;font-size:.8125rem;color:var(--text-secondary);line-height:1.5}.pt-timeline-details span{display:inline-block;margin-right:12px}.pt-timeline-reason{margin-top:4px;font-size:.75rem;color:var(--text-muted);font-style:italic}.pt-timeline-video-link{margin-top:4px;font-size:.6875rem;color:var(--accent);cursor:pointer;border:none;background:none;padding:0;font:inherit;text-decoration:underline}.pt-timeline-video-link:hover{opacity:.8}.jsr-confirm-form{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4)}.jsr-form-row{display:flex;flex-direction:column;gap:4px}.jsr-form-row--grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.jsr-error-banner{padding:8px 12px;background:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--surface-border-strong);border-radius:var(--radius-sm);font-size:.8125rem}@media(max-width:600px){.pt-timeline-panel{max-height:90vh;padding:var(--space-4)}.jsr-form-row--grid{grid-template-columns:1fr}}@media(max-width:480px){.pt-timeline-overlay{align-items:flex-end;padding:0}.pt-timeline-panel{width:100%;max-width:100%;max-height:min(90dvh,calc(100dvh - 24px));border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:var(--space-5) var(--space-4) calc(var(--space-4) + var(--safe-bottom, 0px))}}.pf-history-card{padding:16px;display:flex;flex-direction:column;gap:14px;container-type:inline-size;container-name:pf-history}.pf-history-embedded{display:flex;flex-direction:column;gap:14px}.pf-history-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.pf-history-stats{display:flex;flex-direction:column;gap:3px;flex:1 1 auto;min-width:0}.pf-history-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pf-history-title{margin:0;font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.pf-history-title-row .pf-view-tabs{flex-shrink:0}.pf-history-reference{display:block;margin-top:2px;font-size:.62rem;color:var(--text-muted);font-weight:500;letter-spacing:.01em;line-height:1.25;opacity:.85}.pf-history-title-actions{margin-left:auto;display:flex;align-items:center;flex-shrink:0}.pf-history-headline{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.pf-history-headline--pending{opacity:.55;transition:opacity var(--dur-fast) var(--ease-standard)}.pf-history-value{font-size:1.4rem;font-weight:700;color:var(--text-primary);line-height:1.2}.pf-history-change{font-size:.88rem;font-weight:600;display:inline-flex;align-items:center;gap:4px}.pf-history-hover-date{font-size:.75rem;color:var(--text-muted)}.pf-history-ranges{display:flex;align-items:center;min-width:0}.pf-history-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.pf-history-title-row .pf-view-tabs,.pf-history-title-actions .segment,.pf-history-controls .segment{padding:3px;gap:2px}.pf-history-title-row .pf-view-tabs .segment__btn,.pf-history-title-actions .segment__btn,.pf-history-controls .segment__btn{padding:5px 9px;font-size:.72rem;min-height:28px;line-height:1.2;border-radius:5px;display:inline-flex;align-items:center;justify-content:center}.pf-history-title-actions .pf-display-prefs__hide{padding-inline:7px!important;min-width:28px}.pf-history-title-actions .pf-display-prefs__hide svg{display:block;width:12px;height:12px}@container pf-history (max-width: 640px){.pf-history-head{flex-direction:column;align-items:stretch;gap:10px}.pf-history-stats{width:100%}.pf-history-title-row{gap:6px 8px}.pf-history-reference{font-size:.58rem}.pf-history-value{font-size:1.25rem}.pf-history-change{font-size:.8rem}.pf-history-controls{width:100%;flex-wrap:nowrap;justify-content:stretch;gap:6px}.pf-history-controls .pf-asset-class{flex:0 1 auto;min-width:0}.pf-history-controls .pf-history-ranges{flex:1 1 auto;min-width:0;justify-content:flex-end}.pf-history-controls .pf-history-ranges .segment{width:100%;justify-content:space-between}.pf-history-title-row .pf-view-tabs .segment__btn,.pf-history-title-actions .segment__btn,.pf-history-controls .segment__btn{padding:6px 8px;font-size:.7rem;min-height:30px}.pf-history-title-actions .pf-display-prefs__hide{padding-inline:8px!important;min-width:30px}.pf-history-title-actions .pf-display-prefs__hide svg{width:12px;height:12px}}@container pf-history (max-width: 480px){.pf-history-head{gap:10px}.pf-history-controls{flex-wrap:wrap;justify-content:stretch;gap:8px;width:100%}.pf-history-controls .pf-asset-class{width:100%;flex:1 1 100%}.pf-history-controls .pf-asset-class .segment{width:100%;display:flex}.pf-history-controls .pf-asset-class .segment__btn{flex:1;text-align:center;padding:6px 8px;font-size:.72rem;min-height:32px}.pf-history-controls .pf-history-ranges{width:100%;flex:1 1 100%}.pf-history-controls .pf-history-ranges .segment{width:100%;display:flex;justify-content:space-between}.pf-history-controls .pf-history-ranges .segment__btn{flex:1;text-align:center;padding:6px 4px;font-size:.72rem;min-height:32px}}@media(max-width:480px){.pf-history-controls{flex-wrap:wrap;justify-content:stretch;gap:8px;width:100%}.pf-history-controls .pf-asset-class{width:100%;flex:1 1 100%}.pf-history-controls .pf-asset-class .segment{width:100%;display:flex}.pf-history-controls .pf-asset-class .segment__btn{flex:1;text-align:center;padding:6px 8px;font-size:.72rem;min-height:32px}.pf-history-controls .pf-history-ranges{width:100%;flex:1 1 100%}.pf-history-controls .pf-history-ranges .segment{width:100%;display:flex;justify-content:space-between}.pf-history-controls .pf-history-ranges .segment__btn{flex:1;text-align:center;padding:6px 4px;font-size:.72rem;min-height:32px}}.pf-history-chart-wrap{position:relative;width:100%;height:220px;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:crosshair;touch-action:pan-y}.pf-history-selection--pos{fill:color-mix(in srgb,var(--color-success) 16%,transparent)}.pf-history-selection--neg{fill:color-mix(in srgb,var(--color-danger) 16%,transparent)}.pf-history-selection-edge{stroke:var(--surface-border-strong)}.pf-history-selection-badge{position:absolute;top:4px;left:70px;z-index:2;display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;max-width:calc(100% - 90px);padding:6px 10px;border-radius:var(--radius-sm, 6px);background:var(--bg-card);border:1px solid var(--surface-border-strong);box-shadow:0 4px 14px rgba(var(--black-rgb),.25);font-size:.78rem;pointer-events:none}.pf-history-selection-dates,.pf-history-selection-values{color:var(--text-muted);font-size:.72rem}.pf-history-selection-result{font-size:.95rem}.pf-history-selection-clear{pointer-events:auto;border:0;background:transparent;color:var(--text-muted);font-size:1rem;line-height:1;padding:0 2px;cursor:pointer}.pf-history-selection-clear:hover,.pf-history-selection-clear:focus-visible{color:var(--text-primary)}.pf-history-chart-wrap--loading:after{content:"";position:absolute;inset:0;background:color-mix(in srgb,var(--bg-card) 55%,transparent);pointer-events:none;border-radius:inherit}.pf-history-svg{width:100%;height:100%;overflow:visible;display:block}.pf-history-grid-line{stroke:var(--surface-border);stroke-dasharray:4 4}.pf-history-axis-lbl,.pf-history-x-lbl{font-size:.68rem;fill:var(--text-muted);font-family:inherit}.pf-history-crosshair{stroke:var(--surface-border-strong);stroke-dasharray:3 3}.pf-history-dot{filter:drop-shadow(0 2px 4px rgba(var(--black-rgb),.3))}.pf-history-empty{height:180px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.85rem}.portfolio-page{padding:var(--space-4) var(--page-padding-inline) var(--page-padding-bottom);width:100%}@media(max-width:480px){.portfolio-page{padding-top:var(--space-3)}}.pf-container{width:100%;max-width:var(--dashboard-max);margin-inline:auto;display:flex;flex-direction:column;gap:20px}.pf-tabpanel:not([hidden]){display:flex;flex-direction:column;gap:20px}.pf-holdings__note{margin:0;font-size:.75rem;line-height:1.4;color:var(--text-muted)}.pf-asset-btn--static{cursor:default;pointer-events:none}.pf-allocation__legend-item--static{cursor:default}.pf-holdings{padding:16px;display:flex;flex-direction:column;gap:16px}.pf-status-pill{font-size:.7rem;font-weight:600;padding:3px 9px;border-radius:var(--radius-pill);white-space:nowrap}.pf-status-pill--connected{background:var(--color-success-bg);color:var(--color-success)}.pf-status-pill--error{background:var(--color-danger-bg);color:var(--color-danger)}.pf-status-pill--disconnected{background:var(--surface-2);color:var(--text-muted)}.pf-status-pill--info{background:var(--color-info-bg);color:var(--color-info)}.pf-totals-bar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.pf-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;flex:1}.pf-totals__stat{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.pf-totals__trigger{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;margin:0;padding:0;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:var(--radius-sm, 8px)}.pf-totals__trigger:hover .pf-totals__label,.pf-totals__stat--open .pf-totals__label{color:var(--text-secondary)}.pf-totals__trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pf-totals-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:4px}.pf-totals__label{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;color:var(--text-muted);margin-bottom:2px}.pf-totals__hint{font-size:.65rem;opacity:.7}.pf-totals__value{display:block;font-size:1.1rem;font-weight:700;color:var(--text-primary)}.pf-totals__split{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px;margin-top:2px;font-size:.72rem;font-weight:600;line-height:1.2}.pf-totals__split .pf-pnl--positive,.pf-totals__split .pf-pnl--negative{font-size:inherit;font-weight:600}.pf-totals__split-sep{color:var(--text-muted);font-weight:500}.pf-totals-breakdown{flex:1 1 100%;width:100%;margin-top:4px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-hover);border:1px solid var(--surface-border)}.pf-totals-breakdown__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:4px 12px;max-height:180px;overflow-y:auto}.pf-totals-breakdown__row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;width:100%;margin:0;padding:6px 8px;border:none;border-radius:var(--radius-sm);background:transparent;color:inherit;font:inherit;cursor:pointer;text-align:left}.pf-totals-breakdown__row:hover{background:var(--surface-border)}.pf-totals-breakdown__row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pf-totals-breakdown__symbol{font-weight:700;font-size:.82rem}.pf-totals-breakdown__empty{margin:0;font-size:.8rem;color:var(--text-muted)}.pf-pnl--positive{color:var(--color-success);font-weight:700}.pf-pnl--negative{color:var(--color-danger);font-weight:700}.pf-holdings__table-wrap{overflow-x:auto}.pf-holdings__table{width:100%;border-collapse:collapse;font-size:.82rem}.pf-holdings__table th{text-align:left;padding:8px 10px;color:var(--text-muted);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--surface-border)}.pf-holdings__table td{padding:10px;border-bottom:1px solid var(--surface-border);color:var(--text-primary);white-space:nowrap}.pf-asset-symbol{font-weight:700;margin-right:6px}.pf-asset-type{font-size:.7rem;color:var(--text-muted);text-transform:uppercase}.pf-asset-brokers{color:var(--text-muted);font-size:.75rem;text-transform:capitalize}.pf-holding-row--clickable{cursor:pointer;transition:background var(--dur-fast, .15s)}.pf-holding-row--clickable:hover td{background:var(--surface-hover)}.pf-asset-btn{display:inline-flex;align-items:baseline;background:transparent;border:none;padding:0;margin:0;cursor:pointer;color:inherit;font:inherit;text-align:left}.pf-asset-btn:hover .pf-asset-symbol{color:var(--accent)}.pf-allocation{padding:16px;display:flex;flex-direction:column;gap:16px}.pf-allocation__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.pf-allocation__title{margin:0 0 2px;font-size:1rem;font-weight:700;color:var(--text-primary)}.pf-allocation__subtitle{margin:0;font-size:.78rem;color:var(--text-muted)}.pf-allocation__count{font-size:.72rem;font-weight:600;color:var(--text-secondary);background:var(--surface-2);padding:2px 8px;border-radius:var(--radius-pill);white-space:nowrap}.pf-allocation__meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.pf-allocation__mix{font-size:.72rem;font-weight:600;color:var(--text-muted);white-space:nowrap}.pf-allocation__mix-sep{margin:0 4px;opacity:.7}.pf-allocation__body{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.pf-allocation__chart-wrap{position:relative;width:190px;height:190px;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:visible}.pf-allocation__chart-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.pf-allocation__center-val{font-size:1.3rem;font-weight:700;color:var(--text-primary);line-height:1}.pf-allocation__center-lbl{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:2px}.pf-allocation__legend{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;flex:1;min-width:min(260px,100%);max-height:220px;overflow-y:auto;padding-right:4px}@media(max-width:768px){.pf-allocation__body{flex-direction:column;align-items:center}.pf-allocation__legend{width:100%;min-width:0;max-height:none}}.pf-allocation__legend-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--radius-sm, 6px);background:var(--surface-1);border:1px solid var(--surface-border);cursor:pointer;font-size:.8rem;color:var(--text-primary);text-align:left;transition:border-color var(--dur-fast, .15s),background var(--dur-fast, .15s),opacity var(--dur-fast, .15s),box-shadow var(--dur-fast, .15s)}.pf-allocation__legend-item:hover,.pf-allocation__legend-item--active{border-color:var(--pf-legend-glow, var(--accent));background:var(--surface-hover);box-shadow:0 0 0 1px color-mix(in srgb,var(--pf-legend-glow, var(--accent)) 55%,transparent),0 0 14px color-mix(in srgb,var(--pf-legend-glow, var(--accent)) 45%,transparent)}.pf-allocation__legend-item--dimmed{opacity:.4}.pf-allocation__legend-item--dimmed:hover{opacity:1}.pf-allocation__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.pf-allocation__symbol{font-weight:700;margin-right:auto}.pf-allocation__pct{font-size:.75rem;color:var(--text-muted)}.pf-allocation__val{font-size:.75rem;color:var(--text-secondary)}.pf-txns-modal-body{max-height:65vh;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.pf-txns-table-wrap{overflow-x:auto}.pf-txns-table th,.pf-txns-table td{padding:8px 10px;font-size:.8rem}.pf-txn-badge{display:inline-block;font-size:.68rem;font-weight:700;text-transform:uppercase;padding:2px 7px;border-radius:var(--radius-sm);letter-spacing:.04em}.pf-txn-badge--buy{background:var(--color-success-bg);color:var(--color-success)}.pf-txn-badge--sell{background:var(--accent-soft);color:var(--accent)}.pf-txn-badge--dividend,.pf-txn-badge--interest{background:var(--color-info-bg);color:var(--color-info)}.pf-pnl--empty{color:var(--text-muted)}.pf-sort-btn{display:inline-flex;align-items:center;gap:4px;background:transparent;border:none;padding:0;margin:0;cursor:pointer;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;white-space:nowrap;border-radius:var(--radius-xs);transition:color var(--dur-fast, .15s)}.pf-sort-btn:hover{color:var(--text-primary)}@media(pointer:coarse){.pf-sort-btn{padding:12px 8px;margin:-12px -8px}}.pf-sort-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pf-sort-icon{display:inline-block;font-size:.7rem;line-height:1;opacity:.35;transition:opacity var(--dur-fast, .15s),color var(--dur-fast, .15s);-webkit-user-select:none;user-select:none}.pf-sort-btn:hover .pf-sort-icon{opacity:.7}.pf-sort-btn--active{color:var(--text-strong, var(--text-primary))}.pf-sort-btn--active .pf-sort-icon{opacity:1;color:var(--accent)}.pf-day-pnl{display:inline-flex;flex-direction:column;line-height:1.25}.pf-day-pnl__pct{font-size:.72rem;opacity:.85}.pf-allocation__legend{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.pf-allocation__legend-item{min-width:0}.pf-allocation__symbol{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.pf-allocation__pct,.pf-allocation__val{white-space:nowrap;flex-shrink:0}.pf-allocation__center-total{margin-top:8px;max-width:116px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:700;color:var(--text-primary)}@media(max-width:640px){.pf-allocation__head{flex-direction:column;align-items:flex-start;gap:8px}.pf-allocation__meta{flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px 10px;width:100%}.pf-allocation__mix{display:inline-flex;flex-wrap:wrap;align-items:center;white-space:normal}}.videos-toolbar{display:flex;flex-direction:column;gap:0;margin-bottom:16px;padding:0;overflow:hidden}.videos-toolbar-main{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;flex-wrap:wrap}.videos-toolbar-filters{display:flex;align-items:center;gap:16px;flex:1;min-width:0;flex-wrap:wrap}.videos-filter-group{display:flex;align-items:center;gap:10px;min-width:0}.videos-filter-group--period{flex:1;min-width:180px}.videos-filter-group .field-label{flex-shrink:0;margin:0;color:var(--text-muted);letter-spacing:.04em}.videos-filter-group .segment{flex-shrink:0}.videos-filter-group .segment__btn.active{background:var(--surface-3);color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--surface-border-strong)}.videos-filter-group .segment__btn:hover:not(.active){color:var(--text-secondary);background:var(--surface-hover)}.videos-filter-group--period{flex:1;min-width:0;max-width:100%}.videos-filter-group--period .segment--scroll{flex:1;min-width:0;max-width:100%;width:auto;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--text-faint) var(--surface-2);-webkit-overflow-scrolling:touch}.videos-filter-group--period .segment--scroll::-webkit-scrollbar{display:block;height:5px}.videos-filter-group--period .segment--scroll::-webkit-scrollbar-track{background:var(--surface-2);border-radius:var(--radius-pill)}.videos-filter-group--period .segment--scroll::-webkit-scrollbar-thumb{background:var(--text-faint);border-radius:var(--radius-pill)}.videos-toolbar-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:auto;flex-wrap:wrap}.videos-toolbar-actions .btn{gap:6px;white-space:nowrap;-webkit-tap-highlight-color:transparent}.videos-toolbar-actions .btn svg{width:14px;height:14px;flex-shrink:0}.videos-toolbar-actions .btn:active:not(:disabled){transform:scale(.97)}.videos-toolbar-actions .tb-icon-btn{padding:6px;min-width:32px;min-height:32px;gap:0}.toolbar-selection-badge{display:inline-flex;align-items:center;gap:7px;margin:0;padding:6px 10px 6px 12px;border-radius:var(--radius-pill);background:var(--accent-soft);border:1px solid var(--accent-border);color:var(--accent-hover);font:inherit;font-size:.78rem;font-weight:700;letter-spacing:.02em;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent}.toolbar-selection-badge:hover{background:var(--accent-soft-strong)}.toolbar-selection-clear{width:12px;height:12px;flex-shrink:0;opacity:.75}.toolbar-selection-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px rgba(var(--accent-rgb),.8);animation:app-pulse 1.8s ease-in-out infinite}.toolbar-divider{width:1px;height:22px;background:var(--surface-border);flex-shrink:0;margin:0 2px}.tb-refresh.loading .tb-refresh-icon{animation:app-spin .9s linear infinite}.tb-spinner{width:14px;height:14px;border:2px solid rgba(var(--accent-rgb),.25);border-top-color:var(--accent);border-radius:50%;animation:app-spin .7s linear infinite}.videos-page{padding:var(--space-4) var(--page-padding-inline) var(--page-padding-bottom);width:100%;max-width:var(--dashboard-max);margin-inline:auto;display:flex;flex-direction:column;gap:var(--space-4)}.channel-section{margin-bottom:0}.channel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:10px 14px;background:var(--surface-1);border:1px solid var(--surface-border);border-radius:var(--radius-md);flex-wrap:wrap}.channel-header h2{color:var(--text-primary);margin:0;font-size:.96rem;font-weight:800;letter-spacing:.02em;line-height:1.2}.channel-legend{display:flex;gap:10px;flex-wrap:wrap;margin-left:auto;align-items:center}.channel-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:500;color:var(--text-muted)}.channel-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:var(--radius-pill);font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border:1px solid transparent}.channel-badge-main{background:rgba(var(--color-channel-main-rgb),.14);color:var(--color-channel-main-soft);border-color:rgba(var(--color-channel-main-rgb),.38)}.channel-badge-second{background:rgba(var(--color-channel-second-rgb),.14);color:var(--color-channel-second-soft);border-color:rgba(var(--color-channel-second-rgb),.38)}.thumbnail-channel-label{position:absolute;bottom:8px;left:8px}.thumbnail-channel-label .channel-badge-main{background:var(--color-channel-main);color:var(--text-strong);border-color:transparent}.thumbnail-channel-label .channel-badge-second{background:var(--color-channel-second);color:var(--text-strong);border-color:transparent}.channel-error{padding:20px;background:var(--color-danger-bg);border:1px solid var(--color-danger);border-radius:var(--radius-md);color:var(--color-danger);text-align:center}.videos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}.video-card{background:var(--surface-hover);border:1px solid var(--surface-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard);position:relative;overflow:hidden}.video-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--text-faint)}.video-card:active{transform:translateY(-4px) scale(var(--press-scale));transition-duration:var(--dur-press)}.video-card.card-main:hover{border-color:var(--color-channel-main-soft);box-shadow:0 8px 28px rgba(var(--color-channel-main-rgb),.22)}.video-card.card-second:hover{border-color:var(--color-channel-second-soft);box-shadow:0 8px 28px rgba(var(--color-channel-second-rgb),.22)}.video-card.processing{opacity:.8;border-color:var(--accent)}.video-card.processed{border-color:rgba(var(--green-600-rgb),.3)}.video-card.selected{border-color:var(--color-info)!important;box-shadow:0 0 0 2px rgba(var(--blue-500-rgb),.3)!important}.card-processing-overlay{position:absolute;inset:0;z-index:20;background:rgba(var(--black-rgb),.6);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);border-radius:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;pointer-events:none}.card-processing-overlay span{color:var(--text-strong);font-size:.8rem;font-weight:600;letter-spacing:.4px;opacity:.9}.card-spinner{width:32px;height:32px;border:3px solid var(--surface-border-strong);border-top-color:var(--text-strong);border-radius:50%;animation:app-spin .75s linear infinite}.video-select-checkbox{position:absolute;top:10px;left:10px;z-index:10;cursor:pointer;width:22px;height:22px}.video-select-checkbox input[type=checkbox]{opacity:0;position:absolute;width:0;height:0}.video-select-checkbox .check-box{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-sm);border:2px solid var(--text-dim);background:rgba(var(--black-rgb),.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:border-color var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard);box-shadow:var(--shadow-sm)}.video-select-checkbox:hover .check-box{border-color:var(--text-secondary);background:rgba(var(--black-rgb),.6);transform:scale(1.08)}.video-select-checkbox input[type=checkbox]:checked+.check-box{background:var(--color-success);border-color:var(--color-success);box-shadow:0 2px 10px rgba(var(--green-600-rgb),.5)}.video-select-checkbox .check-box:after{content:"";display:block;width:5px;height:9px;border:2px solid var(--text-strong);border-top:none;border-left:none;transform:rotate(45deg) translate(-1px,-2px);opacity:0;transition:opacity var(--dur-fast) var(--ease-standard)}.video-select-checkbox input[type=checkbox]:checked+.check-box:after{opacity:1}.video-thumbnail{position:relative;width:100%;padding-top:56.25%;overflow:hidden;background:var(--bg-primary)}.video-thumbnail img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform var(--dur-base) var(--ease-standard)}.video-card:hover .video-thumbnail img{transform:scale(1.05)}.thumbnail-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(var(--black-rgb),.85);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.processing-spinner{width:40px;height:40px;border:4px solid rgba(var(--accent-rgb),.2);border-top-color:var(--accent);border-radius:50%;animation:app-spin 1s linear infinite}.processing-text{color:var(--accent);font-weight:600;font-size:.9rem;text-align:center;animation:app-pulse 2s ease-in-out infinite}.thumbnail-badge{position:absolute;top:10px;right:10px;padding:6px 12px;border-radius:var(--radius-pill);font-size:.85rem;font-weight:600;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.processed-badge{background:rgba(var(--green-600-rgb),.9);color:#fff}.unprocessed-badge{background:rgba(var(--slate-400-rgb),.85);color:#fff}.video-card.card-main .unprocessed-badge{background:rgba(var(--color-channel-main-rgb),.9)}.video-card.card-second .unprocessed-badge{background:rgba(var(--color-channel-second-rgb),.9)}.video-info{padding:16px}.video-info h3{color:var(--text-primary);margin:0 0 12px;font-size:.95rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.video-date{color:var(--text-muted);font-size:.85rem;margin-bottom:12px}.video-date-exact{color:var(--text-muted);font-size:.8rem}.video-preview{color:var(--text-muted);line-height:1.6;margin-bottom:12px;font-size:.9rem}.video-status{font-size:.9rem;margin-bottom:12px;padding:8px 12px;border-radius:var(--radius-sm);font-weight:500}.processing-status{background:rgba(var(--accent-rgb),.15);color:var(--accent);border:1px solid rgba(var(--accent-rgb),.3)}.unprocessed-status{background:rgba(var(--slate-400-rgb),.15);color:var(--text-muted);border:1px solid rgba(var(--slate-400-rgb),.3)}.video-card.card-main .unprocessed-status{background:rgba(var(--color-channel-main-rgb),.1);color:var(--color-channel-main-soft);border-color:rgba(var(--color-channel-main-rgb),.32)}.video-card.card-second .unprocessed-status{background:rgba(var(--color-channel-second-rgb),.1);color:var(--color-channel-second-soft);border-color:rgba(var(--color-channel-second-rgb),.32)}.video-link{display:inline-block;color:var(--text-muted);text-decoration:none;font-weight:600;margin-top:8px;font-size:.9rem;transition:color var(--dur-base) var(--ease-standard)}.video-link:hover{color:var(--text-primary)}.video-summary-preview{color:var(--text-muted);line-height:1.5;margin-bottom:10px;font-size:.85rem;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.video-card.card-main .video-link{color:var(--color-channel-main-soft)}.video-card.card-main .video-link:hover{color:var(--color-info)}.video-card.card-second .video-link{color:var(--color-channel-second-soft)}.video-card.card-second .video-link:hover{color:var(--color-accent-alt)}.video-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.video-header-row h3{margin:0;flex:1}.video-status-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--radius-pill);font-size:.78rem;font-weight:600;white-space:nowrap;letter-spacing:.3px;flex-wrap:wrap}.video-status-badge.processed{background:rgba(var(--green-600-rgb),.2);color:var(--color-success);border:1px solid rgba(var(--green-600-rgb),.4)}.video-status-badge.processing{background:rgba(var(--accent-rgb),.25);color:var(--accent);border:1px solid rgba(var(--accent-rgb),.5);font-weight:700;display:flex;align-items:center;gap:8px}.video-status-badge.error{background:rgba(var(--red-400-rgb),.2);color:var(--color-danger);border:1px solid rgba(var(--red-400-rgb),.4);font-weight:600;max-width:100%;white-space:normal;line-height:1.35}.spinner-small{display:inline-block;width:10px;height:10px;border:2px solid rgba(var(--accent-rgb),.3);border-top-color:var(--accent);border-radius:50%;animation:app-spin .8s linear infinite}.video-pipeline{display:flex;align-items:center;gap:0;margin:5px 0 4px;flex-wrap:wrap}.pipeline-step{display:inline-flex;align-items:center;gap:4px;font-size:.68rem;color:var(--text-muted);font-weight:500;white-space:nowrap;transition:color var(--dur-base) var(--ease-standard)}.pipeline-step.done{color:var(--color-success)}.pipeline-step.active{color:var(--accent);font-weight:700}.pipeline-dot{width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0;transition:background var(--dur-base) var(--ease-standard)}.pipeline-step.active .pipeline-dot{animation:app-pulse .9s ease-in-out infinite}.pipeline-arr{color:var(--scrollbar-thumb);font-size:.75rem;margin:0 3px}.pipeline-chunk{color:var(--accent);font-size:.62rem;font-weight:600;margin-left:1px}.card-processing-status{display:none;margin:4px 0 6px;min-width:0}.video-card.card-error .card-processing-status{display:block}.card-progress-track{height:3px;border-radius:var(--radius-pill);background:var(--surface-border);overflow:hidden;margin-bottom:4px}.card-progress-fill{width:100%;height:100%;border-radius:inherit;background:var(--accent);transform-origin:left center;transition:transform var(--dur-slow) var(--ease-standard)}.card-processing-label{display:block;color:var(--accent);font-size:.72rem;font-weight:600;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-pipeline-modal{flex-direction:column;align-items:stretch;gap:6px;padding:var(--space-3) var(--space-3-5);background:var(--surface-hover);border:1px solid var(--surface-border);border-radius:var(--radius-md)}.video-pipeline-modal .pipeline-step{font-size:.82rem;white-space:normal}.video-pipeline-modal .pipeline-arr{display:none}.modal-processing-block{margin:16px 0 20px}.modal-processing-label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}.modal-processing-hint{margin:10px 0 0;color:var(--accent);font-size:.82rem;font-weight:600}.modal-processing-error{margin:0;color:var(--color-danger);font-size:.86rem;font-weight:600;line-height:1.4}.video-card.card-error{border-color:rgba(var(--red-400-rgb),.45)}.modal-summary-raw{word-break:break-word;overflow-wrap:anywhere}.modal-content{background:var(--material-sheet);border:1px solid var(--surface-border-strong);padding:var(--space-6);border-radius:var(--radius-lg);max-width:800px;max-height:90vh;overflow-y:auto;position:relative;box-shadow:var(--shadow-lg);animation:app-slide-down var(--dur-base) var(--ease-out)}.modal-content>.app-close-btn{position:absolute;top:14px;right:14px;z-index:10}.modal-header-row{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.modal-transcript-btn{margin-left:auto}.modal-transcript-view{margin:var(--space-4) 0;padding:var(--space-4);background:var(--surface-1);border:1px solid var(--surface-border);border-radius:var(--radius-md);max-height:420px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--bg-primary)}.modal-transcript-view::-webkit-scrollbar{width:8px}.modal-transcript-view::-webkit-scrollbar-track{background:var(--bg-primary);border-radius:var(--radius-pill)}.modal-transcript-view::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-pill)}.modal-transcript-view::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.modal-transcript-view p{color:var(--text-muted);font-size:.88rem;line-height:1.7;margin:0;white-space:pre-wrap}.modal-channel-tag{display:inline-block;background:rgba(var(--accent-rgb),.2);color:var(--accent);padding:4px 12px;border-radius:var(--radius-pill);font-size:.85rem;font-weight:600}.summary-section{margin-bottom:20px}.summary-section-title{color:var(--accent);font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px;padding-bottom:4px;border-bottom:1px solid rgba(var(--accent-rgb),.2)}.summary-section-body{padding-left:4px}.summary-bullet{color:var(--text-secondary);font-size:.9rem;line-height:1.7;padding:2px 0}.summary-paragraph{color:var(--text-secondary);font-size:.95rem;line-height:1.7;margin:4px 0}.modal-content h2{color:var(--text-primary);margin:0 0 12px;padding-right:50px;line-height:1.3}.modal-date{color:var(--text-muted);margin-bottom:20px}.modal-link{display:inline-block;background:var(--accent);color:var(--bg-primary);padding:12px 24px;border-radius:var(--radius-sm);text-decoration:none;font-weight:600;margin-bottom:24px;transition:background var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-standard)}.modal-link:active{transform:scale(var(--press-scale))}.modal-link:hover{background:var(--accent-hover);transform:translateY(-2px)}.modal-summary{margin-top:24px}.modal-summary h3{color:var(--accent);margin-bottom:16px}.summary-content{color:var(--text-secondary);line-height:1.8;white-space:pre-wrap;font-size:.95rem}.loading{text-align:center;padding:60px;font-size:1.25rem;color:var(--text-muted)}.error{background:var(--color-danger-bg);border:1px solid var(--color-danger);color:var(--color-danger);padding:30px;border-radius:var(--radius-md);margin:20px auto;max-width:700px;text-align:center;line-height:1.6}.error strong{display:block;font-size:1.2em;margin-bottom:10px;color:var(--accent)}.error a{color:var(--accent);text-decoration:underline}.error code{background:rgba(var(--black-rgb),.3);padding:2px 6px;border-radius:var(--radius-sm);font-family:var(--font-mono);color:var(--accent-hover)}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:var(--bg-primary);border-radius:var(--radius-pill)}.modal-content::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-pill)}.modal-content::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:var(--text-primary)}.loading-text{margin-bottom:10px}.loading-subtext{font-size:.9em;opacity:.7}.error-state{color:var(--text-primary);padding:20px;text-align:center}.confirm-dialog{--confirm-accent: var(--accent);background:linear-gradient(165deg,var(--bg-elevated) 0%,var(--bg-card) 55%,var(--neutral-925) 100%);border:1px solid var(--surface-border-strong);border-radius:var(--radius-lg);padding:0;max-width:480px;width:100%;box-shadow:0 0 0 1px rgba(var(--accent-rgb),.06),0 28px 72px rgba(var(--black-rgb),.65);animation:app-slide-down .22s cubic-bezier(.22,1,.36,1);overflow:hidden}.confirm-dialog.confirm-danger{box-shadow:0 0 0 1px var(--color-danger-bg),0 28px 72px rgba(var(--black-rgb),.65)}.confirm-header{display:flex;align-items:flex-start;gap:14px;padding:24px 24px 18px;border-bottom:1px solid var(--surface-border);background:linear-gradient(180deg,rgba(var(--accent-rgb),.06) 0%,transparent 100%)}.confirm-dialog.confirm-danger .confirm-header{background:linear-gradient(180deg,var(--color-danger-bg) 0%,transparent 100%)}.confirm-icon-wrap{flex-shrink:0;width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:rgba(var(--accent-rgb),.14);border:1px solid rgba(var(--accent-rgb),.28);color:var(--confirm-accent)}.confirm-icon-wrap svg{width:22px;height:22px}.confirm-icon-wrap.danger{background:var(--color-danger-bg);border-color:rgba(var(--red-400-rgb),.32);color:var(--color-danger)}.confirm-header-text{flex:1;min-width:0}.confirm-eyebrow{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--confirm-accent);margin-bottom:4px}.confirm-dialog.confirm-danger .confirm-eyebrow{color:var(--color-danger)}.confirm-title{margin:0 0 4px;color:var(--text-primary);font-size:1.2rem;font-weight:700;line-height:1.3;letter-spacing:-.01em}.confirm-subtitle{margin:0;color:var(--text-muted);font-size:.84rem;line-height:1.45}.confirm-count-pill{flex-shrink:0;min-width:32px;height:32px;padding:0 10px;border-radius:var(--radius-pill);display:flex;align-items:center;justify-content:center;background:rgba(var(--accent-rgb),.15);border:1px solid rgba(var(--accent-rgb),.35);color:var(--accent-hover);font-size:.9rem;font-weight:700}.confirm-dialog.confirm-danger .confirm-count-pill{background:var(--color-danger-bg);border-color:rgba(var(--red-400-rgb),.35);color:var(--color-danger)}.confirm-video-list{padding:14px 16px;max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.confirm-video-list::-webkit-scrollbar{width:4px}.confirm-video-list::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:var(--radius-pill)}.confirm-video-item{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:var(--radius-md);background:var(--surface-1);border:1px solid var(--surface-border);transition:border-color var(--dur-fast) var(--ease-standard)}.confirm-video-item:hover{border-color:var(--surface-border-strong)}.confirm-video-thumb{width:56px;height:32px;object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0;background:var(--bg-elevated)}.confirm-video-thumb-fallback{display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.75rem}.confirm-video-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.confirm-video-title{color:var(--text-secondary);font-size:.82rem;font-weight:500;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.confirm-video-tag{align-self:flex-start;font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:var(--radius-sm)}.confirm-video-tag.processed{background:rgba(var(--green-600-rgb),.15);color:var(--color-success);border:1px solid rgba(var(--green-600-rgb),.25)}.confirm-video-tag.unprocessed{background:rgba(var(--accent-rgb),.12);color:var(--accent-hover);border:1px solid rgba(var(--accent-rgb),.25)}.confirm-video-more{text-align:center;color:var(--text-muted);font-size:.78rem;font-weight:500;padding:4px 0 2px}.confirm-pipeline-preview{margin:0 16px 12px;padding:10px 12px;border-radius:var(--radius-md);background:var(--surface-1);border:1px solid var(--surface-border)}.confirm-pipeline-label{display:block;font-size:.65rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);margin-bottom:7px}.confirm-pipeline-steps{display:flex;flex-wrap:wrap;align-items:center;gap:2px}.confirm-pipeline-step{font-size:.72rem;font-weight:600;color:var(--text-muted);white-space:nowrap}.confirm-pipeline-arr{color:var(--scrollbar-thumb);margin:0 3px;font-size:.7rem}.confirm-notice{margin:0 16px 16px;padding:11px 14px;border-radius:var(--radius-md);background:rgba(var(--accent-rgb),.07);border:1px solid rgba(var(--accent-rgb),.18);color:var(--accent);font-size:.82rem;line-height:1.5}.confirm-notice strong{color:var(--accent-hover);font-weight:600}.confirm-notice.danger{background:var(--color-danger-bg);border-color:rgba(var(--red-400-rgb),.22);color:var(--color-danger)}.confirm-notice.danger strong{color:var(--color-danger)}.confirm-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px 20px;border-top:1px solid var(--surface-border);background:rgba(var(--black-rgb),.2)}.confirm-dialog.confirm-danger .btn.btn--primary{background:var(--color-danger-bg);border-color:rgba(var(--red-400-rgb),.4);color:var(--color-danger)}.confirm-dialog.confirm-danger .btn.btn--primary:hover{background:rgba(var(--red-400-rgb),.28);border-color:rgba(var(--red-400-rgb),.6)}.video-detail-overlay{padding:20px;animation:app-fade-in var(--dur-base) var(--ease-out) both}.video-detail-overlay--closing{animation:app-fade-out var(--dur-base) var(--ease-exit) both;pointer-events:none}.video-detail-overlay--mobile{position:fixed;inset:0;flex-direction:column;justify-content:flex-end;align-items:stretch;padding:10px 10px max(10px,var(--safe-bottom, 0px));overflow:hidden}.video-detail-modal{display:flex;flex-direction:column;width:min(100%,720px);max-height:min(88dvh,900px);overflow:hidden;padding:0;--modal-scale-from: .92;animation:app-modal-in var(--dur-slow) var(--ease-enter) both}.video-detail-modal--closing{animation:app-modal-out var(--dur-base) var(--ease-exit) both}.video-detail-modal--transcript{width:min(100%,880px);max-height:min(92dvh,960px)}.app-modal.video-detail-modal.video-detail-modal--mobile{position:relative;inset:auto;width:100%;max-width:100%;height:auto;max-height:100%;min-height:0;margin:0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;display:flex;flex-direction:column;overflow:hidden;animation:app-sheet-in var(--dur-slow) var(--ease-enter) both;transform:none}.app-modal.video-detail-modal.video-detail-modal--mobile.video-detail-modal--closing{animation:app-sheet-out var(--dur-base) var(--ease-exit) both}.video-detail-modal--mobile .video-detail-head{position:relative;flex:0 0 auto;z-index:3;background:var(--bg-secondary);padding-bottom:4px;animation:none}.video-detail-modal--mobile .video-detail-handle{flex:0 0 auto}.video-detail-modal--mobile .video-detail-body{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;padding:8px 14px calc(20px + var(--safe-bottom));animation:none}.video-detail-modal--mobile .video-detail-body>*{flex-shrink:0}.app-modal.video-detail-modal.video-detail-modal--mobile.video-detail-modal--transcript{height:auto;max-height:100%;overflow:hidden}.video-detail-modal--mobile.video-detail-modal--transcript .video-detail-body{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto}.video-detail-modal--mobile.video-detail-modal--transcript .video-detail-body>h2{flex-shrink:0;font-size:.95rem}.video-detail-modal--mobile.video-detail-modal--transcript .modal-meta-row{flex-shrink:0;margin:2px 0 8px}.video-detail-modal--mobile.video-detail-modal--transcript .modal-transcript-panel,.video-detail-modal--mobile.video-detail-modal--transcript .modal-transcript-view{flex:0 0 auto;min-height:0;max-height:none;overflow:visible;margin:0}.video-detail-modal--mobile.video-detail-modal--transcript .modal-transcript-view{padding:12px 14px}.video-detail-handle{display:flex;justify-content:center;width:100%;height:24px;padding-top:10px;box-sizing:border-box;flex-shrink:0;touch-action:none;cursor:grab}.video-detail-handle:before{content:"";width:40px;height:4px;border-radius:var(--radius-pill);background:var(--surface-border-strong)}.video-detail-head{position:relative;flex-shrink:0;padding:14px 48px 0 20px;animation:app-rise var(--dur-slow) var(--ease-enter) .06s both}.video-detail-close{position:absolute;top:12px;right:12px;z-index:2;flex-shrink:0;margin:0;padding:4px 6px;min-width:32px;min-height:32px;line-height:1}.video-detail-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:12px 20px 8px;display:flex;flex-direction:column;gap:4px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;animation:app-rise var(--dur-slow) var(--ease-enter) .1s both;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--bg-primary)}.video-detail-body::-webkit-scrollbar{width:8px}.video-detail-body::-webkit-scrollbar-track{background:var(--bg-primary);border-radius:var(--radius-pill)}.video-detail-body::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-pill)}.video-detail-body::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.video-detail-body>h2{color:var(--text-primary);margin:0 0 4px;font-size:clamp(1.05rem,2.2vw,1.35rem);line-height:1.3;font-weight:700}.video-detail-head-actions{display:flex;align-items:center;gap:6px;margin-left:auto;flex-wrap:nowrap;flex-shrink:0}.video-detail-head-actions .btn{flex:0 0 auto;white-space:nowrap}.video-detail-process-row{display:flex;margin:6px 0 2px;flex-shrink:0}.video-detail-process-btn{width:100%;min-height:36px;padding:8px 12px;justify-content:center;font-size:.8rem;font-weight:600}.modal-transcript-panel{display:flex;flex-direction:column;gap:8px;min-height:0;flex:1;animation:app-rise var(--dur-base) var(--ease-enter) both}.modal-status-badge{padding:3px 10px;border-radius:var(--radius-pill);font-size:.75rem;font-weight:700;letter-spacing:.3px}.modal-status-badge.processed{background:var(--color-success-bg);color:var(--color-success);border:1px solid rgba(var(--green-600-rgb),.35)}.modal-status-badge.unprocessed{background:rgba(var(--slate-400-rgb),.12);color:var(--text-muted);border:1px solid rgba(var(--slate-400-rgb),.25)}.modal-meta-row{display:flex;align-items:center;gap:16px;margin:4px 0 12px;flex-wrap:wrap}.modal-transcript-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px}.modal-transcript-toolbar-label{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.modal-transcript-copy{gap:6px;flex-shrink:0}.modal-transcript-copy svg{width:14px;height:14px;flex-shrink:0}.modal-date-pill{color:var(--text-muted);font-size:.88rem}.modal-yt-link{font-size:.88rem;font-weight:600;text-decoration:none;transition:opacity var(--dur-fast)}.modal-yt-link:hover{opacity:.75}.modal-moves-collapsible{margin:8px 0 4px;border:1px solid var(--surface-border);border-radius:var(--radius-md);overflow:hidden;flex-shrink:0}.modal-moves-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;background:var(--surface-1);border:none;outline:none;padding:12px 16px;cursor:pointer;font-size:.82rem;font-weight:700;font-family:inherit;text-transform:uppercase;letter-spacing:.5px;transition:background var(--dur-fast) var(--ease-standard)}.modal-moves-toggle:hover{background:var(--surface-2)}.moves-toggle-arrow{font-size:.7rem;opacity:.7}.modal-moves-body{padding:14px 16px;background:var(--surface-1);animation:app-rise var(--dur-base) var(--ease-enter) both}.modal-actions-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.modal-action-item{font-size:.9rem;padding:6px 12px;border-radius:var(--radius-sm);font-weight:500}.modal-action-item.action-buy{background:rgba(var(--green-600-rgb),.12);color:var(--color-success);border-left:3px solid var(--color-success)}.modal-action-item.action-sell{background:var(--color-danger-bg);color:var(--color-danger);border-left:3px solid var(--color-danger)}.modal-action-item.action-neutral{background:var(--surface-hover);color:var(--text-secondary);border-left:3px solid var(--surface-border-strong)}.modal-no-actions{color:var(--text-muted);font-size:.88rem;margin:0;font-style:italic}.modal-summary-compact{border-top:1px solid var(--surface-border);padding-top:14px;margin-bottom:8px;animation:app-rise var(--dur-base) var(--ease-enter) both;flex-shrink:0}.video-detail-modal--transcript:not(.video-detail-modal--mobile) .modal-transcript-panel{flex:1 1 auto;min-height:180px}.video-detail-modal--transcript:not(.video-detail-modal--mobile) .modal-transcript-view{flex:1;min-height:0;max-height:none;margin:0}.modal-transcript-toolbar{display:none}@media(max-width:968px){.video-detail-modal:not(.video-detail-modal--mobile){width:min(100%,640px)}.video-detail-modal--transcript:not(.video-detail-modal--mobile){width:min(100%,760px)}}@media(max-width:768px){.video-detail-head{padding:8px 44px 0 14px}.video-detail-close{top:8px;right:10px}.video-detail-modal:not(.video-detail-modal--mobile) .video-detail-body{padding:8px 14px calc(20px + var(--safe-bottom, 0px))}.video-detail-modal .modal-header-row{flex-direction:row;flex-wrap:nowrap;align-items:center;gap:6px;margin-bottom:8px;padding-right:0;min-width:0}.video-detail-modal .modal-header-row .modal-channel-tag{min-width:0;max-width:42%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-detail-modal .modal-header-row .modal-status-badge{flex-shrink:0}.video-detail-head-actions{width:auto;margin-left:auto;justify-content:flex-end;gap:4px}.video-detail-head-actions .btn{flex:0 0 auto;min-height:28px;padding:4px 8px;font-size:.7rem}.video-detail-process-row{margin:8px 0 4px}.video-detail-process-btn{min-height:36px;font-size:.8rem}.video-detail-body>h2{font-size:1rem}.modal-meta-row{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px}.summary-paragraph,.summary-bullet{font-size:.88rem;word-break:break-word;overflow-wrap:anywhere}}@media(max-width:480px){.video-detail-body>h2{font-size:1rem}.modal-channel-tag{font-size:.78rem}}@media(max-width:968px){.videos-page{padding:var(--space-4) var(--page-padding-inline) var(--page-padding-bottom)}.videos-toolbar-main{flex-direction:column;align-items:stretch;gap:8px;padding:10px 12px}.videos-toolbar-filters{width:100%;flex-direction:column;align-items:stretch;gap:8px}.videos-filter-group{display:flex;flex-direction:row;align-items:center;gap:8px;width:100%;min-width:0}.videos-filter-group .field-label{display:inline-flex;flex-shrink:0;font-size:.65rem;margin:0}.videos-filter-group--period .segment--scroll,.videos-filter-group .segment{flex:1 1 0;width:auto!important;max-width:100%;min-width:0}.videos-filter-group--period .segment--scroll{flex-wrap:nowrap}.videos-filter-group--period .segment--scroll .segment__btn{padding:6px 10px;font-size:.75rem}.videos-toolbar-actions{display:flex;margin-left:0;width:100%;flex-wrap:nowrap;align-items:center;gap:6px}.videos-toolbar-actions .btn{min-height:36px;padding:6px 12px;font-size:.8rem}.videos-toolbar-actions .btn--ghost,.videos-toolbar-actions .btn--danger,.videos-toolbar-actions .tb-icon-btn{flex:0 0 auto}.videos-toolbar-actions .tb-icon-btn{padding:6px;min-width:36px;width:36px;height:36px}.videos-toolbar-actions .btn--primary{flex:1 1 auto;min-width:0;justify-content:center}.videos-toolbar-actions .tb-refresh{flex:0 0 auto;margin-left:0}.videos-toolbar-actions .toolbar-selection-badge{flex:0 0 auto;min-width:0;min-height:36px;padding:6px 10px}}@media(max-width:768px){.videos-page{padding:var(--space-3-5) var(--page-padding-inline) var(--page-padding-bottom);gap:var(--space-3)}.videos-toolbar-main{padding:10px 12px;gap:8px}.toolbar-divider{display:none}.toolbar-selection-badge{justify-content:center;padding:6px 10px;font-size:.75rem}.videos-toolbar-actions .btn-label-full{display:none}.channel-header{flex-direction:row;align-items:center;padding:10px 12px}.channel-legend{gap:6px;margin-left:auto}.toolbar-channel-filters,.channel-label-desktop{display:none!important}.video-card.card-main .unprocessed-badge,.video-card.card-second .unprocessed-badge{background:rgba(var(--slate-400-rgb),.85)}.videos-grid{grid-template-columns:1fr;gap:10px}.video-card{display:flex;flex-direction:row;align-items:stretch}.video-card:hover{transform:none}.video-thumbnail{flex:0 0 108px;width:108px;padding-top:0;height:61px;margin:8px 0 8px 8px;border-radius:var(--radius-sm);align-self:center}.video-thumbnail img{border-radius:var(--radius-sm)}.video-info{flex:1;min-width:0;padding:8px 10px 8px 6px;display:flex;flex-direction:column;justify-content:center}.video-info h3,.video-header-row h3{font-size:.82rem;line-height:1.3;margin-bottom:4px;-webkit-line-clamp:2;line-clamp:2}.video-header-row{margin-bottom:2px}.video-date{font-size:.72rem;margin-bottom:4px}.video-date-exact{display:none}.video-summary-preview{display:-webkit-box;font-size:.74rem;margin-bottom:4px;-webkit-line-clamp:2;line-clamp:2}.video-link{font-size:.72rem;margin-top:2px}.thumbnail-badge{top:4px;right:4px;padding:2px 6px;font-size:.62rem}.thumbnail-channel-label{display:none}.video-card.card-processing{border-color:rgba(var(--accent-rgb),.45);box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.12)}.card-processing-status,.video-card.card-error .card-processing-status{display:block}.video-pipeline:not(.video-pipeline-modal){display:none}.thumbnail-overlay{gap:0;background:rgba(var(--black-rgb),.5)}.processing-spinner{width:22px;height:22px;border-width:2px}.video-status-badge{font-size:.68rem;padding:3px 8px}.modal-content{width:100%;max-width:none;max-height:92dvh;padding:var(--space-5) var(--space-4) calc(var(--space-4) + var(--safe-bottom));border-radius:var(--radius-xl) var(--radius-xl) 0 0}.transaction-details-grid{grid-template-columns:1fr}}@media(max-width:480px){.videos-page{padding:var(--space-3) var(--page-padding-inline) var(--page-padding-bottom)}.channel-header h2{font-size:.9rem}.video-thumbnail{flex:0 0 96px;width:96px;height:54px;margin:6px 0 6px 6px}.video-info{padding:6px 8px 6px 4px}.video-info h3,.video-header-row h3{font-size:.78rem;-webkit-line-clamp:2;line-clamp:2}}.chat-layout{display:flex;height:calc(100vh - 64px);height:calc(100dvh - 64px);overflow:hidden;background:transparent}.chat-sidebar{width:280px;min-width:280px;background:var(--surface-1);border-right:1px solid var(--surface-border);display:flex;flex-direction:column;transition:transform var(--dur-base) var(--ease-standard)}.chat-sidebar-header{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--surface-border)}.chat-sidebar-header h2{margin:0;flex:1;min-width:0;font-size:.82rem;font-weight:700;letter-spacing:.02em;color:var(--text-primary)}.chat-sidebar-header-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.chat-sidebar-header .btn--sm{flex-shrink:0;padding-inline:8px}.chat-sidebar-header .chat-tools-panel{left:0;right:auto}.chat-sessions-list{flex:1;overflow-y:auto;padding:8px;scrollbar-width:thin;scrollbar-color:rgba(var(--accent-rgb),.45) var(--surface-2)}.chat-sessions-list::-webkit-scrollbar{width:6px}.chat-sessions-list::-webkit-scrollbar-thumb{background:rgba(var(--accent-rgb),.45);border-radius:99px}.chat-sessions-loading,.chat-sessions-empty{padding:16px;text-align:center;color:var(--text-muted);font-size:.8rem}.session-item{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard);margin-bottom:4px}.session-item:hover{background:var(--surface-hover)}.session-item--active{background:var(--accent-soft);border-color:var(--accent-border)}.session-item--active .session-item-title{color:var(--accent)}.session-item-content{flex:1;min-width:0}.session-item-title{font-size:.82rem;font-weight:600;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-item-meta{font-size:.72rem;color:var(--text-muted);margin-top:2px}.session-item-delete{width:28px;height:28px;border:1px solid var(--surface-border);background:var(--surface-1);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;font-size:1rem;line-height:1;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard)}.session-item:hover .session-item-delete{opacity:1}.session-item-delete:hover{color:var(--color-danger);background:var(--color-danger-bg);border-color:rgba(var(--red-600-rgb),.25)}.chat-sidebar-overlay{display:none}.chat-main{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.chat-mobile-header{display:none}.chat-content{flex:1;display:flex;flex-direction:column;padding:12px var(--page-padding-inline) 10px;overflow:hidden;max-width:860px;width:100%;margin:0 auto;gap:8px}.chat-tools-menu{position:relative;flex-shrink:0}.chat-tools-gear{position:relative;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border-radius:var(--radius-sm);border:1px solid var(--surface-border);background:var(--surface-2);color:var(--text-muted);cursor:pointer;transition:color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard)}.chat-tools-gear:hover{color:var(--text-secondary);background:var(--surface-3);border-color:var(--surface-border-strong)}.chat-tools-gear-dot{position:absolute;top:3px;right:3px;width:6px;height:6px;border-radius:50%;border:1px solid var(--bg-primary)}.chat-tools-gear--on .chat-tools-gear-dot{background:var(--color-success)}.chat-tools-gear--off .chat-tools-gear-dot{background:var(--color-danger)}.chat-tools-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:30;min-width:248px;padding:10px 12px;display:flex;flex-direction:column;gap:8px;background:var(--bg-card);border:1px solid var(--surface-border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.chat-tools-panel .segment{background:var(--surface-sunken-strong)}.chat-tools-panel .chat-tool-chip{background:var(--surface-sunken)}.chat-tools-panel-label{margin:0;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.chat-tools-panel-hint{margin:0;font-size:.72rem;line-height:1.35;color:var(--text-muted)}.chat-tool-groups--panel{flex-wrap:wrap;gap:6px}.chat-tool-groups{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px}.chat-tool-chip{border:1px solid var(--surface-border);background:var(--surface-1);color:var(--text-muted);border-radius:999px;padding:3px 8px;font-size:.68rem;font-weight:600;line-height:1.2;cursor:pointer}.chat-tool-chip.is-on{color:var(--color-success);border-color:rgba(var(--green-600-rgb),.45);background:var(--color-success-bg)}.chat-tool-chip.is-off{color:var(--color-danger);border-color:rgba(var(--red-400-rgb),.35);background:var(--color-danger-bg)}.chat-mobile-header-controls{display:none;align-items:center;gap:6px}.chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px 12px;gap:6px;min-height:160px}.chat-empty-title{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-primary);letter-spacing:.01em}.chat-empty-copy{margin:0;max-width:320px;color:var(--text-muted);font-size:.84rem;line-height:1.45}.chat-messages{flex:1;display:flex;flex-direction:column;gap:10px;overflow-y:auto;min-height:0;padding:2px 2px 4px 0;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--bg-primary)}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:var(--bg-primary)}.chat-messages::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:99px}.chat-message{border-radius:var(--radius-md);padding:12px 14px;border:1px solid var(--surface-border);background:var(--surface-1);animation:app-rise var(--dur-base) var(--ease-enter)}.chat-message--user{margin-left:2rem;background:var(--accent-soft);border-color:var(--accent-border)}.chat-message--assistant{margin-right:1.25rem}.chat-message-top{display:flex;align-items:center;gap:8px;margin-bottom:5px}.chat-message-actions{display:inline-flex;align-items:center;gap:2px;opacity:0;transition:opacity var(--dur-fast) var(--ease-standard);flex-shrink:0}.chat-message:hover .chat-message-actions,.chat-message:focus-within .chat-message-actions{opacity:1}.chat-message-action{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}.chat-message-action:hover:not(:disabled){background:var(--surface-hover);color:var(--text-secondary)}.chat-message-action:disabled{opacity:.4;cursor:not-allowed}.chat-message-label{font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:0;font-weight:700}.chat-message--user .chat-message-label{color:var(--accent)}.chat-message-body{line-height:1.65;font-size:.9rem;color:var(--text-primary)}.chat-message-edit{display:flex;flex-direction:column;gap:8px}.chat-message-edit-input{width:100%;min-height:44px;max-height:200px;padding:10px 12px;border:1px solid var(--accent-border);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font:inherit;font-size:.9rem;line-height:1.5;resize:none;outline:none}.chat-message-edit-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.chat-message-edit-actions{display:flex;justify-content:flex-end;gap:8px}.chat-md__p{margin:0 0 .75rem}.chat-md__p:last-child{margin-bottom:0}.chat-md__heading{margin:1rem 0 .45rem;font-weight:700;color:var(--text-primary);letter-spacing:.01em}.chat-md__heading:first-child{margin-top:0}.chat-md__heading--2,.chat-md__heading--3{font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.chat-md__heading--4{font-size:.88rem;color:var(--text-secondary)}.chat-md__list{margin:0 0 .85rem;padding-left:1.15rem;display:flex;flex-direction:column;gap:.35rem}.chat-md__list li{padding-left:.15rem}.chat-md__list li::marker{color:var(--accent)}.chat-md__hr{margin:.85rem 0;border:0;border-top:1px solid var(--surface-border)}.chat-message-body--loading{color:var(--text-muted);font-style:italic;display:flex;align-items:center;gap:10px}.typing-indicator{display:flex;gap:4px}.typing-indicator span{width:6px;height:6px;background:var(--accent);border-radius:50%;animation:chatTyping 1.2s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes chatTyping{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.chat-cite{display:inline-flex;align-items:center;justify-content:center;min-width:14px;height:14px;margin:0 1px 0 2px;padding:0 4px;border-radius:999px;background:var(--accent-soft);border:1px solid var(--accent-border);color:var(--accent);font-size:.62rem;font-weight:700;font-style:normal;line-height:1;vertical-align:super;cursor:default}.chat-sources{margin-top:8px;display:flex;flex-direction:column;gap:6px}.chat-sources-toggle{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin:0;padding:4px 8px;border:1px solid var(--surface-border);border-radius:var(--radius-sm);background:rgba(var(--black-rgb),.18);color:var(--text-muted);font:inherit;font-size:.7rem;font-weight:600;cursor:pointer;transition:background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}.chat-sources-toggle:hover{background:var(--surface-hover);color:var(--text-secondary);border-color:var(--surface-3)}.chat-sources-toggle-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.chat-sources-toggle-hint{font-weight:500;opacity:.75}.chat-sources-chevron{margin-left:2px;transition:transform var(--dur-fast) var(--ease-standard);opacity:.7}.chat-sources-chevron.is-open{transform:rotate(180deg)}.chat-sources-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.chat-source-row{margin:0}.chat-source-row-link{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:var(--radius-sm);border:1px solid transparent;background:rgba(var(--black-rgb),.16);text-decoration:none;color:inherit;transition:background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard);min-width:0}a.chat-source-row-link:hover{background:var(--surface-hover);border-color:var(--surface-border)}.chat-source-num{flex-shrink:0;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--accent-soft);border:1px solid var(--accent-border);color:var(--accent);font-size:.62rem;font-weight:700}.chat-source-badge{flex-shrink:0;font-size:.58rem;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:2px 6px;font-weight:700;line-height:1.2}.chat-source-badge--course{background:var(--color-success-bg);color:var(--color-success)}.chat-source-badge--youtube{background:var(--color-danger-bg);color:var(--color-danger)}.chat-source-badge--news{background:rgba(var(--blue-600-rgb),.15);color:var(--color-info)}.chat-source-badge--guide{background:var(--accent-soft);color:var(--accent)}.chat-source-badge--quote,.chat-source-badge--market{background:rgba(var(--blue-600-rgb),.15);color:var(--color-info)}.chat-source-badge--filings{background:var(--surface-2);color:var(--text-secondary)}.chat-source-badge--web{background:rgba(var(--blue-600-rgb),.12);color:var(--color-info)}.chat-source-badge--grade{background:var(--accent-soft);color:var(--accent)}.chat-source-badge--position{background:var(--color-danger-bg);color:var(--color-danger)}.chat-source-main{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.chat-source-title{font-size:.78rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-source-meta{font-size:.68rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-error{color:var(--color-danger);background:var(--color-danger-bg);border:1px solid rgba(var(--red-600-rgb),.35);border-radius:var(--radius-sm);padding:10px 12px;font-size:.82rem;flex-shrink:0}.chat-input-form{flex-shrink:0;display:flex;flex-direction:column;gap:6px;padding-bottom:max(6px,var(--safe-bottom))}.chat-input-wrapper{display:flex;gap:8px;align-items:flex-end;background:var(--surface-1);border:1px solid var(--surface-border);border-radius:var(--radius-sm);padding:6px 8px;transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.chat-input-wrapper:focus-within{border-color:var(--accent-border);box-shadow:0 0 0 1px rgba(var(--accent-rgb),.12)}.chat-input{flex:1;border:none;background:transparent;color:var(--text-primary);font:inherit;font-size:.875rem;resize:none;min-height:22px;max-height:120px;line-height:1.4;padding:5px 4px;overflow-y:auto}.chat-input:focus{outline:none}.chat-input::placeholder{color:var(--text-muted)}.chat-submit{width:32px;height:32px;border:1px solid var(--accent-border);border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard);flex-shrink:0;align-self:flex-end;margin-bottom:1px}.chat-submit:hover:not(:disabled){background:var(--accent-soft-strong);border-color:rgba(var(--accent-rgb),.45);color:var(--accent-hover)}.chat-submit:disabled{opacity:.4;cursor:not-allowed}.chat-disclaimer{margin:0;padding:0 2px;color:var(--text-muted);font-size:.68rem;line-height:1.35;opacity:.85}@media(max-width:968px){.chat-layout{height:calc(100dvh - 56px)}.chat-sidebar{position:fixed;top:56px;left:0;bottom:0;z-index:100;width:min(86vw,300px);max-width:300px;min-width:0;transform:translate(-105%);background:var(--bg-secondary);box-shadow:var(--shadow-lg)}.chat-sidebar--open{transform:translate(0)}.chat-sidebar-overlay{display:block;position:fixed;inset:56px 0 0;background:var(--material-scrim);backdrop-filter:blur(var(--blur-sm));-webkit-backdrop-filter:blur(var(--blur-sm));z-index:99}.chat-mobile-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;background:transparent;border-bottom:1px solid var(--surface-border);flex-shrink:0;min-height:44px}.chat-mobile-header h1{margin:0;font-size:.95rem;font-weight:700;color:var(--text-primary)}.chat-mobile-header .btn--icon{min-width:36px;min-height:36px}.chat-content{padding:8px 12px 0;gap:6px}.chat-sidebar-header-actions{display:none}.chat-mobile-header-controls{display:flex}.chat-mobile-header-controls .chat-tools-panel{right:0;left:auto}.session-item{padding:12px;min-height:44px}.session-item-delete{opacity:1}.chat-message--user,.chat-message--assistant{margin-left:0;margin-right:0}.chat-message{padding:10px 12px}.chat-cite{min-width:16px;height:16px;font-size:.65rem}.chat-sources-toggle{min-height:32px;padding:6px 10px}.chat-source-row-link{padding:8px 10px;min-height:40px}.chat-empty{min-height:120px;padding:16px 8px}.chat-empty-title{font-size:1.05rem}.chat-empty-copy{font-size:.8rem}.chat-input-form{gap:5px;padding-bottom:max(8px,var(--safe-bottom))}.chat-input-wrapper{padding:6px 8px}.chat-input{font-size:16px;padding:6px 4px}.chat-submit{width:34px;height:34px}.chat-disclaimer{font-size:.6rem;line-height:1.3}.chat-message-actions{opacity:1}}@media(max-width:480px){.chat-message-body{font-size:.86rem}.chat-sources-toggle-hint{display:none}.chat-mobile-header{padding:6px 10px}}.page-state{min-height:calc(100dvh - 64px);display:flex;align-items:center;justify-content:center;padding:32px 20px}.page-state-card{width:min(100%,420px);text-align:center;padding:36px 28px;border-radius:var(--radius-md);border:1px solid var(--surface-border-strong);background:var(--bg-elevated);box-shadow:var(--shadow-soft)}.page-state--construction .page-state-card{border-color:var(--accent-border)}.page-state--denied .page-state-card{border-color:rgba(var(--red-400-rgb),.24)}.page-state-illustration{width:180px;height:auto;margin:0 auto 20px;color:var(--accent)}.page-state--construction .page-state-illustration{color:var(--color-warning)}.page-state--denied .page-state-illustration{color:var(--color-danger)}.page-state-title{margin:0 0 10px;color:var(--text-primary);font-size:1.35rem;font-weight:700}.page-state-copy{margin:0 0 24px;color:var(--text-muted);font-size:.9375rem;line-height:1.55}.page-state-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-contrast);font-size:.875rem;font-weight:600;text-decoration:none;transition:background var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-standard)}.page-state-btn:hover{background:var(--accent-hover)}.page-state-btn:active{transform:scale(.98)}body:has(.market-guide-page){--guide-sticky-top: 64px;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--bg-primary)}html:has(.market-guide-page),body:has(.market-guide-page){scroll-behavior:smooth}html:has(.market-guide-page)::-webkit-scrollbar,body:has(.market-guide-page)::-webkit-scrollbar{width:10px;height:10px}html:has(.market-guide-page)::-webkit-scrollbar-track,body:has(.market-guide-page)::-webkit-scrollbar-track{background:var(--bg-primary)}html:has(.market-guide-page)::-webkit-scrollbar-thumb,body:has(.market-guide-page)::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:8px}html:has(.market-guide-page)::-webkit-scrollbar-thumb:hover,body:has(.market-guide-page)::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.market-guide-page{position:relative;width:100%;min-height:calc(100dvh - var(--guide-sticky-top));color-scheme:var(--color-scheme);background:var(--bg-gradient)}.market-guide-page .sidebar,.market-guide-page .sb-scroll,.market-guide-page .tablewrap{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--bg-primary)}.market-guide-page .sidebar::-webkit-scrollbar,.market-guide-page .sb-scroll::-webkit-scrollbar,.market-guide-page .tablewrap::-webkit-scrollbar{width:8px;height:8px}.market-guide-page .sidebar::-webkit-scrollbar-track,.market-guide-page .sb-scroll::-webkit-scrollbar-track,.market-guide-page .tablewrap::-webkit-scrollbar-track{background:var(--bg-primary)}.market-guide-page .sidebar::-webkit-scrollbar-thumb,.market-guide-page .sb-scroll::-webkit-scrollbar-thumb,.market-guide-page .tablewrap::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:8px}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-opsz-normal-CfYZpDVp.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-opsz-normal-BFQXbQ-f.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-opsz-normal-BmPQvyvo.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-opsz-normal-BM0NlUE_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-opsz-normal-Ci9T9ieq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-opsz-normal-DpK-iCPk.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-opsz-normal-BwkfbSeq.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--orange-300: #ffbe76;--orange-350: #ffaa4d;--orange-400: #ff9b2f;--orange-500: #ff8806;--orange-600: #dc7300;--orange-rgb: 255, 136, 6;--teal-400: #46c7ad;--teal-500: #2f8f7d;--teal-500-rgb: 47, 143, 125;--neutral-000: #ffffff;--neutral-050: #f5f5f5;--neutral-200: #d0d0d0;--neutral-400: #999999;--neutral-500: #888888;--neutral-750: #3a3a3a;--neutral-800: #2a2a2a;--neutral-850: #1a1a1a;--neutral-900: #111111;--neutral-925: #161616;--neutral-950: #0a0a0a;--neutral-000-rgb: 255, 255, 255;--neutral-850-rgb: 26, 26, 26;--neutral-900-rgb: 17, 17, 17;--neutral-950-rgb: 10, 10, 10;--black-rgb: 0, 0, 0;--white-rgb: 255, 255, 255;--green-400: #4ade80;--green-500: #3fb950;--green-600: #16c784;--green-600-rgb: 22, 199, 132;--red-300: #f87171;--red-400: #ef5350;--red-500: #e5534b;--red-600: #e74c3c;--red-400-rgb: 239, 83, 80;--red-600-rgb: 231, 76, 60;--amber-400: var(--orange-400);--amber-400-rgb: 255, 155, 47;--blue-300: #60a5fa;--blue-400: #5a9bd4;--blue-500: #3498db;--blue-600: #2563eb;--blue-500-rgb: 52, 152, 219;--blue-600-rgb: 37, 99, 235;--violet-400: #a78bfa;--violet-500: #7c3aed;--violet-500-rgb: 124, 58, 237;--slate-400: #94a3b8;--slate-400-rgb: 148, 163, 184}:root{--font-body: "Inter Variable", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: var(--font-body);--font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;--text-2xs: .6875rem;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.0625rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-display: clamp(1.75rem, 4vw, 2.5rem);--tracking-display: -.02em;--tracking-title: -.01em;--tracking-body: 0;--tracking-caption: .02em;--tracking-label: .06em;--leading-display: 1.05;--leading-title: 1.2;--leading-tight: 1.35;--leading-body: 1.5;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700}:root{--space-0-5: 2px;--space-1: 4px;--space-1-5: 6px;--space-2: 8px;--space-2-5: 10px;--space-3: 12px;--space-3-5: 14px;--space-4: 16px;--space-4-5: 18px;--space-5: 20px;--space-5-5: 22px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-pill: 999px;--z-dropdown: 100;--z-sticky: 900;--z-header: 1000;--z-fixed: 1001;--z-overlay: 1000;--z-overlay-elevated: 1200;--z-menu-open-header: 1002;--container-max: 1600px;--dashboard-max: 1920px;--page-gutter: 20px;--layout-mobile-max: 968px;--safe-top: 0px;--safe-right: 0px;--safe-bottom: 0px;--safe-left: 0px;--page-padding-inline: max(var(--page-gutter), var(--safe-left), var(--safe-right));--page-padding-bottom: max(24px, var(--safe-bottom))}@supports (top: constant(safe-area-inset-top)){:root{--safe-top: constant(safe-area-inset-top);--safe-right: constant(safe-area-inset-right);--safe-bottom: constant(safe-area-inset-bottom);--safe-left: constant(safe-area-inset-left)}}@supports (top: env(safe-area-inset-top)){:root{--safe-top: env(safe-area-inset-top);--safe-right: env(safe-area-inset-right);--safe-bottom: env(safe-area-inset-bottom);--safe-left: env(safe-area-inset-left)}}:root{--dur-press: .1s;--dur-fast: .15s;--dur-base: .25s;--dur-slow: .4s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-enter: cubic-bezier(.16, 1, .3, 1);--ease-exit: cubic-bezier(.7, 0, .84, 0);--press-scale: .97;--blur-sm: 8px;--blur-md: 16px;--blur-lg: 24px}@media(prefers-reduced-motion:reduce){:root{--dur-press: 0ms;--dur-fast: 0ms;--dur-base: 0ms;--dur-slow: 0ms;--press-scale: 1}}@media(prefers-reduced-transparency:reduce){:root{--blur-sm: 0px;--blur-md: 0px;--blur-lg: 0px}}:root,[data-theme=orange]{--accent: var(--orange-500);--accent-hover: var(--orange-400);--accent-deep: var(--orange-600);--accent-rgb: var(--orange-rgb);--accent-soft: rgba(var(--accent-rgb), .12);--accent-soft-strong: rgba(var(--accent-rgb), .18);--accent-border: rgba(var(--accent-rgb), .28);--accent-glow: rgba(var(--accent-rgb), .35);--accent-gradient: linear-gradient(135deg, var(--orange-300) 0%, var(--orange-350) 100%);--accent-gradient-hover: linear-gradient(135deg, var(--accent-hover) 0%, var(--accent) 100%);--accent-contrast: var(--neutral-950);--bg-primary: var(--neutral-950);--bg-secondary: var(--neutral-850);--bg-card: var(--neutral-850);--bg-gradient: linear-gradient(180deg, var(--neutral-950) 0%, var(--neutral-925) 100%);--bg-elevated: var(--neutral-900);--surface-1: rgba(var(--white-rgb), .03);--surface-2: rgba(var(--white-rgb), .06);--surface-3: rgba(var(--white-rgb), .12);--surface-border: rgba(var(--white-rgb), .08);--surface-border-strong: rgba(var(--white-rgb), .16);--surface-hover: rgba(var(--white-rgb), .04);--surface-sunken: rgba(var(--black-rgb), .35);--surface-sunken-strong: rgba(var(--black-rgb), .45);--text-primary: var(--neutral-050);--text-secondary: var(--neutral-200);--text-muted: var(--neutral-400);--text-strong: var(--neutral-000);--text-dim: rgba(var(--white-rgb), .55);--text-faint: rgba(var(--white-rgb), .46);--color-primary: var(--accent);--color-primary-hover: var(--accent-hover);--color-success: var(--green-600);--color-danger: var(--red-300);--color-info: var(--blue-500);--color-income: var(--green-400);--color-expense: var(--red-300);--color-processed: var(--green-600);--color-channel-main: var(--blue-600);--color-channel-main-soft: var(--blue-300);--color-channel-main-rgb: var(--blue-600-rgb);--color-channel-second: var(--violet-500);--color-channel-second-soft: var(--violet-400);--color-channel-second-rgb: var(--violet-500-rgb);--color-warning: var(--accent);--color-neutral: var(--slate-400);--color-accent-alt: var(--violet-400);--color-success-bg: rgba(var(--green-600-rgb), .14);--color-danger-bg: rgba(var(--red-400-rgb), .14);--color-warning-bg: var(--accent-soft);--color-neutral-bg: rgba(var(--slate-400-rgb), .14);--color-info-bg: rgba(var(--blue-500-rgb), .14);--material-chrome: rgba(var(--neutral-950-rgb), .72);--material-sheet: rgba(var(--neutral-850-rgb), .86);--material-popover: rgba(var(--neutral-900-rgb), .9);--material-scrim: rgba(var(--black-rgb), .6);--overlay-bg: rgba(var(--black-rgb), .85);--shadow-soft: 0 20px 60px rgba(var(--black-rgb), .35);--shadow-sm: 0 2px 8px rgba(var(--black-rgb), .25);--shadow-md: 0 8px 24px rgba(var(--black-rgb), .35);--shadow-lg: 0 20px 60px rgba(var(--black-rgb), .5);--scrollbar-track: var(--neutral-950);--scrollbar-thumb: var(--neutral-800);--scrollbar-thumb-hover: var(--neutral-750);--color-scheme: dark}@media(prefers-contrast:more){:root,[data-theme=orange]{--surface-border: rgba(var(--white-rgb), .28);--surface-border-strong: rgba(var(--white-rgb), .45)}}.material-chrome{background:var(--material-chrome);backdrop-filter:blur(var(--blur-md)) saturate(180%);-webkit-backdrop-filter:blur(var(--blur-md)) saturate(180%);box-shadow:inset 0 1px 0 var(--surface-2)}.material-sheet{background:var(--material-sheet);backdrop-filter:blur(var(--blur-lg)) saturate(180%);-webkit-backdrop-filter:blur(var(--blur-lg)) saturate(180%);box-shadow:var(--shadow-lg)}.material-popover{background:var(--material-popover);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:var(--shadow-md)}.material-scrim{background:var(--material-scrim);backdrop-filter:blur(var(--blur-sm));-webkit-backdrop-filter:blur(var(--blur-sm))}.scroll-edge{mask-image:linear-gradient(to bottom,transparent,black 12px);-webkit-mask-image:linear-gradient(to bottom,transparent,black 12px)}.theme-switching,.theme-switching *{transition:background-color var(--dur-base) var(--ease-standard),color var(--dur-base) var(--ease-standard),border-color var(--dur-base) var(--ease-standard)}@media(prefers-reduced-transparency:reduce){.material-chrome,.material-sheet,.material-scrim{backdrop-filter:none;-webkit-backdrop-filter:none}.material-chrome{background:var(--bg-primary)}.material-sheet{background:var(--bg-secondary)}.material-scrim{background:var(--overlay-bg)}}@media(prefers-reduced-motion:reduce){.theme-switching,.theme-switching *{transition:none}}.text-display,.text-title,.text-body,.text-caption,.text-label{font-optical-sizing:auto}.text-display{font-family:var(--font-display);font-size:var(--text-display);font-weight:var(--weight-bold);letter-spacing:var(--tracking-display);line-height:var(--leading-display);color:var(--text-primary)}.text-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-bold);letter-spacing:var(--tracking-title);line-height:var(--leading-title);color:var(--text-primary)}.text-body{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-regular);letter-spacing:var(--tracking-body);line-height:var(--leading-body);color:var(--text-primary)}.text-caption{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:var(--tracking-caption);line-height:var(--leading-tight);color:var(--text-secondary)}.text-label{font-family:var(--font-body);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-label);line-height:var(--leading-tight);text-transform:uppercase;color:var(--text-muted)}.surface-card{background:var(--surface-1);border:1px solid var(--surface-border);border-radius:var(--radius-md)}.surface-panel{background:var(--bg-secondary);border:1px solid var(--surface-border-strong);border-radius:var(--radius-md)}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--radius-sm);padding:10px 16px;font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;transition:background var(--dur-fast),border-color var(--dur-fast),color var(--dur-fast),opacity var(--dur-fast)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-border)}.btn--primary:hover:not(:disabled){background:var(--accent-soft-strong);border-color:rgba(var(--accent-rgb),.45);color:var(--accent-hover)}.btn--secondary{background:var(--surface-2);color:var(--text-primary);border-color:var(--surface-border)}.btn--ghost{background:transparent;color:var(--text-secondary);border-color:var(--surface-border)}.btn--danger{background:var(--color-danger-bg);color:var(--color-danger);border-color:rgba(var(--red-400-rgb),.28)}.btn--accent-soft{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-border)}.btn--accent-soft:hover:not(:disabled){background:var(--accent-soft-strong);border-color:rgba(var(--accent-rgb),.45);color:var(--accent-hover)}.btn--sm{padding:7px 14px;font-size:var(--text-sm)}.btn--block{width:100%}.btn--icon{padding:8px;min-width:36px;min-height:36px}.btn--icon svg{width:16px;height:16px;flex-shrink:0}.btn--sm.btn--icon{padding:6px;min-width:32px;min-height:32px}.btn--secondary:hover:not(:disabled),.btn--ghost:hover:not(:disabled){background:var(--surface-3);color:var(--text-primary)}.btn--ghost.active,.btn--ghost.active:hover:not(:disabled){color:var(--accent);background:var(--accent-soft);border-color:var(--accent-border)}.btn:focus-visible{outline:2px solid var(--accent-border);outline-offset:2px}.btn:active:not(:disabled){transform:scale(var(--press-scale));transition:transform var(--dur-press) var(--ease-out)}.btn--spin svg,.btn--spin:before{animation:app-spin .8s linear infinite}.field-label{display:block;font-size:var(--text-2xs);font-weight:var(--weight-bold);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-label)}.input,.select{width:100%;background:var(--surface-sunken);border:1px solid var(--surface-border-strong);border-radius:var(--radius-sm);color:var(--text-primary);padding:10px 12px;font-size:var(--text-base)}.input:focus,.select:focus{outline:none;border-color:var(--accent-border)}.app-overlay{position:fixed;inset:0;z-index:var(--z-overlay);background:var(--overlay-bg);display:flex;align-items:center;justify-content:center;padding:max(20px,env(safe-area-inset-top,0px)) max(20px,env(safe-area-inset-right,0px)) max(20px,env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px));padding:max(20px,var(--safe-top, 0px)) max(20px,var(--safe-right, 0px)) max(20px,var(--safe-bottom, 0px)) max(20px,var(--safe-left, 0px))}.app-overlay--elevated{z-index:var(--z-overlay-elevated)}.app-modal{width:min(100%,720px);max-height:90dvh;overflow:auto;background:var(--bg-secondary);border:1px solid var(--surface-border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);animation:app-modal-in var(--dur-slow) var(--ease-enter);transform-origin:center center}@keyframes app-modal-in{0%{opacity:0;transform:scale(var(--modal-scale-from, .96));filter:blur(8px)}to{opacity:1;transform:scale(1);filter:blur(0)}}@keyframes app-modal-out{0%{opacity:1;transform:scale(1);filter:blur(0)}to{opacity:0;transform:scale(var(--modal-scale-from, .96));filter:blur(8px)}}@keyframes app-sheet-in{0%{transform:translate3d(0,100%,0)}to{transform:translateZ(0)}}@keyframes app-sheet-out{0%{transform:translateZ(0)}to{transform:translate3d(0,100%,0)}}@keyframes app-drawer-in{0%{transform:translate3d(100%,0,0)}to{transform:translateZ(0)}}@keyframes app-drawer-out{0%{transform:translateZ(0)}to{transform:translate3d(100%,0,0)}}@media(prefers-reduced-motion:reduce){.app-modal{animation:app-fade-in var(--dur-fast) var(--ease-out);filter:none}}.app-modal--wide{width:min(100%,1100px)}.app-modal--narrow{width:min(100%,440px)}.app-modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 22px 14px;border-bottom:1px solid var(--surface-border)}.app-modal__title{margin:0;font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--text-primary);letter-spacing:var(--tracking-title)}.app-modal__head .app-modal__copy{margin-top:6px}.app-modal__copy{margin:0;color:var(--text-muted);font-size:var(--text-sm);line-height:var(--leading-body)}.app-modal__body{padding:18px 22px 22px;display:flex;flex-direction:column;gap:14px}.app-modal__actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:4px}.app-close-btn{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-muted);font-size:1.5rem;line-height:1;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm);min-width:32px;min-height:32px}.app-close-btn svg{width:18px;height:18px}.app-close-btn:hover{color:var(--text-primary);background:var(--surface-hover)}.app-close-btn:active{transform:scale(var(--press-scale))}.segment{display:inline-flex;background:var(--surface-sunken-strong);border:1px solid var(--surface-border);border-radius:var(--radius-sm);padding:3px;gap:2px}.segment--block{display:flex;width:100%}.segment__btn{background:transparent;border:none;color:var(--text-muted);padding:7px 14px;border-radius:6px;font-size:var(--text-sm);font-weight:var(--weight-semibold);font-family:inherit;cursor:pointer;transition:background var(--dur-fast),color var(--dur-fast);white-space:nowrap}.segment__btn:hover{color:var(--text-secondary)}.segment__btn.active{background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent-border)}.segment__btn:active{transform:scale(var(--press-scale))}.segment--block .segment__btn{flex:1;min-width:0}.segment--scroll{display:flex;flex-wrap:nowrap;align-items:center;gap:2px;width:100%;max-width:100%;padding:3px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;background:var(--surface-sunken-strong);border:1px solid var(--surface-border);border-radius:var(--radius-sm)}.segment--scroll::-webkit-scrollbar{display:none}.segment--scroll .segment__btn{flex:0 0 auto;min-width:0;padding:7px 12px;font-size:.74rem}.spinner{width:32px;height:32px;border:3px solid var(--surface-border-strong);border-top-color:var(--accent);border-radius:50%;animation:app-spin .75s linear infinite}.spinner--sm{width:20px;height:20px;border-width:2px}.pill{display:inline-flex;align-items:center;border-radius:var(--radius-pill);padding:3px 10px;font-size:var(--text-2xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.04em}.pill--beat{background:var(--color-success-bg);color:var(--color-success)}.pill--miss{background:var(--color-danger-bg);color:var(--color-danger)}.pill--meet{background:var(--color-neutral-bg);color:var(--color-neutral)}.disclaimer{margin:0;padding:10px 14px;border-radius:var(--radius-sm);background:var(--accent-soft);border:1px solid var(--accent-border);color:var(--text-secondary);font-size:var(--text-sm);line-height:1.45}.badge{display:inline-flex;align-items:center;border-radius:var(--radius-pill);padding:3px 8px;font-size:var(--text-2xs);font-weight:var(--weight-bold)}.badge--success{background:var(--color-success-bg);color:var(--color-success)}.badge--warn{background:var(--color-warning-bg);color:var(--color-warning)}.badge--danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge--neutral{background:var(--color-neutral-bg);color:var(--color-neutral)}@keyframes app-fade-in{0%{opacity:0}to{opacity:1}}@keyframes app-slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes app-spin{to{transform:rotate(360deg)}}@keyframes app-pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes app-shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.suggestions-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:60;background:var(--bg-elevated);border:1px solid var(--surface-border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-height:min(320px,50vh);overflow-x:hidden;overflow-y:auto;padding:6px;animation:app-slide-down var(--dur-fast) var(--ease-out)}.ticker-suggestions{text-transform:none}.suggestion-item{width:100%;display:flex;align-items:center;justify-content:flex-start;gap:12px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-primary);padding:8px 10px;font-family:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;transition:background var(--dur-fast)}.suggestion-item:hover,.suggestion-item--active{background:var(--accent-soft)}.suggestion-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.suggestion-item--muted{justify-content:center;color:var(--text-muted);cursor:default;pointer-events:none;padding:14px 12px;font-size:var(--text-xs)}.suggestion-item--muted:hover{background:transparent}.suggestion-logo{width:32px;height:32px;border-radius:var(--radius-sm);object-fit:contain;flex-shrink:0;background:var(--surface-1);border:1px solid var(--surface-border)}.suggestion-logo--ph{display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:var(--weight-bold);color:var(--text-strong);letter-spacing:.02em}.suggestion-text{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.suggestion-symbol{font-family:var(--font-mono);font-weight:var(--weight-bold);font-size:var(--text-sm);color:var(--accent);line-height:1.2}.suggestion-name{color:var(--text-muted);font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.suggestion-trailing{flex-shrink:0;color:var(--text-muted);font-size:var(--text-base);font-weight:var(--weight-bold);line-height:1}.loading-state,.error-state,.empty-state--compact{padding:12px 14px;border-radius:var(--radius-sm);font-size:var(--text-base)}.loading-state{background:var(--surface-1);color:var(--text-secondary)}.error-state{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid rgba(var(--red-400-rgb),.28)}.app-drawer-overlay{position:fixed;inset:0;z-index:900;background:var(--material-scrim)}.app-drawer{position:fixed;top:0;right:0;height:100dvh;width:min(100%,420px);background:var(--bg-secondary);border-left:1px solid var(--surface-border-strong);box-shadow:var(--shadow-soft)}.financial-btn{border:1px solid var(--surface-border-strong);background:var(--surface-1);color:var(--text-primary);border-radius:var(--radius-sm);padding:8px 12px;font-size:var(--text-sm);font-weight:var(--weight-semibold)}.financial-watchlist-btn.active{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent)}.financial-chip{display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius-pill);border:1px solid var(--surface-border);padding:4px 10px;font-size:var(--text-xs);cursor:pointer;background:transparent;color:var(--text-secondary);transition:background var(--dur-fast),border-color var(--dur-fast),color var(--dur-fast)}.financial-chip:hover,.financial-chip.active{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent)}.financial-table{width:100%;border-collapse:collapse}.financial-table th,.financial-table td{padding:10px 12px;border-bottom:1px solid var(--surface-border)}@keyframes app-fade-out{0%{opacity:1}to{opacity:0}}@keyframes app-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){@keyframes app-pulse{0%,to{opacity:1}}@keyframes app-shimmer{0%,to{background-position:0 0}}}*{margin:0;padding:0;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:var(--scrollbar-track)}*::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-pill);border:2px solid var(--scrollbar-track)}*::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}html{overflow-x:hidden;overflow-x:clip;min-height:100%;min-height:100dvh;background-color:var(--bg-primary);background:var(--bg-gradient);color-scheme:var(--color-scheme)}body{font-family:var(--font-body);font-optical-sizing:auto;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);background:var(--bg-gradient);color:var(--text-primary);min-height:100vh;min-height:100dvh;min-height:-webkit-fill-available;overflow-x:hidden;overflow-x:clip;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:auto;-webkit-text-size-adjust:100%}body:before{content:"";position:fixed;z-index:-1;pointer-events:none;inset:0;background-color:var(--bg-primary);background:var(--bg-gradient)}#root{min-height:100vh;min-height:100dvh;min-height:-webkit-fill-available;background-color:var(--bg-primary);background:var(--bg-gradient)}.app{min-height:100vh;min-height:100dvh;min-height:-webkit-fill-available;background-color:var(--bg-primary);background:var(--bg-gradient);width:100%;max-width:100%;padding-bottom:constant(safe-area-inset-bottom,0px);padding-bottom:max(env(safe-area-inset-bottom,0px),var(--safe-bottom, 0px));touch-action:pan-y;overflow-x:hidden;overflow-x:clip}body.menu-open{overflow:hidden;touch-action:none;overscroll-behavior:none}html.menu-open{overflow:hidden;overscroll-behavior:none}body.menu-open .header{z-index:var(--z-menu-open-header)}@media(max-width:768px){.container{padding:12px var(--page-padding-inline)}}.container{max-width:var(--container-max);margin:0 auto;padding:20px var(--page-padding-inline)}.error-message{background:var(--color-danger-bg);border:1px solid rgba(var(--red-600-rgb),.35);color:var(--color-danger);padding:15px;border-radius:var(--radius-sm);margin:20px 0;text-align:center}.stock-pills{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0;align-items:center}.stock-pill{background:var(--accent-soft);border:1px solid var(--accent-border);padding:8px 16px;border-radius:var(--radius-xl);display:flex;align-items:center;gap:10px;font-weight:700}.stock-pill button{background:none;border:none;color:var(--color-primary);font-size:24px;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;line-height:1}.stock-pill button:hover{color:var(--color-primary-hover)}.clear-all-btn{background:var(--color-danger-bg);border:1px solid rgba(var(--red-400-rgb),.3);color:var(--color-danger);padding:8px 16px;border-radius:var(--radius-xl);cursor:pointer;font-weight:700;transition:background var(--dur-fast) var(--ease-standard)}.clear-all-btn:active{transform:scale(var(--press-scale))}.clear-all-btn:hover{background:rgba(var(--red-400-rgb),.25)}.empty-state{text-align:center;padding:80px 20px;color:var(--text-secondary)}.empty-state .logo-placeholder{margin-bottom:30px;display:flex;justify-content:center}.empty-state h2{margin-bottom:10px;color:var(--text-strong)}.empty-state p{font-size:14px}
