:root{color-scheme:light;--ink:#19283c;--muted:#607088;--line:#e0e7ef;--blue:#245fce;--nav:#14233a;--bg:#f3f6fa;--white:#fff;font:14px/1.5 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);min-height:100vh}
[hidden]{display:none!important}
button,input,select,textarea{font:inherit}
button{padding:8px 13px;color:var(--ink);font-weight:600;border:1px solid var(--line);background:#fff;border-radius:7px;cursor:pointer;white-space:nowrap}
button:hover{background:#f1f6ff;border-color:#a9bee0}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #588bef;outline-offset:2px}
button:disabled{opacity:.48;cursor:default}
a{color:var(--blue);text-underline-offset:3px}
p,h1,h2,h3,h4{margin:0}
.primary{background:var(--blue);border-color:var(--blue);color:#fff}
.primary:hover{background:#184ba9;color:#fff;border-color:#184ba9}
.sidebar{position:fixed;inset:0 auto 0 0;width:222px;background:var(--nav);padding:27px 15px 18px;color:#fff;display:flex;flex-direction:column}
.brand{display:flex;align-items:center;gap:11px;padding:0 8px 29px;font-size:17px;font-weight:700;letter-spacing:.02em}
.brand small{display:block;font-size:11px;color:#9daec6;font-weight:500;margin-top:3px}
.logo{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#3474e4;color:white;font-size:24px}
nav{display:grid;gap:7px}
nav button{width:100%;display:flex;align-items:center;gap:11px;text-align:left;color:#c4d1e3;border:0;background:transparent;padding:11px 12px;font-weight:550}
nav button:hover,nav button.active{color:white;background:#293f62}
.nav-icon{width:17px;text-align:center;color:#a6c6ff}
.nav-count{margin-left:auto;color:#bccbe1;font-size:11px;font-variant-numeric:tabular-nums}
.local{margin-top:auto;padding:12px 9px 0;border-top:1px solid #33415a;color:#c4d1e3;font-size:12px}
.local i{display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:50%;background:#5bdaa9}
main{margin-left:222px;min-width:0}
.top{height:59px;border-bottom:1px solid var(--line);background:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 31px;color:var(--muted);font-size:13px}
.top strong{color:var(--ink)}
.top b{color:#9ba8b9;margin:0 6px}
.local-label{border:1px solid var(--line);border-radius:20px;padding:3px 10px}
.workspace{padding:30px;max-width:1760px;margin:auto}
.heading{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:24px}
.eyebrow{font-size:12px;font-weight:700;color:var(--blue);letter-spacing:.08em;margin-bottom:5px}
h1{font-size:32px;line-height:1.25;letter-spacing:-.025em}
.subtitle{color:var(--muted);margin-top:8px}
.actions,.filters{display:flex;gap:9px;align-items:center}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:23px}
.card,.panel{border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 2px 4px #14233a06;min-width:0}
.card{padding:15px 17px 13px;position:relative}
.card p{font-size:13px;font-weight:650;color:#485973}
.card strong{display:block;font-size:35px;line-height:1.25;letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin:6px 0 3px}
.card small,.muted,.panel-head p{color:var(--muted)}
.card-index{position:absolute;right:12px;top:12px;border-radius:6px;background:#edf4ff;color:#295fbd;padding:3px 6px;font:650 11px/1.4 ui-monospace,monospace}
.panel-head{padding:17px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.panel h2{font-size:17px}
.panel-head p{font-size:12px;margin-top:2px}
input,select,textarea{max-width:100%;padding:8px 10px;border:1px solid #d6e0ec;border-radius:7px;background:#fff;color:var(--ink)}
.filters input{width:210px}
.table-scroll{overflow:auto;max-height:64vh;border-top:1px solid var(--line)}
table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;white-space:nowrap}
th,td{text-align:left;vertical-align:top;padding:11px 13px;border-bottom:1px solid #eaf0f5}
th{font-size:12px;background:#f6f8fc;color:#465771;position:sticky;top:0;z-index:2}
td{background:#fff}
tr:hover td{background:#f8fbff}
th:first-child,td:first-child{position:sticky;left:0;z-index:1;font-weight:650}
th:first-child{z-index:3}
th:last-child,td:last-child{position:sticky;right:0;z-index:1;box-shadow:-1px 0 #e6ebf1}
th:last-child{z-index:3}
.product-name{display:inline-block;padding:2px 7px;border-radius:5px;background:#edf3ff;color:#234e87;font-weight:650}
.product-name[data-platform="微信"]{background:#eaf5ee;color:#205e43}
.product-name[data-platform="B站"]{background:#f4edf9;color:#654181}
.product-name[data-platform="软著"]{background:#fff2dd;color:#784a16}
.product-table.read-only :is(th,td):last-child{right:auto;box-shadow:none}
.product-table.read-only td:last-child{position:static}
.secret-cell{display:inline-flex;align-items:center;gap:7px}
.secret-view{display:inline-grid;place-items:center;width:26px;height:24px;padding:0;border-color:transparent;background:transparent;color:#516582;scroll-margin-inline-end:72px}
.secret-view[aria-expanded="true"]{color:var(--blue)}
.secret-view svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.secret-view[aria-expanded="true"] .eye-slash{display:none}
.secret-value{width:100%;font-family:ui-monospace,monospace}
.badge{display:inline-block;padding:2px 8px;border-radius:12px;background:#edf1f5;color:#42536c;font-size:12px;font-weight:600}
.badge.green{background:#e3f6ed;color:#176144}
.badge.amber{background:#fff1d8;color:#865509}
.badge.blue{background:#edf4ff;color:#2059b7}
.badge.red{background:#fcebed;color:#9d293a}
.badge.purple{background:#f0eafa;color:#644395}
.badge.cyan{background:#e4f4f9;color:#146178}
.badge.pink{background:#fceaf2;color:#91335f}
.badge.teal{background:#e1f5f2;color:#14645e}
.sort-header{padding:2px 5px;margin:-2px -5px;border:0;background:transparent;color:inherit;font-size:inherit}
.sort-header:hover,th[aria-sort] .sort-header{background:#e8f0ff;color:var(--blue)}
.stack{display:flex;flex-wrap:wrap;gap:5px}
.stack a{display:block}
.game-cell{height:24px;max-width:280px;overflow:hidden;text-overflow:ellipsis}
.game-cell + .game-cell{border-top:1px solid #ecf0f4}
.text-button{color:var(--blue);border:0;background:transparent;padding:0;font-size:13px}
.text-button:hover{background:transparent;text-decoration:underline}
.pagination{display:flex;align-items:center;justify-content:end;gap:12px;padding:11px 16px;color:var(--muted);font-size:12px}
.pagination button{padding:4px 9px}
.empty{padding:33px 18px;text-align:center;color:var(--muted)}
.attachments{margin-top:20px}
.attachment-row{display:grid;grid-template-columns:1fr minmax(180px,320px) auto;align-items:center;gap:12px;padding:10px 18px;border-top:1px solid var(--line)}
dialog{width:min(810px,calc(100vw - 26px));max-height:90vh;border:1px solid var(--line);border-radius:13px;padding:0;color:var(--ink);box-shadow:0 20px 65px #0b214847}
dialog::backdrop{background:#0c1b367a}
.modal-head,.modal-foot{position:sticky;background:#fff;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:14px 19px}
.modal-head{top:0;border-bottom:1px solid var(--line)}
.modal-foot{bottom:0;justify-content:end;gap:8px;border-top:1px solid var(--line)}
.modal-head h2{font-size:21px}
.close{font-size:23px;padding:0 11px}
#modal-body{padding:15px 19px}
#modal-body > * + *{margin-top:10px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}
label{display:grid;gap:4px;font-weight:600;font-size:13px;align-content:start}
label .text-button{justify-self:start}
.details{margin-top:17px;padding-top:13px;border-top:1px solid var(--line)}
.details > * + *{margin-top:8px}
.details p{color:var(--muted)}
.game-box{padding:12px;border:1px solid var(--line);border-radius:8px;margin-bottom:8px;background:#f8fafc}
.game-head,.file-line{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px}
.game-box small{display:block;margin-top:7px}
textarea{display:block;width:100%;resize:vertical}
.error{color:#a11c26;padding:0 19px 10px}
.error:empty{display:none}
.batch-summary{font-weight:650;color:#215db7}
.toast{position:fixed;z-index:3;right:18px;bottom:18px;padding:12px 16px;border-radius:8px;background:#172c49;color:#fff;box-shadow:0 4px 15px #0003}
@media(max-width:1000px){.workspace{padding:20px}.sidebar{width:174px;padding-inline:11px}main{margin-left:174px}.top{padding:0 20px}.brand{font-size:15px}.cards{gap:8px}.card{padding-inline:11px}.card-index{display:none}}
@media(max-width:720px){.sidebar{position:static;width:auto;padding:9px}.brand{padding:2px 4px 8px}.brand small,.local,.nav-count,.nav-icon{display:none}nav{display:flex;overflow:auto;gap:3px}nav button{width:auto;padding:7px 8px}main{margin:0}.top{height:39px;padding:0 12px}.workspace{padding:13px}.heading,.panel-head{align-items:start;flex-direction:column}.cards{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:14px}.card strong{font-size:27px}.card small{font-size:11px}.heading{margin-bottom:14px}h1{font-size:25px}.filters{width:100%}.filters input{width:100%;min-width:0}.form-grid{grid-template-columns:1fr}.attachment-row{grid-template-columns:minmax(0,1fr) auto}.attachment-row a{grid-column:1/-1}}
.overview-workspace .heading{
  padding:27px 30px;
  border:1px solid #dce7f7;
  border-radius:16px;
  background:radial-gradient(ellipse at 100% 5%,#dbeaff 0%,transparent 58%),linear-gradient(125deg,#fff,#f0f6ff);
}
.overview-workspace .panel{border-radius:16px;box-shadow:0 8px 22px #14233a08}
.overview-workspace .panel-head{padding:20px 22px}
.overview-workspace .panel h2{font-size:19px}
.game-lookup{margin-bottom:18px}
.game-lookup .filters input{width:min(300px,100%)}
.lookup-status{padding:0 22px 14px}
.lookup-results{display:grid;gap:10px;padding:0 22px 20px}
.lookup-item{padding:13px 15px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe}
.lookup-item-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px;overflow-wrap:anywhere}
.lookup-item-head h3{font-size:15px}
.lookup-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:10px 14px;margin:12px 0 0}
.lookup-details dt{font-size:12px;color:var(--muted)}
.lookup-details dd{margin:3px 0 0;overflow-wrap:anywhere}
@media(max-width:720px){.game-lookup .filters input{width:100%}.lookup-status,.lookup-results{padding-inline:16px}}
.overview-table{container-type:inline-size;max-height:none;border-radius:0 0 16px 16px}
.overview-table th,.overview-table td{position:static;box-shadow:none;text-align:center;vertical-align:middle}
.overview-table th{padding:12px 10px}
.overview-table td{padding:17px 10px;font-variant-numeric:tabular-nums}
.overview-table th:first-child,.overview-table td:first-child{padding-left:22px;text-align:left}
.overview-table td:last-child,.overview-table th:last-child{padding-right:22px;text-align:right}
.overview-table tr:last-child td{border-bottom:0}
.platform-identity{display:flex;align-items:center;gap:9px;font-size:14px}
.platform-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;font-weight:700}
.platform-0{background:#eef1f7;color:#253955}
.platform-1{background:#e3f6ec;color:#12684a}
.platform-2{background:#fceaf2;color:#993b68}
.overview-total{font-size:20px;line-height:1.2}
.overview-count{display:inline-block;min-width:33px;padding:3px 7px;border-radius:7px;font-weight:650}
.overview-count.live{background:#e5f6ec;color:#176144}
.overview-count.waiting{background:#fff1db;color:#805211}
.overview-count.offline{background:#edf1f6;color:#4b5e77}
.overview-count.filed{background:#e8f0ff;color:#2358ac}
.overview-count.filing{background:#f0eafa;color:#644395}
.overview-count.zero{color:var(--muted)}
.overview-open{padding:6px 10px;color:var(--blue);font-size:12px}
.overview-inline-label{display:none}
@container (max-width:680px){
  .overview-table table,.overview-table tbody{display:block;white-space:normal}
  .overview-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .overview-table tbody{display:grid;gap:10px;padding:11px;background:#f6f8fc}
  .overview-table tbody tr{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:9px 2px;padding:11px;border:1px solid var(--line);border-radius:11px;background:#fff}
  .overview-table td,.overview-table td:first-child,.overview-table td:last-child{padding:0;border:0;background:transparent}
  .overview-table td:first-child{grid-column:span 3}
  .overview-table td:nth-child(2){grid-column:span 2;text-align:right}
  .overview-table td:last-child{grid-column:1/-1;padding-top:7px;border-top:1px solid #edf1f6}
  .overview-inline-label{display:block;margin-bottom:4px;color:var(--muted);font-size:11px}
  .platform-mark{width:30px;height:30px}
}
@media(max-width:720px){
  .overview-workspace .heading{padding:17px 16px}
  .overview-workspace .panel-head{padding:13px 16px}
}
.column-filters{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:end;padding:0 18px 14px}
.column-filters label{min-width:105px;max-width:200px;color:var(--muted)}
.column-filters select{width:100%;padding:5px 8px;font-weight:500}
.column-filters button{margin-bottom:6px}
.three-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
.platform-workspace .heading{margin-bottom:14px}
.cards.platform-stats{margin-bottom:16px}
.platform-stats .card{padding-block:9px 8px}
.platform-stats .card strong{margin:4px 0 2px;font-size:29px}
.platform-stats .card small{display:block;line-height:1.4}
#modal-body > button + a{margin-left:10px}
.game-box h4{overflow-wrap:anywhere;margin-bottom:4px}
.game-box > p{margin-bottom:8px}
@media(max-width:720px){.column-filters{padding-inline:12px}.column-filters label{min-width:0;width:calc(50% - 6px)}}
.auth-screen{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(ellipse at 90% 0%,#dce9ff,transparent 65%),var(--bg)}
.auth-panel{width:min(100%,410px);padding:28px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 12px 30px #14233a12}
.auth-panel form{display:grid;gap:13px;margin-top:20px}
.auth-panel .error{padding:0}
.account-bar{display:flex;align-items:center;gap:7px;min-width:0}
.account-bar span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.account-bar button{padding:4px 8px;font-size:12px}
.account-list{display:grid}
.account-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--line)}
.account-name{overflow-wrap:anywhere}
.account-name small{display:block;color:var(--muted)}
.history-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.history-info{overflow-wrap:anywhere}
.history-info small{display:block;margin-top:3px}
.multi-filter{position:relative;min-width:105px;max-width:190px}
.multi-filter-summary{display:grid;gap:4px;list-style:none;cursor:pointer}
.multi-filter-summary::-webkit-details-marker{display:none}
.multi-filter-caption{font-size:13px;font-weight:600;color:var(--muted)}
.multi-filter-selection{position:relative;display:block;padding:5px 26px 5px 9px;border:1px solid #d6e0ec;border-radius:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#fff;font-size:13px}
.multi-filter-selection::after{content:'';position:absolute;right:10px;top:9px;width:6px;height:6px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}
.multi-filter[open] .multi-filter-selection{border-color:#8eaee0}
.multi-filter-menu{position:absolute;z-index:6;top:calc(100% + 5px);left:0;min-width:max(100%,150px);max-width:min(280px,calc(100vw - 30px));max-height:235px;overflow:auto;padding:5px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 8px 22px #14233a22}
.column-filters .multi-filter-menu label{display:flex;align-items:center;gap:7px;width:auto;min-width:0;max-width:none;padding:6px;font-weight:500;color:var(--ink);cursor:pointer;overflow-wrap:anywhere}
.multi-filter-menu label:hover{background:#eff5ff;border-radius:4px}
.multi-filter-menu input{margin:0;flex:none;accent-color:var(--blue)}
.column-filters .multi-filter-menu button{margin:4px 6px}
@media(max-width:720px){.multi-filter{width:calc(50% - 6px);min-width:0;max-width:none}.multi-filter:nth-child(even) .multi-filter-menu{left:auto;right:0}.account-bar span{max-width:105px}.top>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}}
.badge.revenue-tier-0{background:#f1f4f8;color:#465771}
.badge.revenue-tier-1{background:#e9f2fe;color:#24549b}
.badge.revenue-tier-2{background:#e1f5f2;color:#14645e}
.badge.revenue-tier-3{background:#e5f6ec;color:#176144}
.badge.revenue-tier-4{background:#fff1d8;color:#805211}
.badge.revenue-tier-5{background:#f0eafa;color:#644395}
