@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{--ink:#18201c;--muted:#68716c;--paper:#f3f5f2;--surface:#fff;--line:#d7ddd8;--green:#23654b;--green-dark:#164534;--lime:#cae34a;--coral:#eb806f;--sky:#a8d5e1;--amber:#eaa661;--danger:#a84234;--shadow:rgba(33,58,45,.12)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:Manrope,"Microsoft YaHei",sans-serif;letter-spacing:0}
button,input{font:inherit;letter-spacing:0}
button,a{transition:background-color .2s ease,color .2s ease,transform .2s ease,border-color .2s ease}
button:active,a:active{transform:translateY(1px)}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid rgba(35,101,75,.25);outline-offset:2px}
a{color:inherit;text-decoration:none}
[hidden]{display:none!important}
.skip-link{position:fixed;top:-50px;left:16px;z-index:20;padding:10px 14px;background:var(--ink);color:#fff}.skip-link:focus{top:12px}
.topbar{min-height:72px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:0 max(24px,5vw);border-bottom:1px solid var(--line);background:rgba(243,245,242,.94);position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}
.brand{display:inline-flex;align-items:center;gap:10px;width:max-content;font-size:15px;font-weight:800}.brand-mark{width:30px;height:30px;display:grid;place-items:center;color:#fff;background:var(--green);border-radius:4px;font-size:18px}.brand-dot{color:var(--green)}
.topbar-status{display:flex;align-items:center;gap:8px;color:var(--muted);font:10px "DM Mono",monospace}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px rgba(202,227,74,.2)}.region-badge{margin-left:8px;padding:3px 6px;border:1px solid var(--line);color:var(--green);background:#fff}
.account-area{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}.account-area img,.avatar-fallback{width:32px;height:32px;border-radius:4px;object-fit:cover;background:var(--sky)}.avatar-fallback{display:grid;place-items:center;font-weight:800}.account-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700}.icon-command{width:34px;height:34px;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;font-size:18px}.icon-command:hover{color:var(--ink);background:#fff}
.steam-login{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 19px;color:#fff;background:var(--ink);border:1px solid var(--ink);cursor:pointer;font-size:13px;font-weight:800}.steam-login:hover{background:var(--green-dark);border-color:var(--green-dark);transform:translateY(-2px)}.steam-login.compact{min-height:36px;padding:0 13px;font-size:11px}.steam-symbol{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;color:var(--ink);background:#fff;font-size:12px}
.login-view{min-height:calc(100dvh - 122px);display:grid;grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);align-items:center;gap:7vw;max-width:1260px;margin:0 auto;padding:70px max(24px,5vw) 92px}.eyebrow{margin:0 0 14px;color:var(--green);font:10px "DM Mono",monospace}.login-copy h1{margin:0;font-size:72px;line-height:1;font-weight:800}.login-lead{margin:15px 0 34px;color:var(--muted);font-size:19px}.auth-message{min-height:22px;margin:18px 0 0;color:var(--danger);font-size:12px}
.login-visual{position:relative;min-height:390px;overflow:hidden;border:1px solid var(--line);background:#e6ebe6}.visual-grid{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:48px 48px;opacity:.7}.visual-center{position:absolute;top:50%;left:50%;width:150px;height:150px;display:grid;place-content:center;text-align:center;border-radius:50%;transform:translate(-50%,-58%);color:#fff;background:var(--green);box-shadow:0 0 0 12px rgba(35,101,75,.12)}.visual-center strong{font-size:48px;line-height:1}.visual-center span{margin-top:10px;font:8px "DM Mono",monospace}.signal{position:absolute;width:11px;height:11px;border-radius:50%}.signal-a{left:16%;top:23%;background:var(--coral)}.signal-b{right:17%;top:39%;background:var(--amber)}.signal-c{left:30%;bottom:25%;background:var(--lime)}.login-metrics{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(3,1fr);margin:0;border-top:1px solid var(--line);background:rgba(255,255,255,.72)}.login-metrics div{padding:15px 16px;border-right:1px solid var(--line)}.login-metrics div:last-child{border:0}.login-metrics dt{color:var(--muted);font-size:10px}.login-metrics dd{margin:5px 0 0;font:500 12px "DM Mono",monospace}
.workspace{max-width:1320px;margin:0 auto;padding:56px max(24px,5vw) 90px}.workspace-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;padding-bottom:27px;border-bottom:1px solid var(--line)}.workspace-heading h1{margin:0;font-size:44px;line-height:1.08}.sync-note{margin:12px 0 0;color:var(--muted);font-size:12px}.summary-strip{display:grid;grid-template-columns:repeat(3,110px);border:1px solid var(--line);background:#fff}.summary-strip div{padding:13px 14px;border-right:1px solid var(--line)}.summary-strip div:last-child{border:0}.summary-strip span{display:block;color:var(--muted);font-size:10px}.summary-strip strong{display:block;margin-top:4px;font:500 24px "DM Mono",monospace}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:26px;padding:19px 0}.tabs{display:flex;flex-wrap:wrap;gap:19px}.tab{padding:7px 0;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);cursor:pointer;font-size:12px;font-weight:700}.tab:hover,.tab.active{color:var(--ink)}.tab.active{border-color:var(--green)}.search{display:flex;align-items:center;gap:8px;min-width:230px;border-bottom:1px solid var(--line);color:var(--muted)}.search input{width:100%;padding:9px 0;border:0;outline:0;background:transparent;color:var(--ink);font-size:12px}
.game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.game-card{display:grid;grid-template-columns:190px minmax(0,1fr);min-height:190px;overflow:hidden;border:1px solid rgba(24,32,28,.09);background:#fff}.game-card:nth-child(4n+1){background:#f0b375}.game-card:nth-child(4n+2){background:#b5dae2}.game-card:nth-child(4n+3){background:#ee9182}.game-card:nth-child(4n){background:#d3e96e}.game-card:hover{transform:translateY(-3px);box-shadow:0 15px 28px var(--shadow)}.cover-wrap{position:relative;width:190px;height:190px;overflow:hidden}.game-cover{width:100%;height:100%;object-fit:cover;background:#dce3dd}.store-flag{position:absolute;left:8px;bottom:8px;padding:4px 6px;color:#fff;background:rgba(24,32,28,.86);font:9px "DM Mono",monospace}.game-info{display:flex;min-width:0;flex-direction:column;padding:16px}.game-labels{display:flex;gap:6px}.game-labels span{padding:3px 6px;border:1px solid rgba(24,32,28,.3);font:9px "DM Mono",monospace}.game-info h2{margin:17px 0 6px;overflow-wrap:anywhere;font-size:20px;line-height:1.2}.game-identifiers{margin:0;color:rgba(24,32,28,.62);font:9px "DM Mono",monospace}.game-price{display:flex;align-items:center;gap:8px;margin-top:11px}.game-price strong{font-size:12px}.game-price span{font:500 10px "DM Mono",monospace}.game-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:12px;border-top:1px solid rgba(24,32,28,.19)}.claim-button{min-height:34px;padding:0 11px;border:1px solid var(--ink);color:#fff;background:var(--ink);cursor:pointer;font-size:10px;font-weight:800}.claim-button:hover{background:var(--green-dark);border-color:var(--green-dark)}.claim-button.launched{color:var(--ink);background:transparent}.claim-button[disabled]{opacity:.58;cursor:wait}.detail-link{font-size:10px;color:rgba(24,32,28,.7)}.detail-link:hover{color:var(--ink)}
.empty-state{display:grid;place-items:center;gap:6px;min-height:250px;border:1px dashed var(--line);color:var(--muted)}.empty-state strong{color:var(--ink);font-size:17px}.empty-state span{font-size:12px}.activity-section{margin-top:64px;border-top:1px solid var(--line)}.activity-section>header{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:27px 0 18px}.activity-section h2{margin:0;font-size:26px}.activity-section>header>span{color:var(--muted);font-size:10px}.claim-history{border-top:1px solid var(--line)}.history-row{display:grid;grid-template-columns:80px minmax(180px,1fr) 130px 130px;align-items:center;gap:14px;min-height:52px;border-bottom:1px solid var(--line);font-size:11px}.history-row>span,.history-row time{color:var(--muted)}.history-store{font:500 10px "DM Mono",monospace}.history-empty{padding:34px 0;color:var(--muted);font-size:12px}
.toast{position:fixed;right:22px;bottom:22px;z-index:15;max-width:360px;padding:13px 16px;color:#fff;background:var(--ink);box-shadow:0 12px 30px var(--shadow);font-size:12px}.toast[data-tone="success"]{background:var(--green-dark)}.toast[data-tone="error"]{background:var(--danger)}.footer{display:flex;justify-content:space-between;max-width:1320px;margin:0 auto;padding:22px max(24px,5vw) 28px;border-top:1px solid var(--line);color:var(--muted);font:9px "DM Mono",monospace}
body::after{content:"";position:fixed;z-index:0;right:clamp(18px,5vw,76px);bottom:clamp(18px,5vw,58px);width:104px;aspect-ratio:1;border:2px solid rgba(41,39,34,.18);border-radius:50%;opacity:.2;pointer-events:none;background:radial-gradient(circle at 50% 25%,var(--paper) 0 9%,var(--ink) 10% 24%,transparent 25%),radial-gradient(circle at 50% 75%,var(--ink) 0 9%,var(--paper) 10% 24%,transparent 25%),linear-gradient(90deg,var(--paper) 0 50%,var(--ink) 50%);box-shadow:0 0 0 8px rgba(185,75,61,.07),0 0 0 14px rgba(98,147,164,.05)}
.topbar,.login-view,.workspace,.footer,.admin-body>main,.admin-app{position:relative;z-index:1}

@media(max-width:960px){.topbar{grid-template-columns:1fr auto}.topbar-status{display:none}.login-view{grid-template-columns:1fr;padding-top:52px}.login-copy h1{font-size:58px}.login-visual{max-width:640px;width:100%}.workspace-heading{align-items:start;flex-direction:column}.game-grid{grid-template-columns:1fr}.summary-strip{width:100%;grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.topbar{padding:0 18px}.account-name{display:none}.steam-login.compact{font-size:10px}.login-view,.workspace{padding-left:18px;padding-right:18px}.login-view{min-height:0;padding-top:48px;padding-bottom:64px}.login-copy h1{font-size:48px}.login-lead{font-size:16px}.login-visual{min-height:320px}.visual-center{width:124px;height:124px}.visual-center strong{font-size:39px}.login-metrics div{padding:12px 9px}.workspace{padding-top:38px}.workspace-heading h1{font-size:34px}.summary-strip div{padding:11px}.summary-strip strong{font-size:20px}.toolbar{align-items:stretch;flex-direction:column}.search{min-width:0}.game-card{grid-template-columns:120px minmax(0,1fr);min-height:164px}.cover-wrap{width:120px;height:164px}.game-info{padding:12px}.game-info h2{margin-top:12px;font-size:16px}.game-labels span:nth-child(2){display:none}.game-price{margin-top:8px}.game-actions{align-items:start;flex-direction:column-reverse;gap:7px}.claim-button{width:100%}.history-row{grid-template-columns:60px minmax(0,1fr) 100px}.history-row>span:nth-of-type(2){display:none}.history-row time{font-size:9px}.activity-section>header>span{display:none}.footer{align-items:flex-start;flex-direction:column;gap:8px;padding-left:18px;padding-right:18px}}

.tabs{gap:17px}.tab span{margin-left:3px;color:var(--green);font:500 9px "DM Mono",monospace}.game-labels{flex-wrap:wrap}.game-labels .availability{margin-left:auto}.game-labels .availability.available{color:#fff;border-color:var(--green-dark);background:var(--green-dark)}.history-row{grid-template-columns:70px minmax(180px,1fr) 110px 100px 130px}.history-status{color:var(--green)!important;font-weight:700}
@media(max-width:620px){.tabs{gap:13px}.game-labels .availability{display:inline-block;margin-left:0}.history-row{grid-template-columns:55px minmax(0,1fr) 92px}.history-row>span:nth-of-type(2),.history-row .history-status{display:none}}

.batch-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}.binding-state{display:flex;align-items:center;gap:10px;min-width:0;padding:0;border:0;color:var(--ink);background:transparent;text-align:left;cursor:pointer}.binding-state>span:first-child{width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:var(--coral);box-shadow:0 0 0 4px rgba(235,128,111,.14)}.binding-state>span:first-child.ready{background:var(--lime);box-shadow:0 0 0 4px rgba(202,227,74,.2)}.binding-state>span:last-child{display:grid;gap:2px}.binding-state strong{font-size:11px}.binding-state small{color:var(--muted);font-size:10px}.batch-claim{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:0 15px;border:1px solid var(--ink);color:#fff;background:var(--ink);cursor:pointer;font-size:11px;font-weight:800}.batch-claim:hover{border-color:var(--green-dark);background:var(--green-dark)}.batch-claim:disabled{opacity:.45;cursor:not-allowed}.batch-claim span{font:500 10px "DM Mono",monospace;color:var(--lime)}
.batch-dialog{width:min(720px,calc(100vw - 32px));max-height:min(760px,calc(100dvh - 32px));padding:0;border:1px solid var(--line);border-radius:4px;color:var(--ink);background:var(--paper);box-shadow:0 28px 80px rgba(24,32,28,.24)}.batch-dialog::backdrop{background:rgba(24,32,28,.56)}.batch-dialog-head{display:flex;align-items:start;justify-content:space-between;gap:20px;padding:22px 24px;border-bottom:1px solid var(--line)}.batch-dialog-head h2{margin:0;font-size:25px}.batch-dialog-head .eyebrow{margin-bottom:8px}.extension-install{padding:28px 24px}.extension-install>strong{font-size:18px}.extension-install>p{max-width:560px;margin:8px 0 19px;color:var(--muted);font-size:12px}.extension-install>div{display:flex;align-items:center;gap:16px}.extension-install>div>a:last-child{color:var(--green);font-size:11px;font-weight:700}.extension-install ol{display:grid;gap:7px;margin:23px 0 0;padding-left:20px;color:var(--muted);font-size:11px}.batch-progress{padding:22px 24px 26px}.batch-progress-line{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:11px}.batch-progress-line span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.batch-progress-line strong{font:500 11px "DM Mono",monospace}.batch-progress progress{width:100%;height:7px;margin:12px 0 18px;border:0;background:#e2e7e3}.batch-progress progress::-webkit-progress-bar{background:#e2e7e3}.batch-progress progress::-webkit-progress-value{background:var(--green)}.batch-summary{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.batch-summary div{padding:12px;border-right:1px solid var(--line)}.batch-summary div:last-child{border:0}.batch-summary span{display:block;color:var(--muted);font-size:9px}.batch-summary strong{display:block;margin-top:3px;font:500 20px "DM Mono",monospace}.batch-results{max-height:360px;overflow:auto}.batch-result{display:grid;grid-template-columns:82px minmax(160px,1fr) minmax(110px,180px);align-items:center;gap:12px;min-height:47px;border-bottom:1px solid var(--line);font-size:10px}.batch-result>span{color:var(--muted);font-weight:700}.batch-result.claimed>span,.batch-result.already_owned>span{color:var(--green)}.batch-result.failed>span,.batch-result.login_required>span,.batch-result.rate_limited>span{color:var(--danger)}.batch-result small{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.history-status.failed,.history-status.login_required,.history-status.rate_limited{color:var(--danger)!important}.history-status.unsupported{color:var(--muted)!important}
@media(max-width:620px){.batch-bar{align-items:stretch;flex-direction:column}.batch-claim{width:100%}.batch-dialog-head,.batch-progress,.extension-install{padding-left:18px;padding-right:18px}.extension-install>div{align-items:stretch;flex-direction:column}.batch-result{grid-template-columns:72px minmax(0,1fr)}.batch-result small{display:none}.batch-summary div{padding:10px}.batch-summary strong{font-size:17px}}
.bind-dialog{width:min(560px,calc(100vw - 32px))}.bind-panel,.bound-panel{padding:22px 24px 26px}.bind-tabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:22px;border:1px solid var(--line)}.bind-tab{min-height:40px;border:0;color:var(--muted);background:transparent;cursor:pointer;font-size:11px;font-weight:800}.bind-tab+ .bind-tab{border-left:1px solid var(--line)}.bind-tab.active{color:#fff;background:var(--ink)}.bind-pane{display:grid;justify-items:center;gap:14px}.qr-stage{display:grid;width:232px;height:232px;place-items:center;border:1px solid var(--line);background:#fff}.qr-stage img{width:218px;height:218px}.qr-stage img[hidden],.qr-stage div[hidden]{display:none}.qr-stage div{display:grid;place-items:center;color:var(--muted)}.qr-stage div span{font:700 52px "DM Mono",monospace}.qr-stage div small{font:500 9px "DM Mono",monospace}.bind-attempt-status{min-height:18px;margin:0;color:var(--muted);font-size:11px;text-align:center}.steam-form{display:grid;width:100%;gap:14px}.steam-form label{display:grid;gap:7px;color:var(--muted);font-size:10px}.steam-form input{width:100%;height:42px;padding:0 12px;border:1px solid var(--line);border-radius:0;color:var(--ink);background:#fff;font:12px "DM Mono",monospace;outline:0}.steam-form input:focus{border-color:var(--green)}.steam-form .batch-claim{width:100%}.guard-form{padding-top:17px;border-top:1px solid var(--line)}.privacy-note{margin:20px 0 0;padding-top:15px;border-top:1px solid var(--line);color:var(--muted);font-size:10px;line-height:1.6}.bound-account{display:flex;align-items:center;gap:13px;padding-bottom:20px;border-bottom:1px solid var(--line)}.bound-account>span{display:grid;width:38px;height:38px;place-items:center;color:var(--ink);background:var(--lime);font-size:18px}.bound-account div{display:grid;gap:4px}.bound-account strong{font-size:15px}.bound-account small{color:var(--muted);font:9px "DM Mono",monospace}.bound-meta{display:grid;grid-template-columns:1fr 1fr;margin:0 0 22px;border-bottom:1px solid var(--line)}.bound-meta div{padding:16px 0}.bound-meta div+div{padding-left:18px;border-left:1px solid var(--line)}.bound-meta dt{color:var(--muted);font-size:9px}.bound-meta dd{margin:5px 0 0;font-size:10px}.danger-command{min-height:36px;padding:0 13px;border:1px solid #d7a59c;color:var(--danger);background:transparent;cursor:pointer;font-size:10px;font-weight:800}.danger-command:hover{color:#fff;background:var(--danger)}
@media(max-width:620px){.bind-panel,.bound-panel{padding-left:18px;padding-right:18px}.qr-stage{width:210px;height:210px}.qr-stage img{width:198px;height:198px}.bound-meta{grid-template-columns:1fr}.bound-meta div+div{padding-left:0;border-top:1px solid var(--line);border-left:0}}

.batch-summary{grid-template-columns:repeat(4,1fr)}

.selection-controls{display:flex;align-items:center;justify-content:flex-end;gap:9px;min-width:0}.select-visible{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 10px;border:2px solid var(--ink);background:#fff;cursor:pointer;font-size:10px;font-weight:800;white-space:nowrap;box-shadow:3px 3px 0 var(--ink)}.select-visible:has(input:disabled){opacity:.45;cursor:not-allowed}.select-visible input,.game-select input{width:17px;height:17px;margin:0;accent-color:var(--green-dark);cursor:pointer}.clear-selection{min-height:38px;padding:0 11px;border:2px solid var(--ink);color:var(--ink);background:transparent;cursor:pointer;font-size:10px;font-weight:800}.clear-selection:hover:not(:disabled){color:#fff;background:var(--ink)}.clear-selection:disabled{opacity:.4;cursor:not-allowed}.game-card.selected{outline:4px solid var(--green-dark);outline-offset:-4px;box-shadow:9px 10px 0 var(--ink)}.game-select{position:absolute;z-index:2;top:9px;right:9px;display:grid;width:34px;height:34px;place-items:center;border:2px solid var(--ink);background:#fff;box-shadow:3px 3px 0 var(--ink);cursor:pointer}.game-select input{position:absolute;opacity:0}.game-select span{display:grid;width:18px;height:18px;place-items:center;border:2px solid var(--ink);background:#fff}.game-select input:checked+span{background:var(--lime)}.game-select input:checked+span::after{content:"✓";font-size:13px;font-weight:900;line-height:1}.game-select:has(input:focus-visible){outline:3px solid #fff;outline-offset:2px}.game-select:has(input:disabled){opacity:.5;cursor:not-allowed}
@media(max-width:760px){.selection-controls{display:grid;grid-template-columns:1fr auto;width:100%}.select-visible{justify-content:center}.selection-controls .batch-claim{grid-column:1/-1;width:100%}}

.bound-meta{grid-template-columns:repeat(3,1fr)}

.platform-switch{position:sticky;top:72px;z-index:9;display:flex;justify-content:center;gap:0;border-bottom:1px solid var(--line);background:rgba(246,240,221,.94);backdrop-filter:blur(10px)}
.platform-tab{min-height:42px;padding:0 22px;border:0;border-bottom:3px solid transparent;color:var(--muted);background:transparent;cursor:pointer;font-size:11px;font-weight:800}.platform-tab.active{border-color:var(--coral);color:var(--ink)}
.cf-workspace{padding-top:44px}.cf-auth-band{display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(360px,1.5fr);align-items:center;gap:26px;padding:20px 0;border-bottom:1px solid var(--line)}
.cf-auth-state{display:flex;align-items:center;gap:11px}.cf-auth-state>div{display:grid;gap:3px}.cf-auth-state strong{font-size:12px}.cf-auth-state small{color:var(--muted);font-size:10px}.cf-auth-dot{width:10px;height:10px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 4px rgba(185,75,61,.13)}.cf-auth-dot.ready{background:var(--green);box-shadow:0 0 0 4px rgba(63,117,88,.14)}
.cf-qr-panel{display:flex;align-items:center;gap:13px}.compact-qr{width:124px;height:124px}.compact-qr img{width:112px;height:112px}.compact-qr div span{font-size:22px}.cf-role-panel{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:10px}.cf-role-panel label{display:grid;gap:6px;color:var(--muted);font-size:9px}.cf-role-panel select{height:38px;min-width:0;padding:0 9px;border:1px solid var(--line);color:var(--ink);background:#fff;font-size:10px}
.cf-toolbar .cf-filter{padding:7px 0;border:0;border-bottom:2px solid transparent;color:var(--muted);background:transparent;cursor:pointer;font-size:12px;font-weight:700}.cf-toolbar .cf-filter.active{border-color:var(--green);color:var(--ink)}
.cf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.cf-card{display:grid;grid-template-rows:150px 1fr;min-height:340px;overflow:hidden;border:1px solid rgba(41,39,34,.34);background:rgba(255,253,246,.88);box-shadow:0 12px 28px rgba(74,62,42,.11)}.cf-card.selected{outline:3px solid var(--green);outline-offset:-3px}.cf-cover{display:grid;place-items:center;overflow:hidden;color:#fff;background:var(--green);font:800 34px "DM Mono",monospace}.cf-cover img{width:100%;height:100%;object-fit:cover}.cf-card-body{display:flex;min-width:0;flex-direction:column;padding:15px}.cf-card-body h2{margin:13px 0 7px;overflow-wrap:anywhere;font-size:17px;line-height:1.28}.cf-card-body p{display:-webkit-box;overflow:hidden;margin:0;color:var(--muted);font-size:10px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:3}.cf-card-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px}.cf-card-actions .select-visible{min-height:34px;box-shadow:none}.game-labels .supported{color:#fff;border-color:var(--green);background:var(--green)}
.cf-history-row{grid-template-columns:90px minmax(180px,1fr) minmax(180px,1.2fr) 150px}.history-status.risk_control,.history-status.failed{color:var(--danger)!important}.history-status.checked{color:var(--muted)!important}
@media(max-width:980px){.cf-auth-band{grid-template-columns:1fr}.cf-role-panel{grid-template-columns:1fr 1fr auto}.cf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.platform-switch{top:72px}.platform-tab{flex:1;padding:0 10px}.cf-workspace{padding-top:32px}.cf-role-panel{grid-template-columns:1fr}.cf-grid{grid-template-columns:1fr}.cf-card{grid-template-rows:140px 1fr;min-height:320px}.cf-toolbar .toolbar-tools{display:grid;width:100%;gap:12px}.cf-history-row{grid-template-columns:80px minmax(0,1fr)}.cf-history-row>span:nth-of-type(2),.cf-history-row time{display:none}}

/* Monochrome Chinese ink-wash theme */
:root{--ink:#292722;--muted:#70695e;--paper:#f6f0dd;--surface:rgba(255,253,246,.88);--line:rgba(57,53,46,.3);--green:#3f7558;--green-dark:#275a42;--lime:#d5b83f;--coral:#b94b3d;--sky:#6293a4;--amber:#d08d38;--danger:#a63c32;--shadow:rgba(55,48,37,.17)}
body{background-color:var(--paper);background-image:radial-gradient(ellipse at 3% 7%,rgba(185,75,61,.16),transparent 25%),radial-gradient(ellipse at 97% 12%,rgba(67,125,148,.17),transparent 27%),radial-gradient(ellipse at 12% 88%,rgba(63,117,88,.14),transparent 26%),radial-gradient(ellipse at 91% 82%,rgba(208,141,56,.14),transparent 24%),repeating-linear-gradient(7deg,rgba(73,64,48,.025) 0 1px,transparent 1px 8px)}
.topbar{border-bottom:1px solid rgba(41,39,34,.65);background:rgba(246,240,221,.9);box-shadow:0 5px 18px rgba(74,62,42,.08)}
.brand-mark{border:3px double rgba(185,75,61,.92);border-radius:2px;color:var(--coral);background:rgba(255,253,246,.72);box-shadow:0 5px 16px rgba(74,62,42,.13);font-family:"STKaiti","KaiTi",serif;transform:rotate(-3deg)}
.brand-dot,.eyebrow,.tab span{color:var(--coral)}
.login-copy h1,.workspace-heading h1,.activity-section h2{font-family:"STKaiti","KaiTi","Microsoft YaHei",serif;font-weight:800}
.login-visual{border:1px solid rgba(41,39,34,.42);background:rgba(255,253,246,.68);box-shadow:0 20px 48px rgba(74,62,42,.15)}
.login-visual::before{content:"";position:absolute;inset:6% 5% 12%;background:radial-gradient(ellipse at 30% 42%,rgba(67,125,148,.35),transparent 48%),radial-gradient(ellipse at 70% 54%,rgba(185,75,61,.3),transparent 48%),radial-gradient(ellipse at 51% 72%,rgba(63,117,88,.28),transparent 50%);filter:blur(3px)}
.visual-grid{display:none}.visual-center{border:3px double rgba(41,39,34,.62);border-radius:48% 52% 45% 55%;background:radial-gradient(ellipse at 38% 35%,rgba(216,179,72,.48),transparent 48%),rgba(185,75,61,.84);box-shadow:0 16px 36px rgba(74,62,42,.18);font-family:"STKaiti","KaiTi",serif}
.game-card{border:1px solid rgba(41,39,34,.42);background:rgba(255,253,246,.86);box-shadow:0 14px 34px rgba(74,62,42,.13);backdrop-filter:blur(5px)}
.game-card:nth-child(4n+1){background:radial-gradient(ellipse at 18% 18%,rgba(226,183,104,.46),transparent 52%),rgba(255,253,246,.88)}.game-card:nth-child(4n+2){background:radial-gradient(ellipse at 82% 16%,rgba(132,177,190,.42),transparent 54%),rgba(255,253,246,.88)}.game-card:nth-child(4n+3){background:radial-gradient(ellipse at 16% 84%,rgba(198,112,100,.38),transparent 52%),rgba(255,253,246,.88)}.game-card:nth-child(4n){background:radial-gradient(ellipse at 84% 82%,rgba(132,170,126,.4),transparent 54%),rgba(255,253,246,.88)}
.game-card:hover{box-shadow:0 20px 44px rgba(74,62,42,.17)}.game-cover{image-rendering:auto;filter:saturate(.82) contrast(.96)}
.game-labels span,.region-badge,.claim-button,.batch-claim,.steam-login,.select-visible,.clear-selection,.game-select{border-width:1px;box-shadow:0 5px 14px rgba(74,62,42,.13)}
.claim-button:hover,.batch-claim:hover,.steam-login:hover{transform:translateY(-1px);box-shadow:0 9px 20px rgba(74,62,42,.16)}
.batch-dialog,.bind-dialog{background:rgba(255,253,246,.94);backdrop-filter:blur(7px)}
.toast{background:rgba(41,39,34,.94)}

/* Monochrome Chinese ink and taiji finish. */
:root { --paper:#f2f0ea; --surface:rgba(255,253,246,.9); --line:rgba(41,39,34,.25); --ink:#24231f; --muted:#716e67; --green:#4a4843; --green-dark:#292824; --lime:#bcb7ac; --coral:#68645d; --sky:#aaa69d; --amber:#8f8a81; --danger:#4c4943; }
body { background-color:var(--paper); background-image:radial-gradient(ellipse at 5% 9%,rgba(41,39,34,.12),transparent 27%),radial-gradient(ellipse at 95% 12%,rgba(125,121,112,.12),transparent 29%),repeating-linear-gradient(8deg,rgba(41,39,34,.03) 0 1px,transparent 1px 8px); }
.login-visual::before { background:radial-gradient(ellipse at 30% 42%,rgba(41,39,34,.24),transparent 48%),radial-gradient(ellipse at 70% 54%,rgba(135,131,122,.2),transparent 48%),radial-gradient(ellipse at 51% 72%,rgba(80,77,71,.16),transparent 50%); }
.game-card,.game-card:nth-child(4n+1),.game-card:nth-child(4n+2),.game-card:nth-child(4n+3),.game-card:nth-child(4n) { background:rgba(255,253,246,.84); }
.game-cover { filter:grayscale(1) contrast(.96); }

/* Cinematic monochrome ink landscape. */
body { background-attachment:fixed; background-image:linear-gradient(rgba(244,243,238,.76),rgba(244,243,238,.9)),url("/game/bb-ink-landscape.png"); background-position:center top; background-size:cover; }
.login-page,.workspace { position:relative; isolation:isolate; background:transparent; }
.login-page::before,.workspace::before { content:""; position:absolute; inset:0; z-index:-1; min-height:680px; background:linear-gradient(90deg,rgba(245,244,239,.82),rgba(245,244,239,.36)),url("/game/bb-ink-landscape.png") center/cover no-repeat; }
.login-copy,.login-visual,.game-card,.cf-card,.cf-auth-band { background:rgba(250,249,245,.72)!important; backdrop-filter:blur(7px); }
.topbar,.platform-switch { background:rgba(242,241,236,.82); backdrop-filter:blur(12px); }
body::after { display:none; }
