@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2) format("woff2")}:root{--color-primary: #0f5a3c;--color-primary-hover: #17744d;--color-primary-active: #0a4529;--color-primary-soft: rgba(15, 90, 60, .1);--color-primary-softer: rgba(15, 90, 60, .045);--color-primary-soft-solid: color-mix(in srgb, var(--color-primary) 10%, var(--color-bg-elevated));--color-primary-softer-solid: color-mix(in srgb, var(--color-primary) 4.5%, var(--color-bg-elevated));--color-primary-glow: rgba(23, 116, 77, .18);--color-on-primary: #ffffff;--color-accent: #b4812a;--color-accent-soft: rgba(180, 129, 42, .1);--color-accent-glow: rgba(180, 129, 42, .22);--color-bg: #f6f8f6;--color-bg-elevated: #ffffff;--color-bg-overlay: #ffffff;--color-bg-header: #e8ede9;--color-bg-hover: #f3f7f5;--color-border: #dfe8e0;--color-border-strong: #b3c4b7;--color-text: #0d1f16;--color-text-secondary: #3f5748;--color-text-tertiary: #5f7669;--color-success: #15803d;--color-success-bg: rgba(21, 128, 61, .1);--color-warning: #94661c;--color-warning-bg: rgba(148, 102, 28, .1);--color-error: #b91c1c;--color-error-bg: rgba(185, 28, 28, .07);--color-info-bg: rgba(15, 90, 60, .08);--color-hl-line-bg: rgba(15, 90, 60, .1);--color-hl-line-border: rgba(15, 90, 60, .42);--color-hl-ctx-bg: rgba(180, 129, 42, .09);--color-hl-ctx-border: rgba(180, 129, 42, .48);--color-fill-tertiary: rgba(13, 31, 22, .04);--color-fill-quaternary: rgba(13, 31, 22, .02);--color-focus-ring: rgba(15, 90, 60, .12);--color-selection-bg: rgba(15, 90, 60, .18);--shadow-sm: 0 1px 2px 0 rgba(13, 31, 22, .05);--shadow-md: 0 4px 6px -1px rgba(13, 31, 22, .07), 0 2px 4px -2px rgba(13, 31, 22, .05);--shadow-lg: 0 10px 15px -3px rgba(13, 31, 22, .08), 0 4px 6px -4px rgba(13, 31, 22, .05);--shadow-glow: 0 0 16px var(--color-primary-glow);--shadow-glow-accent: 0 0 16px var(--color-accent-glow);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--header-h: 61px;--font-display: "IBM Plex Sans", "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-sans: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--motion-fast: .15s;--motion-base: .22s;--motion-slow: .34s;--ease-out: cubic-bezier(.22, .61, .36, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1);--transition: all var(--motion-fast) var(--ease-out)}[data-theme=dark]{--color-primary: #5cb88a;--color-primary-hover: #7dcfa3;--color-primary-active: #3d9a6c;--color-primary-soft: rgba(92, 184, 138, .16);--color-primary-softer: rgba(92, 184, 138, .07);--color-primary-soft-solid: color-mix(in srgb, var(--color-primary) 16%, var(--color-bg-elevated));--color-primary-softer-solid: color-mix(in srgb, var(--color-primary) 7%, var(--color-bg-elevated));--color-primary-glow: rgba(92, 184, 138, .32);--color-on-primary: #0a0d12;--color-accent: #e0a94e;--color-accent-soft: rgba(224, 169, 78, .12);--color-accent-glow: rgba(224, 169, 78, .28);--color-bg: #0a0d12;--color-bg-elevated: #12161d;--color-bg-overlay: #191f28;--color-bg-header: #0f141b;--color-bg-hover: #1a2129;--color-border: #2a323c;--color-border-strong: #414b57;--color-text: #e3ede7;--color-text-secondary: #9ab0a3;--color-text-tertiary: #7b9184;--color-success: #4ade80;--color-success-bg: rgba(74, 222, 128, .12);--color-warning: #e0a94e;--color-warning-bg: rgba(224, 169, 78, .12);--color-error: #f87171;--color-error-bg: rgba(248, 113, 113, .14);--color-info-bg: rgba(92, 184, 138, .12);--color-hl-line-bg: rgba(92, 184, 138, .14);--color-hl-line-border: rgba(92, 184, 138, .5);--color-hl-ctx-bg: rgba(224, 169, 78, .11);--color-hl-ctx-border: rgba(224, 169, 78, .55);--color-fill-tertiary: rgba(255, 255, 255, .06);--color-fill-quaternary: rgba(255, 255, 255, .04);--color-focus-ring: rgba(92, 184, 138, .18);--color-selection-bg: rgba(92, 184, 138, .3);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .5);--shadow-md: 0 8px 24px rgba(0, 0, 0, .55), inset 0 1px 0 rgba(255, 255, 255, .04);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .65), inset 0 1px 0 rgba(255, 255, 255, .05);--shadow-glow: 0 0 20px var(--color-primary-glow);--shadow-glow-accent: 0 0 20px var(--color-accent-glow)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}html{background:var(--color-bg)}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;transition:background-color var(--motion-base) ease,color var(--motion-base) ease}.mono,code,kbd{font-family:var(--font-mono);font-variant-numeric:tabular-nums}h1,h2,h3,h4,h5,h6,.app-header-title,.auth-card-header h2,.auth-brand-slogan h1,.auth-brand-logo,.content-toolbar-title h3{font-weight:600;letter-spacing:-.01em}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}::selection{background:var(--color-selection-bg)}:where(button,a,input,[tabindex]):focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}@keyframes page-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.page-anim{animation:page-enter var(--motion-base) var(--ease-out) both}@keyframes row-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.anim-row{animation:row-enter var(--motion-base) var(--ease-out) both}@keyframes caret-blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}@keyframes row-indicator-in{0%{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}@keyframes row-pulse{0%,to{box-shadow:inset 0 0 #5cb88a00}50%{box-shadow:inset 0 0 12px #5cb88a26}}@keyframes num-tick{0%{transform:translateY(0);opacity:1}40%{transform:translateY(-4px);opacity:.4}to{transform:translateY(0);opacity:1}}.num-tick{animation:num-tick .28s var(--ease-out)}@keyframes chip-pop{0%{transform:scale(.85);opacity:0}60%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}.chip-pop{animation:chip-pop .24s var(--ease-spring)}@keyframes modal-enter{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.ant-modal-content{animation:modal-enter .26s var(--ease-out)}.ant-drawer-content-wrapper{transition:transform var(--motion-base) var(--ease-out)!important}@keyframes empty-enter{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.ant-empty{animation:empty-enter .32s var(--ease-out)}.skeleton-shimmer{background:linear-gradient(90deg,var(--color-bg-header) 25%,var(--color-bg-elevated) 50%,var(--color-bg-header) 75%);background-size:400px 100%;animation:shimmer 1.4s ease-in-out infinite}.ant-btn-primary{position:relative;overflow:hidden}.ant-btn-primary:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,rgba(255,255,255,.35),transparent 70%);opacity:0;transform:scale(.6);transition:opacity var(--motion-fast) ease,transform var(--motion-fast) ease;pointer-events:none}.ant-btn-primary:not(:disabled):active:after{opacity:1;transform:scale(1);transition:none}[data-theme=dark] .ant-btn-primary{animation:btn-breathe 3s ease-in-out infinite}@keyframes btn-breathe{0%,to{box-shadow:0 0 12px #5cb88a2e,inset 0 0 0 1px #5cb88a47}50%{box-shadow:0 0 20px #5cb88a52,inset 0 0 0 1px #5cb88a7a}}@keyframes link-shine{0%{transform:translate(-100%)}to{transform:translate(200%)}}.app-header,.main-sider,.content-card,.msg-card,.auth-panel{transition-property:background-color,border-color,color,box-shadow,transform,opacity;transition-duration:var(--motion-base);transition-timing-function:ease}html.theme-transition,html.theme-transition body,html.theme-transition .app-header,html.theme-transition .main-sider,html.theme-transition .content-card,html.theme-transition .msg-card,html.theme-transition .auth-panel,html.theme-transition .ant-layout,html.theme-transition .ant-card,html.theme-transition .ant-table,html.theme-transition .ant-modal-content,html.theme-transition .ant-drawer-content,html.theme-transition .ant-dropdown-menu,html.theme-transition .ant-select-dropdown,html.theme-transition .ant-tooltip-inner{transition:background-color var(--motion-base) ease,border-color var(--motion-base) ease,color var(--motion-base) ease,box-shadow var(--motion-base) ease!important}@media(prefers-reduced-motion:reduce){html.theme-transition,html.theme-transition *,html.theme-transition *:before,html.theme-transition *:after{transition:none!important}}@media(prefers-reduced-motion:reduce){.page-anim,.anim-row,.num-tick,.chip-pop,.ant-modal-content,.ant-empty,.skeleton-shimmer,.deferred-dock-panel,.msg-table .ant-table-tbody>tr.ant-table-row-selected>td{animation:none}.auth-brand-slogan h1:after{animation:none}.ant-btn-primary:after{display:none}[data-theme=dark] .ant-btn-primary{animation:none}.msg-card:hover,.main-menu .ant-menu-item:hover,.main-menu .ant-menu-submenu-title:hover{transform:none}*,*:before,*:after{transition-duration:.01ms!important}}@keyframes dock-enter{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.app-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 24px;background:color-mix(in srgb,var(--color-bg-elevated) 82%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.5);backdrop-filter:blur(14px) saturate(1.5);border-bottom:1px solid var(--color-border);transition:background-color var(--motion-base) ease,border-color var(--motion-base) ease}.app-header-left{display:flex;align-items:center;gap:12px}.app-header-logo{width:30px;height:30px;display:grid;place-items:center;background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-glow);-webkit-user-select:none;user-select:none}.theme-toggle{display:inline-grid;place-items:center;transition:transform var(--motion-base) var(--ease-out)}.theme-toggle:hover{transform:rotate(18deg) scale(1.06)}.theme-toggle:active{transform:scale(.92)}.app-header-title{font-size:15px;font-weight:600;letter-spacing:-.1px}.app-header-right{display:flex;align-items:center;gap:12px}.app-header-user{display:flex;align-items:center;gap:8px;padding:5px 12px 5px 6px;border-radius:999px;background:var(--color-bg);border:1px solid var(--color-border);font-size:13px;color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .2s}.app-header-user:hover{border-color:var(--color-primary)}.app-header-user .avatar{width:24px;height:24px;display:grid;place-items:center;background:var(--color-primary);color:var(--color-on-primary);border-radius:50%;font-size:11px;font-weight:600}.app-shell{display:flex;column-gap:24px;min-height:calc(100vh - var(--header-h))}.main-sider{flex-shrink:0;background:var(--color-bg-elevated);border-right:1px solid var(--color-border);position:sticky;top:var(--header-h);height:calc(100vh - var(--header-h));overflow-y:auto;overflow-x:hidden;width:208px;transition:width var(--motion-base) var(--ease-out),background-color var(--motion-base) ease,border-color var(--motion-base) ease}.main-sider.collapsed{width:64px}.main-menu{border-inline-end:none!important;background:transparent;padding-top:8px}.main-menu .ant-menu-item,.main-menu .ant-menu-submenu-title{position:relative;transition:color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out),transform var(--motion-fast) var(--ease-out)}.main-menu .ant-menu-item:hover,.main-menu .ant-menu-submenu-title:hover{transform:translate(2px)}.main-menu .ant-menu-item-selected:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:2px;border-radius:2px;background:var(--color-primary)}.main-sider.collapsed .main-menu .ant-menu-item-selected:before{left:4px}.main-menu .ant-menu-submenu-title{font-weight:500}.app-main{flex:1;min-width:0;display:flex;flex-direction:column}.app-main>div{flex:1;display:flex;flex-direction:column;min-width:0}.content-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:background-color var(--motion-base) ease,border-color var(--motion-base) ease}.content-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:14px 20px;border-bottom:1px solid var(--color-border);background:var(--color-bg-elevated);transition:background-color var(--motion-base) ease,border-color var(--motion-base) ease}.content-toolbar-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;min-width:0}.content-toolbar-title h3{margin:0;font-size:15px;font-weight:600;letter-spacing:-.1px;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content-toolbar-title .total{font-family:var(--font-mono);font-size:12px;color:var(--color-text-tertiary);white-space:nowrap}.content-toolbar-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.msg-table{padding:12px 16px}.msg-table .ant-table,.msg-table .ant-table-container,.msg-table .ant-table-content,.msg-table .ant-table-cell{background:transparent}.msg-table .ant-table-tbody>tr>td{padding:14px 16px;border-bottom:1px solid var(--color-border);background:transparent;transition:background-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease;position:relative}.msg-table .ant-table-tbody>tr:nth-child(2n)>td{background:color-mix(in srgb,var(--color-bg-header) 40%,transparent)}.msg-table .ant-table-tbody>tr>td.ant-table-cell-fix-left,.msg-table .ant-table-tbody>tr>td.ant-table-cell-fix-right{background:var(--color-bg-elevated)}.msg-table .ant-table-tbody>tr:nth-child(2n)>td.ant-table-cell-fix-left,.msg-table .ant-table-tbody>tr:nth-child(2n)>td.ant-table-cell-fix-right{background:color-mix(in srgb,var(--color-bg-header) 40%,var(--color-bg-elevated))}.msg-table .ant-table-tbody>tr{position:relative}.msg-table .ant-table-tbody>tr>td:first-child:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--color-primary);transform:scaleY(0);transform-origin:center;opacity:0;transition:transform var(--motion-fast) var(--ease-out),opacity var(--motion-fast) ease,box-shadow var(--motion-fast) ease;pointer-events:none}.msg-table .ant-table-tbody>tr:hover>td{background:var(--color-primary-softer)!important}.msg-table .ant-table-tbody>tr:hover>td:first-child:before{transform:scaleY(1);opacity:1;box-shadow:0 0 12px var(--color-primary-glow)}.msg-table .ant-table-tbody>tr:hover>td.ant-table-cell-fix-left,.msg-table .ant-table-tbody>tr:hover>td.ant-table-cell-fix-right{background:var(--color-primary-softer-solid)!important}.msg-table .ant-table-tbody>tr.ant-table-row-selected>td{background:var(--color-primary-soft)!important}.msg-table .ant-table-tbody>tr.ant-table-row-selected>td:first-child:before{transform:scaleY(1);opacity:1;box-shadow:0 0 16px var(--color-primary-glow)}.msg-table .ant-table-tbody>tr.ant-table-row-selected>td.ant-table-cell-fix-left,.msg-table .ant-table-tbody>tr.ant-table-row-selected>td.ant-table-cell-fix-right{background:var(--color-primary-soft-solid)!important}[data-theme=dark] .msg-table .ant-table-tbody>tr.ant-table-row-selected>td{animation:row-pulse 2s ease-in-out infinite}.msg-table .ant-table-tbody>tr.extract-row-focus>td{background:var(--color-accent-soft)}.msg-table .ant-table-tbody>tr.extract-row-focus>td:first-child:after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--color-accent);pointer-events:none}.msg-table .ant-table-tbody>tr.extract-row-focus>td.ant-table-cell-fix-left,.msg-table .ant-table-tbody>tr.extract-row-focus>td.ant-table-cell-fix-right{background:color-mix(in srgb,var(--color-accent) 10%,var(--color-bg-elevated))}.msg-table .ant-table-tbody>tr:last-child>td{border-bottom:none}.msg-table .ant-table-cell[colspan],.msg-table td:has(>.mono){font-variant-numeric:tabular-nums}.msg-group-tag{display:inline-block;padding:2px 10px;background:var(--color-primary-soft);color:var(--color-primary);border-radius:999px;font-size:12px;font-weight:500;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.msg-sender{display:inline-flex;align-items:center;gap:6px;color:var(--color-text);font-size:13px}.msg-sender .avatar-mini{width:22px;height:22px;border-radius:50%;background:var(--color-primary);color:var(--color-on-primary);display:grid;place-items:center;font-size:10px;font-weight:600;flex-shrink:0}.msg-text{margin:0;white-space:pre-wrap;word-break:break-word;line-height:1.6;color:var(--color-text);font-size:13.5px;transition:color .18s ease}.msg-text-clamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.msg-text-clickable{cursor:pointer}.msg-text-clickable:hover{color:var(--color-primary)}.msg-text-clickable:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.msg-view-full{display:inline-block;margin-left:6px;font-size:12px;color:var(--color-primary);font-weight:500;white-space:nowrap}.content-card>.ant-tabs>.ant-tabs-nav{padding:10px 20px 0}.extract-filter{padding:14px 20px;border-bottom:1px solid var(--color-border)}.extract-review-cell{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.filter-item{display:inline-flex;align-items:center;gap:6px}.filter-label{font-size:13px;color:var(--color-text-secondary)}.filter-w-110{width:110px}.filter-w-120{width:120px}.filter-w-130{width:130px}.filter-w-150{width:150px}.filter-w-180{width:180px}.filter-w-240{width:240px}@media(max-width:991px){.extract-filter{padding:12px 14px}.extract-filter .filter-item{width:100%}.extract-filter .filter-item .ant-picker,.extract-filter .filter-item .ant-select,.extract-filter .filter-item [class*=filter-w-]{width:100%;max-width:100%}}.extract-pager{display:flex;justify-content:flex-end;padding:14px 20px}.review-grid{display:grid;grid-template-columns:repeat(2,1fr);column-gap:14px}.extract-cover-thumb,.review-watch-model-cover{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.review-watch-model-fields{flex:1;min-width:0}.review-history-item{padding:12px 0;border-bottom:1px solid var(--color-border)}.review-history-meta{display:flex;justify-content:space-between;font-size:13px;margin-bottom:6px}.review-history-note{font-size:12px;color:var(--color-text-secondary);margin-bottom:6px}.review-history-changes{display:flex;flex-direction:column;gap:4px}.review-history-nochange{font-size:12px;color:var(--color-text-secondary)}.review-history-change{display:flex;align-items:center;gap:8px;font-size:13px}.chg-field{min-width:48px;font-weight:600;color:var(--color-text)}.chg-before{color:var(--color-text-tertiary);text-decoration:line-through;word-break:break-all}.chg-arrow{color:var(--color-text-tertiary)}.chg-after{color:var(--color-primary);font-weight:600;word-break:break-all}.msg-detail-modal .ant-modal-content{border-radius:var(--radius-lg);overflow:hidden}.msg-detail-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.msg-detail-time{font-size:12px;color:var(--color-text-tertiary)}.msg-detail-body{white-space:pre-wrap;word-break:break-word;max-height:60vh;overflow-y:auto;padding:4px 0;font-size:14px;line-height:1.7;color:var(--color-text)}.msg-extract-block{margin-top:16px;border-top:1px solid var(--color-border);padding-top:12px}.extract-metrics-block{margin-top:12px;padding:10px 12px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:12.5px}.extract-metrics-title{font-weight:600;color:var(--color-text);margin-bottom:8px}.extract-metrics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 16px}.extract-metrics-row{display:flex;gap:8px;line-height:1.6}.extract-metrics-row span{color:var(--color-text-tertiary);flex-shrink:0}.extract-metrics-row b{font-weight:500;color:var(--color-text)}.extract-metrics-tooltip{font-size:12px;line-height:1.8}.extract-metrics-tag{display:inline-block;padding:1px 6px;border-radius:var(--radius-sm);background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-tertiary);font-size:12px;cursor:default}.msg-extract-title{font-size:13px;font-weight:600;color:var(--color-text);margin-bottom:10px}.msg-extract-list{display:flex;flex-direction:column;gap:10px;max-height:40vh;overflow-y:auto}.msg-extract-item{position:relative;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 12px;display:grid;grid-template-columns:repeat(2,1fr);gap:6px 16px}.msg-extract-item.is-active{border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}.msg-extract-item.is-selectable{cursor:pointer}.msg-extract-item.is-selectable:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.msg-extract-actions{position:absolute;top:4px;right:4px;display:flex;align-items:center;gap:2px;padding-left:4px;background:var(--color-bg);border-radius:var(--radius-sm, 6px)}.msg-extract-jump{opacity:.45;transition:opacity .15s ease}.msg-extract-item:hover .msg-extract-jump,.msg-extract-jump:focus-visible{opacity:1}.msg-extract-row{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;line-height:1.6}.msg-extract-row>span:first-child{color:var(--color-text-tertiary);flex-shrink:0}.msg-extract-row b{font-weight:500;word-break:break-word}.confidence-legend{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;padding:8px 16px;font-size:12px;color:var(--color-text-secondary)}.confidence-legend .legend-title{font-weight:600;color:var(--color-text);margin-right:4px}.confidence-stats{display:inline-flex;align-items:center;gap:4px;margin-left:6px;font-family:var(--font-mono);font-size:12px;color:var(--color-text-tertiary);white-space:nowrap}.extract-failed{color:var(--color-error);font-size:13px}.msg-detail-split{display:flex;gap:16px;align-items:flex-start}.msg-detail-split .msg-detail-body{flex:1;min-width:0}.msg-detail-split .msg-extract-block{margin-top:0;border-top:none;padding-top:0;border-left:1px solid var(--color-border);padding-left:16px;width:380px;flex-shrink:0}.msg-detail-split .msg-extract-list{max-height:55vh}@media(max-width:768px){.msg-detail-split{flex-direction:column}.msg-detail-split .msg-extract-block{width:100%;border-left:none;padding-left:0;margin-top:16px;border-top:1px solid var(--color-border);padding-top:12px}}.watch-model-link{background:none;border:none;padding:0;color:var(--color-primary);cursor:pointer;font-size:inherit;font-weight:500;text-align:left;word-break:break-word}.watch-model-link:hover{color:var(--color-primary-hover);text-decoration:underline}.watch-model-cover{display:block;max-width:100%;max-height:220px;margin:0 auto 12px;border-radius:var(--radius-md);border:1px solid var(--color-border)}.msg-extract-cover{grid-column:1 / -1;display:block;max-width:100%;max-height:180px;margin:4px auto 0;object-fit:contain;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.watch-model-row{display:flex;gap:8px;font-size:13px;line-height:1.8}.watch-model-row span{color:var(--color-text-tertiary);flex-shrink:0;width:72px}.watch-model-row b{font-weight:500;color:var(--color-text);word-break:break-word}.batch-review-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px;font-size:13px}.batch-review-toolbar-hint{font-size:12px;color:var(--color-text-tertiary)}.batch-review-card{margin-bottom:12px;padding:10px 12px;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md)}.batch-review-card-failed{border-color:var(--color-error)}.batch-review-card-error{margin-bottom:8px;padding:6px 10px;border-radius:var(--radius-sm);background:var(--color-error-bg);color:var(--color-error);font-size:12px;word-break:break-word}.batch-review-card-head{display:flex;align-items:baseline;gap:10px;margin-bottom:10px;font-size:12px}.batch-review-card-collapsed{padding:8px 12px;cursor:pointer}.batch-review-card-actions{margin-left:auto;display:flex;align-items:center;gap:8px;flex-shrink:0;align-self:center}.batch-review-card-action{padding:0;height:auto}.batch-review-card-collapsed-tip{font-size:12px;color:var(--color-text-tertiary)}.batch-review-card-id{flex-shrink:0;font-size:13px}.batch-review-card-rawline{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-secondary)}.batch-review-card-region{flex-shrink:0;color:var(--color-text-secondary)}.batch-review-card-meta{flex-shrink:0;color:var(--color-text-tertiary)}.batch-review-card-reasoning{margin-bottom:8px;font-size:12px;color:var(--color-text-secondary);word-break:break-word}.batch-review-card-pc-alert{margin-bottom:8px}.batch-review-card-body{display:flex;gap:14px;align-items:flex-start}.batch-review-card-watch{width:236px;flex-shrink:0;display:flex;gap:10px;align-items:flex-start}.batch-review-card-watch>.ant-image{width:72px;height:72px;flex-shrink:0}.batch-review-card-watch .watch-model-row span{width:auto}.batch-review-card-watch .watch-model-row b{flex:1;min-width:0}.batch-review-card-no-watch{font-size:12px;color:var(--color-text-tertiary)}.batch-review-card-form{flex:1;min-width:0}.batch-review-card .review-grid{column-gap:10px}.batch-review-card .ant-form-item{margin-bottom:8px}.batch-review-card .ant-form-item-label{padding-bottom:2px}.review-two-col{display:grid;grid-template-columns:minmax(300px,42%) 1fr;gap:14px;align-items:start}.review-raw-panel{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);display:flex;flex-direction:column;max-height:62vh}.review-raw-title{padding:8px 12px;font-weight:600;font-size:13px;border-bottom:1px solid var(--color-border)}.review-raw-nopos{margin-left:6px;font-weight:400;font-size:12px;color:var(--color-text-tertiary)}.review-raw-region{margin-left:12px;font-weight:400;font-size:12px;color:var(--color-text-secondary)}.review-raw-legend{display:flex;gap:14px;padding:6px 12px;font-size:12px;color:var(--color-text-secondary);border-bottom:1px dashed var(--color-border)}.review-raw-legend .legend-dot{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;vertical-align:-1px}.legend-dot.legend-line{background:var(--color-hl-line-bg);border:1px solid var(--color-hl-line-border)}.legend-dot.legend-ctx{background:var(--color-hl-ctx-bg);border:1px solid var(--color-hl-ctx-border)}.review-raw-lines{position:relative;overflow:auto;padding:6px 0;font-family:var(--font-mono);font-size:12.5px;line-height:1.7;white-space:normal}.review-raw-line{display:flex;padding:0 8px;white-space:pre-wrap;word-break:break-all}.raw-line-no{flex:0 0 34px;text-align:right;margin-right:10px;color:var(--color-text-tertiary);-webkit-user-select:none;user-select:none}.raw-line-active{background:var(--color-hl-line-bg);outline:1px solid var(--color-hl-line-border);border-radius:2px}.raw-line-ctx{background:var(--color-hl-ctx-bg);outline:1px dashed var(--color-hl-ctx-border);border-radius:2px}.review-raw-line.raw-line-active.raw-line-ctx{background:var(--color-hl-line-bg);outline:1px solid var(--color-hl-line-border)}.msg-preview-body{white-space:normal}.msg-preview-body .review-raw-lines{overflow:visible}.msg-preview-body .review-raw-legend{position:sticky;top:0;z-index:1;background:var(--color-bg)}.review-fields-panel{min-width:0;max-height:62vh;overflow:auto;padding-right:4px}.review-pc-alert{margin-bottom:10px}.review-sec-title{font-weight:600;font-size:13px;margin-bottom:6px;display:flex;align-items:center;gap:8px}.review-reasoning{font-size:12px;color:var(--color-text-secondary);background:var(--color-bg);border:1px dashed var(--color-border);border-radius:var(--radius-sm);padding:6px 8px;margin-bottom:8px;word-break:break-word}.review-candidate-group{display:flex;flex-direction:column;gap:6px;width:100%}.review-candidate{display:flex!important;align-items:center;margin:0!important;padding:6px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color .2s,background .2s}.review-candidate:hover{border-color:var(--color-primary);background:var(--color-primary-softer)}.review-candidate.ant-radio-wrapper-checked{border-color:var(--color-primary);background:var(--color-primary-soft)}.review-candidate-body{display:flex;align-items:center;gap:10px}.review-sku-thumb{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.review-sku-thumb-empty{display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);background:var(--color-bg)}.review-candidate-meta{display:flex;flex-direction:column;line-height:1.35;min-width:0}.review-candidate-meta b{font-size:13px;word-break:break-all}.review-candidate-meta span{font-size:12px;color:var(--color-text-secondary)}.review-candidate-extra{font-size:12px;color:var(--color-text-tertiary);word-break:break-all}.watch-model-option{position:relative;display:flex;flex-direction:column;line-height:1.4;padding:2px 0;white-space:normal}.watch-model-option-row{flex-direction:row;align-items:center;gap:10px}.watch-model-option-text{display:flex;flex-direction:column;line-height:1.4;min-width:0}.watch-model-option-name,.watch-model-option-extra{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere}.watch-model-option-extra{font-size:12px;color:var(--color-text-tertiary)}.watch-model-option-count{margin-left:6px;font-size:12px;color:var(--color-primary);opacity:.85;white-space:nowrap}.watch-model-option-plain{flex-direction:row;align-items:center;justify-content:space-between;gap:8px;width:100%}.watch-model-option-row .watch-model-option-text,.watch-model-option-plain .watch-model-option-text{flex:1}.watch-model-option-plain:has(.watch-model-option-actions) .watch-model-option-text{padding-right:30px}.watch-model-option-plain:has(.watch-model-option-action):has(.watch-model-option-edit) .watch-model-option-text{padding-right:56px}.watch-model-option-row .watch-model-option-actions{flex-direction:column}.watch-model-option-row:has(.watch-model-option-actions) .watch-model-option-text{padding-right:30px}.watch-model-option-edit{flex-shrink:0;color:var(--color-text-tertiary)}.watch-model-option-edit:hover{color:var(--color-primary)}.watch-model-option-actions{position:absolute;right:0;bottom:0;z-index:1;display:inline-flex;align-items:center;gap:2px}.watch-model-option-action{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;border-radius:var(--radius-sm, 6px);background:transparent;color:var(--color-text-tertiary);cursor:pointer}.watch-model-option-action:hover{color:var(--color-warning);background:var(--color-fill-tertiary)}.sku-report-current{display:flex;align-items:center;gap:12px;padding:10px;border-radius:var(--radius-sm, 6px);background:var(--color-fill-quaternary)}.sku-report-cover{flex-shrink:0;border-radius:var(--radius-sm, 6px);object-fit:cover}.sku-report-current-text{min-width:0}.sku-report-current-title{font-weight:600;word-break:break-all}.sku-report-current-sub{margin-top:2px;color:var(--color-text-secondary);font-size:12px}.sku-report-hint{margin:12px 0;color:var(--color-text-secondary);font-size:12px}.sku-report-field{margin-top:16px}.sku-report-label{margin-bottom:8px;font-weight:500}.sku-report-optional{margin-left:4px;color:var(--color-text-tertiary);font-weight:400;font-size:12px}.watch-model-extension-hint{margin-bottom:14px;padding:8px 10px;border-radius:var(--radius-sm, 6px);background:var(--color-fill-quaternary);color:var(--color-text-secondary);font-size:12px;line-height:1.5}.watch-model-extension-meta{margin:-8px 0 12px;color:var(--color-text-tertiary);font-size:12px}.watch-model-extension-field{margin-bottom:16px}.watch-model-extension-label{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px;font-weight:500}.watch-model-extension-upstream{color:var(--color-text-tertiary);font-size:12px;font-weight:400;word-break:break-all}.watch-model-extension-tags{display:flex;flex-wrap:wrap;gap:4px;min-height:28px;margin-bottom:6px}.watch-model-extension-empty{color:var(--color-text-tertiary);font-size:12px;line-height:28px}.watch-model-dropdown-footer{padding:5px 12px;font-size:12px;color:var(--color-text-tertiary);border-top:1px solid var(--color-border);border-radius:0 0 var(--radius-sm, 6px) var(--radius-sm)}.review-no-candidate{font-size:12px;color:var(--color-text-tertiary);padding:8px;border:1px dashed var(--color-border);border-radius:var(--radius-sm)}.review-grid-cn{display:grid;grid-template-columns:repeat(3,1fr);column-gap:12px;margin-top:10px}.review-gap{margin-top:10px;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg)}.review-gap-input{margin-top:8px}.review-meta-foot{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:12px;color:var(--color-text-secondary)}@media(max-width:900px){.review-two-col{grid-template-columns:1fr}.review-raw-panel,.review-fields-panel{max-height:none}.review-grid-cn{grid-template-columns:repeat(2,1fr)}}.review-content-item{grid-column:1 / -1}.trace-loading{display:flex;justify-content:center;padding:60px 0}.trace-group{margin-bottom:24px}.trace-group-head{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--color-border);position:sticky;top:0;background:var(--color-bg-elevated);z-index:2}.trace-group-meta{color:var(--color-text-tertiary);font-size:12px}.trace-round{padding:12px 0;border-bottom:1px dashed var(--color-border)}.trace-round:last-child{border-bottom:none}.trace-round-err{background:var(--color-error-bg);border-radius:8px;padding:12px}.trace-round-meta{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}.trace-round-title{font-weight:600;color:var(--color-text);font-size:13px}.trace-round-stats{color:var(--color-text-tertiary);font-size:12px}.trace-row{display:flex;margin:6px 0}.trace-row-user{justify-content:flex-end}.trace-row-assistant{justify-content:flex-start}.trace-bubble{max-width:82%;border-radius:10px;padding:8px 12px;font-size:13px;line-height:1.6}.trace-bubble-user{background:var(--color-primary-soft);border:1px solid var(--color-primary-softer)}.trace-bubble-assistant{background:var(--color-bg);border:1px solid var(--color-border)}.trace-pre{margin:0;white-space:pre-wrap;word-break:break-word;font-size:12.5px;font-family:var(--font-mono)}.trace-sys-banner{margin:6px 0;border:1px dashed var(--color-border);border-radius:8px;padding:6px 10px;background:var(--color-bg)}.trace-sys-banner>summary{cursor:pointer;color:var(--color-text-tertiary);font-size:12px;-webkit-user-select:none;user-select:none}.trace-reasoning{margin-bottom:6px;border-bottom:1px dashed var(--color-border);padding-bottom:6px}.trace-reasoning>summary{cursor:pointer;color:var(--color-text-secondary);font-size:12px;-webkit-user-select:none;user-select:none}.trace-tools{display:flex;flex-direction:column;gap:6px;margin:6px 0 6px 12px}.trace-tool-card{border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg);padding:6px 10px}.trace-tool-card>summary{cursor:pointer;display:flex;align-items:center;gap:6px;font-size:13px;-webkit-user-select:none;user-select:none}.trace-tool-card>summary code{background:var(--color-primary-softer);padding:1px 6px;border-radius:4px}.trace-tool-body{margin-top:8px;display:flex;flex-direction:column;gap:6px}.trace-tool-label,.trace-tool-meta{color:var(--color-text-tertiary);font-size:12px}.trace-tool-intent{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.trace-tool-chip{font-size:12px;color:var(--color-text-secondary)}.trace-tool-chip code{background:var(--color-primary-softer);padding:1px 6px;border-radius:4px}.trace-snapshot-body{display:flex;flex-direction:column;gap:4px;max-height:70vh;overflow-y:auto}.ant-btn-primary{background:var(--color-primary);transition:background-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease,transform var(--motion-fast) var(--ease-spring)}.ant-btn-primary:not(:disabled):hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-glow)}.ant-btn-primary:not(:disabled):active{background:var(--color-primary-active);transform:translateY(0);box-shadow:var(--shadow-sm)}.ant-btn:not(.ant-btn-primary):not(:disabled){transition:color var(--motion-fast) ease,border-color var(--motion-fast) ease,background-color var(--motion-fast) ease,transform var(--motion-fast) var(--ease-spring)}.ant-btn:not(.ant-btn-primary):not(:disabled):hover{transform:translateY(-1px)}.ant-tag{animation:chip-pop .24s var(--ease-spring);box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 22%,transparent)}.ant-input,.ant-input-affix-wrapper,.ant-select-selector,.ant-picker{transition:border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease,background-color var(--motion-fast) ease!important}[data-theme=dark] .ant-input-affix-wrapper-focused,[data-theme=dark] .ant-input:focus,[data-theme=dark] .ant-input-focused{box-shadow:0 0 0 3px #5cb88a2e}a{position:relative;transition:color var(--motion-fast) ease}a:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--motion-base) var(--ease-out)}a:hover:after{transform:scaleX(1)}.ant-btn{transition:all var(--motion-fast) var(--ease-out),transform var(--motion-fast) var(--ease-spring)}.ant-btn:not(:disabled):active{transform:scale(.97)}.ant-tag{border-radius:999px;font-family:var(--font-mono);font-size:11px;letter-spacing:.02em}.msg-card-time,.batch-review-card-id,.batch-review-card-meta,.trace-group-meta,.trace-round-stats,.trace-pre,.raw-line-no,.extract-metrics-row b,.msg-detail-time{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.deferred-dock-single{display:flex;flex-direction:column;height:100%;min-height:0}.deferred-dock-panel{position:fixed;width:420px;max-width:calc(100vw - 32px);display:flex;flex-direction:column;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;animation:dock-enter var(--motion-base) var(--ease-out) both}.deferred-dock-panel .ant-tabs{display:flex;flex-direction:column;height:100%;min-height:0}.deferred-dock-panel .ant-tabs-nav{margin:0;padding:6px 12px 0}.deferred-dock-panel .ant-tabs-content-holder{min-height:0;overflow:auto}.deferred-dock-scroll{padding:8px 12px 12px}.deferred-dock-grip{display:none;position:absolute;top:0;left:0;right:0;height:18px;align-items:center;justify-content:center;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;cursor:grab}.deferred-dock-grip:before{content:"";width:36px;height:4px;border-radius:999px;background:var(--color-border-strong)}@media(max-width:767px),(any-pointer:coarse){.deferred-dock-panel{padding-top:18px}.deferred-dock-grip{display:flex}}.deferred-item{border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:8px;background:var(--color-bg);transition:border-color var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out)}.deferred-item:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-sm)}.deferred-item-main{padding:8px 10px;cursor:pointer;outline:none}.deferred-item-main:focus-visible{box-shadow:inset 0 0 0 2px var(--color-primary);border-radius:var(--radius-md)}.deferred-item-head{display:flex;align-items:center;gap:8px}.deferred-item-model{font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deferred-item-tag{margin-inline-end:0;flex:none}.deferred-item-remove{margin-left:auto;flex:none;color:var(--color-text-tertiary)}.deferred-item-remove:hover{color:var(--color-error)}.deferred-item-meta{margin-top:2px;font-size:12px;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deferred-item-dot{margin:0 5px;color:var(--color-text-tertiary)}.deferred-item-note{margin-top:6px;padding:5px 8px;font-size:12px;color:var(--color-text-secondary);background:var(--color-primary-softer-solid);border-radius:var(--radius-sm);white-space:pre-wrap;word-break:break-word}.defer-pop{width:280px}.deferred-ball-badge{display:inline-block;padding:0 5px;border-radius:999px;background:var(--color-primary);color:var(--color-on-primary);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:10px;line-height:16px;letter-spacing:.02em;white-space:nowrap}.deferred-dock-ball{touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;cursor:grab}.deferred-dock-ball.dragging{transition:none!important;cursor:grabbing}.deferred-dock-ball.dragging *{cursor:grabbing!important}.pill-select .ant-select-selector{border-color:transparent!important;border-radius:999px!important;background:var(--color-primary-softer)!important;padding-inline:9px!important;transition:background var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out)}.pill-select:hover .ant-select-selector{background:var(--color-primary-soft)!important}.pill-select.ant-select-focused .ant-select-selector{background:var(--color-primary-soft)!important;box-shadow:0 0 0 2px var(--color-primary-glow)!important}.pill-select.ant-select-disabled .ant-select-selector{background:var(--color-bg-header)!important}.pill-select .ant-select-arrow{inset-inline-end:8px;color:var(--color-text-tertiary)}.pill-select .ant-select-selection-item{display:flex;align-items:center}.pill-select-value{display:inline-flex;align-items:center;gap:6px;min-width:0;font-size:12px;line-height:1;color:var(--color-text-secondary)}.pill-select:hover .pill-select-value,.pill-select.ant-select-focused .pill-select-value{color:var(--color-primary)}.pill-select-value-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pill-select-dropdown{padding:4px!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-lg)!important}.pill-select-dropdown .ant-select-item{min-height:28px;padding:4px 8px;border-radius:var(--radius-sm);font-size:12.5px}.pill-select-dropdown .ant-select-item-option-active:not(.ant-select-item-option-selected){background:var(--color-primary-softer)}.pill-select-dropdown .ant-select-item-option-selected{background:var(--color-primary-soft)!important;color:var(--color-primary)!important;font-weight:500}.pill-select-option{display:flex;align-items:center;gap:8px}.pill-select-option-label{min-width:0}@media(prefers-reduced-motion:reduce){.pill-select .anticon-spin{animation:none}}.msg-auto-refresh-select{width:152px}.msg-auto-refresh-value .anticon{color:var(--color-text-tertiary)}.msg-auto-refresh-value.is-on .anticon,.pill-select:hover .msg-auto-refresh-value .anticon{color:var(--color-primary)}.msg-auto-refresh-option .anticon{color:var(--color-text-tertiary);opacity:.6}.msg-auto-refresh-option.is-on .anticon{color:var(--color-primary);opacity:1}.auth-layout{position:relative;min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-brand{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:48px 56px;color:#d8e8de;overflow:hidden;background-color:#0c1512;background-image:radial-gradient(ellipse 70% 55% at 80% -10%,rgba(92,184,138,.16),transparent),radial-gradient(ellipse 50% 40% at 10% 110%,rgba(224,169,78,.1),transparent),linear-gradient(rgba(92,184,138,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(92,184,138,.05) 1px,transparent 1px);background-size:auto,auto,40px 40px,40px 40px}.auth-brand:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(92,184,138,.018) 2px,rgba(92,184,138,.018) 4px);pointer-events:none;z-index:0}.auth-brand-logo{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:600;letter-spacing:.2px;position:relative;z-index:1}.auth-brand-logo .logo-mark{width:34px;height:34px;display:grid;place-items:center;background:#e0a94e1f;border:1px solid rgba(224,169,78,.4);border-radius:var(--radius-md);color:#e0a94e;box-shadow:0 0 16px #e0a94e47;-webkit-user-select:none;user-select:none}.auth-brand-kicker{position:relative;z-index:1;margin-bottom:18px;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;color:#5cb88ac7}.auth-brand-slogan{position:relative;z-index:1;max-width:480px}.auth-brand-slogan h1{font-size:40px;font-weight:600;line-height:1.2;margin:0 0 16px;letter-spacing:-.5px}.auth-brand-slogan h1:after{content:"▍";margin-left:6px;color:#e0a94e;animation:caret-blink 1.1s steps(1) infinite}.auth-brand-slogan p{font-size:15px;line-height:1.7;color:#d8e8deb8;margin:0}.auth-brand-footer{position:relative;z-index:1;font-family:var(--font-mono);font-size:12px;color:#d8e8de73}.auth-panel{position:relative;display:flex;align-items:center;justify-content:center;padding:48px 24px;background:var(--color-bg-elevated)}.auth-lang{position:absolute;top:20px;right:24px;display:flex;align-items:center;gap:4px}.auth-card{width:100%;max-width:400px}.auth-card-header{margin-bottom:32px}.auth-card-header h2{font-size:26px;font-weight:700;margin:0 0 8px;letter-spacing:-.3px}.auth-card-header p{color:var(--color-text-secondary);margin:0;font-size:14px}.auth-card .ant-form-item-label>label{font-weight:500;color:var(--color-text)}.auth-card .ant-input,.auth-card .ant-input-password{padding:10px 14px;border-radius:var(--radius-md)}.auth-card .ant-btn-primary{height:44px;border-radius:var(--radius-md);font-weight:500;font-size:15px;box-shadow:none}.auth-switch{margin-top:24px;text-align:center;font-size:14px;color:var(--color-text-secondary)}.auth-switch a{color:var(--color-primary);font-weight:500;margin-left:4px}@media(max-width:991px){.auth-layout{grid-template-columns:1fr}.auth-brand{padding:24px;min-height:auto}.auth-brand-slogan h1{font-size:24px}.auth-brand-slogan p,.auth-brand-footer{display:none}.auth-panel{padding:32px 20px;align-items:flex-start}.auth-lang{z-index:3}.auth-lang .ant-btn.language-toggle,.auth-lang .ant-btn.theme-toggle{color:#d8e8de}.auth-lang .ant-btn.language-toggle:hover,.auth-lang .ant-btn.theme-toggle:hover{color:#f4fbf7;background:#d8e8de1a}}.auth-layout.is-mobile{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;overflow-x:hidden}.auth-layout.is-mobile .auth-brand{flex:none;flex-direction:row;align-items:center;justify-content:flex-start;gap:10px;min-height:56px;padding:calc(env(safe-area-inset-top) + 12px) 96px 12px 16px}.auth-layout.is-mobile .auth-brand-logo{gap:9px;font-size:15px}.auth-layout.is-mobile .auth-brand-logo .logo-mark{width:30px;height:30px}.auth-layout.is-mobile .auth-brand-slogan,.auth-layout.is-mobile .auth-brand-footer{display:none}.auth-layout.is-mobile .auth-panel{flex:1;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:20px 16px calc(env(safe-area-inset-bottom) + 24px)}.auth-layout.is-mobile .auth-card{position:relative;z-index:1;width:100%;max-width:420px;margin:auto}@property --auth-tech-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}.auth-layout.is-mobile.has-tech-bg .auth-brand{border-bottom:1px solid color-mix(in srgb,var(--color-primary) 24%,transparent)}.auth-layout.is-mobile.has-tech-bg .auth-panel{background:radial-gradient(62% 46% at 8% 2%,color-mix(in srgb,var(--color-primary) 10%,transparent),transparent 70%),radial-gradient(58% 46% at 96% 98%,color-mix(in srgb,var(--color-accent) 8%,transparent),transparent 72%),var(--color-bg-elevated)}.auth-tech-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.auth-tech-bg>span{position:absolute;display:block}.auth-tech-dots{top:0;right:0;bottom:0;left:0;overflow:hidden;-webkit-mask-image:radial-gradient(ellipse 74% 62% at 50% 42%,transparent 12%,#000 78%);mask-image:radial-gradient(ellipse 74% 62% at 50% 42%,transparent 12%,#000 78%)}.auth-tech-dots:before{content:"";position:absolute;top:-24px;right:0;bottom:0;left:0;background-image:radial-gradient(circle,var(--color-primary-soft) 1px,transparent 1.3px);background-size:24px 24px;opacity:.7;animation:auth-tech-dots-drift 18s linear infinite;will-change:transform}@keyframes auth-tech-dots-drift{0%{transform:translateZ(0)}to{transform:translate3d(0,24px,0)}}.auth-tech-orb{width:260px;height:260px;border-radius:50%;opacity:.75;will-change:transform}.auth-tech-orb-a{top:-120px;left:-100px;background:radial-gradient(circle,var(--color-primary-glow),transparent 68%);animation:auth-tech-orb-a 16s ease-in-out infinite alternate}.auth-tech-orb-b{right:-130px;bottom:6%;width:300px;height:300px;background:radial-gradient(circle,var(--color-accent-glow),transparent 70%);animation:auth-tech-orb-b 20s ease-in-out infinite alternate}@keyframes auth-tech-orb-a{0%{transform:translateZ(0) scale(.92)}to{transform:translate3d(38px,58px,0) scale(1.14)}}@keyframes auth-tech-orb-b{0%{transform:translateZ(0) scale(1.06)}to{transform:translate3d(-44px,-52px,0) scale(.9)}}.auth-tech-core{top:50%;left:50%;width:min(112vw,480px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--color-primary) 18%,transparent),transparent 66%);opacity:.6;transform:translate(-50%,-50%);animation:auth-tech-core-breathe 8s ease-in-out infinite;will-change:transform,opacity}@keyframes auth-tech-core-breathe{0%,to{transform:translate(-50%,-50%) scale(.92);opacity:.4}50%{transform:translate(-50%,-50%) scale(1.06);opacity:.74}}.auth-tech-hud{top:50%;left:50%;width:min(142vw,560px);aspect-ratio:1;border:1px solid color-mix(in srgb,var(--color-primary) 30%,transparent);border-radius:50%;opacity:.55;transform:translate(-50%,-50%);animation:auth-tech-hud-spin 42s linear infinite;will-change:transform}.auth-tech-hud:before{content:"";position:absolute;top:9%;right:9%;bottom:9%;left:9%;border:1px dashed color-mix(in srgb,var(--color-primary) 24%,transparent);border-radius:50%}.auth-tech-hud:after{content:"";position:absolute;top:-3px;left:50%;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:color-mix(in srgb,var(--color-primary) 70%,transparent);box-shadow:0 0 12px var(--color-primary-glow)}@keyframes auth-tech-hud-spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.auth-tech-hud-ticks{top:50%;left:50%;width:min(176vw,700px);aspect-ratio:1;border-radius:50%;opacity:.38;background:repeating-conic-gradient(from 0deg,color-mix(in srgb,var(--color-primary) 55%,transparent) 0deg .8deg,transparent .8deg 10deg);-webkit-mask-image:radial-gradient(farthest-side,transparent calc(100% - 7px),#000 calc(100% - 6px));mask-image:radial-gradient(farthest-side,transparent calc(100% - 7px),#000 calc(100% - 6px));transform:translate(-50%,-50%);animation:auth-tech-hud-spin-reverse 68s linear infinite;will-change:transform}@keyframes auth-tech-hud-spin-reverse{0%{transform:translate(-50%,-50%) rotate(360deg)}to{transform:translate(-50%,-50%) rotate(0)}}.auth-tech-grid{left:-35%;right:-35%;bottom:-46%;height:82%;overflow:hidden;opacity:.38;transform-origin:50% 0;transform:perspective(380px) rotateX(64deg);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 30%,#000 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 30%,#000 100%)}.auth-tech-grid:before{content:"";position:absolute;top:-44px;right:0;bottom:0;left:0;background-image:linear-gradient(color-mix(in srgb,var(--color-primary) 20%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--color-primary) 20%,transparent) 1px,transparent 1px);background-size:44px 44px;animation:auth-tech-grid-flow 9s linear infinite;will-change:transform}@keyframes auth-tech-grid-flow{0%{transform:translateZ(0)}to{transform:translate3d(0,44px,0)}}.auth-tech-scan{left:-10%;right:-10%;top:-24%;height:34%;background:linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--color-primary) 9%,transparent) 42%,color-mix(in srgb,var(--color-primary) 28%,transparent) 50%,color-mix(in srgb,var(--color-primary) 9%,transparent) 58%,transparent 100%);opacity:0;animation:auth-tech-scan-move 7.5s cubic-bezier(.4,0,.2,1) infinite;will-change:transform,opacity}@keyframes auth-tech-scan-move{0%{transform:translate3d(0,-18%,0);opacity:0}12%{opacity:.8}82%{opacity:.8}to{transform:translate3d(0,380%,0);opacity:0}}.auth-tech-beam{top:-26%;width:1px;height:24%;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--color-primary) 55%,transparent) 45%,transparent);box-shadow:0 0 8px var(--color-primary-glow);opacity:0;animation:auth-tech-beam-fall 9.5s linear infinite;will-change:transform,opacity}.auth-tech-beam-a{left:13%;animation-delay:.8s}.auth-tech-beam-b{right:16%;animation-duration:11.5s;animation-delay:4.2s}@keyframes auth-tech-beam-fall{0%{transform:translate3d(0,-20%,0);opacity:0}15%{opacity:.7}80%{opacity:.7}to{transform:translate3d(0,560%,0);opacity:0}}.auth-tech-particles{width:2px;height:2px;border-radius:50%;background:color-mix(in srgb,var(--color-primary) 55%,transparent);filter:drop-shadow(0 0 4px var(--color-primary-glow));opacity:.65;will-change:transform,opacity}.auth-tech-particles-a{top:14%;left:8%;box-shadow:34px 26px color-mix(in srgb,var(--color-primary) 38%,transparent),92px 84px color-mix(in srgb,var(--color-accent) 36%,transparent),188px 42px color-mix(in srgb,var(--color-primary) 30%,transparent),246px 132px color-mix(in srgb,var(--color-accent) 30%,transparent),308px 76px color-mix(in srgb,var(--color-primary) 36%,transparent),154px 196px color-mix(in srgb,var(--color-primary) 26%,transparent);animation:auth-tech-particles-a 17s ease-in-out infinite alternate}.auth-tech-particles-b{top:48%;right:6%;box-shadow:-52px 36px color-mix(in srgb,var(--color-accent) 34%,transparent),-118px 148px color-mix(in srgb,var(--color-primary) 32%,transparent),-204px 74px color-mix(in srgb,var(--color-accent) 26%,transparent),-274px 188px color-mix(in srgb,var(--color-primary) 36%,transparent),-330px 118px color-mix(in srgb,var(--color-accent) 30%,transparent);animation:auth-tech-particles-b 21s ease-in-out infinite alternate}@keyframes auth-tech-particles-a{0%{transform:translateZ(0);opacity:.5}to{transform:translate3d(18px,-34px,0);opacity:.85}}@keyframes auth-tech-particles-b{0%{transform:translateZ(0);opacity:.4}to{transform:translate3d(-26px,30px,0);opacity:.75}}.auth-tech-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,color-mix(in srgb,var(--color-primary) 4%,transparent) 3px 4px);opacity:.55}.auth-layout.is-mobile.has-tech-bg .auth-brand:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:linear-gradient(105deg,transparent 30%,rgba(92,184,138,.18) 50%,transparent 70%);transform:translate(-120%);animation:auth-tech-brand-sweep 8s ease-in-out infinite;will-change:transform}@keyframes auth-tech-brand-sweep{0%,35%{transform:translate(-120%)}65%,to{transform:translate(120%)}}.auth-layout.is-mobile.has-tech-bg .auth-card{padding:22px 18px;border:1px solid color-mix(in srgb,var(--color-primary) 14%,var(--color-border));border-radius:18px;background:color-mix(in srgb,var(--color-bg-elevated) 82%,transparent);box-shadow:0 18px 48px #0d1f1614,inset 0 1px #ffffffb8;-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2)}[data-theme=dark] .auth-layout.is-mobile.has-tech-bg .auth-card{box-shadow:0 18px 48px #0000006b,inset 0 1px #ffffff0d}.auth-layout.is-mobile.has-tech-bg .auth-card:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;z-index:2;padding:1px;border-radius:inherit;background:conic-gradient(from var(--auth-tech-angle),transparent 0deg 218deg,color-mix(in srgb,var(--color-primary) 68%,transparent) 258deg,color-mix(in srgb,var(--color-accent) 55%,transparent) 300deg,transparent 342deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;pointer-events:none;animation:auth-tech-card-border 7s linear infinite}@keyframes auth-tech-card-border{to{--auth-tech-angle: 360deg}}@supports not ((mask-composite: exclude) or (-webkit-mask-composite: xor)){.auth-layout.is-mobile.has-tech-bg .auth-card:before{display:none}}@media(max-width:360px){.auth-layout.is-mobile.has-tech-bg .auth-card{padding:18px 14px;border-radius:16px}}@media(prefers-reduced-motion:reduce){.auth-tech-dots:before,.auth-tech-orb,.auth-tech-core,.auth-tech-hud,.auth-tech-hud-ticks,.auth-tech-grid:before,.auth-tech-beam,.auth-tech-particles,.auth-tech-scan,.auth-layout.is-mobile.has-tech-bg .auth-card:before,.auth-layout.is-mobile.has-tech-bg .auth-brand:before{animation:none}.auth-tech-scan{opacity:0}}.auth-layout.is-mobile .auth-lang{top:calc(env(safe-area-inset-top) + 12px);right:12px;z-index:3}.auth-layout.is-mobile .auth-lang .ant-btn.language-toggle{color:#d8e8de}.auth-layout.is-mobile .auth-lang .ant-btn.language-toggle:hover{color:#f4fbf7;background:#d8e8de1a}.auth-layout.is-mobile .auth-card-header{margin-bottom:22px}.auth-layout.is-mobile .auth-card-header h2{margin-bottom:6px;font-size:23px}.auth-layout.is-mobile .auth-card .ant-form-item{margin-bottom:18px}.auth-layout.is-mobile .auth-card .ant-input,.auth-layout.is-mobile .auth-card .ant-input-password,.auth-layout.is-mobile .auth-card .ant-input-affix-wrapper{font-size:16px}.auth-layout.is-mobile .auth-card .ant-input,.auth-layout.is-mobile .auth-card .ant-input-password{padding:12px 14px}.auth-layout.is-mobile .auth-card .ant-btn-primary{height:48px;font-size:16px}.auth-layout.is-mobile .auth-switch{margin-top:18px;font-size:13.5px}@media(max-height:500px){.auth-layout.is-mobile .auth-brand{min-height:44px;padding-top:calc(env(safe-area-inset-top) + 6px);padding-bottom:6px}.auth-layout.is-mobile .auth-card-header{margin-bottom:14px}}.app-body{display:flex;min-height:calc(100vh - 56px)}.app-content{flex:1;padding:20px 24px 32px;min-width:0}.runtime-sub{margin-top:8px;font-size:12px;line-height:1.5;color:var(--color-text-secondary)}.msg-cards{display:flex;flex-direction:column;gap:10px;padding:14px}.msg-cards-header{display:flex;justify-content:space-between;padding:0 4px 2px;font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--color-text-tertiary)}.msg-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px 14px;transition:var(--transition);cursor:pointer}.msg-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.msg-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.msg-card:active{background:var(--color-bg);transform:translateY(0)}.msg-card-meta{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.msg-card-time{margin-left:auto;font-size:11px;color:var(--color-text-tertiary)}@media(max-width:991px){.app-content{padding:12px}.content-toolbar{padding:12px 14px}.msg-page .msg-table,.app-header-title{display:none}}@media(max-width:767px){.app-header{padding:0 12px}.app-header-left{gap:8px}.app-header-right{gap:4px}.app-header-user{padding:4px;background:transparent;border-color:transparent}.app-header-username{display:none}.app-shell{column-gap:0}.main-sider{display:none}.app-main{width:100%}.app-content{padding:12px}.nav-toggle-btn{min-width:44px;min-height:44px}.mobile-nav-drawer .ant-drawer-header{padding:14px 16px}.mobile-nav-drawer .ant-drawer-close{width:40px;height:40px;margin-inline-end:0}.mobile-nav-drawer .main-menu{padding-top:8px}}@media(max-width:400px){.app-header .language-toggle span{display:none}}.mobile-nav-brand{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:600;color:var(--color-text)}@media(min-width:992px){.msg-cards{display:none}}.notice-toast-stack{position:fixed;top:calc(var(--header-h) + 12px);right:24px;z-index:2000;display:flex;flex-direction:column;gap:12px;width:min(380px,calc(100vw - 32px));pointer-events:none}@keyframes notice-toast-in{0%{opacity:0;transform:translate(18px) scale(.98)}to{opacity:1;transform:translate(0) scale(1)}}.notice-toast{pointer-events:auto;padding:12px 14px;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-left:3px solid var(--color-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:notice-toast-in var(--motion-base) var(--ease-out) both}.notice-toast-summary{border-left-color:var(--color-accent)}.notice-toast-head{display:flex;align-items:center;gap:8px;min-height:24px}.notice-toast-icon{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--color-primary-soft);color:var(--color-primary);font-size:13px}.notice-toast-summary .notice-toast-icon{background:var(--color-accent-soft);color:var(--color-accent)}.notice-toast-kicker{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-primary);font-size:12px;font-weight:600;letter-spacing:.01em}.notice-toast-summary .notice-toast-kicker{color:var(--color-accent)}.notice-toast-close.ant-btn{flex:none;width:24px;min-width:24px;height:24px;padding:0;color:var(--color-text-tertiary)}.notice-toast-close.ant-btn:hover{color:var(--color-text);background:transparent}.notice-toast-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin-top:8px;color:var(--color-text);font-size:14px;font-weight:600;line-height:1.45;word-break:break-word}.notice-toast-content{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;margin-top:4px;color:var(--color-text-secondary);font-size:13px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.notice-toast-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}.notice-toast-meta{min-width:0;overflow:hidden;color:var(--color-text-tertiary);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.notice-toast-open.ant-btn{flex:none;height:auto;padding:0;font-size:12px}@media(max-width:640px){.notice-toast-stack{top:calc(var(--header-h) + 8px);right:12px;left:12px;width:auto}}@media(prefers-reduced-motion:reduce){.notice-toast{animation:none}}
