:root{color-scheme:dark;--bg: #07080a;--panel: #0f1116;--panel-2: #14171d;--line: #23262e;--line-2: #2a2f3a;--text: #e6e9ef;--muted: #8b93a3;--dim: #6f7684;--yellow: #f2e900;--cyan: #00d9e0;--magenta: #ff2e88;--red: #ff4d4d;--green: #3ddc84}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Barlow,Arial,sans-serif}body{min-width:320px}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,select{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}input,select{color:var(--text);background:var(--panel-2);border:1px solid var(--line-2);outline:none}input:focus,select:focus{border-color:var(--cyan)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#0d0f13}::-webkit-scrollbar-thumb{background:#2a2f3a}::-webkit-scrollbar-thumb:hover{background:var(--yellow)}.app-shell{min-height:100vh;background:var(--bg)}.topbar{position:sticky;top:0;z-index:50;display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:13px 20px;background:#0d0f13;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;min-width:max-content}.brand-mark{width:34px;height:34px;display:grid;place-items:center;background:var(--yellow);color:#07080a;font:600 15px IBM Plex Mono,monospace;clip-path:polygon(0 0,100% 0,100% 70%,70% 100%,0 100%)}.brand strong{display:block;font:700 19px/1.05 Rajdhani,sans-serif;letter-spacing:.04em;text-transform:uppercase}.brand small{display:block;margin-top:2px;color:var(--dim);font:500 9.5px IBM Plex Mono,monospace;letter-spacing:.2em}.brand-large{margin-bottom:38px}.brand-large .brand-mark{width:44px;height:44px}.brand-large strong{font-size:24px}.set-box{display:flex;align-items:center;gap:9px;min-height:34px;padding:0 9px 0 11px;background:var(--panel-2);border:1px solid var(--line-2)}.set-box span{color:var(--dim);font:500 9px IBM Plex Mono,monospace;letter-spacing:.16em}.set-box select{max-width:310px;border:0;background:transparent;color:var(--text);font:600 14px Rajdhani,sans-serif}.top-spacer{flex:1}.save-state{display:flex;align-items:center;gap:8px;color:var(--green);font:500 10px IBM Plex Mono,monospace;letter-spacing:.1em}.save-state i{width:7px;height:7px;background:currentColor}.save-state.pending{color:var(--yellow)}.lang-switch,.segmented{display:flex;border:1px solid var(--line-2)}.lang-switch button,.segmented button{border:0;background:transparent;color:var(--muted);padding:7px 10px;font:500 10px IBM Plex Mono,monospace;letter-spacing:.08em}.lang-switch button.active,.segmented button.active{background:var(--yellow);color:#07080a}.segmented.wrap{flex-wrap:wrap;width:fit-content}.user-chip{display:flex;align-items:center;gap:9px;border-left:1px solid var(--line);padding-left:14px}.avatar{width:30px;height:30px;display:grid;place-items:center;background:var(--panel-2);border:1px solid var(--cyan);color:var(--cyan);font:500 12px IBM Plex Mono,monospace}.user-chip strong{display:block;font-size:13px}.user-chip small{color:var(--yellow);font:500 9px IBM Plex Mono,monospace;letter-spacing:.1em}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.stats-grid article{position:relative;padding:12px 20px 14px;background:#0b0d11}.stats-grid small{display:block;color:var(--dim);font:500 9px IBM Plex Mono,monospace;letter-spacing:.16em}.stats-grid strong{display:inline-block;margin-top:5px;color:var(--cyan);font:700 26px/1 Rajdhani,sans-serif}.stats-grid strong.yellow{color:var(--yellow)}.stats-grid strong.magenta{color:var(--magenta)}.stats-grid span{margin-left:8px;color:var(--muted);font:500 10px IBM Plex Mono,monospace}.meter{height:3px;margin-top:9px;background:#1c2027}.meter i{display:block;height:100%;background:var(--cyan)}.meter.green i{background:var(--green)}.meter.yellow i{background:var(--yellow)}.meter.magenta i{background:var(--magenta)}.tabs{display:flex;overflow-x:auto;gap:2px;padding:0 20px;background:#0d0f13;border-bottom:1px solid var(--line)}.tabs a{padding:11px 14px 10px;border-bottom:2px solid transparent;color:var(--muted);font:600 14px Rajdhani,sans-serif;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap}.tabs a:hover{color:var(--text)}.tabs a.active{color:var(--yellow);background:var(--panel-2);border-bottom-color:var(--yellow)}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:11px 20px;background:#0b0d11;border-bottom:1px solid var(--line)}.search-box{display:flex;align-items:center;gap:8px;min-width:210px;height:32px;padding:0 10px;background:var(--panel-2);border:1px solid var(--line-2)}.search-box span{color:var(--yellow);font-family:IBM Plex Mono,monospace}.search-box input{flex:1;min-width:0;border:0;background:transparent}.filter-btn,.rarity-chip{min-height:32px;border:1px solid var(--line-2);background:var(--panel-2);color:var(--muted);padding:0 10px}.filter-btn.active{border-color:var(--yellow);color:var(--yellow)}.rarity-chip{color:var(--rarity-color, var(--muted));font:500 9.5px IBM Plex Mono,monospace;letter-spacing:.06em}.rarity-chip.active{background:var(--rarity-color, var(--yellow));border-color:var(--rarity-color, var(--yellow));color:#07080a}.select-control{height:32px;padding:0 9px}.separator{width:1px;height:22px;background:var(--line-2)}.toolbar-spacer{flex:1}.toolbar-label,.sort-label{color:var(--dim);font:500 9px IBM Plex Mono,monospace;letter-spacing:.12em;white-space:nowrap}[data-rarity=COMMON]{--rarity-color: #d8dde7;color:#d8dde7}[data-rarity=UNCOMMON]{--rarity-color: #84e4ff;color:#84e4ff}[data-rarity=RARE]{--rarity-color: #f2e900;color:#f2e900}[data-rarity=EPIC_RARE]{--rarity-color: #ff8a35;color:#ff8a35}[data-rarity=SECRET_RARE]{--rarity-color: #ff2e88;color:#ff2e88}[data-rarity=ICONIC_RARE]{--rarity-color: #00d9e0;color:#00d9e0}[data-rarity=NOVA_RARE]{--rarity-color: #ffffff;color:#fff}.content{padding:15px 20px 64px}.narrow-page{max-width:920px;margin:0 auto}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:5px 0 15px}.page-heading h1,.detail-main h1{margin:0;font:700 28px Rajdhani,sans-serif;letter-spacing:.02em}.kicker,.section-title{color:var(--yellow);font:600 9.5px IBM Plex Mono,monospace;letter-spacing:.17em}.banner{display:flex;align-items:center;gap:13px;padding:10px 12px;margin-bottom:12px;background:var(--panel-2);border-left:3px solid var(--yellow)}.banner strong{color:var(--yellow);font:600 9.5px IBM Plex Mono,monospace;letter-spacing:.15em}.banner span{color:#b9c0cd;font-size:13px}.banner.cyan{border-left-color:var(--cyan)}.banner.cyan strong{color:var(--cyan)}.banner.magenta{border-left-color:var(--magenta)}.banner.magenta strong{color:var(--magenta)}.empty-state{display:flex;flex-direction:column;gap:7px;align-items:center;justify-content:center;min-height:250px;color:var(--dim);border:1px dashed var(--line-2);text-align:center}.empty-state strong{font:600 18px Rajdhani,sans-serif;letter-spacing:.06em}.card-list,.quick-list{display:flex;flex-direction:column;gap:5px}.card-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;min-height:96px;padding:8px 11px;background:var(--panel);border:1px solid #1c2027;border-left:3px solid var(--yellow)}.card-row.complete,.quick-row.complete,.card-tile.complete{border-left-color:var(--green)}.card-row.missing,.quick-row.missing,.card-tile.missing{border-left-color:var(--red)}.card-list.dense .card-row{min-height:58px}.thumb{width:52px;height:76px;display:grid;place-items:center;overflow:hidden;background:#121720;border:1px solid var(--line);color:var(--muted);font:500 8px IBM Plex Mono,monospace;text-align:center}.card-list.dense .thumb{width:30px;height:42px}.thumb img,.card-image-wrap img,.detail-art img,.variant-thumb img{width:100%;height:100%;object-fit:cover;display:block}.title-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:9px}.num{color:var(--muted);font:500 11px IBM Plex Mono,monospace}.card-name{color:#f0f3f8;font:600 17px Rajdhani,sans-serif}.card-name:hover{color:var(--yellow)}.lang-badge{padding:2px 5px;background:#1d2430;color:var(--cyan);font:500 8.5px IBM Plex Mono,monospace}.meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px;color:var(--muted);font-size:11.5px}.rarity-text{font:500 9.5px IBM Plex Mono,monospace;letter-spacing:.08em}.row-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:14px}.status-block{min-width:100px;text-align:right}.status-block strong{display:block;color:var(--yellow);font:500 9px IBM Plex Mono,monospace;letter-spacing:.08em}.complete .status-block strong{color:var(--green)}.missing .status-block strong{color:var(--red)}.status-block span{display:block;margin-top:3px;color:var(--dim);font:500 9.5px IBM Plex Mono,monospace}.qty-control{display:flex;align-items:center;gap:6px}.qty-control button{width:30px;height:30px;border:1px solid var(--line-2);background:var(--panel-2);color:var(--text);font:600 14px IBM Plex Mono,monospace}.qty-control button:hover{border-color:var(--yellow);color:var(--yellow)}.qty-control strong{min-width:52px;text-align:center;font:600 14px IBM Plex Mono,monospace}.qty-control.large strong{min-width:70px;font-size:24px}.qty-control.large button{width:38px;height:38px}.btn{border:1px solid var(--line-2);background:transparent;color:var(--muted);min-height:34px;padding:0 12px;font:600 10px IBM Plex Mono,monospace;letter-spacing:.08em}.btn:hover{color:var(--yellow);border-color:var(--yellow)}.btn.primary{background:var(--yellow);border-color:var(--yellow);color:#07080a}.btn.compact{min-height:30px;padding:0 9px;font-size:9px}.btn.wide{width:100%}.quick-row{display:grid;grid-template-columns:38px minmax(180px,1fr) 38px auto 72px;align-items:center;gap:12px;padding:5px 10px;background:var(--panel);border-left:3px solid var(--yellow)}.quick-row .card-name{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-qty{display:flex;border:1px solid var(--line-2)}.quick-qty button{min-width:32px;height:31px;border:0;border-right:1px solid var(--line-2);background:var(--panel-2);color:var(--muted);font:500 11px IBM Plex Mono,monospace}.quick-qty button:last-child{border-right:0}.quick-qty button.active{background:var(--yellow);color:#07080a}.ratio{text-align:right;color:var(--text);font:500 12px IBM Plex Mono,monospace}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:12px}.card-tile{overflow:hidden;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--yellow)}.card-image-wrap{position:relative;display:block;aspect-ratio:5/7;background:linear-gradient(145deg,#1a1f2b,#101319)}.art-placeholder{width:100%;height:100%;display:grid;place-items:center;color:var(--muted);font:500 10px/1.5 IBM Plex Mono,monospace;text-align:center}.art-placeholder.large{min-height:520px}.image-num,.image-rarity{position:absolute;top:7px;padding:2px 5px;background:#07080adb;font:500 9px IBM Plex Mono,monospace}.image-num{left:7px}.image-rarity{right:7px}.tile-body{display:flex;flex-direction:column;gap:8px;padding:10px}.tile-body .card-name{min-height:38px}.tile-status{display:flex;justify-content:space-between;color:var(--yellow);font:500 9px IBM Plex Mono,monospace}.tile-status span{color:var(--dim)}.detail-page{max-width:1260px;margin:0 auto}.back-link{display:inline-block;margin-bottom:12px;color:var(--muted);font:500 10px IBM Plex Mono,monospace}.back-link:hover{color:var(--yellow)}.detail-grid{display:grid;grid-template-columns:minmax(260px,380px) minmax(0,1fr);gap:20px;align-items:start}.detail-art{min-height:520px;background:var(--panel);border:1px solid var(--line);overflow:hidden}.detail-main{background:var(--panel);border:1px solid var(--line);padding:18px}.detail-heading{display:flex;justify-content:space-between;align-items:start;gap:14px;margin-top:7px}.detail-heading h1{display:inline;margin-left:8px}.detail-meta{display:flex;flex-wrap:wrap;gap:12px;margin:10px 0 14px;color:var(--muted);font-size:12px}.rules-box{padding:13px;background:#0b0d11;border-left:2px solid var(--cyan);color:#c5ccd8;line-height:1.5}.detail-section{padding-top:15px;margin-top:15px;border-top:1px solid var(--line)}.detail-section .section-title{margin-bottom:10px}.subtle{color:var(--dim);font-size:11.5px;line-height:1.45}.inline-setting{display:flex;align-items:center;gap:14px;margin:12px 0}.variants-panel{margin-top:16px;padding:16px;background:var(--panel);border:1px solid var(--line)}.variant-list{display:flex;flex-direction:column;gap:1px;background:var(--line)}.variant-row{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;padding:9px;background:var(--panel)}.variant-thumb{width:50px;height:70px;padding:0;border:1px solid var(--line-2);background:var(--panel-2);color:var(--muted)}.variant-info strong{display:block;font:600 14px Rajdhani,sans-serif}.variant-info span{color:var(--dim);font:500 9.5px IBM Plex Mono,monospace}.panel{background:var(--panel);border:1px solid var(--line)}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border-bottom:1px solid var(--line);font:700 14px Rajdhani,sans-serif;letter-spacing:.08em}.panel-body,.settings-panel{padding:15px}.settings-panel{display:flex;flex-direction:column;gap:15px}.settings-panel label:not(.toggle-row){display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,320px);gap:20px;align-items:center}.settings-panel select,.settings-panel input[type=number],.panel-body select{min-height:36px;padding:0 9px}.toggle-row{display:flex;justify-content:space-between;align-items:center;gap:20px}.toggle-row strong{display:block}.toggle-row small{display:block;margin-top:3px;color:var(--dim)}.toggle-row input{width:18px;height:18px;accent-color:var(--yellow)}.actions{display:flex;align-items:center;gap:12px;padding-top:10px;border-top:1px solid var(--line)}.success-text{color:var(--green);font:500 10px IBM Plex Mono,monospace}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(320px,1fr));gap:14px;align-items:start}.users-panel{grid-column:1/-1}.sync-summary{display:grid;grid-template-columns:1fr auto;gap:5px 12px;padding:13px}.sync-summary>span,.sync-summary small{color:var(--dim);font:500 9px IBM Plex Mono,monospace}.sync-summary>strong{color:var(--green)}.sync-counts{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;margin-top:5px}.sync-counts span{padding:4px 6px;background:var(--panel-2);color:var(--muted);font:500 9px IBM Plex Mono,monospace}.sync-summary pre{grid-column:1/-1;max-height:140px;overflow:auto;white-space:pre-wrap;color:#ff9d6e;background:#120d0d;padding:8px;font-size:9px}.error-text,.error-box{color:var(--red)!important}.history-list{border-top:1px solid var(--line)}.history-list>div{display:grid;grid-template-columns:1fr auto auto;gap:12px;padding:8px 12px;border-bottom:1px solid #1b1f26;color:var(--muted);font:500 9px IBM Plex Mono,monospace}.create-user{display:grid;grid-template-columns:1fr 1fr 120px auto;gap:8px;padding:12px;border-bottom:1px solid var(--line)}.create-user input,.create-user select{min-height:34px;padding:0 8px}.user-list article{display:grid;grid-template-columns:minmax(180px,1fr) 110px 84px auto;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid #1b1f26}.user-list strong{display:block}.user-list small{color:var(--dim)}.user-list select{min-height:30px;padding:0 5px}.state-button{border:0;background:transparent;color:var(--green);font:500 9px IBM Plex Mono,monospace}.state-button.off{color:var(--dim)}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 20%,#12202b 0,transparent 33%),radial-gradient(circle at 80% 80%,#24111b 0,transparent 30%),var(--bg)}.login-panel{width:min(430px,100%);padding:24px;background:#0f1116f5;border:1px solid var(--line-2);box-shadow:0 30px 80px #00000059}.login-panel h1{margin:5px 0 20px;font:700 32px Rajdhani,sans-serif}.login-panel form{display:flex;flex-direction:column;gap:14px}.login-panel label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:12px}.login-panel input{min-height:40px;padding:0 10px}.error-box{padding:9px;border:1px solid #522;background:#160d0d;font-size:12px}@media(max-width:980px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.set-box{order:3;width:100%}.set-box select{flex:1;max-width:none}.card-row{grid-template-columns:auto minmax(0,1fr)}.row-actions{grid-column:1/-1;justify-content:space-between;padding-top:7px;border-top:1px solid #1c2027}.quick-row{grid-template-columns:34px minmax(120px,1fr) 34px}.quick-qty{grid-column:1/-2}.ratio{grid-column:-2/-1}.detail-grid{grid-template-columns:300px minmax(0,1fr)}}@media(max-width:700px){.topbar{gap:10px;padding:10px 12px}.brand strong{font-size:16px}.brand small{font-size:8px}.save-state{display:none}.user-chip{margin-left:auto}.user-chip>div:last-child{display:none}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid article{padding:10px 12px}.stats-grid strong{font-size:21px}.tabs{padding:0 10px}.tabs a{padding:10px 11px;font-size:12px}.toolbar{padding:9px 10px}.search-box{width:100%}.toolbar-spacer,.sort-label,.toolbar-label,.separator{display:none}.content{padding:12px 10px 50px}.card-row{grid-template-columns:minmax(0,1fr)}.thumb{display:none}.row-actions{grid-column:1}.status-block{text-align:left;min-width:90px}.btn.ghost.compact{display:none}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tile-body{padding:8px}.tile-body .card-name{font-size:14px}.tile-status{font-size:8px}.quick-row{gap:7px;padding:6px 8px}.quick-qty{overflow-x:auto}.quick-qty button{min-width:40px}.detail-grid{grid-template-columns:1fr}.detail-art{min-height:0;max-width:420px;width:100%;margin:0 auto;aspect-ratio:5/7}.detail-main{padding:13px}.detail-heading{flex-direction:column}.variant-row{grid-template-columns:44px minmax(0,1fr)}.variant-thumb{width:42px;height:58px}.variant-row .qty-control{grid-column:1/-1;justify-content:flex-end}.settings-panel label:not(.toggle-row){grid-template-columns:1fr;gap:6px}.admin-grid{grid-template-columns:1fr}.users-panel{grid-column:auto}.create-user{grid-template-columns:1fr}.user-list article{grid-template-columns:1fr auto}.user-list select,.user-list .state-button{justify-self:end}}@media(max-width:430px){.card-grid{grid-template-columns:1fr}.stats-grid span{display:block;margin:3px 0 0}.topbar .btn{display:none}}
