:root{--bg0: #08081a;--bg1: #0e0f26;--bg2: #151732;--bg3: #1c1f40;--text1: #f2f2ff;--text2: #a4a6d6;--text3: #7e7faa;--text4: #5d5f8e;--border-divider: #8a8cf822;--border-card: #8a8cf82e;--border-strong: #8a8cf83a;--accent-ui: #818cf8;--accent-obscurity: #2dd4bf;--accent-owned: #4ade80;--accent-velocity: #fbbf24;--accent-steam: #38bdf8;--accent-missing: #f87171;--steam-hi: #66c0f4;--steam-g1: #1b2838;--steam-g2: #2a475e;--r-chip: 4px;--r-control: 6px;--r-card: 10px;--r-page: 16px;--shadow-overlay: 0 16px 48px #00000073;--shadow-lift: 0 6px 18px #00000059;--fs-micro: 10px;--fs-small: 11px;--fs-body: 12px;--fs-base: 13px;--fs-lead: 15px;--fs-title: 19px;--fs-hero: 26px;--fs-display: 34px;--motion: .12s cubic-bezier(.2,.7,.3,1)}.gb-card,.gb-row{background:var(--bg2);border:1px solid var(--border-card);overflow:hidden;cursor:pointer;transition:transform var(--motion),background .12s linear,border-color .12s linear,box-shadow var(--motion)}.gb-card{border-radius:var(--r-card)}.gb-row{border-radius:var(--r-control)}.gb-card:hover,.gb-row:hover{background:var(--bg3);border-color:var(--border-strong)}.gb-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift)}.gb-card:focus-visible,.gb-row:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg0),0 0 0 4px var(--accent-ui)}.gb-zoom{transition:transform var(--motion)}.gb-card:hover .gb-zoom{transform:scale(1.04)}.gb-meta{font-size:var(--fs-small);font-weight:500;color:var(--text3);transition:color .12s linear}.gb-card:hover .gb-meta,.gb-row:hover .gb-meta{color:var(--text2)}.gb-tag{font-size:var(--fs-micro);font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:var(--r-chip);background:#8a8cf81f;color:var(--text2);white-space:nowrap}.gb-tag--dim{color:var(--text3)}.gb-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 8px;border-radius:var(--r-control);background:var(--bg2);border:1px solid var(--border-card);font-size:var(--fs-body);color:var(--text2)}.gb-badge{position:absolute;top:8px;left:8px;font-size:var(--fs-micro);font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:3px 6px;border-radius:var(--r-chip);background:#0b0c1eee;border:1px solid color-mix(in srgb,var(--badge-accent, var(--accent-ui)) 55%,transparent);color:var(--badge-accent, var(--accent-ui))}.gb-band-title{font-size:var(--fs-lead);font-weight:600;color:var(--text1);border-bottom:2px solid var(--band-accent, var(--accent-ui));padding-bottom:3px}.gb-panel{--row-scrim: var(--bg1);background:var(--bg1);border:1px solid var(--border-divider);border-radius:var(--r-page);padding:16px}.gb-shelf{position:relative}.gb-shelf-arrow{position:absolute;top:0;bottom:7px;width:64px;border:none;padding:0;cursor:pointer;z-index:2;display:flex;align-items:center;pointer-events:none;color:var(--text1);transition:opacity .12s linear}.gb-shelf-arrow--right{right:0;justify-content:flex-end;background:linear-gradient(to right,transparent,var(--row-scrim, var(--bg0)) 62%)}.gb-shelf-arrow--left{left:0;justify-content:flex-start;background:linear-gradient(to left,transparent,var(--row-scrim, var(--bg0)) 62%)}.gb-shelf-arrow i{pointer-events:auto;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;font-style:normal;font-size:17px;line-height:1;padding-bottom:2px;background:var(--bg2);border:1px solid var(--border-strong);box-shadow:var(--shadow-lift);transition:background .12s linear,border-color .12s linear,transform var(--motion)}.gb-shelf-arrow--right i{margin-right:4px}.gb-shelf-arrow--left i{margin-left:4px}.gb-shelf-arrow:hover i{background:var(--bg3);border-color:var(--accent-ui);transform:scale(1.08)}.gb-shelf-arrow:focus-visible{outline:none}.gb-shelf-arrow:focus-visible i{border-color:var(--accent-ui);box-shadow:var(--shadow-lift),0 0 0 2px var(--bg0),0 0 0 4px var(--accent-ui)}.gb-shelf-arrow[disabled]{cursor:default}.gb-shelf-arrow[disabled] i{opacity:.55}.gb-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--r-control);font-weight:600;cursor:pointer;font-size:var(--fs-base);border:1px solid transparent;transition:filter .12s linear,background .12s linear}.gb-btn:hover{filter:brightness(1.08)}.gb-btn--primary{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;box-shadow:0 4px 18px #4f46e555}.gb-btn--steam{background:linear-gradient(90deg,var(--steam-g1),var(--steam-g2));border-color:#66c0f455;color:var(--steam-hi)}.gb-btn--quiet{background:transparent;border-color:var(--border-strong);color:var(--text2)}.gb-vibe{padding:9px 15px;border-radius:20px;font-size:var(--fs-body);font-weight:600;cursor:pointer;background:var(--bg2);border:1px solid var(--border-strong);color:var(--text2);transition:background .12s linear,border-color .12s linear,box-shadow var(--motion)}.gb-vibe:hover{border-color:var(--accent-ui)}.gb-vibe.is-on{background:#818cf81f;border-color:var(--accent-ui);color:#a5b4fc;box-shadow:0 0 0 3px #818cf818}.gb-option{display:flex;align-items:center;gap:13px;width:100%;text-align:left;padding:15px 16px;margin-bottom:9px;border-radius:11px;cursor:pointer;background:var(--bg2);border:1px solid var(--border-strong);transition:background .12s linear,border-color .12s linear,box-shadow var(--motion)}.gb-option:hover{border-color:var(--accent-ui)}.gb-option.is-on{background:#818cf81a;border-color:var(--accent-ui);box-shadow:0 0 0 3px #818cf818}.gb-option .gb-chev{color:var(--text4);transition:color .12s linear}.gb-option:hover .gb-chev,.gb-option.is-on .gb-chev{color:var(--accent-ui)}.gb-tile{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:8px 10px;border-radius:var(--r-card);cursor:pointer;background:var(--bg2);border:1px solid var(--border-card);color:var(--text1);transition:background .12s linear,border-color .12s linear}.gb-tile:hover{border-color:var(--accent-ui);background:var(--bg3)}.gb-tile.is-on{background:#818cf816;border-color:var(--accent-ui)}.gb-tile:disabled{opacity:.6;cursor:default}.gb-tile:hover .gb-meta{color:var(--text2)}.gb-eyebrow{font-size:var(--fs-micro);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text3)}.gb-feedback{opacity:0;transition:opacity .14s ease}.gb-fb-wrap:hover .gb-feedback,.gb-fb-wrap:focus-within .gb-feedback{opacity:1}@media(hover:none){.gb-feedback{opacity:1}}.gb-skel{background:linear-gradient(90deg,#ffffff08 25%,#ffffff14,#ffffff08 75%);background-size:200% 100%;animation:gb-shimmer 1.4s linear infinite;border-radius:var(--r-control)}@keyframes gb-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media(prefers-reduced-motion:reduce){.gb-skel{animation:none;background:#ffffff0e}}.gb-note{padding:8px 12px;border-radius:var(--r-control);font-size:var(--fs-body);line-height:1.55;color:var(--note-accent, var(--text2));background:color-mix(in srgb,var(--note-accent, var(--accent-ui)) 6%,transparent);border:1px solid color-mix(in srgb,var(--note-accent, var(--accent-ui)) 15%,transparent)}.gb-pill{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px 0 5px;border-radius:999px;white-space:nowrap;font-size:var(--fs-small);font-weight:600;color:var(--pill-accent, var(--accent-ui));background:color-mix(in srgb,var(--pill-accent, var(--accent-ui)) 8%,transparent);border:1px solid color-mix(in srgb,var(--pill-accent, var(--accent-ui)) 19%,transparent)}.gb-num{text-align:right;flex-shrink:0;font-size:var(--fs-body);font-variant-numeric:tabular-nums}@media(max-width:720px){.gb-narrow-hide,.gb-shelf-arrow{display:none!important}.gb-tbl-title{width:auto!important;flex:1!important}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:DM Sans,Segoe UI,system-ui,sans-serif;background:#08081a;color:#f2f2ff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;user-select:none}input,textarea,.selectable{-webkit-user-select:text;user-select:text}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff18;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff28}:focus-visible{outline:2px solid #818cf8;outline-offset:2px}button{font-family:inherit;cursor:pointer;border:none;background:none}button:active{transform:scale(.97)}button:disabled{cursor:not-allowed;opacity:.4}input,select,textarea{font-family:inherit;font-size:13px;color:#f0f0ff;background:#131425;border:1px solid #ffffff18;border-radius:8px;padding:8px 12px;outline:none;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:#818cf866}input::placeholder{color:#555572}select option{background:#131425;color:#f0f0ff}.drag-region{-webkit-app-region:drag}.no-drag{-webkit-app-region:no-drag}.scroll-area{overflow-y:auto;scrollbar-gutter:stable}.scroll-x::-webkit-scrollbar{height:7px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes slideIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:none}}.fade-in{animation:fadeIn .22s ease forwards}.spin{animation:spin .7s linear infinite}.pulse{animation:pulse 1.5s ease-in-out infinite}.slide-in{animation:slideIn .2s ease forwards}.glass-card{background:#0d0e1ab3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08)}.lift:hover{transform:translateY(-2px);transition:transform .15s}
