:root{--jet-black: #263646;--dusk-blue: #2b517e;--shadow-grey: #1a1a21;--regal-navy: #283e5e;--slate-grey: #5d7990;--primary-color: #4a9eff;--secondary-color: var(--slate-grey);--tertiary-color: #5cb85c;--background-color: var(--shadow-grey);--background-elevated: var(--jet-black);--background-card: var(--regal-navy);--background-input: rgba(26, 26, 33, .8);--text-color: #e8edf2;--text-muted: #9aacbd;--text-heading: #ffffff;--link-color: #6bb8ff;--hover-color: #8ecaff;--active-color: #4a9eff;--focus-color: #6bb8ff;--disabled-color: #4a5a6a;--error-color: #ff6b6b;--error-bg: rgba(255, 107, 107, .15);--success-color: #5cb85c;--success-bg: rgba(92, 184, 92, .15);--warning-color: #f0ad4e;--warning-bg: rgba(240, 173, 78, .2);--info-color: #5bc0de;--border-color: rgba(93, 121, 144, .3);--border-light: rgba(93, 121, 144, .15);--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-size: 16px;--line-height: 1.5;--border-radius: 6px;--border-radius-lg: 10px;--box-shadow: 0 4px 12px rgba(0, 0, 0, .3);--box-shadow-lg: 0 8px 24px rgba(0, 0, 0, .4)}html{font-family:var(--font-family);font-size:var(--font-size);line-height:var(--line-height)}body{margin:0;padding:0;background-color:var(--background-color);color:var(--text-color)}.app{max-width:900px;margin:0 auto;padding:1rem 2rem}.app header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.app header h1{margin:0;font-size:1.5rem;color:var(--text-heading);font-weight:600}.app main{min-height:400px}.btn{display:inline-block;padding:.6rem 1.25rem;font-size:.95rem;font-weight:500;text-decoration:none;border:none;border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,var(--dusk-blue),var(--primary-color));color:#fff;box-shadow:0 2px 8px #4a9eff4d}.btn-primary:hover{background:linear-gradient(135deg,#3a6a9e,#6bb8ff);box-shadow:0 4px 12px #4a9eff66;transform:translateY(-1px)}.btn-secondary{background-color:var(--background-elevated);color:var(--text-color);border:1px solid var(--border-color)}.btn-secondary:hover{background-color:var(--regal-navy);border-color:var(--slate-grey)}.btn-sm{padding:.35rem .65rem;font-size:.8rem}.btn-warning{background:linear-gradient(135deg,#c97b0a,var(--warning-color));color:#1a1a21;font-weight:600}.btn-warning:hover{background:linear-gradient(135deg,#d98a1a,#ffbd5e);transform:translateY(-1px)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}textarea{width:100%;padding:.85rem 1rem;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.85rem;background-color:var(--background-input);color:var(--text-color);border:1px solid var(--border-color);border-radius:var(--border-radius);resize:vertical;box-sizing:border-box;transition:border-color .2s,box-shadow .2s}textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4a9eff33}textarea::placeholder{color:var(--text-muted)}.loading{color:var(--text-muted);font-style:italic}.error{color:var(--error-color);background-color:var(--error-bg);padding:.85rem 1rem;border-radius:var(--border-radius);border:1px solid rgba(255,107,107,.3);margin:1rem 0}.error-banner{display:flex;justify-content:space-between;align-items:center;background-color:var(--error-bg);color:var(--error-color);padding:.85rem 1rem;margin-bottom:1rem;border-radius:var(--border-radius);border:1px solid rgba(255,107,107,.3)}.error-banner button{background:none;border:none;color:var(--error-color);cursor:pointer;font-size:1rem;opacity:.8;transition:opacity .2s}.error-banner button:hover{opacity:1}.help-text{color:var(--text-muted);font-size:.875rem;margin-bottom:1rem}.not-authenticated{text-align:center;padding:4rem 2rem;background:var(--background-card);border-radius:var(--border-radius-lg);border:1px solid var(--border-color)}.not-authenticated p{margin-bottom:1.5rem;font-size:1.1rem;color:var(--text-muted)}.json-input h2{margin-top:0;color:var(--text-heading)}.json-input h3{margin-top:1.5rem;margin-bottom:.5rem;color:var(--text-heading);font-weight:500}.json-input textarea{margin-bottom:1rem}.input-actions{display:flex;gap:.75rem}.script-section{background-color:var(--background-card);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:1.25rem;margin-bottom:1.5rem}.script-section h3{margin-top:0;margin-bottom:.75rem;color:var(--text-heading)}.instructions{margin:0 0 1rem;padding-left:1.5rem;color:var(--text-muted)}.instructions li{margin-bottom:.6rem}.instructions a{color:var(--link-color);text-decoration:none}.instructions a:hover{text-decoration:underline}.console-screenshot{display:block;max-width:100%;margin-top:.5rem;border:1px solid var(--border-color);border-radius:var(--border-radius)}.script-box{position:relative;background-color:#0d1117;border-radius:var(--border-radius);padding:1rem;overflow-x:auto;border:1px solid rgba(93,121,144,.2)}.script-box pre{margin:0;color:#c9d1d9;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.75rem;white-space:pre-wrap;word-break:break-all}.script-box .copy-btn{position:absolute;top:.5rem;right:.5rem}.game-matcher h2{margin-top:0;color:var(--text-heading)}.game-section{margin-bottom:1.5rem}.section-header{margin:0 0 .5rem;padding:.5rem .75rem;font-size:.9rem;font-weight:600;border-radius:var(--border-radius)}.section-unmatched{background-color:var(--error-bg);color:var(--error-color);border:1px solid rgba(255,107,107,.3)}.section-matched{background-color:var(--success-bg);color:var(--success-color);border:1px solid rgba(92,184,92,.3)}.section-hint{color:var(--text-muted);font-size:.85rem;margin:0 0 .75rem}.game-list-unmatched{margin-bottom:0}.match-summary{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:1rem 1.25rem;background-color:var(--background-card);border-radius:var(--border-radius);border:1px solid var(--border-color)}.match-summary span{color:var(--text-muted)}.match-actions{display:flex;gap:.5rem}.game-list{max-height:400px;overflow-y:auto;border:1px solid var(--border-color);border-radius:var(--border-radius);margin-bottom:1rem;background-color:var(--background-elevated)}.game-item{padding:.85rem 1rem;border-bottom:1px solid var(--border-light);transition:background-color .15s}.game-item:last-child{border-bottom:none}.game-item:hover{background-color:#2b517e33}.game-item label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer}.game-item input[type=checkbox]{margin-top:.25rem;accent-color:var(--primary-color)}.game-info{display:flex;flex-direction:column;gap:.25rem}.epic-title{font-weight:500;color:var(--text-heading)}.itad-title{color:var(--success-color);font-size:.85rem}.no-match{color:var(--error-color);font-size:.85rem;font-style:italic}.game-item.unmatched{background-color:var(--warning-bg)}.game-item.selected{background-color:var(--success-bg)}.collection-picker h2{margin-top:0;color:var(--text-heading)}.group-list{margin-bottom:1.5rem}.group-item{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border:1px solid var(--border-color);border-radius:var(--border-radius);margin-bottom:.5rem;cursor:pointer;background-color:var(--background-elevated);transition:all .15s}.group-item:hover{background-color:var(--background-card);border-color:var(--slate-grey)}.group-item input[type=radio]{margin:0;accent-color:var(--primary-color)}.create-category-btn{margin-top:.5rem}.create-category-form{display:flex;flex-direction:column;gap:.75rem;padding:1rem;border:1px dashed var(--border-color);border-radius:var(--border-radius);margin-top:.5rem;background-color:var(--background-card)}.create-category-form input[type=text]{padding:.6rem .85rem;font-size:1rem;background-color:var(--background-input);color:var(--text-color);border:1px solid var(--border-color);border-radius:var(--border-radius)}.create-category-form input[type=text]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4a9eff33}.create-category-form input[type=text]::placeholder{color:var(--text-muted)}.create-category-actions{display:flex;gap:.5rem}.import-summary{padding:1rem 1.25rem;background-color:#5bc0de26;border:1px solid rgba(91,192,222,.3);border-radius:var(--border-radius);margin-bottom:1rem}.import-summary p{margin:0;color:var(--info-color)}.import-summary p+p{margin-top:.5rem}.profile-setup h2{margin-top:0;color:var(--text-heading)}.setup-step{padding:1.5rem;margin-bottom:1rem;border:1px solid var(--border-color);border-radius:var(--border-radius-lg);background-color:var(--background-elevated)}.setup-step.completed{border-color:var(--success-color);background-color:var(--success-bg)}.setup-step.warning{border-color:var(--warning-color);background-color:var(--warning-bg)}.setup-step h3{margin-top:0;margin-bottom:.5rem;color:var(--text-heading)}.success-text{color:var(--success-color);font-weight:500}.sync-result{text-align:center;padding:2rem}.sync-result h2{color:var(--text-heading)}.sync-stats{display:flex;justify-content:center;gap:3rem;margin:2rem 0;padding:2rem;background-color:var(--background-card);border-radius:var(--border-radius-lg);border:1px solid var(--border-color)}.stat{display:flex;flex-direction:column;align-items:center}.stat-value{font-size:2.5rem;font-weight:700;color:var(--primary-color)}.stat-value.stat-added{color:var(--success-color)}.stat-value.stat-removed{color:var(--error-color)}.stat-label{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:.25rem}.warning-text{color:#1a1a21;background-color:#f0ad4ee6;padding:.85rem 1rem;border-radius:var(--border-radius);margin:1rem 0;text-align:left;font-weight:500}.success-state h2{color:var(--success-color)}.error-state h2{color:var(--error-color)}.loading-state{padding:2rem;color:var(--text-muted)}.loading-state h2{color:var(--text-heading)}.actions{display:flex;justify-content:space-between;gap:1rem;margin-top:1.5rem}a{color:var(--link-color);transition:color .2s}a:hover{color:var(--hover-color)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--background-color)}::-webkit-scrollbar-thumb{background:var(--slate-grey);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#7a9ab0}::selection{background-color:#4a9eff4d;color:var(--text-heading)}
