:root{--bg: #12141a;--surface: #191c24;--surface-2: #20242e;--border: #2b303c;--text: #e9e7e2;--text-dim: #9aa0ab;--amber: #ffb454;--teal: #5ec8b8;--danger: #e0665f;--font-display: "Space Grotesk", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.app{min-height:100%;display:flex;flex-direction:column}.topnav{padding:20px 32px;border-bottom:1px solid var(--border)}.topnav__brand{font-family:var(--font-display);font-weight:700;font-size:1.15rem;letter-spacing:-.01em}.topnav__brand:before{content:"> ";color:var(--amber)}main{flex:1}.page{max-width:1040px;margin:0 auto;padding:40px 24px 80px}.back-link{display:inline-block;margin-bottom:24px;color:var(--text-dim);font-size:.9rem}.back-link:hover{color:var(--text)}.hero{text-align:center;padding:48px 0 40px}.hero h1{font-family:var(--font-display);font-size:clamp(2.4rem,5vw,3.6rem);font-weight:700;margin:0 0 12px;letter-spacing:-.02em}.hero p{color:var(--text-dim);font-size:1.05rem;max-width:480px;margin:0 auto 32px;line-height:1.5}.search-bar{display:flex;gap:8px;max-width:560px;margin:0 auto}.search-bar input{flex:1;padding:14px 18px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:1rem;font-family:var(--font-body)}.search-bar input:focus{outline:2px solid var(--amber);outline-offset:1px}.search-bar button{padding:14px 22px;border-radius:8px;border:none;background:var(--amber);color:#1a1204;font-weight:600;font-family:var(--font-body);cursor:pointer}.search-bar button:hover{filter:brightness(1.08)}.results h2{font-family:var(--font-display);font-size:1.3rem;font-weight:600;margin-bottom:20px}.status-text{color:var(--text-dim)}.status-text--error{color:var(--danger)}.game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}.game-card{display:block;background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;transition:border-color .15s ease}.game-card:hover{border-color:var(--amber)}.game-card__image{aspect-ratio:16 / 9;background:var(--surface-2)}.game-card__image img{width:100%;height:100%;object-fit:cover;display:block}.game-card__body{padding:14px 16px 18px}.game-card__body h3{font-size:1rem;font-weight:600;margin:0 0 6px;line-height:1.3}.game-card__meta{display:flex;gap:10px;align-items:center;color:var(--text-dim);font-family:var(--font-mono);font-size:.8rem;margin-bottom:6px}.game-card__score{color:var(--teal);font-weight:500}.game-card__platforms{color:var(--text-dim);font-size:.78rem;margin:0}.detail-header{border-radius:12px;overflow:hidden;border:1px solid var(--border);margin-bottom:28px}.detail-header__image{height:220px;background-size:cover;background-position:center}.detail-header__content{padding:20px 24px;background:var(--surface)}.detail-header__content h1{font-family:var(--font-display);font-size:1.9rem;margin:0 0 10px}.detail-header__meta{display:flex;gap:16px;flex-wrap:wrap;color:var(--text-dim);font-family:var(--font-mono);font-size:.85rem}.detail-header__score{color:var(--teal)}.detail-body{margin-top:28px}.detail-body__main h2{font-family:var(--font-display);font-size:1.3rem;margin-bottom:16px}.req-panel{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 560px){.req-panel{grid-template-columns:1fr}}.req-panel--none{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:24px;color:var(--text-dim)}.req-block{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px;border-top:3px solid transparent}.req-block--minimum{border-top-color:var(--amber)}.req-block--recommended{border-top-color:var(--teal)}.req-block h3{font-family:var(--font-display);font-size:1rem;margin:0 0 12px}.req-block--minimum h3{color:var(--amber)}.req-block--recommended h3{color:var(--teal)}.req-block__content{font-family:var(--font-mono);font-size:.85rem;line-height:1.7;color:var(--text)}.req-block__content strong{color:var(--text-dim);font-weight:500}.req-block__content ul{margin:0;padding-left:1.1em}.req-block__content li{margin-bottom:4px}.req-block__content p{margin:0 0 8px}.req-block__missing{color:var(--text-dim);font-size:.85rem;margin:0}.footer{text-align:center;padding:20px;border-top:1px solid var(--border);color:var(--text-dim);font-size:.8rem}
