@charset "UTF-8";
.skip-link:not(:focus){clip-path:inset(50%);width:1px;height:1px;padding:0;overflow:hidden;white-space:nowrap}
:root{--ink:#192229;--muted:#76808b;--accent:#ed682b;--line:#e8ebef;--canvas:#f5f7fa;--rail:#19242d;--orange-light:#fff3e9;--white:#fff;font-family:Inter,"Segoe UI","Microsoft YaHei","PingFang SC",sans-serif;color:var(--ink);background:var(--canvas);font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.6}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button{border:0;background:none;color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #f5a166;outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.4}h1,h2,h3,p{margin:0}h3{font-size:16px;font-weight:650}small{font-size:12px}.rail{width:220px;background:var(--rail);color:#bdc6ce;position:fixed;left:0;top:0;bottom:0;padding:32px 18px;display:flex;flex-direction:column}.brand{display:flex;gap:13px;align-items:center;color:white;font-size:25px;font-weight:700;padding:0 13px;margin-bottom:48px;letter-spacing:1px}.brand small{display:block;color:#8c9aa6;font-size:12px;font-weight:400;letter-spacing:1px;margin-top:0}.brand-mark{width:39px;height:39px;border-radius:11px;background:var(--accent);display:flex;align-items:center;justify-content:center;gap:4px;flex-shrink:0}.brand-mark i{height:12px;width:4px;border-radius:3px;background:white}.brand-mark i:nth-child(2){height:22px}.rail-label{font-size:12px;color:#7d8b97;padding:0 16px;margin-bottom:13px;letter-spacing:1px}.nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:13px 16px;margin-bottom:7px;border-radius:7px;text-align:left;font-size:14px}.nav-item:hover{background:#25333e;color:white}.nav-item.active{background:#34403f;color:#ffac77;box-shadow:inset 3px 0 #ed682b}.nav-symbol{width:20px;font-size:22px;line-height:1}.second-label{margin-top:34px}.rail-room{padding:13px 12px;display:flex;gap:10px;align-items:center;font-size:12px;background:#212e37;border:1px solid #2d3943;border-radius:7px;color:#dce2e7}.rail-room small{display:block;color:#8e9ba6;margin-top:3px}.mini-avatar{border-radius:7px;width:32px;height:34px;background:#6b4836;display:grid;place-items:center;color:#ffd0a8;font-size:16px;flex-shrink:0}.rail-bottom{margin-top:auto;padding:18px 12px 0}.private-mark{font-size:12px;color:#b8c2cb;border:1px solid #49535c;padding:4px 8px;border-radius:4px}.rail-bottom p{font-size:12px;color:#7d8b97;margin-top:14px}.text-link{font-size:12px;color:#b4bec6;padding:5px 0}.workspace{margin-left:220px}.topbar{height:73px;background:white;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 38px}.breadcrumb{font-size:14px;color:var(--muted)}.breadcrumb span{padding:0 15px;color:#c5cbd0}.breadcrumb strong{color:#434e57;font-weight:500}.topbar-right{display:flex;align-items:center;gap:22px}.version{color:#87919b;font-size:12px}.help-button{width:26px;height:26px;border:1px solid #ccd2d8;border-radius:50%;font-size:14px;color:#78838c}main{padding:30px 38px 20px;max-width:1600px;margin:auto}.title-row,.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.eyebrow{font-size:12px;letter-spacing:1.6px;color:#949ca4;font-weight:600}h1{font-size:27px;font-weight:650;letter-spacing:1px;margin-top:3px}.mode-switch{display:flex;padding:4px;background:#e9edf1;border-radius:8px;gap:2px}.mode-switch button{font-size:14px;padding:7px 17px;border-radius:5px;color:#71808b}.mode-switch button[aria-pressed=true]{background:white;color:var(--ink);box-shadow:0 1px 4px #16222c0d}.room-strip{display:flex;align-items:center;gap:17px;margin-top:23px}.room-avatar{width:61px;height:61px;border-radius:12px;background:#273945;color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:21px;font-weight:600;line-height:1.2;flex-shrink:0}.room-avatar span{color:#e7ad78;font-size:12px;letter-spacing:3px;margin-top:3px}.room-copy h2{font-size:20px;font-weight:650}.room-meta{display:flex;gap:10px;color:#85909a;font-size:12px;margin-top:4px;flex-wrap:wrap}.room-meta b{font-weight:400;color:#c1c7ce}.outline-button{border:1px solid #dce2e7;border-radius:6px;padding:8px 15px;background:white;font-size:14px;white-space:nowrap}.outline-button:hover{border-color:#f2ae85;color:#db5d20}.room-link{margin-left:auto}.notice{display:flex;gap:12px;align-items:center;border:1px solid #f2dfc9;border-radius:7px;background:#fff9f1;padding:13px 16px;margin-top:23px;font-size:14px;color:#916739}.notice strong{font-weight:600;margin-right:13px;color:#8b592a}.notice div{flex:1}.notice button{font-size:14px;color:#b46f2e;white-space:nowrap;padding:0}.notice-icon{width:19px;height:19px;display:grid;place-items:center;border:1px solid #b8864f;border-radius:50%;font-family:Georgia,serif;font-style:italic;flex-shrink:0;font-size:12px}.notice.demo{background:#eff6ff;border-color:#dae7f7;color:#5a7496}.notice.demo strong{color:#3d608b}.notice.demo .notice-icon{border-color:#7a98ba}.notice.demo button{color:#5278a4}.section-head{margin:28px 0 15px}.section-heading{display:flex;gap:11px;align-items:center}.section-heading h2{font-size:17px;font-weight:650}.source-label{font-size:12px;background:#e8ecf0;color:#7b8793;border-radius:4px;padding:2px 7px}.source-label.demo-label{background:#e7effa;color:#58759c}.date-controls{display:flex;gap:9px;align-items:center;font-size:14px}.date-label{color:var(--muted);margin-right:2px}input[type=date],select{background:white;color:#56616c;border:1px solid #dfe5eb;border-radius:6px;font-size:14px;min-height:36px;padding:6px 10px;max-width:100%}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.metric{background:white;border:1px solid var(--line);border-radius:8px;padding:21px 21px 18px;position:relative}.metric-title{color:#747e88;font-size:14px;display:flex;align-items:center;gap:8px}.metric-icon{position:absolute;top:18px;right:18px;font-size:19px;background:#f5f7f9;color:#8b98a2;width:32px;height:32px;border-radius:8px;display:grid;place-items:center}.metric:first-child .metric-icon{color:var(--accent);background:var(--orange-light)}.metric-value{font-family:"Segoe UI",sans-serif;letter-spacing:-.8px;font-weight:650;font-size:29px;margin-top:10px;line-height:1.3;min-height:39px;font-variant-numeric:tabular-nums}.metric:first-child .metric-value{color:var(--accent)}.metric-value .unit{font-size:16px;font-weight:400;color:#87909a;margin-left:5px;letter-spacing:0}.metric-note{font-size:12px;color:#929ba4;margin-top:10px}.insights{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;margin-top:19px}.panel{background:white;border:1px solid var(--line);border-radius:8px;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:21px 23px 5px;gap:10px}.panel-head p{font-size:12px;color:#8d98a2;margin-top:3px}.chart-legend{font-size:12px;color:#8b959f;display:flex;align-items:center;gap:6px;white-space:nowrap}.chart-legend i{width:7px;height:7px;border-radius:2px;background:var(--accent)}.chart{height:210px;padding:10px 20px 4px;display:grid;place-items:center}.chart svg{width:100%;height:100%;overflow:visible}.chart svg text{font-family:inherit;font-size:12px;fill:#98a0a8}.chart-placeholder{text-align:center;color:#98a1aa;font-size:14px}.chart-placeholder span{display:block;width:42px;height:42px;margin:0 auto 12px;border:1px solid #e7ebef;border-radius:10px;line-height:40px;font-size:23px;color:#c3cbd1}.chart-foot{display:flex;justify-content:space-between;gap:12px;padding:0 23px 18px;font-size:12px;color:#919aa3}.chart-foot span:last-child{color:#a2aab1}.subtle{font-size:12px;color:#a3abb3;letter-spacing:1px}.gift-ranking{padding:18px 23px;min-height:245px}.ranking-row{display:grid;grid-template-columns:25px minmax(0,1fr) auto;gap:7px;align-items:center;margin-bottom:15px;font-size:14px}.rank-number{font-family:"Segoe UI",sans-serif;font-size:14px;color:#a6aeb5}.ranking-row:first-child .rank-number{color:var(--accent)}.rank-name{color:#5b6670}.rank-amount{font-variant-numeric:tabular-nums;font-size:14px;color:#46525e}.rank-bar{height:4px;background:#f3f5f7;border-radius:3px;margin-top:5px;overflow:hidden}.rank-bar i{display:block;background:#f3b78e;height:100%;border-radius:3px}.ranking-row:first-child .rank-bar i{background:var(--accent)}.ranking-empty{padding-top:65px;text-align:center;color:#98a1aa;font-size:14px}.detail-panel{margin-top:20px;scroll-margin-top:20px}.detail-heading{border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 23px}.tab-list{display:flex;gap:28px}.tab-list button{font-size:14px;padding:17px 0;position:relative;color:#7a8590;font-weight:500}.tab-list button[aria-selected=true]{color:var(--accent)}.tab-list button[aria-selected=true]:after{content:"";height:3px;background:var(--accent);position:absolute;left:0;right:0;bottom:0;border-radius:2px}.tab-list span{font-size:12px;background:#f1f3f6;color:#939ba4;padding:1px 6px;border-radius:4px;margin-left:5px}.tab-list button[aria-selected=true] span{background:#fff1e8;color:#df7a42}.detail-source{font-size:12px;color:#98a1aa}.table-toolbar{display:flex;align-items:center;gap:12px;padding:17px 23px}.search-box{border:1px solid #dfe5eb;border-radius:6px;display:flex;align-items:center;gap:8px;min-width:240px;padding:0 12px;background:white}.search-box span{font-size:24px;line-height:1;color:#8d99a5}.search-box input{width:100%;border:0;outline:0;background:transparent;font-size:14px;padding:8px 0;color:#505e6a;min-width:0}.search-box:focus-within{border-color:#f0a476;box-shadow:0 0 0 2px #fcece3}.search-box input:focus-visible{outline:none}.search-box input::placeholder{color:#a0a9b1}.table-toolbar select{min-width:130px}.table-total{margin-left:auto;font-size:12px;color:#909aa3}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left}th{font-size:12px;color:#909ba5;font-weight:500;background:#fafbfc;padding:11px 23px;border-top:1px solid #f1f3f5;border-bottom:1px solid var(--line)}td{font-size:14px;color:#5c6874;padding:12px 23px;border-bottom:1px solid #f0f2f5;font-variant-numeric:tabular-nums}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:#fffcf8}.right{text-align:right}.time-cell{font-size:12px;color:#919ba4}.user-cell{display:flex;gap:9px;align-items:center}.user-avatar{width:29px;height:29px;border-radius:50%;background:#edf2f6;color:#7a91a5;font-size:12px;display:grid;place-items:center;flex-shrink:0}.user-name{color:#495866;padding:0;text-align:left;font-size:14px}.user-name:hover{color:var(--accent);text-decoration:underline}.gift-symbol{width:25px;display:inline-block;color:#de9b68;font-size:18px;vertical-align:middle}.money-cell{color:#de783d;font-weight:600}.unknown{color:#a0a8b0;font-size:12px;font-weight:400}.message-text{white-space:normal;min-width:220px;max-width:520px;word-break:break-word;color:#596671}.badge{font-size:12px;color:#b18a5d;background:#faf4eb;padding:2px 7px;border-radius:4px}.empty-state{text-align:center;padding:48px 20px 51px}.empty-state .empty-symbol{width:46px;height:46px;border:1px solid #e5e9ed;border-radius:13px;display:grid;place-items:center;margin:0 auto 15px;font-size:25px;color:#c0c9d2}.empty-state h3{font-size:16px;font-weight:500;color:#78848e}.empty-state p{font-size:14px;color:#98a1aa;margin-top:6px}.empty-state button{font-size:14px;color:var(--accent);margin-top:15px}.pagination{display:flex;align-items:center;justify-content:space-between;padding:14px 23px;border-top:1px solid var(--line);font-size:12px;color:#959fa8}.pagination>div{display:flex;gap:15px;align-items:center}.pagination button{font-size:12px;border:1px solid #e1e6eb;border-radius:5px;padding:4px 10px;background:white;color:#677683}.page-footer{display:flex;justify-content:space-between;color:#a4adb6;font-size:12px;margin-top:22px;gap:12px}dialog{border:1px solid var(--line);padding:27px 30px 25px;border-radius:12px;width:min(670px,calc(100% - 32px));max-height:90vh;overflow:auto;color:var(--ink);box-shadow:0 25px 80px #0003}dialog::backdrop{background:#17253180;backdrop-filter:blur(3px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:15px}.close-dialog{font-size:26px;color:#87939d;width:32px;height:32px;line-height:1;border-radius:5px}.close-dialog:hover{background:#f3f5f7}dialog h2{font-size:23px;margin-top:9px}.dialog-intro{font-size:14px;color:#85919b;margin-top:8px}.steps{list-style:none;padding:0;margin:24px 0}.steps li{display:flex;gap:17px;margin-bottom:21px}.steps li>span{font-size:15px;font-weight:650;color:var(--accent);width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:#fff1e7;flex-shrink:0}.steps h3{font-size:16px}.steps p,.definition p{font-size:14px;color:#7d8892;margin-top:5px;line-height:1.85}.definition{background:#f7f9fb;border-radius:8px;padding:17px 20px;font-size:14px}.definition strong{font-weight:600}.definition p{margin-bottom:13px}.definition p:last-child{margin-bottom:0}.dialog-footer{margin-top:24px;display:flex;justify-content:space-between;align-items:center;gap:15px}.dialog-footer a{font-size:12px;color:#8b98a4;text-decoration:underline}.primary-button{background:var(--accent);color:white;border-radius:6px;padding:9px 16px;font-size:14px;white-space:nowrap}.user-profile{display:flex;gap:15px;align-items:center;margin:15px 0 25px}.user-profile .user-avatar{width:54px;height:54px;font-size:21px;border-radius:13px}.user-profile h2{margin-top:0;font-size:22px}.user-profile p{font-size:12px;color:#96a0a9}.user-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:26px}.user-stat{background:#f6f8fa;padding:14px;border-radius:7px}.user-stat small{color:#87939c}.user-stat strong{display:block;font-size:20px;font-variant-numeric:tabular-nums;margin-top:5px;font-weight:600}.user-activity{list-style:none;margin:12px 0 0;padding:0}.user-activity li{display:flex;gap:15px;border-bottom:1px solid #edf0f3;padding:12px 0;font-size:14px;align-items:baseline}.user-activity time{font-size:12px;color:#9aa4ac;flex-shrink:0}.user-activity p{color:#697783;word-break:break-word}.user-activity .activity-money{margin-left:auto;color:var(--accent);white-space:nowrap}.user-scope{font-size:12px;color:#a0a9b1;margin-top:20px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:10px;top:-70px;background:white;z-index:10;padding:8px 15px}.skip-link:focus{top:10px}mark{background:#fff0c4;color:inherit;padding:0 1px;border-radius:2px}[hidden]{display:none!important}
@media(min-width:1500px){main{padding-top:36px}.metrics{gap:20px}.insights{grid-template-columns:minmax(0,1fr) 340px}.metric{padding:23px}.chart{height:235px}.gift-ranking{min-height:270px}}@media(max-width:1150px){.rail{width:185px;padding-left:12px;padding-right:12px}.brand{padding:0 8px;gap:10px}.workspace{margin-left:185px}main{padding:24px}.topbar{padding:0 24px}.metrics{gap:10px}.metric{padding:17px 14px}.metric-icon{right:12px;top:14px;width:26px;height:26px;font-size:16px}.metric-value{font-size:25px}.insights{grid-template-columns:minmax(0,1fr) 255px;gap:12px}.chart-foot{flex-direction:column;gap:3px}.notice-copy{display:block}.notice div span{display:block;font-size:12px;margin-top:2px}.panel-head{padding-left:18px;padding-right:18px}.gift-ranking{padding:18px}.chart-legend{display:none}td,th{padding-left:17px;padding-right:17px}.rail-room{font-size:12px;padding:10px 7px;gap:7px}.mini-avatar{width:26px}.rail-room small{font-size:12px}.rail-bottom{padding-left:8px}.detail-heading{padding:0 18px}.table-toolbar{padding:15px 18px}}@media(max-width:900px){.rail{width:76px;padding:25px 10px;align-items:center}.brand{padding:0;margin-bottom:35px}.brand>span:last-child,.rail-label,.nav-item~span,.rail-room,.rail-bottom{display:none}.nav-item{font-size:0;width:50px;height:48px;justify-content:center;padding:0;margin-bottom:8px}.nav-symbol{font-size:24px}.workspace{margin-left:76px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-value{font-size:29px}.insights{grid-template-columns:minmax(0,1fr) 240px}.notice{align-items:flex-start}.notice-icon{margin-top:4px}.section-head{align-items:flex-start;gap:12px}.date-controls{flex-wrap:wrap;justify-content:flex-end}.date-label{display:none}.chart{height:210px}.tab-list{gap:20px}.detail-source{display:none}.room-copy h2{font-size:18px}}
@media(max-width:650px){.rail{position:static;width:100%;height:59px;flex-direction:row;justify-content:space-between;padding:0 17px}.brand{margin:0;font-size:18px;gap:8px}.brand>span:last-child{display:block}.brand small{display:none}.brand-mark{width:29px;height:29px;border-radius:8px;gap:3px}.brand-mark i{width:3px;height:9px}.brand-mark i:nth-child(2){height:17px}.rail nav{display:flex;gap:2px}.nav-item{width:auto;height:35px;font-size:12px;padding:0 9px;margin:0;gap:5px;border-radius:5px}.nav-symbol{display:none}.nav-item.active{box-shadow:none}.workspace{margin:0}.topbar{display:none}main{padding:23px 17px}.title-row{align-items:center}.eyebrow{font-size:12px;letter-spacing:1px}h1{font-size:24px}.mode-switch button{padding:6px 10px;font-size:12px}.room-strip{margin-top:21px;gap:11px}.room-avatar{width:47px;height:49px;border-radius:9px;font-size:18px}.room-avatar span{font-size:12px}.room-copy h2{font-size:16px}.room-meta{font-size:12px;gap:5px}.room-meta span:first-child,.room-meta b:first-of-type{display:none}.room-link{font-size:12px;padding:6px 8px}.notice{padding:12px;gap:8px;flex-wrap:wrap;margin-top:19px}.notice div{min-width:calc(100% - 30px)}.notice button{margin-left:27px;font-size:12px}.notice strong{font-size:14px}.section-head{flex-direction:column;align-items:stretch;margin-top:22px}.date-controls{justify-content:flex-start;gap:8px}.date-controls input{min-width:0;flex:1}.date-controls select{flex:1}.metrics{gap:10px}.metric{padding:17px 13px 14px}.metric-title{font-size:12px}.metric-icon{width:24px;height:24px;font-size:15px;right:10px;top:13px}.metric-value{font-size:26px;margin-top:13px}.metric-note{font-size:12px;margin-top:8px}.insights{grid-template-columns:1fr;gap:14px;margin-top:15px}.chart{height:195px;padding-left:14px;padding-right:14px}.panel-head{padding-top:17px}.gift-ranking{min-height:0;padding-top:12px}.ranking-empty{padding:20px 0 30px}.ranking-row{margin-bottom:12px}.gift-panel .panel-head p{display:none}.gift-panel .panel-head{padding-bottom:0}.chart-foot{padding-left:18px;font-size:12px}.detail-panel{margin-top:15px}.detail-heading{padding:0 15px}.tab-list{gap:22px}.tab-list button{padding:14px 0}.table-toolbar{padding:13px 15px;flex-wrap:wrap;gap:8px}.search-box{width:100%;min-width:0}.table-total{font-size:12px}.table-toolbar select{min-width:120px}.pagination{padding:12px 15px;gap:10px;flex-wrap:wrap}.pagination>div{gap:10px}.page-footer{flex-direction:column;gap:3px;margin-top:18px}td,th{padding:11px 15px}.empty-state{padding:32px 15px}.empty-state p{font-size:12px}dialog{padding:21px}.dialog-footer{align-items:flex-start;flex-direction:column}.dialog-footer .primary-button{width:100%}.steps li{gap:12px}.user-stat{padding:12px 8px}.user-stat strong{font-size:18px}.user-activity{max-height:38vh;overflow:auto}.user-activity li{gap:9px}.user-activity p{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{.rail,.topbar,.mode-switch,.room-link,.table-toolbar,.pagination,dialog,.notice button{display:none}.workspace{margin:0}main{padding:0}.panel,.metric{break-inside:avoid}.notice{background:white}.page-footer{color:#555}}
.refresh-tools{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted)}.room-actions{margin-left:auto;display:flex;align-items:center;gap:12px;min-width:0}.room-actions select{max-width:240px;border:1px solid var(--line);background:white;border-radius:7px;padding:9px;font-size:12px}.room-copy{min-width:0}.guild-panel,.coverage-panel{margin-top:22px}.guild-panel .panel-head{align-items:center;gap:15px}.guild-search{border:1px solid var(--line);border-radius:7px;padding:9px 12px;max-width:230px;min-width:0;font-size:13px}.guild-foot{padding:16px 23px;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}.guild-panel tbody tr:hover{background:#fffaf5}.guild-panel td{font-size:13px}.cell-sub{display:block;color:var(--muted);font-size:11px;font-weight:400;line-height:1.5;overflow-wrap:anywhere}.state-pill{border-radius:15px;background:#f1f3f5;color:#7c8790;padding:3px 9px;font-size:12px;white-space:nowrap}.state-pill.on{background:#e7f7ec;color:#328451}.coverage-panel{padding:17px 23px;font-size:12px;color:var(--muted)}.coverage-panel summary{cursor:pointer;color:var(--ink);font-size:14px}.coverage-panel p{margin-top:10px}.coverage-panel #coverage-list{max-height:220px;overflow:auto}.live-bars{height:100%;display:flex;align-items:flex-end;gap:5px;padding:20px 0 12px}.live-bar{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;gap:8px}.live-bar i{width:75%;border-radius:4px 4px 0 0;background:linear-gradient(#f6ae78,#ed682b);min-width:3px}.live-bar small{font-size:10px;color:var(--muted);height:16px;white-space:nowrap}.rank-item{display:flex;gap:11px;align-items:center;padding:9px 0;font-size:13px}.rank-item>span{color:var(--muted);width:12px}.rank-item>div{flex:1;min-width:0}.rank-item strong{display:block;font-weight:500;overflow-wrap:anywhere}.rank-item small{display:block;color:var(--muted)}.rank-item>b{font-size:13px;color:var(--accent);font-weight:600}.message-cell{white-space:normal!important;max-width:600px;overflow-wrap:anywhere}.metric-value{white-space:nowrap;letter-spacing:-1px;font-variant-numeric:tabular-nums}.user-stat small{display:block}#guild-table{min-width:800px}#guild-table td:first-child{max-width:260px;white-space:normal}
@media(max-width:1100px){.room-actions{flex-direction:column;align-items:flex-end;gap:5px}.metric-value{font-size:25px}}@media(max-width:650px){.refresh-tools{gap:5px}.refresh-tools>span{display:none}.room-strip{flex-wrap:wrap}.room-actions{width:100%;flex-direction:row;justify-content:space-between;align-items:center}.room-actions select{max-width:calc(100% - 115px);flex:1}.guild-panel .panel-head{flex-wrap:wrap}.guild-search{width:100%;max-width:none}.metric-value{font-size:23px}.rail nav{gap:0}.nav-item{padding:0 7px;font-size:11px}.guild-foot{padding:13px 16px}.coverage-panel{padding:15px}.guild-panel{margin-top:15px}}
.live-bars{width:100%}.guild-panel>.table-scroll{max-height:520px;overflow:auto}.guild-panel thead{position:sticky;top:0;z-index:1;background:white}.metric:first-child .metric-value{font-size:clamp(21px,2.1vw,31px)}
/* Time presets, complete gift contribution list, and paged user details. */
.date-controls{flex-wrap:wrap;max-width:75%;gap:9px}.date-controls>select{min-width:132px}.period-caption{width:100%;font-size:11px;color:var(--muted);text-align:right;line-height:1.5}.custom-period{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.custom-period label{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--muted)}.custom-period input{max-width:155px}.custom-period>span{padding-bottom:8px;font-size:12px;color:var(--muted)}.custom-period button{align-self:flex-end}.period-error{width:100%;font-size:12px;color:#b64323;text-align:right}.gift-panel{display:flex;flex-direction:column;min-height:0}.gift-panel .panel-head{flex:none}.gift-ranking{min-height:0!important;max-height:280px;overflow-y:scroll;scrollbar-gutter:stable;overscroll-behavior:contain;scrollbar-color:#d1d7de #f4f6f8;scrollbar-width:thin}.gift-ranking::-webkit-scrollbar{width:7px}.gift-ranking::-webkit-scrollbar-thumb{background:#d1d7de;border-radius:6px}.gift-ranking::-webkit-scrollbar-track{background:#f4f6f8}.rank-item>span{width:20px;flex:none}.rank-item>b{max-width:110px;text-align:right;overflow-wrap:anywhere}.chart{overflow-x:auto;display:block}.live-bar small{position:relative;transform:translateX(0);font-size:9px}.live-bars{min-height:175px}.user-dialog{width:min(850px,calc(100% - 32px));max-width:850px;max-height:90vh;overflow-y:auto}.user-tabs{margin-top:16px;border-bottom:1px solid var(--line);gap:24px}.user-tabs button{font-size:14px}.user-table-scroll{max-height:350px;overflow:auto;min-height:70px}.user-table-scroll table{min-width:500px}.user-table-scroll td{padding:12px 13px;font-size:12px}.user-table-scroll th{padding:10px 13px}.user-table-scroll thead{position:sticky;top:0;background:#f8f9fb;z-index:1}.user-table-scroll .message-cell{max-width:none;min-width:210px}.user-empty{padding:28px 10px;color:var(--muted);text-align:center;font-size:13px}.user-pagination{padding:13px 0}.user-stat strong{overflow-wrap:anywhere}.user-scope{overflow-wrap:anywhere}.user-stats{margin-top:18px}.user-stat small{font-size:11px}.user-tabs button[aria-selected=true]{color:var(--accent);border-bottom:2px solid var(--accent)}
@media(max-width:900px){.date-controls{max-width:100%}}@media(max-width:650px){.date-controls{width:100%;max-width:none;justify-content:flex-start}.date-controls>select{flex:initial;width:100%}.period-caption,.period-error{text-align:left}.custom-period{width:100%;gap:7px}.custom-period label{flex:1;min-width:0}.custom-period input{width:100%;max-width:none;min-width:0;padding:8px!important}.custom-period button{padding:8px 10px;font-size:12px}.gift-ranking{max-height:240px}.user-dialog{padding:20px 16px;width:calc(100% - 20px)}.user-stat strong{font-size:17px}.user-stats{gap:6px}.user-tabs{gap:20px}.user-table-scroll{max-height:40vh}.user-pagination{gap:8px}.user-scope{font-size:11px}}

/* Click to switch periods; date inputs appear only in the custom dialog. */
.date-controls{max-width:100%;flex:1;justify-content:flex-end}.period-buttons{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.period-buttons button{padding:8px 12px;border:1px solid #dfe5eb;background:white;border-radius:6px;color:#667582;font-size:13px;white-space:nowrap}.period-buttons button:hover{border-color:#efa878;color:#d9672d;background:#fffaf5}.period-buttons button[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:white}.period-dialog{width:min(480px,calc(100% - 32px))}.period-dialog h2{font-size:20px;margin:0}.period-dialog .custom-period{margin-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.period-dialog .custom-period label{font-size:13px;gap:8px;min-width:0}.period-dialog input{font:inherit;width:100%;max-width:none;min-width:0;border:1px solid #dfe5eb;border-radius:6px;padding:10px;background:white;color:var(--ink)}.period-dialog .period-error{text-align:left;margin-top:12px}.period-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.period-actions button{min-width:85px}@media(max-width:1150px){.section-head{flex-wrap:wrap}.date-controls{flex-basis:100%;justify-content:flex-start}.period-buttons{justify-content:flex-start}.period-caption{text-align:left}}@media(max-width:650px){.period-buttons{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.period-buttons button{padding:9px 4px;font-size:12px}.period-dialog .custom-period{gap:10px}.period-dialog input{padding:9px 6px}}

.maintenance-panel{margin-top:20px;padding:20px 23px;display:flex;align-items:center;justify-content:space-between;gap:16px}.maintenance-panel h3{font-size:15px}.maintenance-panel p{font-size:13px;color:var(--muted);margin-top:8px}.maintenance-panel form{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.maintenance-panel label{font-size:13px;color:var(--muted)}.maintenance-panel input{width:65px;padding:7px;border:1px solid var(--line);border-radius:5px;background:#f8f9fb;color:var(--ink);font:inherit}.maintenance-panel button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:900px){.maintenance-panel{align-items:flex-start;flex-direction:column}}
.chat-merge-control{display:flex;align-items:center;gap:8px;padding:12px 22px;color:#657783;font-size:12px;border-top:1px solid #edf0f3;flex-wrap:wrap}.chat-merge-control input{accent-color:#ee732f}.chat-merge-note{color:#89949e}

.brand-photo{width:39px;height:39px;object-fit:cover;border-radius:10px;flex-shrink:0}
@media(max-width:700px){.brand-photo{width:29px;height:29px;border-radius:8px}}

.user-tabs{overflow-x:auto;flex-wrap:nowrap}.user-tabs button{white-space:nowrap;flex-shrink:0}

.maintenance-heading{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px}.storage-usage{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:4px 10px;border:1px solid var(--line);border-radius:6px;background:var(--canvas);color:var(--muted);font-size:12px}.storage-usage strong{color:var(--ink);font-weight:600;white-space:nowrap}

.guardian-strip{margin:-4px 0 20px;padding:12px 16px;border:1px solid #e4e9ef;border-radius:12px;background:#fff;color:#506079}.guardian-strip p{margin:0 0 5px;font-weight:600}.guardian-strip small{line-height:1.7;color:#718096}.rank-item .cell-sub{white-space:normal;line-height:1.5}

.rail-room{width:100%;text-align:left;flex-shrink:0;margin-bottom:8px}.rail-room:hover{background:#2b3943}.rail-room[aria-pressed=true]{border-color:#ed682b;color:#ffac77}.rail-room>div{min-width:0;overflow-wrap:anywhere}.rail-room .mini-avatar{font-size:13px}@media(max-width:900px){.rail-room{display:flex;width:50px;justify-content:center;padding:8px 0;margin-top:8px;margin-bottom:0}.rail-room>div{display:none}.rail-room .mini-avatar{width:30px;height:30px}}

.rail-shortcuts{width:100%;display:flex;flex-direction:column}@media(max-width:900px){.rail-shortcuts{align-items:center}}@media(max-width:650px){.rail{display:grid;grid-template-columns:auto minmax(0,1fr);height:auto;gap:10px 8px;padding:12px 17px}.rail .brand{white-space:nowrap;letter-spacing:0;font-size:17px}.rail nav{justify-self:end}.rail .nav-item{padding:0 5px;font-size:11px;white-space:nowrap}.rail-shortcuts{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;align-items:stretch}.rail-room{width:100%;margin:0;padding:8px 6px;gap:6px;justify-content:flex-start;font-size:11px}.rail-room>div{display:block}.rail-room small{font-size:10px}.rail-room .mini-avatar{width:24px;height:26px;font-size:11px}}

.investigation-open{width:100%;text-align:center;padding:11px 8px;border:1px solid #775c47;border-radius:7px;color:#ffbd8f;background:#342f29;font-size:14px;margin-top:8px}.investigation-open:hover{background:#49362b}.investigation-dialog{width:min(1100px,calc(100% - 32px))}.investigation-dialog h2{margin-top:0}.investigation-search-form{display:flex;gap:10px;margin-top:20px}.investigation-search-form input{min-width:0;flex:1;border:1px solid #dfe5eb;border-radius:6px;padding:10px 12px;font-size:14px}.investigation-periods{margin-top:14px;justify-content:flex-start}.investigation-caption,.investigation-result-caption{font-size:12px;color:#87939d;margin-top:10px}.investigation-custom{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-top:12px}.investigation-custom label{font-size:12px;color:#6e7c87}.investigation-custom input{display:block;margin-top:4px}#investigation-message{font-size:12px;color:#7d8892;margin:14px 0;min-height:20px}#investigation-message.error{color:#b34627}.investigation-candidates{margin-top:12px;display:flex;flex-direction:column;gap:8px}.investigation-candidate{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:1px solid #e2e7ec;border-radius:8px;padding:14px;background:#fff}.investigation-candidate:hover{border-color:#e6a877;background:#fffaf6}.investigation-candidate>span:nth-child(2){min-width:0;flex:1;overflow-wrap:anywhere}.investigation-candidate strong{font-size:14px;color:#475663}.investigation-candidate small{display:block;font-size:12px;color:#8c97a0;margin-top:4px}.investigation-candidate-value{font-size:14px;color:#dd743d;text-align:right}.investigation-person{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:22px 0 14px}.investigation-person h3{font-size:20px;overflow-wrap:anywhere}.investigation-person p{font-size:12px;color:#8a959f;margin-top:5px}.investigation-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.investigation-stats>div{background:#f5f7f9;border-radius:7px;padding:14px}.investigation-stats small{display:block;font-size:12px;color:#87939d}.investigation-stats strong{display:block;font-size:23px;margin:5px 0;font-variant-numeric:tabular-nums}.investigation-stats>div:first-child strong{color:var(--accent)}.investigation-aliases{margin:18px 0;padding:16px;border:1px solid #e6ebef;border-radius:8px}.investigation-aliases p{font-size:12px;color:#8a969f;margin-top:6px}.investigation-aliases>div{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.investigation-alias{padding:9px 12px;border-radius:6px;background:#f6f8fa;overflow-wrap:anywhere}.investigation-alias strong{font-size:14px;font-weight:500}.investigation-alias small{display:block;font-size:11px;color:#8a959f;margin-top:4px}.investigation-classified{display:grid;grid-template-columns:235px minmax(0,1fr);gap:16px}.investigation-room-list{border:1px solid #e4e9ee;border-radius:8px;padding:15px}.investigation-room-list>p{font-size:12px;color:#8a959f;margin-top:4px}.investigation-room-list>div{margin-top:12px;max-height:470px;overflow:auto;display:flex;flex-direction:column;gap:8px}.investigation-room-list button{padding:11px;text-align:left;width:100%;border:1px solid #e7ebef;border-radius:7px;background:#f9fafb}.investigation-room-list button[aria-pressed=true]{border-color:#eb9561;background:#fff5ec}.investigation-room-list strong{display:block;font-size:13px;overflow-wrap:anywhere}.investigation-room-list small{display:block;font-size:11px;color:#8a959f;margin-top:4px}.investigation-room-detail{min-width:0;border:1px solid #e4e9ee;border-radius:8px;overflow:hidden}.investigation-detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px 0}.investigation-room-detail>.tab-list{padding:0 17px;border-bottom:1px solid #e5e9ed}.investigation-detail-note{font-size:12px;color:#8a959f;padding:12px 17px}.investigation-room-detail td,.investigation-room-detail th{padding:11px 16px}.investigation-room-detail .table-scroll{max-height:480px;overflow:auto}.investigation-empty{font-size:13px;color:#8a959f;text-align:center;padding:30px 15px}@media(max-width:900px){.investigation-open{width:50px;font-size:11px;padding:9px 2px}.investigation-classified{grid-template-columns:1fr}.investigation-room-list>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:200px}}@media(max-width:650px){.investigation-open{grid-column:1/-1;width:100%;font-size:14px;margin-top:0}.investigation-dialog{padding:20px 16px}.investigation-search-form{gap:7px}.investigation-search-form input{font-size:12px;padding:9px}.investigation-search-form button{font-size:12px;padding:9px 11px}.investigation-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.investigation-stats strong{font-size:20px}.investigation-candidate{gap:8px;flex-wrap:wrap}.investigation-candidate-value{width:100%;text-align:left;padding-left:37px}.investigation-person{align-items:flex-start}.investigation-person .outline-button{font-size:12px;padding:7px 9px}.investigation-room-detail>.tab-list{gap:20px}.investigation-custom{gap:8px}.investigation-alias{max-width:100%}}

.pagination{gap:12px;flex-wrap:wrap}.pagination>.page-controls{display:flex;flex-direction:column;align-items:flex-end;gap:9px;max-width:100%;min-width:0}.page-buttons{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap;max-width:100%}.pagination .page-buttons button{min-width:31px;min-height:32px;padding:4px 8px;font-variant-numeric:tabular-nums}.pagination .page-buttons button[aria-current=page]{background:var(--accent);border-color:var(--accent);color:#fff;opacity:1}.page-ellipsis{padding:0 3px;color:#a0a8af}.page-jump{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;max-width:100%}.page-jump label{display:flex;align-items:center;gap:5px;white-space:nowrap}.page-jump input{width:65px;min-width:0;height:30px;border:1px solid #dfe5eb;border-radius:5px;padding:3px 6px;background:white;color:#56616c;font-size:12px;text-align:center}.pagination .page-jump button{min-height:30px}.page-jump input::-webkit-inner-spin-button{margin:0}@media(max-width:650px){.pagination>.page-controls{width:100%;align-items:flex-start}.page-buttons,.page-jump{justify-content:flex-start}.pagination .page-buttons button{min-height:34px}.page-jump{gap:8px}}

/* Keep the global investigation entry above room shortcuts on desktop. */
@media(min-width:651px){.rail{overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#52616c transparent}.rail>*{flex-shrink:0}}
@media(min-width:651px) and (max-height:850px){.rail{padding-top:20px;padding-bottom:20px}.brand{margin-bottom:26px}.nav-item{padding-top:10px;padding-bottom:10px;margin-bottom:5px}.second-label{margin-top:22px}.rail-label{margin-bottom:10px}.investigation-open{margin-top:6px}.rail-bottom{padding-top:14px}.rail-bottom p{margin-top:8px}}
@media(min-width:901px) and (max-height:850px){.rail-room{padding:9px 10px;margin-bottom:6px}}
@media(max-width:650px){.rail-shortcuts{order:2}.investigation-open{order:3}}
.investigation-history{margin-top:14px}.investigation-history>p{font-size:12px;color:#7d8892}.investigation-history>p small{margin-left:8px;color:#98a1aa;font-size:11px}#investigation-history-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.investigation-history-item{display:inline-flex;align-items:center;max-width:100%;border:1px solid #e4e9ee;background:#f7f9fb;border-radius:6px;overflow:hidden}.investigation-history-item button{font-size:12px;padding:6px 10px;color:#596773}.investigation-history-item button:first-child{min-width:0;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.investigation-history-item button:hover{background:#fff1e8;color:#dd743b}.investigation-history-item button:last-child{flex-shrink:0;font-size:18px;line-height:1;padding:8px 10px;border-left:1px solid #e4e9ee}.investigation-history-item button:focus-visible{outline-offset:-3px}@media(max-width:650px){.investigation-history-item button:first-child{max-width:230px}}

.investigation-room-list .investigation-overall{margin-bottom:16px;background:#fff5ec;border-color:#edc2a7}.investigation-room-list .investigation-overall[aria-pressed=true]{border-color:#eb9561;box-shadow:inset 3px 0 #eb9561}.investigation-room-detail>.tab-list[hidden]{display:none}

.broadcast-metric .metric-value{font-size:22px;overflow-wrap:anywhere}.broadcast-note{font-size:12px;color:#87939d;margin:10px 0}@media(min-width:1280px){.metrics.metrics-room{grid-template-columns:repeat(5,minmax(0,1fr))}.metrics-room .metric{padding:21px 17px 18px}}@media(max-width:1279px){.metrics-room .broadcast-metric{grid-column:1/-1}}

.room-query-dialog{width:min(650px,calc(100% - 32px))}.room-query-dialog h2{margin-top:0}.room-query-dialog .dialog-intro{font-size:13px;line-height:1.7}.room-query-form{display:flex;gap:10px;margin-top:18px}.room-query-form input{flex:1;min-width:0;border:1px solid #dfe5eb;border-radius:6px;padding:10px 12px;font-size:14px}.room-query-form input:focus{border-color:#f0a476}.room-query-message{font-size:12px;line-height:1.6;color:#7d8892;margin:14px 0}.room-query-message.error{color:#b34627}.room-query-results{display:flex;flex-direction:column;gap:8px;max-height:min(420px,50vh);overflow-y:auto;overscroll-behavior:contain}.room-query-result{display:flex;align-items:center;gap:12px;width:100%;border:1px solid #e2e7ec;border-radius:8px;padding:13px;text-align:left;background:#fff;flex-shrink:0}.room-query-result:hover{background:#fffaf6;border-color:#e6a877}.room-query-result-copy{flex:1;min-width:0;overflow-wrap:anywhere}.room-query-result strong{display:block;font-size:14px;color:#475663}.room-query-result small{display:block;font-size:12px;line-height:1.6;color:#8c97a0;margin-top:4px}.room-query-enter{font-size:12px;color:#df7a42;white-space:nowrap}@media(max-width:650px){.room-query-dialog{padding:20px 16px}.room-query-form{gap:7px}.room-query-form input{font-size:13px;padding:9px}.room-query-form button{font-size:12px;padding:9px 11px}.room-query-result{gap:8px;padding:11px}.room-query-enter{font-size:11px}}

/* Keep room chat columns at the same left-aligned positions on every page. */
#records:has(thead th:nth-child(3):last-child){table-layout:fixed;width:100%;min-width:640px}
#records:has(thead th:nth-child(3):last-child) th:nth-child(1),#records:has(thead th:nth-child(3):last-child) td:nth-child(1){width:160px}
#records:has(thead th:nth-child(3):last-child) th:nth-child(2),#records:has(thead th:nth-child(3):last-child) td:nth-child(2){width:240px}
#records:has(thead th:nth-child(3):last-child) .user-name{min-width:0;white-space:normal;overflow-wrap:anywhere}
#records:has(thead th:nth-child(3):last-child) .message-cell{min-width:0;max-width:none}

/* User chat details keep the same column positions across pages. */
#user-records[aria-labelledby="user-chat-tab"] #user-table{table-layout:fixed;width:100%;min-width:500px}
#user-records[aria-labelledby="user-chat-tab"] #user-table th:first-child,#user-records[aria-labelledby="user-chat-tab"] #user-table td:first-child{width:160px}
#user-records[aria-labelledby="user-chat-tab"] #user-table:has(thead th:nth-child(3):last-child){min-width:640px}
#user-records[aria-labelledby="user-chat-tab"] #user-table:has(thead th:nth-child(3):last-child) th:nth-child(2),#user-records[aria-labelledby="user-chat-tab"] #user-table:has(thead th:nth-child(3):last-child) td:nth-child(2){width:240px;overflow-wrap:anywhere}
#user-records[aria-labelledby="user-chat-tab"] #user-table .message-cell{min-width:0;max-width:none;overflow-wrap:anywhere}

/* Compact chat rows only; keep gift and ranking presentation unchanged. */
.chat-page-size,.chat-tools label{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);white-space:nowrap}
.chat-tools{display:flex;justify-content:flex-end;padding:6px 0 10px}.chat-tools select,.chat-page-size select{font-size:12px;min-height:30px;padding:4px 7px}.chat-tools[hidden],.chat-page-size[hidden]{display:none}
.investigation-room-detail>.chat-tools{padding:0 16px 10px}
#records-panel[aria-labelledby="messages-tab"] th,#user-records[aria-labelledby="user-chat-tab"] th,.chat-detail-table th{padding:7px 14px}
#records-panel[aria-labelledby="messages-tab"] td,#user-records[aria-labelledby="user-chat-tab"] td,.chat-detail-table td{padding:5px 14px;line-height:1.4;vertical-align:middle;font-size:13px}
#records-panel[aria-labelledby="messages-tab"] .user-avatar{width:22px;height:22px;font-size:11px}
#records-panel[aria-labelledby="messages-tab"] .user-cell{gap:7px}
#records-panel[aria-labelledby="messages-tab"] .user-name{font-size:13px;line-height:1.4;min-width:0;white-space:normal;overflow-wrap:anywhere}
#records-panel[aria-labelledby="messages-tab"] .time-cell,#user-records[aria-labelledby="user-chat-tab"] .time-cell,.chat-detail-table .time-cell{font-size:12px}
#records-panel[aria-labelledby="messages-tab"] #records:has(thead th:nth-child(4):last-child){table-layout:fixed;min-width:800px}
#records-panel[aria-labelledby="messages-tab"] #records:has(thead th:nth-child(4):last-child) th:first-child,#records-panel[aria-labelledby="messages-tab"] #records:has(thead th:nth-child(4):last-child) td:first-child{width:160px}
#records-panel[aria-labelledby="messages-tab"] #records:has(thead th:nth-child(4):last-child) th:nth-child(2),#records-panel[aria-labelledby="messages-tab"] #records:has(thead th:nth-child(4):last-child) td:nth-child(2){width:240px}
#records-panel[aria-labelledby="messages-tab"] #records:has(thead th:nth-child(4):last-child) th:nth-child(3),#records-panel[aria-labelledby="messages-tab"] #records:has(thead th:nth-child(4):last-child) td:nth-child(3){width:200px;white-space:normal;overflow-wrap:anywhere}
.chat-detail-table{table-layout:fixed;width:100%;min-width:420px}.chat-detail-table th:first-child,.chat-detail-table td:first-child{width:160px}.chat-detail-table .message-cell{min-width:0;max-width:none;overflow-wrap:anywhere}
@media(max-width:650px){.table-toolbar:has(#chat-limit-control:not([hidden])){flex-wrap:wrap}.chat-page-size{margin-left:auto}.chat-tools{justify-content:flex-start}}

/* Public Huya room avatars reuse the existing image URL; no local image store. */
.room-avatar,.mini-avatar,.room-query-result .user-avatar{overflow:hidden}
.room-avatar img,.mini-avatar img,.room-query-result .user-avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}

/* User identity is separate from gift amounts and room identifiers. */
.user-avatar{position:relative;overflow:hidden;flex-shrink:0}
.user-avatar img[data-user-avatar]{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.user-identity{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}
.user-badges{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px;vertical-align:middle;font-size:11px;font-weight:500;line-height:1.5;max-width:100%}
.user-consume-level{display:inline-block;background:#efe9ff;color:#7943db;border:1px solid #dccbff;padding:0 5px;border-radius:8px;white-space:nowrap}
.user-fans-badge{display:inline-flex;align-items:center;gap:4px;border:1px solid #ffc690;background:#fff2df;color:#bd641d;border-radius:5px;padding:0 4px;min-width:0}
.user-fans-badge>span{max-width:8em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.user-fans-badge b{font-weight:600;white-space:nowrap}
.user-profile-heading{display:flex;align-items:center;gap:12px;min-width:0}
.user-profile-heading>div{min-width:0}
.user-profile-heading .user-avatar{width:52px;height:52px;font-size:23px}
.investigation-candidate .user-badges{margin:3px 0}
.investigation-person .user-profile-heading{flex:1}
@media(max-width:600px){.user-profile-heading .user-avatar{width:42px;height:42px}.user-badges{font-size:10px}.user-fans-badge>span{max-width:6em}}

.user-badge-collection{height:142px;margin:12px 0 16px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fafbfd}
.user-badge-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px;line-height:1.6}.user-badge-heading small{font-size:11px;color:var(--muted)}
.user-badge-scope{font-size:11px;color:var(--muted);line-height:1.6;margin:2px 0 6px}
.user-badge-list{display:flex;flex-wrap:wrap;align-content:flex-start;gap:7px 10px;max-height:74px;overflow:auto;overscroll-behavior:contain}
.user-owned-badge{display:inline-flex;align-items:center;gap:4px;max-width:100%;font-size:12px;line-height:1.7}.user-owned-badge>small{font-size:10px;color:#c37737;white-space:nowrap}

/* Fan-badge thresholds and colors follow the owner's Huya reference image.
   The separate chat-color unlocks at levels 3 and 10 are not badge tiers. */
.user-fans-badge[data-fans-tier]{background:var(--fans-background);border-color:var(--fans-edge);color:#fff;border-radius:999px;padding:0 5px;text-shadow:0 1px 1px #0005;box-shadow:inset 0 1px 0 #ffffff66;font-weight:600}
.user-fans-badge[data-fans-tier] b{border-left:1px solid #ffffff70;padding-left:4px}
.user-fans-badge[data-fans-tier="1"]{--fans-background:linear-gradient(110deg,#439e91,#70bfb1);--fans-edge:#57ae9f}
.user-fans-badge[data-fans-tier="6"]{--fans-background:linear-gradient(110deg,#3e9fc5,#72c4e7);--fans-edge:#5cb3d7}
.user-fans-badge[data-fans-tier="14"]{--fans-background:linear-gradient(110deg,#7b83db,#a29af4);--fans-edge:#8e91e9}
.user-fans-badge[data-fans-tier="18"]{--fans-background:linear-gradient(110deg,#b74d73,#db86a0);--fans-edge:#c86a8b}
.user-fans-badge[data-fans-tier="21"]{--fans-background:linear-gradient(110deg,#b42cdb,#ed68fb);--fans-edge:#d778ef}
.user-fans-badge[data-fans-tier="24"]{--fans-background:linear-gradient(110deg,#7b20cf,#b55bf2);--fans-edge:#c48aee}
.user-fans-badge[data-fans-tier="27"]{--fans-background:linear-gradient(110deg,#de7b05,#f8ae17 65%,#ffd555);--fans-edge:#ffc443}
.user-fans-badge[data-fans-tier="33"]{--fans-background:linear-gradient(110deg,#d826d6,#ed65e7 65%,#ffd879);--fans-edge:#ffd36d}
.user-fans-badge[data-fans-tier="36"]{--fans-background:linear-gradient(110deg,#972bd5,#c559ef 65%,#ffe087);--fans-edge:#f8ce69}
.user-fans-badge[data-fans-tier="42"]{--fans-background:linear-gradient(110deg,#ec3d16,#ff851e 65%,#ffd858);--fans-edge:#ffc347}
.user-fans-badge[data-fans-tier="51"]{--fans-background:linear-gradient(110deg,#87522c,#ca8839 55%,#f5c970 82%,#995b2c);--fans-edge:#efbd5e}

/* Only the FK Huya brand image opens this full-picture viewer. */
.brand-image-open{display:block;flex-shrink:0;padding:0;line-height:0;border-radius:10px;cursor:zoom-in}
.brand-image-open .brand-photo{display:block;object-fit:cover;object-position:center center;background:#263945}
.brand-image-dialog{width:max-content;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:0;border:0;background:#172531;overflow:hidden;border-radius:12px}
.brand-image-full{display:block;width:auto;height:auto;max-width:min(1280px,calc(100vw - 32px));max-height:calc(100dvh - 32px);object-fit:contain}
.brand-image-dialog::backdrop{background:#0b1019c9;backdrop-filter:blur(4px)}
.brand-image-close{position:absolute;z-index:1;right:8px;top:8px;width:36px;height:36px;border-radius:50%;background:#0009;color:#fff;font-size:28px;display:grid;place-items:center;padding:0}
.brand-image-close:hover{background:#000d;color:#fff}

/* Site announcement: keep the supplied image complete beside the message. */
.topbar{height:auto;min-height:73px;gap:20px;padding-top:10px;padding-bottom:10px}
.topbar>.breadcrumb,.topbar>.topbar-right{flex-shrink:0}
.topbar-announcement{display:flex;flex:1;min-width:0;align-items:center;justify-content:center;gap:16px;margin:0 12px}
.topbar-announcement strong{font-size:18px;line-height:1.5;font-weight:750;color:#e02020;letter-spacing:.2px;overflow-wrap:anywhere}
.topbar-announcement img{display:block;flex-shrink:0;width:174px;height:auto;max-height:56px;object-fit:contain;border-radius:5px}
@media(max-width:1050px){.topbar-announcement{flex-wrap:wrap;gap:6px;margin:0;text-align:center}.topbar-announcement strong{font-size:17px}}
@media(max-width:650px){.topbar{display:flex;min-height:0;padding:12px 17px}.topbar>.breadcrumb,.topbar>.topbar-right{display:none}.topbar-announcement{gap:8px}.topbar-announcement strong{font-size:16px}.topbar-announcement img{width:190px;max-height:none}}
@media print{.topbar{display:none}}

.topbar-announcement strong{text-align:center}
.announcement-image-open{display:block;flex-shrink:0;padding:0;border:0;background:transparent;border-radius:5px;line-height:0;cursor:zoom-in}
.announcement-image-open:focus-visible{outline:3px solid #e02020;outline-offset:4px}
@media(min-width:1051px){.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.topbar>.topbar-right{justify-self:end}.topbar-announcement{margin:0}}
@media(min-width:1051px) and (max-width:1150px){.topbar-announcement strong{font-size:17px}}
