:root{--bg-dark:#0e0e10;--bg-card:#18181b;--bg-card-hover:#1f1f23;--bg-input:#09090b;--border-color:#2d2d35;--border-active:#9146ff;--twitch-purple:#9146ff;--twitch-purple-hover:#772ce8;--twitch-purple-light:#9146ff26;--twitch-purple-glow:#9146ff66;--text-primary:#efeff1;--text-secondary:#adadb8;--text-muted:#70707c;--success-color:#00f076;--success-bg:#00f0761f;--danger-color:#ff4f4d;--danger-bg:#ff4f4d1f;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--font-sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", Consolas, Monaco, "Andale Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-dark);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;background-image:radial-gradient(circle at 15% 15%,#9146ff14 0%,#0000 40%),radial-gradient(circle at 85% 85%,#772ce80f 0%,#0000 40%);min-height:100vh;line-height:1.5}#app{flex-direction:column;min-height:100vh;display:flex}.container{width:100%;max-width:1040px;margin:0 auto;padding:0 1.25rem 3rem}.app-header{border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;background:#0e0e10d9;position:sticky;top:0}.header-content{justify-content:space-between;align-items:center;gap:1rem;max-width:1040px;margin:0 auto;padding:1rem 1.25rem;display:flex}.brand{color:var(--text-primary);align-items:center;gap:.75rem;text-decoration:none;display:flex}.twitch-icon-badge{background:var(--twitch-purple);color:#fff;border-radius:var(--radius-sm);width:38px;height:38px;box-shadow:0 0 15px var(--twitch-purple-glow);justify-content:center;align-items:center;display:flex}.brand-text h1{letter-spacing:-.01em;font-size:1.15rem;font-weight:700;line-height:1.2}.brand-text span{color:var(--text-secondary);font-size:.75rem;font-weight:400}.stepper{align-items:center;gap:.5rem;display:flex}.step-item{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.85rem;font-weight:500;display:flex}.step-number{border:1px solid var(--border-color);border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:.75rem;font-weight:600;transition:all .2s;display:flex}.step-item.active{color:var(--twitch-purple)}.step-item.active .step-number{background:var(--twitch-purple);border-color:var(--twitch-purple);color:#fff;box-shadow:0 0 10px var(--twitch-purple-glow)}.step-item.completed{color:var(--text-secondary)}.step-item.completed .step-number{background:var(--success-bg);border-color:var(--success-color);color:var(--success-color)}.step-divider{background:var(--border-color);width:24px;height:1px}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-top:2rem;padding:2rem;box-shadow:0 8px 32px #0006}.card-header{margin-bottom:1.75rem}.card-title{align-items:center;gap:.75rem;margin-bottom:.5rem;font-size:1.5rem;font-weight:700;display:flex}.card-description{color:var(--text-secondary);font-size:.95rem}.form-group{margin-bottom:1.5rem}.form-label{color:var(--text-primary);justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.9rem;font-weight:600;display:flex}.form-hint{color:var(--text-muted);font-size:.8rem;font-weight:400}.input-wrapper{align-items:center;display:flex;position:relative}.form-input{background:var(--bg-input);border:1px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:var(--radius-md);font-size:.95rem;font-family:var(--font-sans);padding:.75rem 1rem;transition:border-color .2s,box-shadow .2s}.form-input.mono{font-family:var(--font-mono);font-size:.9rem}.form-input:focus{border-color:var(--twitch-purple);box-shadow:0 0 0 3px var(--twitch-purple-light);outline:none}.input-icon-btn{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;padding:.25rem;transition:color .2s;display:flex;position:absolute;right:.75rem}.input-icon-btn:hover{color:var(--text-primary)}.info-box{border-radius:var(--radius-md);color:var(--text-secondary);background:#9146ff14;border:1px solid #9146ff40;align-items:flex-start;gap:.75rem;margin-bottom:1.5rem;padding:1rem 1.25rem;font-size:.88rem;display:flex}.info-box a{color:var(--twitch-purple);font-weight:500;text-decoration:underline}.info-box a:hover{color:#fff}.btn{border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn-primary{background:var(--twitch-purple);color:#fff;box-shadow:0 4px 14px var(--twitch-purple-glow)}.btn-primary:hover:not(:disabled){background:var(--twitch-purple-hover);box-shadow:0 6px 20px var(--twitch-purple-glow);transform:translateY(-1px)}.btn-secondary{background:var(--bg-card-hover);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:#27272c;border-color:#3f3f46}.btn-outline{color:var(--twitch-purple);border:1px solid var(--twitch-purple);background:0 0}.btn-outline:hover:not(:disabled){background:var(--twitch-purple-light)}.btn-sm{border-radius:var(--radius-sm);padding:.4rem .85rem;font-size:.825rem}.btn:disabled{opacity:.5;cursor:not-allowed}.actions-row{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:1rem;margin-top:2rem;padding-top:1.5rem;display:flex}.scopes-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.search-box{flex:1;min-width:250px}.presets-group{flex-wrap:wrap;gap:.5rem;display:flex}.preset-chip{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:20px;padding:.35rem .75rem;font-size:.8rem;transition:all .2s}.preset-chip:hover{border-color:var(--twitch-purple);color:var(--text-primary)}.category-section{margin-bottom:1.75rem}.category-title{color:var(--text-primary);align-items:center;gap:.5rem;margin-bottom:.85rem;font-size:1rem;font-weight:700;display:flex}.scopes-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.85rem;display:grid}.scope-card{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;transition:all .15s;display:flex}.scope-card:hover{background:#121215;border-color:#3f3f46}.scope-card.selected{border-color:var(--twitch-purple);background:var(--twitch-purple-light)}.scope-checkbox{width:18px;height:18px;accent-color:var(--twitch-purple);cursor:pointer;margin-top:.2rem}.scope-info{flex:1}.scope-label-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.scope-name{color:var(--text-primary);font-size:.875rem;font-weight:600}.scope-id{font-family:var(--font-mono);color:var(--text-muted);margin-top:.1rem;font-size:.725rem;display:block}.scope-desc{color:var(--text-secondary);margin-top:.35rem;font-size:.775rem;line-height:1.3}.rec-badge{color:#c084fc;text-transform:uppercase;background:#9146ff33;border-radius:4px;padding:.15rem .4rem;font-size:.68rem;font-weight:600}.token-card-grid{flex-direction:column;gap:1.25rem;display:flex}.token-field-box{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.25rem;transition:border-color .2s;position:relative}.token-field-box:hover{border-color:#3f3f46}.token-field-header{justify-content:space-between;align-items:center;margin-bottom:.65rem;display:flex}.token-label-title{color:var(--text-primary);align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;display:flex}.token-type-tag{background:var(--bg-card-hover);color:var(--text-secondary);border-radius:4px;padding:.15rem .5rem;font-size:.725rem;font-weight:500}.token-display-row{align-items:center;gap:.75rem;display:flex}.token-value-text{font-family:var(--font-mono);border-radius:var(--radius-sm);color:var(--success-color);word-break:break-all;background:#000;border:1px solid #222228;flex:1;max-height:100px;padding:.65rem .85rem;font-size:.875rem;overflow-y:auto}.copy-btn{background:var(--twitch-purple-light);border:1px solid var(--twitch-purple);color:#fff;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;align-items:center;gap:.4rem;padding:.65rem 1rem;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.copy-btn:hover{background:var(--twitch-purple);box-shadow:0 0 12px var(--twitch-purple-glow)}.copy-btn.copied{background:var(--success-color);border-color:var(--success-color);color:#000}.validation-card{border-radius:var(--radius-md);background:linear-gradient(135deg,#9146ff1a 0%,#18181bcc 100%);border:1px solid #9146ff4d;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1.25rem;display:flex}.user-badge-info{align-items:center;gap:1rem;display:flex}.avatar-placeholder{background:var(--twitch-purple);color:#fff;width:44px;height:44px;box-shadow:0 0 10px var(--twitch-purple-glow);border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;display:flex}.user-details h3{color:#fff;font-size:1.05rem;font-weight:700}.user-details p{color:var(--text-secondary);font-size:.8rem}.loading-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:4rem 1rem;display:flex}.spinner{border:4px solid var(--border-color);border-top-color:var(--twitch-purple);border-radius:50%;width:50px;height:50px;margin-bottom:1.5rem;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.toast-floating{border:1px solid var(--success-color);color:#fff;border-radius:var(--radius-md);z-index:1000;background:#18181b;align-items:center;gap:.6rem;padding:.85rem 1.25rem;animation:.3s slideUp;display:flex;position:fixed;bottom:2rem;right:2rem;box-shadow:0 10px 30px #0009}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (width<=640px){.header-content{flex-direction:column;align-items:flex-start}.stepper{justify-content:space-between;width:100%}.actions-row{flex-direction:column}.actions-row .btn{width:100%}}
