:root{--ea-off-white:#f5f5f5;--ea-light-grey:#ededed;--ea-dark-grey:#373737;--ea-black:#1f1f1f;--ea-grad-pink:#f8c9f2;--ea-grad-lavender:#c9a4f7;--ea-grad-purple:#a187ff;--ea-gradient:linear-gradient(135deg, var(--ea-grad-pink) 0%, var(--ea-grad-lavender) 45%, var(--ea-grad-purple) 100%);--ea-gradient-radial:radial-gradient(circle at 30% 30%, var(--ea-grad-pink) 0%, var(--ea-grad-lavender) 45%, var(--ea-grad-purple) 100%);--ea-accent:var(--ea-grad-purple);--ea-accent-hover:#b39bff;--ea-accent-soft:#a187ff24;--ea-accent-faint:#a187ff0d;--ea-accent-glow:#a187ff66;--bg-primary:var(--ea-black);--bg-elevated:#2a2a2a;--bg-subtle:var(--ea-dark-grey);--text-primary:var(--ea-off-white);--text-secondary:#f5f5f5b3;--text-muted:#f5f5f573;--text-faint:#f5f5f540;--line:#f5f5f514;--line-strong:#f5f5f52e;--grid-line:#f5f5f509;--on-card:var(--ea-black);--on-card-muted:#1f1f1f99;--state-success:#22c55e;--state-error:#ef4444;--font-display:"Satoshi", system-ui, -apple-system, sans-serif;--font-body:"Satoshi", system-ui, -apple-system, sans-serif;--fs-display:clamp(2.5rem, 5.5vw, 4.8rem);--fs-h1:clamp(2rem, 4vw, 3.4rem);--fs-h2:clamp(1.4rem, 3.2vw, 2.6rem);--fs-h3:clamp(1.05rem, 1.6vw, 1.3rem);--fs-body:clamp(.9rem, 1.15vw, 1.05rem);--fs-small:clamp(.78rem, .95vw, .88rem);--fs-label:clamp(.62rem, .78vw, .74rem);--fs-eyebrow:.72rem;--lh-tight:.95;--lh-snug:1.1;--lh-normal:1.45;--lh-relaxed:1.6;--tracking-display:-.025em;--tracking-tight:-.01em;--tracking-normal:0;--tracking-wide:.18em;--tracking-wider:.22em;--w-light:300;--w-regular:400;--w-medium:500;--w-bold:700;--w-black:900;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--s-16:64px;--s-20:80px;--s-24:96px;--radius-sm:2px;--radius-md:4px;--radius-lg:8px;--radius-pill:999px;--shadow-sm:0 1px 2px #0003;--shadow-md:0 8px 24px #00000040;--shadow-lg:0 24px 60px #00000059;--shadow-glow:0 24px 60px #a187ff47;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-soft:cubic-bezier(.2, .7, .2, 1);--d-fast:.2s;--d-base:.4s;--d-slow:.7s}.theme-light{--bg-primary:var(--ea-off-white);--bg-elevated:#fff;--bg-subtle:var(--ea-light-grey);--text-primary:var(--ea-black);--text-secondary:#1f1f1fb3;--text-muted:#1f1f1f73;--text-faint:#1f1f1f40;--line:#1f1f1f14;--line-strong:#1f1f1f2e;--grid-line:#1f1f1f0a}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-Light.otf)format("opentype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-LightItalic.otf)format("opentype");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-Regular.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-Italic.otf)format("opentype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-Medium.otf)format("opentype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-MediumItalic.otf)format("opentype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-Bold.otf)format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-BoldItalic.otf)format("opentype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-Black.otf)format("opentype");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-BlackItalic.otf)format("opentype");font-weight:900;font-style:italic;font-display:swap}.ea-base{background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);font-weight:var(--w-regular);font-size:var(--fs-body);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ea-grid-bg{position:relative}.ea-grid-bg:before{content:"";background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);pointer-events:none;z-index:0;background-size:80px 80px;position:absolute;inset:0}.ea-grid-bg>*{z-index:1;position:relative}
*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);font-weight:var(--w-regular);font-size:16px;line-height:var(--lh-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}img{max-width:100%;display:block}ul{list-style:none}input,textarea,select{font-family:inherit}.nav{z-index:100;-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line);transition:background var(--d-base) var(--ease-out-expo);background:#1f1f1ff5;justify-content:space-between;align-items:center;padding:14px clamp(24px,4vw,56px);display:flex;position:sticky;top:0}.nav.nav-overlay{background:linear-gradient(#1f1f1feb 0%,#1f1f1f99 70%,#1f1f1f00 100%);border-bottom:none;padding:18px clamp(24px,4vw,56px);position:fixed;top:0;left:0;right:0}.nav.nav-overlay.scrolled{border-bottom:1px solid var(--line);background:#1f1f1ff5}.nav-left{align-items:center;gap:clamp(20px,3vw,44px);display:flex}.brand{align-items:center;gap:10px;display:flex}.brand-icon{object-fit:contain;width:28px;height:28px}.brand-mark{font-family:var(--font-display);font-weight:var(--w-black);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-primary);font-size:1.05rem}.brand-mark em{background:var(--ea-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-style:normal}.nav-menu{align-items:center;gap:clamp(14px,1.6vw,28px);display:flex}.nav-link{font-size:.88rem;font-weight:var(--w-medium);color:var(--text-secondary);letter-spacing:.01em;transition:color var(--d-fast) var(--ease-out-expo);padding:6px 2px;position:relative}.nav-link:hover,.nav-link.active{color:var(--text-primary)}.nav-link.active:after{content:"";background:var(--ea-gradient);height:1px;position:absolute;bottom:-2px;left:0;right:0}.nav-right{align-items:center;gap:18px;display:flex}.icon-btn{width:36px;height:36px;color:var(--text-secondary);border-radius:var(--radius-pill);transition:color var(--d-fast), background var(--d-fast);justify-content:center;align-items:center;display:inline-flex;position:relative}.icon-btn:hover{color:var(--text-primary);background:#ffffff0f}.icon-btn .badge{background:var(--ea-accent);width:6px;height:6px;box-shadow:0 0 8px var(--ea-accent-glow);border-radius:50%;position:absolute;transform:translate(8px,-8px)}.user-chip{border-radius:var(--radius-pill);transition:background var(--d-fast);cursor:pointer;align-items:center;gap:10px;padding:4px 12px 4px 4px;display:flex;position:relative}.user-chip:hover{background:#ffffff0f}.avatar{background:var(--ea-gradient);width:32px;height:32px;color:var(--ea-black);font-weight:var(--w-bold);letter-spacing:.04em;border-radius:50%;justify-content:center;align-items:center;font-size:.78rem;display:inline-flex}.user-name{font-size:.85rem;font-weight:var(--w-medium);color:var(--text-primary)}.caret{color:var(--text-muted);transition:transform var(--d-fast)}.user-chip.open .caret{transform:rotate(180deg)}.user-menu{-webkit-backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:var(--radius-md);min-width:220px;box-shadow:var(--shadow-lg);z-index:200;background:#2a2a2afa;flex-direction:column;gap:2px;padding:8px;display:none;position:absolute;top:calc(100% + 8px);right:0}.user-chip.open .user-menu{display:flex}.user-menu a{color:var(--text-secondary);border-radius:var(--radius-sm);transition:all var(--d-fast);align-items:center;gap:10px;padding:10px 14px;font-size:.85rem;display:flex}.user-menu a svg{color:var(--text-muted)}.user-menu a:hover{color:var(--text-primary);background:#ffffff0f}.user-menu a:hover svg{color:var(--text-primary)}.user-menu .divider{background:var(--line);height:1px;margin:4px 0}.user-menu .logout,.user-menu .logout svg{color:var(--state-error)}.user-menu .logout:hover{color:var(--state-error);background:#ef444414}.btn{font-size:.85rem;font-weight:var(--w-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;border-radius:var(--radius-md);transition:transform var(--d-fast) var(--ease-out-expo), background var(--d-fast), border-color var(--d-fast), box-shadow var(--d-fast);cursor:pointer;justify-content:center;align-items:center;gap:10px;padding:14px 28px;display:inline-flex}.btn-primary{background:var(--ea-gradient);color:var(--ea-black);box-shadow:0 12px 32px #a187ff40}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 16px 40px #a187ff59}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-ghost{color:var(--text-primary);border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff0f}.btn-ghost:hover{border-color:var(--ea-accent);background:#ffffff1f}.btn-danger-ghost{color:var(--state-error);border:1px solid var(--state-error);background:0 0}.btn-danger-ghost:hover{background:#ef44441a}.btn-block{width:100%}.btn-sm{padding:10px 18px;font-size:.78rem}.btn-link{font-size:.85rem;font-weight:var(--w-medium);color:var(--ea-accent);letter-spacing:.01em;transition:color var(--d-fast)}.btn-link:hover{color:var(--ea-accent-hover)}.eyebrow{font-size:var(--fs-eyebrow);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--text-muted);font-weight:var(--w-medium);align-items:center;gap:10px;display:inline-flex}.eyebrow.with-bullet:before{content:"";background:var(--ea-accent);width:6px;height:6px;box-shadow:0 0 12px var(--ea-accent-glow);border-radius:50%;animation:2.4s ease-in-out infinite pulse;display:inline-block}.pill{border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:var(--tracking-wide);font-size:.72rem;font-weight:var(--w-medium);border:1px solid var(--line);color:var(--text-secondary);transition:all var(--d-fast);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:6px;padding:6px 14px;display:inline-flex}.pill:hover{color:var(--text-primary);border-color:var(--line-strong)}.pill.active{background:var(--ea-accent-soft);border-color:var(--ea-accent);color:var(--text-primary)}.pill.active:before{content:"";background:var(--ea-gradient);border-radius:50%;width:5px;height:5px}.field{flex-direction:column;gap:6px;display:flex}.field-label{text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--text-muted);font-size:.72rem;font-weight:var(--w-medium)}.field-input,.field-select,.field-textarea{border:none;border-bottom:1px solid var(--line-strong);width:100%;color:var(--text-primary);transition:border-color var(--d-fast);background:0 0;padding:10px 0;font-family:inherit;font-size:.95rem}.field-input::placeholder,.field-textarea::placeholder{color:var(--text-muted)}.field-input:focus,.field-select:focus,.field-textarea:focus{border-bottom-color:var(--ea-accent);outline:none}.field-help{color:var(--text-muted);font-size:.78rem}.field-error{color:var(--state-error);font-size:.78rem}.checkbox{cursor:pointer;color:var(--text-secondary);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:.85rem;display:inline-flex}.checkbox input{display:none}.checkbox-box{border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:#0000;width:16px;height:16px;transition:all var(--d-fast);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.checkbox input:checked~.checkbox-box{background:var(--ea-gradient);border-color:var(--ea-accent);color:var(--ea-black)}.checkbox-box svg{width:10px;height:10px}.footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:clamp(40px,6vh,80px);padding:32px clamp(24px,4vw,56px);display:flex}.footer.compact{margin-top:0;padding:24px clamp(24px,4vw,56px)}.footer-links{color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide);font-size:.78rem;font-weight:var(--w-medium);align-items:center;gap:22px;display:flex}.footer-links a:hover{color:var(--text-primary)}.footer-social{gap:14px;display:flex}.footer-social a{width:32px;height:32px;color:var(--text-muted);border:1px solid var(--line);transition:all var(--d-fast);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.footer-social a:hover{color:var(--text-primary);border-color:var(--ea-accent);background:var(--ea-accent-soft)}.footer-copy{color:var(--text-faint);letter-spacing:var(--tracking-wide);text-transform:uppercase;font-size:.72rem}.page-header{flex-direction:column;gap:14px;max-width:1280px;padding:clamp(32px,6vh,80px) clamp(24px,4vw,56px) clamp(24px,3vh,32px);display:flex}.page-title{font-family:var(--font-display);font-weight:var(--w-black);font-size:clamp(2rem,4.2vw,3.4rem);line-height:var(--lh-tight);letter-spacing:var(--tracking-display);color:var(--text-primary)}.page-title em{background:var(--ea-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-style:normal}.page-subtitle{color:var(--text-secondary);max-width:64ch;font-size:1rem;line-height:var(--lh-normal)}.page-stats{color:var(--text-muted);letter-spacing:.01em;align-items:center;gap:12px;font-size:.85rem;display:flex}.page-stats .sep{color:var(--text-faint)}.row-section{padding:clamp(32px,5vh,56px) clamp(24px,4vw,56px);position:relative}.row-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:20px;display:flex}.row-title{font-family:var(--font-display);font-weight:var(--w-bold);letter-spacing:-.01em;color:var(--text-primary);font-size:clamp(1.2rem,1.8vw,1.5rem)}.row-title em{background:var(--ea-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-style:normal}.row-controls{gap:8px;display:flex}.row-arrow{border:1px solid var(--line);border-radius:var(--radius-pill);width:36px;height:36px;color:var(--text-secondary);transition:all var(--d-fast) var(--ease-out-expo);justify-content:center;align-items:center;display:inline-flex}.row-arrow:hover{border-color:var(--ea-accent);color:var(--text-primary);background:var(--ea-accent-soft)}.carousel{scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;gap:16px;padding-bottom:12px;display:flex;overflow-x:auto}.carousel::-webkit-scrollbar{height:4px}.carousel::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:2px}.carousel::-webkit-scrollbar-track{background:0 0}.card-continue{scroll-snap-align:start;cursor:pointer;transition:transform var(--d-fast) var(--ease-out-expo);flex-direction:column;flex:0 0 clamp(260px,22vw,340px);gap:10px;display:flex}.card-continue:hover{transform:translateY(-4px)}.card-continue-thumb{aspect-ratio:16/9;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--bg-elevated);position:relative;overflow:hidden}.card-continue:hover .card-continue-thumb{border-color:var(--ea-accent)}.thumb-img{object-fit:cover;object-position:center;width:100%;height:100%;transition:transform var(--d-base) var(--ease-out-expo);position:absolute;inset:0}.card-continue:hover .thumb-img{transform:scale(1.04)}.thumb-overlay{background:linear-gradient(#1f1f1f00 40%,#1f1f1fd9 100%);position:absolute;inset:0}.thumb-play{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;width:48px;height:48px;transition:opacity var(--d-fast), transform var(--d-fast) var(--ease-out-expo);background:#1f1f1fb3;border:1px solid #f5f5f566;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.9)}.card-continue:hover .thumb-play{opacity:1;transform:translate(-50%,-50%)scale(1)}.progress-bar{background:#f5f5f51f;height:3px;position:absolute;bottom:0;left:0;right:0}.progress-bar-fill{background:var(--ea-gradient);height:100%;box-shadow:0 0 12px var(--ea-accent-glow)}.card-continue-info{flex-direction:column;gap:4px;display:flex}.card-continue-info .row-meta{justify-content:space-between;align-items:center;gap:8px;display:flex}.card-continue-title{font-size:.95rem;font-weight:var(--w-bold);color:var(--text-primary);letter-spacing:-.01em}.card-continue-progress{text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--ea-accent);font-size:.72rem;font-weight:var(--w-medium)}.card-continue-sub{color:var(--text-muted);letter-spacing:.01em;font-size:.78rem}.card-module{scroll-snap-align:start;cursor:pointer;transition:transform var(--d-fast) var(--ease-out-expo);flex-direction:column;flex:0 0 clamp(180px,15vw,220px);gap:10px;display:flex}.card-module:hover{transform:translateY(-4px)}.card-module-thumb{aspect-ratio:2/3;border-radius:var(--radius-md);border:1px solid var(--line);transition:border-color var(--d-fast);position:relative;overflow:hidden}.card-module:hover .card-module-thumb{border-color:var(--ea-accent)}.poster-img{object-fit:cover;object-position:center;width:100%;height:100%;transition:transform var(--d-base) var(--ease-out-expo);z-index:0;position:absolute;inset:0}.card-module:hover .poster-img{transform:scale(1.04)}.poster-shade{z-index:1;background:linear-gradient(#1f1f1f26 0%,#1f1f1f00 35% 55%,#1f1f1fd9 100%);position:absolute;inset:0}.poster-stripe{background:var(--ea-gradient);z-index:3;height:3px;position:absolute;top:0;left:0;right:0}.poster-tag-floating{z-index:3;-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:var(--tracking-wider);font-size:.62rem;font-weight:var(--w-medium);color:var(--text-primary);background:#1f1f1f99;border:1px solid #f5f5f526;align-items:center;gap:6px;padding:5px 10px;display:inline-flex;position:absolute;bottom:12px;left:12px}.poster-tag-floating:before{content:"";background:var(--ea-gradient);border-radius:50%;width:5px;height:5px}.card-module-info{flex-direction:column;gap:4px;padding:0 2px;display:flex}.card-module-title{font-size:.92rem;font-weight:var(--w-bold);color:var(--text-primary);letter-spacing:-.01em}.card-module-meta{color:var(--text-muted);letter-spacing:.01em;align-items:center;gap:8px;font-size:.72rem;display:flex}.card-module-meta .sep{color:var(--text-faint)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.4)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.divider-h{background:var(--line);height:1px;margin:var(--s-6) 0;border:none}@media (max-width:768px){.nav-menu,.user-name,.caret{display:none}}
