.eco-switcher{display:inline-flex;position:relative}.eco-switcher__btn{border-radius:var(--eco-radius,10px);width:38px;height:38px;color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;padding:0;transition:background .15s,border-color .15s;display:grid}.eco-switcher__btn:hover,.eco-switcher__btn--active{background:var(--eco-hover,#0000000d);border-color:var(--eco-border,#00000014)}.eco-switcher__btn:focus-visible{outline:2px solid var(--eco-muted,#6b7280);outline-offset:2px}.eco-switcher__dots{grid-template-columns:repeat(3,4px);gap:3px;display:grid}.eco-switcher__dots span{background:var(--eco-muted,#6b7280);border-radius:50%;width:4px;height:4px}.eco-switcher__dropdown{z-index:1200;border:1px solid var(--eco-border,#00000014);border-radius:calc(var(--eco-radius,10px) + 4px);background:var(--eco-surface,#fff);width:320px;box-shadow:var(--eco-shadow,0 12px 32px #00000024);padding:.85rem;animation:.14s ease-out eco-switcher-in;position:absolute;top:calc(100% + 10px);right:0}.eco-switcher__label{letter-spacing:.06em;text-transform:uppercase;color:var(--eco-muted,#6b7280);margin:0 0 .7rem;font-size:.7rem;font-weight:600}.eco-switcher__grid{grid-template-columns:repeat(3,1fr);gap:.3rem;display:grid}.eco-switcher__app{border-radius:var(--eco-radius,10px);color:var(--eco-text,#111827);flex-direction:column;align-items:center;gap:.35rem;padding:.6rem .25rem;text-decoration:none;transition:background .15s,transform .15s;display:flex;position:relative}.eco-switcher__app:hover{background:var(--eco-hover,#0000000d);transform:translateY(-1px)}.eco-switcher__app--current{background:var(--eco-hover,#0000000d);cursor:default}.eco-switcher__app--current:hover{transform:none}.eco-switcher__app--disabled{cursor:not-allowed;opacity:.45}.eco-switcher__app--disabled:hover{background:0 0;transform:none}.eco-switcher__app--disabled .eco-switcher__app-icon{background:var(--eco-hover,#0000000d);color:var(--eco-muted,#6b7280)}.eco-switcher__app-icon{border-radius:calc(var(--eco-radius,10px) + 2px);place-items:center;width:38px;height:38px;font-size:1.15rem;line-height:1;display:grid}.eco-switcher__app-name{text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.68rem;font-weight:600;overflow:hidden}.eco-switcher__tag{letter-spacing:.04em;text-transform:uppercase;color:var(--eco-muted,#6b7280);font-size:.55rem;font-weight:600}.eco-switcher__home{border-top:1px solid var(--eco-border,#00000014);color:var(--eco-muted,#6b7280);align-items:center;gap:.5rem;margin-top:.75rem;padding:.55rem .6rem;font-size:.78rem;text-decoration:none;transition:background .15s,color .15s;display:flex}.eco-switcher__home:hover{background:var(--eco-hover,#0000000d);color:var(--eco-text,#111827)}.eco-switcher__home-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.eco-switcher__home-desc{opacity:.7;flex-shrink:0;margin-left:auto;font-size:.68rem}.eco-switcher__socials{justify-content:center;gap:.4rem;padding:.1rem 0 .15rem;display:flex}.eco-switcher__social{border-radius:var(--eco-radius,10px);width:30px;height:30px;color:var(--eco-muted,#6b7280);place-items:center;transition:background .15s,color .15s,transform .15s;display:grid}.eco-switcher__social:hover{background:var(--eco-hover,#0000000d);transform:translateY(-1px)}.eco-switcher__social--youtube:hover{color:red}.eco-switcher__social--tiktok:hover{color:#ee1d52}.eco-switcher__social--discord:hover{color:#5865f2}@keyframes eco-switcher-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (width<=420px){.eco-switcher__dropdown{width:auto;position:fixed;top:64px;left:8px;right:8px}}.user-menu{display:inline-flex;position:relative}.user-menu__avatar{border:1px solid var(--eco-border,#00000014);background:var(--eco-accent,#4b5563);color:#fff;letter-spacing:.02em;cursor:pointer;border-radius:50%;place-items:center;width:38px;height:38px;padding:0;font-size:.75rem;font-weight:700;transition:transform .15s,box-shadow .15s;display:grid;overflow:hidden}.user-menu__avatar:hover,.user-menu__avatar--open{transform:translateY(-1px);box-shadow:0 4px 12px #0000002e}.user-menu__avatar:focus-visible{outline:2px solid var(--eco-accent,#4b5563);outline-offset:2px}.user-menu__avatar--img{background:var(--eco-hover,#0000000d)}.user-menu__avatar img{object-fit:cover;width:100%;height:100%}.user-menu__dropdown{z-index:1200;border:1px solid var(--eco-border,#00000014);border-radius:calc(var(--eco-radius,10px) + 4px);background:var(--eco-surface,#fff);min-width:220px;box-shadow:var(--eco-shadow,0 12px 32px #00000024);padding:.4rem;animation:.14s ease-out user-menu-in;position:absolute;top:calc(100% + 10px);right:0}.user-menu__info{flex-direction:column;gap:.1rem;padding:.5rem .6rem;display:flex}.user-menu__name{color:var(--eco-text,#111827);font-size:.85rem;font-weight:600}.user-menu__email{color:var(--eco-muted,#6b7280);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.user-menu__sep{background:var(--eco-border,#00000014);height:1px;margin:.3rem 0}.user-menu__item{border-radius:var(--eco-radius,10px);width:100%;color:var(--eco-text,#111827);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:.55rem;padding:.5rem .6rem;font-family:inherit;font-size:.82rem;transition:background .15s;display:flex}.user-menu__item:hover{background:var(--eco-hover,#0000000d)}.user-menu__item--danger{color:var(--eco-danger,#dc2626)}.user-menu__item--danger:hover{background:var(--eco-danger-bg,#dc26261a)}.user-menu__item-icon{place-items:center;width:18px;font-size:.9rem;line-height:1;display:grid}@keyframes user-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.primal-header{z-index:200;background:#111;border-bottom:1px solid #2a2a2a;justify-content:space-between;align-items:center;gap:12px;height:60px;padding:0 16px;display:flex;position:sticky;top:0}.primal-header__menu-btn{color:#888;cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;transition:all .15s;display:flex}.primal-header__menu-btn:hover{color:#f5f5f5;background:#1a1a1a}@media (width>=1025px){.primal-header__menu-btn{display:none}}.primal-header__logo{letter-spacing:.08em;text-transform:uppercase;color:#dc2626;align-items:center;gap:8px;font-size:1.125rem;font-weight:800;display:flex}.primal-header__logo span{color:#f5f5f5}.primal-header__right{align-items:center;gap:8px;margin-left:auto;display:flex}.primal-sidebar{z-index:150;background:#111;border-right:1px solid #2a2a2a;flex-direction:column;width:220px;display:none;position:fixed;top:60px;bottom:0;left:0}@media (width>=1025px){.primal-sidebar{display:flex}}.primal-sidebar__nav{flex:1;padding:16px 12px}.primal-sidebar__nav>*+*{margin-top:4px}.primal-sidebar__link{color:#888;border-radius:10px;align-items:center;gap:12px;padding:12px;transition:all .15s;display:flex}.primal-sidebar__link:hover{color:#f5f5f5;background:#1a1a1a}.primal-sidebar__link--active{color:#dc2626;background:#dc26261f}.primal-sidebar__link span{font-size:.875rem;font-weight:500}.primal-sidebar__separator{background:#2a2a2a;height:1px;margin:12px 0}.primal-mobile-sidebar{z-index:300;position:fixed;inset:0}@media (width>=1025px){.primal-mobile-sidebar{display:none}}.primal-mobile-sidebar__overlay{background:#000000b3;position:absolute;inset:0}.primal-mobile-sidebar__panel{background:#111;border-right:1px solid #2a2a2a;width:17rem;max-width:82vw;animation:.25s ease-out primal-slide-in;position:absolute;top:0;bottom:0;left:0;overflow-y:auto}.primal-mobile-sidebar__header{border-bottom:1px solid #2a2a2a;justify-content:space-between;align-items:center;padding:16px;display:flex}.primal-mobile-sidebar__brand{letter-spacing:.08em;text-transform:uppercase;color:#f5f5f5;font-size:1.125rem;font-weight:800}.primal-mobile-sidebar__close{color:#888;cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .15s;display:flex}.primal-mobile-sidebar__close:hover{color:#f5f5f5;background:#1a1a1a}.primal-mobile-sidebar__nav{padding:16px 12px}.primal-mobile-sidebar__nav>*+*{margin-top:4px}.primal-mobile-sidebar__link{color:#888;border-radius:10px;align-items:center;gap:12px;padding:12px;transition:all .15s;display:flex}.primal-mobile-sidebar__link:hover{color:#f5f5f5;background:#1a1a1a}.primal-mobile-sidebar__link--active{color:#dc2626;background:#dc26261f}.primal-mobile-sidebar__link span{font-size:.875rem;font-weight:500}.primal-mobile-sidebar__separator{background:#2a2a2a;height:1px;margin:12px 0}@keyframes primal-slide-in{0%{transform:translate(-100%)}to{transform:translate(0)}}.primal-layout{flex-direction:column;min-height:100dvh;display:flex}.primal-layout__main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:16px}@media (width>=1025px){.primal-layout__main{max-width:1420px;padding-left:244px;padding-right:24px}}@media (width<=640px){.primal-layout__main{padding:12px}}.primal-layout__main--full{max-width:none;padding:0}@media (width>=1025px){.primal-layout__main--full{max-width:none;padding-left:220px;padding-right:0}}@media (width<=640px){.primal-layout__main--full{padding:0}}.public-layout{color:#f5f5f5;background:#0a0a0a;flex-direction:column;min-height:100dvh;display:flex}.public-layout__main{flex:1}.public-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;background:#0a0a0ae6;border-bottom:1px solid #2a2a2a;justify-content:space-between;align-items:center;padding:12px 24px;display:flex;position:sticky;top:0}@media (width<=640px){.public-header{gap:12px;padding:12px 16px}}.public-header__logo{text-decoration:none}.public-header__logo-text{letter-spacing:.1em;background:linear-gradient(135deg,#dc2626,#f97316);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.125rem;font-weight:900}.public-header__nav{align-items:center;gap:4px;display:flex}@media (width<=640px){.public-header__nav{display:none}}.public-header__link{color:#888;border-radius:10px;padding:8px 12px;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .15s}.public-header__link:hover{color:#f5f5f5;background:#1a1a1a}.public-header__link--active{color:#dc2626}.public-header__actions{align-items:center;gap:8px;display:flex}.public-footer{background:#111;border-top:1px solid #2a2a2a;padding:40px 24px 24px}.public-footer__inner{border-bottom:1px solid #2a2a2a;grid-template-columns:2fr 1fr 1fr;gap:32px;max-width:960px;margin:0 auto;padding-bottom:24px;display:grid}@media (width<=640px){.public-footer__inner{grid-template-columns:1fr;gap:24px}}.public-footer__brand p{color:#888;margin-top:8px;font-size:.875rem;line-height:1.6}.public-footer__logo{letter-spacing:.1em;background:linear-gradient(135deg,#dc2626,#f97316);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.25rem;font-weight:900}.public-footer__links,.public-footer__eco{flex-direction:column;gap:8px;display:flex}.public-footer__links p,.public-footer__eco p{letter-spacing:.12em;text-transform:uppercase;color:#888;margin-bottom:4px;font-size:.75rem;font-weight:700}.public-footer__links a,.public-footer__eco a{color:#888;font-size:.875rem;text-decoration:none;transition:color .15s}.public-footer__links a:hover,.public-footer__eco a:hover{color:#f5f5f5}.public-footer__copy{color:#888;max-width:960px;margin:16px auto 0;font-size:.75rem}.primal-btn--sm{padding:6px 14px!important;font-size:.75rem!important}.primal-loader{color:#888;flex-direction:column;align-items:center;gap:16px;padding:48px;font-size:.875rem;display:flex}.primal-loader__bar{background:#2a2a2a;border-radius:2px;width:120px;height:2px;position:relative;overflow:hidden}.primal-loader__bar:after{content:"";background:#dc2626;border-radius:2px;width:50%;height:100%;animation:1.2s ease-in-out infinite loader-slide;position:absolute;top:0;left:-50%}@keyframes loader-slide{0%{left:-50%}to{left:100%}}.primal-landing{flex-direction:column;justify-content:center;align-items:center;gap:48px;min-height:100dvh;padding:0 24px 24px;display:flex}.primal-landing__nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;background:#0a0a0ad9;border-bottom:1px solid #2a2a2a;justify-content:space-between;align-items:center;padding:12px 24px;display:flex;position:fixed;top:0;left:0;right:0}@media (width<=640px){.primal-landing__nav{padding:12px 16px}}.primal-landing__nav-logo{letter-spacing:.1em;background:linear-gradient(135deg,#dc2626,#f97316);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.125rem;font-weight:900}.primal-landing__nav-links{align-items:center;gap:4px;display:flex}@media (width<=640px){.primal-landing__nav-links{display:none}}.primal-landing__nav-links a{color:#888;border-radius:10px;padding:8px 12px;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .15s}.primal-landing__nav-links a:hover{color:#f5f5f5;background:#1a1a1a}.primal-landing__nav-actions{align-items:center;gap:8px;display:flex}.primal-landing__hero{text-align:center;max-width:600px;margin-top:80px;animation:.6s both fade-in}.primal-landing__eyebrow{letter-spacing:.2em;text-transform:uppercase;color:#888;margin-bottom:16px;font-size:.75rem;font-weight:700;display:block}.primal-landing__title{letter-spacing:-.02em;margin-bottom:16px;font-size:clamp(3.5rem,12vw,7rem);font-weight:900;line-height:1}.primal-landing__title span{background:linear-gradient(135deg,#dc2626,#f97316);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.primal-landing__tagline{color:#f5f5f5;margin-bottom:12px;font-size:1.5rem;font-weight:700}.primal-landing__sub{color:#888;margin-bottom:24px;font-size:1rem;line-height:1.6}.primal-landing__sub strong{color:#f5f5f5}.primal-landing__cta{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-bottom:12px;display:flex}.primal-landing__free-badge{color:#888;font-size:.75rem;font-weight:500}.primal-landing__pillars{grid-template-columns:repeat(3,1fr);gap:16px;width:100%;max-width:800px;animation:.6s .2s both fade-in;display:grid}@media (width<=640px){.primal-landing__pillars{grid-template-columns:1fr}}.primal-landing__explore{flex-direction:column;gap:8px;width:100%;max-width:480px;animation:.6s .35s both fade-in;display:flex}.primal-landing__explore-link{color:#888;background:#111;border:1px solid #2a2a2a;border-radius:10px;align-items:center;gap:12px;padding:12px 16px;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.primal-landing__explore-link:hover{color:#f5f5f5;background:#1a1a1a;border-color:#dc2626}.primal-landing__explore-link span{flex:1}.primal-landing__explore-link svg:first-child{color:#dc2626}.primal-landing__footer{color:#888;border-top:1px solid #2a2a2a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:100%;max-width:800px;padding-top:16px;font-size:.75rem;animation:.6s .4s both fade-in;display:flex}.primal-landing__footer-links{gap:16px;display:flex}.primal-landing__footer-links a{color:#888;text-decoration:none;transition:color .15s}.primal-landing__footer-links a:hover{color:#f5f5f5}.primal-btn{letter-spacing:.02em;border-radius:10px;align-items:center;gap:8px;padding:12px 20px;font-size:.875rem;font-weight:700;transition:all .15s;display:inline-flex}.primal-btn--primary{color:#fff;background:#dc2626}.primal-btn--primary:hover{background:#e03c3c;transform:translateY(-1px)}.primal-btn--ghost{color:#888;border:1px solid #2a2a2a}.primal-btn--ghost:hover{color:#f5f5f5;border-color:#f5f5f5}.primal-pillar-card{border:1px solid #2a2a2a;border-color:rgba(var(--pillar-color), .2);background:#111;border-radius:16px;flex-direction:column;gap:8px;padding:16px;transition:transform .15s,border-color .15s;display:flex}.primal-pillar-card:hover{border-color:rgba(var(--pillar-color), .4);transform:translateY(-2px)}.primal-pillar-card__icon{color:var(--pillar-color);margin-bottom:4px}.primal-pillar-card h3{color:#f5f5f5;font-size:.875rem;font-weight:700}.primal-pillar-card p{color:#888;font-size:.75rem;line-height:1.5}.primal-auth{justify-content:center;align-items:center;min-height:100dvh;padding:16px;display:flex}.primal-auth__card{background:#111;border:1px solid #2a2a2a;border-radius:16px;flex-direction:column;gap:16px;width:100%;max-width:400px;padding:16px;animation:.4s both fade-in;display:flex}.primal-auth__card h1{font-size:1.25rem;font-weight:800}.primal-auth__logo{letter-spacing:.06em;color:#dc2626;font-size:1.125rem;font-weight:900}.primal-auth__form{flex-direction:column;gap:12px;display:flex}.primal-auth__form label{color:#888;flex-direction:column;gap:4px;font-size:.875rem;font-weight:500;display:flex}.primal-auth__form input{color:#f5f5f5;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:10px;padding:12px;font-family:inherit;font-size:.875rem;transition:border-color .15s}.primal-auth__form input:focus{border-color:#dc2626;outline:none}.primal-auth__error{color:#ef4444;background:#ef44441a;border-radius:6px;padding:8px 12px;font-size:.75rem}.primal-auth__switch{color:#888;text-align:center;font-size:.875rem}.primal-auth__switch a{color:#dc2626;font-weight:600}.primal-auth__coming{color:#888;font-size:.875rem}*{box-sizing:border-box;margin:0;padding:0}:root{--eco-surface:#111;--eco-border:#2a2a2a;--eco-text:#f5f5f5;--eco-muted:#888;--eco-hover:#1a1a1a;--eco-accent:#dc2626;--eco-danger:#ef4444;--eco-danger-bg:#ef444424;--eco-radius:16px;--eco-shadow:0 12px 28px #0009}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,-apple-system,sans-serif}body{color:#f5f5f5;background-color:#0a0a0a;min-height:100dvh;overflow-x:hidden}#root{flex-direction:column;min-height:100dvh;display:flex}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer;font:inherit;background:0 0;border:none}img,svg{max-width:100%;display:block}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#111}::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:3px}@supports (-webkit-touch-callout:none){body{overscroll-behavior-y:none}}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.4)}}@keyframes progress-fill{0%{width:0}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}
