:root{font-family:Space Grotesk,Segoe UI,sans-serif;color:#e8ecf5;background:radial-gradient(circle at 20% 20%,#1f2937,#0b1020 60%),#0b1020}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:transparent}a{color:#9dd4ff}.app-shell{max-width:960px;margin:0 auto;padding:16px 18px 48px}.page{margin-top:24px}.top-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 10px;border:1px solid #1f2f4a;border-radius:12px;background:linear-gradient(120deg,#101829,#0e1224)}.brand{font-weight:600;letter-spacing:1px}.nav{display:flex;gap:14px;align-items:center}.nav a{text-decoration:none;color:#d6e1ff;padding:6px 10px;border-radius:8px}.nav a.active-link{background:#1e3a8a;color:#fff}.nav button{background:transparent;color:#c8d6f2;border:1px solid #283553;padding:6px 10px;border-radius:8px;cursor:pointer}.auth-card,.swipe-layout,.profile{background:#0f172a;border:1px solid #1f2b44;border-radius:14px;padding:24px;box-shadow:0 20px 50px #00000059}h1,h2{margin:0 0 12px}.muted{color:#92a0b9}.form{display:grid;gap:12px;margin-top:16px}.form label{display:grid;gap:6px;font-size:14px;color:#c9d3ea}input,select{padding:10px 12px;border-radius:10px;border:1px solid #223356;background:#0c1222;color:#e8ecf5}button{padding:12px 14px;border-radius:12px;border:none;cursor:pointer;font-weight:600}button.primary{background:linear-gradient(120deg,#2dd4bf,#22d3ee);color:#06202c}button.ghost{background:#111827;border:1px solid #223356;color:#dce7ff}button.danger{border-color:#7f1d1d;color:#fca5a5}.error{padding:10px 12px;border-radius:10px;background:#3b1d2b;color:#fca5a5;border:1px solid #7f1d1d}.controls{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px}.field{display:grid;gap:6px}.checkbox{display:flex;gap:8px;align-items:center;color:#c9d3ea}.swipe-layout{display:grid;gap:16px;justify-items:center}.card{width:min(420px,100%);background:linear-gradient(160deg,#10192b,#0b1223);border-radius:16px;overflow:hidden;border:1px solid #1f2f4a}.card-media{width:100%;height:320px;background:#111827}.card-media img{width:100%;height:100%;object-fit:cover}.card-placeholder{height:100%;display:grid;place-items:center;background:radial-gradient(circle,#223352,#111827);color:#a5b4fc;font-size:64px}.card-body{padding:16px 18px 18px}.card-meta{display:flex;justify-content:space-between;color:#a0b6d9;font-size:13px}.score{font-variant-numeric:tabular-nums}.eyebrow{letter-spacing:1px;text-transform:uppercase}.pill-row,.tag-row{display:flex;flex-wrap:wrap;gap:8px}.pill{padding:6px 10px;border-radius:10px;background:#1e293b;color:#e2e8f0;font-size:13px}.pill.success{background:#0f5132}.pill.danger{background:#5a1a1a}.tag{padding:6px 8px;border-radius:8px;background:#0f172a;color:#9ca3af;border:1px dashed #24304a;font-size:12px}.action-row{display:flex;gap:12px}.profile .stats{display:flex;gap:16px;margin:14px 0 24px}.stat{padding:12px 14px;border:1px solid #1f2f4a;border-radius:12px;background:#0e1729}.stat .label{color:#9ca3af;font-size:13px}.stat .value{display:block;font-size:24px;font-weight:600}.history{display:grid;gap:10px}.history-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid #1f2f4a;border-radius:10px;background:#0c1222}.history-row .title{color:#e5e7eb}.action-row button{min-width:120px}@media(max-width:600px){.card-media{height:260px}.top-bar{flex-direction:column;gap:12px}.nav{width:100%;justify-content:space-around}}.steam-section{margin-top:8px;padding:16px;border:1px dashed #223356;border-radius:12px;background:#0a0f1e}.steam-section label .optional{color:#6b7280;font-size:12px;margin-left:8px}.steam-help{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:13px}.steam-lookup-link{color:#67e8f9;text-decoration:none}.steam-lookup-link:hover{text-decoration:underline}.steam-valid{color:#34d399;font-weight:600}.checkbox-label{display:flex;align-items:center;gap:10px;margin-top:12px;cursor:pointer;font-size:14px;color:#c9d3ea}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:#2dd4bf}.steam-import-page{text-align:center}.steam-loader{display:flex;flex-direction:column;align-items:center;padding:24px}.steam-loader-content{width:100%;max-width:460px}.cover-carousel{width:100%;height:240px;border-radius:12px;overflow:hidden;background:#111827;margin-bottom:20px;position:relative}.cover-slide{position:relative;width:100%;height:100%;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.cover-image{width:100%;height:100%;object-fit:cover}.cover-title{position:absolute;bottom:0;left:0;right:0;padding:12px 16px;background:linear-gradient(transparent,#000000e6);color:#fff;font-size:16px;font-weight:600}.cover-badge{position:absolute;top:12px;right:12px;padding:6px 12px;background:#10b981e6;color:#fff;border-radius:20px;font-size:12px;font-weight:600}.cover-placeholder{display:flex;align-items:center;justify-content:center;height:100%;background:radial-gradient(circle,#1e293b,#111827)}.spinner{width:48px;height:48px;border:4px solid #1f2937;border-top-color:#22d3ee;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.steam-progress{text-align:center;margin-bottom:16px}.steam-progress p{margin:4px 0}.steam-progress .success{color:#34d399;font-weight:600}.steam-progress .error{color:#f87171}.progress-bar-container{width:100%;height:8px;background:#1f2937;border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#22d3ee,#2dd4bf);transition:width .2s ease-out}.steam-setup-page{text-align:center;max-width:680px}.steam-setup-loader{padding:16px}.setup-phases{display:flex;justify-content:center;gap:32px;margin-bottom:24px}.phase-step{display:flex;flex-direction:column;align-items:center;gap:8px;opacity:.4;transition:opacity .3s ease}.phase-step.active{opacity:1}.phase-step.completed{opacity:.7}.phase-number{width:36px;height:36px;border-radius:50%;background:#1f2937;border:2px solid #374151;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;color:#9ca3af;transition:all .3s ease}.phase-step.active .phase-number{background:#22d3ee;border-color:#22d3ee;color:#111827}.phase-step.completed .phase-number{background:#34d399;border-color:#34d399;color:#111827}.phase-name{font-size:12px;color:#9ca3af;max-width:80px;text-align:center}.setup-status{margin-bottom:20px}.setup-status h3{font-size:18px;margin:0 0 4px}.cover-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:20px}@media(max-width:600px){.cover-grid{grid-template-columns:repeat(3,1fr)}}.grid-cover{aspect-ratio:460 / 215;background:#1f2937;border-radius:6px;overflow:hidden;animation:fadeIn .2s ease-out}.grid-cover img{width:100%;height:100%;object-fit:cover}.grid-cover.placeholder{display:flex;align-items:center;justify-content:center}.spinner-small{width:20px;height:20px;border:2px solid #374151;border-top-color:#22d3ee;border-radius:50%;animation:spin 1s linear infinite}.setup-messages{margin-top:16px}.setup-messages .success{color:#34d399;font-weight:600}.setup-messages .error{color:#f87171}.setup-logs{margin-top:16px;text-align:left}.setup-logs summary{cursor:pointer;color:#6b7280;font-size:13px}.setup-logs pre{margin-top:8px;padding:12px;background:#111827;border-radius:6px;font-size:11px;color:#9ca3af;max-height:120px;overflow-y:auto;white-space:pre-wrap}.pending-indicator{display:flex;align-items:center;gap:10px;padding:10px 16px;background:linear-gradient(120deg,#22d3ee1a,#2dd4bf1a);border:1px solid rgba(34,211,238,.3);border-radius:10px;margin-bottom:8px;animation:pulse-soft 2s ease-in-out infinite}@keyframes pulse-soft{0%,to{opacity:.8}50%{opacity:1}}.pending-text{color:#67e8f9;font-size:13px;font-weight:500}.card-hint{color:#6b7280;font-size:12px;text-align:center;margin-top:10px;letter-spacing:.5px;text-transform:uppercase}.detail-overlay{position:fixed;inset:0;z-index:1000;background:#000000d9;display:grid;place-items:center;animation:fadeIn .2s ease-out;padding:16px;overflow-y:auto}.detail-modal{position:relative;width:min(480px,100%);max-height:90vh;overflow-y:auto;background:linear-gradient(170deg,#111b2e,#0b1223);border-radius:20px;border:1px solid #1f2f4a;box-shadow:0 24px 80px #0009;animation:slideUp .3s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(40px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.detail-close{position:absolute;top:12px;right:12px;z-index:10;width:36px;height:36px;border-radius:50%;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);color:#e2e8f0;font-size:16px;display:grid;place-items:center;cursor:pointer;transition:background .15s}.detail-close:hover{background:#000c}.detail-hero{position:relative;width:100%;height:260px;background:#111827;overflow:hidden}.detail-hero img{width:100%;height:100%;object-fit:cover}.detail-hero-placeholder{height:100%;display:grid;place-items:center;background:radial-gradient(circle,#223352,#111827);color:#a5b4fc;font-size:72px}.detail-hero-gradient{position:absolute;bottom:0;left:0;right:0;height:100px;background:linear-gradient(transparent,#111b2e)}.detail-content{padding:0 24px 24px}.detail-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}.detail-header h2{margin:0;font-size:22px}.detail-score{color:#67e8f9;font-variant-numeric:tabular-nums;font-size:14px;white-space:nowrap}.detail-section{margin-bottom:16px}.detail-section h3{font-size:13px;text-transform:uppercase;letter-spacing:1px;color:#6b7280;margin:0 0 8px}.detail-links{display:grid;gap:8px}.detail-link{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:12px;text-decoration:none;font-weight:500;font-size:14px;transition:background .15s}.detail-link.steam{background:linear-gradient(120deg,#1b2838,#171a21);color:#66c0f4;border:1px solid #2a475e}.detail-link.steam:hover{background:linear-gradient(120deg,#2a3f56,#1b2838)}.detail-link.hltb{background:linear-gradient(120deg,#1a1a2e,#16213e);color:#a78bfa;border:1px solid #312e81}.detail-link.hltb:hover{background:linear-gradient(120deg,#272654,#1a1a2e)}.detail-link-icon{font-size:20px}.detail-actions{display:flex;gap:12px;margin-top:20px}.detail-btn{flex:1;padding:14px}.legal-page{background:#0f172a;border:1px solid #1f2b44;border-radius:14px;padding:32px 28px;max-width:720px;margin:0 auto;box-shadow:0 20px 50px #00000059}.legal-page h1{margin-bottom:24px;font-size:26px}.legal-page h2{font-size:18px;margin-top:0;color:#e2e8f0}.legal-section{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #1f2b44}.legal-section:last-of-type{border-bottom:none}.legal-section p,.legal-section li{color:#c9d3ea;line-height:1.7;font-size:14px}.legal-section ul{padding-left:20px}.legal-section li{margin-bottom:6px}.legal-table{width:100%;border-collapse:collapse;margin-top:8px;font-size:13px}.legal-table th,.legal-table td{padding:10px 12px;text-align:left;border:1px solid #1f2b44}.legal-table th{background:#0e1729;color:#a0b6d9;font-weight:600;text-transform:uppercase;letter-spacing:.5px;font-size:12px}.legal-table td{color:#c9d3ea}.legal-back{margin-top:16px}.legal-back a{color:#67e8f9;text-decoration:none}.legal-back a:hover{text-decoration:underline}.privacy-consent{padding:12px 14px;background:#0a0f1e;border:1px solid #223356;border-radius:10px;margin-top:4px}.privacy-consent a{color:#67e8f9;text-decoration:underline}.app-footer{margin-top:48px;padding:20px 10px 16px;text-align:center;border-top:1px solid #1f2b44}.footer-links{display:flex;justify-content:center;align-items:center;gap:8px;margin-bottom:6px}.footer-links a{color:#6b7280;text-decoration:none;font-size:13px;transition:color .15s}.footer-links a:hover{color:#9dd4ff}.footer-dot{color:#374151}.footer-note{color:#4b5563;font-size:12px;margin:0}
