:root{--primary:#155DFC;--welcome-blue:#155DFC;--primary-dark:#1D293B;--primary-light:#8CB7FD;--primary-soft:#325FF6;--primary-sky:#4275F8;--primary-tint:#E0E8FF;--gold-premium:#F69D10;--accent-green:#30C25B;--accent-green-light:#EDFEF6;--text:#1D293B;--text-secondary:#3B454D;--muted:#6D7380;--text-tertiary:#66758C;--information-summary:#7F8CA3;--text-disabled:#AFB3BD;--information-read-title:#66758C;--bg:#F8FAFC;--surface:#FFFFFF;--surface-muted:#F4F7FB;--line:#EDF0F5;--line-strong:#AFB3BD;--danger:#F14A66;--stock-up:#F14A66;--stock-down:#30C25B;--warning:#F69D10;--success:#30C25B;--focus:#155DFC;--radius:10px;--shadow:0 1px 2px rgba(16,24,40,0.04),0 8px 24px rgba(16,24,40,0.06);--sidebar-bg:#FFFFFF;--sidebar-text:var(--text);--sidebar-text-muted:var(--muted);--sidebar-border:var(--line);--sidebar-hover:var(--surface-muted);--sidebar-active-bg:#EDF2FE;--sidebar-active-text:var(--primary)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,HarmonyOS Sans SC,Segoe UI,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}a:hover{text-decoration:none!important}button,input,select,textarea{font:inherit}[role=button],a,button{touch-action:manipulation}[aria-disabled=true],button:disabled{pointer-events:none}.ciwei-spinner{display:inline-block;flex-shrink:0;transform-origin:center;animation:ciwei-spinner-rotate .7s linear infinite;will-change:transform}.ciwei-spinner__icon{display:block}@keyframes ciwei-spinner-rotate{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.ciwei-spinner{animation-duration:1.4s}}.share-dialog-backdrop{position:fixed;z-index:1400;inset:0;display:grid;min-width:0;place-items:center;padding:0 16px;background:rgba(18,28,49,.48);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.share-dialog-modal{position:relative;display:grid;width:min(608px,100%);height:100vh;height:100dvh;min-width:0;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid rgba(255,255,255,.9);border-radius:0;background:#f8faff;box-shadow:0 30px 100px rgba(15,27,53,.32)}.share-dialog-header{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;border-bottom:1px solid rgba(211,220,236,.82);background:rgba(255,255,255,.96)}.share-dialog-header>div{min-width:0}.share-dialog-header span{display:block;margin-bottom:2px;color:var(--text-tertiary);font-size:10px;font-weight:750;letter-spacing:.05em}.share-dialog-header h2{overflow:hidden;margin:0;color:#24334d;font-size:15px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.share-dialog-header>button,.share-dialog-qr-card>button{display:grid;width:32px;height:32px;flex:0 0 auto;place-items:center;padding:0;border:0;border-radius:9px;background:transparent;color:var(--muted);cursor:pointer}.share-dialog-header>button:hover,.share-dialog-qr-card>button:hover{background:var(--surface-muted);color:var(--text)}.share-dialog-preview-frame{position:relative;min-height:0;overflow:hidden;padding:10px;background:radial-gradient(circle at 12% 0,rgba(91,142,255,.1),transparent 32%),linear-gradient(145deg,#edf2fa,#f5f7fc)}.share-dialog-preview-frame iframe{position:absolute;top:50%;left:50%;display:block;width:100%;height:100%;border:1px solid rgba(196,207,227,.82);border-radius:13px;background:#fff;box-shadow:0 8px 24px rgba(42,61,99,.08);transform:translate(-50%,-50%);transform-origin:center;opacity:0;transition:opacity .16s ease}.share-dialog-preview-frame iframe.ready{opacity:1}.share-dialog-preview-loading{position:absolute;z-index:1;inset:0;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-size:13px}.share-dialog-footer{position:relative;padding:10px 12px;border-top:1px solid rgba(211,220,236,.82);background:rgba(255,255,255,.98)}.share-dialog-actions{display:grid;min-width:0;grid-template-columns:repeat(3,auto) minmax(0,1fr);align-items:center;grid-gap:7px;gap:7px}.share-dialog-actions button{display:inline-flex;min-width:0;min-height:34px;align-items:center;justify-content:center;gap:6px;padding:0 9px;border:1px solid rgba(125,153,207,.62);border-radius:9px;background:linear-gradient(135deg,#edf3ff,#f1effc);box-shadow:0 4px 11px rgba(56,87,151,.08),inset 0 1px 0 rgba(255,255,255,.9);color:#45608f;cursor:pointer;font-size:12px;font-weight:750;white-space:nowrap}.share-dialog-actions button:hover{border-color:#7193d2;background:linear-gradient(135deg,#e4edff,#ebe7fb);box-shadow:0 6px 14px rgba(56,87,151,.12);color:#314f87}.share-dialog-actions button:disabled{opacity:.58}.share-dialog-actions>a{color:#7889a6;line-height:1.3;text-align:right}.share-dialog-actions>a,.share-dialog-preview-link-disabled{min-width:0;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.share-dialog-preview-link-disabled{color:var(--muted);opacity:.55}.share-dialog-actions>a:hover{color:var(--primary)}.share-dialog-qr-layer{position:absolute;z-index:3;inset:0;display:grid;place-items:center;padding:20px;background:rgba(27,39,64,.46);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.share-dialog-qr-card{position:relative;width:min(282px,100%);padding:28px 24px 22px;border:1px solid rgba(255,255,255,.86);border-radius:18px;background:#fff;box-shadow:0 24px 70px rgba(17,30,58,.28);text-align:center}.share-dialog-qr-card>button{position:absolute;top:8px;right:8px}.share-dialog-qr-card>div{display:grid;width:232px;height:232px;max-width:100%;margin:0 auto;place-items:center;color:var(--muted);font-size:12px}.share-dialog-qr-card img{display:block;width:224px;height:224px;max-width:100%;border-radius:8px}.share-dialog-qr-card strong{display:block;margin-top:8px;color:#52617b;font-size:12px}@media (max-width:480px){.share-dialog-backdrop{padding:0 8px}.share-dialog-modal{height:100dvh;border-radius:0}.share-dialog-header{padding:10px 12px}.share-dialog-header h2{font-size:13px}.share-dialog-preview-frame{padding:6px}.share-dialog-footer{padding:8px}.share-dialog-actions{gap:4px}.share-dialog-actions button{min-height:32px;gap:3px;padding:0 4px;font-size:9px}.share-dialog-actions>a{font-size:9px}}.app-shell{min-height:100vh;display:grid;grid-template-columns:180px minmax(0,1fr)}.sidebar-toggle{display:none}.sidebar{background:var(--sidebar-bg);color:var(--sidebar-text);padding:0 14px;display:flex;flex-direction:column;gap:14px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto;align-self:start;border-right:1px solid var(--line)}.brand{height:64px;display:flex;align-items:center;gap:10px;padding:0 8px;border-bottom:1px solid var(--line);flex-shrink:0}.brand-logo{width:32px;height:32px;flex-shrink:0;object-fit:contain}.brand-text{display:flex;flex-direction:column;min-width:0}.brand-title{margin:0;font-size:15px;line-height:1.3;font-weight:700;letter-spacing:.02em;color:#101828}.brand-subtitle{margin:1px 0 0;color:var(--text-tertiary);font-size:10px;line-height:1.2;letter-spacing:.12em;font-weight:500}.nav-list{display:grid;grid-gap:4px;gap:4px}.nav-link{display:flex;align-items:center;gap:10px;min-height:52px;padding:8px 10px;border-radius:var(--radius);color:var(--sidebar-text-muted);font-size:14px;font-weight:500;transition:background-color .15s ease,color .15s ease}.nav-label{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.nav-label-cn{font-size:14px;font-weight:500;line-height:1.25}.nav-label-en{font-size:9px;line-height:1.2;color:var(--text-tertiary);opacity:1;letter-spacing:.06em;text-transform:uppercase}.nav-link:hover{background:var(--sidebar-hover);color:var(--sidebar-text)}.nav-link.active{background:var(--sidebar-active-bg);color:var(--sidebar-active-text);font-weight:600}.sidebar-footer{margin-top:auto;padding:10px 2px 12px;display:flex;flex-direction:column;gap:8px;flex-shrink:0}.sidebar-user-card{display:flex;align-items:center;gap:10px;padding:9px 8px;border:1px solid rgba(151,174,226,.2);border-radius:12px;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(239,244,255,.82));box-shadow:0 5px 15px rgba(37,70,137,.045),inset 0 1px 0 rgba(255,255,255,.9);text-decoration:none;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}.sidebar-user-card:hover{background:var(--surface);border-color:rgba(75,116,213,.3);box-shadow:0 7px 18px rgba(21,93,252,.08);transform:translateY(-1px)}.sidebar-user-card.active{border-color:rgba(75,116,213,.34);background:linear-gradient(145deg,#fff,rgba(236,243,255,.92));box-shadow:0 7px 18px rgba(21,93,252,.085)}.sidebar-user-card.active .sidebar-user-name{color:var(--primary)}.sidebar-user-avatar-wrap{width:36px;height:36px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;border:1px solid rgba(101,136,219,.14);background:linear-gradient(140deg,#E9F0FF,#F2EEFF)}.sidebar-user-avatar{width:32px;height:32px;object-fit:contain}.sidebar-user-info{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.sidebar-user-name{font-size:13px;font-weight:600;letter-spacing:.01em;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-points{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:#526789;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sidebar-user-points svg{color:var(--primary)}.sidebar-user-chevron{flex-shrink:0;color:var(--text-disabled);opacity:0;transform:translateX(-3px);transition:opacity .18s ease,transform .18s ease}.sidebar-user-card:hover .sidebar-user-chevron{opacity:1;transform:translateX(0)}.sidebar-reward{display:flex;align-items:center;gap:10px;padding:9px 7px 9px 5px;border-radius:11px;border:1px solid transparent;background:var(--surface-muted);color:var(--text);font-size:13px;font-weight:600;text-decoration:none;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}.sidebar-reward:hover{background:var(--surface);border-color:var(--primary-tint);box-shadow:0 4px 14px rgba(21,93,252,.07)}.sidebar-reward-icon{width:34px;height:34px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;background:linear-gradient(140deg,#FFF7E6,#EEF4FF);box-shadow:inset 0 0 0 1px rgba(180,83,9,.12);transition:box-shadow .18s ease}.sidebar-reward:hover .sidebar-reward-icon{box-shadow:inset 0 0 0 1px rgba(180,83,9,.24)}.sidebar-reward-icon svg{color:var(--gold-premium)}.sidebar-reward-copy{flex:1 1;min-width:0;font-size:11px;font-weight:600;line-height:1.35;color:#B45309;overflow-wrap:anywhere}.sidebar-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:7px 0;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--sidebar-text-muted);font-family:inherit;font-size:12.5px;font-weight:500;text-decoration:none;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.sidebar-action-btn:hover{background:var(--sidebar-hover);border-color:#DCE4FA;color:var(--text)}.sidebar-account-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.sidebar-account-actions .sidebar-action-btn{min-width:0;gap:3px;padding-inline:2px;font-size:11.5px;white-space:nowrap}.sidebar-action-invite{border-color:rgba(104,139,224,.32);background:linear-gradient(135deg,rgba(239,245,255,.94),rgba(247,244,255,.92));color:var(--primary);font-weight:620;box-shadow:inset 0 1px 0 rgba(255,255,255,.86)}.sidebar-action-invite:hover{border-color:rgba(51,98,211,.5);background:linear-gradient(135deg,#EAF2FF,#F1EEFF);color:#174FBF;box-shadow:0 5px 14px rgba(21,93,252,.08)}.sidebar-action-danger:hover{background:#FFF5F6;border-color:#FFD9DF;color:var(--danger)}.sidebar-action-primary{border-color:#DCE4FA;color:var(--primary)}.sidebar-action-primary:hover{background:#F0F5FF;border-color:var(--primary);color:var(--primary)}.main{min-width:0;display:flex;flex-direction:column}.spinner-sm{width:14px;height:14px;border:2px solid;border-top:2px solid transparent;border-radius:50%;animation:spin .6s linear infinite;flex-shrink:0}.topbar{min-height:64px;justify-content:space-between;gap:16px;padding:0 28px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:-webkit-sticky;position:sticky;top:0;z-index:10}.topbar,.topbar-back-btn{display:flex;align-items:center}.topbar-back-btn{justify-content:center;width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:var(--text-secondary);cursor:pointer;padding:0;flex-shrink:0}.topbar-title{margin:0;font-size:17px;font-weight:700;line-height:1.3;letter-spacing:.01em;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.topbar-actions{gap:8px}.topbar-actions,.topbar-controls{display:flex;align-items:center;flex-shrink:0}.topbar-controls{gap:10px}.topbar-bell-btn{position:relative;border:none;background:transparent;color:var(--text-secondary);padding:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:color .15s}.topbar-bell-btn:hover{color:var(--text)}.topbar-login-prompt{color:var(--primary);font-size:12px;font-weight:650;white-space:nowrap;cursor:pointer}.topbar-login-prompt:hover{color:var(--primary-dark)}.topbar-bell-dot{position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:50%;background:var(--danger);border:2px solid #fff}.topbar-points-wrap{position:relative;cursor:pointer}.topbar-points{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:#B45309;padding:4px 10px;background:#FFF7ED;border:1px solid #fed7aa;border-radius:16px;white-space:nowrap}.topbar-points-dropdown{position:absolute;top:calc(100% + 8px);right:0;white-space:nowrap;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.1);padding:6px;z-index:1000}.topbar-points-dropdown:before{content:"";position:absolute;top:-8px;left:0;right:0;height:8px}.topbar-user-menu{position:relative}.topbar-user-trigger{display:flex;align-items:center;gap:6px;cursor:pointer}.topbar-user-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:140px;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.1);padding:6px;z-index:1000}.topbar-user-dropdown:before{content:"";position:absolute;top:-8px;left:0;right:0;height:8px}.topbar-user-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border:none;background:transparent;border-radius:6px;cursor:pointer;font-size:14px;color:var(--text);text-decoration:none;transition:background .15s}.topbar-user-dropdown-item:hover{background:var(--surface-muted)}.topbar-user-dropdown-reward{color:#92400E}.topbar-user-dropdown-reward:hover{background:#FFFBEB}.app-shell.no-sidebar{grid-template-columns:1fr}.app-shell.no-sidebar .content{max-width:880px;margin:0 auto}.content{padding:28px 32px 48px;width:100%;min-width:0;max-width:1440px}.auth-hydration-card,.auth-hydration-line,.auth-hydration-title,.detail-skeleton-card,.detail-skeleton-grid>div,.detail-skeleton-meta,.detail-skeleton-tabs,.detail-skeleton-title{position:relative;overflow:hidden;background:#EEF3FF;border-radius:8px}.auth-hydration-card:after,.auth-hydration-line:after,.auth-hydration-title:after,.detail-skeleton-card:after,.detail-skeleton-grid>div:after,.detail-skeleton-meta:after,.detail-skeleton-tabs:after,.detail-skeleton-title:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.54),transparent);animation:skeletonShimmer 1.25s ease-in-out infinite}.auth-hydration-content{padding:28px;display:grid;align-content:start;grid-gap:16px;gap:16px}.auth-hydration-title{width:260px;height:28px}.auth-hydration-line{width:420px;max-width:70%;height:14px}.auth-hydration-card{width:min(820px,100%);height:320px;margin-top:8px}@keyframes skeletonShimmer{to{transform:translateX(100%)}}.grid{display:grid;grid-gap:16px;gap:16px}.grid.two{grid-template-columns:minmax(0,1fr) 360px}.card,.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{padding:20px}.card{padding:16px}.button{border:1px solid transparent;border-radius:var(--radius);min-height:36px;padding:7px 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--primary);color:var(--surface);font-weight:500;cursor:pointer;transition:opacity .15s ease,background-color .15s ease,border-color .15s ease}.button:hover:not(:disabled){opacity:.9}.button.secondary{background:var(--surface);border-color:var(--line);color:var(--primary)}.button.danger{background:var(--danger)}.button:disabled{opacity:.54;cursor:not-allowed}.pagination{min-height:56px;display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:14px 0 0;color:var(--muted);font-size:13px;flex-wrap:wrap}.pagination-meta{margin-right:auto;color:var(--text-tertiary);white-space:nowrap}.pagination-button{min-width:76px}.pagination-button,.pagination-icon-button,.pagination-jump button,.pagination-page-button{min-height:32px;padding:5px 9px;border:1px solid #f1f5f9;border-radius:8px;background:var(--surface);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;gap:4px;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.pagination-icon-button{width:32px;padding:0}.pagination-page-button{min-width:32px;padding:5px 8px}.pagination-button:hover:not(:disabled),.pagination-icon-button:hover:not(:disabled),.pagination-jump button:hover:not(:disabled),.pagination-page-button:hover:not(:disabled){background:var(--surface-muted);border-color:var(--primary-light);color:var(--primary)}.pagination-page-button.active{background:var(--primary);border-color:var(--primary);color:var(--surface);font-weight:700}.pagination-button:disabled,.pagination-icon-button:disabled,.pagination-jump button:disabled,.pagination-page-button:disabled{cursor:not-allowed;color:var(--text-disabled);background:#F9FAFC}.pagination-pages{display:inline-flex;align-items:center;gap:4px}.pagination-ellipsis{min-width:22px;text-align:center;color:var(--text-tertiary)}.pagination-current{min-width:154px;display:grid;justify-items:center;grid-gap:2px;gap:2px}.pagination-page{color:var(--text-secondary);font-weight:600}.pagination-state{color:var(--text-tertiary);font-size:11px}.pagination-jump{display:inline-flex;align-items:center;gap:6px;color:var(--text-tertiary);white-space:nowrap}.pagination-jump input{width:52px;height:32px;border:1px solid #f1f5f9;border-radius:8px;background:var(--surface);color:var(--text-secondary);text-align:center;outline:none}.pagination-jump input:focus{border-color:var(--primary-light);box-shadow:0 0 0 2px rgba(21,93,252,.08)}.icon-button{width:38px;height:38px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto}.icon-button.send{background:var(--text);color:var(--surface);border-color:var(--text)}.icon-button:disabled{opacity:.45;cursor:not-allowed}.field{display:grid;grid-gap:6px;gap:6px}.label{color:var(--muted);font-size:13px}.input,.select,.textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);min-height:40px;padding:8px 10px}.textarea{min-height:116px;resize:vertical}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.tab{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:7px 12px;color:var(--muted)}.tab.active{color:var(--primary-strong);border-color:var(--primary);background:var(--primary-tint)}.status-badge{gap:4px;padding:3px 4px;background:var(--surface);box-shadow:0 1px 3px rgba(30,41,82,.06),0 0 0 1px var(--line)}.status-badge,.status-seg{display:inline-flex;align-items:center;border-radius:999px}.status-seg{gap:6px;padding:3px 10px 3px 8px;font-size:11px;font-weight:500;line-height:1;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex-shrink:0}.status-name{opacity:.62;font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.status-label{display:inline-flex;align-items:center;letter-spacing:.01em}.status-divider{width:1px;height:14px;background:linear-gradient(180deg,transparent,#e4e8f4,transparent);flex-shrink:0}.status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;position:relative}.status-seg.neutral{color:#6b7280}.status-seg.neutral .status-dot{background:#b0b7c3;box-shadow:0 0 0 2.5px rgba(176,183,195,.16)}.status-seg.success{color:#15803d}.status-seg.success .status-dot{background:#22c55e;box-shadow:0 0 0 2px rgba(34,197,94,.18),0 0 0 3.5px rgba(34,197,94,.06)}.status-seg.warning{color:#92400e}.status-seg.warning .status-dot{background:#f59e0b;box-shadow:0 0 0 2px rgba(245,158,11,.12)}.status-seg.warning .status-dot:after,.status-seg.warning .status-dot:before{content:"";position:absolute;inset:-2px;border-radius:50%;border:1px solid rgba(245,158,11,.3);animation:status-radar 2.8s cubic-bezier(.2,.6,.35,1) infinite}.status-seg.warning .status-dot:after{animation-delay:1.4s}.status-seg.error{color:#991b1b}.status-seg.error .status-dot{background:#ef4444;box-shadow:0 0 0 2px rgba(239,68,68,.16),0 0 0 3.5px rgba(239,68,68,.05)}@keyframes status-radar{0%{transform:scale(.75);opacity:.55}to{transform:scale(1.9);opacity:0}}.status-dots{width:12px;text-align:left;flex-shrink:0}.status-dots,.status-dots:after{display:inline-block;overflow:hidden}.status-dots:after{content:"...";animation:status-dots-step 1.5s steps(4) infinite;width:0}@keyframes status-dots-step{0%{width:0}25%{width:3px}50%{width:6px}75%{width:9px}to{width:12px}}.status-seg-wrap{position:relative;display:inline-flex}.status-badge .status-seg{border:none;background:transparent;cursor:pointer;font:inherit;color:inherit;transition:transform .1s ease}.status-seg-wrap.open .status-seg:active{transform:scale(.98)}.status-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:130;width:264px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px;box-shadow:0 12px 32px rgba(15,23,42,.12),0 2px 6px rgba(0,0,0,.04);animation:statusPopoverIn .18s cubic-bezier(.16,1,.3,1) forwards;outline:none}@keyframes statusPopoverIn{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.status-popover-head{display:flex;align-items:center;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--line,#eef1f6)}.status-popover-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-popover-dot.neutral{background:#b0b7c3}.status-popover-dot.success{background:#22c55e}.status-popover-dot.warning{background:#f59e0b}.status-popover-dot.error{background:#ef4444}.status-popover-title{font-size:13px;font-weight:600;color:#0f172a;flex:1 1;min-width:0}.status-popover-tag{font-size:11px;font-weight:600;color:#475569;background:#f1f5f9;border-radius:999px;padding:2px 8px;flex-shrink:0}.status-popover-body{padding-top:10px;display:flex;flex-direction:column;gap:10px}.status-popover-desc{margin:0;font-size:12px;line-height:1.55;color:#475569;word-break:break-word}.status-popover-fields{display:flex;flex-direction:column;gap:6px;padding:8px 10px;background:#f8fafc;border-radius:8px}.status-popover-field{display:flex;align-items:baseline;gap:8px;min-width:0}.status-popover-field-label{flex-shrink:0;font-size:11px;color:var(--muted,#94a3b8);min-width:52px}.status-popover-field-value{font-size:13px;font-weight:500;color:var(--text,#0f172a);min-width:0;overflow-wrap:break-word;word-break:break-all}.status-popover-progress{display:flex;flex-direction:column;gap:6px}.status-popover-progress-bar{height:3px;border-radius:2px;background:rgba(21,93,252,.1);overflow:hidden}.status-popover-progress-fill{height:100%;border-radius:2px;background:var(--primary);transition:width .05s linear}.status-popover-progress-info{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.status-popover-progress-attempt{color:var(--muted)}.status-popover-progress-countdown{font-weight:600;color:var(--primary);min-width:24px;margin-left:auto;text-align:right}.status-popover-progress-help{color:var(--muted);font-size:11px;line-height:1.5}.status-popover-hint{display:flex;align-items:flex-start;gap:6px;font-size:11.5px;line-height:1.5;border-radius:8px;padding:7px 9px}.status-popover-hint.warning{color:#92400e;background:#fffbeb}.status-popover-download-link{margin-left:2px;color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px}.status-popover-hint>svg{flex-shrink:0;margin-top:2px}.status-popover-actions{display:flex;flex-wrap:wrap;gap:6px}.status-popover-btn{display:flex;width:100%;align-items:center;justify-content:center;gap:5px;font-size:12px;font-weight:500;border-radius:8px;padding:6px 10px;cursor:pointer;border:1px solid transparent;transition:background .15s ease,border-color .15s ease,color .15s ease}.status-popover-btn.primary{background:var(--primary,#155dfc);color:#ffffff}.status-popover-btn.primary:hover{background:var(--primary-strong,#0a4af0)}.status-popover-btn.ghost{background:#f8fafc;color:#334155;border-color:#e2e8f0}.status-popover-btn.ghost:hover{background:#f1f5f9;color:#0f172a}.status-popover-btn:disabled{cursor:not-allowed;opacity:.45}.status-popover-btn:disabled:hover{background:var(--primary,#155dfc)}.status-popover-btn.ghost:disabled:hover{background:#f8fafc;color:#334155}.status-popover-tip{display:flex;align-items:flex-start;gap:6px;font-size:11px;line-height:1.5;color:#94a3b8;padding-top:8px;border-top:1px dashed #eef1f6}.status-popover-tip svg{flex-shrink:0;margin-top:1px}@media (prefers-reduced-motion:reduce){.status-popover{animation:none}.status-seg-wrap.open .status-seg:active{transform:none}.model-switcher-popover{animation:none}}.main-workspace{display:flex;min-width:0;min-height:calc(100vh - 64px);align-items:stretch}.main-center{min-width:0;flex:1 1 auto}.right-side-panel{flex:0 0 20%;width:20%;border-left:1px solid var(--line);background:var(--surface)}.notification-sidebar{position:-webkit-sticky;position:sticky;top:64px;height:calc(100vh - 64px);display:flex;flex-direction:column;overflow:hidden;background:var(--surface)}.notification-sidebar-header{min-height:66px;padding:14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.notification-sidebar-header-main{min-width:0;display:flex;align-items:center;gap:5px}.notification-sidebar-header-main>div{min-width:0;display:grid;grid-gap:3px;gap:3px}.notification-sidebar-header strong{color:var(--text);font-size:15px}.notification-sidebar-header span{color:var(--text-tertiary);font-size:11px}.notification-sidebar-list{flex:1 1 auto;min-height:0;overflow-y:auto}.notification-sidebar-state{min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-size:12px}.notification-sidebar-item{width:100%;padding:13px 11px 13px 14px;display:flex;align-items:center;gap:5px;border:0;border-bottom:1px solid var(--line);color:var(--text-tertiary);background:transparent;text-align:left}.notification-sidebar-item:hover{color:var(--primary);background:var(--surface-muted)}.notification-sidebar-item.unread{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 8%,var(--surface)) 0,color-mix(in srgb,var(--primary) 5%,var(--surface)) 100%)}.notification-sidebar-item.unread:hover{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 13%,var(--surface)) 0,color-mix(in srgb,var(--primary) 9%,var(--surface)) 100%)}.notification-sidebar-item-main{flex:1 1 auto;min-width:0;display:grid;grid-gap:6px;gap:6px}.notification-sidebar-item-title{min-width:0;display:flex;align-items:center;gap:6px;color:var(--text);font-size:12px;font-weight:650;line-height:1.4}.notification-sidebar-item-title i{width:6px;height:6px;flex:0 0 auto;border-radius:50%;background:var(--primary)}.notification-sidebar-item-preview{color:var(--text-secondary);font-size:11px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-sidebar-item-meta{display:flex;align-items:center;gap:7px;color:var(--text-tertiary);font-size:10px}.notification-sidebar-read-button{margin-left:auto;padding:2px 7px;border:1px solid var(--primary-light);border-radius:999px;color:var(--primary);background:var(--surface);font-size:9px;line-height:1.4;cursor:pointer}.notification-sidebar-read-button:hover{background:var(--primary-tint)}.notification-sidebar-detail-button{width:26px;height:32px;flex:0 0 auto;display:grid;place-items:center;border:0;border-radius:7px;color:var(--text-tertiary);background:transparent;cursor:pointer}.notification-sidebar-detail-button:hover{color:var(--primary);background:var(--primary-tint)}.notification-sidebar-detail{flex:1 1 auto;min-height:0;padding:16px 14px 24px;overflow-y:auto}.notification-sidebar-detail-meta{display:flex;align-items:center;min-height:24px}.notification-sidebar-detail h2{margin:12px 0 14px;color:var(--text);font-size:15px;line-height:1.55}.notification-sidebar-detail-content{color:var(--text-secondary);font-size:12px;line-height:1.7;overflow-wrap:anywhere}.notification-sidebar-detail-content .chat-markdown{font-size:inherit}.notification-sidebar-detail-empty{padding:30px 0;color:var(--muted);font-size:12px;text-align:center}.notification-sidebar-open-button{width:100%;min-height:36px;margin-top:16px;padding:7px 12px;display:flex;align-items:center;justify-content:center;gap:5px;border:1px solid var(--primary-light);border-radius:8px;color:var(--primary);background:var(--surface);font-size:11px;font-weight:600;white-space:nowrap;cursor:pointer}.notification-sidebar-open-button:hover{background:var(--primary-tint)}.notification-sidebar-status{display:inline-flex;align-items:center;gap:3px}.notification-sidebar-status.success{color:var(--accent-green)}.notification-sidebar-status.warning{color:var(--warning)}.notification-sidebar-status.error{color:var(--danger)}.notification-sidebar-status.neutral{color:var(--muted)}.notification-sidebar-footer{flex:0 0 auto;padding:10px;border-top:1px solid var(--line);background:var(--surface)}.notification-sidebar-footer button{width:100%;min-height:34px;display:flex;align-items:center;justify-content:center;gap:4px;border:1px solid var(--line);border-radius:8px;color:var(--primary);background:var(--surface);font-size:11px;font-weight:600;cursor:pointer}.notification-sidebar-footer button:hover{border-color:var(--primary-light);background:var(--primary-tint)}.topbar-bell-btn.active{color:var(--primary);background:var(--primary-tint)}.topbar-left{gap:8px;flex:1 1 auto}.dashboard-nav-inline,.topbar-left{display:flex;align-items:center;min-width:0}.dashboard-nav-inline{margin-left:18px;gap:18px;overflow:hidden}.dashboard-nav{display:flex;align-items:stretch;gap:22px;height:64px;flex-shrink:0}.dashboard-nav-link{display:flex;align-items:center;border-bottom:2px solid transparent;color:var(--muted);font-size:14px;font-weight:600}.dashboard-nav-link.active,.dashboard-nav-link:hover{color:var(--primary)}.dashboard-nav-link.active{border-bottom-color:var(--primary)}.dashboard-data-note{color:var(--text-tertiary);font-size:10px;white-space:nowrap}.dashboard-page{display:grid;grid-template-columns:minmax(0,4fr) minmax(220px,1fr);grid-gap:18px;gap:18px;align-items:stretch}.dashboard-page.panel-open{grid-template-columns:minmax(0,1fr)}.dashboard-primary{display:grid;grid-gap:18px;gap:18px;min-width:0;align-self:start}.dashboard-sidebar{display:flex;flex-direction:column;min-width:0;max-height:100%;overflow:hidden}.dashboard-sidebar>.briefing-entry-card{flex-shrink:0}@media (min-width:861px){.dashboard-sidebar{contain:size}}.dashboard-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px}.market-panel{min-width:0;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 8px 30px rgba(32,49,84,.04);overflow:hidden}.market-panel-header{min-height:66px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.market-panel-header h2{margin:0;color:var(--text);font-size:15px}.market-panel-header p{margin:4px 0 0;color:var(--text-tertiary);font-size:11px}.dashboard-feed-header-actions>a,.market-panel-header>a{display:flex;align-items:center;gap:3px;color:var(--primary);font-size:12px;font-weight:600;white-space:nowrap}.market-panel-title-row{display:flex;align-items:center;gap:5px}.heatmap-panel{display:flex;flex-direction:column}.heatmap-heading-inline{min-width:0;display:flex;align-items:baseline;gap:8px}.heatmap-heading-inline>p{margin:0;white-space:nowrap}.heatmap-panel-compact .market-panel-header{min-height:52px;padding:9px 14px}.heatmap-panel-compact .treemap-chart{flex:1 1;min-height:0;padding:0}.heatmap-panel-compact>.heatmap-state{flex:1 1;min-height:0}.dashboard-heatmap-row{align-items:stretch}.dashboard-heatmap-column>.heatmap-panel{height:250px}.compact-watchlist-dashboard .compact-watchlist-switcher,.dashboard-page .market-panel-header h2{font-size:14px}.heatmap-header-actions{display:flex;align-items:center;gap:8px}.image-share-trigger{display:inline-flex;min-height:32px;align-items:center;justify-content:center;gap:5px;padding:0 10px;border:1px solid #cfdaf0;border-radius:8px;background:linear-gradient(135deg,#eef4ff,#f2efff);color:#4b68a8;font-family:inherit;font-size:11px;font-weight:650;white-space:nowrap;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,color .15s ease}.image-share-trigger:hover:not(:disabled){border-color:#91a9dc;color:#315db5;box-shadow:0 5px 14px rgba(57,87,151,.1)}.image-share-trigger:disabled{cursor:wait;opacity:.62}.image-share-progress-overlay{position:fixed;inset:0;z-index:2200;display:grid;place-items:center;padding:20px;background:rgba(20,30,52,.42);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.image-share-progress-card{display:grid;width:min(420px,100%);grid-template-columns:48px minmax(0,1fr);grid-gap:8px 14px;gap:8px 14px;padding:23px 24px 21px;border:1px solid rgba(255,255,255,.86);border-radius:18px;background:linear-gradient(145deg,#fff,#f7f9fe);box-shadow:0 24px 70px rgba(21,35,65,.24)}.image-share-progress-icon{display:grid;width:46px;height:46px;place-items:center;grid-row:span 2;border:1px solid #d6e2f7;border-radius:13px;background:linear-gradient(145deg,#edf4ff,#f2edff);color:#5272bd}.image-share-progress-card h2{margin:1px 0 0;color:#263754;font-size:16px}.image-share-progress-card p{margin:5px 0 0;color:#7a879d;font-size:12px;line-height:1.6}.image-share-progress-track{height:6px;grid-column:1/-1;overflow:hidden;margin-top:8px;border-radius:999px;background:#e8edf5}.image-share-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5b84dd,#7b72e8);transition:width .25s ease}.image-share-progress-card ol{display:grid;grid-column:1/-1;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px;margin:7px 0 0;padding:0;list-style:none}.image-share-progress-card li{display:flex;align-items:center;gap:5px;color:#a0a9b8;font-size:10px}.image-share-progress-card li>span{display:grid;width:19px;height:19px;flex:0 0 auto;place-items:center;border:1px solid #dce3ee;border-radius:50%;background:#fff}.image-share-progress-card li.active{color:#4568b0;font-weight:700}.image-share-progress-card li.active>span{border-color:#94ace0;background:#edf3ff}.image-share-progress-card li.done{color:#438b83}.image-share-progress-card li.done>span{border-color:#a8d5cf;background:#ecf8f6}.share-capture-meta{display:grid;justify-items:end;grid-gap:6px;gap:6px}.share-capture-brand{display:inline-flex;align-items:center;gap:7px;color:#53627b}.share-capture-brand img{display:block;width:30px;height:auto}.share-capture-brand strong{font-size:13px;font-weight:750;letter-spacing:.01em}.share-capture-meta p{margin:0;color:#8490a4;font-size:12px;white-space:nowrap}.heatmap-fullscreen-button{width:32px;height:32px;display:grid;place-items:center;flex:0 0 auto;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:var(--surface);cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease}.heatmap-fullscreen-button:hover{color:var(--primary);border-color:var(--primary);background:var(--primary-tint)}.heatmap-panel-fullscreen{position:fixed;inset:0;z-index:1080;width:100vw;height:100vh!important;height:100dvh!important;border:0;border-radius:0;background:var(--surface)}.heatmap-panel-fullscreen::-webkit-backdrop{background:var(--surface)}.heatmap-panel-fullscreen::backdrop{background:var(--surface)}.heatmap-panel-fullscreen .market-panel-header{min-height:66px;padding:14px 18px}.heatmap-panel-fullscreen .treemap-chart{flex:1 1;min-height:0;height:auto!important}.heatmap-panel-fullscreen>.heatmap-state{flex:1 1;min-height:0}.heatmap-fullscreen-hint{position:absolute;top:78px;left:50%;z-index:3;transform:translateX(-50%);padding:8px 14px;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:#fff;background:rgba(30,41,59,.78);box-shadow:0 6px 18px rgba(15,23,42,.18);font-size:12px;pointer-events:none;animation:heatmapFullscreenHintIn .2s ease}@keyframes heatmapFullscreenHintIn{0%{opacity:0;transform:translate(-50%,-4px)}to{opacity:1;transform:translate(-50%)}}.heatmap-metric-switch,.information-scene-switch{display:inline-flex;padding:3px;border-radius:9px;background:var(--surface-muted)}.heatmap-metric-switch button,.information-scene-switch a{border:0;border-radius:7px;padding:6px 9px;background:transparent;color:var(--muted);font-size:11px;cursor:pointer}.heatmap-metric-switch button.active,.information-scene-switch a.active{color:var(--primary);background:var(--surface);box-shadow:0 1px 4px rgba(16,24,40,.08);font-weight:650}.information-scene-switch{margin:0 0 16px}.discover-top-bar .information-scene-switch{margin:0 0 0 12px;flex-shrink:0}.treemap-chart{width:100%;min-height:240px}.treemap-chart-clickable{cursor:pointer}.heatmap-page{display:grid;grid-gap:20px;gap:20px}.industry-drilldown-overlay{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(15,23,42,.5);animation:overlayFadeIn .15s ease}.industry-drilldown-modal{width:min(560px,94vw);max-height:min(420px,90vh);overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 24px 70px rgba(15,23,42,.24);animation:dialogSlideIn .2s ease}.industry-drilldown-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--line)}.industry-drilldown-header h2{margin:0;color:var(--text);font-size:17px}.industry-drilldown-header p{margin:4px 0 0;color:var(--text-tertiary);font-size:12px}.industry-drilldown-header button{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:8px;color:var(--muted);background:transparent;cursor:pointer}.industry-drilldown-header button:hover{color:var(--text);background:var(--surface-muted)}.industry-drilldown-content{padding:14px}.industry-drilldown-state{min-height:260px;display:flex;align-items:center;justify-content:center;gap:9px;color:var(--muted);font-size:13px}.industry-drilldown-state.error{color:var(--danger)}@media (max-width:720px){.industry-drilldown-overlay{padding:12px}.industry-drilldown-content{padding:8px}.industry-drilldown-content .treemap-chart,.industry-drilldown-state{min-height:260px;height:260px!important}}.heatmap-state{min-height:286px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-size:13px}.heatmap-state button{display:flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:8px;padding:7px 10px;color:var(--primary);background:var(--surface);cursor:pointer}.heatmap-tooltip{min-width:168px;overflow:hidden;border:1px solid #dfe7f4;border-radius:12px;background:rgba(248,250,254,.8);box-shadow:0 10px 28px rgba(50,74,112,.14);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:heatmapTooltipIn .2s ease-out}@keyframes heatmapTooltipIn{0%{opacity:0}to{opacity:1}}.heatmap-tooltip-title{padding:9px 11px 8px;color:var(--text);background:rgba(237,242,254,.82);font-size:13px;font-weight:700}.heatmap-tooltip-content{display:grid;grid-gap:5px;gap:5px;padding:9px 11px 10px;background:rgba(248,250,254,.78)}.heatmap-tooltip-content span{color:#596579;font-size:12px}.dashboard-feed-title{display:flex;align-items:center;gap:9px}.dashboard-feed-title>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;color:var(--primary);background:var(--primary-tint)}.dashboard-feed-header-actions{display:flex;align-items:center;gap:12px}.dashboard-feed-header-actions .dashboard-briefing-link{padding:4px 8px;border-radius:6px;background:var(--primary-tint);font-size:11px}.dashboard-feed-header-actions .dashboard-briefing-link:hover{background:#d5e0ff}.dashboard-feed-panel{padding-bottom:5px}.dashboard-feed-list-wrap{position:relative;display:flex;flex-direction:column;max-height:448px;overflow:hidden}.dashboard-feed-list-wrap:after{content:"";position:absolute;left:0;right:0;bottom:0;height:36px;background:linear-gradient(to bottom,rgba(255,255,255,0),var(--surface) 90%);pointer-events:none;z-index:1;opacity:0;transition:opacity .25s ease}.dashboard-feed-list-wrap.has-more-below:after{opacity:1}.dashboard-feed-list{flex:1 1;min-height:0;overflow:auto;scroll-behavior:smooth;overscroll-behavior:auto;scrollbar-gutter:stable}.dashboard-feed-list::-webkit-scrollbar{width:4px}.dashboard-feed-list::-webkit-scrollbar-track{background:transparent}.dashboard-feed-list::-webkit-scrollbar-thumb{background:rgba(0,0,0,.08);border-radius:2px}.dashboard-feed-list::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.16)}.dashboard-feed-item{display:block;padding:12px 15px;border-bottom:1px solid var(--line)}.dashboard-feed-item:last-child{border-bottom:0}.dashboard-feed-item:hover{background:#fbfcff}.dashboard-feed-meta{display:flex;align-items:center;gap:7px;color:var(--text-tertiary);font-size:10px}.dashboard-feed-meta span{color:var(--primary);font-weight:650}.dashboard-feed-meta em{margin-left:auto;color:var(--warning);font-style:normal}.dashboard-feed-item h3{margin:6px 0 0;font-size:13px;line-height:1.45}.dashboard-feed-item h3,.dashboard-feed-item p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.dashboard-feed-item p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.dashboard-feed-tags{margin-top:7px;display:flex;flex-wrap:wrap;gap:5px}.dashboard-feed-tags span{display:inline-flex;align-items:center;min-height:19px;padding:2px 7px;border:1px solid #e5ebf5;border-radius:999px;background:#f5f8fd;color:#7d899b;font-size:9px;font-weight:500;line-height:1.2}.dashboard-feed-empty{min-height:220px;padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:12px;text-align:center}.dashboard-feed-empty a{color:var(--primary);font-weight:650}.compact-watchlist{height:100%;min-height:360px;display:flex;flex-direction:column;background:var(--surface);container-type:inline-size}.compact-watchlist-dashboard{flex:0 1 auto;height:auto;min-height:0;align-self:stretch;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 8px 30px rgba(32,49,84,.04)}.compact-watchlist-dashboard .compact-watchlist-list{flex:1 1;min-height:0;overflow-y:auto}.compact-watchlist-dashboard>.compact-watchlist-add,.compact-watchlist-dashboard>.compact-watchlist-footer,.compact-watchlist-dashboard>.compact-watchlist-groups,.compact-watchlist-dashboard>.compact-watchlist-header{flex-shrink:0}.compact-watchlist-sidebar{position:-webkit-sticky;position:sticky;top:64px;height:calc(100vh - 64px)}.compact-watchlist-header{min-height:66px;padding:14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.compact-watchlist-header>div:first-child{display:grid;grid-gap:3px;gap:3px}.compact-watchlist-switcher{max-width:132px;display:inline-flex;align-items:center;justify-self:start;gap:3px;margin-left:-6px;padding:3px 6px;border:0;border-radius:7px;color:var(--text);background:transparent;font-size:15px;font-weight:700;cursor:pointer;transition:background-color .12s ease,color .12s ease}.compact-watchlist-switcher>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-watchlist-switcher>svg{flex-shrink:0;color:var(--muted);transition:transform .16s ease,color .12s ease}.compact-watchlist-switcher:hover{color:var(--primary);background:var(--surface-muted)}.compact-watchlist-switcher[aria-expanded=true]{color:var(--primary);background:var(--primary-tint)}.compact-watchlist-switcher[aria-expanded=true]>svg{color:var(--primary);transform:rotate(180deg)}.compact-watchlist-header .compact-watchlist-switcher>span{color:inherit;font-size:inherit}.compact-watchlist-switcher:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.anchored-popover.compact-watchlist-switcher-menu{width:132px}.anchored-popover.compact-watchlist-add-menu{width:210px}.anchored-popover.compact-watchlist-add-menu .popover-option,.anchored-popover.compact-watchlist-switcher-menu .popover-option{gap:7px;padding:7px 8px}.anchored-popover.compact-watchlist-add-menu .popover-option-copy small{font-size:10px;line-height:1.5;margin-top:1px}.compact-watchlist-header strong{font-size:15px}.compact-watchlist-header span{color:var(--text-tertiary);font-size:11px}.compact-watchlist-header-actions{display:flex;gap:3px}.compact-icon-button{width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:7px;color:var(--muted);background:transparent;cursor:pointer}.compact-icon-button:hover{color:var(--primary);background:var(--surface-muted)}.compact-watchlist-header-actions .compact-icon-button[aria-expanded=true]{color:var(--primary);background:var(--primary-tint)}.compact-icon-button.danger:hover{color:var(--danger)}.compact-watchlist-groups{padding:9px 12px;border-bottom:1px solid var(--line);overflow:hidden}.compact-watchlist-groups-scroll{display:flex;align-items:center;gap:5px;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-padding-inline:0}.compact-watchlist-groups-scroll::-webkit-scrollbar{display:none}.compact-watchlist-groups-scroll button{border:0;padding:5px 8px;border-radius:6px;color:var(--muted);background:transparent;white-space:nowrap;font-size:11px;cursor:pointer;flex:0 0 auto}.compact-watchlist-groups-scroll button.active{color:var(--primary);background:var(--primary-tint)}.compact-watchlist-add{padding:10px;border-bottom:1px solid var(--line)}.compact-watchlist-search{display:flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;color:var(--text-tertiary)}.compact-watchlist-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;font-size:12px}.compact-watchlist-search-close{flex:0 0 auto;width:18px;height:18px;display:grid;place-items:center;border:0;border-radius:5px;color:var(--muted);background:transparent;cursor:pointer}.compact-watchlist-search-close:hover{color:var(--primary);background:var(--surface-muted)}.compact-watchlist-search-close:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.compact-watchlist-results{display:grid;margin-top:6px;max-height:220px;overflow:auto}.compact-watchlist-results>button{border:0;padding:7px;display:flex;align-items:center;justify-content:space-between;background:transparent;cursor:pointer;text-align:left}.compact-watchlist-results>button:hover{background:var(--surface-muted)}.compact-watchlist-results span{display:grid}.compact-watchlist-results strong{font-size:11px}.compact-watchlist-results small{color:var(--text-tertiary);font-size:9px}.compact-watchlist-results em{color:var(--primary);font-size:10px;font-style:normal}.compact-watchlist-hint{display:block;padding:12px;text-align:center;color:var(--muted);font-size:11px}.compact-watchlist-list{flex:1 1;min-height:0;overflow:auto;overscroll-behavior-y:auto}.compact-watchlist-row{min-height:62px;padding:8px 6px 8px 11px;display:grid;grid-template-columns:minmax(58px,76px) 48px minmax(40px,1fr) 26px;align-items:center;grid-gap:2px;gap:2px;border-bottom:1px solid var(--line)}.compact-watchlist-row:last-child{border-bottom:0}.compact-watchlist-stock{min-width:0;display:grid;grid-gap:2px;gap:2px}.compact-watchlist-stock strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.compact-watchlist-stock>span{color:var(--text-tertiary);font-size:9px}.compact-watchlist-quote{display:grid;justify-items:end;grid-gap:2px;gap:2px;font-size:11px}.compact-watchlist-quote span{color:var(--muted);font-size:10px}.compact-watchlist-quote .is-up{color:var(--stock-up)}.compact-watchlist-quote .is-down{color:var(--stock-down)}.compact-watchlist-quote.is-neutral span,.compact-watchlist-quote.is-neutral strong{color:#64748B!important}.compact-watchlist-sparkline{width:48px;height:25px;display:flex;align-items:center}.compact-watchlist-sparkline svg{width:100%;height:25px;overflow:visible}.compact-watchlist-sparkline.empty svg path{fill:none;stroke:#cbd5e1;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:2 2}.compact-watchlist-more{width:26px;height:28px}.compact-watchlist-action-menu{position:fixed;z-index:220;width:148px;max-height:calc(100vh - 16px);overflow-y:auto;padding:5px;border:1px solid rgba(221,228,239,.95);border-radius:10px;background:rgba(255,255,255,.98);box-shadow:0 12px 30px rgba(31,45,72,.16),0 2px 7px rgba(31,45,72,.07);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.compact-watchlist-action-menu a,.compact-watchlist-action-menu button{width:100%;min-height:32px;padding:7px 9px;border:0;border-radius:7px;display:flex;align-items:center;gap:8px;color:#536176;background:transparent;font-size:11px;text-align:left;cursor:pointer}.compact-watchlist-action-menu a:hover,.compact-watchlist-action-menu button:hover{color:var(--primary);background:var(--primary-tint)}.compact-watchlist-action-menu button:disabled{opacity:.45;cursor:default}.compact-watchlist-action-menu button:disabled:hover{color:inherit;background:transparent}.compact-watchlist-action-menu button.danger{color:#c84b5f}.compact-watchlist-action-menu button.danger:hover{color:#b93349;background:#fff1f3}.compact-watchlist-action-divider{height:1px;margin:4px 6px;background:var(--line)}@container (max-width: 190px){.compact-watchlist-row{min-height:66px;padding:7px 5px 7px 9px;grid-template-columns:minmax(48px,1fr) 40px 24px;grid-template-rows:auto auto;column-gap:2px;row-gap:1px}.compact-watchlist-stock{grid-column:1;grid-row:1}.compact-watchlist-sparkline{width:40px;grid-column:2;grid-row:1/span 2}.compact-watchlist-quote{grid-column:1;grid-row:2;display:flex;align-items:center;justify-content:flex-start;gap:5px}.compact-watchlist-more{width:24px;grid-column:3;grid-row:1/span 2}}.compact-watchlist-empty{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:11px;text-align:center}.compact-watchlist-empty button{border:0;color:var(--primary);background:transparent;cursor:pointer}.compact-watchlist-footer{padding:8px;display:grid;grid-template-columns:1fr 1fr;grid-gap:5px;gap:5px;border-top:1px solid var(--line)}.compact-watchlist-footer button{min-width:0;border:1px solid var(--line);border-radius:7px;padding:7px 4px;display:flex;align-items:center;justify-content:center;gap:4px;color:var(--muted);background:var(--surface);font-size:10px;cursor:pointer}.compact-watchlist-footer button:hover{color:var(--primary);border-color:var(--primary-light)}@media (max-width:1180px){.dashboard-page{grid-template-columns:minmax(0,3fr) minmax(210px,1fr)}.dashboard-two-column{grid-template-columns:1fr}}@media (max-width:860px){.nav-list{grid-template-columns:repeat(4,1fr)}.main-workspace{display:block}.watchlist-side-panel{display:none}.topbar.has-dashboard-nav{padding-left:10px;padding-right:10px;gap:8px}.topbar.has-dashboard-nav .topbar-title{display:none}.dashboard-nav-inline{margin-left:0;gap:10px;overflow-x:auto}.dashboard-nav{gap:14px;flex:0 0 auto}.dashboard-data-note{font-size:9px}.dashboard-page,.dashboard-two-column{grid-template-columns:1fr}.compact-watchlist-dashboard{min-height:0}}.company-icon{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;overflow:hidden;border-radius:5px;background:var(--surface-muted);color:var(--text-secondary);border:1px solid var(--line);font-size:12px;font-weight:600;line-height:1;vertical-align:middle}.company-icon.company-icon-image{background:#f3f4f6;border-color:#d7dce4;opacity:.9}.company-icon img{display:block;width:100%;height:100%;object-fit:contain;padding:2px;filter:saturate(.8)!important}html[data-theme=dark] .company-icon.company-icon-image{opacity:.78}.information-item-read .news-title,.information-item-read .radar-card-title,.information-item-read.dashboard-feed-item h3,.information-title-read,.material-read .material-title{color:var(--information-read-title)}.model-switcher{position:relative;display:inline-flex}.model-switcher-btn{display:inline-flex;align-items:center;gap:5px;max-width:180px;padding:5px 12px;border-radius:999px;border:none;background:#ffffff;box-shadow:0 1px 3px rgba(30,41,82,.06),0 0 0 1px rgba(30,41,82,.03);color:#334155;font-size:11px;font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;transition:box-shadow .15s ease,background .15s ease}.model-switcher-btn:hover{background:#f8fafc;box-shadow:0 1px 4px rgba(30,41,82,.1),0 0 0 1px rgba(30,41,82,.05)}.model-switcher-btn:disabled{cursor:not-allowed;opacity:.6}.model-switcher-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.model-switcher-btn svg{flex-shrink:0}.model-switcher-chev-open{transform:rotate(180deg);transition:transform .15s ease}.list{display:grid;grid-gap:10px;gap:10px}.list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.list-row:last-child{border-bottom:0}.width-auto{width:880px;margin:0 auto}.profile-page{display:grid;grid-gap:22px;gap:22px;width:100%;max-width:880px;margin:0 auto}.profile-card{position:relative;isolation:isolate;display:grid;grid-template-columns:auto minmax(160px,1fr) minmax(360px,420px);align-items:center;grid-gap:22px;gap:22px;overflow:hidden;padding:25px 28px;border:1px solid rgba(216,224,237,.88);border-radius:18px;background:radial-gradient(circle at 94% -34%,rgba(88,119,211,.105),transparent 35%),radial-gradient(circle at 2% 110%,rgba(37,99,235,.065),transparent 35%),var(--surface);box-shadow:0 14px 38px rgba(35,49,77,.07),0 2px 7px rgba(35,49,77,.035)}.profile-card:after{position:absolute;z-index:-1;top:-66px;right:-52px;width:178px;height:178px;border:1px solid rgba(72,111,207,.11);border-radius:50%;content:"";pointer-events:none}.profile-avatar{width:76px;height:76px;flex:0 0 auto;display:grid;place-items:center;border:1px solid rgba(115,143,214,.16);border-radius:50%;background:linear-gradient(145deg,#e8efff,#f3f0ff);box-shadow:0 8px 22px rgba(56,84,151,.11),inset 0 1px 0 rgba(255,255,255,.92);color:var(--primary);overflow:hidden}.profile-avatar img{width:66px;height:66px;object-fit:contain}.profile-card-info{flex:1 1;min-width:0}.profile-card-info h2{margin:0;color:var(--text);font-size:23px;line-height:1.25;font-weight:760;letter-spacing:-.025em}.profile-card-info p{margin:4px 0 0;color:var(--muted);font-size:14px}.profile-edit-link{display:inline-flex;min-height:27px;align-items:center;padding:3px 9px;border-radius:8px;background:rgba(231,239,255,.72);font-size:12px;font-weight:650;color:var(--primary);text-decoration:none;transition:background .16s ease,color .16s ease}.profile-edit-link:hover{background:var(--primary-tint);color:#0e4bd3}.profile-edit-entry{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:6px}.profile-completion-reward-badge{display:inline-flex;align-items:center;padding:2px 7px;border:1px solid #fed7aa;border-radius:999px;background:#fff7ed;color:#b45309;font-size:10px;font-weight:600;line-height:1.45;white-space:nowrap}.profile-account-panel{min-width:0;padding:12px;border:1px solid rgba(146,168,222,.22);border-radius:16px;background:linear-gradient(145deg,rgba(246,249,255,.98),rgba(238,244,255,.76));box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 8px 20px rgba(37,70,137,.045)}.profile-points{display:flex;min-height:45px;align-items:center;justify-content:flex-start;gap:7px;padding:5px 8px 8px}.profile-points-panel{display:grid;min-width:0;grid-gap:9px;gap:9px;flex-shrink:0}.profile-points-actions{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr) minmax(0,.68fr);align-items:center;grid-gap:8px;gap:8px}.profile-points-icon{color:#D97706;flex-shrink:0}.profile-points-value{font-size:24px;font-weight:770;color:var(--primary);line-height:1.2;letter-spacing:-.025em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.profile-points-label{color:var(--muted);font-size:11px;font-weight:540}.profile-points-unit{color:#73819a;font-size:11px;font-weight:540}.profile-invite-points-btn,.profile-recharge-btn{display:inline-flex;align-items:center;justify-content:center;flex:1 1;gap:5px;min-height:37px;padding:6px 10px;font-size:11px;font-weight:680;border-radius:10px;cursor:pointer;white-space:nowrap;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease,color .16s ease}.profile-recharge-btn{color:#FFFFFF;border:1px solid #2663e5;background:linear-gradient(135deg,#2869ED,#1757D5);box-shadow:0 6px 14px rgba(21,93,252,.17),inset 0 1px 0 rgba(255,255,255,.18)}.profile-recharge-btn:hover{border-color:#174FC7;background:linear-gradient(135deg,#1F5FDB,#144CC0);box-shadow:0 8px 18px rgba(21,93,252,.22);transform:translateY(-1px)}.profile-invite-points-btn{color:var(--primary);border:1px solid color-mix(in srgb,var(--primary) 34%,var(--line));background:color-mix(in srgb,var(--primary) 4%,var(--surface));box-shadow:0 4px 12px rgba(37,70,137,.035);text-decoration:none}.profile-invite-points-btn:hover{color:var(--primary-hover);border-color:color-mix(in srgb,var(--primary) 58%,var(--line));background:var(--primary-tint);box-shadow:0 7px 16px rgba(37,70,137,.08);transform:translateY(-1px)}.profile-invite-points-btn:active,.profile-recharge-btn:active{transform:translateY(0)}.profile-invite-points-btn:focus-visible,.profile-logout-btn:focus-visible,.profile-recharge-btn:focus-visible{outline:3px solid rgba(37,99,235,.16);outline-offset:2px}.profile-recharge-dialog .dialog-message{margin-bottom:12px}.profile-recharge-qr{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:14px}.profile-recharge-qr img{display:block;border-radius:8px}.profile-recharge-qr span{color:var(--muted);font-size:12px}.profile-points-email-contact{display:flex;align-items:center;gap:10px;width:100%;margin-bottom:18px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;color:var(--text);background:var(--surface-muted);text-decoration:none;cursor:pointer;transition:border-color .15s ease,background .15s ease}.profile-points-email-contact:hover{border-color:var(--primary);background:var(--primary-tint)}.profile-points-email-icon{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:9px;color:var(--primary);background:var(--primary-tint)}.profile-points-email-copy{display:grid;grid-gap:2px;gap:2px;min-width:0;flex:1 1}.profile-points-email-copy strong{font-size:13px;font-weight:600}.profile-points-email-copy span{color:var(--muted);font-size:12px}.profile-backup-dialog .dialog-message{margin-bottom:12px}.profile-backup-note{display:grid;grid-gap:6px;gap:6px;margin-bottom:20px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-muted);color:var(--muted);font-size:12px;line-height:1.5}.profile-backup-note strong{color:var(--text-secondary)}.profile-backup-note code{overflow-wrap:anywhere;color:var(--text);font-size:11px}.profile-backup-options{display:grid;grid-gap:9px;gap:9px;margin:14px 0 0;padding:12px 14px;border:1px solid var(--border-color);border-radius:10px}.profile-backup-options legend{padding:0 5px;color:var(--text-secondary);font-size:12px}.profile-backup-options label{display:flex;align-items:center;gap:9px;color:var(--text-primary);font-size:13px;cursor:pointer}.profile-logout-btn{display:inline-flex;align-items:center;gap:6px;min-width:0;min-height:37px;justify-content:center;padding:7px 9px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 5px 14px rgba(35,49,77,.035);color:var(--text-secondary);font-size:13px;font-weight:580;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease,color .16s ease;flex-shrink:0}.profile-logout-btn-standalone{width:100%}.profile-logout-btn:hover{background:color-mix(in srgb,var(--danger) 7%,var(--surface));border-color:rgba(239,68,68,.45);color:var(--danger);box-shadow:0 7px 17px rgba(220,38,38,.075);transform:translateY(-1px)}.profile-logout-btn:active{transform:translateY(0)}.profile-nav-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:14px;gap:14px}@media (max-width:1024px){.profile-nav-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){.profile-page{gap:16px}.profile-card{grid-template-columns:auto minmax(0,1fr);gap:12px;padding:16px}.profile-avatar{width:56px;height:56px}.profile-avatar img{width:48px;height:48px}.profile-card-info h2{overflow-wrap:anywhere;font-size:19px}.profile-account-panel{grid-column:1/-1;width:100%;min-width:0}.profile-points{padding-inline:10px}.profile-points-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.profile-invite-points-btn,.profile-recharge-btn{min-width:0;min-height:40px;padding:6px 8px;white-space:normal;text-align:center}.profile-logout-btn{justify-content:center;grid-column:1/-1}}@media (max-width:640px){.profile-nav-grid{grid-template-columns:1fr;gap:12px}}.profile-nav-card{position:relative;grid-column:span 2;display:flex;min-height:104px;align-items:center;gap:14px;overflow:hidden;padding:20px 19px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(145deg,var(--surface) 0,var(--surface) 70%,var(--surface-muted) 100%);box-shadow:0 7px 22px rgba(35,49,77,.035);text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;cursor:pointer;width:100%;text-align:left;font:inherit}.profile-nav-card.profile-nav-card-wide{grid-column:span 3}@media (max-width:1024px){.profile-nav-card,.profile-nav-card.profile-nav-card-wide{grid-column:auto}}.profile-nav-card:hover{border-color:var(--primary-light);box-shadow:0 12px 28px rgba(33,69,145,.09);transform:translateY(-2px)}.profile-nav-icon{width:46px;height:46px;flex:0 0 auto;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--primary) 16%,var(--line));border-radius:13px;background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 13%,var(--surface)),color-mix(in srgb,#8b5cf6 10%,var(--surface)));box-shadow:inset 0 1px 0 color-mix(in srgb,var(--surface) 80%,transparent);color:var(--primary)}.profile-nav-body{flex:1 1;min-width:0}.profile-nav-body h3{margin:0;color:var(--text);font-size:15px;font-weight:680;line-height:1.35}.profile-nav-body p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.profile-nav-arrow{color:var(--text-disabled);flex-shrink:0;margin-left:auto;transition:transform .2s,color .2s}.profile-nav-card:hover .profile-nav-arrow{transform:translateX(2px);color:var(--primary)}.profile-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:16px;border-top:1px solid var(--line)}.profile-footer-links,.profile-footer-meta{display:inline-flex;align-items:center}.profile-footer-meta{gap:14px}.profile-footer-links{gap:12px}.profile-footer-link{color:var(--text-disabled);font-size:12px;text-decoration:none;transition:color .15s ease}.profile-footer-link:hover{color:var(--muted)}.profile-deactivate{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--muted);font-size:13px;font-weight:500;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.profile-deactivate:hover{border-color:var(--danger);color:var(--danger);background:#FFF5F5}.profile-version{color:var(--text-disabled);font-size:12px}@media (max-width:640px){.profile-nav-card{grid-column:auto;min-height:88px;padding:16px}.profile-nav-icon{width:40px;height:40px}.profile-footer{align-items:flex-start;flex-wrap:wrap}.profile-footer-meta{align-items:flex-end;flex-direction:column;gap:6px}}.profile-edit-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:80px 0;color:var(--muted);font-size:14px}.profile-edit-title{margin:0 0 20px;font-size:20px;font-weight:700;color:var(--text)}.profile-edit-title-user{margin-bottom:0}.profile-edit-page{max-width:560px;margin:0 auto;display:grid;grid-gap:20px;gap:20px}.profile-edit-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;display:grid;grid-gap:22px;gap:22px}.profile-edit-field{display:grid;grid-gap:8px;gap:8px}.profile-edit-label{font-size:13px;font-weight:600;color:var(--text-secondary);letter-spacing:.02em}.profile-edit-required{color:var(--danger);margin-left:2px}.profile-edit-input{height:44px;padding:0 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);font-size:15px;color:var(--text);outline:none;transition:border-color .15s;font-family:inherit}.profile-edit-input:focus{border-color:var(--primary)}.profile-edit-input::placeholder{color:var(--text-disabled)}.birthday-picker{position:relative}.birthday-trigger{display:flex;align-items:center;gap:8px;height:44px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);font-size:15px;color:var(--text);outline:none;cursor:pointer;transition:border-color .15s,box-shadow .15s;font-family:inherit;width:100%;text-align:left}.birthday-trigger .lucide-calendar{flex-shrink:0;color:var(--text-disabled)}.birthday-trigger span{flex:1 1;min-width:0}.birthday-trigger:after{content:"";flex-shrink:0;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--text-disabled);transition:transform .15s}.birthday-trigger:hover{border-color:#CBD5E1}.birthday-trigger.active,.birthday-trigger:focus{border-color:var(--primary)}.birthday-trigger.active:after{transform:rotate(180deg)}.birthday-placeholder{color:var(--text-disabled)}.birthday-popover{top:calc(100% + 6px);left:0;z-index:1000;border:1px solid var(--line);border-radius:14px;box-shadow:0 0 0 1px rgba(0,0,0,.03),0 4px 6px -1px rgba(0,0,0,.06),0 12px 24px -4px rgba(0,0,0,.1);padding:8px;animation:birthdayPopoverIn .18s cubic-bezier(.16,1,.3,1)}.birthday-popover,.birthday-popover:before{position:absolute;background:var(--surface)}.birthday-popover:before{content:"";top:-6px;left:20px;width:12px;height:12px;border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg);border-radius:2px 0 0 0}@keyframes birthdayPopoverIn{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}[data-birthday-picker] .rdp-root{--rdp-accent-color:#2563EB;--rdp-accent-background-color:rgba(37,99,235,0.08);--rdp-day-height:40px;--rdp-day-width:40px;--rdp-day_button-height:36px;--rdp-day_button-width:36px;--rdp-day_button-border-radius:50%;--rdp-day_button-border:2px solid transparent;--rdp-selected-border:2px solid var(--rdp-accent-color);--rdp-nav-height:2.25rem;--rdp-nav_button-height:2rem;--rdp-nav_button-width:2rem;--rdp-animation_duration:0.15s;--rdp-weekday-opacity:1;--rdp-outside-opacity:0.35;font-family:inherit;font-size:13px;padding:8px}[data-birthday-picker] .rdp-month_caption,[data-birthday-picker] .rdp-nav{display:none}.ym-caption{justify-content:space-between;padding:8px 4px 6px;border-bottom:1px solid var(--line);margin-bottom:4px}.ym-caption,.ym-nav-btn{display:flex;align-items:center}.ym-nav-btn{justify-content:center;width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .12s,color .12s;flex-shrink:0}.ym-nav-btn:hover:not(:disabled){background:#F1F5F9;color:var(--text)}.ym-nav-btn:disabled{opacity:.3;cursor:not-allowed}.ym-caption-center{display:flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:4px 10px;border-radius:8px;transition:background .12s}.ym-caption-center:hover{background:#F8FAFC}.ym-caption-text{font-size:15px;font-weight:600;color:var(--text);letter-spacing:.3px}.ym-caption-arrow{font-size:10px;color:var(--text-disabled);transition:transform .15s}.ym-panel{width:296px}.ym-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 4px 8px;border-bottom:1px solid var(--line)}.ym-back{background:none;border:none;color:var(--primary);font-size:13px;font-weight:500;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .12s;font-family:inherit}.ym-panel-title{font-size:14px;font-weight:600;color:var(--text)}.ym-panel-body{display:grid;grid-template-columns:1fr 1fr;grid-gap:0;gap:0;padding:8px 0}.ym-years{max-height:252px;overflow-y:auto;padding:4px 8px 4px 4px;border-right:1px solid var(--line)}.ym-years::-webkit-scrollbar{width:3px}.ym-years::-webkit-scrollbar-track{background:transparent}.ym-years::-webkit-scrollbar-thumb{background:#E2E8F0;border-radius:2px}.ym-year{display:block;width:100%;padding:8px 12px;border:none;border-radius:8px;background:transparent;color:var(--text);font-size:14px;font-weight:400;cursor:pointer;text-align:left;transition:background .1s,color .1s;font-family:inherit}.ym-year:hover{background:#F1F5F9}.ym-year.active{background:var(--primary);color:#fff;font-weight:600}.ym-months{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:4px;gap:4px;padding:4px 4px 4px 8px;align-content:start}.ym-month{padding:10px 4px;border:none;border-radius:8px;background:transparent;color:var(--text);font-size:13px;font-weight:400;cursor:pointer;text-align:center;transition:background .1s,color .1s;font-family:inherit}.ym-month:hover:not(:disabled){background:#F1F5F9}.ym-month:disabled{opacity:.3;cursor:not-allowed}.ym-month.active{background:var(--primary);color:#fff;font-weight:600}[data-birthday-picker] .rdp-months{min-width:280px}[data-birthday-picker] .rdp-weekday{font-size:12px;font-weight:500;color:#94A3B8;padding-bottom:2px}[data-birthday-picker] .rdp-day_button{font-weight:400;font-size:13px;transition:background .12s,color .12s,transform .1s}[data-birthday-picker] .rdp-day_button:hover:not(:disabled){background:#F1F5F9}[data-birthday-picker] .rdp-day_button:focus-visible{outline:2px solid var(--rdp-accent-color);outline-offset:1px}[data-birthday-picker] .rdp-day.rdp-day_selected .rdp-day_button{background:var(--rdp-accent-color);color:#fff;font-weight:600;box-shadow:0 2px 8px rgba(37,99,235,.3)}[data-birthday-picker] .rdp-day.rdp-day_selected .rdp-day_button:hover{background:#1D4ED8}[data-birthday-picker] .rdp-day.rdp-day_today:not(.rdp-day_selected) .rdp-day_button{font-weight:600;color:var(--rdp-accent-color);position:relative}[data-birthday-picker] .rdp-day.rdp-day_today:not(.rdp-day_selected) .rdp-day_button:after{content:"";position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:var(--rdp-accent-color)}[data-birthday-picker] .rdp-day.rdp-day_outside{opacity:.35}.profile-edit-gender-group{display:flex;gap:10px}.profile-edit-gender-btn{flex:1 1;height:40px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.profile-edit-gender-btn:hover{border-color:var(--primary-light);color:var(--primary)}.profile-edit-gender-btn.active{background:var(--primary-tint);border-color:var(--primary);color:var(--primary);font-weight:600}.profile-edit-textarea{padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);font-size:14px;color:var(--text);outline:none;resize:vertical;transition:border-color .15s;font-family:inherit;line-height:1.6}.profile-edit-textarea:focus{border-color:var(--primary)}.profile-edit-textarea::placeholder{color:var(--text-disabled)}.profile-edit-counter{justify-self:end;font-size:11px;color:var(--text-disabled)}.profile-edit-save-btn{display:flex;align-items:center;justify-content:center;gap:8px;height:50px;border:none;border-radius:10px;background:var(--primary);color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .2s}.profile-edit-save-btn:hover:not(:disabled){opacity:.9}.profile-edit-save-btn:disabled{background:var(--text-disabled);cursor:not-allowed;opacity:.6}.profile-edit-reward-card{background:#FFFDFB;border:1px solid #fed7aa;border-radius:var(--radius);padding:20px 24px;display:grid;grid-gap:12px;gap:12px}.profile-edit-reward-card.claimed{background:#F0FDF4;border-color:#BBF7D0}.profile-edit-reward-header{display:flex;align-items:center;gap:8px}.profile-edit-reward-title{font-size:15px;font-weight:600;color:var(--text)}.profile-edit-reward-desc{margin:0;font-size:13px;color:var(--text-secondary);line-height:1.5}.profile-edit-reward-desc strong{color:#B45309;font-weight:700}.profile-edit-reward-card.claimed .profile-edit-reward-desc strong{color:#15803D}.profile-edit-reward-steps{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.profile-edit-step{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500;color:#A8A29E;background:rgba(168,162,158,.1);transition:background-color .15s ease,color .15s ease}.profile-edit-step.done{color:#15803D;background:rgba(21,128,61,.08)}.profile-edit-step-sep{color:#D6D3D1;font-size:14px}.profile-edit-claimed-icon{color:#16A34A;flex-shrink:0}.profile-edit-claim-btn{display:flex;align-items:center;justify-content:center;gap:8px;height:40px;border:none;border-radius:var(--radius);background:#F59E0B;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s,opacity .15s}.profile-edit-claim-btn:hover:not(:disabled){background:#D97706}.profile-edit-claim-btn:disabled{background:var(--text-disabled);opacity:.6;cursor:not-allowed}.points-history-page{max-width:880px;margin:0 auto;padding:0 16px 32px}.points-history-empty{text-align:center;padding:64px 0;color:var(--muted);font-size:14px}.points-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.points-history-item{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--surface,#ffffff);border:1px solid var(--line,#eaeaea);border-radius:12px;gap:16px;transition:all .2s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.points-history-left{display:flex;align-items:center;gap:16px;min-width:0;flex:1 1}.points-history-info{display:flex;flex-direction:column;gap:4px}.points-history-type{font-size:15px;font-weight:600;color:var(--text,#111827);letter-spacing:-.01em}.points-history-time{font-size:13px;color:var(--muted,#6b7280);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.points-history-remark{font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.points-history-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.points-history-amount{font-size:17px;font-weight:700;letter-spacing:-.02em}.points-history-amount.positive{color:#10B981}.points-history-amount.negative{color:#EF4444}.points-history-balance{font-size:13px;color:var(--muted,#6b7280);font-weight:500}.points-tabs-container{display:flex;gap:8px;padding:4px;background:var(--bg-secondary,#f3f4f6);border-radius:12px;margin-bottom:24px;width:max-content}.points-tab-btn{padding:8px 24px;border-radius:8px;font-size:14px;font-weight:600;color:var(--muted,#6b7280);transition:all .2s ease;cursor:pointer;border:none;background:transparent}.points-tab-btn.active,.points-tab-btn:hover{color:var(--text,#111827)}.points-tab-btn.active{background:var(--surface,#ffffff);box-shadow:0 2px 8px rgba(0,0,0,.05)}.points-history-more{display:block;width:100%;margin-top:16px;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text-secondary);font-size:13px;cursor:pointer;transition:background .15s}.points-history-more:hover:not(:disabled){background:var(--surface-muted)}.points-history-more:disabled{opacity:.5;cursor:not-allowed}.about-page{max-width:880px;margin:0 auto;display:grid;grid-gap:20px;gap:20px}.about-brand{display:flex;flex-direction:column;align-items:center;padding:32px 24px 24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.about-logo-img{object-fit:contain;margin-bottom:8px}.about-version{font-size:12px;font-weight:500;color:var(--primary)}.about-section{display:grid;grid-gap:8px;gap:8px}.about-section-label{font-size:12px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:1px;margin:0;font-weight:500}.about-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.about-card-body{font-size:14px;color:var(--text-secondary);line-height:22px;margin:0}.about-feature-row{display:flex;align-items:center;gap:12px;padding:10px 0}.about-feature-icon{width:32px;height:32px;border-radius:8px;background:var(--surface-alt,#F8FAFC);display:flex;align-items:center;justify-content:center;color:var(--primary);flex-shrink:0}.about-feature-label{font-size:14px;color:var(--text-primary)}.about-feature-divider{height:1px;background:var(--line)}.about-disclaimer{background:#FFFBEB;border-color:#FDE68A}.about-disclaimer-text{font-size:13px;color:var(--text-muted);line-height:20px;margin:0}.about-contact-row{display:flex;align-items:center;gap:12px;padding:10px 0;text-decoration:none;background:none;border:none;width:100%;cursor:pointer;font:inherit;text-align:left}.about-contact-icon{width:32px;height:32px;border-radius:8px;background:var(--surface-alt,#F8FAFC);display:flex;align-items:center;justify-content:center;color:var(--primary);flex-shrink:0}.about-contact-text{display:flex;flex-direction:column;gap:1px}.about-contact-label{font-size:11px;color:var(--text-muted)}.about-contact-value{font-size:14px;color:var(--primary)}.about-footer{text-align:center;padding:16px 0 32px}.about-copyright{font-size:11px;color:var(--text-disabled)}.pwd-page{max-width:880px;margin:0 auto}.pwd-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:32px;margin-top:20px}.pwd-card-desc{margin:0 0 24px;font-size:14px;color:var(--text-tertiary)}.pwd-form{gap:20px}.pwd-field,.pwd-form{display:flex;flex-direction:column}.pwd-field{gap:6px}.pwd-label{font-size:13px;font-weight:500;color:var(--text-secondary)}.pwd-input{width:100%;height:44px;padding:0 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:14px;color:var(--text);outline:none;transition:border-color .2s;box-sizing:border-box}.pwd-input::placeholder{color:var(--text-disabled)}.pwd-input:focus{border-color:var(--primary)}.pwd-input-row{display:flex;align-items:center;border:1px solid var(--line);border-radius:8px;overflow:hidden;transition:border-color .2s}.pwd-input-row:focus-within{border-color:var(--primary)}.pwd-input-flex{flex:1 1;border:none;background:transparent;padding-right:0}.pwd-input-flex:focus{border:none}.pwd-code-btn{border:none;background:transparent;color:var(--primary);font-size:13px;font-weight:500;padding:8px 14px;cursor:pointer;white-space:nowrap;flex-shrink:0}.pwd-code-btn:disabled{color:var(--text-disabled);cursor:not-allowed}.pwd-spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--primary-tint);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.pwd-eye-btn{border:none;background:transparent;color:var(--text-tertiary);padding:8px 14px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .2s}.pwd-eye-btn:hover{color:var(--text)}.pwd-error-hint{margin:-4px 0 0;font-size:12px;color:var(--danger)}.pwd-inline-guide{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-top:4px;min-height:18px}.pwd-guide-chip{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-tertiary);transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;-moz-user-select:none;user-select:none}.pwd-guide-chip.chip-passed{color:#16a34a;font-weight:500}.pwd-guide-chip-dot{width:4px;height:4px;border-radius:50%;background:var(--text-disabled);transition:background-color .2s ease}.pwd-guide-chip.chip-passed .pwd-guide-chip-dot{background:#16a34a}.pwd-guide-chip-icon{display:inline-flex}.pwd-guide-chip-icon,.pwd-status-icon{align-items:center;justify-content:center}.pwd-status-icon{display:flex;padding:0 4px;color:#16a34a}.pwd-strength-row{display:flex;align-items:center;gap:10px}.pwd-strength-label{font-size:12px;color:var(--text-tertiary);white-space:nowrap}.pwd-strength-bars{display:flex;gap:4px;flex:1 1;height:4px}.pwd-strength-segment{flex:1 1;height:100%;border-radius:2px;background:var(--line);transition:background-color .25s ease}.pwd-strength-segment.active-weak{background:#f97316}.pwd-strength-segment.active-medium{background:#eab308}.pwd-strength-segment.active-strong{background:#22c55e}.pwd-strength-text{font-size:12px;font-weight:500;min-width:24px;text-align:right}.pwd-strength-text.strength-weak{color:#f97316}.pwd-strength-text.strength-medium{color:#eab308}.pwd-strength-text.strength-strong{color:#22c55e}.pwd-rules-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:6px 12px;gap:6px 12px}.pwd-rule-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-tertiary);transition:color .2s ease}.pwd-rule-item.valid{color:#22c55e;font-weight:500}.pwd-rule-dot{width:5px;height:5px;border-radius:50%;background:var(--text-disabled);transition:background-color .2s ease}.pwd-rule-item.valid .pwd-rule-dot{background:#22c55e}.pwd-submit-btn{width:100%;height:44px;border:none;border-radius:8px;background:var(--primary);color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .2s;margin-top:8px}.pwd-submit-btn:disabled{background:var(--text-disabled);cursor:not-allowed;opacity:.6}.pwd-submit-btn:not(:disabled):hover{opacity:.9}.pwd-submit-spinner{display:inline-block;width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.pwd-success-icon{display:flex;justify-content:center;margin-bottom:16px}.pwd-success-title{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--text);text-align:center}.pwd-success-desc{margin:0 0 24px;font-size:14px;color:var(--text-tertiary);text-align:center}.gateway-page{max-width:880px;margin:0 auto;display:grid;grid-gap:16px;gap:16px}.gateway-status-card{text-align:center;padding:32px 24px}.gateway-status-indicator{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:8px}.gateway-status-dot{width:10px;height:10px;border-radius:50%;background:var(--text-disabled)}.gateway-status-dot.ready{background:var(--accent-green);box-shadow:0 0 0 3px rgba(48,194,91,.2)}.gateway-status-dot.warning{background:var(--gold-premium);animation:pulse-dot 1.2s ease-in-out infinite}.gateway-status-dot.error{background:var(--danger)}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.5}}.gateway-status-label{font-size:18px;font-weight:700;color:var(--text)}.gateway-status-desc{margin:0 0 20px;color:var(--muted);font-size:14px}.gateway-actions{display:flex;align-items:center;justify-content:center;gap:10px}.gateway-alert{margin:0 0 16px;padding:10px 14px;border-radius:var(--radius);font-size:13px;line-height:1.55}.gw-status-desc-error{margin-top:10px;font-size:13px;color:var(--danger);text-align:center}.gateway-section{padding:0;overflow:hidden}.gateway-section-header{padding:14px 18px;border-bottom:1px solid var(--line)}.gateway-section-header h3{margin:0;color:var(--text);font-size:15px;font-weight:600}.gateway-code-panel{padding:16px 18px;display:flex;align-items:center;gap:10px}.gateway-code-panel code{min-width:0;flex:1 1;overflow:hidden;padding:10px 12px;border-radius:8px;background:var(--surface-muted);color:var(--text-secondary);font-size:13px;font-family:SF Mono,Menlo,monospace;text-overflow:ellipsis;white-space:nowrap}.gateway-copy-button{min-height:34px;padding:6px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--primary);display:inline-flex;align-items:center;gap:5px;font-size:13px;cursor:pointer;white-space:nowrap;transition:background .15s}.gateway-copy-button:hover{background:var(--surface-muted)}.gw-page{max-width:880px;margin:0 auto;display:grid;grid-gap:16px;gap:16px}.main.gateway-main{height:100vh;height:100dvh;overflow:hidden}.gateway-main .main-center,.gateway-main .main-workspace{height:100%;min-height:0}.content.gateway-content{padding:0;max-width:none}.content.gateway-content,.gw-embed-page{height:100%;width:100%;display:flex;flex-direction:column}.gw-embed-page{background:var(--bg,#f8fafc)}.gw-embed-frame,.gw-embed-page{position:relative;overflow:hidden}.gw-embed-frame{flex:1 1;width:100%;height:100%;min-height:0;border-radius:0;background:#fff;box-shadow:none}.gw-embed-iframe{width:100%;height:100%;border:0;display:block}.gw-embed-status{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#64748b;font-size:14px}.gw-embed-overlay{position:absolute;inset:0;background:#fff;z-index:1}.gw-embed-error-card{margin:auto;width:100%;max-width:400px;background:#fff;border-radius:14px;padding:28px 24px;text-align:center;box-shadow:0 4px 20px rgba(15,23,42,.08);border:1px solid var(--line,#e2e8f0)}.gw-embed-error-actions{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:16px}.gw-embed-retry{margin-top:20px;display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--line,#e2e8f0);border-radius:8px;background:#fff;color:#475569;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .15s ease,color .15s ease}.gw-embed-retry:hover{background:#f1f5f9;color:#1e293b}.gw-embed-back-link{display:inline-flex;align-items:center;padding:8px 16px;border-radius:8px;background:var(--primary,#1a67ff);color:#fff;font-size:13px;font-weight:500;text-decoration:none;transition:background-color .15s ease}.gw-embed-back-link:hover{background:var(--primary-hover,#0f52d9);color:#fff}.gw-hero{position:relative;overflow:hidden;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);padding:24px}.gw-hero-glow{position:absolute;top:-40px;right:-40px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(21,93,252,.06) 0,transparent 70%);pointer-events:none}.gw-hero-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.gw-hero-title{margin:0;font-size:20px;font-weight:700;color:var(--text)}.gw-refresh-lg{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);cursor:pointer;transition:border-color .15s,color .15s}.gw-refresh-lg:disabled{opacity:.5;cursor:not-allowed}.gw-hero-status{display:flex;align-items:center;gap:8px}.gw-hero-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.gw-hero-dot.connected{background:var(--accent-green);box-shadow:0 0 0 3px rgba(48,194,91,.18)}.gw-hero-dot.disconnected{background:var(--text-disabled)}.gw-hero-dot.offline{background:#EF4444;box-shadow:0 0 0 3px rgba(239,68,68,.18)}.gw-hero-dot.connecting{background:var(--primary);box-shadow:0 0 0 3px rgba(21,93,252,.18);animation:gw-dot-pulse 1.5s ease-in-out infinite}@keyframes gw-dot-pulse{0%,to{opacity:1}50%{opacity:.4}}.gw-hero-status-label{font-size:14px;font-weight:600;color:var(--text)}.gw-hero-status-label.offline{color:#EF4444}.gw-hero-status-label.connecting{color:var(--primary)}.gw-hero-status-sep{color:var(--text-disabled);font-size:13px}.gw-hero-status-desc{font-size:13px;color:var(--muted)}.gw-alert{margin-top:14px;padding:10px 14px;border-radius:8px;font-size:13px;color:var(--danger);background:rgba(241,74,102,.06);border:1px solid rgba(241,74,102,.12)}.gw-hero-offline{border-color:rgba(239,68,68,.12)}.gw-hero-offline .gw-hero-glow{background:radial-gradient(circle,rgba(239,68,68,.06) 0,transparent 70%)}.gw-hero-offline-body{margin-top:8px}.gw-reconnect-progress{margin-top:14px}.gw-reconnect-progress-bar{height:3px;border-radius:2px;background:rgba(21,93,252,.1);overflow:hidden}.gw-reconnect-progress-fill{height:100%;border-radius:2px;background:var(--primary);transition:width .05s linear}.gw-reconnect-progress-info{display:flex;align-items:center;justify-content:space-between;margin-top:6px}.gw-reconnect-attempt{font-size:12px;color:var(--muted)}.gw-reconnect-countdown{font-size:12px;font-weight:600;color:var(--primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:24px;margin-left:auto;text-align:right}.gw-hero-offline-actions{display:flex;align-items:center;gap:10px;margin-top:14px}.gw-hero-exhausted-hint{display:flex;color:#F59E0B}.gw-hero-exhausted-hint,.gw-retry-btn{align-items:center;gap:5px;font-size:12px}.gw-retry-btn{display:inline-flex;margin-left:auto;padding:5px 14px;border-radius:6px;border:1px solid var(--primary);background:transparent;color:var(--primary);font-weight:500;cursor:pointer;transition:background .15s,color .15s}.gw-retry-btn:hover{background:var(--primary);color:white}.gw-retry-btn-sm{padding:3px 10px;font-size:11px;margin-left:6px}.gw-metrics{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.gw-metric-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 16px;display:flex;align-items:center;gap:12px}.gw-metric-icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}.gw-metric-icon.version{background:#EEF2FF;color:#6366F1}.gw-metric-icon.uptime{background:#F0FDF4;color:#22C55E}.gw-metric-icon.devices{background:#FFF7ED;color:#F97316}.gw-metric-body{min-width:0;display:flex;flex-direction:column;gap:2px}.gw-metric-label{font-size:12px;color:var(--muted);font-weight:500;letter-spacing:.02em}.gw-metric-value{font-size:15px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gw-section{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.gw-section-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line)}.gw-section-head h3{margin:0;font-size:15px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:6px}.gw-refresh{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--muted);cursor:pointer;transition:border-color .15s,color .15s}.gw-refresh:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.gw-refresh:disabled{opacity:.5;cursor:not-allowed}.gw-agent-card{margin:12px 18px;padding:10px 14px;border-radius:8px;background:var(--surface-muted);display:flex;align-items:center;justify-content:space-between}.gw-agent-card-left{display:flex;align-items:center;gap:8px}.gw-agent-dot-sm{width:7px;height:7px;border-radius:50%;background:var(--agent-color);flex-shrink:0}.gw-agent-card-info{display:flex;align-items:center;gap:8px}.gw-agent-card-label{font-size:13px;font-weight:500;color:var(--text)}.gw-agent-card-type{font-size:11px;color:var(--muted)}.gw-agent-card-stats{display:flex;gap:14px}.gw-agent-stat{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--muted)}.gw-agent-stat strong{color:var(--text);font-weight:500}.gw-agent-stat small{color:var(--text-disabled);font-weight:400}.gw-llm-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px 16px;gap:10px 16px;width:100%}.gw-llm-item{display:flex;flex-direction:column;gap:2px}.gw-llm-label{font-size:11px;color:var(--muted)}.gw-llm-value{font-size:13px;font-weight:500;color:var(--text)}.gw-pool-bar{display:flex;gap:20px;padding:12px 18px}.gw-pool-stat{display:flex;align-items:center;gap:5px;font-size:13px;color:var(--muted)}.gw-pool-stat strong{color:var(--text);font-weight:600}.gw-adapter-list{padding:4px 18px 16px;display:grid;grid-gap:8px;gap:8px}.gw-adapter-card{background:var(--surface-muted);border-radius:10px;padding:12px 14px}.gw-adapter-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.gw-adapter-id{font-size:13px;font-weight:600;color:var(--text);font-family:SF Mono,Menlo,monospace;flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gw-adapter-badge{font-size:11px;font-weight:600;padding:2px 7px;border-radius:5px;flex-shrink:0}.gw-adapter-tags{display:flex;flex-wrap:wrap;gap:6px;margin-left:24px}.gw-tag{display:inline-flex;align-items:center;font-size:11px;font-weight:500;padding:2px 8px;border-radius:4px;background:var(--surface);color:var(--muted)}.gw-tag-green{color:#10B981;background:#ECFDF5}.gw-tag-red{color:#EF4444;background:#FEF2F2}.gw-tag-muted{color:var(--text-secondary);background:var(--surface)}.gw-tag-mono{font-family:SF Mono,Menlo,monospace;font-size:10px}.gw-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:40px;color:var(--muted);font-size:14px}.spinning{animation:spin .8s linear infinite}@media (max-width:640px){.gw-metrics{grid-template-columns:1fr}}.muted{color:var(--muted)}.article-detail{display:grid;grid-gap:18px;gap:18px}.app-detail-page{max-width:880px;margin:0 auto;padding:24px 28px 40px;min-height:100vh}.app-detail-nav{min-height:48px;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;margin-bottom:18px;color:var(--text)}.app-detail-nav strong{justify-self:center;font-size:16px;line-height:1}.app-detail-back,.app-detail-nav-action,.app-detail-nav-spacer{width:44px;height:44px}.app-detail-back{display:inline-flex;align-items:center;justify-content:flex-start;border:0;background:transparent;color:var(--text);cursor:pointer;padding:0}.app-detail-nav-action{display:inline-flex;align-items:center;justify-content:flex-end;color:var(--primary);font-size:13px;font-weight:700}.detail-shell{width:100%;max-width:none;min-width:0;margin:0;display:grid;grid-gap:16px;gap:16px;container-name:information-detail;container-type:inline-size}.detail-flash-shell{max-width:860px;margin:0 auto;gap:16px}.detail-flash-hero{padding:24px 28px}.detail-flash-body-card,.detail-flash-impact-card,.detail-flash-insight-card{padding:24px 28px;background:var(--surface);border:1px solid #f1f5f9;border-radius:16px;box-shadow:0 8px 20px rgba(100,116,139,.05)}.detail-flash-content{font-size:16px;line-height:1.8;color:var(--text)}.detail-flash-insight-card{background:#f8fafc;border-color:#e2e8f0}.detail-flash-subheading{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-secondary)}.detail-flash-section+.detail-flash-section{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.detail-flash-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.detail-body-section,.detail-hero{min-width:0;max-width:100%;background:var(--surface);border:1px solid #f1f5f9;border-radius:16px;box-shadow:0 8px 20px rgba(100,116,139,.05)}.detail-hero{padding:22px 24px}.detail-kicker{width:-moz-fit-content;width:fit-content;margin-bottom:12px;padding:4px 9px;border-radius:4px;background:var(--surface-muted);color:var(--primary);font-size:12px;font-weight:700}.detail-title{margin:0;color:var(--text);font-size:28px;line-height:1.35;font-weight:750;letter-spacing:0}.detail-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;color:var(--text-tertiary);font-size:13px}.detail-font-controls{display:inline-flex;align-items:center;gap:6px;margin-left:auto}.detail-summary-heading{min-height:30px}.detail-font-controls button{width:30px;height:30px;display:inline-grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--surface-muted);color:var(--muted);cursor:pointer;transition:color .15s ease,border-color .15s ease,background-color .15s ease}.detail-font-controls button:hover:not(:disabled){border-color:var(--primary-light);background:var(--primary-tint);color:var(--primary)}.detail-font-controls button:disabled{opacity:.35;cursor:not-allowed}.detail-font-controls .detail-share-trigger{border-color:#c8d6f3;background:#eef4ff;color:var(--primary)}.detail-ai-heading-icon{flex:0 0 auto;color:var(--primary);filter:drop-shadow(0 2px 4px rgba(21,93,252,.16))}.detail-section-heading .detail-ai-heading{display:inline-flex;align-items:center;gap:6px}.detail-meta span:not(:last-child):after{content:"";display:inline-block;width:1px;height:10px;margin-left:8px;background:#E2E8F0;vertical-align:-1px}.detail-reading-layout{display:grid;grid-template-columns:200px minmax(0,1fr) 270px;align-items:start;grid-gap:18px;gap:18px;min-width:0}.detail-information-disclaimer{margin:2px 0 0;color:var(--text-tertiary);font-size:11px;line-height:1.6;text-align:center}.detail-layout-column{min-width:0}.detail-reader-content{display:grid;grid-gap:18px;gap:18px}.detail-guide-column,.detail-impact-column{padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 8px 20px rgba(100,116,139,.05)}.detail-impact-stock-heading{margin-top:24px}.detail-guide-section+.detail-guide-section{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.detail-center-summary{min-width:0;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-muted);box-shadow:0 8px 20px rgba(100,116,139,.05)}.detail-section-heading{display:flex;align-items:center;gap:8px;margin-bottom:14px}.detail-section-mark{width:3px;height:16px;border-radius:2px;background:var(--primary)}.detail-section-heading h2{margin:0;color:var(--text);font-size:17px;line-height:1.3}.detail-guide-column .detail-section-heading h2,.detail-impact-column .detail-section-heading h2{font-size:13px}.detail-copy{color:var(--text-secondary);font-size:15px;line-height:1.85}.detail-copy p{margin:0 0 12px;white-space:pre-wrap}.detail-copy p:last-child{margin-bottom:0}.detail-analysis-copy{color:var(--text)}.detail-section-heading .detail-section-mark{display:none}.detail-section-logo{width:20px;height:20px;flex-shrink:0;object-fit:contain}.detail-text-content{position:relative}.detail-watermark{position:absolute;top:50%;left:50%;width:112px;height:auto;opacity:.1;transform:translate(-50%,-50%);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.fit-summary-list{margin:0 0 24px}.fit-summary-row{display:flex;align-items:flex-start;gap:8px;margin-bottom:10px}.fit-summary-row-last{margin-bottom:0}.fit-summary-marker{flex-shrink:0;width:18px;height:18px;border-radius:9px;background:#F3F7FF;display:flex;align-items:center;justify-content:center;margin-top:3px;font-size:10px;line-height:13px;color:var(--primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:500}.fit-summary-text{flex:1 1;font-size:14px;line-height:24px;color:var(--text-secondary)}.detail-guide-content .fit-analysis-text,.detail-guide-content .fit-empty,.detail-guide-content .fit-summary-text,.detail-scalable-summary .fit-empty,.detail-scalable-summary .fit-summary-text{font-size:var(--detail-guide-font-size,14px)}.fit-analysis-list{margin:0 0 24px}.fit-analysis-row{display:flex;align-items:flex-start;margin-bottom:8px}.fit-analysis-row-last{margin-bottom:0}.fit-analysis-followup{margin-top:8px}.fit-analysis-rail{width:12px;margin-top:9px;margin-right:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.fit-analysis-dot{width:5px;height:5px;border-radius:2.5px;background:var(--primary)}.fit-analysis-text{flex:1 1;font-size:14px;line-height:24px;color:#6D7380}.fit-analysis-followup-text,.fit-analysis-grouped{color:var(--text-secondary)}.fit-up{color:var(--stock-up)}.fit-down,.fit-up{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fit-down{color:var(--stock-down)}.fit-empty{color:var(--text-tertiary);font-size:14px;line-height:24px;margin:0}.detail-body-copy{color:var(--text-secondary);font-size:var(--detail-body-font-size,15px);line-height:1.85}.detail-reader-content .detail-body-copy .chat-answer,.detail-reader-content .detail-body-copy .chat-markdown{color:inherit;font-size:inherit;line-height:inherit}.detail-reader-content .detail-body-copy .chat-markdown h1{font-size:calc(var(--detail-body-font-size, 15px) + 6px)}.detail-reader-content .detail-body-copy .chat-markdown h2{font-size:calc(var(--detail-body-font-size, 15px) + 3px)}.detail-reader-content .detail-body-copy .chat-markdown h3{font-size:calc(var(--detail-body-font-size, 15px) + 1px)}.detail-report-html{max-width:100%;overflow-x:hidden;color:var(--text-secondary);font-size:15.5px;line-height:1.78;-webkit-user-select:text;-moz-user-select:text;user-select:text;-webkit-overflow-scrolling:touch}.detail-report-html p{margin:0 0 16px}.detail-report-html h2{margin:22px 0 12px;color:var(--text);font-size:19px;line-height:1.45;font-weight:750}.detail-report-html img{max-width:100%;height:auto}.detail-report-disclaimer,.detail-report-disclaimer h2{color:#64748B;font-size:13px;line-height:1.65}.detail-report-table-wrap{width:100%;overflow-x:auto;margin:8px 0 18px;-webkit-overflow-scrolling:touch}.detail-report-table-wrap table{min-width:100%;border-collapse:collapse;background:#FFFFFF}.detail-report-table-wrap td,.detail-report-table-wrap th{border:.5px solid rgba(0,0,0,.08);padding:10px 12px;color:var(--text-secondary);font-size:14px;line-height:1.5;text-align:left;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.detail-report-table-wrap th{background:#F8FAFC;color:var(--text);font-weight:750}.detail-report-html table{display:block;width:100%;max-width:100%;overflow-x:auto;margin:8px 0 18px;border-collapse:collapse;border-spacing:0;background:#FFFFFF;-webkit-overflow-scrolling:touch}.detail-report-html tbody,.detail-report-html tfoot,.detail-report-html thead{display:table;width:max-content;min-width:100%}.detail-report-html td,.detail-report-html th{border:.5px solid rgba(0,0,0,.08);padding:10px 12px;color:var(--text-secondary);font-size:14px;line-height:1.5;text-align:left;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.detail-report-html th{background:#F8FAFC;color:var(--text);font-weight:750}.detail-gauge-grid{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:16px}.detail-gauge-grid-announcement{justify-content:center}.detail-gauge-grid-research{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch;grid-gap:4px;gap:4px}.detail-gauge-item{width:48.5%;min-height:92px;margin-bottom:6px;padding:8px 0 10px;border-radius:16px;background:var(--surface);display:grid;place-items:center;position:relative}.detail-gauge-svg{display:block}.detail-gauge-label-box{position:absolute;bottom:9px;display:grid;justify-items:center}.detail-gauge-score{font-size:17px;line-height:1;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.detail-gauge-score.positive{color:#D75F6D}.detail-gauge-score.negative{color:var(--stock-down)}.detail-gauge-score.neutral{color:#64748B}.detail-gauge-label-box span{margin-top:-1px;color:#475569;font-size:11px;font-weight:700}.detail-gauge-grid-research .detail-gauge-item{width:auto;min-width:0;min-height:72px;margin-bottom:0;padding:4px 0 7px;border-radius:12px}.detail-gauge-grid-research .detail-gauge-svg{width:72px;height:44px}.detail-gauge-grid-research .detail-gauge-label-box{bottom:5px}.detail-gauge-grid-research .detail-gauge-score{font-size:15px}.detail-gauge-grid-research .detail-gauge-label-box span{max-width:72px;overflow:hidden;font-size:9px;line-height:1.2;text-align:center;white-space:nowrap}.detail-gauge-grid-announcement .detail-gauge-item{width:108px;min-height:76px;margin-bottom:0;padding:4px 0 7px;border-radius:12px}.detail-gauge-grid-announcement .detail-gauge-svg{width:80px;height:48px}.detail-gauge-grid-announcement .detail-gauge-label-box{bottom:5px}.detail-radar-chart{width:100%;height:220px;margin:12px 0 -4px;display:grid;place-items:center}.detail-radar-frame{width:220px;height:220px;position:relative}.detail-radar-label{position:absolute;width:82px;min-height:34px;transform:translate(-50%,-50%);display:grid;place-items:center;color:var(--text-secondary);text-align:center;pointer-events:none}.detail-radar-label span{font-size:10px;font-weight:700}.detail-radar-label strong{color:var(--primary);font-size:12px;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.detail-impact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px}.detail-impact-column .detail-impact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.detail-impact-column .detail-impact-card{min-height:0;padding:10px 4px}.detail-impact-card{min-height:176px;padding:12px;border-radius:14px;border:1px solid var(--line);background:var(--surface);display:grid;align-content:start;justify-items:center;grid-gap:8px;gap:8px;color:inherit;text-align:center}.detail-impact-card:hover{border-color:var(--primary-light);box-shadow:0 6px 16px rgba(21,93,252,.08)}.detail-impact-name{display:block;color:var(--text);font-size:12px;font-weight:750}.detail-impact-code{display:block;margin-top:2px;color:var(--text-tertiary);font-size:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.detail-impact-card p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.55}.detail-impact-arc-card{width:100%;max-width:80px;display:grid;justify-items:center;grid-gap:4px;gap:4px}.detail-impact-arc-gauge{width:62px;height:62px;position:relative}.detail-impact-arc-score{position:absolute;inset:0;display:grid;place-items:center;padding-top:8px;font-size:14px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.detail-impact-arc-score.positive{color:var(--stock-up)}.detail-impact-arc-score.negative{color:var(--stock-down)}.detail-impact-arc-score.neutral{color:var(--text-tertiary)}.detail-impact-arc-path.positive{stroke:#F7A3B1}.detail-impact-arc-path.negative{stroke:#8FE0A9}.detail-impact-arc-path.neutral{stroke:var(--text-tertiary)}.detail-impact-arc-card>span{max-width:100%;color:var(--text-secondary);font-size:12px;font-weight:700;text-align:center}.detail-industry-arc-row,.detail-industry-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.detail-impact-column .detail-industry-arc-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0;justify-content:start}.detail-industry-pill{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:4px 10px;border-radius:999px;background:var(--surface-muted);color:var(--text-secondary);font-size:12px;font-weight:650}.detail-industry-pill b{color:var(--primary)}.detail-empty-impact{min-height:72px;display:grid;place-items:center;color:var(--text-tertiary);background:var(--surface-muted);border-radius:8px;font-size:12px;padding:0 10px}.detail-body-section{padding:18px 20px}@media (max-width:1240px){.detail-reading-layout{grid-template-columns:190px minmax(0,1fr) 280px;gap:14px}}@media (max-width:980px){.detail-reading-layout{grid-template-columns:1fr}.detail-reader-content{grid-row:1}.detail-guide-column{grid-row:2}.detail-impact-column{grid-row:3}}@media (max-width:640px){.detail-hero{padding:18px}.detail-title{font-size:23px}}@container information-detail (max-width: 855px){.detail-reading-layout{grid-template-columns:200px minmax(0,1fr)}.detail-guide-column{display:none}.detail-reader-content{grid-row:1;grid-column:2}.detail-impact-column{grid-row:1;grid-column:1}}@container information-detail (max-width: 569px){.detail-reading-layout{grid-template-columns:minmax(0,1fr)}.detail-reader-content{grid-row:1;grid-column:1}.detail-impact-column{grid-row:2;grid-column:1}}.detail-body-tab-bar{gap:18px}.detail-body-tab,.detail-body-tab-bar{display:inline-flex;align-items:center}.detail-body-tab{min-height:30px;border:0;background:transparent;padding:0;color:var(--muted);font-size:15px;font-weight:700;cursor:pointer}.detail-body-tab.active,.detail-body-tab:not(.active):hover{color:var(--primary)}.detail-original-empty{min-height:120px;display:grid;place-items:center;grid-gap:12px;gap:12px;padding:24px;color:var(--muted);background:var(--surface-muted);border-radius:8px;text-align:center}.header-date{margin-top:10px;font-size:14px;color:var(--text-tertiary)}.detail-action-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.detail-action-row button{min-width:150px}.detail-impact-column .detail-action-row{display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.detail-impact-column .detail-action-row button{width:100%;min-width:0;font-size:15px}.detail-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;background:rgba(15,23,42,.58);isolation:isolate;transform:translateZ(0);overscroll-behavior:contain;touch-action:none;animation:confirmOverlayIn .2s ease-out}@supports ((-webkit-backdrop-filter:blur(8px)) or (backdrop-filter:blur(8px))){.detail-confirm-overlay{background:rgba(15,23,42,.4);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}}@keyframes confirmOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes confirmCardIn{0%{opacity:0;transform:scale(.92) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.detail-confirm-card{background:var(--surface);border-radius:16px;padding:28px 24px 22px;max-width:340px;width:90%;box-shadow:0 12px 40px rgba(0,0,0,.14),0 2px 8px rgba(0,0,0,.06);border:.5px solid rgba(29,41,59,.06);display:grid;grid-gap:10px;gap:10px;animation:confirmCardIn .22s cubic-bezier(.34,1.56,.64,1)}.detail-confirm-title{font-size:17px;font-weight:600;color:var(--foreground);text-align:center;margin:0;letter-spacing:-.01em}.detail-confirm-body{font-size:14px;color:var(--muted);line-height:1.65;text-align:center;margin:0;padding:0 4px}.detail-confirm-actions{display:flex;gap:10px;margin-top:8px}.detail-confirm-actions .button{flex:1 1;min-height:44px;border-radius:12px;font-size:15px;font-weight:600;transition:transform .15s ease,opacity .15s ease}.detail-confirm-actions .button:active{transform:scale(.96);opacity:.88}.detail-confirm-actions .button.secondary{background:rgba(29,41,59,.04);border-color:transparent;color:var(--muted)}.detail-confirm-actions .button:not(.secondary){background:linear-gradient(135deg,#5A8DFF,#326EFF);border-color:transparent;color:#fff;box-shadow:0 2px 8px rgba(50,110,255,.28)}.detail-confirm-actions .button:disabled{opacity:.55;cursor:not-allowed;transform:none}.detail-confirm-gateway-warn{display:flex;align-items:flex-start;gap:8px;background:#FFFCF0;border:1px solid #fde68a;border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.5;color:#92400E}.detail-confirm-gateway-warn svg{flex-shrink:0;margin-top:1px;color:#D97706}.detail-confirm-actions .spin{animation:spin .9s linear infinite}.detail-error{display:grid;grid-gap:4px;gap:4px;padding:14px;border-radius:8px;background:#FFF1F4;color:var(--danger)}.detail-error span{color:var(--muted);font-size:13px}.detail-skeleton-shell{padding-top:12px}.detail-skeleton-title{width:min(680px,90%);height:38px}.detail-skeleton-meta{width:360px;height:16px}.detail-skeleton-tabs{width:420px;height:44px}.detail-skeleton-card{width:100%;height:210px}.detail-skeleton-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.detail-skeleton-grid>div{height:96px}.action-row,.article-meta,.tag-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.article-section{display:grid;grid-gap:8px;gap:8px}.article-section h2{margin:0;font-size:16px;line-height:1.35}.article-section p{margin:0;color:var(--text-secondary);line-height:1.8;white-space:pre-wrap}.tag{border:1px solid var(--line);border-radius:999px;padding:5px 10px;color:var(--primary);background:var(--primary-tint);font-size:12px}.chat-page{display:flex;flex-direction:column;height:calc(100vh - 64px);margin:-24px -28px -40px;background:var(--bg);overflow:hidden}.chat-top-actions{position:absolute;top:12px;left:16px;z-index:8;display:flex;gap:6px;padding:0}.chat-float-btn{width:36px;height:36px;border:1px solid var(--line);background:var(--surface);color:var(--text-secondary);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,color .2s,transform .15s,border-color .2s;box-shadow:0 2px 6px rgba(0,0,0,.08)}.chat-float-btn:hover{background:var(--surface-muted);color:var(--primary);border-color:var(--primary);transform:scale(1.05)}.chat-main{flex:1 1;display:flex;flex-direction:column}.chat-main,.chat-scroll{position:relative;min-height:0}.chat-scroll{flex:1 1;overflow-y:auto;overflow-x:hidden;scroll-behavior:auto}.chat-scroll::-webkit-scrollbar{width:6px}.chat-scroll::-webkit-scrollbar-track{background:transparent}.chat-scroll::-webkit-scrollbar-thumb{background:rgba(0,0,0,.1);border-radius:3px}.chat-scroll::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.18)}.chat-messages{max-width:740px;margin:0 auto;padding:20px 24px 16px;display:flex;flex-direction:column;gap:4px}.chat-empty{flex:1 1;flex-direction:column;justify-content:center;text-align:center;padding:48px 24px;min-height:55vh}.chat-empty,.chat-empty-title-row{display:flex;align-items:center;gap:8px}.chat-empty-title-row{flex-direction:row;margin-bottom:4px}.chat-empty-logo{height:28px;object-fit:contain}.chat-empty-title{margin:0;font-size:28px;font-weight:700;color:#155DFC;line-height:36px}.chat-empty-sub{margin:0;font-size:14px;color:#6D7380;line-height:22px}.chat-msg{display:flex;gap:14px;align-items:flex-start;padding:16px 0}.chat-msg+.chat-msg{border-top:none}.chat-msg.thinking-only{padding:4px 0}.chat-msg.thinking-only+.chat-msg{padding-top:6px}.chat-msg.thinking-only .chat-process{margin-bottom:0}.chat-msg.superseded-empty{display:none}.chat-msg.user{flex-direction:row-reverse}.chat-msg-body{flex:1 1;min-width:0;max-width:100%}.chat-msg.user .chat-msg-body{display:flex;flex-direction:column;align-items:flex-end}.chat-msg-label{display:flex;align-items:center;gap:5px;font-size:13px;font-weight:600;color:#1a1a1a;margin-bottom:10px;letter-spacing:-.01em}.chat-msg-label-icon{width:18px;height:auto;object-fit:contain;flex-shrink:0;display:block}.chat-msg-verified{color:var(--primary)}.chat-msg-content{font-size:15px;line-height:1.75;color:#374151;word-break:break-word;-webkit-font-smoothing:antialiased}.chat-msg.user .chat-msg-content{background:#ffffff;border:1px solid rgba(0,0,0,.06);border-radius:18px 18px 4px 18px;padding:10px 16px;display:inline-block;white-space:pre-wrap;max-width:100%;color:#1a1a1a;box-shadow:0 1px 2px rgba(0,0,0,.04)}.chat-msg.ai .chat-msg-content{padding:0}.chat-msg-time{display:block;font-size:11px;color:#c0c0c0;margin-top:6px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.01em}.chat-msg.user .chat-msg-time{text-align:right}.chat-msg.failed .chat-msg-content{opacity:.6}.chat-msg-footer{display:flex;align-items:center;gap:8px;margin-top:6px}.chat-msg.user .chat-msg-footer{justify-content:flex-end}.chat-msg-retry{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:none;background:#fef2f2;color:#dc2626;font-size:12px;border-radius:4px;cursor:pointer;transition:background .15s}.chat-msg-retry:hover{background:#fee2e2}.chat-msg-retry svg{flex-shrink:0}.chat-answer{color:#374151;font-size:15px;line-height:1.78}.chat-markdown{display:grid;grid-gap:10px;gap:10px}.chat-chart-card+.chat-markdown,.chat-markdown+.chat-markdown,.chat-markdown+.chat-table-wrap,.chat-table-wrap+.chat-markdown{margin-top:16px}.chat-markdown h1,.chat-markdown h2,.chat-markdown h3{margin:16px 0 4px;color:#1a1a1a;line-height:1.35;letter-spacing:-.01em}.chat-markdown h1{font-size:22px}.chat-markdown h2{font-size:18px}.chat-markdown h3{font-size:16px}.chat-markdown blockquote,.chat-markdown ol,.chat-markdown p,.chat-markdown pre,.chat-markdown ul{margin:0}.chat-markdown ol,.chat-markdown ul{padding-left:22px}.chat-markdown li+li{margin-top:4px}.chat-markdown strong{color:var(--text);font-weight:700}.chat-markdown a{color:var(--primary);cursor:pointer;text-decoration:none;border-radius:3px;transition:background .15s,opacity .15s}.chat-markdown a:hover{text-decoration:underline}.chat-markdown a:active{opacity:.7}.chat-markdown img{display:block;width:auto;max-width:100%;height:auto;margin:6px auto;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.chat-markdown-image-unavailable{color:var(--muted);font-size:12px}.chat-markdown .data-ref-tag{display:inline;background:none;padding:0;color:var(--muted,#667085);font-size:13px;line-height:inherit;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chat-markdown li .data-ref-tag{margin:3px 0}.chat-markdown code,.chat-table code,.financial-table code{border-radius:5px;padding:2px 5px;background:rgba(21,93,252,.08);color:#B45309;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.9em}.chat-markdown pre{overflow-x:auto;border-radius:var(--radius);padding:14px;background:#111827;color:#E5E7EB}.chat-markdown pre code{padding:0;background:transparent;color:inherit;font-size:13px}.chat-markdown blockquote{border-left:3px solid rgba(21,93,252,.3);border-radius:6px;padding:9px 12px;background:#F6F8FC;color:var(--text-secondary)}.chat-markdown hr{width:100%;height:1px;border:0;background:var(--line)}.math-block{overflow-x:auto;padding:12px 8px;text-align:center;font-size:1.05em}.math-inline{display:inline}.math-inline .katex{font-size:1em}.math-block .katex-display{margin:0}.math-fallback{color:var(--warning,#B45309);font-family:SFMono-Regular,Consolas,monospace;font-size:.9em}.chat-process{margin-bottom:8px;border:1px solid #e5e7eb;border-radius:8px;background:#F8FAFC;overflow:hidden;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chat-error-bubble{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;border-radius:var(--radius);background:#FEF2F2;border:1px solid #fecaca}.chat-error-icon{flex-shrink:0;color:#EF4444;margin-top:2px}.chat-error-text{font-size:13px;line-height:1.5;color:#991B1B;word-break:break-word}.chat-process-header{width:100%;min-height:34px;border:0;padding:5px 8px;display:flex;align-items:center;justify-content:space-between;gap:6px;background:transparent;color:#64748B;cursor:pointer;text-align:left}.chat-process-header:disabled{cursor:default}.chat-process-actions,.chat-process-heading{display:inline-flex;align-items:center}.chat-process-heading{flex:1 1;min-width:0;gap:6px}.chat-process-actions{flex:0 0 auto;color:#94A3B8}.chat-process-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:#64748B}.chat-process-icon .lucide-loader-2{animation:spin .9s linear infinite}.chat-process-copy{display:flex;align-items:center;flex:1 1;gap:8px;min-width:0}.chat-process-copy strong{flex-shrink:0;color:#475569;font-size:11px;font-weight:600}.chat-process-copy small{min-width:0;overflow:hidden;color:#94A3B8;font-size:10px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.chat-process-list{border-top:1px solid #e5e7eb;color:#64748B;font-size:12px;line-height:1.65;padding:7px 9px 9px;display:flex;flex-direction:column;gap:8px;background:#fafbfc}.chat-reasoning-text{margin:0;padding:0 4px;font-size:12.5px;line-height:19px;color:#475569;white-space:pre-wrap;word-break:break-word}.chat-process-row{display:flex;flex-direction:row;align-items:stretch}.chat-timeline-left{display:flex;flex-direction:column;align-items:center;width:12px;margin-right:10px;flex-shrink:0;position:relative}.chat-process-dot{width:6px;height:6px;border-radius:3px;flex:0 0 auto;background:#94a3b8;z-index:2;margin-top:6px}.chat-timeline-line{position:absolute;top:12px;bottom:-12px;width:1px;background:#cbd5e1;z-index:1}.chat-process-row-text{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding-bottom:12px}.chat-process-row-action{font-size:12.5px;font-weight:600;color:#334155;line-height:18px;white-space:pre-wrap}.chat-process-row-target{display:block;align-self:stretch;background:#f1f5f9;border-radius:4px;padding:4px 8px;margin-top:2px;border:.5px solid #e2e8f0;font-size:11.5px;font-family:Courier New,monospace;color:#475569;line-height:16px;white-space:pre-wrap;word-break:break-word}.chat-thinking-dots{display:inline-flex;align-items:center;gap:5px;padding:2px 0}.chat-thinking-dots.long-running{align-items:flex-start;max-width:min(520px,100%)}.chat-thinking-dots.long-running .chat-thinking-dot-pulse{margin-top:6px}.chat-thinking-dots.long-running .chat-thinking-label{font-size:12px;line-height:1.5}.chat-thinking-dot-pulse{width:5px;height:5px;border-radius:50%;background:#3164b6;animation:thinkingPulse 1.2s ease-in-out infinite}.chat-thinking-label{font-size:11px;color:#64748b}.chat-process-delta{padding:8px 0;font-size:13px;line-height:1.6;color:#475569;overflow-wrap:anywhere;word-break:break-word}.chat-process-delta p{margin:0 0 4px}.chat-process-delta pre{margin:0 0 4px;padding:6px 8px;background:#F1F5F9;border-radius:4px;font-size:12px;overflow-x:auto}.chat-process-code-block{margin:4px 0;padding:12px;background:#1e293b;border-radius:8px;overflow-x:auto;max-height:300px}.chat-process-code-block code{color:#e2e8f0;font-family:Menlo,Monaco,Courier New,monospace;font-size:12px;line-height:1.6;white-space:pre}.chat-tool-delta{padding:8px 0;font-size:13px;line-height:1.6;color:#475569;overflow-wrap:anywhere;word-break:break-word}.chat-tool-delta p{margin:0 0 4px}.chat-metadata-card{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:12px;gap:12px;padding:16px;background:linear-gradient(135deg,rgba(248,250,252,.7),rgba(241,245,249,.7));border:1px solid rgba(226,232,240,.8);border-radius:12px;margin:16px 0;box-shadow:0 4px 12px rgba(15,23,42,.02)}.chat-metadata-item{display:flex;flex-direction:column;gap:4px;background:var(--surface,#ffffff);border:1px solid rgba(226,232,240,.6);border-radius:8px;padding:8px 12px;transition:border-color .15s ease,box-shadow .15s ease;min-height:auto;align-items:flex-start}.chat-metadata-card:has(.chat-metadata-item:only-child){background:none;border:none;padding:0;box-shadow:none;gap:0}.chat-metadata-item:only-child{grid-column:1/-1}.chat-metadata-item:hover{box-shadow:0 6px 12px rgba(15,23,42,.05);border-color:var(--primary-tint,rgba(49,100,182,.3))}.chat-metadata-label{color:var(--text-tertiary,#94a3b8);font-size:11px;font-weight:500;letter-spacing:.02em}.chat-metadata-value{color:var(--text-secondary,#334155);font-size:13px;font-weight:600;line-height:1.4;word-break:keep-all;overflow-wrap:break-word}.chat-table-wrap,.financial-table-wrap{margin:16px 0;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.chat-table,.financial-table{width:100%;min-width:620px;border-collapse:collapse;color:var(--text-secondary);font-size:13px;border-top:2px solid var(--text);border-bottom:2px solid var(--text)}.chat-table th,.financial-table th{padding:10px 14px;border-bottom:1px solid var(--text);text-align:left;vertical-align:bottom;background:transparent;color:var(--text);font-weight:600;white-space:nowrap}.chat-table td,.financial-table td{padding:9px 14px;text-align:left;vertical-align:top;line-height:1.6}.chat-table tbody tr:hover td,.financial-table tbody tr:hover td{background:rgba(21,93,252,.03)}.financial-table-value{color:var(--text-secondary)}.financial-table-value.meta,.financial-table-value.number{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted);font-weight:700}.financial-table-value.positive{color:var(--stock-up);font-weight:700}.financial-table-value.negative{color:var(--stock-down);font-weight:700}.chat-chart-card{position:relative;height:340px;margin:12px 0 16px;border:1px solid #e2e8f0;border-radius:var(--radius);background:var(--surface)}.chat-chart-canvas{width:100%;height:100%}.chat-chart-error{height:auto;padding:16px;color:var(--muted)}.chat-copy-action{margin-top:10px;min-height:30px;border:1px solid var(--line);border-radius:var(--radius);padding:4px 9px;display:inline-flex;align-items:center;gap:5px;background:var(--surface);color:var(--muted);cursor:pointer;font-size:12px}.chat-copy-action:hover{border-color:var(--primary-light);color:var(--primary)}.chat-cursor{display:inline-block;width:6px;height:1em;margin-left:2px;vertical-align:-.1em;border-radius:1px;background:var(--primary);animation:chatCursor .8s ease-in-out infinite}.chat-footer{flex-shrink:0;padding:12px 24px;max-width:740px;margin:0 auto;width:100%}.chat-availability-notice{display:flex;align-items:flex-start;gap:10px;width:100%;margin-bottom:10px;padding:10px 14px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;color:#475569;font-size:13px;line-height:1.45}.chat-availability-notice>svg{flex-shrink:0;margin-top:1px}.chat-availability-notice.warning{border-color:#fde68a;background:#fffbeb;color:#92400e}.chat-availability-notice.error{border-color:#fecaca;background:#fef2f2;color:#991b1b}.chat-availability-copy{display:grid;grid-gap:2px;gap:2px;min-width:0}.chat-availability-copy strong{color:currentColor;font-size:13px;font-weight:650}.chat-availability-copy span{color:currentColor;opacity:.82}.chat-mode-selector-bar{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:10px}.chat-mode-bar-group{display:flex;align-items:center;gap:8px}.chat-emotion-control{position:relative;z-index:6}.chat-emotion-trigger{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:6px 12px;border-radius:20px;border:1px solid var(--line);background:var(--surface-muted);color:var(--text-secondary);font-size:12px;font-weight:600;white-space:nowrap;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chat-emotion-trigger:hover:not(:disabled){background:var(--surface);border-color:rgba(21,93,252,.24);box-shadow:0 2px 10px rgba(21,93,252,.08)}.chat-emotion-trigger.praise{color:#2563eb;background:rgba(239,246,255,.92);border-color:rgba(96,165,250,.28)}.chat-emotion-trigger.roast{color:#c2410c;background:rgba(255,247,237,.94);border-color:rgba(251,146,60,.32)}.chat-emotion-trigger:disabled{opacity:.45;cursor:not-allowed}.chat-emotion-popover{position:absolute;bottom:calc(100% + 8px);left:0;z-index:130;width:280px;padding:8px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 12px 32px rgba(15,23,42,.12),0 2px 6px rgba(0,0,0,.04);animation:modePopoverIn .18s cubic-bezier(.16,1,.3,1) forwards}.chat-mode-popover-icon.emotion-off{color:#64748b;background:#f1f5f9}.chat-mode-popover-icon.emotion-praise{color:#2563eb;background:#dbeafe}.chat-mode-popover-icon.emotion-roast{color:#c2410c;background:#ffedd5}.chat-emotion-option-desc{display:block;margin-top:2px;color:var(--text-tertiary);font-size:11px;line-height:1.4}.chat-emotion-popover .chat-mode-popover-item:disabled{opacity:.5;cursor:not-allowed}.chat-mode-trigger{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:20px;background:var(--surface-muted);border:1px solid var(--line);cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.chat-mode-trigger:hover{background:var(--surface);border-color:rgba(21,93,252,.25);box-shadow:0 2px 10px rgba(21,93,252,.08)}.chat-mode-trigger-left{display:flex;align-items:center;gap:6px}.chat-mode-trigger-icon{color:var(--primary,#155dfc)}.chat-mode-trigger-icon.quick{color:#d97706}.chat-mode-trigger-icon.standard{color:#155dfc}.chat-mode-trigger-icon.long-task{color:#7e22ce}.chat-mode-trigger-label{font-size:13px;font-weight:600;color:var(--text)}.chat-mode-chevron{color:var(--text-tertiary);transition:transform .2s ease}.chat-mode-chevron.open{transform:rotate(180deg)}.chat-mode-overlay{position:fixed;inset:0;z-index:120}.chat-mode-popover{position:absolute;bottom:calc(100% + 8px);left:0;z-index:130;width:220px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:8px;box-shadow:0 12px 32px rgba(15,23,42,.12),0 2px 6px rgba(0,0,0,.04);animation:modePopoverIn .18s cubic-bezier(.16,1,.3,1) forwards}@keyframes modePopoverIn{0%{opacity:0;transform:translateY(6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-mode-popover-list{display:flex;flex-direction:column;gap:4px}.chat-mode-popover-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:transparent;border:1px solid transparent;text-align:left;cursor:pointer;transition:all .15s ease;width:100%}.chat-mode-popover-item:hover{background:var(--surface-muted)}.chat-mode-popover-item.active{background:var(--primary-tint);border-color:rgba(21,93,252,.18)}.chat-mode-popover-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.chat-mode-popover-icon.quick{background:#fef3c7;color:#d97706}.chat-mode-popover-icon.standard{background:#dbeafe;color:#1d4ed8}.chat-mode-popover-icon.long-task{background:#f3e8ff;color:#7e22ce}.chat-mode-popover-info{flex:1 1;min-width:0}.chat-mode-popover-title-row{display:flex;align-items:center;gap:6px}.chat-mode-popover-title{font-size:14px;font-weight:600;color:var(--text)}.chat-mode-check{color:var(--primary,#155dfc);margin-top:4px;flex-shrink:0}.chat-fortune-trigger{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border-radius:20px;background:var(--surface-muted);border:1px solid var(--line);cursor:pointer;transition:all .2s ease;font-size:12px;font-weight:500;color:var(--text-secondary);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chat-fortune-trigger:hover:not(:disabled){background:var(--surface);border-color:var(--line-strong);box-shadow:0 2px 8px rgba(15,23,42,.06)}.chat-fortune-trigger:disabled{opacity:.45;cursor:not-allowed}.chat-fortune-overlay{position:fixed;inset:0;z-index:1000}.chat-fortune-popover{position:absolute;bottom:calc(100% + 8px);left:0;z-index:1001;width:210px;background:#ffffff;border:1px solid rgba(226,232,240,.9);border-radius:16px;padding:8px;box-shadow:0 12px 32px rgba(15,23,42,.12),0 2px 6px rgba(0,0,0,.04);animation:modePopoverIn .18s cubic-bezier(.16,1,.3,1) forwards}.chat-fortune-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;background:#fef3c7;color:#d97706}.chat-compact-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:0;border-radius:14px;background:transparent;color:#94a3b8;font-size:12px;font-weight:500;cursor:pointer;transition:color .15s ease,background .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chat-compact-btn:hover:not(:disabled){color:#64748b;background:rgba(241,245,249,.9)}.chat-compact-btn:disabled{opacity:.45;cursor:not-allowed}.chat-compact-btn .spin{animation:chat-compact-spin 1s linear infinite}@keyframes chat-compact-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.chat-input-wrap{display:flex;align-items:flex-end;gap:8px;border:1.5px solid rgba(0,0,0,.1);border-radius:26px;padding:6px 6px 6px 18px;background:#ffffff;box-shadow:0 2px 12px rgba(0,0,0,.05),0 1px 3px rgba(0,0,0,.03);transition:border-color .2s,box-shadow .2s}.chat-input-wrap:focus-within{border-color:var(--primary);box-shadow:0 2px 16px rgba(21,93,252,.1),0 1px 3px rgba(0,0,0,.03)}.chat-input{flex:1 1;min-height:24px;max-height:160px;border:0;padding:8px 0;font-size:15px;line-height:24px;resize:none;background:transparent;outline:none;color:#1a1a1a}.chat-input::placeholder{color:#b0b0b0}.chat-send-btn{width:36px;height:36px;min-width:36px;border:0;border-radius:50%;background:var(--primary);color:#ffffff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,transform .15s,opacity .2s;flex-shrink:0}.chat-send-btn:disabled{background:#e8e8e8;color:#c0c0c0;cursor:not-allowed;transform:none}.chat-send-btn:hover:not(:disabled){background:#0f4ddb;transform:scale(1.05)}.chat-send-btn:active:not(:disabled){transform:scale(.95)}.chat-send-btn.stop{background:#0f172a;color:#ffffff;animation:chat-stop-pulse 2.4s cubic-bezier(.45,0,.55,1) infinite}.chat-send-btn.stop:hover:not(:disabled){background:#dc2626;transform:scale(1.05)}.chat-send-btn.stop:active:not(:disabled){transform:scale(.92)}.chat-stop-icon{border-radius:2px;animation:chat-stop-icon-in .18s cubic-bezier(.16,1,.3,1)}@keyframes chat-stop-pulse{0%,to{box-shadow:0 0 0 0 rgba(15,23,42,.28)}50%{box-shadow:0 0 0 6px rgba(15,23,42,0)}}@keyframes chat-stop-icon-in{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion:reduce){.chat-send-btn.stop,.chat-stop-icon{animation:none}}.chat-aborted-hint{display:flex;justify-content:center;margin:2px 0 10px}.chat-aborted-hint span{font-size:12px;color:#9ca3af;background:#f3f4f6;border-radius:999px;padding:3px 10px}.chat-side-empty{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#b0b0b0;text-align:center;font-size:13px;padding:24px}.chat-inline-delivery-list{display:grid;grid-gap:8px;gap:8px;margin-top:12px}.chat-delivery-card{display:grid;grid-template-columns:34px minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;border:1px solid var(--line);border-radius:var(--radius);padding:10px;background:var(--surface)}.chat-delivery-card.inline{max-width:560px;background:#FFFFFF}.chat-delivery-icon{width:34px;height:34px;border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center;color:var(--primary);background:var(--primary-tint)}.chat-delivery-main{display:grid;grid-gap:4px;gap:4px;min-width:0}.chat-delivery-main span,.chat-delivery-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-delivery-main strong{font-size:13px}.chat-delivery-main span{color:var(--muted);font-size:12px}.chat-dl-spin{animation:chat-dl-spin .8s linear infinite;transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;perspective:1000px}.chat-delivery-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.chat-delivery-action-btn{display:inline-flex;align-items:center;gap:3px;padding:4px 10px;border-radius:6px;border:1px solid var(--line);background:var(--surface);color:var(--text-secondary);font-size:11px;font-weight:500;line-height:1;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.chat-delivery-action-btn:hover{background:var(--surface-muted);border-color:var(--text-tertiary);color:var(--text)}.chat-delivery-action-btn.download{min-height:30px;gap:5px;padding:7px 13px;font-size:13px;font-weight:600}.chat-delivery-action-btn:disabled{opacity:.5;cursor:not-allowed}@keyframes chat-dl-spin{to{transform:rotate(1turn)}}@keyframes chatCursor{0%,to{opacity:1}50%{opacity:.3}}@keyframes thinkingPulse{0%,to{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.quote-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;margin-bottom:12px}.quote-strip>div{border:1px solid var(--line);border-radius:var(--radius);padding:10px;background:var(--surface-muted)}.quote-strip strong{display:block;margin-top:4px;font-size:18px}.stock-up{color:var(--stock-up)}.stock-down{color:var(--stock-down)}.market-price-stale{color:var(--text-tertiary)!important}.chart-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);pointer-events:none}.loading-state{display:flex;justify-content:center;padding:32px 0}.spinner{width:28px;height:28px;border:2.5px solid var(--line);border-top-color:var(--primary);border-radius:50%;animation:spin .6s linear infinite}.empty-state{text-align:center;padding:32px 16px}.empty-state .empty-subtitle{margin:0}.empty-state .empty-subtitle,.empty-subtitle-material{color:var(--muted);font-size:13px}@keyframes spin{to{transform:rotate(1turn)}}.toast-container{position:fixed;top:max(20px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:9999;display:flex;flex-direction:column;align-items:center;pointer-events:none;width:min(380px,calc(100vw - 40px))}.toast-item{--toast-accent:var(--primary);--toast-accent-soft:rgba(21,93,252,0.08);position:relative;display:grid;grid-template-columns:22px minmax(0,1fr) 24px;align-items:center;grid-gap:10px;gap:10px;width:100%;min-height:44px;padding:10px 10px 10px 13px;border:1px solid rgba(175,179,189,.36);border-left:3px solid var(--toast-accent);border-radius:var(--radius);background:rgba(255,255,255,.98);color:var(--text);box-shadow:0 10px 28px rgba(29,41,59,.12);animation:toastSlideIn .18s ease-out;pointer-events:auto;overflow:hidden}.toast-item.is-leaving{animation:toastSlideOut .14s ease-in forwards}.toast-success{--toast-accent:var(--success);--toast-accent-soft:rgba(48,194,91,0.08)}.toast-error{--toast-accent:var(--danger);--toast-accent-soft:rgba(241,74,102,0.08)}.toast-warning{--toast-accent:var(--warning);--toast-accent-soft:rgba(246,157,16,0.09)}.toast-info{--toast-accent:var(--primary);--toast-accent-soft:rgba(21,93,252,0.08)}.toast-icon{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;background:var(--toast-accent-soft);color:var(--toast-accent)}.toast-message{min-width:0;font-size:13px;font-weight:600;color:var(--text);line-height:1.45;overflow-wrap:anywhere}.toast-close{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin:0;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;transition:background .15s ease,color .15s ease}.toast-close:hover{background:var(--surface-muted);color:var(--text)}.toast-close:focus-visible{outline:2px solid var(--focus);outline-offset:2px}@keyframes toastSlideIn{0%{opacity:0;transform:translate3d(8px,-2px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes toastSlideOut{to{opacity:0;transform:translate3d(8px,-2px,0)}}@media (max-width:480px){.toast-container{top:max(16px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);align-items:stretch;width:calc(100% - 32px)}.toast-item{grid-template-columns:22px minmax(0,1fr) 24px;min-height:44px;padding:10px 10px 10px 13px}.toast-icon{width:22px;height:22px}}@media (prefers-reduced-motion:reduce){.toast-item,.toast-item.is-leaving{animation-duration:.01ms}}.chat-status-retry-btn{margin-left:auto;padding:3px 10px;border-radius:6px;border:0;background:var(--primary);color:#ffffff;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.chat-status-retry-btn:disabled{opacity:.6;cursor:not-allowed}.chat-loading-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.7);z-index:10}.chat-loading-overlay .spin{animation:spin .9s linear infinite;color:var(--primary)}.chat-new-msg-btn{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);width:36px;height:36px;border-radius:50%;border:0;background:#ffffff;color:#888;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.1),0 0 0 1px rgba(0,0,0,.04);z-index:5;transition:box-shadow .2s,transform .2s}.chat-new-msg-btn:hover{box-shadow:0 4px 16px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.06);transform:translateX(-50%) translateY(-1px)}.chat-drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:50;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.chat-drawer{position:fixed;top:0;left:0;bottom:0;width:320px;max-width:85vw;background:#ffffff;box-shadow:4px 0 24px rgba(0,0,0,.08);z-index:51;display:flex;flex-direction:column;transform:translateX(-100%);transition:transform .25s cubic-bezier(.4,0,.2,1)}.chat-drawer.open{transform:translateX(0)}.chat-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #f0f0f0;flex-shrink:0}.chat-drawer-header h2{margin:0;font-size:16px;font-weight:600;color:var(--text)}.chat-drawer-actions{display:flex;align-items:center;gap:4px}.chat-drawer-btn{width:32px;height:32px;border:0;background:transparent;color:#888;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s}.chat-drawer-btn:hover{background:#f5f5f5;color:#333}.chat-drawer-list{flex:1 1;overflow-y:auto;padding:8px 12px;display:flex;flex-direction:column;gap:2px}.chat-drawer-row{display:flex;align-items:center;gap:4px;border-radius:10px;transition:background .15s;padding-right:4px}.chat-drawer-row:hover{background:#f8f8f8}.chat-drawer-row.active{background:#f0f4ff}.chat-drawer-row-btn{flex:1 1;border:0;background:transparent;text-align:left;padding:10px 12px;cursor:pointer;min-width:0;display:flex;flex-direction:column;gap:3px}.chat-drawer-row-title{display:block;width:100%;font-size:14px;font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-drawer-row-time{display:flex;align-items:center;gap:4px;font-size:12px;color:#b0b0b0}.chat-inline-error{display:flex;align-items:center;gap:8px;margin:0 auto 8px;max-width:740px;padding:0 24px}.chat-inline-error,.chat-inline-error>div{border-radius:10px;padding:8px 14px;color:#b91c1c;background:#fef2f2;font-size:13px;border:1px solid #fecaca;display:flex;align-items:center;gap:8px;width:100%}.chat-footer-hint{margin:8px 0 0;text-align:center;font-size:12px;color:#c0c0c0;letter-spacing:.01em}.chat-history-actions{position:relative;display:flex;align-items:center}.chat-history-menu-btn{width:28px;height:28px;border:0;background:transparent;color:#ccc;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .15s,background .15s,color .15s}.chat-drawer-row:hover .chat-history-menu-btn{opacity:1}.chat-history-menu-btn:hover{background:#eee;color:#666}.chat-session-menu{position:absolute;right:0;top:100%;z-index:20;background:#ffffff;border:1px solid #e5e5e5;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.1);min-width:120px;padding:4px 0}.chat-session-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 14px;border:0;background:transparent;color:var(--text);font-size:13px;cursor:pointer;text-align:left}.chat-session-menu button:hover{background:#f5f5f5}.btn{border:none;border-radius:8px;min-height:36px;padding:7px 16px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:500;font-size:13px;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease,opacity .15s ease}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:#0d4fd8}.btn-secondary{background:var(--surface);border:1px solid var(--line);color:var(--text)}.btn-secondary:hover{background:var(--surface-muted);border-color:var(--line-strong)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#d93d56}.btn:disabled{opacity:.5;cursor:not-allowed}.dialog-overlay{position:fixed;inset:0;background:rgba(15,23,42,.5);display:flex;align-items:center;justify-content:center;z-index:1000;animation:overlayFadeIn .15s ease}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.dialog{background:var(--surface);border-radius:12px;padding:24px;max-width:400px;width:90%;box-shadow:0 20px 40px rgba(0,0,0,.2);animation:dialogSlideIn .2s ease}.dialog.note-edit-dialog{max-width:640px;width:92%;max-height:88vh;overflow-y:auto}@keyframes dialogSlideIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.dialog-title{font-size:16px;font-weight:600;margin:0 0 10px;color:var(--text)}.dialog-message{font-size:14px;color:var(--muted);margin:0 0 20px;line-height:1.5}.dialog-actions{display:flex;gap:10px;justify-content:flex-end}.chat-dialog-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.3);padding:20px;animation:fadeIn .15s ease}.chat-dialog{background:#ffffff;border-radius:14px;padding:24px;width:100%;max-width:380px;box-shadow:0 8px 32px rgba(0,0,0,.12)}.chat-dialog h3{margin:0 0 8px;font-size:17px;color:var(--text)}.chat-dialog p{margin:0 0 16px;font-size:14px;color:#888;line-height:1.5}.chat-dialog-input{width:100%;padding:10px 14px;border:1px solid #e5e5e5;border-radius:8px;font-size:15px;color:var(--text);background:#fafafa;outline:none;margin-bottom:16px}.chat-dialog-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(21,93,252,.08)}.chat-dialog-actions{display:flex;justify-content:flex-end;gap:8px}.chat-dialog-actions .button.danger{background:#ef4444;color:#ffffff;border-color:#ef4444}.chat-dialog-actions .button.danger:hover{background:#dc2626}@media (max-width:860px){.app-shell{grid-template-columns:1fr}.app-shell.no-sidebar .sidebar{display:none}.sidebar{position:fixed;left:0;right:0;bottom:0;top:auto;height:auto;overflow:visible;z-index:40;padding:6px;gap:0;box-shadow:0 6px 24px rgba(0,0,0,.12);border:1px solid var(--line);border-radius:12px 12px 0 0;transition:opacity .15s ease,transform .15s ease,visibility .15s}.app-shell.navigation-enhanced .sidebar:not(.is-open){visibility:hidden;opacity:0;pointer-events:none;transform:translateY(6px)}.app-shell:not(.navigation-enhanced) .content{padding-bottom:88px}.app-shell.navigation-enhanced .sidebar-toggle{position:fixed;z-index:40;left:8px;bottom:8px;display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text-secondary);box-shadow:0 3px 12px rgba(0,0,0,.1);cursor:pointer}.app-shell.navigation-enhanced .sidebar-toggle[aria-expanded=true]{display:none}.sidebar-toggle:hover{color:var(--primary);background:var(--surface-muted)}.sidebar-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.brand,.sidebar-footer{display:none}.nav-list{grid-template-columns:repeat(4,1fr);gap:2px}.nav-link{flex-direction:column;justify-content:center;align-items:center;font-size:11px;gap:3px;padding:6px 2px;min-height:0}.nav-label-en{display:none}.topbar{padding:0 16px}.content{padding:18px 16px 24px}.app-shell.no-sidebar .content{padding-bottom:24px}.grid.two{grid-template-columns:1fr}.chat-page{margin:-18px -16px -24px;height:calc(100vh - 64px);height:calc(100dvh - 64px)}.chat-messages{padding:16px 16px 8px}.chat-footer{padding:0 16px 10px}.chat-mode-bar-group{flex-wrap:wrap}.chat-emotion-popover{width:min(280px,calc(100vw - 32px))}.chat-drawer{width:280px}.gateway-hero{align-items:flex-start;flex-direction:column}.gateway-hero-side{width:100%;justify-items:stretch}.gateway-actions{justify-content:flex-start}.gateway-capability-grid,.gateway-info-grid,.gateway-layout,.gateway-steps{grid-template-columns:1fr}}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;background:rgba(15,23,42,.58);isolation:isolate;transform:translateZ(0);overscroll-behavior:contain;touch-action:none;animation:confirmFadeIn .18s ease}@supports ((-webkit-backdrop-filter:blur(8px)) or (backdrop-filter:blur(8px))){.confirm-overlay{background:rgba(15,23,42,.4);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}}@keyframes confirmFadeIn{0%{opacity:0}to{opacity:1}}.confirm-card{position:relative;z-index:1;width:min(84vw,340px);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;box-sizing:border-box;background:#ffffff;border-radius:16px;box-shadow:0 16px 40px rgba(15,23,42,.18),0 4px 12px rgba(15,23,42,.08);padding:24px;animation:confirmPop .22s cubic-bezier(.16,1,.3,1);touch-action:pan-y;-webkit-overflow-scrolling:touch}@keyframes confirmPop{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.confirm-title{font-size:17px;font-weight:600;color:#1e293b;text-align:center;margin-bottom:8px}.confirm-message{font-size:14px;color:#64748b;text-align:center;line-height:20px}.confirm-actions{display:flex;gap:12px;margin-top:20px}.confirm-btn{flex:1 1;height:44px;border:none;border-radius:11px;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s ease,transform .1s ease}.confirm-btn:active{transform:scale(.97)}.confirm-cancel{background:rgba(29,41,59,.05);color:#64748b}.confirm-cancel:hover{background:rgba(29,41,59,.08)}.confirm-ok{background:#155dfc;color:#ffffff}.confirm-ok:hover{background:#0b4ed8}.confirm-ok.confirm-destructive{background:rgba(241,74,102,.1);color:#f14a66}.confirm-ok.confirm-destructive:hover{background:rgba(241,74,102,.16)}.gateway-unavailable-icon{display:flex;justify-content:center;color:#f59e0b;margin-bottom:4px}.gateway-unavailable-body{margin-top:4px;display:flex;flex-direction:column;gap:10px}.gateway-unavailable-paragraph{font-size:13.5px;color:#475569;line-height:20px;text-align:left;margin:0}.gateway-unavailable-hint{font-size:12.5px;color:#64748b;line-height:19px;text-align:left;background:rgba(245,158,11,.08);border-radius:8px;padding:8px 10px}@media (prefers-reduced-motion:reduce){.sidebar{transition:none}}@media (max-width:860px){.nav-list{grid-template-columns:repeat(4,1fr)}.main-workspace{display:block}.watchlist-side-panel{display:none}.notification-side-panel{position:fixed;z-index:80;top:64px;right:0;bottom:0;width:min(360px,100vw);min-width:0;box-shadow:-12px 0 32px rgba(28,39,62,.14)}.topbar.has-dashboard-nav{padding-left:10px;padding-right:10px;gap:8px}.topbar.has-dashboard-nav .topbar-title{display:none}.topbar-controls{gap:6px}.status-badge{gap:2px;padding:0;background:transparent;box-shadow:none}.status-badge .status-seg{width:28px;height:32px;justify-content:center;padding:0}.status-divider,.status-dots,.status-name{display:none}.status-seg.error .status-dot,.status-seg.warning .status-dot{background:#b0b7c3;box-shadow:0 0 0 2.5px rgba(176,183,195,.16)}.status-seg.warning .status-dot:after,.status-seg.warning .status-dot:before{display:none}.model-switcher-btn{width:calc(7ch + 35px);max-width:calc(7ch + 35px);justify-content:space-between;padding:5px 9px}.model-switcher-label{width:7ch;flex:0 0 7ch}.topbar-watchlist-btn{display:none}.dashboard-nav-inline{margin-left:0;gap:10px;overflow-x:auto}.dashboard-nav{gap:14px;flex:0 0 auto}.dashboard-data-note{display:inline;font-size:9px}.dashboard-page,.dashboard-two-column{grid-template-columns:1fr}.compact-watchlist-dashboard{min-height:0}}