@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg-color:#000;--surface-color:#1c1c1e99;--surface-hover:#2c2c2ecc;--surface-border:#ffffff14;--primary-color:#0a84ff;--text-primary:#fff;--text-secondary:#ebebf599;--text-tertiary:#ebebf54d;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-full:9999px;--transition-fast:.2s cubic-bezier(.25, 1, .5, 1);--transition-smooth:.4s cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;overflow-x:hidden}#root{flex-direction:column;min-height:100vh;display:flex}a{color:var(--primary-color);transition:opacity var(--transition-fast);text-decoration:none}a:hover{opacity:.8}button{cursor:pointer;background:0 0;border:none;outline:none;font-family:inherit}.glass{background:var(--surface-color);-webkit-backdrop-filter:blur(24px);border:1px solid var(--surface-border)}.glass-card{background:var(--surface-color);-webkit-backdrop-filter:blur(24px);border:1px solid var(--surface-border);border-radius:var(--radius-md);transition:transform var(--transition-smooth), background var(--transition-smooth), border-color var(--transition-smooth), box-shadow var(--transition-smooth)}.glass-card:hover{background:var(--surface-hover);border-color:#ffffff26;transform:translateY(-4px)scale(1.01);box-shadow:0 20px 40px #0006}.glow-bg{filter:blur(100px);pointer-events:none;z-index:-1;background:radial-gradient(60% 60% at 50% 10%,#10b9814d 0%,#0a966414 50%,#0000 100%);width:100%;height:1000px;position:absolute;top:-150px;left:0}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.6s cubic-bezier(.16,1,.3,1) forwards fadeIn}.hero{text-align:center;padding:100px 0 60px;position:relative}.hero-title-container{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(10px,2vw,16px);margin-bottom:clamp(12px,3vw,20px);display:flex}.hero-logo{object-fit:contain;width:clamp(36px,8vw,56px);height:clamp(36px,8vw,56px)}.hero-title{letter-spacing:-.03em;background:linear-gradient(#fff 0%,#ffffffb3 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:0;font-size:clamp(1.75rem,6vw + .2rem,3.5rem);font-weight:700}.hero-subtitle{color:var(--text-secondary);max-width:600px;margin:0 auto;font-size:1.25rem;font-weight:400;line-height:1.6}.search-container{max-width:640px;margin:0 auto 64px;position:relative}.search-input{border-radius:var(--radius-full);border:1px solid var(--surface-border);width:100%;color:var(--text-primary);transition:all var(--transition-fast);-webkit-backdrop-filter:blur(16px);background:#ffffff0a;padding:18px 24px 18px 56px;font-size:1.1rem;box-shadow:0 4px 24px #0003}.search-input::placeholder{color:var(--text-tertiary)}.search-input:focus{background:#ffffff14;border-color:#fff3;outline:none;box-shadow:0 0 0 4px #0a84ff26,0 4px 24px #0000004d}.search-icon{color:var(--text-tertiary);pointer-events:none;transition:color var(--transition-fast);position:absolute;top:50%;left:20px;transform:translateY(-50%)}.search-input:focus~.search-icon,.search-input:not(:placeholder-shown)~.search-icon{color:var(--text-primary)}.provider-table-wrap{margin-bottom:100px;overflow:hidden}.provider-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%}.provider-table thead th:first-child,.provider-table td:first-child{width:28%}.provider-table thead th:nth-child(2),.provider-table td:nth-child(2){width:18%}.provider-table thead th:nth-child(3),.provider-table td:nth-child(3){width:38%}.provider-table thead th:nth-child(4),.provider-table td:nth-child(4){width:16%}.provider-table thead th:nth-child(4){text-align:right}.provider-table thead th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);border-bottom:1px solid var(--surface-border);-webkit-backdrop-filter:blur(14px);background:#ffffff05;padding:18px 20px;font-size:.76rem}.provider-table tbody tr{transition:background var(--transition-fast)}.provider-table tbody tr:hover{background:#ffffff05}.provider-table td{border-bottom:1px solid var(--surface-border);color:var(--text-secondary);vertical-align:top;padding:20px;font-size:.96rem;line-height:1.55}.provider-table tbody tr:last-child td{border-bottom:none}.provider-name-cell{color:var(--text-primary);letter-spacing:-.01em;overflow-wrap:anywhere;font-size:1.02rem;font-weight:600}.provider-name-row{align-items:center;gap:10px;display:flex}.provider-row-clickable{cursor:pointer}.provider-row-clickable:focus-visible{outline-offset:-2px;outline:2px solid #0a84ff8c}.provider-row-clickable.is-expanded{background:#ffffff08}.expand-toggle{width:22px;height:22px;transition:transform var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);background:#ffffff0d;border:1px solid #ffffff29;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.provider-row-clickable:hover .expand-toggle{background:#ffffff17;border-color:#ffffff47}.expand-toggle-icon{width:14px;height:14px}.expand-toggle-icon path{fill:none;stroke:var(--text-secondary);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.expand-toggle.expanded{background:#ffffff1c;border-color:#ffffff52;transform:rotate(90deg)}.expand-toggle.expanded .expand-toggle-icon path,.provider-row-clickable:hover .expand-toggle-icon path{stroke:var(--text-primary)}.provider-details-row td{background:#ffffff05;padding-top:14px;padding-bottom:16px}.provider-details-wrap{border-left:1px solid #ffffff1f;padding-left:14px}.scraper-list{grid-template-columns:1fr;gap:12px;margin:0;padding:0;list-style:none;display:grid}.scraper-item{border:1px solid var(--surface-border);background:#ffffff08;border-radius:10px;flex-direction:column;padding:10px;display:flex}.scraper-header{align-items:center;gap:8px;margin-bottom:3px;display:flex}.scraper-logo{object-fit:cover;background:#ffffff0a;border:1px solid #ffffff24;border-radius:6px;flex-shrink:0;width:24px;height:24px}.scraper-logo-fallback{width:24px;height:24px;color:var(--text-primary);background:#ffffff0f;border:1px solid #ffffff24;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:.7rem;font-weight:700;display:inline-flex}.scraper-name{color:var(--text-primary);margin-bottom:4px;font-size:.95rem;font-weight:600;line-height:1.25}.scraper-desc{color:var(--text-secondary);font-size:.84rem;line-height:1.45}.scraper-meta{color:var(--text-tertiary);flex-wrap:wrap;gap:8px;margin-top:7px;font-size:.76rem;display:flex}.scraper-meta-label{color:var(--text-secondary);font-weight:600}.scraper-empty{color:var(--text-tertiary);font-size:.88rem}@media (width>=1100px){.scraper-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}}.provider-author-cell{color:var(--text-tertiary);overflow-wrap:anywhere}.provider-action-cell{white-space:nowrap;text-align:right;vertical-align:middle}@media (width>=769px){.provider-table thead th:nth-child(4),.provider-table td:nth-child(4){text-align:left;vertical-align:middle;padding-left:20px;padding-right:20px}.provider-table thead th:nth-child(4){padding-left:32.5px}.provider-action-cell{text-align:left}.provider-action-cell .add-button{vertical-align:middle;justify-content:center;align-items:center;display:inline-flex}}.mobile-meta-inline{display:none}.provider-tags{flex-wrap:wrap;gap:8px;display:flex}.tag{border:1px solid var(--surface-border);border-radius:var(--radius-full);color:var(--text-secondary);letter-spacing:.02em;background:#ffffff0f;padding:6px 12px;font-size:.75rem;font-weight:500}.add-button{background:var(--text-primary);color:var(--bg-color);border-radius:var(--radius-full);transition:all var(--transition-fast);border:1px solid #0000;padding:10px 20px;font-size:.9rem;font-weight:600;text-decoration:none}.add-button.sora{color:#000;background:#fff}.add-button:hover{transform:scale(1.05)}.add-button.sora:hover{background:#ebebf5}.animate-fade-in{opacity:0;animation:.8s cubic-bezier(.16,1,.3,1) forwards fadeIn}.loading-spinner{border:3px solid #ffffff1a;border-top-color:var(--text-primary);border-radius:50%;width:40px;height:40px;margin:0 auto 16px;animation:1s ease-in-out infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.footer{text-align:center;color:var(--text-tertiary);border-top:1px solid var(--surface-border);margin-top:auto;padding:40px 0 20px;font-size:.9rem;font-weight:500}.footer-callout{color:var(--text-secondary);margin:0 0 14px}.footer-discord-link{color:#fff;text-underline-offset:2px;transition:opacity var(--transition-fast);text-decoration:underline;text-decoration-thickness:1.5px}.footer-discord-link:hover{opacity:.85}.footer-link{color:var(--text-primary);transition:border-color var(--transition-fast), opacity var(--transition-fast);border-bottom:1px solid #0000;text-decoration:none}.footer-name{color:var(--text-primary)}.footer-link:hover{border-bottom-color:var(--text-primary);opacity:.9}@media (width<=768px){.hero-subtitle{padding:0 16px;font-size:clamp(.95rem,3vw + .1rem,1.1rem)}.provider-table-wrap{padding:0;overflow-x:auto}.provider-table{table-layout:fixed;min-width:100%}.provider-table thead th,.provider-table td,.provider-name-cell,.provider-author-cell,.tag,.provider-action-cell .add-button{overflow-wrap:anywhere;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.provider-table td{padding:14px 10px;font-size:clamp(.76rem,2.45vw,.9rem);line-height:1.4}.provider-table thead th{letter-spacing:clamp(.03em,.16vw,.06em);padding:12px 10px;font-size:clamp(.54rem,1.8vw,.68rem)}.provider-table thead th:first-child,.provider-table td:first-child{width:74%}.provider-table thead th:nth-child(2),.provider-table td:nth-child(2),.provider-table thead th:nth-child(3),.provider-table td:nth-child(3){width:0}.provider-table thead th:nth-child(4),.provider-table td:nth-child(4){width:26%}.provider-table thead th:nth-child(4){text-align:right;color:#0000;padding-right:12px}.provider-author-col,.provider-tags-col{display:none}.provider-name-cell{font-size:clamp(.82rem,2.55vw,.96rem);line-height:1.35}.provider-name-row{gap:8px}.expand-toggle{width:20px;height:20px}.expand-toggle-icon{width:12px;height:12px}.provider-details-wrap{max-height:52vh;padding-left:10px;padding-right:4px;overflow-y:auto}.scraper-item{padding:10px}.scraper-name{font-size:.86rem}.scraper-logo,.scraper-logo-fallback{border-radius:5px;width:20px;height:20px}.scraper-desc{font-size:.76rem}.scraper-meta{gap:6px;font-size:.68rem}.mobile-meta-inline{color:var(--text-tertiary);letter-spacing:.01em;margin-top:10px;font-size:clamp(.66rem,2.1vw,.78rem);font-weight:500;line-height:1.35;display:block}.provider-author-cell{font-size:clamp(.72rem,2.2vw,.86rem)}.provider-tags{gap:clamp(4px,1.2vw,6px)}.tag{letter-spacing:.01em;padding:clamp(3px,.9vw,4px) clamp(6px,1.6vw,9px);font-size:clamp(.58rem,1.8vw,.7rem)}.provider-action-cell .add-button{justify-content:center;align-items:center;width:auto;min-width:72px;margin-top:6px;padding:clamp(7px,1.8vw,9px) clamp(8px,2.2vw,10px);font-size:clamp(.66rem,2.05vw,.8rem);line-height:1.2;display:inline-flex}}@media (width<=420px){.provider-table td{padding:11px 7px;font-size:clamp(.7rem,2.85vw,.8rem)}.provider-table thead th{letter-spacing:clamp(.02em,.1vw,.04em);padding:9px 7px;font-size:clamp(.5rem,1.95vw,.58rem)}.provider-table thead th:first-child,.provider-table td:first-child{width:72%}.provider-table thead th:nth-child(2),.provider-table td:nth-child(2),.provider-table thead th:nth-child(3),.provider-table td:nth-child(3){width:0}.provider-table thead th:nth-child(4),.provider-table td:nth-child(4){width:28%}.provider-table thead th:nth-child(4){padding-right:23px}.provider-name-cell{font-size:clamp(.76rem,3.2vw,.84rem)}.provider-author-cell{font-size:clamp(.66rem,2.7vw,.74rem)}.tag{padding:3px 6px;font-size:clamp(.54rem,2.25vw,.62rem)}.provider-action-cell .add-button{min-width:64px;margin-top:5px;padding:6px 7px;font-size:clamp(.62rem,2.5vw,.7rem)}.mobile-meta-inline{margin-top:8px;font-size:clamp(.62rem,2.5vw,.72rem)}}
