.album-library{position:fixed;right:0;top:0;width:320px;height:100vh;background:#ffffff1a;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-left:1px solid rgba(255,255,255,.2);box-shadow:-4px 0 24px #0000001a;display:flex;flex-direction:column;z-index:100;overflow:visible;transition:transform .3s ease}.album-library.collapsed{transform:translate(100%)}.album-library:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffff1a,#ffffff0d,#ffffff1a);pointer-events:none;z-index:-1}.album-library-header{padding:24px 20px 16px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;background:#ffffff0d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.album-library-header-right{display:flex;align-items:center;gap:12px}.album-library-collapse-button{position:absolute;right:100%;top:50%;transform:translateY(-50%);background:#ffffff26;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.2);border-right:none;border-radius:8px 0 0 8px;padding:12px 16px;color:#000c;font-size:14px;font-weight:600;cursor:pointer;z-index:101;transition:all .3s ease;box-shadow:-2px 0 12px #0000001a;display:flex;align-items:center;justify-content:center;min-width:40px;height:48px}.album-library-collapse-button:hover{background:#ffffff40;transform:translateY(-50%) translate(-4px);box-shadow:-4px 0 16px #00000026}.album-library-expand-tab{position:fixed;right:0;top:50%;transform:translateY(-50%) rotate(-90deg);transform-origin:center;background:#ffffff26;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.2);border-right:none;border-radius:8px 8px 0 0;padding:12px 24px;color:#000c;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:1px;cursor:pointer;z-index:100;transition:all .3s ease;box-shadow:-2px 0 12px #0000001a;white-space:nowrap}.album-library-expand-tab:hover{background:#ffffff40;transform:translateY(-50%) rotate(-90deg) translate(-4px);box-shadow:-4px 0 16px #00000026}.album-library-header h2{margin:0;font-size:18px;font-weight:600;color:#000c;text-transform:uppercase;letter-spacing:1px}.album-count{background:#0000001a;color:#000000b3;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.album-library-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent}.album-library-content::-webkit-scrollbar{width:6px}.album-library-content::-webkit-scrollbar-track{background:transparent}.album-library-content::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}.album-library-content::-webkit-scrollbar-thumb:hover{background:#0000004d}.album-library-empty{display:flex;align-items:center;justify-content:center;height:200px;color:#00000080;font-size:14px}.album-library-item{display:flex;align-items:center;padding:12px;margin-bottom:8px;background:#ffffff26;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:12px;cursor:grab;transition:all .2s ease,opacity .1s ease,transform .1s ease;position:relative;overflow:hidden;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.album-library-item:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,255,255,.1) 0%,transparent 100%);opacity:0;transition:opacity .2s ease;pointer-events:none}.album-library-item:hover{background:#ffffff40;border-color:#ffffff4d;transform:translate(-4px);box-shadow:0 4px 12px #0000001a}.album-library-item:hover:before{opacity:1}.album-library-item:active{cursor:grabbing;transform:translate(-2px) scale(.98)}.album-library-item.dragging,.album-library-item.is-dragging{opacity:.6;transform:scale(1.05);box-shadow:0 8px 24px #0000004d;z-index:1000;pointer-events:none;transition:none}.album-library-item.dragging:before,.album-library-item.is-dragging:before{opacity:0}.album-library-item-image{width:60px;height:60px;min-width:60px;border-radius:8px;overflow:hidden;margin-right:12px;box-shadow:0 2px 8px #00000026;background:#0000001a}.album-library-item-image img{width:100%;height:100%;object-fit:cover;display:block}.album-library-item-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}.album-library-item-name{font-size:14px;font-weight:600;color:#000000d9;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.album-library-item-artist{font-size:12px;color:#0009;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.album-library-item[draggable=true]{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}@media (max-width: 768px){.album-library{width:280px}}@media (max-width: 480px){.album-library{width:100%;height:40vh;bottom:0;top:auto;border-left:none;border-top:1px solid rgba(255,255,255,.2)}}.genre-library{position:fixed;left:0;top:0;width:200px;height:100vh;background:#ffffff1a;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-right:1px solid rgba(255,255,255,.2);box-shadow:4px 0 24px #0000001a;display:flex;flex-direction:column;z-index:99;overflow:visible;transition:transform .3s ease}.genre-library.collapsed{transform:translate(-100%)}.genre-library:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffff1a,#ffffff0d,#ffffff1a);pointer-events:none;z-index:-1}.genre-library-header{padding:24px 20px 16px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;background:#ffffff0d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.genre-library-header-right{display:flex;align-items:center;gap:12px}.collapse-button{background:#0000001a;border:none;color:#000000b3;padding:6px 10px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:32px;height:28px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.collapse-button:hover{background:#0003;color:#000000e6;transform:scale(1.05)}.collapse-button:active{transform:scale(.95)}.genre-library-collapse-button{position:absolute;left:100%;top:50%;transform:translateY(-50%);background:#ffffff26;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.2);border-left:none;border-radius:0 8px 8px 0;padding:12px 16px;color:#000c;font-size:14px;font-weight:600;cursor:pointer;z-index:100;transition:all .3s ease;box-shadow:2px 0 12px #0000001a;display:flex;align-items:center;justify-content:center;min-width:40px;height:48px}.genre-library-collapse-button:hover{background:#ffffff40;transform:translateY(-50%) translate(4px);box-shadow:4px 0 16px #00000026}.genre-library-expand-tab{position:fixed;left:0;top:50%;transform:translateY(-50%) rotate(90deg);transform-origin:center;background:#ffffff26;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.2);border-left:none;border-radius:0 0 8px 8px;padding:12px 24px;color:#000c;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:1px;cursor:pointer;z-index:99;transition:all .3s ease;box-shadow:2px 0 12px #0000001a;white-space:nowrap}.genre-library-expand-tab:hover{background:#ffffff40;transform:translateY(-50%) rotate(90deg) translate(4px);box-shadow:4px 0 16px #00000026}.genre-library-header h2{margin:0;font-size:16px;font-weight:600;color:#000c;text-transform:uppercase;letter-spacing:1px}.genre-count{background:#0000001a;color:#000000b3;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.genre-library-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent}.genre-library-content::-webkit-scrollbar{width:6px}.genre-library-content::-webkit-scrollbar-track{background:transparent}.genre-library-content::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}.genre-library-content::-webkit-scrollbar-thumb:hover{background:#0000004d}.genre-library-empty{display:flex;align-items:center;justify-content:center;height:200px;color:#00000080;font-size:14px}.genre-library-item{display:flex;align-items:center;padding:12px;margin-bottom:8px;background:#ffffff26;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:12px;cursor:grab;transition:all .2s ease,opacity .1s ease,transform .1s ease;position:relative;overflow:hidden;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.genre-library-item:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,255,255,.1) 0%,transparent 100%);opacity:0;transition:opacity .2s ease;pointer-events:none}.genre-library-item:hover{background:#ffffff40;border-color:#ffffff4d;transform:translate(4px);box-shadow:0 4px 12px #0000001a}.genre-library-item:hover:before{opacity:1}.genre-library-item:active{cursor:grabbing;transform:translate(2px) scale(.98)}.genre-library-item.dragging,.genre-library-item.is-dragging{opacity:.6;transform:scale(1.05);box-shadow:0 8px 24px #0000004d;z-index:1000;pointer-events:none;transition:none}.genre-library-item.dragging:before,.genre-library-item.is-dragging:before{opacity:0}.genre-library-item-name{font-size:14px;font-weight:600;color:#000000d9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3;text-transform:uppercase;letter-spacing:1px}.genre-library-item[draggable=true]{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}@media (max-width: 1200px){.genre-library{width:180px}}@media (max-width: 768px){.genre-library{width:160px}}@media (max-width: 480px){.genre-library{width:100%;height:30vh;bottom:0;top:auto;left:0;border-right:none;border-top:1px solid rgba(255,255,255,.2)}}.App{--surface-0: #050505;--surface-1: rgba(17, 17, 20, .88);--surface-2: rgba(255, 255, 255, .04);--surface-3: rgba(255, 255, 255, .08);--text-1: #f4f4f8;--text-2: rgba(255, 255, 255, .68);--accent-1: #d94bff;--accent-2: #8a3ffc;--accent-3: #ff8f34;--outline: rgba(255, 255, 255, .09);--shadow-lg: 0 22px 60px rgba(0, 0, 0, .34);--shadow-md: 0 14px 32px rgba(0, 0, 0, .24)}.App{width:100vw;height:100vh;overflow:hidden;background:radial-gradient(circle at top left,rgba(201,65,255,.16),transparent 38%),radial-gradient(circle at 80% 10%,rgba(255,117,24,.12),transparent 24%),#050505}.login-screen{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:2rem;overflow:hidden;background:linear-gradient(145deg,#130d1cf5,#050505fa),#050505}.login-screen__glow{position:absolute;border-radius:999px;filter:blur(80px);opacity:.65;pointer-events:none}.login-screen__glow--left{width:22rem;height:22rem;top:14%;left:-6rem;background:#b63dff42}.login-screen__glow--right{width:18rem;height:18rem;right:-4rem;bottom:10%;background:#ff802638}.login-card{position:relative;z-index:1;width:min(100%,38rem);padding:3rem;border:1px solid rgba(255,255,255,.08);border-radius:2rem;background:#0f0f12e0;box-shadow:0 28px 80px #0000006b;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.login-kicker{margin-bottom:.9rem;color:#ffffffb3;font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.login-brand,.dashboard-logo{background:linear-gradient(90deg,#ff4dc8,#bf4dff 48%,#ff8a2b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-brand{margin-bottom:1rem;font-size:clamp(3rem,9vw,5.6rem);line-height:.95}.login-copy{max-width:28rem;margin-bottom:1rem;color:#f4ecff;font-size:1.06rem}.login-hint,.login-error{margin-bottom:1.5rem;color:#ffffffad;font-size:.95rem}.login-error{color:#ff9b8f}.spotify-login-button{display:inline-flex;align-items:center;gap:.9rem;min-height:3.6rem;padding:.7rem 1.35rem .7rem .8rem;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:linear-gradient(135deg,#1ed760,#14b248);color:#04120b;font-size:.98rem;font-weight:800;letter-spacing:.01em;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;box-shadow:0 12px 30px #1ed76038}.spotify-login-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 16px 34px #1ed7604d}.spotify-login-button:disabled{opacity:.72;cursor:wait}.spotify-login-button__icon{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;border-radius:999px;background:#ffffff38}.spotify-login-button__icon img{width:1.2rem;height:1.2rem;object-fit:contain}.dashboard-shell{display:flex;flex-direction:column;width:100%;height:100%;background:radial-gradient(circle at top center,rgba(217,75,255,.08),transparent 28%),linear-gradient(180deg,#ffffff03,#fff0),#050505}.dashboard-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:1rem;min-height:4.5rem;padding:0 1.6rem;border-bottom:1px solid var(--outline);background:linear-gradient(180deg,#16161af5,#0f0f12eb);box-shadow:inset 0 -1px #ffffff05;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.dashboard-logo{font-size:1.45rem;font-weight:800;justify-self:start}.dashboard-nav{display:inline-flex;align-items:center;gap:.6rem;justify-self:center;padding:.4rem;border-radius:999px;background:linear-gradient(180deg,#ffffff0b,#ffffff05);box-shadow:inset 0 0 0 1px #ffffff08;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.dashboard-nav__item{padding:.52rem 1.12rem;border:0;border-radius:999px;background:transparent;color:#fff9;font-size:.8rem;font-weight:700;letter-spacing:.01em;cursor:pointer;transition:transform .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease}.dashboard-nav__item:hover{color:#ffffffe0;background:#ffffff0a}.dashboard-nav__item--active{background:linear-gradient(135deg,var(--accent-1),var(--accent-2));color:#fff;box-shadow:0 10px 26px #8a3ffc57;transform:translateY(-1px)}.dashboard-user{display:inline-flex;align-items:center;justify-content:flex-end;gap:.8rem;justify-self:end}.dashboard-user__name{color:#f4f4f8;font-size:.82rem;font-weight:700}.dashboard-logout{padding:.45rem .8rem;border:0;border-radius:.6rem;background:linear-gradient(135deg,#ff9c43,#ff6f1f);color:#fff;font-size:.78rem;font-weight:800;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;box-shadow:0 10px 24px #ff6f1f3d}.dashboard-logout:hover{transform:translateY(-1px);filter:brightness(1.03)}.dashboard-stage{position:relative;flex:1;overflow:hidden;background:radial-gradient(circle at 50% 50%,rgba(105,44,160,.08),transparent 32%),#050505}.dashboard-stage--stream{background:#fff}.dashboard-empty{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;color:#fff}.dashboard-empty h2{margin-bottom:.65rem;font-size:clamp(1.5rem,4vw,2.4rem)}.dashboard-empty p{max-width:28rem;color:#ffffffa3}.dashboard-overlay-card{position:absolute;z-index:110;display:flex;flex-direction:column;gap:.5rem;width:min(28rem,calc(100% - 3rem));padding:1.05rem 1.15rem;border:1px solid var(--outline);border-radius:1.15rem;background:linear-gradient(180deg,#141418e6,#0a0a0cd6);color:#fff;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:dashboard-fade-up .32s ease both}.dashboard-overlay-card strong{font-size:.95rem;font-weight:800}.dashboard-overlay-card__eyebrow{color:#ffffff7a;font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.dashboard-overlay-card span{color:#ffffffad;font-size:.8rem;line-height:1.5}.dashboard-overlay-card--left{top:1rem;left:1rem;animation-delay:60ms}.dashboard-overlay-card--center{top:1rem;left:50%;transform:translate(-50%);animation-delay:.12s}.dashboard-quick-actions{display:flex;flex-wrap:wrap;gap:.6rem}.dashboard-quick-action{padding:.55rem .85rem;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:linear-gradient(180deg,#fff1,#ffffff09);color:#fff;font-size:.78rem;font-weight:700;cursor:pointer;transition:transform .18s ease,background .2s ease,border-color .2s ease,opacity .2s ease}.dashboard-quick-action:hover:not(:disabled){transform:translateY(-1px);background:linear-gradient(180deg,#ffffff1a,#ffffff0d);border-color:#ffffff29}.dashboard-quick-action:disabled{opacity:.45;cursor:not-allowed}.dashboard-library-view{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(18rem,.9fr);gap:1rem;width:100%;height:100%;padding:1rem;overflow:auto}.dashboard-library-panel{display:flex;flex-direction:column;min-height:0;padding:1.25rem;border:1px solid var(--outline);border-radius:1.2rem;background:linear-gradient(180deg,#121216eb,#0b0b0ee0);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:dashboard-fade-up .32s ease both}.dashboard-library-panel--narrow{max-height:100%}.dashboard-library-panel__eyebrow{margin-bottom:.4rem;color:#ffffff80;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.dashboard-library-panel h2{margin-bottom:.5rem;color:#fff;font-size:clamp(1.4rem,3vw,2rem)}.dashboard-library-panel__copy{margin-bottom:1rem;color:#ffffff9e;font-size:.9rem;line-height:1.5}.dashboard-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:.9rem;overflow:auto}.dashboard-library-card{display:flex;flex-direction:column;gap:.8rem;min-width:0;padding:.8rem;border:1px solid rgba(255,255,255,.08);border-radius:1rem;background:linear-gradient(180deg,#ffffff0b,#ffffff06);color:#fff;text-align:left;cursor:pointer;transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}.dashboard-library-card:hover{transform:translateY(-2px);border-color:#ffffff24;background:linear-gradient(180deg,#ffffff0f,#ffffff08);box-shadow:0 10px 24px #0003}.dashboard-library-card__art{display:block;aspect-ratio:1 / 1;border-radius:.8rem;overflow:hidden;background:#ffffff0f}.dashboard-library-card__art img{width:100%;height:100%;object-fit:cover}.dashboard-library-card__meta{display:flex;flex-direction:column;gap:.25rem;min-width:0}.dashboard-library-card__meta strong,.dashboard-library-card__meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-library-card__meta strong{font-size:.9rem}.dashboard-library-card__meta span{color:#ffffff94;font-size:.8rem}.dashboard-genre-list{display:flex;flex-wrap:wrap;gap:.75rem;align-content:flex-start;overflow:auto}.dashboard-genre-pill{padding:.7rem .9rem;border:1px solid rgba(255,255,255,.18);border-left-width:4px;border-radius:999px;background:#ffffff0a;color:#fff;font-size:.82rem;font-weight:700}.dashboard-library-empty-state{color:#ffffff94;font-size:.88rem;line-height:1.5}.dashboard-stat-card{position:absolute;left:1rem;bottom:1rem;z-index:3;display:flex;flex-direction:column;gap:.35rem;padding:.95rem 1rem;border:1px solid var(--outline);border-radius:1rem;background:linear-gradient(180deg,#111115e6,#0a0a0cd6);color:#fff;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:dashboard-fade-up .32s ease both;animation-delay:.16s}.dashboard-stat-card strong{font-size:.82rem;font-weight:800}.dashboard-stat-card span{color:#ffffff94;font-size:.72rem}.dashboard-next{position:absolute;right:1rem;bottom:1rem;z-index:3;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-width:3.3rem;height:3.3rem;padding:0 1.05rem;border:0;border-radius:999px;background:linear-gradient(135deg,var(--accent-1),var(--accent-2));color:#fff;font-size:1.1rem;font-weight:800;cursor:pointer;box-shadow:0 16px 34px #8a3ffc61;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.dashboard-next:hover{transform:translateY(-2px);box-shadow:0 20px 38px #8a3ffc70;filter:brightness(1.03)}.dashboard-next__label{font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}@keyframes dashboard-fade-up{0%{opacity:0;filter:blur(6px)}to{opacity:1;filter:blur(0)}}.dashboard-error{position:absolute;top:1rem;left:50%;z-index:3;padding:.8rem 1rem;border:1px solid rgba(255,135,120,.18);border-radius:.75rem;background:#310e0ee6;color:#ffb3a7;font-size:.86rem;transform:translate(-50%)}@media (max-width: 900px){.dashboard-header{grid-template-columns:1fr;justify-items:center;gap:.8rem;padding:.9rem 1rem}.dashboard-logo,.dashboard-nav,.dashboard-user{justify-self:center}.login-card{padding:2rem 1.4rem}.dashboard-library-view{grid-template-columns:1fr}}@media (max-width: 640px){.dashboard-nav{width:100%;justify-content:center;flex-wrap:wrap}.dashboard-user{flex-wrap:wrap}.dashboard-stat-card{right:1rem;left:1rem;bottom:4.75rem}.dashboard-library-grid{grid-template-columns:1fr}.dashboard-overlay-card--left,.dashboard-overlay-card--center{left:1rem;right:1rem;width:auto;transform:none}}:root{--bg-color: #050505;--bg-secondary: #141416;--text-primary: #f5f5f7;--text-secondary: #9d9da6;--accent-color: #b43dff;--font-family: "Space Grotesk", "Avenir Next", "Segoe UI", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-primary);line-height:1.5;font-weight:400;overflow:hidden}#root{width:100vw;height:100vh;display:flex;flex-direction:column}h1,h2,h3{font-weight:700}button{cursor:pointer;border:none;outline:none;font-family:inherit}button:focus-visible{outline:2px solid rgba(180,61,255,.7);outline-offset:2px}
