.auth-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md, 16px);color:var(--color-text-secondary, #b4b4c8)}.theme-gradient .auth-loading{background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460)}.auth-loading-logo{color:var(--color-primary, #8b5cf6);animation:auth-loading-pulse 1.6s ease-in-out infinite}.auth-loading-message{margin:0;font-size:14px;color:var(--color-text-secondary, #b4b4c8)}@keyframes auth-loading-pulse{0%,to{opacity:.55;transform:scale(.96)}50%{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.auth-loading-logo{animation:none}}.breadcrumbs{padding:var(--spacing-sm) 0;margin-bottom:var(--spacing-sm);min-width:0;overflow:hidden}.breadcrumb-list{display:flex;align-items:center;flex-wrap:nowrap;gap:var(--spacing-xs);list-style:none;margin:0;padding:0;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.breadcrumb-list::-webkit-scrollbar{display:none}.breadcrumb-item{display:flex;align-items:center;gap:var(--spacing-xs);line-height:1;flex-shrink:0;white-space:nowrap}.breadcrumb-link{color:var(--color-text-secondary);text-decoration:none;font-size:15px;transition:color var(--transition-fast);display:inline-flex;align-items:center;min-height:24px;padding:4px 0}.breadcrumb-link:hover{color:var(--color-primary)}.breadcrumb-separator{color:var(--color-text-tertiary);display:inline-flex;align-items:center;line-height:0}.breadcrumb-current{color:var(--color-text-primary);font-size:15px;font-weight:500;display:inline-flex;align-items:center;min-height:24px;padding:4px 0;white-space:nowrap}@media(max-width:768px),(pointer:coarse)and (max-height:500px){.breadcrumb-link,.breadcrumb-current{font-size:14px}.breadcrumbs{padding:var(--spacing-xs) 0;margin-bottom:var(--spacing-sm)}}.detector-control{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.theme-gradient .detector-control{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.control-row{display:flex;align-items:flex-end;gap:var(--spacing-md);flex-wrap:wrap}.control-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.control-label{font-size:12px;font-weight:500;color:var(--color-text-secondary)}.control-select,.control-input{padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);color:var(--color-text-primary);font-size:13px;min-width:150px}.control-select:focus,.control-input:focus{outline:none;border-color:var(--color-primary)}.control-refresh{padding:8px 16px;white-space:nowrap}.control-apply{padding:8px 16px;white-space:nowrap;min-height:auto}.control-form{display:flex;align-items:flex-end;gap:var(--spacing-md);flex-wrap:wrap;padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}@media(max-width:768px){.control-row{flex-direction:column;align-items:stretch}.control-select,.control-input,.control-refresh{width:100%}}.feedback-backdrop{position:fixed;inset:0;background:#0006;z-index:var(--z-modal);display:flex;justify-content:flex-end;animation:feedback-fade-in .15s ease-out}@keyframes feedback-fade-in{0%{opacity:0}to{opacity:1}}@keyframes feedback-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.feedback-panel{width:420px;max-width:100vw;height:100%;background:var(--color-surface);border-left:1px solid var(--color-border);display:flex;flex-direction:column;animation:feedback-slide-in .2s ease-out;box-shadow:-4px 0 24px #00000026}.theme-gradient .feedback-panel{background:var(--color-bg-secondary);border-color:#ffffff1a}.feedback-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border);flex-shrink:0}.feedback-panel-header h2{margin:0;font-size:16px;font-weight:600;color:var(--color-text-primary)}.feedback-close-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--color-text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.feedback-close-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.feedback-panel-body{flex:1;overflow-y:auto;padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-sm)}.feedback-subtitle{font-size:13px;color:var(--color-text-secondary);margin:0 0 var(--spacing-sm) 0}.feedback-label{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-top:var(--spacing-xs)}.feedback-select,.feedback-input,.feedback-textarea{width:100%;padding:8px 12px;font-size:13px;color:var(--color-text-primary);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);outline:none;transition:border-color var(--transition-fast);font-family:inherit;box-sizing:border-box}.feedback-select:focus,.feedback-input:focus,.feedback-textarea:focus{border-color:var(--color-primary)}.theme-gradient .feedback-select,.theme-gradient .feedback-input,.theme-gradient .feedback-textarea{background:#ffffff0f;border-color:#ffffff26}.theme-gradient .feedback-select option{background:var(--color-bg-secondary);color:var(--color-text-primary)}.feedback-textarea{resize:vertical;min-height:100px}.feedback-context{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-tertiary);border-radius:var(--radius-sm);border:1px solid var(--color-border)}.theme-gradient .feedback-context{background:#ffffff0a;border-color:#ffffff14}.feedback-context-title{font-size:11px;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-xs)}.feedback-context-item{display:flex;gap:var(--spacing-sm);font-size:12px;line-height:1.6;min-width:0}.feedback-context-key{color:var(--color-text-secondary);flex-shrink:0;font-weight:500}.feedback-context-value{color:var(--color-text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feedback-panel-footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--color-border);flex-shrink:0}.feedback-panel-footer .feedback-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;border-radius:var(--radius-sm);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast);font-family:inherit;opacity:1;background:transparent}.feedback-panel-footer .feedback-btn-cancel{color:var(--color-text-secondary)}.feedback-panel-footer .feedback-btn-cancel:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.feedback-panel-footer .feedback-btn-submit{background:var(--color-primary);color:#fff;border-color:var(--color-primary);padding:10px 24px;font-size:14px;font-weight:600;border-radius:var(--radius-md, 6px);box-shadow:0 1px 3px #00000026,0 0 0 1px var(--color-primary)}.feedback-panel-footer .feedback-btn-submit:hover:not(:disabled){filter:brightness(1.1);box-shadow:0 2px 8px #0003,0 0 0 1px var(--color-primary);transform:translateY(-1px)}.feedback-panel-footer .feedback-btn-submit:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #00000026}.feedback-panel-footer .feedback-btn-submit:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}@media(max-width:480px){.feedback-panel{width:100vw}}.ri-panel{border:1px solid var(--color-border);border-radius:var(--nav-item-radius, 6px);overflow:hidden;background:var(--color-surface)}.ri-header{display:flex;align-items:center;width:100%;padding:8px 12px;gap:8px;border:none;border-radius:0;background:transparent;color:var(--color-text-primary);font-size:13px;font-weight:600;font-family:var(--font-sans);cursor:pointer;text-align:left;outline:none;transition:background var(--transition-fast, .15s ease)}.ri-header:hover{background:var(--color-bg-hover)}.ri-header:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.ri-header-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-text-secondary)}.ri-header-icon svg{width:20px;height:20px}.ri-header-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ri-chevron{width:12px;height:12px;color:var(--color-text-tertiary);flex-shrink:0;transition:transform .2s ease}.ri-chevron.expanded{transform:rotate(90deg)}.ri-content{padding:4px 12px 12px;border-top:1px solid var(--color-border)}.ri-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:0 32px}.ri-row{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px;min-height:28px}.ri-label{color:var(--color-text-tertiary);min-width:110px;flex-shrink:0;font-weight:500;font-size:12px;text-align:left}.ri-value{color:var(--color-text-primary);overflow-wrap:anywhere;flex:1;text-align:left}.ri-value a{color:var(--color-accent, var(--color-primary));text-decoration:none}.ri-value a:hover{text-decoration:underline}.ri-copy-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:none;border:none;cursor:pointer;padding:0;color:var(--color-text-tertiary);opacity:0;transition:opacity var(--transition-fast, .15s ease),background var(--transition-fast, .15s ease),color var(--transition-fast, .15s ease);flex-shrink:0;border-radius:var(--radius-sm, 4px)}.ri-copy-btn svg{width:16px;height:16px}.ri-row:hover .ri-copy-btn{opacity:.7}.ri-copy-btn:hover{opacity:1!important;background:var(--color-bg-hover);color:var(--color-text-primary)}.theme-gradient .ri-panel{background:var(--glass-bg, var(--color-surface));border-color:#ffffff1a}.theme-gradient .ri-header:hover{background:#ffffff0d}.theme-gradient .ri-content{border-top-color:#ffffff1a}@media(max-width:600px){.ri-grid{grid-template-columns:1fr}}.rh-container{display:flex;flex-direction:column;gap:16px;min-width:0;max-width:100%;overflow-x:hidden}.rh-header{display:flex;align-items:center;gap:10px;padding:4px 0}.rh-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-text-secondary)}.rh-icon svg{width:20px;height:20px}.rh-name{font-size:16px;font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rh-type-badge{font-size:11px;font-weight:400;color:var(--color-text-tertiary);padding:1px 8px;background:var(--color-bg-tertiary);border-radius:10px;flex-shrink:0;white-space:nowrap}.rh-hint{padding:24px 16px;text-align:center;color:var(--color-text-tertiary);font-size:13px}.rh-skeleton{display:flex;align-items:center;justify-content:center;padding:32px}.detector-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);flex-wrap:wrap;padding:var(--spacing-sm) 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.toolbar-left{display:flex;align-items:center;gap:var(--spacing-sm);flex:1;min-width:0}.toolbar-right{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.detector-search{display:flex;align-items:center;gap:var(--spacing-xs);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:6px 10px;flex:1;max-width:300px}.detector-search svg{color:var(--color-text-tertiary);flex-shrink:0}.detector-search-input{border:none;background:transparent;color:var(--color-text-primary);font-size:13px;outline:none;width:100%;min-width:0}.detector-search-input::placeholder{color:var(--color-text-tertiary)}.search-clear{background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;font-size:12px;padding:2px 4px;min-height:auto;min-width:auto}.category-filter,.time-range-select{padding:6px 10px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);color:var(--color-text-primary);font-size:13px;cursor:pointer;outline:none}.category-filter:focus,.time-range-select:focus{border-color:var(--color-primary)}.expand-controls{display:flex;gap:2px}.expand-btn,.collapse-btn{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;font-size:11px;padding:4px 8px;min-height:auto;min-width:auto}.expand-btn:hover,.collapse-btn:hover{background:var(--color-bg-tertiary)}.detector-total{font-size:13px;color:var(--color-text-tertiary);white-space:nowrap}.filter-summary{font-size:13px;color:var(--color-text-secondary);padding:var(--spacing-xs) 0}.detector-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.detector-category{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.detector-category-header{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:10px 14px;background:var(--color-bg-secondary);border:none;cursor:pointer;text-align:left;color:var(--color-text-primary);font-size:14px;font-weight:500;min-height:auto}.detector-category-header:hover{background:var(--color-bg-tertiary)}.cat-icon{font-size:16px;flex-shrink:0}.cat-name{flex:1}.cat-count{font-size:12px;color:var(--color-text-tertiary);font-weight:400}.cat-chevron{font-size:11px;color:var(--color-text-tertiary)}.detector-items{display:flex;flex-direction:column}.detector-item{display:flex;flex-direction:column;gap:2px;padding:10px 14px 10px 40px;background:transparent;border:none;border-top:1px solid var(--color-border);cursor:pointer;text-align:left;transition:background var(--transition-fast);min-height:auto}.detector-item:hover{background:var(--color-bg-tertiary);border-left:3px solid var(--color-border);padding-left:37px}.detector-name{font-size:13px;font-weight:500;color:var(--color-text-primary)}.detector-desc{font-size:12px;color:var(--color-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.show-more-btn{padding:8px 14px 8px 40px;background:transparent;border:none;border-top:1px solid var(--color-border);color:var(--color-primary);font-size:13px;font-weight:500;cursor:pointer;text-align:left;min-height:auto}.show-more-btn:hover{background:var(--color-bg-secondary)}.no-detectors{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary)}.resource-home-skeleton{display:flex;flex-direction:column;gap:var(--spacing-lg)}.skeleton-header{height:50px;background:var(--color-bg-tertiary);border-radius:var(--radius-md);animation:shimmer 1.5s infinite}.skeleton-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md)}.skeleton-card{height:100px;background:var(--color-bg-tertiary);border-radius:var(--radius-lg);animation:shimmer 1.5s infinite}.skeleton-grid{display:flex;flex-direction:column;gap:var(--spacing-sm)}.skeleton-detector{height:50px;background:var(--color-bg-tertiary);border-radius:var(--radius-md);animation:shimmer 1.5s infinite}@media(max-width:768px){.detector-toolbar{flex-direction:column;align-items:stretch}.toolbar-left,.toolbar-right{flex-wrap:wrap}.detector-search{max-width:none}.resource-name{font-size:18px}}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.45"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.table-renderer{display:flex;flex-direction:column;gap:var(--spacing-md);background:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden}.theme-gradient .table-renderer{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.table-header{padding:var(--spacing-md) var(--spacing-md) 0}.table-title{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0}.table-description{margin-top:var(--spacing-xs);font-size:13px;color:var(--color-text-secondary);line-height:1.5}.table-description p{margin:0}.table-toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);gap:var(--spacing-md);border-bottom:1px solid var(--color-border)}.table-filter{flex:1;max-width:300px}.table-info{font-size:13px;color:var(--color-text-secondary)}.table-column-filters{display:flex;gap:var(--spacing-sm);padding:0 var(--spacing-md);flex-wrap:wrap}.column-filter{position:relative}.column-filter-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:13px;cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.column-filter-btn:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.column-filter-dropdown{position:absolute;top:100%;left:0;margin-top:4px;min-width:180px;max-height:240px;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026;z-index:100;padding:var(--spacing-xs) 0}.theme-gradient .column-filter-dropdown{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.column-filter-option{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-xs) var(--spacing-md);background:transparent;border:none;color:var(--color-text-secondary);font-size:13px;cursor:pointer;text-align:left;transition:background var(--transition-fast)}.column-filter-option:hover{background:var(--color-bg-secondary)}.column-filter-option.active{color:var(--color-text-primary);font-weight:500}.filter-check{display:inline-block;width:14px;height:14px;border:1.5px solid var(--color-border);border-radius:3px;flex-shrink:0}.filter-check.checked{background:var(--color-primary);border-color:var(--color-primary)}.table-container{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:auto}.data-table th,.data-table td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}.data-table th{background:var(--color-bg-secondary);font-weight:600;color:var(--color-text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.theme-gradient .data-table th{background:#ffffff08}.data-table th:hover{background:var(--color-bg-tertiary)}.theme-gradient .data-table th:hover{background:#ffffff0d}.th-content{display:flex;align-items:center;gap:var(--spacing-xs)}.sort-indicator{font-size:11px;opacity:.7}.data-table tbody tr:hover{background:var(--color-bg-secondary)}.theme-gradient .data-table tbody tr:hover{background:#ffffff05}.data-table td{color:var(--color-text-secondary);white-space:normal;word-break:break-word;overflow-wrap:break-word;max-width:360px}.null-value{color:var(--color-text-tertiary);font-style:italic}.cell-markdown{white-space:pre-wrap;overflow-wrap:break-word}.cell-markdown p{margin:0}.cell-markdown a{color:var(--color-link);text-decoration:underline}td:has(.cell-markdown){white-space:normal;overflow:visible;text-overflow:clip}.table-pagination{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);border-top:1px solid var(--color-border);gap:var(--spacing-md);flex-wrap:wrap}.pagination-controls{display:flex;align-items:center;gap:var(--spacing-xs)}.btn-ghost{background:transparent;border:none;padding:var(--spacing-xs) var(--spacing-sm);color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-sm);font-size:13px;transition:all var(--transition-fast)}.btn-ghost:hover:not(:disabled){background:var(--color-bg-tertiary);color:var(--color-text-primary)}.btn-ghost:disabled{opacity:.4;cursor:not-allowed}.page-info{font-size:13px;color:var(--color-text-secondary);padding:0 var(--spacing-sm)}.rows-per-page{display:flex;align-items:center;gap:var(--spacing-sm);font-size:13px;color:var(--color-text-secondary)}.rows-per-page select{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);cursor:pointer}.table-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary)}@media(max-width:768px){.table-toolbar{flex-direction:column;align-items:stretch}.table-filter{max-width:none}.table-pagination{flex-direction:column;align-items:center}}.portal-chart-tooltip{position:fixed;z-index:var(--z-tooltip, 9999);pointer-events:none;max-width:min(420px,45vw);max-height:calc(100vh - 16px);overflow-y:auto;background:var(--color-tooltip-bg, #ffffff);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:8px 12px;font-size:13px;line-height:1.5;box-shadow:0 2px 8px #00000026}.portal-tooltip-label{margin:0 0 4px;font-weight:600;color:var(--color-text-primary)}.portal-tooltip-item{margin:0;display:flex;align-items:baseline;gap:0}.portal-tooltip-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1 1 auto}.portal-tooltip-item-separator{flex:0 0 auto;white-space:pre}.portal-tooltip-item-value{flex:0 0 auto;white-space:nowrap;font-weight:600}.timeseries-renderer{display:flex;flex-direction:column;gap:var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:0;overflow:hidden}.theme-gradient .timeseries-renderer{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border-color:var(--color-border)}.timeseries-title{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0;padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.timeseries-description{font-size:13px;color:var(--color-text-secondary);line-height:1.5;padding:0 var(--spacing-lg)}.timeseries-description p{margin:0}.timeseries-legend{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);border-top:1px solid var(--color-border);background:var(--color-bg-secondary)}.legend-viewport{flex:1;overflow:hidden;max-height:78px}.legend-inner{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);justify-content:center;transition:transform .2s ease}.legend-item{display:flex;align-items:center;gap:5px;padding:0;background:none;border:none;border-radius:0;cursor:pointer;font-size:11px;transition:opacity var(--transition-fast);opacity:.85}.legend-item:not(.active){opacity:.3}.legend-item:hover{opacity:1}.legend-item.legend-highlighted{opacity:1;font-weight:600}.legend-item.legend-dimmed{opacity:.3}.legend-pager{display:flex;align-items:center;justify-content:center;gap:4px}.legend-pager-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:14px;cursor:pointer;transition:all var(--transition-fast)}.legend-pager-btn:hover:not(:disabled){background:var(--color-bg-tertiary);color:var(--color-text-primary)}.legend-pager-btn:disabled{opacity:.3;cursor:default}.legend-pager-label{font-size:10px;color:var(--color-text-tertiary);min-width:24px;text-align:center}.legend-color{width:12px;height:3px;border-radius:1px}.legend-name{color:var(--color-text-secondary)}.timeseries-chart{width:100%;min-height:200px;padding:var(--spacing-md) var(--spacing-lg)}.timeseries-chart .recharts-line{transition:opacity .15s ease}.timeseries-chart .recharts-line path{transition:stroke-width .15s ease}.timeseries-renderer .recharts-cartesian-axis-tick text{fill:var(--color-text-tertiary);font-size:11px}.timeseries-renderer .recharts-cartesian-axis-line,.timeseries-renderer .recharts-cartesian-axis-tick line{stroke:var(--color-border);stroke-opacity:.5}.timeseries-summary{display:flex;align-items:center;gap:var(--spacing-sm);font-size:12px;color:var(--color-text-tertiary)}.timeseries-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary);background:var(--color-surface);border-radius:var(--radius-lg)}@media(max-width:768px){.timeseries-renderer{padding:0}.timeseries-chart{min-height:200px;padding:var(--spacing-xs) var(--spacing-sm)}.timeseries-title{padding:var(--spacing-sm) var(--spacing-md)}.timeseries-description{padding:0 var(--spacing-md);font-size:12px}.timeseries-legend{padding:var(--spacing-xs) var(--spacing-md)}.legend-item{font-size:10px}}.gantt-renderer{display:flex;flex-direction:column;gap:var(--spacing-md);background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-lg);min-width:0;overflow:hidden}.theme-gradient .gantt-renderer{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.gantt-title{font-size:15px;font-weight:600;color:var(--color-text-primary);margin:0;overflow-wrap:break-word;word-break:break-word}.gantt-description{margin:0;font-size:13px;color:var(--color-text-secondary)}.gantt-inner-markdown{font-size:13px;color:var(--color-text-primary);line-height:1.5}.gantt-inner-markdown p{margin:.25em 0}.gantt-inner-markdown strong{font-weight:600}.gantt-axis-title{fill:var(--color-text-secondary);font-size:12px;font-weight:500}.gantt-legend{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.gantt-legend-item{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:12px;color:var(--color-text-primary)}.gantt-legend-swatch{width:10px;height:10px;border-radius:2px;flex-shrink:0}.gantt-chart-container{width:100%;overflow-x:auto;overflow-y:visible}.gantt-chart-scroll{min-width:600px}.gantt-renderer text{font-family:inherit}.gantt-category-label{fill:var(--color-text-primary);font-size:12px}.gantt-axis-tick{fill:var(--color-text-tertiary);font-size:11px}.gantt-gridline{stroke:var(--color-border);stroke-dasharray:3 3;stroke-width:.5}.gantt-row-bg{fill:transparent;transition:fill .15s ease}.gantt-row-bg:hover{fill:var(--color-bg-secondary)}.gantt-bar{rx:3;ry:3;cursor:pointer;transition:opacity .15s ease}.gantt-bar:hover{opacity:.85;filter:brightness(1.1)}.gantt-bar-gap{rx:0;ry:0;cursor:default;opacity:.15}.gantt-bar-gap:hover{opacity:.15;filter:none}.gantt-tooltip{position:fixed;z-index:var(--z-tooltip, 9999);pointer-events:none;background:var(--color-tooltip-bg, #ffffff);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);font-size:12px;color:var(--color-text-primary);box-shadow:0 4px 12px #00000026;max-width:480px;width:max-content}.theme-gradient .gantt-tooltip{box-shadow:0 4px 16px #00000080}.gantt-tooltip-row{display:flex;gap:var(--spacing-sm);padding:2px 0}.gantt-tooltip-label{color:var(--color-text-tertiary);font-weight:500;min-width:50px;flex-shrink:0;white-space:nowrap}.gantt-tooltip-value{color:var(--color-text-primary);word-break:break-word}.gantt-truncation-warning{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-warning-bg, rgba(245, 158, 11, .1));border:1px solid var(--color-warning, #f59e0b);border-radius:var(--radius-md);font-size:12px;color:var(--color-warning, #f59e0b)}.gantt-summary{display:flex;align-items:center;gap:var(--spacing-sm);font-size:12px;color:var(--color-text-tertiary)}.gantt-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary);background:var(--color-surface);border-radius:var(--radius-lg)}@media(max-width:768px){.gantt-renderer{padding:var(--spacing-md)}}.gantt-svg{cursor:crosshair}.gantt-zoom-selection{pointer-events:none}.gantt-reset-zoom{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:12px;font-weight:500;color:var(--color-info);cursor:pointer;transition:background .15s ease,color .15s ease;align-self:flex-start}.gantt-reset-zoom:hover{background:var(--color-info);color:#fff}.insights-renderer{display:flex;flex-direction:column;gap:var(--spacing-md)}.insight-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.theme-gradient .insight-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.insight-header{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-lg)}.insight-header.expandable{cursor:pointer}.insight-header.expandable:hover{background:var(--color-bg-secondary)}.theme-gradient .insight-header.expandable:hover{background:#ffffff0d}.insight-status{flex-shrink:0;color:var(--status-color);padding-top:2px}.insight-content{flex:1;min-width:0}.insight-title{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0}.insight-message{font-size:13px;color:var(--color-text-secondary);margin:0;line-height:1.5}.insight-badge{flex-shrink:0;padding:3px 8px;border-radius:var(--radius-sm);font-size:11px;font-weight:500;letter-spacing:.02em;background:transparent;border:1px solid var(--status-color)}.insight-toggle{flex-shrink:0;background:transparent;border:none;padding:var(--spacing-xs);cursor:pointer;color:var(--color-text-tertiary);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.insight-toggle:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.insight-toggle svg{transition:transform var(--transition-fast)}.insight-details{padding:0 var(--spacing-lg) var(--spacing-lg);padding-left:calc(var(--spacing-lg) + 18px + var(--spacing-md));display:flex;flex-direction:column;gap:var(--spacing-md);border-top:1px solid var(--color-border);margin-top:calc(-1 * var(--spacing-md));padding-top:var(--spacing-md);min-width:0;overflow-x:auto}.insight-description{font-size:13px;color:var(--color-text-secondary);line-height:1.6}.insight-solutions{margin-top:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-sm)}.solution-button{display:inline-block;padding:6px 16px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s;align-self:flex-start}.solution-button:hover{background:var(--color-primary-hover, #4f46e5)}.solution-overlay{position:fixed;inset:0;z-index:10000;background:#0000;transition:background .25s ease}.solution-overlay.open{background:#0006}.solution-slideout{position:fixed;top:0;right:0;bottom:0;width:min(800px,50vw);background:var(--color-bg-primary, #fff);box-shadow:-4px 0 24px #00000026;transform:translate(100%);transition:transform .25s ease;display:flex;flex-direction:column;z-index:10001}@media(max-width:640px){.solution-slideout{width:100vw}}.solution-slideout.open{transform:translate(0)}.solution-slideout-header{display:flex;justify-content:flex-end;padding:12px 16px 0;flex-shrink:0}.solution-slideout-close{background:transparent;border:none;cursor:pointer;padding:8px;border-radius:var(--radius-sm);color:var(--color-text-secondary, #666);transition:background .15s,color .15s}.solution-slideout-close:hover{background:var(--color-bg-tertiary, #f0f0f0);color:var(--color-text-primary, #333)}.solution-slideout-body{flex:1;overflow-y:auto;padding:8px 32px 32px}.solution-slideout-title{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0 0 16px}.solution-slideout-info{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--color-info-bg, #f0f6ff);border-radius:var(--radius-sm);font-size:13px;color:var(--color-text-secondary);margin-bottom:20px}.solution-info-icon{flex-shrink:0;color:var(--color-info, #0078d4)}.solution-slideout-content{display:flex;flex-direction:column;gap:16px}.solution-slideout-item{display:flex;flex-direction:column;gap:4px}.solution-slideout-item-name{font-weight:600;font-size:14px;color:var(--color-text-primary)}.solution-slideout-item-title{font-size:13px;color:var(--color-text-secondary);line-height:1.5}.solution-slideout-item-desc{font-size:13px;color:var(--color-text-secondary);line-height:1.6}.insight-data-table{width:100%;border-collapse:collapse;font-size:13px}.insight-data-table tr{border-bottom:1px solid var(--color-border)}.insight-data-table tr:last-child{border-bottom:none}.insight-data-key{font-weight:600;color:var(--color-text-primary);padding:var(--spacing-xs) var(--spacing-md) var(--spacing-xs) 0;white-space:nowrap;vertical-align:top;width:1%}.insight-data-value{color:var(--color-text-secondary);padding:var(--spacing-xs) 0;word-break:break-word}.insights-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary);background:var(--color-surface);border-radius:var(--radius-lg)}@media(max-width:768px){.insight-header{flex-wrap:wrap}.insight-badge{order:-1;margin-left:auto}.insight-content{flex-basis:100%;margin-top:var(--spacing-sm)}}@media(max-width:640px){.insight-details{padding-left:var(--spacing-lg)}.insight-data-table{display:block;width:100%}.insight-data-table>tbody{display:block}.insight-data-table>tbody>tr{display:block;padding:var(--spacing-xs) 0}.insight-data-table>tbody>tr>.insight-data-key{display:block;width:100%;white-space:normal;padding-bottom:0;font-size:12px;color:var(--color-text-tertiary)}.insight-data-table>tbody>tr>.insight-data-value{display:block;width:100%;overflow-x:auto;padding-top:2px}}.markdown-renderer{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-lg);line-height:1.7;min-width:0;overflow-x:auto}.theme-gradient .markdown-renderer{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.markdown-renderer h1,.markdown-renderer h2,.markdown-renderer h3,.markdown-renderer h4,.markdown-renderer h5,.markdown-renderer h6{color:var(--color-text-primary);margin-top:var(--spacing-lg);margin-bottom:var(--spacing-sm)}.markdown-renderer h1:first-child,.markdown-renderer h2:first-child,.markdown-renderer h3:first-child{margin-top:0}.markdown-renderer h1{font-size:24px}.markdown-renderer h2{font-size:20px}.markdown-renderer h3{font-size:16px}.markdown-renderer h4{font-size:14px}.markdown-renderer p{margin:var(--spacing-md) 0;color:var(--color-text-secondary)}.markdown-renderer p:first-child{margin-top:0}.markdown-renderer p:last-child{margin-bottom:0}.markdown-renderer a{color:var(--color-link, var(--color-primary));text-decoration:none}.markdown-renderer a:hover{text-decoration:underline}.markdown-renderer ul,.markdown-renderer ol{margin:var(--spacing-md) 0;padding-left:var(--spacing-lg);color:var(--color-text-secondary)}.markdown-renderer li{margin:var(--spacing-xs) 0}.markdown-renderer li.task-item{list-style:none;margin-left:calc(-1 * var(--spacing-lg))}.markdown-renderer li.task-item input[type=checkbox]{margin-right:var(--spacing-sm)}.theme-gradient code.inline-code{background:#ffffff14}.markdown-renderer pre{background:var(--color-bg-tertiary);border-radius:var(--radius-md);padding:var(--spacing-md);overflow-x:auto;margin:var(--spacing-md) 0}.theme-gradient .markdown-renderer pre{background:#0000004d}.markdown-renderer pre code{font-family:var(--font-mono);font-size:13px;line-height:1.5;background:transparent;padding:0}.markdown-renderer table{min-width:100%;border-collapse:collapse;margin:var(--spacing-md) 0;font-size:13px;table-layout:auto}.markdown-renderer th,.markdown-renderer td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border:1px solid var(--color-border);white-space:normal;word-break:break-word;overflow-wrap:break-word}.markdown-renderer th{background:var(--color-bg-secondary);font-weight:600;color:var(--color-text-primary)}.theme-gradient .markdown-renderer th{background:#ffffff0d}.markdown-renderer td{color:var(--color-text-secondary)}.markdown-renderer tbody tr:nth-child(2n){background:var(--color-bg-secondary)}.theme-gradient .markdown-renderer tbody tr:nth-child(2n){background:#ffffff08}.markdown-renderer blockquote{margin:var(--spacing-md) 0;padding:var(--spacing-sm) var(--spacing-md);border-left:4px solid var(--color-primary);background:var(--color-bg-secondary);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.theme-gradient .markdown-renderer blockquote{background:#6366f11a}.markdown-renderer blockquote p{margin:0}.markdown-renderer hr{border:none;height:1px;background:var(--color-border);margin:var(--spacing-lg) 0}.markdown-renderer img{max-width:100%;border-radius:var(--radius-md)}.markdown-renderer del{color:var(--color-text-tertiary)}.markdown-renderer .katex-display{margin:var(--spacing-md) 0;overflow-x:auto;overflow-y:hidden}.markdown-renderer .katex{font-size:1.1em}.markdown-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary);background:var(--color-surface);border-radius:var(--radius-lg)}.markdown-renderer .token.comment,.markdown-renderer .token.prolog,.markdown-renderer .token.doctype,.markdown-renderer .token.cdata{color:var(--color-text-tertiary)}.markdown-renderer .token.punctuation{color:var(--color-text-secondary)}.markdown-renderer .token.property,.markdown-renderer .token.tag,.markdown-renderer .token.boolean,.markdown-renderer .token.number,.markdown-renderer .token.constant,.markdown-renderer .token.symbol,.markdown-renderer .token.deleted{color:#ef4444}.markdown-renderer .token.selector,.markdown-renderer .token.attr-name,.markdown-renderer .token.string,.markdown-renderer .token.char,.markdown-renderer .token.builtin,.markdown-renderer .token.inserted{color:#22c55e}.markdown-renderer .token.operator,.markdown-renderer .token.entity,.markdown-renderer .token.url,.markdown-renderer .language-css .token.string,.markdown-renderer .style .token.string{color:#f59e0b}.markdown-renderer .token.atrule,.markdown-renderer .token.attr-value,.markdown-renderer .token.keyword{color:#6366f1}.markdown-renderer .token.function,.markdown-renderer .token.class-name{color:#ec4899}.markdown-renderer .token.regex,.markdown-renderer .token.important,.markdown-renderer .token.variable{color:#f59e0b}.dynamic-insight{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.theme-gradient .dynamic-insight{background:var(--color-surface)}.dynamic-insight-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg)}.dynamic-insight-header.expandable{cursor:pointer}.dynamic-insight-header.expandable:hover{background:var(--color-bg-secondary)}.theme-gradient .dynamic-insight-header.expandable:hover{background:#ffffff0d}.insight-icon{width:28px;height:28px;border-radius:var(--radius-full);background:transparent;color:var(--insight-color);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0}.insight-title-row{flex:1;min-width:0}.dynamic-insight .insight-title{font-size:14px;font-weight:500;color:var(--color-text-primary);margin:0}.expand-toggle{background:transparent;border:none;padding:var(--spacing-xs);cursor:pointer;color:var(--color-text-tertiary);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.expand-toggle:hover{background:var(--color-bg-tertiary)}.expand-toggle svg{transition:transform var(--transition-fast)}.dynamic-insight-body{padding:0 var(--spacing-lg) var(--spacing-lg);padding-left:calc(var(--spacing-lg) + 28px + var(--spacing-md));display:flex;flex-direction:column;gap:var(--spacing-md)}.insight-description{font-size:13px;color:var(--color-text-secondary);line-height:1.6;margin:0}.insight-html{font-size:13px;color:var(--color-text-secondary);line-height:1.6}.insight-html a{color:var(--color-link, var(--color-primary))}.insight-html ul,.insight-html ol{margin:var(--spacing-sm) 0;padding-left:var(--spacing-lg)}.insight-html code{font-family:var(--font-mono);font-size:12px;background:var(--color-bg-tertiary);padding:2px 6px;border-radius:var(--radius-sm)}@media(max-width:640px){.dynamic-insight-body{padding-left:var(--spacing-lg)}}.data-summary{display:block}.summary-tile{display:inline-block;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-md);min-width:150px;background:var(--color-surface);margin-right:var(--spacing-md)}.tile-label{font-size:14px;color:var(--color-text-secondary)}.tile-value{display:block}.value-number{font-size:18px;font-weight:600;color:var(--color-text-primary);display:block}.data-summary-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary);background:var(--color-surface);border-radius:var(--radius-lg)}@media(max-width:640px){.data-summary{display:flex;flex-direction:column;gap:var(--spacing-sm)}.summary-tile{display:block;min-width:auto;width:100%;margin-right:0}}.detector-collection{display:flex;flex-direction:column;gap:12px}.detector-collection-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary);background:var(--color-surface);border-radius:var(--radius-lg)}.detector-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.detector-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);text-align:left;width:100%}.detector-item:hover{background:var(--color-bg-secondary);border-color:var(--color-primary)}.theme-gradient .detector-item:hover{background:#ffffff08}.detector-status-dot{width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0}.detector-info{flex:1;min-width:0}.detector-name{font-size:14px;font-weight:500;color:var(--color-text-primary);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detector-description{font-size:12px;color:var(--color-text-tertiary);margin:4px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detector-badge{flex-shrink:0;padding:4px 10px;border-radius:var(--radius-full);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.detector-arrow{flex-shrink:0;color:var(--color-text-tertiary);opacity:0;transition:opacity var(--transition-fast),transform var(--transition-fast)}.detector-item:hover .detector-arrow{opacity:1;transform:translate(2px)}.detector-list-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary);background:var(--color-surface);border-radius:var(--radius-lg)}@media(max-width:768px){.detector-badge{display:none}}.gauge-renderer{display:flex;flex-wrap:wrap;gap:var(--spacing-lg);justify-content:center}.gauge-item{display:flex;flex-direction:column;align-items:center;gap:0;padding:var(--spacing-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:160px}.theme-gradient .gauge-item{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.gauge-svg{width:100%;height:100%;display:block}.gauge-bg{stroke:var(--color-bg-tertiary)}.theme-gradient .gauge-bg{stroke:#ffffff1a}.gauge-progress{transition:stroke-dashoffset .5s ease}.gauge-circle-wrap{position:relative;width:140px;height:140px}.gauge-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.gauge-value{font-size:22px;font-weight:600;line-height:1}.gauge-label{font-size:14px;font-weight:600;color:var(--color-text-secondary);text-align:center;margin-top:4px}.gauge-circle-wrap-large{width:180px;height:180px}.gauge-description{font-size:13px;color:var(--color-text-secondary);text-align:left;width:100%;margin-top:var(--spacing-sm);border-top:1px solid var(--color-border);padding-top:var(--spacing-sm)}.gauge-description table{width:100%;border-collapse:collapse}.gauge-description td,.gauge-description th{padding:3px 8px;border:none;text-align:left}.gauge-description td:first-child{font-weight:600}.gauge-description thead{display:none}.gauge-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary);background:var(--color-surface);border-radius:var(--radius-lg)}@media(max-width:480px){.gauge-item{min-width:140px;padding:var(--spacing-md)}.gauge-circle-wrap{width:110px;height:110px}.gauge-value{font-size:18px}}.form-renderer-container{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-renderer{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.form-title{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-md) 0}.field-tooltip{display:inline-block;margin-left:4px;color:var(--color-text-tertiary);cursor:help;font-size:12px}.theme-gradient .form-renderer{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.form-fields{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.field-label{font-size:13px;font-weight:500;color:var(--color-text-primary)}.field-label .required{color:var(--color-critical);margin-left:2px}.form-field.has-error .input{border-color:var(--color-critical)}.field-error{font-size:12px;color:var(--color-critical)}.input{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;color:var(--color-text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.theme-gradient .input{background:#ffffff0d;border-color:#ffffff1a}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f11a}.input::placeholder{color:var(--color-text-tertiary)}.select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.textarea{resize:vertical;min-height:100px}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary)}.checkbox-text{font-size:14px;color:var(--color-text-secondary)}.radio-group{display:flex;gap:var(--spacing-md)}.radio-label{display:flex;align-items:center;gap:var(--spacing-xs);cursor:pointer}.radio-text{font-size:14px;color:var(--color-text-secondary)}.form-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.btn{padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-secondary{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.btn-secondary:hover:not(:disabled){background:var(--color-border)}.btn-danger{background:var(--color-critical);color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-default{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn-default:hover:not(:disabled){background:var(--color-bg-secondary)}.form-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary);background:var(--color-surface);border-radius:var(--radius-lg)}.form-response{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--spacing-md)}.form-error{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);color:var(--color-critical);background:#ef44441a;border-radius:var(--radius-md);font-size:13px}.form-loading{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-md);color:var(--color-text-secondary);font-size:13px}.form-loading-spinner{width:16px;height:16px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:form-spin .6s linear infinite}@keyframes form-spin{to{transform:rotate(360deg)}}@media(max-width:768px){.form-actions{flex-direction:column}.btn{width:100%}}.dropdown-renderer{display:flex;flex-direction:column;gap:var(--spacing-md)}.dropdown-title{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0}.dropdown-controls{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.dropdown-label{font-size:14px;color:var(--color-text-secondary);white-space:nowrap}.dropdown-select{position:relative;min-width:200px;flex:1}.dropdown-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-xs) var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);text-align:left;gap:var(--spacing-sm)}.theme-gradient .dropdown-trigger{background:var(--glass-bg);border-color:#ffffff1a}.dropdown-trigger:hover,.dropdown-trigger.open{border-color:var(--color-primary)}.dropdown-trigger.open{box-shadow:0 0 0 3px #6366f11a}.dropdown-value{font-size:14px;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-arrow{flex-shrink:0;color:var(--color-text-tertiary);transition:transform var(--transition-fast)}.dropdown-trigger.open .dropdown-arrow{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);overflow:hidden;max-height:280px;overflow-y:auto}.theme-gradient .dropdown-menu{background:var(--color-bg-secondary);border-color:#ffffff1a}.dropdown-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;cursor:pointer;text-align:left;font-size:14px;color:var(--color-text-primary);transition:background var(--transition-fast)}.dropdown-option:hover{background:var(--color-bg-secondary)}.theme-gradient .dropdown-option:hover{background:#ffffff0d}.dropdown-option.selected{background:var(--color-primary-light)}.theme-gradient .dropdown-option.selected{background:#479ef526}.option-check{font-size:14px;color:var(--color-primary)}.dropdown-content{display:flex;flex-direction:column;gap:var(--spacing-md)}.dropdown-empty{padding:var(--spacing-md);text-align:center;color:var(--color-text-tertiary);background:var(--color-surface);border-radius:var(--radius-md)}.cards-renderer{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-md)}.card-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);text-align:left}.theme-gradient .card-item{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.card-item:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.card-content{flex:1;min-width:0}.card-title{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0}.card-descriptions{margin-top:4px}.card-description{font-size:12px;color:var(--color-text-tertiary);margin:2px 0 0;line-height:1.4}.card-arrow{flex-shrink:0;color:var(--color-text-tertiary);opacity:0;transition:opacity var(--transition-fast)}.card-item:hover .card-arrow{opacity:1}.cards-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary);background:var(--color-surface);border-radius:var(--radius-lg)}@media(max-width:640px){.cards-renderer{grid-template-columns:1fr}}.summary-card-renderer{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.summary-card-item{flex:1;min-width:150px;max-width:250px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs)}.theme-gradient .summary-card-item{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.summary-card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.summary-card-label{font-size:12px;font-weight:500;color:var(--color-text-tertiary);letter-spacing:0}.sparkline{flex-shrink:0}.summary-card-value{font-size:16px;font-weight:500;line-height:1.4;color:var(--color-text-primary)}.summary-card-description{font-size:12px;color:var(--color-text-tertiary);line-height:1.4}.summary-card-change{font-size:12px;font-weight:500}.summary-card-change.up,.summary-card-change.down{color:var(--color-text-secondary)}.summary-card-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary);background:var(--color-surface);border-radius:var(--radius-lg)}@media(max-width:640px){.summary-card-item{min-width:calc(50% - var(--spacing-sm));max-width:none}}.tab-renderer{display:flex;flex-direction:column;background:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden}.theme-gradient .tab-renderer{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.tab-title{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0;padding:var(--spacing-md) var(--spacing-md) 0}.tab-list{display:flex;gap:0;border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary);overflow-x:auto}.theme-gradient .tab-list{background:#ffffff05}.tab-button{flex-shrink:0;display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);background:transparent;border:none;border-bottom:2px solid transparent;font-size:14px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.tab-button:hover{color:var(--color-text-primary);background:var(--color-bg-tertiary)}.theme-gradient .tab-button:hover{background:#ffffff08}.tab-button.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tab-button.attention{color:var(--color-warning)}.tab-button.attention.active{border-bottom-color:var(--color-warning)}.tab-badge{font-size:11px;font-weight:600;padding:1px 6px;border-radius:10px;background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.tab-button.active .tab-badge{background:var(--color-primary);color:#fff}.tab-content{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md);min-width:0;overflow-x:hidden}.tab-placeholder{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary)}.tab-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary);background:var(--color-surface);border-radius:var(--radius-lg)}.section-renderer{display:flex;flex-direction:column;min-width:0;overflow-x:hidden}.section-list{display:flex;flex-direction:column}.section-header{width:100%;display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) 0;background:transparent;border:none;cursor:pointer;text-align:left;transition:color var(--transition-fast)}.section-header:hover{color:var(--color-primary)}.section-chevron{flex-shrink:0;color:var(--color-text-tertiary);transition:transform var(--transition-fast)}.section-item.expanded .section-chevron{transform:rotate(90deg)}.section-renderer .section-title{font-size:14px;font-weight:600;color:var(--color-text-primary);border-bottom:none;padding-bottom:0;margin:0}.section-content{padding:var(--spacing-sm) 0 var(--spacing-md);padding-left:calc(16px + var(--spacing-sm));display:flex;flex-direction:column;gap:var(--spacing-sm)}.notification-renderer{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);padding-left:calc(var(--spacing-lg) + 4px);background:var(--notification-bg);border:1px solid var(--notification-color);border-radius:var(--radius-md);position:relative}.notification-renderer:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:0 3px 3px 0;background:var(--notification-color)}.notification-icon{flex-shrink:0;color:var(--notification-color);padding-top:2px}.notification-content{flex:1;min-width:0}.notification-title{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0}.notification-message{font-size:13px;color:var(--color-text-secondary);margin:0;line-height:1.5}.notification-solution{margin-top:var(--spacing-sm)}.notification-solution-btn{font-size:13px;padding:var(--spacing-xs) var(--spacing-md);background:var(--notification-color);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:opacity var(--transition-fast)}.notification-solution-btn:hover{opacity:.85}.notification-dismiss{flex-shrink:0;background:transparent;border:none;padding:var(--spacing-xs);cursor:pointer;color:var(--color-text-tertiary);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.notification-dismiss:hover{background:#0000001a;color:var(--color-text-primary)}@media(max-width:768px){.notification-renderer{flex-wrap:wrap}.notification-actions{flex-basis:100%;margin-top:var(--spacing-sm);padding-left:calc(20px + var(--spacing-md))}}.solution-renderer{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.theme-gradient .solution-renderer{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.solution-title{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-lg) 0}.solution-steps{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-md)}.solution-step{display:flex;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-md);border-left:3px solid var(--color-border)}.theme-gradient .solution-step{background:#ffffff05}.solution-step.status-applied{border-left-color:var(--color-healthy);opacity:.7}.solution-step.status-failed{border-left-color:var(--color-critical)}.step-number{width:28px;height:28px;border-radius:var(--radius-full);background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0}.solution-step.status-applied .step-number{background:var(--color-healthy)}.solution-step.status-failed .step-number{background:var(--color-critical)}.step-content{flex:1;min-width:0}.step-title{font-size:14px;font-weight:500;color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0}.step-description{font-size:13px;color:var(--color-text-secondary);margin:0 0 var(--spacing-sm) 0;line-height:1.5}.step-actions{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.btn-sm{padding:var(--spacing-xs) var(--spacing-md);font-size:13px}.step-status-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:500}.step-status-badge.applied{background:var(--color-healthy-bg);color:var(--color-healthy)}.step-status-badge.failed{background:var(--color-critical-bg);color:var(--color-critical)}.solution-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary);background:var(--color-surface);border-radius:var(--radius-lg)}.search-component{position:relative;width:100%}.search-prompt{font-size:14px;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:16px;color:var(--color-text-tertiary);pointer-events:none}.search-component .search-input{width:100%;padding:var(--spacing-sm) 36px var(--spacing-sm) 44px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;color:var(--color-text-primary);transition:all var(--transition-fast)}.theme-gradient .search-input{background:var(--glass-bg);border-color:#ffffff1a}.search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f11a}.search-clear{position:absolute;right:8px;background:transparent;border:none;padding:4px;cursor:pointer;color:var(--color-text-tertiary);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.search-clear:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.search-results{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);max-height:320px;overflow-y:auto}.theme-gradient .search-results{background:var(--color-bg-secondary);border-color:#ffffff1a}.search-result-item{display:flex;flex-direction:column;gap:2px;padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:background var(--transition-fast)}.search-result-item:hover{background:var(--color-bg-secondary)}.theme-gradient .search-result-item:hover{background:#ffffff0d}.result-title{font-size:14px;color:var(--color-text-primary)}.result-description{font-size:12px;color:var(--color-text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-highlight{background:#6366f133;color:var(--color-primary);padding:0 2px;border-radius:2px}.search-no-results{padding:var(--spacing-lg);text-align:center;color:var(--color-text-tertiary);font-size:13px}.timeline-renderer{display:flex;flex-direction:column}.timeline-toolbar{margin-bottom:var(--spacing-md)}.timeline-sort-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px;font-weight:500;color:var(--color-primary);cursor:pointer;transition:all var(--transition-fast)}.timeline-sort-btn:hover{background:var(--color-bg-secondary)}.timeline-body,.timeline-date-group{display:flex;flex-direction:column}.timeline-date-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) 0;background:transparent;border:none;cursor:pointer;text-align:left;font-size:14px;font-weight:600;color:var(--color-text-primary)}.timeline-date-header:hover{color:var(--color-primary)}.timeline-chevron{display:inline-block;font-size:16px;font-weight:600;color:var(--color-text-tertiary);transition:transform var(--transition-fast);width:16px;text-align:center}.timeline-chevron.expanded{transform:rotate(90deg)}.timeline-events{display:flex;flex-direction:column;padding-left:var(--spacing-lg)}.timeline-event-row{display:flex;flex-direction:column}.timeline-event-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) 0;background:transparent;border:none;cursor:pointer;text-align:left;font-size:13px;color:var(--color-text-primary)}.timeline-event-header:hover{color:var(--color-primary)}.timeline-event-time{font-size:13px;color:var(--color-text-secondary);white-space:nowrap}.timeline-event-status{font-size:14px;flex-shrink:0}.timeline-event-title{font-size:13px;font-weight:500}.timeline-event-description{padding:var(--spacing-xs) 0 var(--spacing-sm);padding-left:calc(16px + var(--spacing-sm));margin-left:calc(16px + var(--spacing-sm));font-size:13px;color:var(--color-text-secondary);line-height:1.5}.timeline-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary);background:var(--color-surface);border-radius:var(--radius-lg)}.stepviews-renderer{display:flex;flex-direction:column;gap:var(--spacing-xs)}.check-item{padding:var(--spacing-xs) 0}.check-item.depth-0{padding:var(--spacing-sm) 0}.check-row{display:flex;align-items:center;gap:var(--spacing-sm);min-height:24px}.check-icon{flex-shrink:0;width:16px;height:16px}.check-pass{color:var(--color-healthy)}.check-warning{color:var(--color-warning)}.check-fail{color:var(--color-critical)}.check-info{color:var(--color-info)}.check-none{color:var(--color-text-tertiary);font-size:14px;text-align:center;line-height:16px}.check-loading-spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:check-spin .8s linear infinite}@keyframes check-spin{to{transform:rotate(360deg)}}.check-title{font-size:13px;color:var(--color-text-primary);line-height:1.4;flex:1;min-width:0}.check-title-bold{font-weight:600;font-size:14px}.check-title a{color:var(--color-primary)}.check-expand-btn{background:transparent;border:none;padding:2px;cursor:pointer;color:var(--color-text-tertiary);border-radius:var(--radius-sm);flex-shrink:0}.check-expand-btn:hover{color:var(--color-text-primary);background:var(--color-bg-tertiary)}.check-details-link{background:transparent;border:none;padding:0;cursor:pointer;color:var(--color-primary);font-size:12px;flex-shrink:0}.check-details-link:hover{text-decoration:underline}.check-subchecks{margin-left:24px;border-left:1px solid var(--color-border);padding-left:var(--spacing-sm)}.check-body-markdown{margin-left:24px;padding:var(--spacing-sm) var(--spacing-md);font-size:13px;color:var(--color-text-secondary);line-height:1.6;background:var(--color-bg-secondary);border-radius:var(--radius-sm);margin-top:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.check-body-markdown a{color:var(--color-primary)}.check-body-markdown code{font-family:var(--font-mono);font-size:12px;background:var(--color-bg-tertiary);padding:1px 4px;border-radius:var(--radius-sm)}.check-body-markdown pre{background:var(--color-bg-tertiary);padding:var(--spacing-sm);border-radius:var(--radius-sm);overflow-x:auto;font-size:12px}.check-details-panel{margin-left:24px;margin-top:var(--spacing-xs);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.check-details-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);font-size:13px;font-weight:600;color:var(--color-text-primary)}.check-details-close{background:transparent;border:none;cursor:pointer;color:var(--color-text-tertiary);font-size:14px;padding:2px 6px;border-radius:var(--radius-sm)}.check-details-close:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.check-details-content{padding:var(--spacing-md);font-size:13px;color:var(--color-text-secondary);line-height:1.6}.check-details-content a{color:var(--color-primary)}.info-step{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);margin:var(--spacing-xs) 0}.info-recommendation{border-left:3px solid var(--color-info)}.info-diagnostic{border-left:3px solid var(--color-warning)}.info-step-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.info-step-icon{font-size:16px}.info-step-title{font-size:14px;font-weight:600;color:var(--color-text-primary)}.info-step-body{font-size:13px;color:var(--color-text-secondary);line-height:1.6}.info-step-body a{color:var(--color-primary)}.input-step{padding:var(--spacing-md) 0}.input-step-title{font-size:14px;font-weight:600;margin:0 0 var(--spacing-xs) 0;color:var(--color-text-primary)}.input-step-text{font-size:13px;color:var(--color-text-secondary);margin:0 0 var(--spacing-sm) 0}.input-step-row{display:flex;gap:var(--spacing-sm)}.input-step-row .input{flex:1;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;color:var(--color-text-primary)}.input-step-tooltip{font-size:12px;color:var(--color-text-tertiary);margin:var(--spacing-xs) 0 0 0}.dropdown-step{padding:var(--spacing-md) 0}.dropdown-step-desc{font-size:13px;color:var(--color-text-secondary);margin:0 0 var(--spacing-sm) 0}.dropdown-step-item{margin-bottom:var(--spacing-sm)}.dropdown-step-label{display:block;font-size:13px;font-weight:500;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.button-step{padding:var(--spacing-sm) 0}.stepviews-renderer .btn{padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.stepviews-renderer .btn-primary{background:var(--color-primary);color:#fff}.stepviews-renderer .btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.stepviews-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary);background:var(--color-surface);border-radius:var(--radius-lg)}.workflow-renderer{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.theme-gradient .workflow-renderer{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.workflow-status-banner{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md)}.workflow-status-icon{font-size:18px;font-weight:600}.workflow-status-label{font-size:14px;font-weight:500;color:var(--color-text-primary)}.workflow-markdown{font-size:14px;line-height:1.6;color:var(--color-text-primary)}.workflow-markdown h3{font-size:16px;font-weight:600;margin:0 0 var(--spacing-sm)}.workflow-markdown ol,.workflow-markdown ul{padding-left:var(--spacing-lg);margin:var(--spacing-sm) 0}.workflow-markdown li{margin:var(--spacing-xs) 0}.workflow-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary);background:var(--color-surface);border-radius:var(--radius-lg)}.archdiagram-renderer{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.archdiagram-renderer.fullscreen{position:fixed;inset:0;z-index:1000;border-radius:0}.theme-gradient .archdiagram-renderer{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.theme-gradient .archdiagram-renderer.fullscreen{background:var(--color-bg-primary)}.diagram-title{font-size:16px;font-weight:500;color:var(--color-text-primary);margin:0}.diagram-controls{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.zoom-level{min-width:50px;text-align:center;font-size:13px;color:var(--color-text-secondary)}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:12px}.diagram-container{flex:1;overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);min-height:300px;display:flex;align-items:center;justify-content:center}.fullscreen .diagram-container{min-height:unset}.diagram-content{transform-origin:center;transition:transform var(--transition-normal)}.diagram-svg{display:flex;align-items:center;justify-content:center}.diagram-svg svg{max-width:100%;height:auto}.diagram-image{max-width:100%;height:auto}.archdiagram-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary);background:var(--color-surface);border-radius:var(--radius-lg)}.diagram-nodes{display:flex;flex-direction:column;gap:var(--spacing-sm)}.arch-node-card{border:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-md)}.arch-node-header{display:flex;align-items:center;gap:var(--spacing-sm)}.arch-node-type{font-size:11px;color:var(--color-text-tertiary);background:var(--color-bg-primary);padding:1px 6px;border-radius:var(--radius-sm)}.arch-node-title{font-size:14px;color:var(--color-text-primary)}.arch-node-subtitle{font-size:12px;color:var(--color-text-secondary);display:block;margin-top:2px}.arch-node-children{margin-top:var(--spacing-xs);border-left:2px solid var(--color-border);padding-left:var(--spacing-sm)}.video-renderer{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.theme-gradient .video-renderer{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.video-title{font-size:16px;font-weight:500;color:var(--color-text-primary);margin:0 0 var(--spacing-md) 0}.video-container{position:relative;width:100%;padding-bottom:56.25%;background:var(--color-bg-tertiary);border-radius:var(--radius-md);overflow:hidden}.video-iframe,.video-player{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.video-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary);background:var(--color-surface);border-radius:var(--radius-lg)}.dashboard-renderer{display:grid;gap:var(--spacing-md);grid-auto-rows:minmax(200px,auto)}.dashboard-item{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-lg);display:flex;flex-direction:column;border:1px solid var(--color-border)}.theme-gradient .dashboard-item{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.item-title{font-size:14px;font-weight:500;color:var(--color-text-primary);margin:0 0 var(--spacing-md) 0;padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.item-content{flex:1;overflow:auto}.item-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-tertiary);font-size:13px}.dashboard-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary);background:var(--color-surface);border-radius:var(--radius-lg)}@media(max-width:768px){.dashboard-renderer{grid-template-columns:1fr!important}.dashboard-item{grid-column:span 1!important}}.report-renderer{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg)}.report-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary)}.report-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.report-customer{font-size:15px;font-weight:600;color:var(--color-text-primary)}.report-score-badge{font-size:13px;color:var(--color-text-secondary);background:var(--color-bg-tertiary);padding:4px 12px;border-radius:var(--radius-sm)}.report-score-badge strong{color:var(--color-primary)}.report-sites{margin-bottom:var(--spacing-md)}.report-site-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0;font-size:13px;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.report-site-row:last-child{border-bottom:none}.report-site-name{font-family:var(--font-mono, monospace);font-size:12px}.report-site-score{font-weight:600}.report-features-table{width:100%;border-collapse:collapse;font-size:13px}.report-features-table th{text-align:left;padding:8px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-tertiary);background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border)}.report-features-table td{padding:8px 12px;border-bottom:1px solid var(--color-border);color:var(--color-text-primary)}.feature-name{font-weight:500}.feature-weight,.feature-grade{text-align:center;color:var(--color-text-secondary)}.feature-status{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px}.grade-excellent{background:var(--color-healthy-bg, #e6f4ea);color:var(--color-healthy, #137333)}.grade-good{background:var(--color-info-bg, #e8f0fe);color:var(--color-info, #1967d2)}.grade-fair{background:var(--color-warning-bg, #fef7e0);color:var(--color-warning, #ea8600)}.grade-poor{background:#fce8e6;color:#c5221f}.grade-none{background:var(--color-bg-tertiary);color:var(--color-text-tertiary)}@media print{.report-renderer{background:#fff;border:none;padding:0}}.email-renderer{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.theme-gradient .email-renderer{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.email-header{padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.email-subject{font-size:18px;font-weight:500;color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.email-meta{display:flex;flex-direction:column;gap:var(--spacing-xs)}.meta-row{display:flex;gap:var(--spacing-sm);font-size:13px}.meta-label{color:var(--color-text-tertiary);min-width:50px}.meta-value{color:var(--color-text-secondary)}.email-body-container{flex:1;min-height:300px;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.email-iframe{width:100%;height:400px;border:none;background:#fff}.email-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary);background:var(--color-surface);border-radius:var(--radius-lg)}.keystone-renderer{padding:var(--spacing-sm) var(--spacing-md)}.keystone-row{display:flex;align-items:center;gap:var(--spacing-sm)}.keystone-icon{font-size:18px;flex-shrink:0}.keystone-title{font-size:14px;font-weight:700;color:var(--color-text-primary);margin:0}.keystone-badge{display:inline-block;font-size:11px;font-weight:600;padding:1px 6px;border:1px solid var(--color-text-secondary);border-radius:3px;color:var(--color-text-secondary);white-space:nowrap}.keystone-description{font-size:13px;color:var(--color-primary);margin:var(--spacing-xs) 0 0 0;padding-left:calc(18px + var(--spacing-sm));line-height:1.5}.piechart-renderer{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-lg);display:flex;flex-direction:column;align-items:center}.theme-gradient .piechart-renderer{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.piechart-title{font-size:15px;font-weight:600;color:var(--color-text-primary);margin:0}.piechart-description{font-size:13px;color:var(--color-text-secondary);line-height:1.5;align-self:flex-start;width:100%}.piechart-description p{margin:0}.piechart-container{width:100%;min-height:300px}.piechart-total{margin-top:var(--spacing-md);font-size:14px;font-weight:500;color:var(--color-text-secondary)}.piechart-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary);background:var(--color-surface);border-radius:var(--radius-lg)}.stub-banner{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.theme-gradient .stub-banner{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.stub-banner-icon{font-size:24px;flex-shrink:0;padding-top:2px}.stub-banner-content{flex:1;min-width:0}.stub-banner-title{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0}.stub-banner-text{font-size:13px;color:var(--color-text-secondary);margin:0;line-height:1.5}.stub-resource-uri{display:block;margin-top:var(--spacing-sm);font-size:11px;color:var(--color-text-tertiary);word-break:break-all}.stub-appinsights-item{font-size:13px;color:var(--color-text-secondary);padding:var(--spacing-xs) 0;border-bottom:1px solid var(--color-border)}.stub-appinsights-item:last-child{border-bottom:none}.stub-downtime{display:flex;flex-direction:column;gap:var(--spacing-sm)}.stub-downtime-item{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.theme-gradient .stub-downtime-item{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.stub-downtime-icon{font-size:20px;flex-shrink:0}.stub-downtime-content{flex:1}.stub-downtime-label{font-size:14px;font-weight:500;color:var(--color-text-primary)}.stub-downtime-range{font-size:12px;color:var(--color-text-tertiary);margin-top:var(--spacing-xs)}.stub-recommendations{display:flex;flex-direction:column;gap:var(--spacing-md)}.stub-section-title{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0}.stub-recommendation-card{padding:var(--spacing-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.theme-gradient .stub-recommendation-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.stub-recommendation-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.stub-recommendation-icon{font-size:20px}.stub-recommendation-service{font-size:14px;font-weight:600;color:var(--color-text-primary)}.stub-recommendation-reason{font-size:13px;color:var(--color-text-secondary);margin:0 0 var(--spacing-md) 0;line-height:1.5}.stub-recommendation-tiers{display:flex;align-items:center;gap:var(--spacing-sm);font-size:13px}.stub-tier{padding:2px 8px;border-radius:var(--radius-sm);font-weight:500}.stub-tier-current,.stub-tier-recommended{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.stub-tier-arrow{color:var(--color-text-tertiary)}.stub-savings{color:var(--color-text-secondary);font-weight:500;margin-left:var(--spacing-sm)}.nograph-renderer{padding:var(--spacing-md);background:var(--color-surface);border-radius:var(--radius-md)}.stub-enablement-details{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-top:var(--spacing-sm);padding:var(--spacing-sm);background:var(--color-bg-secondary);border-radius:var(--radius-sm)}.stub-enablement-field{display:flex;gap:var(--spacing-sm);font-size:13px}.stub-enablement-label{font-weight:600;color:var(--color-text-primary);white-space:nowrap}.stub-enablement-value{color:var(--color-text-secondary);word-break:break-all}.stub-enablement-note{margin-top:var(--spacing-sm);font-size:12px;color:var(--color-text-tertiary)}.theme-gradient .nograph-renderer{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.nograph-renderer p{margin:0;font-size:14px;color:var(--color-text-secondary);line-height:1.6}.appinsights-renderer{display:flex;flex-direction:column;gap:var(--spacing-md)}.appinsights-header-bar{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) 0}.appinsights-icon{font-size:18px}.appinsights-header-text{font-size:14px;font-weight:600;color:var(--color-text-primary)}.appinsights-query-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.theme-gradient .appinsights-query-section{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.appinsights-query-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.appinsights-query-info{flex:1;min-width:0}.appinsights-query-title{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0}.appinsights-query-description{font-size:13px;color:var(--color-text-secondary);margin:var(--spacing-xs) 0 0 0;line-height:1.5}.appinsights-toggle-query{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-xs) var(--spacing-md);font-size:12px;color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.appinsights-toggle-query:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.appinsights-query-block{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);padding:var(--spacing-md) var(--spacing-lg)}.appinsights-query-actions{display:flex;justify-content:flex-end;margin-bottom:var(--spacing-sm)}.appinsights-copy-btn{background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-sm);font-size:12px;cursor:pointer;transition:background var(--transition-fast)}.appinsights-copy-btn:hover{background:var(--color-primary-hover)}.appinsights-query-code{margin:0;padding:var(--spacing-md);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:12px;color:var(--color-text-primary);line-height:1.6;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.appinsights-query-results{padding:var(--spacing-md) var(--spacing-lg) var(--spacing-lg)}.appinsights-no-data{padding:var(--spacing-md) var(--spacing-lg)}.appinsights-no-data p{margin:0;font-size:13px;color:var(--color-text-tertiary);font-style:italic}.appinsights-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary);background:var(--color-surface);border-radius:var(--radius-lg)}@media(max-width:768px){.appinsights-query-header{flex-direction:column}.appinsights-toggle-query{align-self:flex-start}}.fallback-renderer{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--color-bg-tertiary);border:1px dashed var(--color-border);border-radius:var(--radius-md)}.theme-gradient .fallback-renderer{background:#ffffff05;border-color:#ffffff1a}.fallback-icon{color:var(--color-text-tertiary);flex-shrink:0}.fallback-content{display:flex;flex-direction:column;gap:var(--spacing-xs)}.fallback-title{font-size:14px;font-weight:500;color:var(--color-text-secondary);margin:0}.fallback-type{font-size:12px;color:var(--color-text-tertiary);margin:0;font-family:var(--font-mono)}.fallback-data-title{font-size:12px;color:var(--color-text-tertiary);margin:0}.dynamic-data-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.dynamic-data-item{display:flex;flex-direction:column;gap:var(--spacing-sm)}.dynamic-data-title{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0;padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.timeseries-per-instance{display:grid;grid-template-columns:220px 1fr;gap:var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:0;overflow:hidden}.theme-gradient .timeseries-per-instance{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border-color:var(--color-border)}.timeseries-per-instance-title{grid-column:1 / -1;font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0;padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.timeseries-per-instance-description{grid-column:1 / -1;font-size:13px;color:var(--color-text-secondary);line-height:1.5}.timeseries-per-instance-description p{margin:0}.instance-selector{display:flex;flex-direction:column;gap:var(--spacing-sm);border-right:1px solid var(--color-border);padding-right:var(--spacing-md)}.instance-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.instance-label{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.instance-actions{display:flex;gap:var(--spacing-sm)}.btn-link{background:none;border:none;padding:0;color:var(--color-primary);font-size:12px;cursor:pointer}.btn-link:hover{text-decoration:underline}.zoom-reset{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);background:none;border:1px solid var(--color-info);border-radius:var(--radius-sm);color:var(--color-info);font-size:12px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.zoom-reset:hover{background:var(--color-info);color:#fff}.instance-list{display:flex;flex-direction:column;gap:var(--spacing-xs);max-height:300px;overflow-y:auto}.instance-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) 0;cursor:pointer;font-size:13px;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.instance-item:hover{background:var(--color-bg-tertiary)}.instance-item.instance-highlighted{background:var(--color-bg-tertiary);box-shadow:inset 2px 0 0 var(--color-primary);font-weight:600}.instance-item.instance-dimmed{opacity:.35}.instance-item input[type=checkbox]{width:14px;height:14px;accent-color:var(--color-primary)}.instance-color{width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0}.instance-name{color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.instance-chart{min-height:300px}.instance-chart .recharts-line{transition:opacity .15s ease}.instance-chart .recharts-line path{transition:stroke-width .15s ease}.timeseries-per-instance .recharts-cartesian-axis-tick text{fill:var(--color-text-tertiary);font-size:11px}.timeseries-per-instance .recharts-cartesian-axis-line,.timeseries-per-instance .recharts-cartesian-axis-tick line{stroke:var(--color-border);stroke-opacity:.5}.no-instances-selected{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-tertiary)}.timeseries-per-instance-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary);background:var(--color-surface);border-radius:var(--radius-lg)}@media(max-width:768px){.timeseries-per-instance{grid-template-columns:1fr}.instance-selector{border-right:none;border-bottom:1px solid var(--color-border);padding-right:0;padding-bottom:var(--spacing-sm)}.instance-list{flex-direction:row;flex-wrap:wrap;max-height:none}.instance-item{flex-shrink:0}.instance-chart{min-height:220px;min-width:0}.timeseries-per-instance-title{padding:var(--spacing-sm) var(--spacing-md)}}.data-tab{display:flex;flex-direction:column;gap:var(--spacing-md);min-width:0;overflow-x:hidden}.data-tab-smart .data-group{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);overflow:hidden}.data-tab-smart .group-title{font-size:14px;font-weight:600;letter-spacing:0;color:var(--color-text-secondary);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);margin:0}.data-tab-smart .group-content{padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.data-tab-waterfall .waterfall-item{position:relative;padding:var(--spacing-md);background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);content-visibility:auto;contain-intrinsic-size:auto 500px}.waterfall-item-title{font-size:15px;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.waterfall-item-content{position:relative;min-width:0;overflow-x:auto}.waterfall-copy-btn{position:absolute;top:4px;right:4px;z-index:1;background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;color:var(--color-text-tertiary);display:flex;align-items:center;justify-content:center}.waterfall-copy-btn:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.data-tab-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xxl);text-align:center;background:var(--color-surface);border-radius:var(--radius-lg);min-height:300px}.data-tab-empty .empty-icon{font-size:48px;margin-bottom:var(--spacing-md);opacity:.5}.data-tab-empty h3{font-size:18px;font-weight:500;color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.data-tab-empty p{font-size:14px;color:var(--color-text-tertiary);margin:0}.theme-gradient .data-tab-smart .data-group,.theme-gradient .data-tab-waterfall .waterfall-item{background:var(--glass-bg-solid);border-color:var(--glass-border)}.theme-gradient .data-tab-waterfall .waterfall-item *{-webkit-backdrop-filter:none;backdrop-filter:none}.theme-gradient .data-tab-empty{background:var(--glass-bg-solid);border-color:var(--glass-border)}@media(max-width:768px){.data-tab-smart .group-title{padding:var(--spacing-sm) var(--spacing-md)}.data-tab-smart .group-content{padding:var(--spacing-sm)}}.data-sources-tab{display:flex;flex-direction:column;gap:var(--spacing-lg)}.data-sources-header{display:flex;justify-content:space-between;align-items:center}.data-sources-header h3{font-size:16px;font-weight:600;margin:0;color:var(--color-text-primary)}.source-count{font-size:13px;color:var(--color-text-tertiary);background:var(--color-bg-tertiary);padding:4px 10px;border-radius:var(--radius-full)}.data-source-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.data-source-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.data-source-card.expanded{border-color:var(--color-primary)}.card-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:transparent;border:none;width:100%;cursor:pointer;text-align:left;color:var(--color-text-primary);font-size:14px}.card-header:hover{background:var(--color-bg-secondary)}.source-icon{font-size:18px}.source-name{font-weight:600}.source-table{color:var(--color-text-tertiary);font-size:13px;margin-right:var(--spacing-sm)}.source-badge{color:var(--color-text-tertiary);font-size:12px;margin-left:auto;margin-right:var(--spacing-sm);background:var(--color-bg-tertiary);padding:2px 8px;border-radius:var(--radius-full)}.source-badge-empty{opacity:.6;font-style:italic}.chevron{transition:transform .2s ease;color:var(--color-text-tertiary)}.chevron.expanded{transform:rotate(180deg)}.card-body{padding:var(--spacing-md);padding-top:0;display:flex;flex-direction:column;gap:var(--spacing-md)}.source-metadata{display:flex;flex-wrap:wrap;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-md)}.meta-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:13px}.meta-label{color:var(--color-text-tertiary)}.meta-value{color:var(--color-text-primary);font-family:var(--font-mono, monospace)}.query-section{display:flex;flex-direction:column;gap:var(--spacing-sm)}.query-header{display:flex;justify-content:space-between;align-items:center}.query-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary)}.query-actions{display:flex;gap:var(--spacing-xs)}.query-code{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);margin:0;overflow-x:auto;max-height:300px;overflow-y:auto;font-size:13px;line-height:1.5;font-family:var(--font-mono, "Consolas", "Monaco", monospace)}.query-code code{white-space:pre-wrap;word-break:break-word;color:var(--color-text-primary)}.btn-sm{padding:4px 10px;font-size:12px;border-radius:var(--radius-sm)}.other-properties{border-top:1px solid var(--color-border);padding-top:var(--spacing-md)}.other-properties h4{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);margin:0 0 var(--spacing-sm) 0}.property-list{display:flex;flex-direction:column;gap:var(--spacing-xs);margin:0}.property-item{display:flex;gap:var(--spacing-sm);font-size:13px}.property-item dt{color:var(--color-text-tertiary);min-width:120px}.property-item dd{color:var(--color-text-primary);margin:0;word-break:break-word}.data-sources-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xxl);text-align:center;background:var(--color-surface);border-radius:var(--radius-lg);min-height:200px}.data-sources-empty .empty-icon{font-size:48px;margin-bottom:var(--spacing-md);opacity:.5}.data-sources-empty h3{font-size:18px;font-weight:500;color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.data-sources-empty p{font-size:14px;color:var(--color-text-tertiary);margin:0}.theme-gradient .data-source-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.theme-gradient .query-code{background:#0000004d}@media(max-width:768px){.source-metadata{flex-direction:column;gap:var(--spacing-xs)}.query-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.query-actions{width:100%}.query-actions .btn-sm{flex:1;text-align:center}}.dee{padding:var(--spacing-lg);max-width:960px}.dee-badge{display:inline-block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 10px;border-radius:var(--radius-sm, 4px);background:var(--color-critical, #ef4444);color:#fff}.dee-title{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:var(--spacing-md) 0 0 0;padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border, #e2e8f0)}.dee-subtitle{font-size:15px;color:var(--color-text-primary);margin:var(--spacing-sm) 0 var(--spacing-md) 0;line-height:1.6}.dee-exception-section{margin-bottom:var(--spacing-md)}.dee-exception-label{font-weight:700;color:var(--color-critical, #ef4444);font-size:14px}.dee-exception-text{color:var(--color-critical, #ef4444);font-size:14px;word-break:break-word}.dee-exception-text--inner{color:var(--color-critical, #ef4444)}.dee-stack{margin-top:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:#d3d3d34f;overflow-x:auto}.dee-stack pre{font-family:var(--font-mono, "Consolas", "Courier New", monospace);font-size:12px;line-height:1.6;margin:0;white-space:pre-wrap;word-break:break-all}.dee-stack ul{list-style:none;padding:0;margin:0}.dee-stack li{white-space:nowrap;font-family:var(--font-mono, "Consolas", "Courier New", monospace);font-size:12px;line-height:1.6}.dee-link{background:none;border:none;cursor:pointer;color:var(--color-primary, #6366f1);font-size:13px;padding:var(--spacing-xs) 0;text-decoration:none}.dee-link:hover{text-decoration:underline}.dee-metadata{margin-top:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs)}.dee-metadata-row{font-size:13px;line-height:1.6}.dee-metadata-label{display:inline-block;min-width:90px;color:var(--color-text-secondary)}.dee-metadata-value{font-weight:600;color:var(--color-text-primary)}.dee-next-steps{margin-top:var(--spacing-md)}.dee-next-steps h3{font-size:18px;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0;padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border, #e2e8f0)}.dee-next-steps p{font-size:15px;color:var(--color-text-primary);margin:var(--spacing-xs) 0 var(--spacing-sm) 0;line-height:1.6}.dee-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.dee-report-btn{display:inline-flex;align-items:center;justify-content:center;padding:6px 20px;font-size:14px;font-weight:600;border-radius:var(--radius-sm, 4px);border:1px solid var(--color-primary, #6366f1);background:var(--color-primary, #6366f1);color:#fff;cursor:pointer;text-decoration:none;transition:background .15s}.dee-report-btn:hover{background:var(--color-primary-hover, #4f46e5)}.dee-report-btn--danger{background:var(--color-critical, #ef4444);border-color:var(--color-critical, #ef4444)}.dee-report-btn--danger:hover{background:#dc2626;border-color:#dc2626}.dee-author-link{color:var(--color-primary, #6366f1);text-decoration:none;font-weight:600}.dee-author-link:hover{text-decoration:underline}.dee-report-btn--secondary{background:transparent;border:1px solid var(--color-border, #e2e8f0);color:var(--color-text-primary)}.dee-report-btn--secondary:hover{background:var(--color-background, #f5f5f5)}.dee-fallback-message{font-size:14px;color:var(--color-text-secondary);margin:var(--spacing-sm) 0 var(--spacing-md) 0;line-height:1.5}.dee-kad{background:linear-gradient(180deg,#f0f6ff,#e6efff);border:1px solid #7fb0e8;border-left:4px solid #0078d4;border-radius:6px;padding:16px 18px;margin:16px 0 20px}.dee-kad-title{font-size:15px;font-weight:600;color:#003a70;margin:0 0 6px;display:flex;align-items:center;gap:8px}.dee-kad-badge{background:#fc0;color:#333;font-size:10px;font-weight:700;padding:2px 6px;border-radius:3px;letter-spacing:.5px}.dee-kad-summary{font-size:13px;color:#333;margin:4px 0 12px}.dee-kad-summary code{background:#0078d414;padding:1px 5px;border-radius:3px;font-family:Cascadia Code,Consolas,monospace;font-size:12px}.dee-kad-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 10px}.dee-kad-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:4px;font-size:13px;font-weight:600;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:background .12s ease,border-color .12s ease}.dee-kad-btn--primary{background:#0078d4;color:#fff;border-color:#0067b8}.dee-kad-btn--primary:hover{background:#106ebe}.dee-kad-btn--secondary{background:#fff;color:#0078d4;border-color:#7fb0e8}.dee-kad-btn--secondary:hover{background:#f0f6ff}.dee-kad-notes{font-size:12px;color:#555;margin:6px 0;line-height:1.45}.dee-kad-meta{display:flex;flex-wrap:wrap;gap:12px 20px;font-size:12px;color:#555;margin-top:10px;padding-top:10px;border-top:1px solid rgba(0,120,212,.15)}.dee-kad-meta strong{color:#333;font-weight:600}.dee-kad-fine{font-size:12px;color:#666;margin-top:8px}.dee-kad-fine a{color:#0078d4;text-decoration:none}.dee-kad-fine a:hover{text-decoration:underline}.dee-advanced-toggle{background:none;border:none;color:#0078d4;cursor:pointer;font-size:12px;padding:4px 0;margin:4px 0 12px;text-align:left}.dee-advanced-toggle:hover{text-decoration:underline}.dnf{display:flex;align-items:flex-start;justify-content:center;padding:var(--spacing-xl) var(--spacing-lg);min-height:400px}.dnf-card{max-width:520px;width:100%;padding:var(--spacing-xl);background:var(--color-surface);border:1px solid var(--color-warning, #f59e0b);border-radius:var(--radius-xl, 12px);text-align:center;box-shadow:var(--shadow-lg, 0 4px 16px rgba(0, 0, 0, .08))}.dnf-icon{display:flex;justify-content:center;margin-bottom:var(--spacing-lg);color:var(--color-warning, #f59e0b)}.dnf-title{font-size:24px;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.dnf-subtitle{font-size:15px;color:var(--color-text-secondary);line-height:1.6;margin:0 0 var(--spacing-lg) 0}.dnf-detector-id{display:inline-block;padding:2px 8px;background:var(--color-bg-tertiary, #f0f0f0);border-radius:var(--radius-sm, 4px);font-family:var(--font-mono, "Consolas", "Courier New", monospace);font-size:13px;color:var(--color-text-primary);word-break:break-all}.dnf-reasons{text-align:left;margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-bg-secondary, #fafafa);border-radius:var(--radius-md, 8px)}.dnf-reasons h3{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.dnf-reasons ul{list-style:none;padding:0;margin:0}.dnf-reasons li{position:relative;padding-left:20px;font-size:13px;color:var(--color-text-secondary);line-height:1.8}.dnf-reasons li:before{content:"•";position:absolute;left:6px;color:var(--color-text-tertiary, #999)}.dnf-actions{display:flex;gap:var(--spacing-sm);justify-content:center}.dnf-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 24px;font-size:14px;font-weight:500;border-radius:var(--radius-md, 8px);border:none;cursor:pointer;transition:all .15s ease;text-decoration:none}.dnf-btn--primary{background:var(--color-primary, #6366f1);color:#fff}.dnf-btn--primary:hover{background:var(--color-primary-hover, #4f46e5);transform:translateY(-1px)}.dnf-btn--secondary{background:var(--color-bg-tertiary, #f0f0f0);color:var(--color-text-primary);border:1px solid var(--color-border, #e2e8f0)}.dnf-btn--secondary:hover{background:var(--color-border, #e2e8f0)}.comment-thread{position:relative;display:flex;gap:0}.comment-thread--nested{margin-left:8px;padding-left:0}.comment-collapse-bar{width:16px;min-height:100%;padding:0;border:none;background:transparent;cursor:pointer;position:relative;flex-shrink:0}.comment-collapse-bar:after{content:"";position:absolute;left:7px;top:0;bottom:0;width:2px;background:var(--color-border);border-radius:1px;transition:background .15s ease}.comment-collapse-bar:hover:after{background:var(--color-primary)}.comment-body{display:flex;gap:8px;flex:1;min-width:0;padding:8px 0}.comment-votes{display:flex;flex-direction:column;align-items:center;gap:0;flex-shrink:0;width:28px}.comment-vote-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:transparent;color:var(--color-text-tertiary);border-radius:var(--radius-sm);cursor:pointer;transition:color .12s ease,background .12s ease}.comment-vote-btn:hover{background:var(--color-bg-hover);color:var(--color-text-secondary)}.comment-vote-btn--active-up{color:var(--color-primary)}.comment-vote-btn--active-up:hover{color:var(--color-primary-hover);background:var(--color-primary-light)}.comment-vote-btn--active-down{color:var(--color-danger, #d32f2f)}.comment-vote-btn--active-down:hover{color:var(--color-danger, #d32f2f);background:#d32f2f14}.comment-score{font-size:12px;font-weight:600;font-family:var(--font-sans);color:var(--color-text-secondary);line-height:1;min-width:16px;text-align:center;-webkit-user-select:none;user-select:none}.comment-score--positive{color:var(--color-primary)}.comment-score--negative{color:var(--color-danger, #d32f2f)}.comment-content{flex:1;min-width:0}.comment-meta{display:flex;align-items:center;gap:6px;margin-bottom:4px}.comment-toggle-inline{display:inline-flex;align-items:center;padding:0;border:none;background:transparent;color:var(--color-text-tertiary);cursor:pointer}.comment-author{font-size:12px;font-weight:600;color:var(--color-text-primary)}.comment-author--you{color:var(--color-primary)}.comment-you-badge{display:inline-block;margin-left:4px;padding:0 4px;font-size:10px;font-weight:600;color:var(--color-primary);background:var(--color-primary-light);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.03em}.comment-time{font-size:11px;color:var(--color-text-tertiary)}.comment-edited-badge{font-size:10px;color:var(--color-text-tertiary);font-style:italic}.comment-text{font-size:13px;line-height:1.5;color:var(--color-text-primary);margin:0 0 4px;word-wrap:break-word;white-space:pre-wrap}.comment-text--deleted{font-style:italic;color:var(--color-text-tertiary)}.comment-actions{display:flex;gap:2px;margin-top:2px}.comment-action-btn{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:none;background:transparent;color:var(--color-text-tertiary);font-size:11px;font-weight:600;font-family:var(--font-sans);border-radius:var(--radius-sm);cursor:pointer;transition:background .12s ease,color .12s ease;text-transform:uppercase;letter-spacing:.03em}.comment-action-btn:hover{background:var(--color-bg-hover);color:var(--color-text-secondary)}.comment-action-btn--delete:hover{color:var(--color-danger, #d32f2f)}.comment-edit-form{margin-top:4px;margin-bottom:4px}.comment-edit-input{width:100%;padding:8px 10px;border:1px solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-bg-primary);color:var(--color-text-primary);font-size:13px;font-family:var(--font-sans);line-height:1.5;resize:vertical;min-height:60px;box-sizing:border-box}.comment-edit-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.comment-edit-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}.comment-edit-cancel,.comment-edit-submit{padding:4px 14px;border-radius:var(--radius-md);font-size:12px;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:background .12s ease}.comment-edit-cancel{border:1px solid var(--color-border);background:transparent;color:var(--color-text-secondary)}.comment-edit-cancel:hover{background:var(--color-bg-hover)}.comment-edit-submit{border:none;background:var(--color-primary);color:#fff}.comment-edit-submit:hover:not(:disabled){background:var(--color-primary-hover)}.comment-edit-submit:disabled{opacity:.5;cursor:default}.comment-reply-form{margin-top:8px;margin-bottom:4px}.comment-reply-input{width:100%;padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-primary);color:var(--color-text-primary);font-size:13px;font-family:var(--font-sans);line-height:1.5;resize:vertical;min-height:60px;box-sizing:border-box}.comment-reply-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.comment-reply-input::placeholder{color:var(--color-text-tertiary)}.comment-reply-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}.comment-reply-cancel,.comment-reply-submit{padding:4px 14px;border-radius:var(--radius-md);font-size:12px;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:background .12s ease}.comment-reply-cancel{border:1px solid var(--color-border);background:transparent;color:var(--color-text-secondary)}.comment-reply-cancel:hover{background:var(--color-bg-hover)}.comment-reply-submit{border:none;background:var(--color-primary);color:#fff}.comment-reply-submit:hover:not(:disabled){background:var(--color-primary-hover)}.comment-reply-submit:disabled{opacity:.5;cursor:default}.comment-replies{margin-top:0}.comment-collapsed-count{font-size:11px;color:var(--color-text-tertiary);font-style:italic}.discussion-backdrop{position:fixed;inset:0;background:#0000004d;z-index:900;animation:discussion-fade-in .2s ease}.discussion-panel{position:fixed;top:0;right:0;bottom:0;width:min(480px,90vw);background:var(--color-bg-primary);border-left:1px solid var(--color-border);box-shadow:-4px 0 24px #0000001f;z-index:901;display:flex;flex-direction:column;animation:discussion-slide-in .25s ease}.discussion-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border);flex-shrink:0}.discussion-header-text{display:flex;align-items:baseline;gap:8px}.discussion-title{font-size:18px;font-weight:700;color:var(--color-text-primary);margin:0}.discussion-count{font-size:13px;color:var(--color-text-tertiary);font-weight:500}.discussion-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;background:transparent;color:var(--color-text-tertiary);border-radius:var(--radius-sm);cursor:pointer;transition:background .12s ease,color .12s ease}.discussion-close:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.discussion-dev-banner{padding:8px 20px;background:#fef3cd;color:#664d03;font-size:12px;line-height:1.4;border-bottom:1px solid #ffecb5;flex-shrink:0}@media(prefers-color-scheme:dark){.discussion-dev-banner{background:#332701;color:#ffda6a;border-bottom-color:#664d03}}.discussion-compose{padding:16px 20px;border-bottom:1px solid var(--color-border);flex-shrink:0}.discussion-compose-input{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary, var(--color-bg-primary));color:var(--color-text-primary);font-size:13px;font-family:var(--font-sans);line-height:1.5;resize:vertical;min-height:72px;box-sizing:border-box}.discussion-compose-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.discussion-compose-input::placeholder{color:var(--color-text-tertiary)}.discussion-compose-footer{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.discussion-compose-hint{font-size:11px;color:var(--color-text-tertiary)}.discussion-compose-submit{padding:6px 18px;border:none;border-radius:var(--radius-md);background:var(--color-primary);color:#fff;font-size:13px;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:background .12s ease}.discussion-compose-submit:hover:not(:disabled){background:var(--color-primary-hover)}.discussion-compose-submit:disabled{opacity:.5;cursor:default}.discussion-comments{flex:1;overflow-y:auto;padding:12px 20px}.discussion-loading{display:flex;align-items:center;gap:8px;padding:24px 0;justify-content:center;color:var(--color-text-tertiary);font-size:13px}.discussion-spinner{width:16px;height:16px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:discussion-spin .6s linear infinite}.discussion-empty{text-align:center;padding:40px 20px;color:var(--color-text-tertiary)}.discussion-empty p{margin:0;font-size:14px}.discussion-empty-hint{margin-top:4px!important;font-size:12px!important}@keyframes discussion-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes discussion-fade-in{0%{opacity:0}to{opacity:1}}@keyframes discussion-spin{to{transform:rotate(360deg)}}@media(max-width:480px){.discussion-panel{width:100vw}.discussion-compose{padding:12px 16px}.discussion-comments{padding:8px 16px}}.author-byline-wrapper{display:flex;flex-direction:column}.author-byline-title{font-size:28px;font-weight:700;color:var(--color-text-primary);line-height:1.25;margin:0 0 6px;letter-spacing:-.02em}.author-byline-subtitle{font-size:16px;color:var(--color-text-secondary);line-height:1.5;margin:0 0 8px}.author-byline{display:flex;align-items:center;gap:8px;padding:0}.author-byline-avatar{flex-shrink:0}.author-byline-name{font-size:13px;font-weight:500;color:var(--color-text-secondary);line-height:1.3}.author-byline-email-btn{display:inline-flex;align-items:center;justify-content:center;padding:2px;border:none;background:transparent;color:var(--color-text-tertiary);border-radius:var(--radius-sm);cursor:pointer;transition:color .15s ease}.author-byline-email-btn:hover{color:var(--color-primary)}.author-engagement{position:relative;display:flex;align-items:center;gap:2px;padding:4px 0;margin-top:4px;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.ac-engage-btn{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:none;background:transparent;color:var(--color-text-tertiary);font-size:13px;font-weight:500;font-family:var(--font-sans);border-radius:var(--radius-md);cursor:pointer;transition:background .15s ease,color .15s ease;-webkit-user-select:none;user-select:none}.ac-engage-btn:hover{color:var(--color-text-primary)}.ac-engage-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.ac-engage-btn:disabled{opacity:.5;cursor:default}.ac-engage-btn--active{color:var(--color-primary)}.ac-engage-btn--active:hover{color:var(--color-primary-hover)}.ac-engage-toast{position:absolute;top:-32px;left:50%;transform:translate(-50%);padding:4px 12px;background:var(--color-text-primary);color:var(--color-bg-primary);font-size:12px;font-weight:500;border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;animation:ac-toast-in .2s ease;z-index:100}@keyframes ac-toast-in{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(max-width:480px){.author-byline-meta{white-space:normal}.author-engagement{justify-content:space-around}.ac-engage-btn{padding:4px 6px}}.detector-view{display:flex;flex-direction:column;gap:24px;padding:8px 0;min-width:0;max-width:100%;overflow-x:hidden}.detector-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.header-left{flex:1}.detector-title{font-size:24px;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0}.detector-description{font-size:14px;color:var(--color-text-secondary);margin:0;line-height:1.5}.detector-author{font-size:12px;color:var(--color-text-tertiary);margin-top:var(--spacing-xs);display:block}.detector-header .header-right{display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-xs)}.detector-control-bar{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);flex-wrap:wrap}.control-actions{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.view-mode-toggle{display:flex;background:var(--color-bg-tertiary);border-radius:var(--radius-md);padding:2px}.toggle-btn{padding:6px 12px;font-size:13px;font-weight:500;border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:all .15s ease}.toggle-btn:hover{color:var(--color-text-primary)}.toggle-btn.active{background:var(--color-primary);color:#fff}.detector-tabs{display:flex;gap:var(--spacing-xs);border-bottom:1px solid var(--color-border)}.tab-btn{padding:var(--spacing-sm) var(--spacing-md);font-size:14px;font-weight:500;border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .15s ease}.tab-btn:hover{color:var(--color-text-primary)}.tab-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.detector-tab-content{flex:1;min-width:0;overflow-x:hidden}.tab-panel{animation:detector-fadeIn .2s ease}@keyframes detector-fadeIn{0%{opacity:0}to{opacity:1}}.data-sources-placeholder{padding:var(--spacing-xl);text-align:center;color:var(--color-text-secondary);background:var(--color-surface);border-radius:var(--radius-lg)}.data-sources-placeholder h3{margin:0 0 var(--spacing-sm) 0}.text-muted{font-size:12px;color:var(--color-text-tertiary)}.status-badge{padding:6px 14px;border-radius:var(--radius-full);font-size:12px;font-weight:600;text-transform:uppercase}.status-badge.status-critical{background:var(--color-critical);color:#fff}.status-badge.status-warning{background:var(--color-warning);color:#1a1a1a}.status-badge.status-success{background:var(--color-healthy);color:#fff}.status-badge.status-info{background:var(--color-info);color:#fff}.status-badge.status-none{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.last-updated{font-size:12px;color:var(--color-text-tertiary)}.detector-content{flex:1}.no-data{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary);background:var(--color-surface);border-radius:var(--radius-lg)}.detector-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);text-align:center;background:var(--color-surface);border-radius:var(--radius-lg);min-height:300px}.error-icon{font-size:48px;margin-bottom:var(--spacing-md)}.detector-error h3{font-size:18px;font-weight:500;color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.detector-error p{font-size:14px;color:var(--color-text-secondary);margin:0 0 var(--spacing-lg) 0}.detector-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary);background:var(--color-surface);border-radius:var(--radius-lg)}.detector-skeleton{display:flex;flex-direction:column;gap:var(--spacing-lg);padding:var(--spacing-lg) 0;animation:detector-fadeIn .15s ease}.skeleton-spinner-row{display:flex;align-items:center;gap:var(--spacing-sm);padding-bottom:var(--spacing-md)}.skeleton-spinner{width:20px;height:20px;border:2.5px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.skeleton-label{font-size:14px;font-weight:500;color:var(--color-text-secondary)}.skeleton-header{display:flex;flex-direction:column;gap:var(--spacing-sm)}.skeleton-line{background:linear-gradient(90deg,var(--color-border) 25%,var(--color-bg-tertiary) 50%,var(--color-border) 75%);background-size:200% 100%;animation:detector-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}.skeleton-title{height:24px;width:35%}.skeleton-description{height:14px;width:55%}.skeleton-description-short{height:14px;width:40%}.skeleton-content{display:flex;flex-direction:column;gap:var(--spacing-md)}.skeleton-card{height:100px;background:linear-gradient(90deg,var(--color-border) 25%,var(--color-bg-tertiary) 50%,var(--color-border) 75%);background-size:200% 100%;animation:detector-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-lg)}.skeleton-card-short{height:72px}@keyframes detector-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:640px){.detector-header{flex-direction:column;gap:var(--spacing-md)}.detector-header .header-right{align-items:flex-start}.detector-control-bar{flex-direction:column;align-items:stretch}.control-actions{justify-content:flex-start}}.engagement-bar{position:relative;padding:0 24px}.engagement-actions{display:flex;align-items:center;gap:4px;padding:8px 0;border-top:1px solid var(--color-border)}.engagement-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border:none;background:transparent;color:var(--color-text-secondary);font-size:14px;font-weight:500;font-family:var(--font-sans);border-radius:var(--radius-md);cursor:pointer;transition:background .15s ease,color .15s ease;-webkit-user-select:none;user-select:none}.engagement-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.engagement-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.engagement-btn--active{color:var(--color-primary)}.engagement-btn--active:hover{color:var(--color-primary-hover);background:var(--color-primary-light)}.engagement-btn-label{line-height:1}.engagement-toast{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);padding:8px 16px;background:var(--color-text-primary);color:var(--color-bg-primary);font-size:13px;font-weight:500;border-radius:var(--radius-md);white-space:nowrap;pointer-events:none;animation:engagement-toast-in .2s ease;z-index:100}@keyframes engagement-toast-in{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(max-width:480px){.engagement-bar{padding:0 16px}.engagement-actions{justify-content:space-around}.engagement-btn{padding:10px 12px;flex:1;justify-content:center}}.analysis-view{display:flex;flex-direction:column;gap:12px;padding:4px 0}.analysis-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.analysis-header-left{flex:1}.analysis-title{font-size:24px;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0}.analysis-description{font-size:14px;color:var(--color-text-secondary);margin:0;line-height:1.5}.analysis-author{font-size:12px;color:var(--color-text-tertiary);margin-top:var(--spacing-xs);display:block}.analysis-progress{display:flex;flex-direction:column;gap:6px}.analysis-progress-bar{height:4px;background:var(--color-border);border-radius:2px;overflow:hidden}.analysis-progress-fill{height:100%;background:var(--color-primary);border-radius:2px;transition:width .3s ease}.analysis-progress-label{font-size:13px;color:var(--color-text-secondary)}.analysis-section{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.analysis-section-header{display:flex;align-items:center;gap:8px;width:100%;padding:12px 16px;border:none;background:var(--color-surface);color:var(--color-text-primary);font-size:14px;font-weight:600;cursor:pointer;text-align:left;transition:background .15s ease}.analysis-section-header:hover{background:var(--color-bg-tertiary)}.analysis-section-chevron{transition:transform .2s ease;flex-shrink:0}.analysis-section-chevron.expanded{transform:rotate(90deg)}.analysis-section-title{flex:1}.analysis-section-body{display:flex;flex-direction:column;gap:1px;background:var(--color-border)}.child-detector-card{display:flex;flex-direction:column;gap:6px;padding:12px 16px;background:var(--color-bg-primary);transition:background .15s ease}.child-detector-card:hover{background:var(--color-surface)}.child-detector-header{display:flex;align-items:center;gap:8px}.child-detector-name{font-size:14px;font-weight:500;color:var(--color-text-primary)}.child-detector-insight,.child-detector-message{font-size:13px;color:var(--color-text-secondary);margin:0;padding-left:28px;line-height:1.4}.child-detector-error{font-size:13px;color:var(--color-critical, #d9534f);margin:0;padding-left:28px}.child-detector-details-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 0;margin-left:28px;border:none;background:transparent;color:var(--color-primary);font-size:13px;font-weight:500;cursor:pointer;width:fit-content}.child-detector-details-btn:hover{text-decoration:underline}.status-icon{flex-shrink:0}.status-icon-critical{color:var(--color-critical, #d9534f)}.status-icon-warning{color:var(--color-warning, #f0ad4e)}.status-icon-success{color:var(--color-healthy, #5cb85c)}.status-icon-info{color:var(--color-info, #5bc0de)}.status-icon-none{color:var(--color-text-tertiary)}.analysis-empty,.analysis-not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:var(--spacing-xl);text-align:center;color:var(--color-text-secondary);background:var(--color-surface);border-radius:var(--radius-lg);min-height:200px}.analysis-empty h3,.analysis-not-found h3{margin:0;font-size:18px;color:var(--color-text-primary)}.analysis-empty p,.analysis-not-found p{margin:0;font-size:14px}.analysis-retry-btn{margin-top:var(--spacing-sm);padding:8px 24px;border:1px solid var(--color-primary);border-radius:var(--radius-md, 6px);background:var(--color-primary);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .15s ease}.analysis-retry-btn:hover{opacity:.85}.analysis-skeleton{display:flex;flex-direction:column;gap:var(--spacing-lg);padding:var(--spacing-lg) 0}.analysis-view .insight-card{border:1px solid var(--color-border)!important}.analysis-view .insight-badge{border-color:transparent!important}.analysis-view .summary-card-item{border:1px solid var(--color-border)!important;padding-left:var(--spacing-md)!important}.analysis-view .summary-card-item:before{display:none}.analysis-view .stub-downtime-item{border:1px solid var(--color-border)!important;padding-left:var(--spacing-md)!important}.analysis-view .stub-downtime-item:before{display:none!important}.analysis-view .stub-banner:before{display:none!important}.analysis-view .stub-recommendation-card{border:1px solid var(--color-border)!important;padding-left:var(--spacing-md)!important}.analysis-view .stub-recommendation-card:before{display:none!important}.analysis-view .workflow-status-banner,.analysis-view .arch-node-card,.analysis-view .solution-step,.analysis-view .info-recommendation,.analysis-view .info-diagnostic{border:1px solid var(--color-border)!important}.analysis-view .theme-gradient .insight-card{background:var(--color-surface)!important}@media(max-width:640px){.analysis-header{flex-direction:column}.child-detector-insight,.child-detector-message,.child-detector-error,.child-detector-details-btn,.issue-card-insight-title,.issue-card-body,.issue-card-toggle,.issue-card-footer{padding-left:0;margin-left:0}}.analysis-issues-section{display:flex;flex-direction:column;gap:8px;font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0}.analysis-issues-list{display:flex;flex-direction:column;gap:8px}.issue-card{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-primary);transition:box-shadow .15s ease}.issue-card:hover{box-shadow:0 2px 8px #0000000f}.issue-card-critical{border-left:3px solid var(--color-critical, #d9534f)}.issue-card-warning{border-left:3px solid var(--color-warning, #f0ad4e)}.issue-card-header{display:flex;align-items:center;gap:6px}.issue-card-name{font-size:13px;font-weight:600;color:var(--color-text-primary)}.issue-card-insight-title{font-size:12px;color:var(--color-text-secondary);margin:2px 0 0 24px;line-height:1.4}.issue-card-toggle{display:inline-flex;align-items:center;gap:4px;padding:0;margin-left:24px;border:none;background:transparent;color:var(--color-text-tertiary);font-size:12px;cursor:pointer;width:fit-content}.issue-card-toggle:hover{color:var(--color-text-secondary)}.issue-card-chevron{flex-shrink:0}.issue-card-body{margin-left:24px;padding:4px 0;font-size:13px;line-height:1.4;color:var(--color-text-primary)}.issue-card-body p{margin:0 0 4px}.issue-card-body p:last-child{margin-bottom:0}.issue-card-footer{margin-left:24px;padding-top:2px}.detector-search{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast)}.theme-gradient .detector-search{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.detector-search:focus-within{border-color:var(--color-primary)}.search-icon{font-size:14px;color:var(--color-text-tertiary);flex-shrink:0}.search-input{flex:1;border:none;background:transparent;color:var(--color-text-primary);font-size:14px;padding:var(--spacing-xs) 0;outline:none}.search-clear{background:transparent;border:none;color:var(--color-text-tertiary);cursor:pointer;padding:2px 6px;font-size:12px;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.search-clear:hover{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.search-highlight{background:var(--color-warning);color:#1a1a1a;padding:0 2px;border-radius:2px}.detector-container{display:flex;flex-direction:column;gap:var(--spacing-md);height:100%}.detector-tabs{display:flex;gap:var(--spacing-xs);border-bottom:1px solid var(--color-border);padding-bottom:var(--spacing-xs)}.detector-tab{padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);margin-bottom:-1px}.detector-tab:hover{color:var(--color-text-primary)}.detector-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.detector-tab-content{flex:1;overflow:auto}.tab-placeholder{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary);background:var(--color-surface);border-radius:var(--radius-lg)}.tab-placeholder h3{font-size:16px;font-weight:500;color:var(--color-text-secondary);margin:0 0 var(--spacing-sm) 0}.tab-placeholder p{margin:0;font-size:14px}.dashboard{display:flex;flex-direction:column;height:100%;gap:var(--spacing-md)}.dashboard-nav{display:flex;gap:var(--spacing-xs);border-bottom:1px solid var(--color-border);overflow-x:auto;flex-shrink:0}.dashboard-tab{padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;margin-bottom:-1px}.dashboard-tab:hover{color:var(--color-text-primary)}.dashboard-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.dashboard-content{flex:1;overflow:auto}.detector-view-wrapper{display:flex;flex-direction:column;gap:var(--spacing-md)}.back-link{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:none;color:var(--color-primary);font-size:13px;cursor:pointer;width:fit-content}.back-link:hover{text-decoration:underline}.tab-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);text-align:center;background:var(--color-surface);border-radius:var(--radius-lg);min-height:300px}.theme-gradient .tab-placeholder{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.tab-placeholder h3{font-size:18px;font-weight:500;color:var(--color-text-secondary);margin:0 0 var(--spacing-sm) 0}.tab-placeholder p{font-size:14px;color:var(--color-text-tertiary);margin:0}@media(max-width:640px){.dashboard-nav{padding-bottom:var(--spacing-xs)}.dashboard-tab{padding:var(--spacing-xs) var(--spacing-sm);font-size:12px}}.category-card{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);cursor:pointer;text-align:left;min-height:140px;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.category-card:hover{border-color:var(--color-accent);box-shadow:0 4px 12px #6366f126;transform:translateY(-2px)}.category-card:focus{outline:2px solid var(--color-accent);outline-offset:2px}.category-card-header{display:flex;align-items:center;gap:var(--spacing-sm)}.category-card-icon{font-size:24px;flex-shrink:0}.category-card-title{font-size:15px;font-weight:600;color:var(--color-text-primary);line-height:1.3}.category-card-count{font-size:13px;color:var(--color-text-secondary);font-weight:500}.category-card-hints{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-top:auto}.category-card-hint{font-size:12px;color:var(--color-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-card-hint:before{content:"•";margin-right:var(--spacing-sm);color:var(--color-text-tertiary)}.category-card-more{font-size:12px;color:var(--color-accent);font-weight:500}.category-page{display:flex;flex-direction:column;gap:var(--spacing-lg)}.category-header{display:flex;align-items:baseline;gap:var(--spacing-md)}.category-title{font-size:24px;font-weight:600;color:var(--color-text-primary);margin:0}.category-count{font-size:14px;color:var(--color-text-tertiary)}.category-controls{display:flex;gap:var(--spacing-md);align-items:center;flex-wrap:wrap}.category-controls .detector-search{flex:1;min-width:200px}.view-controls{display:flex;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.view-btn{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border:none;color:var(--color-text-secondary);cursor:pointer;font-size:16px}.view-btn:not(:last-child){border-right:1px solid var(--color-border)}.view-btn:hover{background:var(--color-bg-tertiary)}.view-btn.active{background:var(--color-primary);color:#fff}.status-filter{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:13px}.detector-list{display:grid;gap:var(--spacing-md)}.detector-list.grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.detector-list.list{grid-template-columns:1fr}.detector-item{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.theme-gradient .detector-item{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.detector-item:hover{border-color:var(--color-primary)}.item-name{font-size:14px;font-weight:500;color:var(--color-text-primary);margin:0}.item-desc{font-size:13px;color:var(--color-text-secondary);margin:var(--spacing-xs) 0 0 0;line-height:1.4}.no-results{grid-column:1 / -1;padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary)}.category-loading{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary)}.support-topic-page{display:flex;flex-direction:column;gap:var(--spacing-lg)}.topic-header{padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.topic-title{font-size:24px;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0}.topic-meta{font-size:13px;color:var(--color-text-tertiary);margin:0}.topic-progress{display:flex;gap:var(--spacing-sm);overflow-x:auto;padding-bottom:var(--spacing-sm)}.progress-step{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.theme-gradient .progress-step{background:var(--glass-bg)}.progress-step:hover{border-color:var(--color-primary)}.progress-step.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.progress-step.completed{border-color:var(--color-healthy)}.progress-step.completed .step-number{background:var(--color-healthy);color:#fff}.step-number{width:24px;height:24px;border-radius:var(--radius-full);background:var(--color-bg-tertiary);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.progress-step.active .step-number{background:#fff3;color:#fff}.step-name{font-size:13px;font-weight:500}.topic-content{flex:1;min-height:300px}.detector-loading,.detector-error,.no-data{display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);background:var(--color-surface);border-radius:var(--radius-lg);color:var(--color-text-tertiary);min-height:200px}.detector-error{color:var(--color-critical)}.topic-nav{display:flex;justify-content:space-between;gap:var(--spacing-md)}.support-topic-loading,.support-topic-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary);background:var(--color-surface);border-radius:var(--radius-lg)}.sh-container{display:flex;flex-direction:column;gap:16px;min-width:0;max-width:100%;overflow-x:hidden}.sh-header{display:flex;align-items:center;gap:10px;padding:4px 0}.sh-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-text-secondary)}.sh-icon svg{width:20px;height:20px}.sh-name{font-size:14px;font-weight:600;color:var(--color-text-primary);font-family:Cascadia Code,Consolas,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sh-badge{font-size:11px;font-weight:400;color:var(--color-text-tertiary);padding:1px 8px;background:var(--color-bg-tertiary);border-radius:10px;flex-shrink:0;white-space:nowrap}.sh-info-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:16px;display:flex;flex-direction:column;gap:10px}.theme-gradient .sh-info-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.sh-info-row{display:flex;align-items:baseline;gap:12px}.sh-info-label{font-size:12px;font-weight:500;color:var(--color-text-tertiary);min-width:120px;flex-shrink:0}.sh-info-value{font-size:13px;color:var(--color-text-primary);word-break:break-all}.sh-guidance{display:flex;align-items:center;gap:8px;padding:24px 16px;text-align:center;justify-content:center;color:var(--color-text-tertiary);font-size:13px}.sh-guidance svg{width:20px;height:20px;flex-shrink:0}.sh-guidance p{margin:0}:root{--header-height: 48px}[data-testid=app-header] .detector-control{padding:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0;gap:6px}[data-testid=app-header] .control-row{align-items:center;gap:6px;flex-wrap:nowrap}[data-testid=app-header] .control-group{flex-direction:row;align-items:center;gap:4px}[data-testid=app-header] .control-label{display:none}[data-testid=app-header] .control-select{padding:4px 8px;font-size:12px;min-width:120px;height:28px;border-radius:4px}[data-testid=app-header] .control-refresh{padding:4px 10px;font-size:12px;height:28px;min-height:28px;border-radius:4px}[data-testid=app-header] .breadcrumbs{margin:0;padding:0}[data-testid=app-header] .breadcrumb-list{gap:4px}@media(max-width:900px){[data-testid=app-header] .detector-control{display:none}}[data-overflow-controls] .detector-control{padding:4px 0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;gap:4px}[data-overflow-controls] .control-row{gap:8px;flex-wrap:nowrap;align-items:center}[data-overflow-controls] .control-label{display:none}[data-overflow-controls] .control-select{padding:4px 8px;font-size:13px;min-width:130px;height:28px}[data-overflow-controls] .control-refresh{padding:4px 10px;font-size:12px;height:28px;min-height:28px}.l1-sidebar{width:var(--sidebar-expanded-width, 220px);background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;padding:var(--spacing-lg) 0;flex-shrink:0;z-index:var(--z-sticky);transition:width var(--transition-normal);position:relative}.l1-sidebar.collapsed{width:var(--sidebar-collapsed-width, 56px)}.theme-gradient .l1-sidebar{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.sidebar-toggle{position:absolute;top:var(--spacing-md);right:calc(-1 * var(--spacing-sm) - 12px);width:24px;height:24px;border-radius:var(--radius-full);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity var(--transition-fast),background var(--transition-fast);z-index:1}.l1-sidebar:hover .sidebar-toggle,.sidebar-toggle:focus{opacity:1}.sidebar-toggle:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.sidebar-toggle:focus{outline:2px solid var(--color-primary);outline-offset:2px}.theme-gradient .sidebar-toggle{background:var(--color-bg-secondary);border-color:#ffffff1a}.theme-gradient .sidebar-toggle:hover{background:#ffffff1a}.l1-nav{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:0 var(--spacing-sm);margin-top:var(--spacing-xl)}.nav-link{display:flex;flex-direction:row;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);color:var(--color-text-secondary);text-decoration:none;transition:all .15s ease;cursor:pointer;white-space:nowrap;overflow:hidden}.l1-sidebar.collapsed .nav-link{flex-direction:column;gap:0;padding:var(--spacing-sm);justify-content:center;position:relative}.l1-sidebar.collapsed .nav-label{display:none}.l1-sidebar.collapsed .nav-link:after{content:attr(title);position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);background:var(--color-bg-primary);color:var(--color-text-primary);padding:6px 10px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;white-space:nowrap;box-shadow:0 2px 8px #00000026;border:1px solid var(--color-border);opacity:0;visibility:hidden;transition:opacity var(--transition-fast),visibility var(--transition-fast);z-index:var(--z-tooltip, 1000);pointer-events:none}.l1-sidebar.collapsed .nav-link:hover:after,.l1-sidebar.collapsed .nav-link:focus:after{opacity:1;visibility:visible}.theme-gradient .l1-sidebar.collapsed .nav-link:after{background:var(--color-bg-secondary);border-color:#ffffff1a}.nav-link:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.theme-gradient .nav-link:hover{background:#ffffff0d}.nav-link.active{background:var(--color-primary-light);color:var(--color-primary)}.theme-gradient .nav-link.active{background:#479ef526;color:var(--grad-purple)}.nav-link:focus{outline:2px solid var(--color-primary);outline-offset:-2px}.nav-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.nav-label{font-size:13px;font-weight:500;transition:opacity var(--transition-fast)}.l2-sidebar{width:240px;background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;overflow-y:auto;flex-shrink:0}.theme-gradient .l2-sidebar{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.l2-sidebar-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);padding:var(--spacing-md) var(--spacing-md) var(--spacing-sm)}.l2-nav{flex:1;padding:0 var(--spacing-sm)}.l2-nav-group{margin-bottom:var(--spacing-md)}.l2-group-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--spacing-sm) var(--spacing-sm);background:none;border:none;cursor:pointer;color:var(--color-text-secondary);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;transition:color var(--transition-fast)}.l2-group-header:hover{color:var(--color-text-primary)}.l2-group-chevron{transition:transform var(--transition-fast)}.l2-group-chevron.collapsed{transform:rotate(-90deg)}.l2-nav-items{list-style:none;margin:0;padding:0}.l2-nav-link{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-secondary);text-decoration:none;font-size:13px;border-radius:var(--radius-md);transition:all var(--transition-fast)}.l2-nav-link:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.theme-gradient .l2-nav-link:hover{background:#ffffff0d}.l2-nav-link.active{background:var(--color-primary-light);color:var(--color-primary);font-weight:500}.theme-gradient .l2-nav-link.active{background:#479ef526;color:var(--color-primary)}.l2-nav-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0}.l2-nav-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.l2-nav-badge{font-size:11px;font-weight:600;padding:2px 6px;background:var(--color-primary);color:#fff;border-radius:10px;min-width:18px;text-align:center}.l2-sidebar-loading{padding:var(--spacing-md)}.skeleton-group{margin-bottom:var(--spacing-lg)}.skeleton-header{height:12px;width:80px;background:var(--color-border);border-radius:4px;margin-bottom:var(--spacing-sm);animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-item{height:28px;background:var(--color-border);border-radius:4px;margin-bottom:var(--spacing-xs);animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-item:nth-child(2){width:90%;animation-delay:.1s}.skeleton-item:nth-child(3){width:75%;animation-delay:.2s}.skeleton-item:nth-child(4){width:85%;animation-delay:.3s}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:.8}}@media(max-width:1024px){.l2-sidebar{width:200px}}@media(max-width:768px){.l2-sidebar{display:none}}.layout-classic-container{display:flex;flex-direction:column;height:100vh;overflow:hidden}.layout-classic-container .app-content{display:flex;flex:1;min-height:0}.layout-classic-container .main-content{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;display:flex;flex-direction:column}@media(max-width:768px){.layout-classic-container .l1-sidebar{display:none}.layout-classic-container .main-content{overflow-y:auto}}body.has-sidebar .layout-classic-container{margin-left:var(--nav-width, 260px)}body.has-sidebar.sidebar-ready .layout-classic-container{transition:margin-left var(--nav-transition, .25s ease)}body.has-sidebar.sidebar-collapsed .layout-classic-container{margin-left:var(--nav-collapsed-width, 48px)}body.sidebar-resizing .layout-classic-container,body.sidebar-no-transition .layout-classic-container{transition:none!important}@media(max-width:700px),(pointer:coarse)and (max-height:500px){body.has-sidebar .layout-classic-container,body.has-sidebar.sidebar-collapsed .layout-classic-container{margin-left:0}}.layout-topnav-container{display:flex;flex-direction:column;min-height:100vh}.topnav-bar{display:flex;align-items:center;gap:var(--spacing-xs);padding:0 var(--spacing-xl);height:44px;background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0;overflow-x:auto}.theme-gradient .topnav-bar{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border-bottom-color:#ffffff0f}.topnav-link{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);color:var(--color-text-secondary);text-decoration:none;font-size:13px;font-weight:500;white-space:nowrap;transition:all var(--transition-fast);border:1px solid transparent}.topnav-link:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.topnav-link.active{background:var(--color-primary-light);color:var(--color-primary);border-color:var(--color-primary-light)}.theme-gradient .topnav-link:hover{background:#ffffff0d}.theme-gradient .topnav-link.active{background:#479ef526;color:var(--color-primary);border-color:#479ef533}.topnav-content{flex:1;min-width:var(--main-min-width);padding:var(--spacing-xl);overflow-y:auto;overflow-x:hidden;background:var(--color-bg-secondary)}.theme-gradient .topnav-content{background:transparent}@media(max-width:768px){.topnav-bar{padding:0 var(--spacing-md)}.topnav-content{padding:var(--spacing-md)}}.layout-compact-container{display:flex;flex-direction:column;min-height:100vh}.compact-body{display:flex;flex:1;overflow:hidden}.compact-sidebar{width:48px;display:flex;flex-direction:column;align-items:center;padding:var(--spacing-sm) 0;gap:var(--spacing-xs);background:var(--color-surface);border-right:1px solid var(--color-border);flex-shrink:0}.theme-gradient .compact-sidebar{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border-right-color:#ffffff0f}.compact-nav-btn{position:relative;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);color:var(--color-text-secondary);text-decoration:none;font-size:16px;transition:all var(--transition-fast)}.compact-nav-btn:hover{background:var(--color-bg-secondary)}.compact-nav-btn.active{background:var(--color-primary-light);color:var(--color-primary)}.theme-gradient .compact-nav-btn:hover{background:#ffffff0d}.theme-gradient .compact-nav-btn.active{background:#479ef526;color:var(--color-primary)}.compact-tooltip{position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);padding:4px 10px;background:var(--color-surface);color:var(--color-text-primary);font-size:12px;border-radius:var(--radius-sm);white-space:nowrap;box-shadow:var(--shadow-lg);border:1px solid var(--color-border);z-index:100;pointer-events:none}.theme-gradient .compact-tooltip{background:#1e1e28f2;border-color:#ffffff1a}.compact-nav-spacer{flex:1}.compact-content{flex:1;min-width:var(--main-min-width);padding:var(--spacing-md);overflow-y:auto;overflow-x:hidden;background:var(--color-bg-secondary)}.theme-gradient .compact-content{background:transparent}@media(max-width:768px){.compact-sidebar{display:none}.compact-content{padding:var(--spacing-sm)}}.layout-command-container{display:flex;flex-direction:column;min-height:100vh}.command-body{display:flex;flex:1;overflow:hidden}.command-sidebar{width:220px;display:flex;flex-direction:column;background:var(--color-surface);border-right:1px solid var(--color-border);flex-shrink:0;overflow-y:auto}.theme-gradient .command-sidebar{background:#0f0f19cc;-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border-right-color:#ffffff0f}.command-sidebar-section{padding:var(--spacing-sm) 0}.command-section-header{padding:var(--spacing-sm) var(--spacing-md);font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--color-text-tertiary);text-transform:uppercase}.command-nav-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:6px var(--spacing-md) 6px var(--spacing-lg);color:var(--color-text-secondary);text-decoration:none;font-size:13px;transition:all var(--transition-fast);border-left:2px solid transparent}.command-nav-item:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.command-nav-item.active{background:var(--color-primary-light);color:var(--color-primary);border-left-color:var(--color-primary)}.theme-gradient .command-nav-item:hover{background:#ffffff08}.theme-gradient .command-nav-item.active{background:#479ef51a;color:var(--grad-purple);border-left-color:var(--grad-purple)}.command-icon{font-size:14px;width:18px;text-align:center}.command-label{flex:1}.command-content{flex:1;min-width:var(--main-min-width);padding:var(--spacing-xl);overflow-y:auto;overflow-x:hidden;background:var(--color-bg-secondary)}.theme-gradient .command-content{background:transparent}.command-status-bar{display:flex;align-items:center;justify-content:space-between;height:24px;padding:0 var(--spacing-md);background:var(--color-primary);color:#fff;font-size:12px;flex-shrink:0}.theme-gradient .command-status-bar{background:linear-gradient(90deg,var(--grad-purple),var(--grad-blue))}.command-status-left,.command-status-right{display:flex;align-items:center;gap:var(--spacing-xs)}.status-item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-divider{opacity:.4}@media(max-width:768px){.command-sidebar{display:none}.command-content{padding:var(--spacing-md)}.command-status-bar .status-item:nth-child(n+3){display:none}}.app-container{display:flex;flex-direction:column;min-height:100vh;position:relative}.app-content{display:flex;flex:1;overflow:hidden}.main-content{flex:1;min-width:var(--main-min-width);padding:var(--spacing-xl);overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;background:var(--color-bg-secondary)}.theme-gradient .main-content{background:transparent}@media(max-width:768px){.l1-sidebar{display:none}.main-content{padding:var(--spacing-md)}}.tab-bar{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:0 var(--spacing-md);overflow-x:auto}.theme-gradient .tab-bar{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.tab-list{display:flex;gap:var(--spacing-xs);min-width:max-content}.tab-item{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-md) var(--spacing-md);background:none;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.tab-item:hover:not(.disabled){color:var(--color-text-primary);background:var(--color-bg-secondary)}.theme-gradient .tab-item:hover:not(.disabled){background:#ffffff0d}.tab-item.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.theme-gradient .tab-item.active{color:var(--grad-purple);border-bottom-color:var(--grad-purple)}.tab-item.disabled{opacity:.5;cursor:not-allowed}.tab-icon{display:flex;align-items:center;justify-content:center}.tab-label{font-size:inherit}.tab-badge{font-size:10px;font-weight:600;padding:2px 5px;background:var(--color-primary);color:#fff;border-radius:8px;min-width:16px;text-align:center}@media(max-width:768px){.tab-bar{-webkit-overflow-scrolling:touch}.tab-bar::-webkit-scrollbar{display:none}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);background:var(--color-bg-secondary)}.theme-gradient .auth-page{background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460)}.auth-card{max-width:420px;width:100%;padding:var(--spacing-xl);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);text-align:center;box-shadow:var(--shadow-lg)}.theme-gradient .auth-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border-color:var(--glass-border)}.auth-card.error{border-color:var(--color-critical)}.auth-card.warning{border-color:var(--color-warning)}.auth-logo{display:flex;justify-content:center;margin-bottom:var(--spacing-lg);color:var(--color-primary)}.auth-icon{display:flex;justify-content:center;margin-bottom:var(--spacing-lg)}.auth-icon.error{color:var(--color-critical)}.auth-icon.warning{color:var(--color-warning)}.auth-card h1{font-size:24px;font-weight:600;margin-bottom:var(--spacing-sm);color:var(--color-text-primary)}.auth-card p{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);line-height:1.6}.auth-card .user-info{display:block;margin-top:var(--spacing-sm);font-size:13px;color:var(--color-text-tertiary)}.auth-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);width:100%;padding:14px 24px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:15px;font-weight:500;cursor:pointer;transition:all var(--transition-normal);text-decoration:none}.auth-button:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px)}.auth-button:disabled{opacity:.7;cursor:not-allowed}.auth-button.secondary{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border)}.auth-button.secondary:hover{background:var(--color-border)}.theme-gradient .auth-button{background:linear-gradient(135deg,var(--grad-purple),var(--grad-pink))}.theme-gradient .auth-button:hover:not(:disabled){opacity:.9}.auth-actions{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.auth-actions .auth-button{flex:1}.auth-access-options{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.auth-help{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.auth-help p{font-size:13px;color:var(--color-text-tertiary);margin-bottom:0}.auth-spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto var(--spacing-lg)}.auth-spinner.small{width:18px;height:18px;border-width:2px;margin:0}.auth-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);color:var(--color-text-secondary)}.auth-loading-spinner{width:48px;height:48px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.diagnose-catalog{padding:var(--spacing-sm) var(--spacing-xl) var(--spacing-xl);max-width:1200px;margin:0 auto}body.has-sidebar .diagnose-catalog{max-width:none;margin-left:0;margin-right:0}.catalog-header{margin-bottom:var(--spacing-lg)}.catalog-title-row{display:flex;align-items:baseline;gap:var(--spacing-md);flex-wrap:wrap}.catalog-header h1{font-size:1.75rem;font-weight:600;color:var(--color-text-primary);margin:0}.detector-count{font-size:.875rem;color:var(--color-text-tertiary);font-weight:400}.catalog-subtitle{color:var(--color-text-secondary);margin-top:var(--spacing-xs);font-size:.9375rem}.catalog-subtitle strong{color:var(--color-text-primary)}.resource-stamp{color:var(--color-text-tertiary);font-size:.875rem}.catalog-filters{display:flex;gap:var(--spacing-md);align-items:center;margin-bottom:var(--spacing-lg);flex-wrap:wrap}.catalog-search{display:flex;align-items:center;gap:var(--spacing-sm);flex:1;min-width:200px;max-width:400px;padding:8px 12px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color .2s,box-shadow .2s}.catalog-search:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light, rgba(99, 102, 241, .15))}.catalog-search svg{color:var(--color-text-tertiary);flex-shrink:0}.catalog-search-input{flex:1;border:none;background:transparent;color:var(--color-text-primary);font-size:.9375rem;outline:none}.catalog-search-input::placeholder{color:var(--color-text-tertiary)}.catalog-search-clear{background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;padding:2px 6px;font-size:.875rem;line-height:1}.catalog-search-clear:hover{color:var(--color-text-primary)}.category-select{padding:10px 16px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);font-size:.9375rem;min-width:180px;cursor:pointer}.expand-controls{display:flex;gap:var(--spacing-xs)}.expand-btn,.collapse-btn{padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-secondary);font-size:.8125rem;cursor:pointer;transition:background .2s,color .2s}.expand-btn:hover,.collapse-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.filter-summary{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:.875rem;margin-bottom:var(--spacing-md)}.category-accordion{display:flex;flex-direction:column;gap:var(--spacing-sm)}.category-section{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.category-section.expanded{border-color:var(--color-accent-muted, var(--color-border))}.category-header{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-md) var(--spacing-lg);background:none;border:none;color:var(--color-text-primary);font-size:1rem;font-weight:500;cursor:pointer;text-align:left;transition:background .2s}.category-header:hover{background:var(--color-bg-hover)}.category-icon{font-size:1.125rem}.category-name{flex:1}.category-count{color:var(--color-text-tertiary);font-weight:400;font-size:.875rem}.category-chevron{color:var(--color-text-tertiary);font-size:.75rem;transition:transform .2s}.category-section.expanded .category-chevron{transform:rotate(0)}.category-items{border-top:1px solid var(--color-border);padding:var(--spacing-xs) 0}.category-section:not(.expanded) .category-items{display:none}.category-section.expanded .category-items,.category-section:has(.detector-item:nth-child(-n+3)) .category-items{display:block}.category-section:not(.expanded) .category-items{display:block}.detector-item{display:flex;flex-direction:column;width:100%;padding:var(--spacing-sm) var(--spacing-lg);padding-left:calc(var(--spacing-lg) + 28px);background:none;border:none;border-left:3px solid transparent;text-align:left;cursor:pointer;transition:background .2s,border-color .2s}.detector-item:hover{background:var(--color-bg-hover);border-left-color:var(--color-accent)}.detector-name{color:var(--color-text-primary);font-size:.9375rem;font-weight:500}.detector-description{color:var(--color-text-tertiary);font-size:.8125rem;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:600px}.show-more-btn{display:block;width:100%;padding:var(--spacing-sm) var(--spacing-lg);padding-left:calc(var(--spacing-lg) + 28px);background:none;border:none;color:var(--color-accent);font-size:.875rem;text-align:left;cursor:pointer}.show-more-btn:hover{text-decoration:underline}.no-results{text-align:center;padding:var(--spacing-xl);color:var(--color-text-secondary)}.no-results button{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer}.diagnose-no-resource{display:flex;align-items:center;justify-content:center;min-height:400px}.no-resource-message{text-align:center;max-width:400px}.no-resource-icon{font-size:4rem;display:block;margin-bottom:var(--spacing-lg)}.no-resource-message h2{color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.no-resource-message p{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.find-resource-btn{padding:var(--spacing-sm) var(--spacing-xl);background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s}.find-resource-btn:hover{background:var(--color-accent-hover, #4f46e5)}.diagnose-error{display:flex;align-items:center;justify-content:center;min-height:400px}.error-message{text-align:center;max-width:400px}.error-icon{font-size:3rem;display:block;margin-bottom:var(--spacing-lg)}.error-message h2{color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.error-message p{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.retry-btn{padding:var(--spacing-sm) var(--spacing-xl);background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:1rem;cursor:pointer}.catalog-skeleton{display:flex;flex-direction:column;gap:var(--spacing-md)}.skeleton-category{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg)}.skeleton-title{height:24px;width:200px;background:var(--color-bg-secondary);border-radius:var(--radius-sm);margin-bottom:var(--spacing-md);animation:shimmer 1.5s infinite}.skeleton-items{display:flex;flex-direction:column;gap:var(--spacing-sm)}.skeleton-item{height:40px;background:var(--color-bg-secondary);border-radius:var(--radius-sm);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}@media(max-width:768px){.diagnose-catalog{padding:var(--spacing-xs) var(--spacing-sm)}.catalog-filters{flex-direction:column;align-items:stretch}.expand-controls{justify-content:center}.detector-description{max-width:100%}}.diagnose-back-bar{margin-bottom:var(--spacing-md);padding-left:var(--spacing-lg);padding-top:var(--spacing-sm)}.back-to-catalog{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.875rem;cursor:pointer;transition:background .2s}.back-to-catalog:hover{background:var(--color-bg-tertiary)}.detector-content-pane{flex:1 1 0%;overflow:auto;padding:var(--spacing-md) var(--spacing-lg)}@media(max-width:768px){.detector-content-pane{padding:var(--spacing-xs) var(--spacing-sm)}}.dashboard-layout{flex:1;min-height:0;display:flex;flex-direction:column;margin:calc(-1 * var(--spacing-md)) calc(-1 * var(--spacing-lg))}@media(max-width:768px){.dashboard-layout{margin:calc(-1 * var(--spacing-sm))}}.dashboard-content{flex:1;min-height:0;display:flex;flex-direction:column}.diagnose-split-view{max-width:none;padding:0;margin:0;flex:1;min-height:0;display:flex;flex-direction:column}.diagnose-split-content{display:flex;gap:0;flex:1;min-height:0}.diagnose-detector-content{flex:1;min-width:0;min-height:0;padding:var(--spacing-md) var(--spacing-lg);overflow-y:auto;overflow-x:hidden}.resource-picker{display:flex;flex-direction:column;height:100%;min-height:0}.picker-toolbar{display:flex;align-items:center;gap:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border);flex-shrink:0}.picker-back-btn{background:none;border:none;color:var(--color-primary);font-size:13px;cursor:pointer;padding:var(--spacing-xs) 0;font-weight:500;white-space:nowrap}.picker-back-btn:hover{text-decoration:underline}.picker-summary{font-size:13px;color:var(--color-text-secondary)}.picker-count{font-weight:600;color:var(--color-text-primary)}.picker-search-term{font-weight:600;color:var(--color-primary)}.picker-total{color:var(--color-text-secondary);font-weight:400}.picker-filter-clear{background:none;border:none;color:var(--color-primary);font-size:12px;font-weight:500;cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);white-space:nowrap;margin-left:auto}.picker-filter-clear:hover{text-decoration:underline}.picker-table-wrap{flex:1;overflow:auto;min-height:0;margin-top:var(--spacing-sm)}.picker-table{width:100%;border-collapse:collapse;table-layout:fixed}.picker-thead-labels .picker-th{font-size:11px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;padding:var(--spacing-xs) var(--spacing-sm);border-bottom:1px solid var(--color-border);text-align:left;white-space:nowrap;position:sticky;top:0;background:var(--color-bg-primary, var(--color-bg, #fff));z-index:2}.picker-thead-filters .picker-th{padding:var(--spacing-xs) var(--spacing-sm) var(--spacing-sm);border-bottom:2px solid var(--color-border);position:sticky;top:26px;background:var(--color-bg-primary, var(--color-bg, #fff));z-index:2}.picker-col-filter{width:100%;box-sizing:border-box;padding:4px 6px;font-size:12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-primary);outline:none;transition:border-color var(--transition-fast)}.picker-col-filter::placeholder{color:var(--color-text-tertiary, var(--color-text-secondary));opacity:.7}.picker-col-filter:focus{border-color:var(--color-primary)}.picker-trow{cursor:pointer;transition:background var(--transition-fast)}.picker-trow:hover{background:var(--color-primary-light, rgba(59, 130, 246, .06))}.picker-td{padding:var(--spacing-xs) var(--spacing-sm);font-size:13px;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}.picker-td-name{font-weight:600;color:var(--color-text-primary)}.picker-th-name{min-width:140px}.picker-show-more{display:block;width:100%;padding:var(--spacing-sm) var(--spacing-md);margin-top:var(--spacing-xs);background:transparent;border:1px dashed var(--color-border);border-radius:var(--radius-sm);color:var(--color-primary);font-size:13px;font-weight:500;cursor:pointer;text-align:center;transition:all var(--transition-fast)}.picker-show-more:hover{border-color:var(--color-primary);background:var(--color-primary-light, rgba(59, 130, 246, .06))}.picker-no-results{text-align:center;padding:var(--spacing-lg);color:var(--color-text-secondary);font-size:13px}@media(max-width:640px){.picker-table{font-size:12px}.picker-td,.picker-th{padding:var(--spacing-xs)}}.finder-form-inner{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-label{font-size:13px;font-weight:500;color:var(--color-text-secondary)}.form-input{padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);color:var(--color-text-primary);font-size:16px;transition:border-color var(--transition-fast)}.form-input:focus{outline:none;border-color:var(--color-primary)}.form-input:disabled{opacity:.6;cursor:not-allowed}.form-hint{font-size:12px;color:var(--color-text-tertiary);margin:0}.form-error{padding:var(--spacing-md);background:#ef44441a;border:1px solid var(--color-critical);border-radius:var(--radius-md);color:var(--color-critical);font-size:13px}.form-submit{align-self:flex-start;padding:var(--spacing-md) var(--spacing-xl)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md)}.form-divider{text-align:center;color:var(--color-text-tertiary);font-size:12px;margin:var(--spacing-md) 0;position:relative}.form-divider:before,.form-divider:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:var(--color-border)}.form-divider:before{left:0}.form-divider:after{right:0}.resource-finder{margin:0 auto;padding:var(--spacing-xl);box-sizing:border-box;width:100%;overflow-x:hidden}.finder-header{text-align:center;margin-bottom:var(--spacing-xl)}.finder-title{font-size:32px;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.finder-subtitle{font-size:16px;color:var(--color-text-secondary);margin:0}.type-selector-container{margin-bottom:var(--spacing-xl)}.type-selector-row{display:flex;gap:var(--spacing-sm)}.type-selector-row--secondary{margin-top:var(--spacing-sm)}.type-btn[data-accent]:hover{box-shadow:0 2px 8px #00000014}.type-btn[data-accent=blue]:hover,.type-btn[data-accent=blue].active{border-color:#1a73e8;background:#f5f9ff}.type-btn[data-accent=purple]:hover,.type-btn[data-accent=purple].active{border-color:#7c3aed;background:#faf5ff}.type-btn[data-accent=teal]:hover,.type-btn[data-accent=teal].active{border-color:#0d9488;background:#f0fdf9}.type-btn[data-accent=orange]:hover,.type-btn[data-accent=orange].active{border-color:#ea580c;background:#fff8f1}.type-btn[data-accent=green]:hover,.type-btn[data-accent=green].active{border-color:#16a34a;background:#f2fdf5}.theme-gradient .type-btn[data-accent=blue]:hover,.theme-gradient .type-btn[data-accent=blue].active{border-color:#3b82f6;background:#3b82f626}.theme-gradient .type-btn[data-accent=purple]:hover,.theme-gradient .type-btn[data-accent=purple].active{border-color:#479ef5;background:#479ef526}.theme-gradient .type-btn[data-accent=teal]:hover,.theme-gradient .type-btn[data-accent=teal].active{border-color:#14b8a6;background:#14b8a626}.theme-gradient .type-btn[data-accent=orange]:hover,.theme-gradient .type-btn[data-accent=orange].active{border-color:#f97316;background:#f9731626}.theme-gradient .type-btn[data-accent=green]:hover,.theme-gradient .type-btn[data-accent=green].active{border-color:#22c55e;background:#22c55e26}.type-btn-more{border-style:dashed;color:var(--color-text-secondary)}.type-btn-more:hover{border-color:var(--color-primary);color:var(--color-primary)}.type-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-lg) var(--spacing-md);min-height:100px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.theme-gradient .type-btn{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.type-btn:hover{border-color:var(--color-primary)}.type-btn.active{border-color:var(--color-primary);background:var(--color-primary-light)}.type-icon{font-size:28px}.type-icon-img{width:32px;height:32px;object-fit:contain}.type-label{font-size:13px;font-weight:500;color:var(--color-text-secondary);text-align:center}.type-btn.active .type-label{color:var(--color-primary)}.finder-form{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.theme-gradient .finder-form{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.resource-finder--picker{max-width:none;height:100%;display:flex;flex-direction:column;padding:var(--spacing-md) var(--spacing-lg)}.finder-form--picker{flex:1;min-height:0;display:flex;flex-direction:column;margin-bottom:0}.recent-resources{margin-top:var(--spacing-xl)}.recent-title{font-size:14px;font-weight:500;color:var(--color-text-secondary);margin:0 0 var(--spacing-md) 0}.recent-list{display:flex;flex-direction:column;gap:3px}.recent-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:6px var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);text-align:left}.theme-gradient .recent-item{background:var(--glass-bg)}.recent-item:hover{border-color:var(--color-primary)}.recent-icon{font-size:16px;display:flex;align-items:center}.recent-icon .type-icon-img{width:20px;height:20px}.recent-name{flex:1;font-size:13px;font-weight:500;color:var(--color-text-primary)}.recent-type{font-size:11px;color:var(--color-text-tertiary)}.form-actions{display:flex;align-items:center;gap:var(--spacing-lg)}.skip-resource-link{background:none;border:none;padding:0;color:var(--color-primary);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:color var(--transition-fast)}.skip-resource-link:hover{color:var(--color-primary-dark, #1565c0);text-decoration:underline;text-underline-offset:3px}.back-to-finder-link{display:inline-block;margin-bottom:var(--spacing-md);padding:0;background:none;border:none;color:var(--color-primary);font-size:13px;font-weight:500;cursor:pointer;transition:color var(--transition-fast)}.back-to-finder-link:hover{color:var(--color-primary-dark, #1565c0);text-decoration:underline}@media(max-width:640px){.resource-finder{padding:var(--spacing-sm)}.finder-title{font-size:20px}.type-selector-row{flex-wrap:wrap;gap:var(--spacing-xs)}.type-btn{flex:0 0 calc(33.333% - 4px);min-height:80px;padding:var(--spacing-md) var(--spacing-sm)}.type-icon{font-size:22px}.type-label{font-size:11px}}.time-range-selector{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border)}.theme-gradient .time-range-selector{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.time-range-label{font-size:14px;font-weight:500;color:var(--color-text-secondary);white-space:nowrap}.time-range-select{padding:var(--spacing-sm) var(--spacing-md);font-size:14px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-primary);color:var(--color-text-primary);cursor:pointer;min-width:150px}.time-range-select:focus{outline:none;border-color:var(--color-primary)}.custom-time-picker{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.custom-time-picker input{padding:6px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);font-size:13px}.custom-time-picker span{color:var(--color-text-tertiary);font-size:13px}.finder-privacy{margin-top:var(--spacing-xl, 32px);padding-top:var(--spacing-md, 16px);text-align:center}.finder-privacy a{font-size:12px;color:var(--color-text-secondary);text-decoration:none}.finder-privacy a:hover{text-decoration:underline}.unified-search{display:flex;flex-direction:column;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:0 10px 40px #0003;overflow:hidden;max-width:500px;width:100%}.theme-gradient .unified-search{background:var(--color-bg-primary);border:1px solid var(--color-border)}.search-input-wrapper{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);border-bottom:1px solid var(--color-border)}.search-icon{font-size:18px;color:var(--color-text-tertiary)}.search-input{flex:1;border:none;background:transparent;color:var(--color-text-primary);font-size:16px;outline:none}.search-input::placeholder{color:var(--color-text-tertiary)}.search-clear{background:transparent;border:none;color:var(--color-text-tertiary);cursor:pointer;padding:4px 8px;font-size:14px}.search-clear:hover{color:var(--color-text-secondary)}.search-results{max-height:300px;overflow-y:auto}.search-loading,.search-empty{padding:var(--spacing-lg);text-align:center;color:var(--color-text-tertiary);font-size:14px}.search-result{display:flex;align-items:center;gap:var(--spacing-md);width:100%;padding:var(--spacing-md);background:transparent;border:none;text-align:left;cursor:pointer;transition:background var(--transition-fast)}.search-result:hover,.search-result.selected{background:var(--color-bg-secondary)}.result-icon{font-size:24px;flex-shrink:0}.result-info{display:flex;flex-direction:column;gap:2px}.result-name{font-size:14px;font-weight:500;color:var(--color-text-primary)}.result-type{font-size:12px;color:var(--color-text-tertiary)}.dn-resize-handle{position:absolute;top:0;right:-3px;bottom:0;width:6px;cursor:col-resize;z-index:51;transition:background var(--transition-fast)}.dn-resize-handle:hover,.dn-resize-handle:active{background:var(--color-primary);opacity:.4}.detector-nav{position:fixed;top:0;left:0;bottom:0;width:var(--nav-width);display:flex;flex-direction:column;background:var(--color-surface);border-right:1px solid var(--color-border);z-index:50;overflow:hidden}body.sidebar-ready .detector-nav{transition:width var(--nav-transition)}.detector-nav.collapsed{width:var(--nav-collapsed-width)}.detector-nav.resizing,.detector-nav.resizing~.layout-classic-container{transition:none!important}.theme-gradient .detector-nav{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.dn-header{display:flex;align-items:center;padding:12px 8px 4px;flex-shrink:0;gap:4px}.dn-header-expanded{justify-content:space-between}.dn-header-collapsed{justify-content:center}.dn-toggle-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--color-text-secondary);border-radius:var(--radius-md);cursor:pointer;flex-shrink:0;transition:background var(--transition-fast),color var(--transition-fast)}.dn-toggle-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.dn-toggle-btn svg{width:20px;height:20px}.dn-header-title{font-size:14px;font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dn-search{padding:4px 8px 8px;flex-shrink:0}.dn-search-wrapper{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--color-border);border-radius:var(--nav-item-radius);background:var(--color-bg-secondary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.dn-search-wrapper:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 2px #479ef573}.dn-search-icon{width:var(--nav-icon-size);height:var(--nav-icon-size);color:var(--color-text-tertiary);flex-shrink:0}.dn-search-input{flex:1;border:none;background:transparent;color:var(--color-text-primary);font-size:13px;font-family:var(--font-sans);outline:none;min-width:0}.dn-search-input::placeholder{color:var(--color-text-tertiary)}.dn-search-clear{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--color-text-tertiary);cursor:pointer;border-radius:50%;font-size:12px;flex-shrink:0;transition:background var(--transition-fast),color var(--transition-fast)}.dn-search-clear:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.dn-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:0 8px}.dn-body::-webkit-scrollbar{width:4px}.dn-body::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.dn-category{margin-bottom:2px}.dn-category-btn{display:flex;align-items:center;width:100%;padding:8px var(--nav-item-padding-start);gap:8px;border:1px solid transparent;border-radius:var(--nav-item-radius);background:transparent;color:var(--color-text-primary);font-size:13px;font-weight:600;font-family:var(--font-sans);cursor:pointer;text-align:left;outline:none;transition:background var(--transition-fast),border-color var(--transition-fast)}.dn-category-btn:hover{background:var(--color-bg-hover);border-color:var(--color-border)}.dn-category-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.dn-category-icon{width:var(--nav-icon-size);height:var(--nav-icon-size);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-text-secondary)}.dn-category-icon svg{width:20px;height:20px}.dn-category-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dn-category-count{font-size:11px;font-weight:400;color:var(--color-text-tertiary);margin-left:auto;padding:1px 6px;background:var(--color-bg-tertiary);border-radius:10px;flex-shrink:0}.dn-category-chevron{width:12px;height:12px;color:var(--color-text-tertiary);flex-shrink:0;transition:transform .2s ease}.dn-category-chevron.expanded{transform:rotate(90deg)}.dn-items{padding:2px 0 4px}.dn-item{display:flex;align-items:center;width:100%;padding:7px calc(var(--nav-item-padding-start) + 24px) 7px calc(var(--nav-item-padding-start) + 24px);gap:8px;border:1px solid transparent;border-radius:var(--nav-item-radius);background:transparent;color:var(--color-text-secondary);font-size:13px;font-weight:400;font-family:var(--font-sans);cursor:pointer;text-align:left;outline:none;position:relative;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.dn-item:hover{background:var(--color-bg-hover);border-color:var(--color-border);color:var(--color-text-primary)}.dn-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.dn-item.active{background:var(--color-primary-light);border-color:var(--color-border);color:var(--color-text-primary);font-weight:500}.dn-item.active:after{content:"";display:block;width:var(--nav-accent-width);height:var(--nav-accent-height);position:absolute;left:0;top:50%;transform:translateY(-50%);background:var(--color-primary);border-radius:0 2px 2px 0;pointer-events:none}.dn-item-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.dn-item-warning{color:var(--color-warning, #f0a500)}.dn-item-config-error-icon{display:flex;align-items:center;flex-shrink:0;color:var(--color-warning, #f0a500);font-size:14px}.dn-loading{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 16px}.dn-loading-spinner{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:dn-spin .8s linear infinite}@keyframes dn-spin{to{transform:rotate(360deg)}}.dn-loading-label{font-size:12px;color:var(--color-text-tertiary)}.dn-no-results{padding:24px 16px;text-align:center;color:var(--color-text-tertiary);font-size:13px}.detector-nav.collapsed .dn-search,.detector-nav.collapsed .dn-body,.detector-nav.collapsed .dn-header-title{display:none}.detector-nav.collapsed .dn-toggle-btn{position:relative}.dn-backdrop{display:none}@media(max-width:700px),(pointer:coarse)and (max-height:500px){.detector-nav.collapsed{display:none}.detector-nav:not(.collapsed){position:fixed;top:0;left:0;bottom:0;width:100%;max-width:100%;z-index:1000;box-shadow:none}.dn-resize-handle{display:none}.dn-backdrop{display:block;position:fixed;inset:0;background:#00000080;z-index:999}}.theme-gradient .dn-search-wrapper{background:#ffffff0d;border-color:#ffffff1a}.theme-gradient .dn-search-wrapper:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 2px #479ef573}.theme-gradient .dn-category-btn:hover,.theme-gradient .dn-item:hover{background:#ffffff0d;border-color:#ffffff1a}.theme-gradient .dn-item.active{background:#479ef526;border-color:#ffffff1a}.theme-gradient .dn-item.active:after{background:var(--grad-purple, #479ef5)}.theme-gradient .dn-category-count{background:#ffffff14}.dn-category-analysis{margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid var(--color-border)}.dn-category-analysis .dn-category-icon{color:var(--color-primary)}.theme-gradient .dn-category-analysis{border-bottom-color:#ffffff1a}.theme-gradient .dn-category-analysis .dn-category-icon{color:var(--grad-purple, #479ef5)}.dn-section-divider{height:1px;background:var(--color-border);margin:8px 12px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.streaming-cursor{display:inline-block;width:8px;height:16px;background-color:var(--color-primary, #0078d4);margin-left:2px;vertical-align:text-bottom;animation:blink 1s step-end infinite}.assistant-markdown p{margin:.4em 0}.assistant-markdown p:first-child{margin-top:0}.assistant-markdown p:last-child{margin-bottom:0}.assistant-markdown ul,.assistant-markdown ol{margin:.4em 0;padding-left:1.5em}.assistant-markdown li{margin:.2em 0}.assistant-markdown strong{font-weight:600}.assistant-markdown code{font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:.9em;padding:1px 4px;border-radius:3px;background-color:#0000000f}.assistant-markdown pre{margin:.5em 0;padding:8px 12px;border-radius:6px;background-color:#0000000f;overflow-x:auto;font-size:.9em}.assistant-markdown pre code{padding:0;background:none}.assistant-markdown table{border-collapse:collapse;margin:.5em 0;font-size:.9em;width:100%}.assistant-markdown th,.assistant-markdown td{border:1px solid var(--color-border);padding:4px 8px;text-align:left}.assistant-markdown th{background-color:#0000000a;font-weight:600}.assistant-markdown blockquote{margin:.5em 0;padding:4px 12px;border-left:3px solid var(--color-primary);background-color:#00000005}.assistant-markdown h1,.assistant-markdown h2,.assistant-markdown h3{margin:.6em 0 .3em;font-weight:600}.assistant-markdown h1{font-size:1.3em}.assistant-markdown h2{font-size:1.15em}.assistant-markdown h3{font-size:1.05em}.assistant-markdown hr{border:none;border-top:1px solid var(--color-border);margin:.5em 0}.assistant-markdown a{color:var(--color-primary);text-decoration:none}.assistant-markdown a:hover{text-decoration:underline}.assistant-message-wrapper{position:relative;align-self:flex-start;display:flex;flex-direction:column;max-width:85%}.copy-btn{align-self:flex-end;margin-top:4px;padding:3px 8px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--color-text-secondary, #605e5c);font-size:11px;cursor:pointer;opacity:.45;transition:opacity .15s ease,background .1s ease,border-color .1s ease;white-space:nowrap}.assistant-message-wrapper:hover .copy-btn{opacity:.9;border-color:var(--color-border);background:var(--color-bg-secondary, #f3f2f1)}.copy-btn:hover{background:var(--color-bg-tertiary, #edebe9);color:var(--color-text-primary, #323130)}.copy-btn.copied{opacity:1;color:#107c10;border-color:#107c10;background:#dff6dd}.message-actions{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-top:4px;align-self:stretch}.message-actions-right{display:flex;align-items:center;gap:2px}.response-duration{font-size:11px;color:var(--color-text-secondary, #605e5c);font-style:italic;opacity:.5;white-space:nowrap}.feedback-btn{padding:3px 6px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--color-text-secondary, #605e5c);font-size:13px;line-height:1;cursor:pointer;opacity:.45;transition:opacity .15s ease,background .1s ease,border-color .1s ease,color .1s ease}.assistant-message-wrapper:hover .feedback-btn{opacity:.9}.feedback-btn:hover{background:var(--color-bg-tertiary, #edebe9);border-color:var(--color-border);opacity:1}.feedback-btn.active-up{opacity:1;color:#107c10;border-color:#107c10;background:#dff6dd}.feedback-btn.active-down{opacity:1;color:#a80000;border-color:#a80000;background:#fde7e9}.feedback-comment-box{margin-top:6px;display:flex;flex-direction:column;gap:6px;align-self:stretch;animation:feedback-box-in .15s ease}@keyframes feedback-box-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.feedback-comment-textarea{width:100%;min-height:56px;max-height:120px;padding:6px 8px;border:1px solid var(--color-border, #c8c6c4);border-radius:4px;font-size:12px;font-family:inherit;resize:vertical;background:var(--color-bg-secondary, #f3f2f1);color:var(--color-text-primary, #323130);box-sizing:border-box}.feedback-comment-textarea:focus{outline:2px solid var(--colorBrandStroke1, #0078d4);outline-offset:-1px}.feedback-comment-actions{display:flex;gap:6px;justify-content:flex-end}.feedback-submit-btn{padding:4px 12px;border:none;border-radius:4px;background:var(--colorBrandBackground, #0078d4);color:#fff;font-size:12px;cursor:pointer;font-family:inherit}.feedback-submit-btn:hover{background:var(--colorBrandBackgroundHover, #106ebe)}.feedback-submit-btn:disabled{opacity:.6;cursor:default}.feedback-cancel-btn{padding:4px 10px;border:1px solid var(--color-border, #c8c6c4);border-radius:4px;background:transparent;color:var(--color-text-secondary, #605e5c);font-size:12px;cursor:pointer;font-family:inherit}.feedback-cancel-btn:hover{background:var(--color-bg-tertiary, #edebe9)}.feedback-submitted-note{font-size:11px;color:var(--color-text-secondary, #605e5c);font-style:italic;opacity:.7;align-self:flex-end}.reasoning-block{margin-bottom:8px;border-left:2px solid var(--colorNeutralStroke2, #c8c6c4);border-radius:4px;background:var(--colorNeutralBackground3, #f5f5f5);opacity:.7;transition:opacity .2s ease}.reasoning-block:hover{opacity:.85}.reasoning-block--streaming{opacity:.75;border-left-color:var(--colorBrandStroke1, #0078d4)}.reasoning-block--streaming .reasoning-block__title{animation:reasoning-blink 1.2s ease-in-out infinite}@keyframes reasoning-blink{0%,to{opacity:1}50%{opacity:.35}}.reasoning-block__header{display:flex;align-items:center;gap:6px;width:100%;background:none;border:none;padding:6px 10px;cursor:pointer;font-size:12px;font-weight:500;color:var(--colorNeutralForeground3, #605e5c);text-align:left;border-radius:4px}.reasoning-block__header:hover{background:var(--colorNeutralBackground4Hover, #edebe9)}.reasoning-block__icon{flex-shrink:0;color:var(--colorNeutralForeground3, #605e5c)}.reasoning-block__title{flex:1;font-style:italic}.reasoning-block__chevron{flex-shrink:0;color:var(--colorNeutralForeground3, #605e5c)}.reasoning-block__body{padding:6px 12px 10px 28px;font-size:12px;font-style:italic;color:var(--colorNeutralForeground3, #605e5c);white-space:pre-wrap;word-break:break-word;line-height:1.5}.install-prompt{position:fixed;bottom:0;left:0;right:0;background:var(--color-surface);border-top:1px solid var(--color-border);padding:var(--spacing-md) var(--spacing-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);z-index:var(--z-sticky);animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.theme-gradient .install-prompt{background:var(--color-bg-primary);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top-color:var(--color-border)}.install-content{display:flex;align-items:center;gap:var(--spacing-md)}.install-icon{font-size:32px;color:var(--color-primary)}.install-text{display:flex;flex-direction:column;gap:2px}.install-text strong{font-size:16px;font-weight:600;color:var(--color-text-primary)}.install-text span{font-size:14px;color:var(--color-text-secondary)}.install-actions{display:flex;gap:var(--spacing-sm)}.install-btn{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.install-btn.dismiss{background:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary)}.install-btn.dismiss:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.install-btn.install{background:var(--color-primary);border:1px solid var(--color-primary);color:#fff}.install-btn.install:hover{opacity:.9;transform:translateY(-1px)}@media(max-width:480px){.install-prompt{flex-direction:column;padding:var(--spacing-md)}.install-content{width:100%}.install-actions{width:100%;justify-content:flex-end}}.search-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:1000;max-height:400px;overflow:hidden;display:flex;flex-direction:column}.theme-gradient .search-dropdown{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.search-loading{padding:var(--spacing-lg);text-align:center;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.loading-spinner{width:16px;height:16px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.search-no-results{padding:var(--spacing-lg);text-align:center;color:var(--color-text-tertiary)}.search-results-list{list-style:none;margin:0;padding:var(--spacing-xs);overflow-y:auto;flex:1}.search-result-item{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast)}.search-result-item:hover,.search-result-item.selected{background:var(--color-primary-light)}.result-name{font-size:14px;font-weight:500;color:var(--color-text-primary);margin-bottom:2px}.result-description{font-size:12px;color:var(--color-text-tertiary);line-height:1.4;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-category{display:inline-block;margin-top:4px;padding:2px 6px;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;background:var(--color-bg-secondary);color:var(--color-text-secondary);border-radius:var(--radius-sm)}.search-more{padding:var(--spacing-sm) var(--spacing-md);text-align:center;font-size:12px;color:var(--color-text-tertiary);border-top:1px solid var(--color-border)}.search-footer{padding:var(--spacing-xs) var(--spacing-md);border-top:1px solid var(--color-border);background:var(--color-bg-secondary)}.search-hint-keys{display:flex;align-items:center;gap:var(--spacing-xs);font-size:11px;color:var(--color-text-tertiary)}.search-hint-keys kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 4px;font-size:10px;font-family:inherit;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary)}.search-hint{padding:var(--spacing-sm) var(--spacing-md);font-size:12px;color:var(--color-text-tertiary);text-align:center}.search-no-context{padding:var(--spacing-lg);text-align:center;color:var(--color-text-tertiary);font-style:italic}:root{--color-bg-primary: #ffffff;--color-bg-secondary: #f8fafc;--color-bg-tertiary: #f1f5f9;--color-surface: #ffffff;--color-surface-elevated: #ffffff;--color-text-primary: #1e293b;--color-text-secondary: #475569;--color-text-tertiary: #94a3b8;--color-primary: #6366f1;--color-primary-hover: #4f46e5;--color-primary-light: rgba(99, 102, 241, .1);--color-bg-hover: #f1f5f9;--color-border: #e2e8f0;--color-border-strong: #cbd5e1;--color-tooltip-bg: #ffffff;--color-link: #4f46e5;--color-critical: #ef4444;--color-critical-bg: #fef2f2;--color-warning: #f59e0b;--color-warning-bg: #fffbeb;--color-healthy: #22c55e;--color-healthy-bg: #f0fdf4;--color-info: #3b82f6;--color-info-bg: #eff6ff;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SF Mono", "Monaco", "Consolas", monospace;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 20px;--spacing-xl: 24px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 14px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .06);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .1);--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-modal: 300;--z-popover: 400;--z-toast: 500;--z-tooltip: 9999;--header-height: 48px;--sidebar-width: 280px;--sidebar-collapsed-width: 64px;--sidebar-expanded-width: 180px;--main-min-width: 40vw;--nav-width: 260px;--nav-collapsed-width: 48px;--nav-item-radius: 16px;--nav-item-padding-start: 18px;--nav-icon-size: 16px;--nav-transition: .25s ease;--nav-accent-width: 3px;--nav-accent-height: 14px;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-sans);font-size:14px;line-height:1.5;background:var(--color-bg-secondary);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:600;color:var(--color-text-primary);letter-spacing:-.01em}h1{font-size:24px;font-weight:300}h2{font-size:18px}h3{font-size:15px}h4{font-size:14px}a{color:var(--color-link)}a:hover{text-decoration:underline}.monospace{font-family:var(--font-mono);font-size:13px}code.inline-code{font-family:var(--font-mono);font-size:13px;background:var(--color-bg-tertiary);padding:2px 6px;border-radius:var(--radius-sm);color:var(--color-text-primary)}.cell-markdown code,.markdown-renderer code:not([class]){font-family:var(--font-mono);font-size:13px}.truncate{display:inline-block;max-width:400px;overflow:auto;white-space:nowrap}.label{font-size:12px;font-weight:500;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-tertiary)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.status-dot.status-critical{background:var(--color-critical)}.status-dot.status-warning{background:var(--color-warning)}.status-dot.status-healthy{background:var(--color-healthy)}.status-dot.status-info{background:var(--color-info)}.status-dot.status-none{background:var(--color-text-tertiary)}.dashboard-layout{display:flex;gap:0;flex:1;min-height:0}.dashboard-content{flex:1;display:flex;flex-direction:column;min-height:0;min-width:0}.dashboard-header{padding:var(--spacing-lg);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.theme-gradient .dashboard-header{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.dashboard-title-row{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.resource-type-badge{display:inline-flex;align-items:center;padding:4px 12px;background:var(--color-primary-light);color:var(--color-primary);border-radius:var(--radius-full);font-size:12px;font-weight:500}.theme-gradient .resource-type-badge{background:var(--color-primary-light);color:var(--color-primary)}.dashboard-body{flex:1;padding:var(--spacing-lg);overflow-y:auto}:root.theme-gradient{color-scheme:dark;--dark-bg-1: #1b1b1f;--dark-bg-2: #292929;--dark-bg-3: #333333;--dark-surface: #2d2d30;--dark-surface-elevated: #383838;--dark-accent: #479ef5;--dark-accent-hover: #60b0ff;--dark-accent-light: rgba(71, 158, 245, .15);--grad-purple: #479ef5;--grad-pink: #479ef5;--grad-blue: #479ef5;--grad-cyan: #60cdff;--glass-bg: var(--dark-surface);--glass-border: #484848;--glass-blur: 0px;--glass-bg-solid: var(--dark-surface);--color-bg-primary: var(--dark-bg-1);--color-bg-secondary: var(--dark-bg-2);--color-bg-tertiary: var(--dark-bg-3);--color-bg-hover: rgba(255, 255, 255, .06);--color-surface: var(--dark-surface);--color-surface-elevated: var(--dark-surface-elevated);--color-text-primary: #e0e0e0;--color-text-secondary: #a0a0a0;--color-text-tertiary: #6b6b6b;--color-primary: var(--dark-accent);--color-primary-hover: var(--dark-accent-hover);--color-primary-light: var(--dark-accent-light);--color-border: var(--glass-border);--color-border-strong: #555555;--color-tooltip-bg: var(--dark-surface-elevated);--color-link: #479ef5;--shadow-sm: 0 1px 4px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .6);--color-critical-bg: rgba(239, 68, 68, .18);--color-warning-bg: rgba(245, 158, 11, .18);--color-healthy-bg: rgba(34, 197, 94, .18);--color-info-bg: rgba(59, 130, 246, .18)}.theme-gradient body,:root.theme-gradient body{background:var(--dark-bg-1);min-height:100vh}.theme-gradient .card{background:var(--dark-surface);border:1px solid var(--glass-border)}.theme-gradient .card:hover{background:var(--dark-surface-elevated);box-shadow:var(--shadow-md)}.theme-gradient .nav-link.active{background:var(--dark-accent-light);border-left:2px solid var(--dark-accent)}.theme-gradient .logo-text{color:var(--dark-accent);background:none;-webkit-background-clip:unset;-webkit-text-fill-color:unset;background-clip:unset}.theme-gradient .tab.active{background:var(--dark-accent);color:#fff}.theme-gradient .status-dot.status-critical{background:#ef4444}.theme-gradient .status-dot.status-warning{background:#f59e0b}.theme-gradient .status-dot.status-healthy{background:#22c55e}.theme-gradient .status-dot.status-info{background:#3b82f6}.theme-gradient .input:focus{border-color:var(--dark-accent);box-shadow:0 0 0 3px #479ef533}.theme-gradient .code-block{background:#0000004d;border:1px solid var(--glass-border)}.theme-gradient ::-webkit-scrollbar-track{background:#ffffff08}.theme-gradient ::-webkit-scrollbar-thumb{background:#ffffff26}.theme-gradient ::-webkit-scrollbar-thumb:hover{background:#ffffff40}:root.theme-clean-slate{color-scheme:light;--cs-bg-primary: #ffffff;--cs-bg-secondary: #f8fafc;--cs-bg-tertiary: #f1f5f9;--cs-bg-elevated: #ffffff;--cs-accent: #6366f1;--cs-accent-hover: #4f46e5;--cs-accent-light: rgba(99, 102, 241, .1);--cs-text-primary: #1e293b;--cs-text-secondary: #475569;--cs-text-muted: #94a3b8;--cs-border: #e2e8f0;--cs-border-light: #f1f5f9;--color-bg-primary: var(--cs-bg-primary);--color-bg-secondary: var(--cs-bg-secondary);--color-bg-tertiary: var(--cs-bg-tertiary);--color-bg-hover: var(--cs-bg-tertiary);--color-surface: var(--cs-bg-primary);--color-surface-elevated: var(--cs-bg-elevated);--color-text-primary: var(--cs-text-primary);--color-text-secondary: var(--cs-text-secondary);--color-text-tertiary: var(--cs-text-muted);--color-primary: var(--cs-accent);--color-primary-hover: var(--cs-accent-hover);--color-primary-light: var(--cs-accent-light);--color-border: var(--cs-border);--color-border-strong: var(--cs-border);--color-tooltip-bg: #ffffff;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .06);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .08)}.theme-clean-slate body,:root.theme-clean-slate body{background:var(--cs-bg-secondary)}.theme-clean-slate .card{background:var(--cs-bg-primary);border:1px solid var(--cs-border);box-shadow:var(--shadow-sm)}.theme-clean-slate .card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.theme-clean-slate .nav-link.active{background:var(--cs-accent-light);color:var(--cs-accent);border-left:2px solid var(--cs-accent)}.theme-clean-slate .tab.active{background:var(--cs-bg-primary);color:var(--cs-text-primary);box-shadow:0 1px 3px #0000001a}.theme-clean-slate .input:focus{border-color:var(--cs-accent);box-shadow:0 0 0 3px var(--cs-accent-light)}.theme-clean-slate .status-badge.critical{background:#fef2f2;color:#dc2626}.theme-clean-slate .status-badge.warning{background:#fffbeb;color:#d97706}.theme-clean-slate .status-badge.healthy{background:#f0fdf4;color:#16a34a}.theme-clean-slate .status-badge.info{background:#eff6ff;color:#2563eb}.theme-clean-slate ::-webkit-scrollbar-track{background:var(--cs-bg-tertiary)}.theme-clean-slate ::-webkit-scrollbar-thumb{background:var(--cs-border)}.theme-clean-slate ::-webkit-scrollbar-thumb:hover{background:var(--cs-text-muted)}@media(max-width:1024px){.l1-sidebar{width:64px}.l1-sidebar.collapsed .nav-text{display:none}.l1-sidebar .nav-item{justify-content:center}.main-layout-content{margin-left:64px}.l2-sidebar{position:fixed;left:64px;top:var(--header-height);bottom:0;z-index:100;transform:translate(-100%);transition:transform var(--transition-normal);box-shadow:4px 0 20px #0003}.l2-sidebar.open{transform:translate(0)}.l2-backdrop{display:none;position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:99}.l2-backdrop.visible{display:block}}@media(max-width:768px){.l1-sidebar,.l2-sidebar{display:none}.main-layout-content{margin-left:0}.app-header{height:44px;padding:0 var(--spacing-sm)}.header-search{display:none}.header-search.mobile-open{display:flex;position:absolute;left:0;right:0;top:100%;padding:var(--spacing-sm);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.hamburger-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:transparent;border:none;color:var(--color-text-primary);cursor:pointer}.mobile-nav-drawer{position:fixed;top:0;left:0;bottom:0;width:280px;max-width:80vw;background:var(--color-surface);z-index:1000;transform:translate(-100%);transition:transform var(--transition-normal);padding-top:var(--header-height);overflow-y:auto}.mobile-nav-drawer.open{transform:translate(0)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:56px;background:var(--color-surface);border-top:1px solid var(--color-border);display:flex;justify-content:space-around;align-items:center;z-index:100;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 16px;background:transparent;border:none;color:var(--color-text-secondary);font-size:10px;cursor:pointer;min-width:44px;min-height:44px}.bottom-nav-item.active{color:var(--color-primary)}.bottom-nav-item-icon{font-size:20px}.page-content{padding-bottom:calc(56px + env(safe-area-inset-bottom))}.cards-grid,.dashboard-grid{grid-template-columns:1fr}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-container table{min-width:600px}.chart-container{width:100%;height:250px}.tab-bar{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tab-bar::-webkit-scrollbar{display:none}.form-row{flex-direction:column}.form-group{width:100%}.modal-content{width:100%;height:100%;max-width:none;max-height:none;border-radius:0}.chat-container{position:fixed;inset:0;width:100%;height:100%;border-radius:0}}@media(pointer:coarse){button,a,.clickable,input[type=checkbox],input[type=radio],select{min-height:44px;min-width:44px}.app-header button,.app-header a{min-width:auto}.nav-item,.list-item{padding:var(--spacing-md)}.dropdown-item{padding:var(--spacing-md) var(--spacing-lg)}}@supports (padding: env(safe-area-inset-bottom)){.install-prompt,.bottom-nav,.chat-input-container{padding-bottom:env(safe-area-inset-bottom)}.mobile-nav-drawer{padding-left:env(safe-area-inset-left)}}@media(max-width:768px)and (orientation:landscape){.app-header,.bottom-nav{height:48px}.mobile-nav-drawer{padding-top:48px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.skeleton-spinner{animation:spin .8s linear infinite!important}.skeleton-line,.skeleton-card{animation:detector-shimmer 1.5s ease-in-out infinite!important}}@media(prefers-contrast:high){:root{--color-border: #000}.theme-gradient{--color-border: #fff}}
