.theme-switcher{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:2px solid transparent;border-radius:50%;background-color:#646cff1a;color:inherit;cursor:pointer;transition:all .3s ease;padding:0}.theme-switcher:hover{background-color:#646cff33;border-color:#646cff;transform:scale(1.1)}.theme-switcher:active{transform:scale(.95)}.theme-switcher svg{transition:transform .4s ease}.theme-switcher:hover svg{transform:rotate(20deg)}@media(prefers-color-scheme:light){.theme-switcher{background-color:#7878781a;color:#213547}.theme-switcher:hover{background-color:#78787833;border-color:#747bff}}.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-width);background-color:var(--color-bg);border-right:1px solid var(--color-border);display:flex;flex-direction:column;align-items:center;z-index:900;overflow:visible;padding-bottom:1rem}.sidebar-logo-block{width:100%;height:var(--topbar-height, 53px);display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--color-border);flex-shrink:0}.sidebar-logo-mark{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background-color:var(--color-primary);color:#fff;font-size:.75rem;font-weight:800;letter-spacing:.01em;-webkit-user-select:none;user-select:none}.sidebar-nav{list-style:none;margin:0;padding:.5rem 0;width:100%;display:flex;flex-direction:column;align-items:center;gap:.125rem}.sidebar-divider{width:28px;height:1px;background-color:var(--color-border);margin:.25rem 0;flex-shrink:0}.sidebar-item{position:relative;width:100%;display:flex;justify-content:center}.sidebar-link{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;color:var(--color-text);text-decoration:none;transition:background-color .15s,color .15s;opacity:.6}.sidebar-link:hover{background-color:#646cff1a;color:var(--color-primary);opacity:1}.sidebar-link--active{background-color:#646cff1f;color:var(--color-primary);opacity:1}.sidebar-emoji-nav{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:1.25rem;line-height:1}.sidebar-label{display:none}.sidebar-tooltip{position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);background-color:var(--color-text);color:var(--color-bg);font-size:.75rem;font-weight:600;white-space:nowrap;padding:.3rem .6rem;border-radius:6px;pointer-events:none;opacity:0;transition:opacity .15s;z-index:1200}.sidebar-tooltip:before{content:"";position:absolute;right:100%;top:50%;transform:translateY(-50%);border:5px solid transparent;border-right-color:var(--color-text)}.sidebar-link:hover .sidebar-tooltip{opacity:1}.sidebar-overlay{display:none}@media(max-width:767px){.sidebar{top:0;width:220px;align-items:flex-start;transform:translate(-100%);transition:transform .25s ease;z-index:1100;overflow-y:auto}.sidebar--open{transform:translate(0)}.sidebar-nav{align-items:flex-start;padding:.5rem}.sidebar-item{justify-content:flex-start;width:100%}.sidebar-link{width:100%;justify-content:flex-start;gap:.75rem;padding:0 .75rem;border-radius:8px;height:42px;opacity:1}.sidebar-label{display:inline;font-size:.9rem;font-weight:500}.sidebar-tooltip{display:none}.sidebar-logo-block{width:100%;justify-content:flex-start;padding-left:1rem}.sidebar-overlay{display:block;position:fixed;inset:0;background-color:#0006;z-index:1099}}.not-found{display:flex;align-items:center;justify-content:center;min-height:min(70vh,32rem);padding:2rem 0 3rem;box-sizing:border-box}.not-found__inner{width:100%;max-width:28rem;padding:2rem 1.75rem;border-radius:1rem;background:var(--color-card-bg);border:1px solid var(--color-card-border);box-shadow:0 12px 40px #0f0f281f;text-align:center}:root[data-theme=dark] .not-found__inner,:root.dark .not-found__inner{box-shadow:0 12px 48px #00000059}.not-found__code{margin:0 0 .5rem;font-size:.75rem;font-weight:700;letter-spacing:.35em;text-transform:uppercase;color:var(--color-primary);opacity:.85}.not-found__title{margin:0 0 1rem;font-size:clamp(1.5rem,4vw,1.85rem);font-weight:700;line-height:1.2;letter-spacing:-.02em;color:var(--color-text);outline:none}.not-found__title:focus-visible{border-radius:.25rem;box-shadow:0 0 0 3px var(--color-glow)}.not-found__lead{margin:0 0 1.75rem;font-size:1rem;line-height:1.55;color:var(--color-text);opacity:.88}.not-found__path{display:inline;padding:.1em .35em;font-size:.9em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;word-break:break-all;background:#7c3aed14;border-radius:.25rem}:root[data-theme=dark] .not-found__path,:root.dark .not-found__path{background:#a78bfa1f}.not-found__actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.not-found__btn{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.5rem 1.25rem;font-size:1rem;font-weight:600;font-family:inherit;line-height:1.2;text-decoration:none;color:var(--color-primary);background:transparent;border:1px solid var(--color-border);border-radius:.5rem;cursor:pointer;transition:border-color .2s,background .2s,color .2s}.not-found__btn:hover{color:var(--color-primary-hover);border-color:var(--color-primary)}.not-found__btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-glow)}.not-found__btn--primary{color:#fff;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-hover) 100%);border-color:transparent}.not-found__btn--primary:hover{color:#fff;filter:brightness(1.06)}@media(prefers-reduced-motion:reduce){.not-found__btn{transition:none}}@media(max-width:767px){.not-found{padding-left:0;padding-right:0}.not-found__inner{padding:1.5rem 1.25rem}}:root{--topbar-height: 53px;--sidebar-width: 60px}main{margin-left:var(--sidebar-width);padding-top:var(--topbar-height);padding-left:2rem;padding-right:2rem;min-height:100vh;box-sizing:border-box;width:calc(100% - var(--sidebar-width))}@media(max-width:767px){main{margin-left:0;width:100%}}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.topbar{position:fixed;top:0;left:var(--sidebar-width, 60px);right:0;height:var(--topbar-height, 53px);z-index:1000;background-color:var(--color-bg);border-bottom:1px solid var(--color-border);padding:0 1rem;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between}.topbar-leading{display:flex;align-items:center;gap:.25rem;min-width:0}.topbar-back{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;border-radius:8px;background:transparent;color:inherit;cursor:pointer;transition:background-color .15s;flex-shrink:0}.topbar-back:hover{background-color:#646cff14}.topbar-hamburger{display:none;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;border-radius:8px;background:transparent;color:inherit;cursor:pointer;transition:background-color .15s;visibility:hidden}@media(max-width:767px){.topbar-hamburger{visibility:visible}}.topbar-hamburger:hover{background-color:#646cff14;border-color:transparent}@media(max-width:767px){.topbar{left:0}.topbar-hamburger{display:flex}}.topbar-actions{display:flex;align-items:center;gap:.75rem;margin-left:auto}.header-auth-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:2px solid transparent;border-radius:50%;background-color:#646cff1a;color:inherit;cursor:pointer;transition:all .3s ease;padding:0}.header-auth-btn:hover{background-color:#646cff33;border-color:#646cff;transform:scale(1.1)}.header-auth-btn:active{transform:scale(.95)}.header-auth-btn svg{transition:transform .3s ease}.header-auth-btn:hover svg{transform:translate(2px)}.login-page{display:flex;align-items:center;justify-content:center;min-height:80vh}.login-card{width:100%;max-width:400px;padding:2.5rem;border-radius:16px;background:var(--card-bg, rgba(100, 108, 255, .05));border:1px solid var(--card-border, rgba(100, 108, 255, .1));text-align:left}.login-title{font-size:1.875rem;font-weight:700;margin:0 0 .5rem}.login-subtitle{opacity:.7;margin:0 0 2rem}.login-form{display:flex;flex-direction:column;gap:1.25rem}.form-field{display:flex;flex-direction:column;gap:.5rem}.form-field label{font-size:.875rem;font-weight:500;opacity:.9}.form-field input{padding:.75rem 1rem;border-radius:8px;border:1px solid var(--color-border);background:transparent;color:inherit;font-size:1rem;font-family:inherit;transition:border-color .2s ease;outline:none}.form-field input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-nebula)}.login-error{color:#f87171;font-size:.875rem;margin:0;padding:.75rem 1rem;background:#f871711a;border-radius:8px;border:1px solid rgba(248,113,113,.2)}.btn-full{width:100%;margin-top:.5rem}:root[data-theme=dark] .login-card{--card-bg: rgba(100, 108, 255, .08);--card-border: rgba(100, 108, 255, .15)}:root[data-theme=light] .login-card{--card-bg: rgba(100, 108, 255, .03);--card-border: rgba(100, 108, 255, .1)}.starfield{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0}.starfield-layer{position:absolute;top:0;left:0;width:2px;height:2px;border-radius:50%;background:transparent;animation-timing-function:linear;animation-iteration-count:infinite}.starfield-layer--small{box-shadow:24px 89px #c4b5fd,132px 210px #c4b5fd,290px 45px #e0e7ff,410px 320px #c4b5fd,530px 150px #e0e7ff,670px 410px #c4b5fd,50px 500px #e0e7ff,180px 650px #c4b5fd,340px 720px #e0e7ff,490px 580px #c4b5fd,620px 90px #e0e7ff,760px 260px #c4b5fd,850px 430px #e0e7ff,920px 600px #c4b5fd,1050px 150px #e0e7ff,1120px 340px #c4b5fd,1230px 520px #e0e7ff,1350px 80px #c4b5fd,1440px 290px #e0e7ff,1500px 470px #c4b5fd,95px 800px #e0e7ff,250px 860px #c4b5fd,400px 920px #e0e7ff,580px 780px #c4b5fd,700px 850px #e0e7ff,830px 750px #c4b5fd,980px 810px #e0e7ff,1100px 880px #c4b5fd,1250px 730px #e0e7ff,1400px 800px #c4b5fd,70px 300px #e0e7ff,200px 450px #c4b5fd,360px 200px #e0e7ff,520px 370px #c4b5fd,680px 550px #e0e7ff,810px 180px #c4b5fd,950px 370px #e0e7ff,1080px 50px #c4b5fd,1200px 200px #e0e7ff,1330px 400px #c4b5fd,1460px 620px #e0e7ff,1550px 150px #c4b5fd,160px 70px #e0e7ff,310px 380px #c4b5fd,460px 130px #e0e7ff,600px 250px #c4b5fd,740px 500px #e0e7ff,880px 620px #c4b5fd,1020px 270px #e0e7ff,1160px 450px #c4b5fd,1300px 620px #e0e7ff,1430px 110px #c4b5fd,1570px 350px #e0e7ff,45px 620px #c4b5fd,230px 550px #e0e7ff,380px 470px #c4b5fd,540px 690px #e0e7ff,690px 340px #c4b5fd,820px 520px #e0e7ff,960px 140px #c4b5fd,1100px 680px #e0e7ff,1260px 310px #c4b5fd,1400px 540px #e0e7ff;animation-name:starDrift;animation-duration:80s}.starfield-layer--medium{width:2px;height:2px;box-shadow:100px 120px #a78bfa,320px 300px #e0e7ff,540px 80px #a78bfa,710px 450px #e0e7ff,890px 200px #a78bfa,1050px 550px #e0e7ff,1200px 100px #a78bfa,1380px 380px #e0e7ff,60px 420px #a78bfa,230px 700px #e0e7ff,420px 580px #a78bfa,600px 740px #e0e7ff,780px 620px #a78bfa,940px 800px #e0e7ff,1100px 420px #a78bfa,1280px 700px #e0e7ff,150px 250px #a78bfa,360px 150px #e0e7ff,500px 440px #a78bfa,650px 170px #e0e7ff,830px 360px #a78bfa,1000px 510px #e0e7ff,1170px 260px #a78bfa,1340px 160px #e0e7ff,1480px 500px #a78bfa,80px 780px #e0e7ff,270px 480px #a78bfa,440px 820px #e0e7ff,620px 390px #a78bfa,810px 110px #e0e7ff,970px 680px #a78bfa,1130px 570px #e0e7ff,1300px 850px #a78bfa,1450px 270px #e0e7ff,190px 600px #a78bfa,380px 340px #e0e7ff;animation-name:starDrift;animation-duration:120s}.starfield-layer--large{width:3px;height:3px;box-shadow:200px 180px #c4b5fd,480px 400px #a78bfa,780px 250px #c4b5fd,1020px 600px #a78bfa,1320px 150px #c4b5fd,60px 650px #a78bfa,350px 550px #c4b5fd,640px 100px #a78bfa,900px 450px #c4b5fd,1150px 300px #a78bfa,1420px 650px #c4b5fd,260px 50px #a78bfa,550px 700px #c4b5fd,820px 820px #a78bfa,1100px 100px #c4b5fd,1350px 480px #a78bfa,140px 380px #c4b5fd,430px 250px #a78bfa,700px 570px #c4b5fd,980px 720px #a78bfa;animation-name:starDrift,twinkle;animation-duration:160s,4s;animation-timing-function:linear,ease-in-out;animation-iteration-count:infinite,infinite}@keyframes starDrift{0%{transform:translateY(0)}to{transform:translateY(-100vh)}}@keyframes twinkle{0%,to{opacity:1}50%{opacity:.4}}@media(prefers-reduced-motion:reduce){.starfield-layer{animation:none!important}}.games-page{position:relative;max-width:960px;margin:0 auto;padding:2rem 0;z-index:1}.games-hero{text-align:center;margin-bottom:3rem}.games-hero h1{font-size:2.5rem;font-weight:700;margin:0 0 .75rem;background:linear-gradient(135deg,var(--color-primary) 0%,#3b82f6 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.games-hero p{font-size:1.1rem;color:var(--color-text);opacity:.7;margin:0}.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem}.game-card{position:relative;display:flex;flex-direction:column;gap:.5rem;padding:1.75rem 1.5rem;background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:16px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:border-color .3s,box-shadow .3s,transform .3s}.game-card:hover{border-color:var(--color-primary);box-shadow:0 8px 32px #7c3aed1a,0 0 24px var(--color-nebula);transform:translateY(-4px)}.game-card--coming-soon{opacity:.8}.game-card-icon{color:var(--color-primary);margin-bottom:.25rem}.game-card h2{font-size:1.1rem;font-weight:600;margin:0;color:var(--color-text)}.game-card p{font-size:.9rem;color:var(--color-text);opacity:.7;margin:0;line-height:1.5}.game-badge{display:inline-block;margin-top:.5rem;padding:.2rem .6rem;font-size:.75rem;font-weight:600;border-radius:20px;background:linear-gradient(135deg,#7c3aed26,#3b82f61a);color:var(--color-primary);letter-spacing:.02em;text-transform:uppercase;align-self:flex-start}.contact-page{position:relative;width:100%;max-width:800px;margin:0 auto;padding:4rem 1rem;display:flex;flex-direction:column;gap:2.5rem;box-sizing:border-box;z-index:1}.contact-header{text-align:center}.contact-header h1{font-size:2.5rem;font-weight:700;margin:0 0 .75rem;background:linear-gradient(135deg,var(--color-primary) 0%,#3b82f6 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.contact-header p{font-size:1.125rem;opacity:.75;margin:0}.contact-form{display:flex;flex-direction:column;gap:1.5rem;text-align:left;padding:2.5rem;border-radius:20px;background:var(--color-card-bg);border:1px solid var(--color-card-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group--full{grid-column:1 / -1}.contact-form label{font-size:.875rem;font-weight:600;opacity:.9}.contact-form input,.contact-form select,.contact-form textarea{padding:.75rem 1rem;border-radius:10px;border:1px solid var(--color-border);background:#7c3aed0a;color:inherit;font-size:1rem;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease;outline:none;width:100%;box-sizing:border-box}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-nebula),0 0 16px var(--color-nebula)}.contact-form select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem;cursor:pointer}.contact-form textarea{resize:vertical;min-height:140px}:root[data-theme=dark] .contact-form input,:root[data-theme=dark] .contact-form select,:root[data-theme=dark] .contact-form textarea{background:#ffffff0a}:root[data-theme=dark] .contact-form select option{background:#0f0f28}.contact-form .form-error{color:#ef4444;font-size:.9rem;margin:0;padding:.75rem 1rem;border-radius:8px;background:#ef444414;border:1px solid rgba(239,68,68,.2)}.form-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:.5rem}.contact-success{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:4rem 2rem;text-align:center}.success-icon{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#3b82f6);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 0 40px #7c3aed59;animation:popIn .4s cubic-bezier(.34,1.56,.64,1)}@keyframes popIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.contact-success h2{font-size:2rem;margin:0;background:linear-gradient(135deg,var(--color-primary) 0%,#3b82f6 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.contact-success p{opacity:.75;margin:0 0 1rem}@media(max-width:640px){.contact-page{padding:2rem 1rem}.contact-header h1{font-size:2rem}.contact-form{padding:1.5rem}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%;text-align:center}}.home-page{position:relative;width:100%;min-height:100vh;display:flex;flex-direction:column;gap:4rem;padding-top:2rem;z-index:1}.hero{position:relative;display:flex;align-items:center;min-height:70vh;overflow:hidden}.hero-col{flex:1;min-width:0}.hero-col--left{display:flex;align-items:center}.hero-col--right{display:flex;align-items:center;justify-content:center}.hero.loaded .hero-content{animation:fadeInUp .8s ease-out}.hero.loaded .hero-sun{animation:fadeInUp 1s ease-out .2s both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-content{flex:1;z-index:10;max-width:600px}.hero-title{font-size:3.5rem;font-weight:700;line-height:1.2;margin:0 0 1.5rem;letter-spacing:-1px}.highlight{background:linear-gradient(135deg,#a78bfa,#3b82f6,#818cf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:inline-block;animation:gradientShift 4s ease-in-out infinite;filter:drop-shadow(0 0 20px var(--color-glow))}@keyframes gradientShift{0%,to{filter:hue-rotate(0deg) drop-shadow(0 0 20px var(--color-glow))}50%{filter:hue-rotate(20deg) drop-shadow(0 0 30px var(--color-glow))}}.hero-subtitle{font-size:1.25rem;line-height:1.7;margin:0 0 2.5rem;opacity:.75}.hero-sun{position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:center;animation:sunFloat 8s ease-in-out infinite}.sun-clip{position:relative;z-index:1;width:300px;height:300px;border-radius:50%;overflow:hidden}.sun-clip:before{content:"";position:absolute;inset:-40%;border-radius:50%;z-index:-1;animation:radiateGlow 3s ease-in-out infinite}.sun-clip img{width:100%;height:100%;object-fit:cover;transform:scale(1.15);-webkit-user-select:none;user-select:none}.hero-sun__skeleton{position:absolute;inset:0;border-radius:50%;background:linear-gradient(90deg,#7c3aed0f 25%,#7c3aed1f,#7c3aed0f 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;z-index:2}.hero-sun__img--loading{opacity:0}.hero-sun__img--loaded{opacity:1;animation:imgFadeIn .4s ease-out}.sun-clip--light{animation:radiateLight 3s ease-in-out infinite}.sun-clip--light:before{background:radial-gradient(circle,rgba(251,191,36,.3) 0%,rgba(245,158,11,.15) 30%,rgba(234,88,12,.06) 55%,transparent 70%)}.sun-clip--dark{animation:radiateLightBlue 3s ease-in-out infinite}.sun-clip--dark:before{background:radial-gradient(circle,rgba(56,189,248,.3) 0%,rgba(14,165,233,.15) 30%,rgba(59,130,246,.06) 55%,transparent 70%)}@keyframes radiateLight{0%,to{filter:drop-shadow(0 0 20px rgba(245,158,11,.4)) drop-shadow(0 0 50px rgba(234,88,12,.2))}50%{filter:drop-shadow(0 0 35px rgba(245,158,11,.6)) drop-shadow(0 0 80px rgba(234,88,12,.3)) drop-shadow(0 0 120px rgba(251,191,36,.15))}}@keyframes radiateLightBlue{0%,to{filter:drop-shadow(0 0 20px rgba(56,189,248,.4)) drop-shadow(0 0 50px rgba(59,130,246,.2))}50%{filter:drop-shadow(0 0 35px rgba(56,189,248,.6)) drop-shadow(0 0 80px rgba(59,130,246,.3)) drop-shadow(0 0 120px rgba(14,165,233,.15))}}@keyframes radiateGlow{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.12);opacity:1}}:root[data-theme=dark] .sun-clip--light{display:none}:root:not([data-theme=dark]) .sun-clip--dark,:root[data-theme=light] .sun-clip--dark{display:none}@keyframes sunFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}.shooting-star{position:absolute;top:15%;left:-5%;width:120px;height:2px;background:linear-gradient(90deg,#a78bfa00,#c4b5fd 40%,#fff);border-radius:2px;opacity:0;animation:shoot 6s ease-in infinite;animation-delay:3s;transform:rotate(-25deg)}@keyframes shoot{0%{opacity:0;transform:translate(0) translateY(0) rotate(-25deg)}2%{opacity:1}8%{opacity:0;transform:translate(80vw) translateY(30vh) rotate(-25deg)}to{opacity:0;transform:translate(80vw) translateY(30vh) rotate(-25deg)}}.cta-buttons{display:flex;gap:1rem;flex-wrap:wrap}.btn{padding:.875rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn-primary{background:linear-gradient(135deg,#7c3aed,#3b82f6);color:#fff;box-shadow:0 10px 30px #7c3aed4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 15px 40px #7c3aed73}.btn-secondary{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-secondary:hover{background:var(--color-primary);color:#fff}.btn-large{padding:1.125rem 3rem;font-size:1.125rem}.fun-facts{padding:4rem 0;text-align:center}.fun-facts h2{font-size:2.5rem;margin-bottom:3rem;background:linear-gradient(135deg,var(--color-primary) 0%,#3b82f6 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.facts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.fact-card{padding:2rem;border-radius:16px;background:var(--color-card-bg);border:1px solid var(--color-card-border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:all .35s ease;text-align:left;animation:cardFadeIn .6s ease-out both}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.fact-card:hover{transform:translateY(-6px);border-color:var(--color-primary);box-shadow:0 20px 40px #7c3aed14,0 0 30px var(--color-nebula)}.fact-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,#7c3aed26,#3b82f61a);color:var(--color-primary);margin-bottom:1rem}.fact-card h3{font-size:1.25rem;margin:.75rem 0 .5rem}.fact-card p{opacity:.7;line-height:1.65;margin:0;font-size:.95rem}.fact-card--apod{padding:0;overflow:hidden;display:flex;flex-direction:column;cursor:pointer;font:inherit;color:inherit;width:100%}.fact-card__image{width:100%;aspect-ratio:16 / 10;overflow:hidden;background:#7c3aed0d}.fact-card__image{position:relative}.fact-card__image .skeleton--image{position:absolute;inset:0;z-index:1}.fact-card__img--loading{opacity:0}.fact-card__img--loaded{opacity:1;animation:imgFadeIn .4s ease-out}@keyframes imgFadeIn{0%{opacity:0}to{opacity:1}}.fact-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.fact-card--apod:hover .fact-card__image img{transform:scale(1.05)}.fact-card__body{padding:1.5rem;display:flex;flex-direction:column;flex:1}.fact-card__body h3{margin:0 0 .5rem}.fact-card__explanation{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:1}.fact-card__date{font-size:.8rem;opacity:.45;margin-top:.75rem}.facts-grid--shuffling{opacity:0;transform:translateY(12px);transition:opacity .3s ease,transform .3s ease}.btn-shuffle{margin-top:2rem;display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.75rem;border:1px solid var(--color-card-border);border-radius:10px;background:var(--color-card-bg);color:var(--color-primary);font-size:.95rem;font-weight:600;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:all .3s ease}.btn-shuffle:hover:not(:disabled){border-color:var(--color-primary);box-shadow:0 0 20px var(--color-nebula);transform:translateY(-2px)}.btn-shuffle:disabled{opacity:.5;cursor:not-allowed}.btn-shuffle svg{transition:transform .4s ease}.btn-shuffle:hover:not(:disabled) svg{transform:rotate(180deg)}.apod-credit{margin-top:1rem;font-size:.8rem;opacity:.45}.apod-credit a{color:inherit;text-decoration:underline;text-underline-offset:2px;transition:opacity .2s ease}.apod-credit a:hover{opacity:1}.fact-card--skeleton{padding:0;overflow:hidden}.skeleton{background:linear-gradient(90deg,#7c3aed0f 25%,#7c3aed1f,#7c3aed0f 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:8px}.skeleton--image{width:100%;aspect-ratio:16 / 10;border-radius:0}.skeleton--title{height:1.25rem;width:60%;margin:1.5rem 1.5rem .75rem}.skeleton--text{height:.9rem;width:90%;margin:.35rem 1.5rem}.skeleton--short{width:50%;margin-bottom:1.5rem}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.apod-dialog{position:fixed;inset:0;width:100%;height:100%;max-width:100%;max-height:100%;margin:0;padding:0;border:none;background:transparent;overflow:hidden}.apod-dialog::backdrop{background:#000000d9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.apod-dialog[open]{animation:dialogFadeIn .3s ease-out}.apod-dialog[open]::backdrop{animation:backdropFadeIn .3s ease-out}@keyframes dialogFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}.apod-dialog__content{display:flex;height:100dvh;width:100dvw;overflow:hidden}.apod-dialog__close{position:absolute;top:1.5rem;right:1.5rem;z-index:10;width:56px;height:56px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#00000080;color:#fff;cursor:pointer;transition:background .2s ease,transform .2s ease}.apod-dialog__close:hover{background:#000000bf;transform:scale(1.1)}.apod-dialog__image{position:relative;flex:1;min-width:0;display:flex;align-items:center;justify-content:center;background:#000;overflow:hidden}.apod-dialog__skeleton{position:absolute;inset:0;border-radius:0}.apod-dialog__image img{width:100%;height:100%;object-fit:contain}.apod-dialog__body{width:400px;flex-shrink:0;padding:4.5rem 2rem 2.5rem;overflow-y:auto;box-sizing:border-box;min-width:0;background:var(--color-card-bg, #1a1a2e);border-left:1px solid var(--color-card-border, rgba(255, 255, 255, .08));color:var(--color-text, #e2e8f0)}.apod-dialog__body h2{font-size:1.5rem;margin:0 0 .25rem;line-height:1.3}.apod-dialog__date{display:block;font-size:.8rem;opacity:.45;margin-bottom:1.5rem}.apod-dialog__body p{font-size:.95rem;line-height:1.75;opacity:.8;margin:0;overflow-wrap:break-word;word-break:break-word}@media(max-width:768px){.apod-dialog{padding:1rem}.apod-dialog__content{flex-direction:column;height:calc(100dvh - 2rem);width:calc(100dvw - 2rem);border-radius:12px;overflow:hidden}.apod-dialog__close{top:1.75rem;right:1.75rem}.apod-dialog__image{flex:none;height:38dvh}.apod-dialog__body{width:100%;flex:1;overflow-y:auto;border-left:none;border-top:1px solid var(--color-card-border, rgba(255, 255, 255, .08));padding:4rem 1.5rem 2rem;box-sizing:border-box;min-width:0}.apod-dialog__body h2{font-size:1.2rem}.apod-dialog__body p{font-size:.9rem}}.cta-section{padding:4rem 2rem;text-align:center;background:linear-gradient(135deg,#7c3aed1a,#3b82f61a);border:1px solid var(--color-card-border);border-radius:16px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.cta-section h2{font-size:1.75rem;margin-bottom:.5rem;font-style:italic;font-weight:500;opacity:.9}.cta-attribution{font-size:1rem;margin-bottom:2rem;opacity:.6}.cta-section .btn{margin-top:.5rem}@media(max-width:768px){.hero{flex-direction:column;min-height:auto;gap:2rem;margin-bottom:2rem}.hero-col--right{order:-1}.hero-sun .sun-clip{width:200px;height:200px}.hero-title{font-size:2.5rem;text-align:center}.hero-content{text-align:center;display:flex;flex-direction:column;align-items:stretch;max-width:100%}.hero-subtitle{font-size:1rem}.cta-buttons{flex-direction:column;width:100%}.cta-buttons .btn{width:100%;text-align:center;box-sizing:border-box}.fun-facts{padding:2rem 0}.fun-facts h2{font-size:2rem}.cta-section{padding:2rem 1rem}.cta-section h2{font-size:1.35rem}}@media(max-width:480px){.home-page{gap:2rem}.hero-title{font-size:1.875rem}.hero-subtitle{font-size:.95rem}.facts-grid{grid-template-columns:1fr;gap:1.25rem}.btn{padding:.75rem 1.5rem;font-size:.9rem}.hero-sun .sun-clip{width:150px;height:150px}}@media(prefers-reduced-motion:reduce){.shooting-star,.hero-sun,.sun-clip,.sun-clip:before{animation:none!important}}.admin-page{padding:3rem 2rem;max-width:1000px;margin:0 auto;text-align:left}.admin-header{margin-bottom:2.5rem}.admin-title{font-size:2rem;font-weight:700;margin:0 0 .5rem;background:linear-gradient(135deg,#646cff,#0ea5e9);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.admin-welcome{margin:0;opacity:.7;font-size:1rem}.admin-welcome span{opacity:1;font-weight:500;color:var(--color-primary)}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.25rem;margin-bottom:3rem}.stat-card{display:flex;align-items:center;gap:1rem;padding:1.5rem;border-radius:12px;background:var(--card-bg, rgba(100, 108, 255, .05));border:1px solid var(--card-border, rgba(100, 108, 255, .1));transition:all .3s ease}.stat-card:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 8px 24px #646cff1a}.stat-icon{font-size:2rem;line-height:1}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:1.75rem;font-weight:700;line-height:1}.stat-label{font-size:.8rem;opacity:.6;margin-top:.25rem;text-transform:uppercase;letter-spacing:.5px}:root[data-theme=dark] .stat-card,:root[data-theme=dark] .action-card{--card-bg: rgba(100, 108, 255, .08);--card-border: rgba(100, 108, 255, .15)}:root[data-theme=light] .stat-card,:root[data-theme=light] .action-card{--card-bg: rgba(100, 108, 255, .03);--card-border: rgba(100, 108, 255, .1)}.stat-card--link{text-decoration:none;color:inherit;cursor:pointer}.analytics-section{margin-bottom:2rem}.analytics-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.8px;opacity:.5;margin:0 0 .75rem}.analytics-table{display:flex;flex-direction:column;gap:.5rem}.analytics-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-radius:8px;background:var(--card-bg, rgba(100, 108, 255, .05));border:1px solid var(--card-border, rgba(100, 108, 255, .1));gap:1rem}.analytics-path{font-size:.875rem;font-family:monospace;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analytics-count{font-size:.82rem;opacity:.6;flex-shrink:0}.submissions-list{display:flex;flex-direction:column;gap:1rem}.submission-card{display:flex;flex-direction:column;gap:.75rem;padding:1.5rem;border-radius:12px;background:var(--card-bg, rgba(100, 108, 255, .05));border:1px solid var(--card-border, rgba(100, 108, 255, .1));text-decoration:none;color:inherit;transition:all .2s ease}.submission-card:hover{border-color:var(--color-primary);transform:translateY(-1px);box-shadow:0 6px 20px #646cff1a}.submission-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.submission-card-identity{display:flex;flex-direction:column;gap:.2rem}.submission-name{font-weight:600;font-size:1rem}.submission-email{font-size:.85rem;opacity:.6}.submission-company{font-size:.85rem;opacity:.5}.submission-card-badges{display:flex;gap:.5rem;flex-wrap:wrap}.submission-badge{padding:.25rem .65rem;border-radius:999px;font-size:.78rem;font-weight:500;background:#646cff1f;color:var(--color-primary)}.submission-badge--budget{background:#0ea5e91f;color:#0ea5e9}.submission-badge--timeline{background:#10b9811f;color:#10b981}.submission-date{font-size:.82rem;opacity:.5;white-space:nowrap;flex-shrink:0}.empty-state{opacity:.5;font-size:.95rem;padding:2rem 0}.detail-card{padding:1.5rem;border-radius:12px;background:var(--card-bg, rgba(100, 108, 255, .05));border:1px solid var(--card-border, rgba(100, 108, 255, .1));margin-bottom:1.25rem}.detail-section-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.8px;opacity:.5;margin:0 0 1rem}.detail-field{display:flex;gap:1rem;margin-bottom:.75rem;align-items:baseline}.detail-field:last-child{margin-bottom:0}.detail-label{font-size:.8rem;opacity:.5;min-width:80px;flex-shrink:0}.detail-value{font-size:.95rem;font-weight:500}.detail-description{font-size:.95rem;line-height:1.6;white-space:pre-wrap;margin:0}.detail-actions{margin-top:.5rem;display:flex;gap:1rem}.admin-page .btn{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;border:none;font-family:inherit}.admin-page .btn-primary{background:var(--color-primary, #646cff);color:#fff}.admin-page .btn-primary:hover{opacity:.88;transform:translateY(-1px)}@media(max-width:640px){.admin-page{padding:1.5rem 1rem}.admin-title{font-size:1.5rem}.admin-stats{grid-template-columns:1fr;gap:.75rem;margin-bottom:2rem}.stat-card{padding:1rem;gap:.75rem}.stat-icon{font-size:1.5rem}.stat-value{font-size:1.4rem}.submission-row{flex-direction:column;align-items:flex-start;padding:1rem}.submission-row-meta{justify-content:flex-start}.detail-field{flex-direction:column;gap:.2rem}.detail-label{min-width:unset}.detail-actions{flex-direction:column}.admin-page .btn{width:100%;text-align:center}}.confirm-dialog-backdrop{position:fixed;inset:0;z-index:1000;background:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;animation:confirm-fade-in .15s ease}@keyframes confirm-fade-in{0%{opacity:0}to{opacity:1}}.confirm-dialog{background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:16px;padding:1.75rem;max-width:400px;width:100%;box-shadow:0 20px 60px #0000004d;animation:confirm-slide-up .15s ease}@keyframes confirm-slide-up{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.confirm-dialog-title{font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.confirm-dialog-message{font-size:.92rem;opacity:.7;margin:0 0 1.5rem;line-height:1.5}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:.75rem}.confirm-dialog-cancel,.confirm-dialog-confirm{padding:.55rem 1.1rem;border-radius:8px;font-size:.88rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background .2s,border-color .2s,transform .15s}.confirm-dialog-cancel{background:none;border:1px solid var(--color-border);color:inherit}.confirm-dialog-cancel:hover{background:#646cff0f;border-color:#646cff4d}.confirm-dialog-confirm{background:#ef44441f;border:1px solid rgba(239,68,68,.3);color:#ef4444}.confirm-dialog-confirm:hover{background:#ef444433;border-color:#ef444480;transform:translateY(-1px)}.recipes-page{max-width:800px;margin:0 auto;padding:3rem 2rem}.recipes-header{text-align:center;margin-bottom:2rem}.recipes-header h1{font-size:2rem;font-weight:700;margin:0 0 .5rem;background:linear-gradient(135deg,#646cff,#0ea5e9);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.recipes-header p{margin:0;opacity:.7}.recipes-section{padding:2rem;border-radius:16px;background:var(--color-card-bg);border:1px solid var(--color-card-border);margin-bottom:1.5rem}.recipes-section h2{font-size:1.25rem;font-weight:600;margin:0 0 1.25rem}.recipes-section input,.recipes-section select{border-radius:10px;border:1px solid var(--color-border);padding:.75rem 1rem;background:#7c3aed0a;font-size:.95rem;color:inherit;font-family:inherit;outline:none;transition:border-color .2s,box-shadow .2s;box-sizing:border-box;min-width:0;width:100%}.recipes-section input:focus,.recipes-section select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-nebula)}.preferences-form{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end;margin-bottom:1.25rem}.preferences-form-field{display:flex;flex-direction:column;gap:.35rem;flex:1;min-width:140px}.preferences-form-field label{font-size:.85rem;font-weight:500;opacity:.85}.preferences-form input{width:100%;box-sizing:border-box}.preferences-form select{width:auto;min-width:120px}.preferences-form button{background:linear-gradient(135deg,#7c3aed,#3b82f6);color:#fff;border-radius:8px;padding:.75rem 1.25rem;font-weight:600;border:none;cursor:pointer;font-size:.95rem;font-family:inherit;transition:all .3s ease;box-shadow:0 6px 20px #7c3aed4d}.preferences-form button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 30px #7c3aed73}.preferences-form button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.preferences-list{display:flex;flex-direction:column;gap:.5rem}.preference-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:8px;background:#646cff0d;border:1px solid rgba(100,108,255,.1)}.preference-badge{padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:500;text-transform:capitalize}.preference-badge--like{background:#10b9811f;color:#10b981}.preference-badge--dislike{background:#ef44441f;color:#ef4444}.preference-badge--allergy{background:#f59e0b1f;color:#f59e0b}.preference-name{flex:1;font-size:.95rem}.preference-delete{background:none;border:none;cursor:pointer;opacity:.5;color:inherit;display:flex;align-items:center;padding:.25rem;transition:opacity .2s}.preference-delete:hover{opacity:1}.preferences-empty{opacity:.5;font-size:.9rem;padding:1rem 0;margin:0}.generator-form{display:flex;flex-direction:column;gap:1rem}.generator-form-row{display:flex;gap:1rem;align-items:flex-end}.generator-form-field{display:flex;flex-direction:column;gap:.35rem;flex:1;min-width:0}.generator-form-field label{font-size:.85rem;font-weight:500;opacity:.85}.generator-form-field input{width:100%;box-sizing:border-box}.generator-form-field--servings{flex:0 0 100px}.generator-form-field--servings input[type=number]{width:100%}.generator-form button[type=submit]{background:linear-gradient(135deg,#7c3aed,#3b82f6);color:#fff;border-radius:8px;padding:.75rem 1.25rem;font-weight:600;border:none;cursor:pointer;font-size:.95rem;font-family:inherit;transition:all .3s ease;align-self:flex-start;min-width:12rem;box-shadow:0 6px 20px #7c3aed4d}.generator-form button[type=submit]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 30px #7c3aed73}.generator-form button[type=submit]:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.output-tabs{display:flex;gap:.25rem;margin-top:1.5rem;padding:.25rem;background:#646cff0f;border-radius:10px;width:fit-content}.output-tabs--saved{margin-top:0;margin-bottom:1rem}.output-tab{background:none;border:none;padding:.4rem .9rem;font-size:.85rem;font-weight:500;font-family:inherit;color:inherit;opacity:.6;cursor:pointer;border-radius:8px;transition:opacity .2s,background .2s}.output-tab:hover{opacity:.85}.output-tab--active{opacity:1;background:#646cff1f}.recipe-generating{margin-top:1.5rem}.recipe-output{margin-top:1.5rem;padding:1.5rem;border-radius:12px;background:#646cff0d;border:1px solid rgba(100,108,255,.1);white-space:pre-wrap;line-height:1.7;font-size:.95rem}.recipe-cursor{display:inline-block;width:8px;height:1em;background:var(--color-primary);border-radius:2px;margin-left:2px;vertical-align:text-bottom;animation:blink .8s step-end infinite}@keyframes blink{50%{opacity:0}}.recipes-error{color:#ef4444;font-size:.9rem;padding:.75rem 1rem;border-radius:8px;background:#ef444414;border:1px solid rgba(239,68,68,.2);margin:0 0 1rem}.recipes-fetch-error{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.recipes-fetch-error .recipes-error{margin:0;flex:1}.recipes-retry{background:none;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:.5rem 1rem;border-radius:8px;font-size:.85rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background .2s,border-color .2s;white-space:nowrap}.recipes-retry:hover{background:#ef444414;border-color:#ef444480}.cooking-loader{display:flex;flex-direction:column;align-items:center;padding:2.5rem 0}.cooking-loader-pot{position:relative;width:72px;height:64px}.cooking-loader-body{position:absolute;bottom:0;left:10px;width:52px;height:38px;background:linear-gradient(135deg,#7c3aed,#3b82f6);border-radius:4px 4px 16px 16px;overflow:hidden}.cooking-loader-liquid{position:absolute;bottom:0;left:0;right:0;height:60%;background:#ffffff2e;border-radius:0 0 14px 14px;animation:liquid-wobble 1.8s ease-in-out infinite}@keyframes liquid-wobble{0%,to{transform:skew(-2deg);height:60%}50%{transform:skew(2deg);height:65%}}.cooking-loader-lid{position:absolute;top:16px;left:6px;width:60px;height:8px;background:linear-gradient(135deg,#6d28d9,#2563eb);border-radius:8px 8px 2px 2px;transform-origin:center bottom;animation:lid-rattle 1.8s ease-in-out infinite}.cooking-loader-lid:after{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%);width:12px;height:6px;background:#6d28d9;border-radius:6px 6px 0 0}@keyframes lid-rattle{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-3px) rotate(1.5deg)}50%{transform:translateY(0) rotate(0)}75%{transform:translateY(-4px) rotate(-1deg)}}.cooking-loader-handles{position:absolute;bottom:14px;left:0;width:100%;pointer-events:none}.cooking-loader-handles:before,.cooking-loader-handles:after{content:"";position:absolute;width:10px;height:6px;background:linear-gradient(135deg,#7c3aed,#3b82f6);border-radius:2px;top:0}.cooking-loader-handles:before{left:2px}.cooking-loader-handles:after{right:2px}.cooking-loader-steam{position:absolute;top:0;left:50%;transform:translate(-50%);width:36px;height:20px}.cooking-loader-bubble{position:absolute;bottom:0;width:8px;height:8px;border-radius:50%;background:#7c3aed40;animation:steam-rise 1.6s ease-out infinite}.cooking-loader-bubble:nth-child(1){left:4px;animation-delay:0s}.cooking-loader-bubble:nth-child(2){left:14px;animation-delay:.5s}.cooking-loader-bubble:nth-child(3){left:24px;animation-delay:1s}@keyframes steam-rise{0%{transform:translateY(0) scale(.6);opacity:0}20%{opacity:.6}to{transform:translateY(-28px) scale(1.2);opacity:0}}.cooking-loader-text{margin:1rem 0 0;font-size:.9rem;opacity:.5;font-weight:500}:root[data-theme=dark] .cooking-loader-bubble{background:#a78bfa4d}:root[data-theme=dark] .recipes-section input,:root[data-theme=dark] .recipes-section select{background:#ffffff0a}:root[data-theme=dark] .recipes-section select option{background:#0f0f28}@media(max-width:640px){.recipes-page{padding:1.5rem 1rem}.recipes-section{padding:1.5rem}.preferences-form{flex-direction:column}.generator-form-row{flex-direction:column;align-items:stretch}.generator-form-field--servings{flex:1 1 auto;width:100%}.recipes-header h1{font-size:1.5rem}}.recipes-tabs{display:flex;gap:0;margin-bottom:1.5rem;border-bottom:1px solid var(--color-card-border)}.recipes-tab{background:none;border:none;padding:.75rem 1.25rem;font-size:.95rem;font-weight:500;font-family:inherit;color:inherit;opacity:.6;cursor:pointer;border-bottom:2px solid transparent;transition:opacity .2s,border-color .2s;margin-bottom:-1px}.recipes-tab:hover{opacity:.85}.recipes-tab--active{opacity:1;border-bottom-color:var(--color-primary)}.saved-recipes-list{display:flex;flex-direction:column;gap:.75rem}.saved-recipe-card{border-radius:12px;background:#646cff0d;border:1px solid rgba(100,108,255,.1);overflow:hidden;transition:border-color .2s}.saved-recipe-card:hover{border-color:#646cff40}.saved-recipe-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;cursor:pointer;-webkit-user-select:none;user-select:none}.saved-recipe-info{display:flex;flex-direction:column;gap:.25rem;min-width:0}.saved-recipe-dish{font-weight:600;font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-recipe-meta{display:flex;gap:.75rem;font-size:.8rem;opacity:.6}.saved-recipe-servings{background:#7c3aed1a;color:#7c3aed;padding:.1rem .5rem;border-radius:999px;font-size:.75rem;font-weight:500}:root[data-theme=dark] .saved-recipe-servings{background:#7c3aed33;color:#a78bfa}.saved-recipe-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.saved-recipe-delete{background:none;border:1px solid rgba(239,68,68,.25);color:#ef4444;padding:.3rem .7rem;border-radius:6px;font-size:.78rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background .2s,border-color .2s}.saved-recipe-delete:hover{background:#ef444414;border-color:#ef444480}.saved-recipe-chevron{transition:transform .2s;opacity:.5}.saved-recipe-chevron--open{transform:rotate(180deg)}.saved-recipe-content{padding:1rem 1.25rem 1.25rem;white-space:pre-wrap;line-height:1.7;font-size:.95rem;border-top:1px solid rgba(100,108,255,.1)}.shopping-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.15rem}.shopping-list-category{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;opacity:.5;padding:.6rem 0 .2rem}.shopping-list-category:first-child{padding-top:0}.shopping-list-item{display:flex;align-items:center;gap:.6rem;padding:.35rem .5rem;border-radius:6px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s,opacity .2s;font-size:.9rem}.shopping-list-item:hover{background:#646cff0f}.shopping-list-checkbox{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;border:1.5px solid rgba(100,108,255,.3);font-size:.7rem;font-weight:700;color:#7c3aed;flex-shrink:0;transition:background .15s,border-color .15s}.shopping-list-item--checked .shopping-list-checkbox{background:#7c3aed1f;border-color:#7c3aed}.shopping-list-item--checked .shopping-list-label{text-decoration:line-through;opacity:.45}.recipe-banner{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem 1rem;border-radius:8px;font-size:.85rem;font-weight:500}.recipe-banner--success{background:#10b98114;border:1px solid rgba(16,185,129,.2);color:#10b981}.recipe-banner--info{background:#646cff14;border:1px solid rgba(100,108,255,.2);color:#646cff}:root[data-theme=dark] .shopping-list-checkbox{border-color:#a78bfa59;color:#a78bfa}:root[data-theme=dark] .shopping-list-item--checked .shopping-list-checkbox{background:#a78bfa26;border-color:#a78bfa}:root[data-theme=dark] .recipe-banner--success{background:#10b9811a;border-color:#10b98140;color:#34d399}:root[data-theme=dark] .recipe-banner--info{background:#646cff1a;border-color:#646cff40;color:#818cf8}@media(max-width:640px){.recipes-tab{padding:.6rem .75rem;font-size:.85rem}.saved-recipe-header{flex-wrap:wrap;padding:.75rem 1rem}.saved-recipe-info{flex:1 1 100%;margin-bottom:.5rem}.saved-recipe-actions{margin-left:auto}.saved-recipe-content{padding:0 1rem 1rem}}.covers-page{max-width:1100px}.covers-section{margin-bottom:2.5rem}.covers-section-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.8px;opacity:.5;margin:0 0 1rem}.covers-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.cover-card{display:flex;flex-direction:column;border-radius:12px;background:var(--card-bg, rgba(100, 108, 255, .05));border:1px solid var(--card-border, rgba(100, 108, 255, .1));overflow:hidden;text-decoration:none;color:inherit;transition:all .3s ease;cursor:pointer;padding:0;font:inherit;text-align:left}.cover-card:hover{border-color:var(--color-primary);transform:translateY(-3px);box-shadow:0 10px 30px #646cff1f}.cover-card-image-wrapper{position:relative;width:100%;background:#00000008;display:flex;align-items:center;justify-content:center;min-height:200px}.cover-card-image{width:100%;height:auto;display:block;object-fit:contain}.cover-card-info{padding:.75rem 1rem;display:flex;align-items:center;justify-content:center}.cover-card-name{font-size:.9rem;font-weight:600}:root[data-theme=dark] .cover-card{--card-bg: rgba(100, 108, 255, .08);--card-border: rgba(100, 108, 255, .15)}:root[data-theme=dark] .cover-card-image-wrapper{background:#ffffff08}:root[data-theme=light] .cover-card{--card-bg: rgba(100, 108, 255, .03);--card-border: rgba(100, 108, 255, .1)}:root[data-theme=light] .cover-card-image-wrapper{background:#00000005}.cover-dialog-backdrop{position:fixed;inset:0;z-index:1000;background:#000000bf;display:flex;align-items:center;justify-content:center;padding:1rem;animation:cover-fade-in .2s ease}@keyframes cover-fade-in{0%{opacity:0}to{opacity:1}}.cover-dialog{display:flex;flex-direction:column;max-width:95vw;max-height:95vh;border-radius:12px;overflow:hidden;background:var(--bg, #1a1a2e);box-shadow:0 24px 64px #0006;animation:cover-scale-in .2s ease}@keyframes cover-scale-in{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.cover-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--card-border, rgba(100, 108, 255, .15));flex-shrink:0}.cover-dialog-title{margin:0;font-weight:600;font-size:1rem}.cover-dialog-close{display:flex;align-items:center;justify-content:center;background:none;border:none;color:inherit;cursor:pointer;padding:.25rem;border-radius:6px;opacity:.6;transition:opacity .2s}.cover-dialog-close:hover{opacity:1}.cover-dialog-header-right{display:flex;align-items:center;gap:.75rem}.cover-dialog-counter{font-size:.8rem;opacity:.5;font-variant-numeric:tabular-nums}.cover-dialog-body{overflow:auto;display:flex;align-items:center;justify-content:center;flex:1;min-height:0;position:relative}.cover-dialog-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:none;background:#0006;color:#fff;cursor:pointer;opacity:.7;transition:opacity .2s,background .2s}.cover-dialog-arrow:hover{opacity:1;background:#0009}.cover-dialog-arrow--prev{left:.75rem}.cover-dialog-arrow--next{right:.75rem}.cover-dialog-image{max-width:100%;max-height:85vh;display:block;object-fit:contain}:root[data-theme=light] .cover-dialog{--bg: #fff}:root[data-theme=dark] .cover-dialog{--bg: #1a1a2e}@media(max-width:900px){.covers-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:540px){.covers-grid{grid-template-columns:1fr;gap:1rem}.covers-page{padding:1.5rem 1rem}.cover-dialog-backdrop{padding:0}.cover-dialog{max-width:100vw;max-height:100vh;width:100%;height:100%;border-radius:0}.cover-dialog-image{max-height:90vh}}.league-selector{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}.league-btn{padding:.4rem .85rem;border-radius:999px;font-size:.82rem;font-weight:500;border:1px solid var(--card-border, rgba(100, 108, 255, .15));background:transparent;color:inherit;cursor:pointer;transition:all .2s;font-family:inherit}.league-btn:hover:not(:disabled){border-color:var(--color-primary);background:#646cff14}.league-btn--active{background:var(--color-primary, #646cff);color:#fff;border-color:var(--color-primary, #646cff)}.league-btn--active:hover:not(:disabled){background:var(--color-primary, #646cff);color:#fff}.league-btn:disabled{opacity:.5;cursor:not-allowed}.football-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:1px solid var(--card-border, rgba(100, 108, 255, .15))}.football-tab{padding:.6rem 1.25rem;font-size:.875rem;font-weight:500;border:none;background:transparent;color:inherit;cursor:pointer;opacity:.5;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s;font-family:inherit}.football-tab:hover{opacity:.8}.football-tab--active{opacity:1;border-bottom-color:var(--color-primary, #646cff);color:var(--color-primary, #646cff)}.football-loading{display:flex;justify-content:center;padding:3rem 0}.football-loader{display:inline-block;font-size:2.5rem;line-height:1}@media(prefers-reduced-motion:no-preference){.football-loader{animation:football-bounce .6s ease-in-out infinite alternate}}.football-loader:before{content:"⚽"}@keyframes football-bounce{0%{transform:translateY(0);animation-timing-function:ease-in}to{transform:translateY(-18px);animation-timing-function:ease-out}}.football-section{margin-bottom:3rem}.football-section-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.8px;opacity:.5;margin:0 0 1rem}.results-list{display:flex;flex-direction:column;gap:.75rem}.result-card{padding:1rem 1.25rem;border-radius:12px;background:var(--card-bg, rgba(100, 108, 255, .05));border:1px solid var(--card-border, rgba(100, 108, 255, .1));transition:border-color .2s}.result-card:hover{border-color:var(--color-primary)}.result-round{font-size:.75rem;opacity:.5;margin-bottom:.5rem}.result-teams{display:flex;align-items:center;justify-content:center;gap:1rem}.result-team{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.result-team--away{flex-direction:row-reverse;text-align:right}.result-team--winner .team-name{font-weight:700}.team-logo{width:28px;height:28px;object-fit:contain;flex-shrink:0}.team-logo--sm{width:20px;height:20px}.team-name{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-score{display:flex;align-items:center;gap:.25rem;font-size:1.5rem;font-weight:700;flex-shrink:0;font-variant-numeric:tabular-nums}.result-score-sep{opacity:.3}.fixture-vs{font-size:.85rem;font-weight:500;opacity:.4}.result-meta{display:flex;justify-content:space-between;margin-top:.5rem;font-size:.78rem;opacity:.5}.result-venue{text-align:right}.standings-table-wrapper{overflow-x:auto;border-radius:12px;border:1px solid var(--card-border, rgba(100, 108, 255, .1))}.standings-table{width:100%;border-collapse:collapse;font-size:.875rem}.standings-table th{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;opacity:.5;padding:.75rem .5rem;text-align:left;border-bottom:1px solid var(--card-border, rgba(100, 108, 255, .1));white-space:nowrap}.standings-table td{padding:.6rem .5rem;border-bottom:1px solid var(--card-border, rgba(100, 108, 255, .05));white-space:nowrap}.standings-table tbody tr:hover{background:var(--card-bg, rgba(100, 108, 255, .05))}.standings-table tbody tr:last-child td{border-bottom:none}.col-rank{width:2rem;text-align:center!important;font-weight:600;opacity:.6}.col-team{display:flex;align-items:center;gap:.5rem}.col-num{text-align:center!important;font-variant-numeric:tabular-nums}.col-pts{font-weight:700}.col-form{min-width:90px}.form-badges{display:flex;gap:3px}.form-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;font-size:.65rem;font-weight:700;color:#fff}.form-badge--win{background:#22c55e}.form-badge--draw{background:#a3a3a3}.form-badge--loss{background:#ef4444}.team-badge-link{display:inline-flex;align-items:center;justify-content:center;border-radius:4px;padding:2px;transition:opacity .15s,transform .15s;flex-shrink:0;text-decoration:none}.team-badge-link:hover{opacity:.75;transform:scale(1.15)}.team-badge-placeholder{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;background:var(--card-border, rgba(100, 108, 255, .15));font-size:.7rem;font-weight:700}@media(max-width:640px){.hide-mobile{display:none}.result-teams{gap:.5rem}.team-name{font-size:.85rem}.result-score{font-size:1.25rem}.team-logo{width:22px;height:22px}.standings-table{font-size:.8rem}.standings-table th,.standings-table td{padding:.5rem .35rem}}.result-card-link{text-decoration:none;color:inherit;display:block}.result-card-link .result-card{cursor:pointer}.standings-team-link{display:flex;align-items:center;gap:.5rem;color:inherit;text-decoration:none;transition:opacity .15s}.standings-team-link:hover{opacity:.7}.squad-sections{display:flex;flex-direction:column;gap:2.5rem}.squad-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem}.player-card{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:10px;background:var(--card-bg, rgba(100, 108, 255, .05));border:1px solid var(--card-border, rgba(100, 108, 255, .1))}.player-jersey{font-size:1rem;font-weight:700;font-variant-numeric:tabular-nums;min-width:1.75rem;text-align:center;opacity:.4;flex-shrink:0}.player-info{display:flex;flex-direction:column;gap:.2rem;min-width:0}.player-name{font-size:.9rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-meta{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.player-flag{width:16px;height:16px;object-fit:contain;border-radius:2px;flex-shrink:0}.player-nationality{font-size:.75rem;opacity:.55}.player-age{font-size:.75rem;opacity:.4}.player-age:before{content:"·";margin-right:.4rem}@media(max-width:640px){.squad-grid{grid-template-columns:1fr 1fr}.player-card{padding:.6rem .75rem}}.match-detail-page{max-width:700px}.match-header{display:flex;align-items:center;justify-content:center;gap:2rem;padding:2rem 1.5rem;border-radius:16px;background:var(--card-bg, rgba(100, 108, 255, .05));border:1px solid var(--card-border, rgba(100, 108, 255, .1));margin-bottom:2rem}.match-header-team{display:flex;flex-direction:column;align-items:center;gap:.75rem;flex:1;min-width:0}.match-header-logo{width:64px;height:64px;object-fit:contain}.match-header-placeholder{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:var(--card-border, rgba(100, 108, 255, .15));font-size:1.5rem;font-weight:700}.match-header-badge-link{display:flex;transition:opacity .15s}.match-header-badge-link:hover{opacity:.7}.match-header-team-name{font-weight:600;font-size:1rem;text-align:center;color:inherit;text-decoration:none;transition:opacity .15s}.match-header-team-name:hover{opacity:.7}.match-header-score{display:flex;flex-direction:column;align-items:center;gap:.25rem;flex-shrink:0}.match-header-score-value{font-size:2.5rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.05em}.match-header-date{font-size:.78rem;opacity:.5;text-align:center}.match-header-venue{font-size:.75rem;opacity:.4;text-align:center}.match-section{margin-bottom:2rem}.match-section-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.8px;opacity:.5;margin:0 0 1rem}.match-goals{display:flex;flex-direction:column;gap:.5rem}.match-goal{display:flex;align-items:center;gap:.75rem;padding:.65rem 1rem;border-radius:10px;background:var(--card-bg, rgba(100, 108, 255, .05));border:1px solid var(--card-border, rgba(100, 108, 255, .1))}.match-goal--away{flex-direction:row-reverse;text-align:right}.match-goal-minute{font-size:.82rem;font-weight:700;opacity:.6;flex-shrink:0;min-width:2.5rem;font-variant-numeric:tabular-nums}.match-goal--away .match-goal-minute{text-align:right}.match-goal-info{display:flex;flex-direction:column;gap:.1rem;min-width:0}.match-goal-scorer{font-weight:600;font-size:.92rem}.match-goal-og{margin-left:.4rem;font-size:.78rem;font-weight:500;opacity:.6}.match-goal-assist{font-size:.78rem;opacity:.5}.match-stats{display:flex;flex-direction:column;gap:1rem}.match-stat-row{display:flex;align-items:center;gap:.75rem}.match-stat-value{flex-shrink:0;width:3rem;font-size:.88rem;font-weight:600;font-variant-numeric:tabular-nums}.match-stat-value--home{text-align:right}.match-stat-value--away{text-align:left}.match-stat-center{flex:1;display:flex;flex-direction:column;align-items:center;gap:.3rem}.match-stat-label{font-size:.72rem;font-weight:500;opacity:.5;text-transform:uppercase;letter-spacing:.3px}.match-stat-bar{display:flex;width:100%;height:6px;border-radius:3px;overflow:hidden;gap:2px}.match-stat-bar-home{height:100%;border-radius:3px 0 0 3px;background:var(--color-primary, #646cff);transition:width .3s ease}.match-stat-bar-away{height:100%;border-radius:0 3px 3px 0;background:#646cff33;transition:width .3s ease}.match-header-vs{font-size:1.5rem;font-weight:700;opacity:.5;text-transform:uppercase;letter-spacing:.05em}.lineups-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.lineup-team-name{font-size:.88rem;font-weight:600;margin:0 0 .75rem;display:flex;align-items:center;gap:.5rem}.lineup-formation{font-weight:500;font-size:.78rem;opacity:.5}.lineup-players{display:flex;flex-direction:column;gap:.35rem}.lineup-player{display:flex;align-items:center;gap:.5rem;padding:.45rem .75rem;border-radius:8px;background:var(--card-bg, rgba(100, 108, 255, .05));border:1px solid var(--card-border, rgba(100, 108, 255, .1));font-size:.85rem}.lineup-jersey{font-weight:700;font-variant-numeric:tabular-nums;min-width:1.5rem;opacity:.6}.lineup-player-name{font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lineup-position{font-size:.72rem;font-weight:500;opacity:.45;text-transform:uppercase;flex-shrink:0}.injuries-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.injuries-team-name{font-size:.88rem;font-weight:600;margin:0 0 .75rem}.injuries-list{display:flex;flex-direction:column;gap:.35rem}.injury-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.45rem .75rem;border-radius:8px;background:var(--card-bg, rgba(100, 108, 255, .05));border:1px solid var(--card-border, rgba(100, 108, 255, .1));font-size:.85rem}.injury-player{font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.injury-details{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.injury-status{font-size:.72rem;font-weight:600;text-transform:uppercase;padding:.15rem .45rem;border-radius:4px;background:#ff50501f;color:var(--color-danger, #ff5050)}.injury-detail{font-size:.75rem;opacity:.5}@media(max-width:640px){.match-header{gap:1rem;padding:1.25rem 1rem}.match-header-logo{width:44px;height:44px}.match-header-placeholder{width:44px;height:44px;font-size:1.1rem}.match-header-team-name{font-size:.85rem}.match-header-score-value{font-size:1.75rem}.match-stat-value{width:2.5rem;font-size:.8rem}.match-goal{padding:.5rem .75rem}.lineups-grid,.injuries-grid{grid-template-columns:1fr;gap:1.25rem}}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root,:root[data-theme=light]{color:#1e1b4b;background-color:#f0f0ff;--color-primary: #7c3aed;--color-primary-hover: #6d28d9;--color-text: #1e1b4b;--color-bg: #f0f0ff;--color-border: #c7d2fe;--color-glow: rgba(124, 58, 237, .4);--color-nebula: rgba(59, 130, 246, .15);--color-star: #a78bfa;--color-card-bg: rgba(255, 255, 255, .7);--color-card-border: rgba(124, 58, 237, .15)}:root[data-theme=dark],:root.dark{color:#e6e6ffeb;background-color:#060714;--color-primary: #a78bfa;--color-primary-hover: #8b5cf6;--color-text: rgba(230, 230, 255, .92);--color-bg: #060714;--color-border: rgba(167, 139, 250, .2);--color-glow: rgba(139, 92, 246, .5);--color-nebula: rgba(59, 130, 246, .1);--color-star: #c4b5fd;--color-card-bg: rgba(15, 15, 40, .6);--color-card-border: rgba(167, 139, 250, .15)}a{font-weight:500;color:var(--color-primary);text-decoration:inherit}a:hover{color:var(--color-primary-hover)}body{margin:0;min-width:320px;min-height:100vh}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#f9f9f9;color:inherit;cursor:pointer;transition:border-color .25s}:root[data-theme=dark] button,:root.dark button{background-color:#0f0f28cc}button:hover{border-color:var(--color-primary)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}
