:root{color-scheme:dark;--bg:#171d25;--surface:#202d3b;--muted:#95a6b7;--blue:#66c0f4;--text:#eef3f8;--border:#334353;font-family:Arial,Helvetica,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100svh;background:radial-gradient(ellipse at 48% 35%,#233b50 0%,#1b2838 40%,#171d25 85%);color:var(--text);display:flex;flex-direction:column}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--blue);outline-offset:4px}[hidden]{display:none!important}.topbar{height:84px;flex-shrink:0;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff09;background:#171d2580}.brand{display:flex;align-items:center;gap:12px}.brand-icon{width:32px;height:32px;display:grid;place-items:center;background:linear-gradient(135deg,#64bff2,#2780c4);border-radius:7px;font-size:28px;color:#11283b}.brand strong{font-size:27px;letter-spacing:1px}.brand-dot{color:var(--blue)}.brand-sub{margin-left:10px;padding-left:22px;border-left:1px solid var(--border);font-size:10px;letter-spacing:2px;color:var(--muted)}.guest-label{font-size:12px;color:var(--muted)}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#a3d179;margin-right:7px}.topbar #identity{display:flex;align-items:center;gap:10px;font-size:13px}#avatar{border-radius:4px;border:1px solid #66c0f480}#change{margin-left:10px;padding-left:18px;border-left:1px solid var(--border)}main{width:100%;flex:1;display:flex;flex-direction:column;justify-content:center;padding:28px 24px;position:relative}.welcome{width:min(100%,650px);margin:auto;text-align:center}.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:700;color:var(--blue);line-height:1.5}.welcome .eyebrow{display:flex;align-items:center;justify-content:center;gap:10px}.line{width:20px;height:1px;background:var(--blue)}h1{font-size:clamp(30px,3.5vw,48px);line-height:1.16;letter-spacing:-1.5px;margin:19px 0}h1 span{color:var(--blue)}.lead{color:#a9b7c5;font-size:16px;line-height:1.7;margin:0 0 30px}form{max-width:420px;margin:auto;text-align:left}form label{font-size:10px;letter-spacing:1.8px;color:#becbd7;font-weight:700;display:block;margin-bottom:10px}.input-wrap{background:#121c28;border:1px solid #3d5165;border-radius:5px;display:flex;align-items:center;padding:0 15px;gap:12px;box-shadow:inset 0 2px 6px #0002}.input-wrap span{color:var(--muted);font-size:20px}input:not([type=checkbox]){width:100%;height:50px;background:transparent;color:var(--text);border:0;min-width:0;font-size:14px}input::placeholder{color:#8191a2}.primary,.secondary{border:0;border-radius:4px;min-height:46px;display:flex;align-items:center;justify-content:center;gap:12px;font-size:14px;font-weight:600;padding:0 21px;transition:filter .15s,background .15s}.primary{background:linear-gradient(100deg,#3db6ef,#2078d1);box-shadow:0 4px 16px #07172640;color:white}.primary:hover{filter:brightness(1.15)}form .primary{width:100%;margin-top:12px;justify-content:space-between}.hint{font-size:11px;color:var(--muted);line-height:1.65;text-align:center;margin:15px 0}.text-button{border:0;background:none;color:var(--muted);padding:7px 0;font-size:12px}.text-button:hover{color:var(--blue)}.preview{margin-top:12px}.preview span{margin-left:5px}.picker{width:min(100%,1040px);margin:0 auto}.picker-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:22px}.picker h1{font-size:34px;margin:9px 0 0;letter-spacing:-1px}.library-count{color:var(--muted);font-size:12px;padding-bottom:5px}.filter-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:20px}.filter-label{font-size:9px;letter-spacing:1.7px;margin-right:8px;color:#93a5b7}.mode-group{display:flex;gap:4px}.chip{border:1px solid #3c4c5d;background:#243242;color:#b9c6d2;border-radius:4px;padding:8px 13px;font-size:12px;min-height:34px}.chip:hover{background:#31495e}.chip[aria-pressed=true]{background:#66c0f420;border-color:#66c0f480;color:#9bdbff}.separator{height:20px;width:1px;background:var(--border);margin:0 4px}#playable-label{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:4px}.game-card{display:grid;grid-template-columns:1.06fr 1fr;min-height:355px;background:linear-gradient(130deg,#243648,#1d2b39);border:1px solid #3c53666b;border-radius:8px;overflow:hidden;box-shadow:0 20px 65px #0003}.artwork{position:relative;min-height:355px;background:linear-gradient(130deg,#26435a,#142132);overflow:hidden}.artwork>img{position:absolute;width:100%;height:100%;object-fit:cover}.image-shade{position:absolute;inset:0;background:linear-gradient(0deg,#101c2ae0,transparent 55%)}.discovery{position:absolute;top:20px;left:20px;padding:8px 10px;border:1px solid #ffffff20;border-radius:3px;background:#17232ddb;font-size:9px;letter-spacing:1.3px;color:#d3e3cf}.art-caption{position:absolute;bottom:23px;left:24px;font-size:9px;letter-spacing:2px;color:#ffffffb0}.game-info{padding:30px;display:flex;flex-direction:column;align-items:flex-start}.game-info .eyebrow{font-size:9px;letter-spacing:2px;color:#91a5b7}h2{font-size:32px;letter-spacing:-.7px;line-height:1.15;margin:10px 0 14px}.badges{display:flex;gap:6px;flex-wrap:wrap}.badge{font-size:10px;padding:5px 8px;background:#ffffff08;border:1px solid #ffffff12;color:#bccbd8;border-radius:3px}.badge.deck-badge{color:#afd487;border-color:#a2cf7530;background:#a2cf7509}#description{font-size:12px;line-height:1.65;color:#a9b7c5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:16px 0}.reason{display:flex;align-items:flex-start;gap:9px;color:var(--blue);margin-top:auto}.reason p{font-size:12px;line-height:1.6;margin:0 0 17px;color:#b7cbdc}.actions{display:flex;width:100%;gap:10px}.actions .primary{flex:1}.secondary{background:#344658;color:#d9e4ed;border:1px solid #4b607055}.secondary:hover{background:#425b70}.dismiss{font-size:11px;align-self:center;margin:11px 0 -8px}.below-card{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:15px;font-size:11px;color:var(--muted)}.below-card .text-button{font-size:11px}.precision{font-size:10px;color:#8c9bab;text-align:center;margin:10px 0 0}.demo-notice{font-size:11px;color:#d8bf83;margin:-6px 0 12px}.empty{text-align:center;background:#182535;border:1px solid var(--border);border-radius:8px;padding:45px 25px}.empty p{color:var(--muted);font-size:14px;line-height:1.6}.empty .secondary{display:inline-flex;margin:10px 5px}.empty-icon{font-size:40px;color:var(--blue)}.loading{display:flex;align-items:center;justify-content:center;gap:12px;margin:20px 0;color:var(--blue);font-size:13px}.spinner{border:2px solid #66c0f430;border-top-color:var(--blue);border-radius:50%;width:19px;height:19px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error{max-width:600px;margin:15px auto 0;padding:12px 18px;border:1px solid #e3b77740;background:#302a25;color:#e8c691;border-radius:5px;font-size:13px;line-height:1.6;text-align:center}button:disabled{opacity:.5;cursor:wait}footer{flex-shrink:0;margin:0 5%;padding:22px 0;border-top:1px solid #ffffff0b;display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#8190a0}footer strong{font-size:11px;letter-spacing:1px;color:#9aabba}footer a{color:#bac8d4}footer a:hover{color:var(--blue)}.footer-divider{margin:0 12px;color:#566777}
@media(min-width:800px) and (max-height:780px){.topbar{height:64px}main{padding-top:18px;padding-bottom:18px}.game-card,.artwork{min-height:310px}.game-info{padding:23px}.picker-heading{margin-bottom:16px}footer{padding:16px 0}.welcome h1{font-size:39px}.lead{margin-bottom:22px}}
@media(max-width:700px){.topbar{height:64px;padding:0 20px}.brand-sub,.guest-label{display:none}.brand strong{font-size:23px}.brand-icon{width:28px;height:28px}main{padding:22px 18px}.welcome h1{font-size:34px}.lead{font-size:14px}.picker h1{font-size:27px}.picker-heading{display:block;margin-bottom:15px}.library-count{display:block;margin-top:9px;font-size:11px}.filter-bar{gap:6px;margin-bottom:14px}.filter-label{display:none}.chip{padding:7px 10px;font-size:11px}.separator{margin:0 1px}.game-card{grid-template-columns:1fr;min-height:0}.artwork{min-height:0;height:clamp(130px,22svh,210px)}.artwork>img{object-position:center 40%}.discovery{top:12px;left:14px;font-size:8px}.art-caption{display:none}.game-info{padding:20px}.game-info h2{font-size:27px;margin:8px 0 10px}#description{display:none}.reason{margin-top:14px}.reason p{margin-bottom:14px;font-size:11px}.below-card{flex-wrap:wrap;gap:3px 12px;margin-top:10px}.below-card>span{flex:1;font-size:10px}.precision{font-size:9px;line-height:1.5}.demo-notice{font-size:10px}.picker .eyebrow{font-size:8px}.game-info .eyebrow{font-size:9px}.primary,.secondary{min-height:43px;font-size:13px}footer{margin:0 20px;padding:15px 0;font-size:9px;flex-wrap:wrap}.footer-right{font-size:8px}.footer-divider{margin:0 7px}}
@media(max-width:400px){main{padding:16px 14px}.topbar{padding:0 14px}.picker h1{font-size:25px}.artwork{height:120px}.game-info{padding:16px}.chip{padding:6px 8px}.welcome h1{font-size:30px}.welcome .eyebrow{font-size:8px}.topbar #identity{gap:6px}#change{margin-left:3px;padding-left:8px}footer{justify-content:center;text-align:center}.footer-right{width:100%}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(max-width:700px) and (max-height:740px){.topbar{height:54px}main{padding:12px 14px}.picker-heading{margin-bottom:10px}.picker h1{font-size:23px;letter-spacing:-.8px;margin-top:5px}.library-count{margin-top:6px}.filter-bar{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-bottom:10px}.mode-group{display:contents}.separator{display:none}.chip{font-size:10px;padding:6px 3px;white-space:nowrap;min-height:31px}#playable-label{grid-column:1/-1}.artwork{height:90px}.game-info{padding:13px 16px}.game-info h2{font-size:24px;margin:6px 0 8px}.badge{padding:4px 6px}.reason{margin-top:10px}.reason p{margin-bottom:10px}.dismiss{margin-top:5px}.below-card{margin-top:6px}.precision{margin-top:5px;font-size:8px}.demo-notice{margin:0 0 8px;font-size:9px}footer{padding:10px 0;gap:5px}.welcome h1{font-size:30px}.welcome .lead{margin-bottom:20px}}

.brand-icon svg{display:block;width:100%;height:100%}.privacy-link{font-size:10px;padding:0}dialog{width:min(520px,calc(100% - 32px));max-height:85svh;border:1px solid var(--border);border-radius:8px;background:#1d2b39;color:var(--text);padding:26px;box-shadow:0 20px 80px #0007}dialog::backdrop{background:#080f19b8}dialog h2{font-size:25px}dialog p{font-size:13px;line-height:1.65;color:#becbd7}dialog .secondary{margin-top:20px}@media(max-width:700px){.privacy-link{font-size:9px}footer{align-items:center;justify-content:center}.footer-right{width:auto}}

.community-tags{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:8px}.community-tag{color:#a6cce3;background:#66c0f40a}.tags-more{font-size:10px;padding:3px}.deck-filter-label{white-space:normal}@media(max-width:700px) and (max-height:740px){#deck{font-size:9px;line-height:1.1;display:flex;align-items:center;gap:2px}.community-tags{margin-top:5px;gap:4px}.community-tag{font-size:9px;padding:3px 5px}}
@media(max-width:700px) and (max-height:740px){.artwork{height:65px}.game-info{padding:11px 14px}.game-info h2{font-size:22px}.community-tags{column-gap:4px;row-gap:3px}}
