:root{--page-max:1200px;--fs-page:clamp(1.5rem, 1.1rem + 1.2vw, 2rem);--fs-section:1.25rem;--fs-body:.95rem;--fs-caption:.85rem;--fs-micro:.75rem;--fw-regular:400;--fw-semibold:600;--fw-bold:700;--radius-xs:4px;--radius-sm:8px;--radius-card:12px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--text-caption:#4b5563;--accent-text:#111827;--neutral-strong:#111827}html.dark{--text-caption:#a1a1aa;--accent-text:#fff;--neutral-strong:#e5e7eb}@media (width>=1024px){:root{--fs-section:1.375rem;--fs-body:1rem;--fs-caption:.9rem;--fs-micro:.8rem}}@media (width>=1440px){:root{--page-max:1360px}}:root{--bg-primary:#f9fafb;--bg-secondary:#fff;--bg-tertiary:#f3f4f6;--bg-glass:#ffffffd9;--primary-color:#6366f1;--accent-color:#111827;--accent-light:#1118270f;--logo-accent:#4f46e5;--star-color:#cc6c05;--star-empty-color:#6b7280;--star-clear-color:#4b5563;--gold-text:#b45309;--text-primary:#111827;--text-secondary:#4b5563;--text-muted:#5f6672;--border-color:#9ca3af;--border-color-hover:#6b7280;--divider-color:#d1d5db;--tint-rgb:17 24 39;--surface-raised-start:#fff;--surface-raised-end:#f3f4f6;--hero-banner-start:#f3f4f6;--hero-banner-end:#f9fafb;--badge-bg:#ffffffeb;--text-heading:#111827;--text-muted-on-tint:#5f6672;--error-text:#b91c1c;--danger-text:#b91c1c;--star-empty-faint:#6b7280;--on-media:#fff;--on-accent:#fff;--accent-rgb:17 24 39;--scrim-bg:#11182766;--drawer-bg:var(--bg-secondary);--drawer-bg-dense:var(--bg-secondary);--nav-bar-bg:var(--bg-secondary);--back-btn-bg:#ffffffe6;--back-btn-bg-hover:#fff;--back-btn-border:var(--border-color);--back-btn-border-hover:var(--border-color-hover);--back-btn-shadow:none;--logo-plate-border:var(--divider-color);--logo-plate-shadow:none;--company-logo-ring:var(--border-color);--text-shadow-hero:none;--media-placeholder-bg:var(--bg-tertiary);--surface-detail-bg:var(--bg-secondary);--icon-primary:#111827;--icon-secondary:#4b5563;--nav-active-color:#111827;--nav-hover-color:#111827;--nav-active-bg:#1118270f;--font-sans:"Outfit", -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", "Meiryo", "Noto Sans CJK JP", "Noto Sans JP", sans-serif;--card-shadow:0 2px 8px #0000000f;--card-shadow-hover:0 8px 24px #0000001f;--card-glow-shadow:none;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--header-height:calc(74px + var(--safe-top));--transition-smooth:all .4s cubic-bezier(.16, 1, .3, 1);--border-radius-sm:8px;--border-radius-md:16px;--border-radius-lg:24px;--hero-overlay-start:#ffffff26;--hero-opacity:.85;--logo-text-grad:linear-gradient(135deg, #111827 50%, var(--text-secondary) 100%)}html.dark{--bg-primary:#000;--bg-secondary:#0a0a0c;--bg-tertiary:#18181b;--bg-glass:#000000d9;--primary-color:#4c3f91;--accent-color:#fff;--accent-light:#ffffff1a;--logo-accent:#7c3aed;--star-color:#fbbf24;--star-empty-color:#ffffff6b;--star-clear-color:#ffffff59;--gold-text:#fbbf24;--text-primary:#fff;--text-secondary:#d4d4d8;--text-muted:#8e8e93;--border-color:#27272a;--border-color-hover:#52525b;--divider-color:#27272a;--tint-rgb:255 255 255;--surface-raised-start:#131316;--surface-raised-end:#0c0c0e;--hero-banner-start:#16161a;--hero-banner-end:#000;--badge-bg:#121212d9;--text-heading:#f5f5f7;--text-muted-on-tint:#97979c;--error-text:#fca5a5;--danger-text:#ef4444;--star-empty-faint:#ffffff26;--on-accent:#121212;--accent-rgb:255 255 255;--scrim-bg:transparent;--drawer-bg:var(--bg-glass);--drawer-bg-dense:color-mix(in srgb, var(--bg-primary) 97%, transparent);--nav-bar-bg:var(--bg-glass);--back-btn-bg:#0009;--back-btn-bg-hover:#000000c7;--back-btn-border:#ffffff38;--back-btn-border-hover:#ffffff57;--back-btn-shadow:0 4px 18px #0003;--logo-plate-border:#ffffff1a;--logo-plate-shadow:0 12px 32px #00000080;--company-logo-ring:#ffffff1a;--text-shadow-hero:0 2px 10px #00000080;--media-placeholder-bg:linear-gradient(135deg, #23232b 0%, #17171c 100%);--surface-detail-bg:linear-gradient(180deg, #131316 0%, #0b0b0d 100%);--icon-primary:#fff;--icon-secondary:#d4d4d8;--nav-active-color:#fff;--nav-hover-color:#fff;--nav-active-bg:#ffffff1a;--card-shadow:none;--card-shadow-hover:none;--card-glow-shadow:none;--hero-overlay-start:#00000040;--hero-opacity:.65;--logo-text-grad:linear-gradient(135deg, #fff 50%, var(--text-secondary) 100%)}*{box-sizing:border-box;margin:0;padding:0}html{scrollbar-gutter:stable}html,body,#root,.app-layout,.page-content{background-color:var(--bg-primary);color:var(--text-primary);width:100%;min-height:100vh;transition:background-color .3s,color .3s}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.2px;overflow-x:hidden}:is(.imdb-carousel-row,.director-cast-row,.known-for-carousel-scroll,.company-movies-carousel-scroll){margin-top:-12px!important;padding-top:12px!important}:is(.grid-movies,.home-collection-grid,.library-movies-grid,.library-vertical-list,.appstore-genres-grid,.appstore-rankings-grid){margin-top:-12px!important;padding-top:12px!important;overflow:visible!important}:focus-visible{outline:2px solid var(--accent-color);outline-offset:3px}a{color:inherit;text-decoration:none}button,input,textarea,select{color:inherit;font-family:inherit}@media (width<=768px){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]),textarea,select{font-size:16px!important}}button{cursor:pointer;background:0 0;border:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:#1c1b22;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-color)}.container{max-width:var(--page-max);margin:0 auto;padding:0 32px}.section-title{font-family:var(--font-sans);color:var(--text-primary);letter-spacing:-.4px;align-items:center;gap:12px;margin-bottom:24px;font-size:1.55rem;font-weight:800;display:flex}.section-title:after{content:"";background:linear-gradient(to right, var(--accent-color), transparent);width:40px;height:2px;margin-left:4px}@keyframes fadeIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.fade-in{will-change:opacity, transform;animation:.6s cubic-bezier(.16,1,.3,1) forwards fadeIn}.glass{background:var(--bg-glass);-webkit-backdrop-filter:blur(30px);border:1px solid var(--border-color)}.badge{border-radius:24px;padding:5px 12px;font-size:.7rem;font-weight:700}.badge-genre{background-color:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color)}.badge-rating{color:var(--star-color);background-color:#f5c5180a;border:1px solid #f5c51814;align-items:center;gap:4px;display:inline-flex}.grid-movies{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:36px;display:grid}@media (width<=768px){.grid-movies{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px;padding:0 4px}.section-title{font-size:1.25rem}}.brand-splash-screen{z-index:99999;pointer-events:none;background-color:#08080a;justify-content:center;align-items:center;width:100vw;height:100vh;animation:1.2s cubic-bezier(.16,1,.3,1) forwards splashFadeOut;display:flex;position:fixed;top:0;left:0}.splash-logo-container{flex-direction:column;align-items:center;gap:24px;animation:1.2s cubic-bezier(.16,1,.3,1) forwards splashLogoScale;display:flex}.splash-logo-svg{filter:drop-shadow(0 0 24px #7c3aed40)}.splash-brand-text{font-family:var(--font-sans);color:#fff;letter-spacing:2px;text-transform:none;opacity:0;margin:0;font-size:2.2rem;font-weight:900;animation:.8s ease-out .2s forwards splashTextFadeIn}@keyframes splashFadeOut{0%{opacity:1;-webkit-backdrop-filter:blur();backdrop-filter:blur()}80%{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}to{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur();visibility:hidden}}@keyframes splashLogoScale{0%{opacity:0;filter:blur(8px);transform:scale(.85)}30%{opacity:1;filter:blur();transform:scale(1.05)}80%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.92)}}@keyframes splashTextFadeIn{0%{opacity:0;transform:translateY(8px)}50%{opacity:1;transform:translateY(0)}80%{opacity:1}to{opacity:0}}.movie-poster-fallback{text-align:center;aspect-ratio:2/3;box-sizing:border-box;background:linear-gradient(135deg,#1e1e24 0%,#121214 100%);border:1px solid #ffffff14;border-radius:8px;justify-content:center;align-items:center;width:100%;height:100%;padding:16px;display:flex}.w-full{width:100%!important}.h-full{height:100%!important}.object-cover{object-fit:cover!important}.rounded-lg{border-radius:.5rem!important}.flex{display:flex!important}.flex-col{flex-direction:column!important}.items-center{align-items:center!important}.justify-center{justify-content:center!important}.bg-gray-800{background-color:#1f2937!important}.text-gray-400{color:#9ca3af!important}.text-sm{font-size:.875rem!important}.font-bold{font-weight:700!important}.text-xs{font-size:.75rem!important}.text-yellow-500{color:#eab308!important}.mt-2{margin-top:.5rem!important}.font-black{font-weight:900!important}.text-center{text-align:center!important}.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.main-header{width:100%;height:var(--header-height);padding-top:var(--safe-top);z-index:100;transition:var(--transition-smooth);border-bottom:1px solid var(--divider-color);background-color:var(--bg-primary);isolation:isolate;align-items:center;display:flex;position:fixed;top:0;left:0}.main-header>*{z-index:1;position:relative}.header-container{width:100%;max-width:var(--page-max);justify-content:space-between;align-items:center;margin:0 auto;padding:0 32px;display:flex}.header-left{align-items:center;gap:14px;padding:4px 0;display:flex}.header-logo-wrap{cursor:pointer;align-items:center;gap:14px;display:flex}.yoreva-logo-svg{filter:drop-shadow(0 4px 12px #7c5aed4d);transition:transform .4s cubic-bezier(.16,1,.3,1)}.header-logo-wrap:hover .yoreva-logo-svg{transform:rotate(-3deg)scale(1.04)}.logo-text{font-family:var(--font-sans);letter-spacing:-.8px;color:var(--text-primary);background:var(--logo-text-grad);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.45rem;font-weight:900}.header-nav{align-items:center;gap:28px;display:flex}.nav-item{color:var(--text-secondary);letter-spacing:1px;border-radius:var(--border-radius-sm);transition:var(--transition-smooth);text-transform:uppercase;border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:8px 16px;font-size:.65rem;font-weight:800;display:flex}.nav-icon{color:inherit;transition:var(--transition-smooth)}.nav-item:hover{color:var(--nav-hover-color);background-color:var(--nav-active-bg)}.nav-item:hover .nav-icon{color:var(--nav-hover-color);transform:translateY(-1px)}.nav-item.active{color:var(--nav-active-color);background-color:var(--nav-active-bg)}.nav-item.active .nav-icon{color:inherit;filter:none}.header-right{align-items:center;gap:20px;display:flex}.profile-trigger{background-color:var(--bg-tertiary);border:1px solid var(--border-color);transition:var(--transition-smooth);border-radius:50%;justify-content:center;align-items:center;padding:5px;display:flex}.profile-trigger:hover,.profile-trigger.active{background-color:var(--bg-secondary);border-color:var(--border-color-hover)}.avatar-preview{justify-content:center;align-items:center;width:28px;height:28px;font-size:1.15rem;display:flex}.header-avatar-btn{background-color:var(--bg-tertiary);border:1px solid var(--border-color);width:44px;height:44px;color:var(--text-primary);cursor:pointer;transition:var(--transition-smooth);border-radius:50%;justify-content:center;align-items:center;display:flex;overflow:hidden}.header-avatar-img{object-fit:cover;width:100%;height:100%}.header-avatar-btn:hover{border-color:var(--border-color-hover);background-color:var(--bg-secondary);transform:scale(1.05)}.header-locale-select{border-radius:var(--border-radius-sm);background-color:var(--bg-tertiary);border:1px solid var(--border-color);height:36px;color:var(--text-secondary);cursor:pointer;padding:0 10px;font-size:.75rem;font-weight:700}.header-login-btn{background-color:var(--text-primary);height:36px;color:var(--bg-primary);transition:var(--transition-smooth);border-radius:18px;align-items:center;gap:6px;padding:0 16px;font-size:.8rem;font-weight:700;display:flex}.header-login-btn:hover{background-color:var(--text-secondary);transform:translateY(-2px)}.mobile-nav{display:none}@media (width<=768px){.header-nav{display:none}.main-header{height:calc(60px + var(--safe-top))}.mobile-nav{width:100%;height:calc(64px + var(--safe-bottom));border-top:1px solid var(--divider-color);background-color:var(--nav-bar-bg);z-index:100;padding:6px 0 calc(6px + var(--safe-bottom));justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0}.mobile-nav-item{color:var(--text-muted);transition:var(--transition-smooth);border:1px solid #0000;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:6px 16px;font-size:.65rem;font-weight:800;display:flex}.mobile-nav-item.active{color:var(--nav-active-color);background-color:var(--nav-active-bg)}.mobile-nav-item svg{color:var(--text-muted);transition:var(--transition-smooth)}.mobile-nav-item.active svg{color:var(--nav-active-color)}}.header-search-slot{display:none}@media (width>=769px){.header-container{gap:var(--space-6)}.header-left,.header-nav{flex:none}.nav-item-search{display:none}.header-search-slot{flex:1 1 0;min-width:240px;max-width:600px;margin:0 auto;display:block;position:relative}.header-right{flex:none}}.site-footer.is-pending{visibility:hidden}.site-footer{color:#8e8e93;background:#08080a;border-top:1px solid #25252b;width:100%;margin-top:52px}.site-footer-container{width:100%;max-width:var(--page-max);margin:0 auto;padding:42px 32px 28px}.site-footer-main{justify-content:space-between;align-items:flex-start;gap:56px;display:flex}.site-footer-brand{flex:none}.site-footer-wordmark{color:#fff;letter-spacing:-.02em;align-items:center;gap:10px;font-size:1.1rem;font-weight:800;display:flex}.site-footer-wordmark svg{width:28px;height:28px}.site-footer-brand p{color:#77777f;letter-spacing:.01em;margin-top:10px;font-size:.82rem}.site-footer-links{flex-wrap:wrap;justify-content:flex-end;gap:12px 26px;max-width:560px;display:flex}.site-footer-link{color:#9a9aa2;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:.79rem;font-weight:600;text-decoration:none;transition:color .18s;position:relative}a.site-footer-link:after{content:"";position:absolute;inset:-14px -6px}.site-footer-link:hover{color:#fff}.site-footer-credits{border-top:1px solid #1d1d22;margin-top:34px;padding-top:22px;font-size:.69rem;line-height:1.65}.site-footer-credit-line{flex-wrap:wrap;align-items:center;gap:12px 24px;display:flex}.tmdb-credit{color:#8e8e93;align-items:center;gap:9px;transition:color .18s;display:inline-flex}.tmdb-credit:hover{color:#fff}.tmdb-credit img{object-fit:contain;width:22px;height:22px}.site-footer-credits p{color:#787880;margin-top:8px}.site-footer-bottom{color:#787880;margin-top:20px}.site-footer-bottom small{font-size:.69rem}@media (width<=768px){.site-footer{margin-top:40px}.site-footer-container{padding:38px 20px calc(94px + var(--safe-bottom))}.site-footer-main{flex-direction:column;gap:30px}.site-footer-links{justify-content:flex-start;gap:14px 24px}.site-footer-credit-line{flex-direction:column;align-items:flex-start;gap:10px}}.tmdb-attribution{margin:var(--space-6,24px) 0 var(--space-4,16px);color:var(--text-muted);align-items:center;gap:12px;display:flex}.tmdb-attribution img{object-fit:contain;width:28px;height:28px;display:block}.tmdb-attribution p{margin:0;font-size:.72rem;line-height:1.4}.sync-notice{left:var(--space-4);right:var(--space-4);bottom:calc(88px + env(safe-area-inset-bottom,0px));align-items:flex-start;gap:var(--space-3);max-width:520px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-card);border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);box-shadow:var(--card-shadow-hover);font-size:var(--fs-caption);z-index:1100;margin:0 auto;line-height:1.5;display:flex;position:fixed}.sync-notice-text{overflow-wrap:anywhere;flex:1}.sync-notice-close{color:var(--text-muted);cursor:pointer;background:0 0;border:0;font-size:1.25rem;line-height:1}.auth-modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:10000;background-color:#000000bf;justify-content:center;align-items:center;width:100%;height:100%;animation:.2s ease-out fadeInAuthModal;display:flex;position:fixed;top:0;left:0}.auth-modal-container{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;gap:16px;width:90%;max-width:380px;max-height:90vh;padding:28px 24px 20px;display:flex;position:relative;overflow-y:auto;box-shadow:0 20px 40px #0009}.auth-modal-close{color:var(--text-muted);border-radius:50%;padding:4px;position:absolute;top:12px;right:12px}.auth-modal-close:hover{color:var(--text-primary);background-color:#ffffff14}.auth-modal-title{color:var(--text-primary);font-size:1.15rem;font-weight:700;font-family:var(--font-sans);text-align:center;margin:0}.auth-modal-info{color:var(--text-muted);text-align:center;margin:-8px 0 0;font-size:.8rem}.auth-modal-form{flex-direction:column;gap:12px;display:flex}.auth-modal-input{border:1px solid var(--border-color);background-color:var(--bg-tertiary);width:100%;color:var(--text-primary);box-sizing:border-box;font-size:.95rem;font-family:var(--font-sans);border-radius:8px;outline:none;padding:12px 14px;transition:border-color .2s,box-shadow .2s}.auth-modal-input:focus{border-color:var(--accent-color);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent-color) 20%, transparent)}.auth-modal-error{color:#ff4757;margin:0;font-size:.8rem}.auth-modal-username-field{flex-direction:column;gap:6px;display:flex}.auth-modal-username-input-wrap{border:1px solid var(--border-color);background-color:var(--bg-tertiary);border-radius:8px;align-items:center;transition:border-color .2s,box-shadow .2s;display:flex}.auth-modal-username-input-wrap:focus-within{border-color:var(--accent-color);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent-color) 20%, transparent)}.auth-modal-username-input-wrap.has-error{border-color:#ff4757}.auth-modal-username-prefix{color:var(--text-muted);-webkit-user-select:none;user-select:none;padding-left:14px;font-size:.95rem}.auth-modal-username-input.auth-modal-input{box-shadow:none;background:0 0;border:none;padding-left:4px}.auth-modal-username-input.auth-modal-input:focus{box-shadow:none}.auth-modal-password-wrap{align-items:center;display:flex;position:relative}.auth-modal-password-input.auth-modal-input{padding-right:40px}.auth-modal-password-toggle{width:28px;height:28px;color:var(--text-muted);border-radius:6px;justify-content:center;align-items:center;display:flex;position:absolute;right:4px}.auth-modal-password-toggle:hover{color:var(--text-primary);background-color:#ffffff14}.auth-modal-field-error{color:#ff4757;margin:0;font-size:.75rem}.auth-modal-username-status{color:var(--text-muted);margin:0;font-size:.75rem}.auth-modal-username-status.available{color:#2ed573}.auth-modal-username-suggestions{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.auth-modal-username-suggestions-label{color:var(--text-muted);font-size:.75rem}.auth-modal-username-suggestion{color:var(--accent-color);border-radius:4px;padding:2px 4px;font-size:.78rem;text-decoration:underline}.auth-modal-username-suggestion:hover{color:var(--text-secondary)}.auth-modal-success{color:#2ed573;margin:0;font-size:.8rem}.auth-modal-success-screen{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:4px 0 8px;display:flex}.auth-modal-success-lead{color:var(--text-muted);margin:0;font-size:.85rem}.auth-modal-success-email{color:var(--text-primary);word-break:break-all;margin:0 0 6px;font-size:.95rem;font-weight:700}.auth-modal-success-body{color:var(--text-muted);margin:0 0 12px;font-size:.82rem}.auth-modal-success-screen .auth-modal-submit{width:100%}.auth-modal-submit{background-color:var(--text-primary);color:var(--bg-primary);transition:var(--transition-smooth);box-shadow:none;border-radius:24px;margin-top:4px;padding:12px 18px;font-size:.9rem;font-weight:700}.auth-modal-submit:hover:not(:disabled){background-color:var(--text-secondary);transform:translateY(-2px)}.auth-modal-submit:disabled{opacity:.5;cursor:not-allowed}.auth-modal-divider{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:10px;font-size:.75rem;display:flex}.auth-modal-divider:before,.auth-modal-divider:after{content:"";background-color:var(--border-color);flex:1;height:1px}.auth-modal-google-btn{color:#3c4043;border:1px solid var(--border-color);width:100%;transition:var(--transition-smooth);background-color:#fff;border-radius:24px;justify-content:center;align-items:center;gap:10px;padding:11px 18px;font-size:.9rem;font-weight:600;display:flex}.auth-modal-google-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 8px #00000040}.auth-modal-google-btn.is-suggested{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--text-primary)}.auth-modal-google-btn:disabled{opacity:.5;cursor:not-allowed}.auth-modal-links{flex-direction:column;align-items:center;gap:6px;display:flex}.auth-modal-link{color:var(--text-muted);font-size:.8rem;text-decoration:underline}.auth-modal-link:hover{color:var(--text-primary)}.auth-modal-secondary{border:1px solid var(--border-color);color:var(--text-primary);transition:var(--transition-smooth);background:0 0;border-radius:24px;padding:10px 14px;font-size:.85rem;font-weight:700}.auth-modal-secondary:hover:not(:disabled){background-color:#ffffff14}.auth-modal-secondary:disabled{opacity:.5;cursor:not-allowed}.auth-modal-pair{gap:8px;width:100%;display:flex}.auth-modal-pair .auth-modal-secondary{flex:1}.auth-modal-trouble{text-align:left;background-color:#ffffff0a;border-radius:10px;flex-direction:column;align-items:stretch;gap:8px;width:100%;margin-top:8px;padding:12px;display:flex}.auth-modal-trouble-title{color:var(--text-primary);margin:0;font-size:.82rem;font-weight:700}.auth-modal-trouble-list{color:var(--text-muted);margin:0;padding-left:1.2em;font-size:.78rem;line-height:1.5}.auth-modal-notice{border:1px solid var(--border-color);color:var(--text-primary);background-color:#ffffff0d;border-radius:8px;margin:-4px 0 0;padding:10px 12px;font-size:.8rem;line-height:1.5}.auth-modal-hint{color:var(--text-muted);margin:0;font-size:.8rem;line-height:1.5}.auth-modal-already{color:var(--text-muted);margin:6px 0 0;font-size:.78rem}.auth-modal-inline-link{align-self:flex-start}.auth-view{gap:8px}.auth-view-icon{border:1px solid var(--border-color);width:56px;height:56px;color:var(--text-primary);background-color:#ffffff0a;border-radius:50%;justify-content:center;align-items:center;display:flex}.auth-view-icon-ok{color:#2ed573;background-color:#2ed57326;border-color:#2ed573}.auth-view-strong{color:var(--text-primary);margin:0;font-size:.9rem;font-weight:700}a.auth-modal-submit{box-sizing:border-box;justify-content:center;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.auth-view-help{border-top:1px solid var(--divider-color);flex-direction:column;align-items:center;gap:8px;width:100%;margin-top:8px;padding-top:14px;display:flex}.auth-view-help-text{color:var(--text-muted);margin:0;font-size:.8rem}.auth-view-small{color:var(--text-muted);margin:2px 0 0;font-size:.78rem}.auth-view-form{width:100%}.auth-code-input{text-align:center;letter-spacing:.5em;font-variant-numeric:tabular-nums;padding-left:calc(14px + .5em);font-size:1.6rem;font-weight:700}.auth-code-input::placeholder{letter-spacing:.5em;color:var(--text-muted)}.auth-code-input:disabled{opacity:.6}@keyframes fadeInAuthModal{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}:root{--header-bottom:var(--header-height);--back-sticky-top:calc(var(--header-bottom) + var(--space-2));--back-gutter:var(--space-8)}@media (width<=768px){:root{--header-bottom:calc(60px + var(--safe-top));--back-sticky-top:calc(var(--header-bottom) + var(--space-2));--back-gutter:var(--space-4)}}.back-button-sticky{top:var(--back-sticky-top);z-index:50;width:44px;height:44px;margin-bottom:var(--space-4);position:sticky}.back-button-sticky.is-overlay{height:0;margin-bottom:0;margin-left:max(var(--back-gutter), calc((100% - var(--page-max)) / 2 + var(--back-gutter)), env(safe-area-inset-left,0px))}.back-button-sticky.is-overlay .back-button{position:absolute;top:0;left:0}.back-button{border:1px solid var(--back-btn-border);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--text-primary);background:var(--back-btn-bg);box-shadow:var(--back-btn-shadow);-webkit-backdrop-filter:blur(14px)saturate(140%);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background-color .16s,border-color .16s,transform .16s;display:inline-flex}.back-button:hover{background:var(--back-btn-bg-hover);border-color:var(--back-btn-border-hover);transform:scale(1.04)}.back-button:active{transform:scale(.96)}.back-button:focus-visible{outline:2px solid var(--accent-color,#f5c518);outline-offset:3px}@media (prefers-reduced-motion:reduce){.back-button{transition:none}}.back-button-inline{flex:none;display:inline-flex}@media (width>=1024px){.back-button-sticky{position:relative;top:auto}}@media (width>=1280px){:root{--back-btn-size:52px;--back-margin-shift:calc(var(--back-btn-size) + var(--space-2));--back-btn-bg:#fffffffa;--back-btn-shadow:0 2px 10px #00000047}html.dark{--back-btn-bg:#000000d9;--back-btn-bg-hover:#000000eb;--back-btn-shadow:0 4px 18px #0006}.back-button-sticky{width:var(--back-btn-size);height:var(--back-btn-size)}.back-button-sticky.is-overlay{height:0}.back-button-sticky .back-button{width:var(--back-btn-size);height:var(--back-btn-size);min-width:var(--back-btn-size);min-height:var(--back-btn-size)}.back-button-sticky .back-button svg{width:26px;height:26px}.back-button-sticky{top:var(--back-sticky-top);margin-left:calc(-1 * var(--back-margin-shift));position:sticky}.back-button-sticky.is-overlay{margin-left:calc((100% - var(--page-max)) / 2 + var(--back-gutter) - var(--back-margin-shift))}}.auth-gate-page{justify-content:center;align-items:center;min-height:60vh;padding:24px;display:flex}.auth-gate-prompt{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;max-width:340px;display:flex}.auth-gate-icon{color:var(--text-muted);margin-bottom:4px}.auth-gate-title{color:var(--text-primary);font-size:1.1rem;font-weight:800}.auth-gate-description{color:var(--text-muted);font-size:.85rem}.auth-gate-btn{background-color:var(--text-primary);min-width:160px;color:var(--bg-primary);transition:var(--transition-smooth);box-shadow:none;border-radius:24px;margin-top:8px;padding:11px 24px;font-size:.9rem;font-weight:700}.auth-gate-btn:hover{background-color:var(--text-secondary);transform:translateY(-2px)}@media (width<=768px){.library-auth-gate .auth-gate-page{top:calc(60px + var(--safe-top));bottom:calc(64px + var(--safe-bottom));min-height:0;position:fixed;left:0;right:0}.library-auth-gate-back{display:none}}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}.page-content{flex-direction:column;display:flex}.app-main-content{flex:1 0 auto;width:100%;min-width:0}.page-wrapper-keepalive{width:100%}@media (width<=768px){.page-content:has(.page-wrapper-keepalive.active .library-auth-gate) .site-footer{display:none}}.page-wrapper-keepalive.inactive-page{display:none!important}.page-wrapper-keepalive.active{display:block}.poster-skeleton-loader{z-index:1;background:linear-gradient(90deg,#050505 25%,#121214 50%,#050505 75%) 0 0/200% 100%;width:100%;height:100%;animation:1.5s linear infinite skeleton-shimmer;position:absolute;top:0;left:0}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.fade-in-image{opacity:0;transition:opacity .35s ease-out}.fade-in-image.loaded{opacity:1}.transition-loader-container{top:var(--header-height);pointer-events:none;justify-content:center;align-items:center;width:100%;height:50vh;display:flex;position:fixed;left:0}.transition-loader-spinner{border:3px solid #ffffff14;border-top-color:var(--accent-color);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spinner-rotate}@keyframes spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.poster-error-fallback{background-color:var(--bg-secondary);border:1px solid var(--border-color);width:100%;height:100%;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;z-index:2;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:.72rem;font-weight:800;display:none;position:absolute;top:0;left:0}.drawer-overlay{-webkit-backdrop-filter:blur(4px);z-index:999;opacity:0;pointer-events:none;background-color:#0009;width:100vw;height:100vh;transition:opacity .3s ease-in-out;position:fixed;top:0;left:0}.drawer-overlay.active{opacity:1;pointer-events:auto}.navigation-drawer{padding-top:var(--safe-top);background-color:var(--bg-secondary);border-left:1px solid var(--border-color);z-index:1000;flex-direction:column;width:320px;max-width:85vw;height:100vh;transition:transform .3s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:0;right:0;transform:translate(100%)}.navigation-drawer.open{transform:translate(0);box-shadow:-10px 0 30px #00000080}.drawer-header{justify-content:space-between;align-items:center;padding:24px;display:flex}.drawer-user-profile{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:12px;flex:1;align-items:center;gap:12px;margin:-8px -12px;padding:8px 12px;transition:background-color .2s ease-in-out;display:flex}.drawer-user-profile:hover{background-color:var(--bg-tertiary)}.drawer-avatar-circle{background-color:var(--bg-tertiary);border:1px solid var(--border-color);width:44px;height:44px;color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;display:flex;overflow:hidden}.drawer-avatar-img{object-fit:cover;width:100%;height:100%}.drawer-user-info{text-align:left;flex-direction:column;display:flex}.drawer-user-name{color:var(--text-primary);font-size:.95rem;font-weight:900}.drawer-user-handle{color:var(--text-muted);font-size:.76rem}.drawer-close-btn{color:var(--text-muted);cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:8px;display:flex}.drawer-close-btn:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.drawer-divider{background-color:var(--border-color);height:1px;margin:0 24px}.drawer-menu-list{flex-direction:column;gap:4px;padding:16px 24px;display:flex}.drawer-menu-divider{background-color:var(--border-color);opacity:.6;height:1px;margin:6px 0}.drawer-menu-item{border-radius:var(--border-radius-sm);color:var(--text-secondary);cursor:pointer;transition:var(--transition-smooth);text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:16px;width:100%;padding:14px 18px;font-size:.9rem;font-weight:800;display:flex}.drawer-menu-item:hover{background-color:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-color)}.drawer-menu-item.active{background-color:color-mix(in srgb, var(--accent-color) 10%, transparent);border-color:color-mix(in srgb, var(--accent-color) 30%, transparent);color:var(--accent-color);box-shadow:0 4px 12px color-mix(in srgb, var(--accent-color) 5%, transparent)}.drawer-menu-item svg{color:inherit}.app-main-content.no-footer{padding-bottom:52px}@media (width<=768px){.app-main-content.no-footer{padding-bottom:calc(40px + 64px + var(--safe-bottom))}}
