:root{--cx-violet:var(--color-primary);--cx-violet-hover:var(--color-primary-hover);--cx-violet-soft:var(--color-primary-light);--cx-violet-rgb:var(--color-primary-rgb);--cx-gold:var(--color-warning);--cx-gold-hover:var(--color-warning);--cx-gold-soft:var(--color-warning-light);--cx-teal:var(--color-info);--cx-teal-soft:var(--color-info-light);--cx-emerald:var(--color-success);--cx-emerald-soft:var(--color-success-light);--cx-coral:var(--color-danger);--cx-coral-soft:var(--color-danger-light);--cx-amber:var(--color-warning);--cx-amber-soft:var(--color-warning-light);--cx-sky:var(--color-info);--cx-sky-soft:var(--color-info-light);--cx-page:var(--color-bg);--cx-page-alt:var(--color-bg-secondary);--cx-panel:var(--color-surface);--cx-tile:var(--color-card);--cx-tile-hover:var(--color-card-hover);--cx-ink:var(--color-text);--cx-ink-mid:var(--color-text-secondary);--cx-ink-dim:var(--color-text-tertiary);--cx-ink-flip:var(--color-text-inverse);--cx-stroke:var(--color-border);--cx-stroke-hover:var(--color-border-hover);--cx-rule:var(--color-divider);--cx-grad-main:var(--gradient-cta);--cx-grad-hero:var(--gradient-hero);--cx-grad-soft:var(--gradient-card);--cx-grad-glass:var(--gradient-glass);--cx-grad-teal:var(--gradient-accent);--cx-font:var(--font-family);--cx-font-title:var(--font-display);--cx-fs-xs:.75rem;--cx-fs-sm:.875rem;--cx-fs-md:1rem;--cx-fs-lg:1.125rem;--cx-fs-xl:1.25rem;--cx-fs-2xl:1.5rem;--cx-fs-3xl:1.875rem;--cx-fs-4xl:2.25rem;--cx-fs-5xl:3rem;--cx-g1:.25rem;--cx-g2:.5rem;--cx-g3:.75rem;--cx-g4:1rem;--cx-g5:1.25rem;--cx-g6:1.5rem;--cx-g8:2rem;--cx-g10:2.5rem;--cx-g12:3rem;--cx-g16:4rem;--cx-g20:5rem;--cx-r-sm:var(--radius-sm);--cx-r-md:var(--radius-md);--cx-r-lg:var(--radius-lg);--cx-r-xl:var(--radius-xl);--cx-r-full:var(--radius-full);--cx-sh-xs:var(--shadow-xs);--cx-sh-sm:var(--shadow-sm);--cx-sh-md:var(--shadow-md);--cx-sh-lg:var(--shadow-lg);--cx-sh-xl:var(--shadow-xl);--cx-sh-glow:var(--glow-soft);--cx-ease-fast:calc(.15s * var(--motion-scale,1)) ease;--cx-ease-mid:calc(.28s * var(--motion-scale,1)) ease;--cx-ease-slow:calc(.42s * var(--motion-scale,1)) ease;--cx-ease-bounce:calc(.3s * var(--motion-scale,1)) cubic-bezier(.22, 1, .36, 1);--cx-max-w:1180px;--cx-topbar-h:70px;--cx-dock-h:60px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-family);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background-color:var(--color-bg);min-height:100vh;transition:background-color var(--transition-base), color var(--transition-base);overflow-x:hidden}a{color:inherit;transition:color var(--transition-fast);text-decoration:none}a:hover{color:inherit}img,svg{max-width:100%;height:auto;display:block}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:var(--leading-tight);color:var(--color-text);font-weight:var(--font-bold)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}p{margin-bottom:var(--space-4);color:var(--color-text-secondary)}strong{font-weight:var(--font-semibold)}small{font-size:var(--text-sm)}::selection{background-color:var(--color-primary);color:var(--color-text-inverse)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}hr{background:var(--color-divider);height:1px;margin:var(--space-6) 0;border:none}@media (width<=640px){html{font-size:14px}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}}.container{width:100%;max-width:var(--container-xl);padding:0 var(--space-4);margin:0 auto}.container-sm{max-width:var(--container-sm)}.container-md{max-width:var(--container-md)}.container-lg{max-width:var(--container-lg)}.page{min-height:100vh;padding-top:calc(var(--nav-height) + env(safe-area-inset-top,0px))}.page-content{padding:var(--space-6) 0}@media (width<=640px){.page{padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px))}.page-content{padding:var(--space-4) 0}}.section{padding:var(--space-16) 0}.section-sm{padding:var(--space-8) 0}@media (width<=640px){.section{padding:var(--space-10) 0}.section-sm{padding:var(--space-6) 0}}.grid{gap:var(--space-6);display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (width<=1024px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.grid{gap:var(--space-4)}}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.flex-start{justify-content:flex-start;align-items:center;display:flex}.flex-end{align-items:flex-end;display:flex}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.flex-1{flex:1}.hide-mobile{display:block}.show-mobile,.hide-desktop{display:none}@media (width<=640px){.hide-mobile{display:none!important}.show-mobile{display:block!important}}@media (width>=1025px){.hide-desktop{display:none!important}}.layout-sidebar{grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh;display:grid}@media (width<=1024px){.layout-sidebar{grid-template-columns:1fr}}.layout-sticky-footer{flex-direction:column;min-height:100vh;display:flex}.layout-sticky-footer>main{flex:1}.navbar{height:calc(var(--nav-height) + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);background:var(--gradient-glass);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--color-border);z-index:var(--z-sticky);transition:background var(--transition-base);position:fixed;top:0;left:0;right:0}.navbar-inner{max-width:var(--container-xl);padding:0 var(--space-4);justify-content:space-between;align-items:center;height:100%;margin:0 auto;display:flex}.navbar-logo{align-items:center;gap:var(--space-2);font-family:var(--font-heading);font-weight:var(--font-bold);font-size:var(--text-xl);color:var(--color-text);text-decoration:none;display:flex}.navbar-logo .logo-icon{background:var(--gradient-primary);border-radius:var(--radius-md);color:#fff;width:32px;height:32px;font-size:var(--text-lg);justify-content:center;align-items:center;display:flex}.navbar-nav{align-items:center;gap:var(--space-6);display:flex}.navbar-nav a{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);transition:color var(--transition-fast);position:relative}.navbar-nav a:hover,.navbar-nav a.active{color:var(--color-primary)}.navbar-nav a.active:after{content:"";background:var(--color-primary);border-radius:var(--radius-full);height:2px;position:absolute;bottom:-4px;left:0;right:0}.navbar-actions{align-items:center;gap:var(--space-3);display:flex}.menu-toggle{color:var(--color-text);font-size:var(--text-xl);cursor:pointer;padding:var(--space-2);background:0 0;border:none;display:none}@media (width<=640px){.navbar-nav{display:none}.menu-toggle{display:flex}.navbar-actions .btn-text{display:none}}.bottom-nav{height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--gradient-glass);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--color-border);z-index:var(--z-sticky);display:none;position:fixed;bottom:0;left:0;right:0}.bottom-nav-inner{height:100%;padding:0 var(--space-2);justify-content:space-around;align-items:center;display:flex}.bottom-nav-item{padding:var(--space-1) var(--space-2);color:var(--color-text-tertiary);font-size:10px;font-weight:var(--font-medium);transition:color var(--transition-fast);border-radius:var(--radius-md);flex-direction:column;align-items:center;gap:2px;text-decoration:none;display:flex}.bottom-nav-item .nav-icon{font-size:20px;line-height:1}.bottom-nav-item.active,.bottom-nav-item:hover{color:var(--color-primary)}@media (width<=640px){.bottom-nav{display:block}}.btn{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-family);font-size:var(--text-sm);font-weight:var(--font-semibold);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;-webkit-user-select:none;user-select:none;border:2px solid #0000;padding:10px 20px;line-height:1.4;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:active{transform:scale(.97)}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-primary)}.btn-primary:hover{transform:translateY(var(--hover-lift));box-shadow:0 6px 28px rgba(var(--color-primary-rgb), .35)}.btn-secondary{background:var(--color-glass);border-color:rgba(var(--color-primary-rgb), .25);color:var(--color-text-secondary)}.btn-secondary:hover{border-color:var(--color-border-strong);color:var(--color-text);background:var(--color-primary-light)}.btn-ghost{color:var(--color-text-secondary);border:2px solid var(--color-border);background:0 0}.btn-ghost:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light)}.btn-accent{background:var(--gradient-accent);color:#fff;box-shadow:var(--shadow-accent)}.btn-accent:hover{transform:translateY(var(--hover-lift));box-shadow:0 6px 28px rgba(var(--color-primary-rgb), .35)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:var(--color-danger-hover)}.btn-text{color:var(--color-primary);padding:var(--space-2) var(--space-3);background:0 0;border:none}.btn-text:hover{background:var(--color-primary-light)}.btn-sm{font-size:var(--text-xs);padding:6px 14px}.btn-lg{font-size:var(--text-base);padding:14px 28px}.btn-xl{font-size:var(--text-lg);border-radius:var(--radius-lg);padding:16px 36px}.btn-block{width:100%}.btn-icon{border-radius:var(--radius-full);width:40px;height:40px;padding:0}.btn-icon.btn-sm{width:32px;height:32px}.btn-icon.btn-lg{width:48px;height:48px}.btn .ripple{pointer-events:none;background:#fff6;border-radius:50%;animation:.6s linear ripple-anim;position:absolute;transform:scale(0)}@keyframes ripple-anim{to{opacity:0;transform:scale(4)}}.form-select{appearance:none;background:var(--color-surface-raised);color:var(--color-text-secondary);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-family);font-size:var(--text-sm);cursor:pointer;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238888b0' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding:6px 28px 6px 12px}[dir=rtl] .form-select{background-position:10px;padding:6px 12px 6px 28px}.form-select:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}.card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-base);overflow:hidden}.card:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-hover)}.card-body{padding:var(--space-5)}.card-img{object-fit:cover;width:100%;height:180px;display:block}.card-footer{padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-divider)}.quiz-card{cursor:pointer;position:relative}.quiz-card:hover{transform:translateY(var(--hover-lift));box-shadow:var(--shadow-lg)}.quiz-card .card-cover{background:var(--gradient-card);justify-content:center;align-items:center;height:160px;font-size:3rem;display:flex;position:relative;overflow:hidden}.quiz-card .card-cover:after{content:"";background:var(--gradient-primary);opacity:.05;position:absolute;inset:0}.quiz-card .card-meta{align-items:center;gap:var(--space-3);margin-top:var(--space-3);font-size:var(--text-xs);color:var(--color-text-tertiary);display:flex}.quiz-card .card-tag{top:var(--space-3);left:var(--space-3);display:inline-flex;position:absolute}.card-gradient{background:var(--color-card);border-radius:var(--radius-xl);border:none;position:relative}.card-gradient:before{content:"";border-radius:var(--radius-xl);background:var(--gradient-primary);-webkit-mask-composite:xor;padding:2px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.form-group{margin-bottom:var(--space-5)}.form-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text);margin-bottom:var(--space-2);display:block}.form-input{width:100%;font-family:var(--font-family);font-size:var(--text-base);color:var(--color-text);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast);outline:none;padding:10px 14px}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.form-input::placeholder{color:var(--color-text-tertiary)}textarea.form-input{resize:vertical;min-height:100px}.form-helper{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:var(--space-1)}.form-error{font-size:var(--text-xs);color:var(--color-danger);margin-top:var(--space-1)}.form-check{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);display:flex}.form-check:hover,.form-check.selected{border-color:var(--color-primary);background:var(--color-primary-light)}.form-check input{accent-color:var(--color-primary);width:18px;height:18px}.quiz-option{align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);font-weight:var(--font-medium);-webkit-user-select:none;user-select:none;display:flex;position:relative}.quiz-option:hover{border-color:var(--color-primary);background:var(--color-primary-light);transform:translate(4px)}.quiz-option.selected{border-color:var(--color-primary);background:rgba(var(--color-primary-rgb), .18);box-shadow:var(--glow-card)}.quiz-option .option-marker{border-radius:var(--radius-full);background:var(--color-bg);width:32px;height:32px;color:var(--color-text-secondary);font-weight:var(--font-bold);font-size:var(--text-sm);transition:all var(--transition-base);flex-shrink:0;justify-content:center;align-items:center;display:flex}.quiz-option.selected .option-marker{background:var(--color-primary);color:#fff}.form-range{appearance:none;border-radius:var(--radius-full);background:var(--color-border);outline:none;width:100%;height:6px}.form-range::-webkit-slider-thumb{-webkit-appearance:none;background:var(--color-primary);cursor:pointer;width:22px;height:22px;box-shadow:var(--shadow-primary);transition:transform var(--transition-fast);border-radius:50%}.form-range::-webkit-slider-thumb:hover{transform:scale(1.2)}.tag{align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:var(--font-semibold);border-radius:var(--radius-full);white-space:nowrap;padding:3px 10px;display:inline-flex}.tag-primary{background:var(--color-primary-light);color:var(--color-primary)}.tag-accent{background:var(--color-accent-light);color:var(--color-accent)}.tag-success{background:var(--color-success-light);color:var(--color-success)}.tag-warning{background:var(--color-warning-light);color:var(--color-warning)}.tag-danger{background:var(--color-danger-light);color:var(--color-danger)}.badge{min-width:20px;height:20px;font-size:11px;font-weight:var(--font-bold);border-radius:var(--radius-full);background:var(--color-danger);color:#fff;justify-content:center;align-items:center;padding:0 6px;display:inline-flex}.progress-bar{background:var(--color-border);border-radius:var(--radius-full);width:100%;height:6px;overflow:hidden}.progress-bar .progress-fill{background:var(--gradient-primary);border-radius:var(--radius-full);height:100%;transition:width var(--transition-slow)}.progress-bar-lg{height:10px}.avatar{border-radius:var(--radius-full);background:var(--gradient-primary);color:#fff;width:40px;height:40px;font-weight:var(--font-bold);font-size:var(--text-sm);flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar-sm{width:32px;height:32px;font-size:var(--text-xs)}.avatar-lg{width:56px;height:56px;font-size:var(--text-xl)}.avatar-xl{width:80px;height:80px;font-size:var(--text-2xl)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);padding:var(--space-4);opacity:0;pointer-events:none;transition:opacity var(--transition-base);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-overlay.active{opacity:1;pointer-events:all}.modal{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:480px;max-height:90vh;transition:transform var(--transition-base);overflow-y:auto;transform:scale(.95)translateY(10px)}.modal-overlay.active .modal{transform:scale(1)translateY(0)}.modal-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-divider);justify-content:space-between;align-items:center;display:flex}.modal-header h3{font-size:var(--text-lg);margin:0}.modal-body{padding:var(--space-6)}.modal-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-divider);justify-content:flex-end;gap:var(--space-3);display:flex}@media (width<=640px){.modal-overlay{align-items:flex-end;padding:0}.modal-overlay .modal{border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-width:100%;transform:translateY(100%)}.modal-overlay.active .modal{transform:translateY(0)}}.toast-container{top:calc(var(--nav-height) + var(--space-4));right:var(--space-4);z-index:var(--z-toast);gap:var(--space-2);flex-direction:column;display:flex;position:fixed}.toast{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);font-size:var(--text-sm);font-weight:var(--font-medium);min-width:280px;max-width:400px;animation:.3s forwards toast-in;display:flex}.toast.toast-exit{animation:.3s forwards toast-out}.toast-success{border-left:3px solid var(--color-success)}.toast-error{border-left:3px solid var(--color-danger)}.toast-warning{border-left:3px solid var(--color-warning)}.toast-info{border-left:3px solid var(--color-info)}.toast .toast-icon{font-size:var(--text-lg);flex-shrink:0}.toast-success .toast-icon{color:var(--color-success)}.toast-error .toast-icon{color:var(--color-danger)}.toast-warning .toast-icon{color:var(--color-warning)}.toast-info .toast-icon{color:var(--color-info)}.toast .toast-close{color:var(--color-text-tertiary);cursor:pointer;padding:var(--space-1);font-size:var(--text-lg);background:0 0;border:none;margin-left:auto}@keyframes toast-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@media (width<=640px){.toast-container{top:auto;bottom:calc(var(--bottom-nav-height) + var(--space-4));left:var(--space-4);right:var(--space-4)}.toast{min-width:auto}}.tabs{border-bottom:2px solid var(--color-border);gap:var(--space-1);-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto}.tab{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;transition:color var(--transition-fast);background:0 0;border:none;position:relative}.tab:hover{color:var(--color-primary)}.tab.active{color:var(--color-primary);font-weight:var(--font-semibold)}.tab.active:after{content:"";background:var(--color-primary);border-radius:var(--radius-full) var(--radius-full) 0 0;height:2px;position:absolute;bottom:-2px;left:0;right:0}.tabs-pill{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:var(--space-1);border-bottom:none}.tabs-pill .tab{border-radius:var(--radius-md);padding:var(--space-2) var(--space-4)}.tabs-pill .tab.active{background:var(--color-surface);box-shadow:var(--shadow-sm)}.tabs-pill .tab.active:after{display:none}.skeleton{background:linear-gradient(90deg, var(--color-border) 25%, var(--color-bg) 50%, var(--color-border) 75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s infinite skeleton-shimmer}.skeleton-text{height:14px;margin-bottom:var(--space-2)}.skeleton-title{width:60%;height:24px;margin-bottom:var(--space-3)}.skeleton-circle{border-radius:var(--radius-full)}.skeleton-img{height:160px}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.empty-state{text-align:center;padding:var(--space-12) var(--space-6)}.empty-state .empty-icon{margin-bottom:var(--space-4);opacity:.5;font-size:4rem}.empty-state h3{margin-bottom:var(--space-2);color:var(--color-text)}.empty-state p{color:var(--color-text-tertiary);max-width:360px;margin:0 auto var(--space-6)}.stat-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5)}.stat-card .stat-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);font-weight:var(--font-semibold);margin-bottom:var(--space-2)}.stat-card .stat-value{font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-text);line-height:1.2}.stat-card .stat-change{font-size:var(--text-xs);font-weight:var(--font-semibold);margin-top:var(--space-2);align-items:center;gap:2px;display:inline-flex}.stat-card .stat-change.positive{color:var(--color-success)}.stat-card .stat-change.negative{color:var(--color-danger)}.rating{color:var(--color-warning);font-size:var(--text-lg);gap:2px;display:flex}.social-proof{align-items:center;gap:var(--space-3);display:flex}.avatar-stack{display:flex}.avatar-stack .avatar{border:2px solid var(--color-surface);margin-left:-8px}.avatar-stack .avatar:first-child{margin-left:0}.theme-toggle{border-radius:var(--radius-full);background:var(--color-bg-secondary);width:40px;height:40px;color:var(--color-text-secondary);cursor:pointer;font-size:var(--text-lg);transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;display:flex}.theme-toggle:hover{background:var(--color-primary-light);color:var(--color-primary)}.footer{background:var(--color-surface);border-top:1px solid var(--color-border);padding:var(--space-12) 0 var(--space-6)}.footer-grid{gap:var(--space-8);grid-template-columns:2fr repeat(3,1fr);display:grid}.footer-brand p{color:var(--color-text-tertiary);font-size:var(--text-sm);margin-top:var(--space-3);max-width:280px}.footer-col h5{font-size:var(--text-sm);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);margin-bottom:var(--space-4)}.footer-col a{color:var(--color-text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-2);transition:color var(--transition-fast);display:block}.footer-col a:hover{color:var(--color-primary)}.footer-bottom{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--color-divider);font-size:var(--text-xs);color:var(--color-text-tertiary);justify-content:space-between;align-items:center;display:flex}@media (width<=640px){.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:span 2}.footer-bottom{gap:var(--space-2);flex-direction:column}.footer{display:none}}.hero{padding:var(--space-20) 0;position:relative;overflow:hidden}.hero:before{content:"";background:radial-gradient(ellipse at 30% 50%, rgba(var(--color-primary-rgb), .08) 0%, transparent 60%), radial-gradient(ellipse at 70% 50%, #00cec90f 0%, transparent 60%);pointer-events:none;width:160%;height:200%;position:absolute;top:-50%;left:-30%}.hero-content{z-index:1;max-width:640px;position:relative}.hero-content h1{font-size:var(--text-5xl);font-weight:var(--font-extrabold);margin-bottom:var(--space-4);letter-spacing:-.02em}.hero-content p{font-size:var(--text-lg);color:var(--color-text-secondary);margin-bottom:var(--space-8)}.hero-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.hero-stats{gap:var(--space-8);margin-top:var(--space-10);padding-top:var(--space-8);border-top:1px solid var(--color-divider);display:flex}.hero-stat-item .stat-number{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text)}.hero-stat-item .stat-label{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:var(--space-1)}@media (width<=640px){.hero{padding:var(--space-10) 0}.hero-content h1{font-size:var(--text-3xl)}.hero-content p{font-size:var(--text-base)}.hero-stats{gap:var(--space-4);flex-wrap:wrap}}.search-bar{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-full);transition:all var(--transition-fast);display:flex}.search-bar:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.search-bar .search-icon{color:var(--color-text-tertiary);font-size:var(--text-lg);flex-shrink:0}.search-bar input{font-family:var(--font-family);font-size:var(--text-base);color:var(--color-text);background:0 0;border:none;outline:none;flex:1}.search-bar input::placeholder{color:var(--color-text-tertiary)}.pricing-card{background:var(--color-card);border:2px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-8);text-align:center;transition:all var(--transition-base);position:relative}.pricing-card:hover{transform:translateY(var(--hover-lift));box-shadow:var(--shadow-lg)}.pricing-card.featured{border-color:var(--color-primary);box-shadow:var(--shadow-primary)}.pricing-card.featured:before{content:"Most Popular";background:var(--gradient-primary);color:#fff;font-size:var(--text-xs);font-weight:var(--font-bold);border-radius:var(--radius-full);padding:4px 16px;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.pricing-card .price{font-family:var(--font-heading);font-size:var(--text-4xl);font-weight:var(--font-extrabold);color:var(--color-text);margin:var(--space-4) 0}.pricing-card .price span{font-size:var(--text-sm);font-weight:var(--font-regular);color:var(--color-text-tertiary)}.pricing-card .price .original{font-size:var(--text-lg);color:var(--color-text-tertiary);margin-right:var(--space-2);text-decoration:line-through}.pricing-card .feature-list{text-align:left;margin:var(--space-6) 0}.pricing-card .feature-list li{align-items:center;gap:var(--space-2);padding:var(--space-2) 0;font-size:var(--text-sm);color:var(--color-text-secondary);display:flex}.pricing-card .feature-list li .check{color:var(--color-success);font-weight:var(--font-bold)}.pricing-card .feature-list li.disabled{color:var(--color-text-tertiary);text-decoration:line-through}.fade-in{animation:.6s forwards fadeIn}.slide-up{animation:.6s forwards slideUp}.scale-in{animation:.4s forwards scaleIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.stagger>*{opacity:0;animation:.5s forwards slideUp}.stagger>:first-child{animation-delay:0s}.stagger>:nth-child(2){animation-delay:80ms}.stagger>:nth-child(3){animation-delay:.16s}.stagger>:nth-child(4){animation-delay:.24s}.stagger>:nth-child(5){animation-delay:.32s}.stagger>:nth-child(6){animation-delay:.4s}.blurred-content{position:relative}.blurred-content .blur-overlay{filter:blur(6px);pointer-events:none;-webkit-user-select:none;user-select:none}.blurred-content .unlock-prompt{background:rgba(var(--color-primary-rgb), .05);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:var(--radius-lg);z-index:1;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.drawer-overlay{z-index:var(--z-overlay);opacity:0;pointer-events:none;transition:opacity var(--transition-base);background:#00000080;position:fixed;inset:0}.drawer-overlay.active{opacity:1;pointer-events:all}.drawer{background:var(--color-surface);width:280px;height:100%;z-index:var(--z-modal);transition:transform var(--transition-base);padding:var(--space-6);position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%)}.drawer.active{transform:translate(0)}.drawer .drawer-nav{margin-top:var(--space-6)}.drawer .drawer-nav a{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);color:var(--color-text-secondary);font-weight:var(--font-medium);border-radius:var(--radius-md);transition:all var(--transition-fast);margin-bottom:var(--space-1);display:flex}.drawer .drawer-nav a:hover,.drawer .drawer-nav a.active{background:var(--color-primary-light);color:var(--color-primary)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.02)}}@media (width<=960px){#pricing-grid{grid-template-columns:repeat(2,1fr)!important}}@media (width<=540px){#pricing-grid{max-width:400px;margin:0 auto;grid-template-columns:1fr!important}}.cx-wrap{max-width:var(--cx-max-w);padding:0 var(--cx-g5);margin:0 auto}.cx-section{padding:var(--cx-g16) 0}.cx-section-alt{padding:var(--cx-g16) 0;background:var(--cx-panel)}.cx-section h2,.cx-section-alt h2{color:var(--cx-ink)}.cx-topbar{height:var(--cx-topbar-h);background:var(--cx-grad-glass);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--cx-stroke);z-index:200;transition:box-shadow var(--cx-ease-mid);position:fixed;top:0;left:0;right:0}.cx-topbar-inner{max-width:var(--cx-max-w);padding:0 var(--cx-g5);justify-content:space-between;align-items:center;height:100%;margin:0 auto;display:flex}.cx-brand{align-items:center;gap:var(--cx-g3);text-decoration:none;display:flex}.cx-brand-mark{border-radius:var(--cx-r-md);background:var(--cx-grad-main);width:36px;height:36px;font-weight:800;font-size:var(--cx-fs-lg);color:#fff;justify-content:center;align-items:center;display:flex}.cx-brand-text{font-weight:700;font-size:var(--cx-fs-lg);color:var(--cx-ink)}.cx-nav-links{gap:var(--cx-g6);align-items:center;display:flex}.cx-nav-links a{font-size:var(--cx-fs-sm);color:var(--cx-ink-mid);transition:color var(--cx-ease-fast);padding:var(--cx-g2) 0;font-weight:500;position:relative}.cx-nav-links a:hover,.cx-nav-links a.on{color:var(--cx-violet)}.cx-nav-links a.on:after{content:"";background:var(--cx-violet);border-radius:1px;height:2px;position:absolute;bottom:-2px;left:0;right:0}.cx-topbar-end{align-items:center;gap:var(--cx-g3);display:flex}.cx-mode-btn{border-radius:var(--cx-r-full);background:var(--cx-violet-soft);width:36px;height:36px;transition:background var(--cx-ease-fast);justify-content:center;align-items:center;font-size:1.1rem;display:flex}.cx-mode-btn:hover{background:var(--cx-stroke)}.cx-btn{justify-content:center;align-items:center;gap:var(--cx-g2);padding:var(--cx-g3) var(--cx-g6);border-radius:var(--cx-r-lg);font-weight:600;font-size:var(--cx-fs-sm);transition:all var(--cx-ease-mid);cursor:pointer;white-space:nowrap;border:none;display:inline-flex;position:relative;overflow:hidden}.cx-btn-main{background:var(--cx-violet);color:#fff;box-shadow:var(--cx-sh-glow)}.cx-btn-main:hover{background:var(--cx-violet-hover);box-shadow:var(--cx-sh-lg);transform:translateY(-1px)}.cx-btn-ghost{color:var(--cx-ink);border:1px solid var(--cx-stroke);background:0 0}.cx-btn-ghost:hover{border-color:var(--cx-violet);color:var(--cx-violet)}.cx-btn-gold{background:var(--cx-gold);color:var(--cx-ink);box-shadow:0 4px 20px #f0c0404d}.cx-btn-gold:hover{background:var(--cx-gold-hover);transform:translateY(-1px)}.cx-btn-big{padding:var(--cx-g4) var(--cx-g8);font-size:var(--cx-fs-md);border-radius:var(--cx-r-xl)}.cx-btn-sm{padding:var(--cx-g2) var(--cx-g4);font-size:var(--cx-fs-xs)}.cx-hero{padding:calc(var(--cx-topbar-h) + var(--cx-g16)) 0 var(--cx-g16);text-align:center;background:var(--cx-grad-soft);position:relative;overflow:hidden}.cx-hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#7c6bed14 0%,#0000 70%);border-radius:50%;width:600px;height:600px;position:absolute;top:-50%;right:-20%}.cx-hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#f0c0400f 0%,#0000 70%);border-radius:50%;width:500px;height:500px;position:absolute;bottom:-30%;left:-15%}.cx-hero-badge{align-items:center;gap:var(--cx-g2);background:var(--cx-violet-soft);color:var(--cx-violet);padding:var(--cx-g2) var(--cx-g4);border-radius:var(--cx-r-full);font-size:var(--cx-fs-xs);margin-bottom:var(--cx-g6);font-weight:600;display:inline-flex}.cx-hero h1{margin-bottom:var(--cx-g4);z-index:1;position:relative}.cx-hero h1 .cx-highlight{background:var(--cx-grad-main);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.cx-hero-desc{max-width:560px;margin:0 auto var(--cx-g8);color:var(--cx-ink-mid);font-size:var(--cx-fs-md);z-index:1;line-height:1.7;position:relative}.cx-hero-actions{gap:var(--cx-g4);z-index:1;flex-wrap:wrap;justify-content:center;display:flex;position:relative}.cx-hero-metrics{justify-content:center;gap:var(--cx-g10);margin-top:var(--cx-g10);z-index:1;display:flex;position:relative}.cx-metric-val{font-size:var(--cx-fs-2xl);color:var(--cx-violet);font-weight:800}.cx-metric-lbl{font-size:var(--cx-fs-xs);color:var(--cx-ink-dim);margin-top:var(--cx-g1)}.cx-card{background:var(--cx-tile);border-radius:var(--cx-r-lg);border:1px solid var(--cx-stroke);transition:all var(--cx-ease-mid);-webkit-backdrop-filter:blur(12px);flex-direction:column;display:flex;overflow:hidden}.cx-card:hover{box-shadow:var(--cx-sh-md);border-color:var(--cx-violet);transform:translateY(-4px)}.cx-card-cover{background:var(--cx-bg-mute);justify-content:center;align-items:center;height:160px;display:flex;position:relative;overflow:hidden}.cx-card-img{object-fit:cover;z-index:2;width:100%;height:100%;transition:transform .6s cubic-bezier(.25,1,.5,1);position:absolute;inset:0}.cx-card:hover .cx-card-img{transform:scale(1.08)}.cx-card-cover .cx-card-emoji{z-index:1;filter:drop-shadow(0 4px 10px #00000026);font-size:4rem;transition:transform .4s;position:absolute}.cx-card:hover .cx-card-emoji{transform:scale(1.1)translateY(-2px)}.cx-card-label{top:var(--cx-g3);left:var(--cx-g3);-webkit-backdrop-filter:blur(8px);color:#fff;border-radius:var(--cx-r-full);z-index:3;white-space:nowrap;background:#1a183880;border:1px solid #ffffff1a;padding:4px 10px;font-weight:600;line-height:1.4;position:absolute;font-size:.7rem!important}.cx-card-body{padding:var(--cx-g5);background:var(--cx-grad-glass);flex-direction:column;flex:1;display:flex}.cx-card-body h4,.cx-card-title{font-size:var(--cx-fs-md);color:var(--cx-ink);margin-bottom:var(--cx-g2);font-weight:700;line-height:1.4;transition:color .2s;display:block}.cx-card:hover .cx-card-body h4,.cx-card:hover .cx-card-title{color:var(--cx-violet)}.cx-card-body p{font-size:var(--cx-fs-sm);color:var(--cx-ink-mid);margin-bottom:var(--cx-g4);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;flex:1;display:-webkit-box;overflow:hidden}.cx-card-foot{align-items:center;gap:var(--cx-g2);font-size:var(--cx-fs-xs);color:var(--cx-ink-dim);padding-top:var(--cx-g3);border-top:1px solid var(--cx-stroke);display:flex}.cx-card-foot .cx-star{color:var(--cx-gold)}.cx-cat-row{gap:var(--cx-g4);grid-template-columns:repeat(3,1fr);display:grid}.cx-cat-item{align-items:center;gap:var(--cx-g4);padding:var(--cx-g4);background:var(--cx-tile);border:1px solid var(--cx-stroke);border-radius:var(--cx-r-lg);color:inherit;transition:all var(--cx-ease-mid);text-decoration:none;display:flex}.cx-cat-item:hover{border-color:var(--cx-violet);box-shadow:var(--cx-sh-sm)}.cx-cat-icon{border-radius:var(--cx-r-md);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.5rem;display:flex}.cx-cat-item h4{font-size:var(--cx-fs-md);margin-bottom:2px}.cx-cat-item span{font-size:var(--cx-fs-xs);color:var(--cx-ink-dim)}.cx-grid-3{gap:var(--cx-g6);grid-template-columns:repeat(3,1fr);display:grid}.cx-grid-2{gap:var(--cx-g6);grid-template-columns:repeat(2,1fr);display:grid}.cx-step-icon{border-radius:var(--cx-r-xl);width:72px;height:72px;margin:0 auto var(--cx-g4);justify-content:center;align-items:center;font-size:2rem;display:flex}.cx-review{padding:var(--cx-g5)}.cx-review-head{align-items:center;gap:var(--cx-g3);margin-bottom:var(--cx-g4);display:flex}.cx-avatar{border-radius:var(--cx-r-full);background:var(--cx-violet-soft);width:40px;height:40px;font-weight:700;font-size:var(--cx-fs-sm);color:var(--cx-violet);justify-content:center;align-items:center;display:flex}.cx-stars{font-size:var(--cx-fs-xs);color:var(--cx-gold)}.cx-cta{padding:var(--cx-g16) 0;background:var(--color-text);color:#fff;text-align:center}.cx-cta h2{color:#fff;margin-bottom:var(--cx-g4)}.cx-cta p{color:#ffffffd1;max-width:480px;margin:0 auto var(--cx-g8)}.cx-footer{background:var(--cx-panel);border-top:1px solid var(--cx-stroke);padding:var(--cx-g12) 0 var(--cx-g6)}.cx-footer-grid{gap:var(--cx-g8);margin-bottom:var(--cx-g8);grid-template-columns:2fr 1fr 1fr 1fr;display:grid}.cx-footer-brand p{color:var(--cx-ink-mid);font-size:var(--cx-fs-sm);margin-top:var(--cx-g3);line-height:1.7}.cx-footer-col h5{font-size:var(--cx-fs-sm);margin-bottom:var(--cx-g4);font-weight:700}.cx-footer-col a{font-size:var(--cx-fs-sm);color:var(--cx-ink-mid);margin-bottom:var(--cx-g3);display:block}.cx-footer-col a:hover{color:var(--cx-violet)}.cx-footer-end{border-top:1px solid var(--cx-stroke);padding-top:var(--cx-g6);font-size:var(--cx-fs-xs);color:var(--cx-ink-dim);justify-content:space-between;align-items:center;display:flex}.cx-dock{height:var(--cx-dock-h);background:var(--cx-grad-glass);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--cx-stroke);z-index:200;display:none;position:fixed;bottom:0;left:0;right:0}.cx-dock-inner{justify-content:space-around;align-items:center;height:100%;display:flex}.cx-dock-item{font-size:var(--cx-fs-xs);color:var(--cx-ink-dim);transition:color var(--cx-ease-fast);flex-direction:column;align-items:center;gap:2px;text-decoration:none;display:flex}.cx-dock-item.on{color:var(--cx-violet)}.cx-dock-item .cx-dock-ico{font-size:1.3rem}.cx-drawer-mask{z-index:290;background:#00000080;display:none;position:fixed;inset:0}.cx-drawer-mask.show{display:block}.cx-drawer-panel{background:var(--cx-panel);z-index:300;width:280px;height:100%;padding:var(--cx-g8) var(--cx-g5);transition:right var(--cx-ease-mid);position:fixed;top:0;right:-280px}.cx-drawer-panel.show{right:0}.cx-drawer-panel a{align-items:center;gap:var(--cx-g3);padding:var(--cx-g3) 0;font-size:var(--cx-fs-md);color:var(--cx-ink-mid);text-decoration:none;display:flex}.cx-drawer-panel a:hover,.cx-drawer-panel a.on{color:var(--cx-violet)}.cx-page{padding-top:var(--cx-topbar-h);padding-bottom:var(--cx-dock-h)}.cx-center{text-align:center}.cx-mb4{margin-bottom:var(--cx-g4)}.cx-mb6{margin-bottom:var(--cx-g6)}.cx-mb8{margin-bottom:var(--cx-g8)}.cx-mb10{margin-bottom:var(--cx-g10)}.cx-fadein{opacity:0;transition:all .6s;transform:translateY(20px)}.cx-fadein.show{opacity:1;transform:none}.cx-btn .cx-ripple{background:#ffffff4d;border-radius:50%;animation:.6s linear cx-rip;position:absolute;transform:scale(0)}@keyframes cx-rip{to{opacity:0;transform:scale(4)}}@media (width<=768px){.cx-nav-links{display:none}.cx-dock{display:block}.cx-footer{display:none}.cx-grid-3,.cx-grid-2{grid-template-columns:1fr}.cx-cat-row{grid-template-columns:1fr 1fr}.cx-hero h1{font-size:var(--cx-fs-3xl)}.cx-hero-metrics{gap:var(--cx-g6);flex-wrap:wrap}.cx-footer-grid{grid-template-columns:1fr}.cx-page{padding-bottom:calc(var(--cx-dock-h) + 8px)}.cx-topbar .cx-menu-btn{display:inline-flex}}@media (width>=769px){.cx-menu-btn{display:none!important}}.cx-explore-banner{padding:calc(var(--cx-topbar-h) + var(--cx-g12)) 0 var(--cx-g10);background:var(--cx-grad-soft);text-align:center;position:relative;overflow:hidden}.cx-explore-banner:before{content:"";pointer-events:none;background:radial-gradient(#7c6bed1a 0%,#0000 70%);width:800px;height:300px;position:absolute;top:-100px;left:50%;transform:translate(-50%)}.cx-explore-banner h1{margin-bottom:var(--cx-g2);z-index:1;position:relative}.cx-search-box{align-items:center;gap:var(--cx-g3);background:var(--cx-tile);border:1px solid var(--cx-stroke);border-radius:var(--cx-r-xl);max-width:480px;padding:var(--cx-g3) var(--cx-g5);box-shadow:var(--cx-sh-xs);z-index:1;-webkit-backdrop-filter:blur(12px);margin:0 auto;transition:all .4s cubic-bezier(.25,1,.5,1);display:flex;position:relative}.cx-search-box:focus-within{border-color:var(--cx-violet);box-shadow:var(--cx-sh-glow);transform:translateY(-2px)}.cx-search-box input{color:var(--cx-ink);font-size:var(--cx-fs-md);background:0 0;border:none;outline:none;flex:1}.cx-search-box input::placeholder{color:var(--cx-ink-dim)}.cx-cat-chip{align-items:center;gap:var(--cx-g2);border-radius:var(--cx-r-full);background:var(--cx-tile);border:1px solid var(--cx-stroke);font-size:var(--cx-fs-sm);color:var(--cx-ink-mid);white-space:nowrap;padding:8px 18px;font-weight:500;text-decoration:none;transition:all .3s cubic-bezier(.25,1,.5,1);display:inline-flex}.cx-cat-chip:hover{border-color:var(--cx-violet);color:var(--cx-violet);box-shadow:var(--cx-sh-sm);transform:translateY(-2px)}.cx-cat-chip.on{background:var(--cx-violet);border-color:var(--cx-violet);color:#fff;transform:translateY(-2px);box-shadow:0 4px 15px #7c6bed59}.cx-explore-banner+.cx-section .cx-cat-row{gap:var(--cx-g3);flex-wrap:wrap;justify-content:center;display:flex}.warm{--paper:var(--color-bg);--surface:var(--color-surface);--surface-2:var(--color-bg-secondary);--surface-3:var(--color-surface-raised);--ink:var(--color-text);--ink-2:var(--color-text-secondary);--ink-3:var(--color-text-tertiary);--line:var(--color-border);--line-2:var(--color-border-strong);--accent:var(--color-primary);--accent-ink:var(--color-accent);--accent-soft:var(--color-primary-light);--font-ui:var(--font-family);--maxw:1180px;--w-radius:16px;--w-radius-sm:11px;color:var(--ink);font-family:var(--font-ui)}.warm .wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}.warm .kicker{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink);align-items:center;gap:8px;font-size:11.5px;font-weight:500;display:inline-flex}.warm .kicker:before{content:"";background:var(--accent);width:16px;height:1.5px;display:inline-block}.warm .eyebrow{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-ink);background:var(--accent-soft);border-radius:999px;padding:5px 11px;font-size:11px;font-weight:500;display:inline-block}.warm h1,.warm h2,.warm h3{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);font-weight:600}.warm .wbtn{border-radius:var(--w-radius-sm);text-align:center;text-wrap:balance;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:9px;min-height:50px;padding:12px 24px;font-size:15.5px;font-weight:600;line-height:1.25;transition:transform .15s,background-color .2s,border-color .2s,box-shadow .2s;display:inline-flex}.warm .wbtn:active{transform:translateY(1px)}.warm .wbtn-primary{background:var(--accent);color:#fff;box-shadow:0 1px 2px oklch(40% .12 42/.25)}.warm .wbtn-primary:hover{background:var(--color-primary-hover)}.warm .wbtn-ghost{color:var(--ink);border-color:var(--line-2);background:0 0}.warm .wbtn-ghost:hover{border-color:var(--ink-3);background:var(--surface-2)}.warm .arrow{transition:transform .2s}.warm .wbtn:hover .arrow,.warm .lnk:hover .arrow{transform:translate(3px)}.warm .lnk{white-space:nowrap;color:var(--accent-ink);flex:none;align-items:center;gap:6px;font-size:14.5px;font-weight:600;display:inline-flex}.warm .learn-link .lnk{white-space:normal;flex:0 auto}.warm .hero{padding:84px 0 72px}.warm .hero-grid{grid-template-columns:1.18fr .92fr;align-items:start;gap:60px;display:grid}.warm .hero-copy .kicker{margin-bottom:22px}.warm .hero h1{letter-spacing:-.022em;font-size:clamp(46px,6vw,78px);line-height:1}.warm .hero .lede{color:var(--ink-2);text-wrap:pretty;max-width:30em;margin-top:24px;font-size:19px;line-height:1.62}.warm .hero-cta{flex-wrap:wrap;gap:14px;margin-top:34px;display:flex}.warm .hero-pills{flex-wrap:wrap;gap:9px;margin-top:38px;display:flex}.warm .pill{color:var(--ink-2);white-space:nowrap;border:1px solid var(--line-2);background:var(--surface);border-radius:999px;align-items:center;gap:7px;padding:8px 15px;font-size:13.5px;font-weight:500;transition:border-color .15s,color .15s;display:inline-flex}.warm .pill:hover{border-color:var(--ink-3);color:var(--ink)}.warm .pill .dot{background:var(--accent);opacity:.8;border-radius:50%;width:7px;height:7px}.warm .spotlight{border:1px solid var(--line);border-radius:var(--w-radius);background:var(--surface);color:inherit;transition:transform .2s,box-shadow .25s;display:block;overflow:hidden;box-shadow:0 1px oklch(100% 0 0/.4),0 24px 48px -36px oklch(30% .05 60/.35)}.warm .spotlight:hover{transform:translateY(-3px);box-shadow:0 28px 52px -34px oklch(30% .05 60/.45)}.warm .spotlight .label{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:15px 20px;display:flex}.warm .spotlight .label .t{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;font-size:11px;font-weight:500}.warm .spotlight .cover{background:var(--cv-bg);color:var(--cv-ink);padding:26px 24px 28px;position:relative}.warm .spotlight .cover .chip{white-space:nowrap;letter-spacing:.02em;background:var(--cv-chip);color:var(--cv-ink);border-radius:999px;align-items:center;gap:7px;margin-bottom:16px;padding:5px 11px;font-size:12px;font-weight:600;display:inline-flex}.warm .spotlight .cover .hook{color:var(--cv-ink);opacity:.82;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:8px;font-size:13.5px;line-height:1.45;display:-webkit-box;overflow:hidden}.warm .spotlight .cover .punch{font-family:var(--font-display);letter-spacing:-.01em;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:clamp(27px,3vw,34px);font-weight:600;line-height:1.1;display:-webkit-box;overflow:hidden}.warm .spotlight .cover .emoji{font-size:30px;position:absolute;top:22px;right:22px}.warm .spotlight .body{padding:20px 24px 22px}.warm .spotlight .body .sub{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:500}.warm .spotlight .body .name{font-family:var(--font-display);color:var(--ink);margin:7px 0 8px;font-size:21px;line-height:1.22}.warm .spotlight .body .desc{color:var(--ink-2);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:14.5px;line-height:1.55;display:-webkit-box;overflow:hidden}.warm .spotlight .meta{font-family:var(--font-mono);color:var(--ink-3);align-items:center;gap:14px;padding:0 24px 22px;font-size:12.5px;display:flex}.warm .spotlight .meta .sep{background:var(--ink-3);opacity:.6;border-radius:50%;width:3px;height:3px}.warm .spotlight .start{border-top:1px solid var(--line);color:var(--accent-ink);justify-content:space-between;align-items:center;gap:12px;padding:16px 24px;font-size:15px;font-weight:600;display:flex}.warm .spotlight .start span{white-space:nowrap}.warm .section-divide{border-top:1px solid var(--line)}.warm .how{padding:76px 0}.warm .how-head{max-width:640px}.warm .how-head h2{margin:16px 0 14px;font-size:clamp(30px,3.6vw,42px);line-height:1.08}.warm .how-head p{color:var(--ink-2);text-wrap:pretty;font-size:17px;line-height:1.6}.warm .steps{grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px;display:grid}.warm .step{border-radius:var(--w-radius);background:var(--surface);border:1px solid var(--line);padding:28px 26px;position:relative}.warm .step .num{font-family:var(--font-mono);color:var(--accent-ink);letter-spacing:.1em;font-size:12.5px;font-weight:500}.warm .step h3{letter-spacing:-.005em;margin:16px 0 9px;font-size:21px}.warm .step p{color:var(--ink-2);font-size:14.5px;line-height:1.58}.warm .faq{border-top:1px solid var(--line);margin-top:40px}.warm .faq details{border-bottom:1px solid var(--line);padding:4px 0}.warm .faq summary{cursor:pointer;font-family:var(--font-display);color:var(--ink);justify-content:space-between;align-items:center;gap:16px;padding:22px 4px;font-size:20px;font-weight:600;list-style:none;display:flex}.warm .faq summary::-webkit-details-marker{display:none}.warm .faq summary .tog{border:1px solid var(--line-2);width:26px;height:26px;color:var(--ink-3);border-radius:50%;flex:none;place-items:center;transition:transform .25s,border-color .2s,color .2s;display:grid}.warm .faq details[open] summary .tog{color:var(--accent);border-color:var(--accent);transform:rotate(45deg)}.warm .faq .ans{color:var(--ink-2);max-width:60ch;padding:0 4px 24px;font-size:15.5px;line-height:1.65}.warm .popular{padding:30px 0 86px}.warm .pop-head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:36px;display:flex}.warm .pop-head>div{min-width:0}.warm .pop-head h2{margin-bottom:12px;font-size:clamp(28px,3.4vw,40px);line-height:1.05}.warm .pop-head p{color:var(--ink-2);font-size:16px}.warm .wgrid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.warm .wcard{color:inherit;border:1px solid var(--line);border-radius:var(--w-radius);background:var(--surface);flex-direction:column;transition:transform .2s,box-shadow .25s,border-color .2s;display:flex;overflow:hidden}.warm .wcard:hover{border-color:var(--line-2);transform:translateY(-3px);box-shadow:0 28px 48px -34px oklch(30% .05 60/.42)}.warm .wcard .cover{background:var(--cv-bg);color:var(--cv-ink);flex-direction:column;justify-content:space-between;gap:12px;height:178px;padding:20px 22px;display:flex;position:relative;overflow:hidden}.warm .wcard .cover .chip{letter-spacing:.02em;background:var(--cv-chip);max-width:calc(100% - 46px);color:var(--cv-ink);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:5px 11px;font-size:11.5px;font-weight:600;display:inline-flex;overflow:hidden}.warm .wcard .cover .punch{font-family:var(--font-display);letter-spacing:-.008em;max-height:3.48em;margin:0;font-size:clamp(20px,2vw,26px);font-weight:600;line-height:1.16;overflow:hidden}.warm .wcard .cover .emoji{font-size:23px;position:absolute;top:18px;right:20px}.warm .wcard .body{flex:1;padding:20px 22px 8px}.warm .wcard .body .sub{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-size:10.5px;font-weight:500}.warm .wcard .body .name{font-family:var(--font-display);color:var(--ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:7px 0 8px;font-size:18.5px;line-height:1.25;display:-webkit-box;overflow:hidden}.warm .wcard .body .desc{color:var(--ink-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13.5px;line-height:1.55;display:-webkit-box;overflow:hidden}.warm .wcard .foot{font-family:var(--font-mono);color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:auto;padding:16px 22px 20px;font-size:11.5px;display:flex}.warm .wcard .foot>span{white-space:nowrap}.warm .wcard .foot .sep{background:var(--ink-3);opacity:.55;border-radius:50%;width:3px;height:3px}.warm .wcard .foot .go{color:var(--accent-ink);font-family:var(--font-ui);align-items:center;gap:5px;margin-left:auto;font-size:13.5px;font-weight:600;display:inline-flex}.warm .cta-band{padding:0 0 90px}.warm .cta-inner{background:var(--ink);color:var(--paper);border-radius:22px;justify-content:space-between;align-items:center;gap:40px;padding:56px;display:flex;position:relative;overflow:hidden}.warm .cta-inner .glow{pointer-events:none;background:radial-gradient(circle, var(--accent) 0%, transparent 65%);opacity:.42;border-radius:50%;width:420px;height:420px;position:absolute;top:-160px;right:-120px}.warm .cta-inner .ct{z-index:1;max-width:30em;position:relative}.warm .cta-inner .eyebrow{color:oklch(90% .04 55);background:oklch(100% 0 0/.12)}.warm .cta-inner h2{color:var(--paper);margin:16px 0 12px;font-size:clamp(28px,3.6vw,40px);line-height:1.08}.warm .cta-inner p{color:oklch(86% .012 75);font-size:16.5px;line-height:1.6}.warm .cta-inner .wbtn-primary{z-index:1;flex:none;min-height:54px;padding:14px 30px;position:relative}.warm .tone-rose{--cv-bg:oklch(93% .046 22);--cv-ink:oklch(43.5% .135 24);--cv-chip:oklch(88.5% .06 22)}.warm .tone-indigo{--cv-bg:oklch(92.6% .04 258);--cv-ink:oklch(42% .115 262);--cv-chip:oklch(88% .052 258)}.warm .tone-gold{--cv-bg:oklch(93.6% .052 84);--cv-ink:oklch(45.5% .098 72);--cv-chip:oklch(89% .062 84)}.warm .tone-slate{--cv-bg:oklch(91.6% .014 278);--cv-ink:oklch(36% .03 285);--cv-chip:oklch(86.8% .02 278)}.warm .tone-coral{--cv-bg:oklch(93.1% .05 40);--cv-ink:oklch(45% .14 38);--cv-chip:oklch(88.2% .062 40)}.warm .tone-teal{--cv-bg:oklch(93% .04 178);--cv-ink:oklch(40% .078 182);--cv-chip:oklch(87.8% .05 178)}.warm .tone-violet{--cv-bg:oklch(92.8% .044 305);--cv-ink:oklch(43% .13 308);--cv-chip:oklch(88.5% .056 305)}[data-theme=dark] .warm .tone-rose{--cv-bg:oklch(31.8% .062 20);--cv-ink:oklch(87% .072 28);--cv-chip:oklch(40% .072 20)}[data-theme=dark] .warm .tone-indigo{--cv-bg:oklch(31% .058 262);--cv-ink:oklch(86% .058 258);--cv-chip:oklch(39.2% .066 262)}[data-theme=dark] .warm .tone-gold{--cv-bg:oklch(31.8% .052 80);--cv-ink:oklch(88% .066 86);--cv-chip:oklch(40.2% .06 80)}[data-theme=dark] .warm .tone-slate{--cv-bg:oklch(30.5% .02 280);--cv-ink:oklch(86% .022 282);--cv-chip:oklch(38.8% .026 280)}[data-theme=dark] .warm .tone-coral{--cv-bg:oklch(32% .066 38);--cv-ink:oklch(87.5% .072 42);--cv-chip:oklch(40.4% .074 38)}[data-theme=dark] .warm .tone-teal{--cv-bg:oklch(30.5% .046 182);--cv-ink:oklch(85.8% .054 180);--cv-chip:oklch(38.8% .052 182)}[data-theme=dark] .warm .tone-violet{--cv-bg:oklch(31.5% .06 305);--cv-ink:oklch(86.5% .07 308);--cv-chip:oklch(39.8% .068 305)}@media (width<=940px){.warm .hero-grid{grid-template-columns:1fr;gap:44px}.warm .spotlight{max-width:460px}.warm .steps{grid-template-columns:1fr;gap:16px}.warm .wgrid{grid-template-columns:repeat(2,1fr)}.warm .cta-inner{flex-direction:column;align-items:flex-start;padding:40px 36px}}@media (width<=720px){.warm .wrap{padding:0 20px}.warm .hero{padding:56px 0 52px}.warm .wgrid{grid-template-columns:1fr}.warm .pop-head{flex-direction:column;align-items:flex-start}}.warm .explore-hero{padding:40px 0 30px}.warm .explore-hero .kicker{margin-bottom:20px}.warm .explore-hero h1{letter-spacing:-.02em;max-width:22ch;font-size:clamp(38px,5vw,62px);line-height:1.04}.warm .explore-hero .lede{color:var(--ink-2);text-wrap:pretty;max-width:54ch;margin-top:20px;font-size:18px;line-height:1.6}.warm .toolbar{top:var(--nav-height);z-index:30;background:oklch(from var(--paper) l c h / .9);-webkit-backdrop-filter:blur(12px)saturate(1.3);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;position:sticky}.warm .toolbar-inner{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.warm .chips{flex-wrap:wrap;flex:420px;gap:9px;min-width:0;display:flex}.warm .chip-filter{white-space:nowrap;color:var(--ink-2);border:1px solid var(--line-2);background:var(--surface);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:9px 15px;font-size:13.5px;font-weight:500;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.warm .chip-filter:hover{border-color:var(--ink-3);color:var(--ink)}.warm .chip-filter.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.warm .search{background:var(--surface);border:1px solid var(--line-2);border-radius:999px;flex:none;align-items:center;gap:9px;min-width:230px;height:44px;padding:0 16px;transition:border-color .15s;display:inline-flex}.warm .search:focus-within{border-color:var(--accent)}.warm .search svg{color:var(--ink-3);flex:none}.warm .search input{font:inherit;color:var(--ink);background:0 0;border:none;outline:none;width:100%;font-size:14.5px}.warm .search input::placeholder{color:var(--ink-3)}.warm .results{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);padding:28px 0 18px;font-size:12px}.warm .qgrid{grid-template-columns:repeat(3,1fr);gap:20px;padding-bottom:24px;display:grid}.warm .qcard{background:var(--surface);color:inherit;border:1px solid var(--line);border-radius:var(--w-radius);padding:22px 22px 18px;transition:transform .18s,box-shadow .22s,border-color .2s;display:block}.warm .qcard:hover{border-color:var(--line-2);transform:translateY(-3px);box-shadow:0 24px 44px -32px oklch(30% .05 60/.4)}.warm .qcard-top{align-items:center;gap:12px;margin-bottom:14px;display:flex}.warm .qtoken{background:var(--cv-bg);border-radius:12px;flex:none;place-items:center;width:42px;height:42px;font-size:22px;display:grid}.warm .qcat{flex-direction:column;flex:auto;gap:3px;min-width:0;display:flex}.warm .qcat .c{color:var(--cv-ink);white-space:nowrap;font-size:13px;font-weight:600}.warm .qcat .b{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:9.5px}.warm .qtitle{font-family:var(--font-display);letter-spacing:-.008em;color:var(--ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.44em;margin-bottom:9px;font-size:20px;font-weight:600;line-height:1.22;display:-webkit-box;overflow:hidden}.warm .qhook{color:var(--ink-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:3em;margin-bottom:16px;font-size:14px;line-height:1.5;display:-webkit-box;overflow:hidden}.warm .qmeta{border-top:1px solid var(--line);font-family:var(--font-mono);color:var(--ink-3);align-items:center;gap:9px;padding-top:14px;font-size:11.5px;display:flex}.warm .qmeta>span{white-space:nowrap}.warm .qmeta .sep{background:var(--ink-3);opacity:.55;border-radius:50%;width:3px;height:3px}.warm .qmeta .qgo{color:var(--accent-ink);margin-left:auto;transition:transform .2s;display:inline-flex}.warm .qcard:hover .qmeta .qgo{transform:translate(3px)}.warm .qcard.hidden{display:none}.warm .empty{text-align:center;color:var(--ink-3);padding:70px 0 90px;font-size:15px}.warm .breadcrumb{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:26px;font-size:12px;display:flex}.warm .breadcrumb a{color:var(--ink-3);white-space:nowrap;transition:color .15s}.warm .breadcrumb a:hover{color:var(--accent-ink)}.warm .breadcrumb .sep{opacity:.5}.warm .breadcrumb .cur{min-width:0;max-width:100%;color:var(--ink-2);white-space:normal;overflow-wrap:anywhere}.warm .quiz-hero{padding:calc(var(--nav-height) + 30px) 0 30px}.warm .qbadge{background:var(--cv-bg);width:66px;height:66px;color:var(--cv-ink);border-radius:18px;place-items:center;margin-bottom:22px;font-size:34px;display:grid}.warm .tagrow{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.warm .ttag{color:var(--cv-ink);white-space:nowrap;background:var(--cv-chip);border-radius:999px;padding:6px 13px;font-size:12.5px;font-weight:500}.warm a.ttag-link{text-decoration:none;transition:background .15s,color .15s}.warm a.ttag-link:hover{background:var(--cv-primary,#e8845a);color:#fff}.warm .quiz-hero h1{letter-spacing:-.02em;max-width:18ch;font-size:clamp(34px,4.6vw,54px);line-height:1.05}.warm .quiz-hero .lede{color:var(--ink-2);text-wrap:pretty;max-width:46ch;margin-top:18px;font-size:19px;line-height:1.6}.warm .detail-grid{grid-template-columns:minmax(0,1.55fr) minmax(0,.9fr);align-items:start;gap:48px;padding-block:24px 80px;display:grid}.warm .detail-grid>*{min-width:0}.warm .detail-head{margin-bottom:44px}.warm .detail-head h1{letter-spacing:-.02em;max-width:18ch;margin:4px 0 0;font-size:clamp(32px,4.2vw,50px);line-height:1.05}.warm .detail-head .lede{color:var(--ink-2);text-wrap:pretty;max-width:42ch;margin-top:16px;font-size:18px;line-height:1.6}.warm .prose+.prose{margin-top:48px}.warm .prose .label{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:14px;font-size:11px}.warm .prose h2{margin-bottom:16px;font-size:clamp(24px,3vw,32px);line-height:1.1}.warm .prose p{color:var(--ink-2);text-wrap:pretty;max-width:62ch;font-size:16.5px;line-height:1.7}.warm .meta-inline{font-family:var(--font-mono);color:var(--ink-3);flex-wrap:wrap;gap:8px 22px;margin-top:22px;font-size:12.5px;display:flex}.warm .meta-inline b{color:var(--ink);font-weight:600}.warm .learn-link{margin-top:22px}.warm .dimrow{grid-template-columns:1fr 1fr;gap:18px;margin-top:26px;display:grid}.warm .dimcard{border:1px solid var(--line);border-radius:var(--w-radius);background:var(--surface);padding:22px}.warm .dimcard .dn{align-items:center;gap:10px;display:flex}.warm .dimcard .dot{background:var(--cv-ink);border-radius:50%;flex:none;width:11px;height:11px}.warm .dimcard .nm{font-family:var(--font-display);font-size:19px;font-weight:600;line-height:1.2}.warm .dimcard .en{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-top:9px;font-size:11px}.warm .dimcard p{color:var(--ink-2);max-width:none;margin-top:12px;font-size:14px;line-height:1.55}.warm .checklist{flex-direction:column;gap:13px;margin-top:22px;list-style:none;display:flex}.warm .checklist li{color:var(--ink);align-items:flex-start;gap:12px;font-size:15.5px;line-height:1.45;display:flex}.warm .checklist .ic{background:var(--accent-soft);width:22px;height:22px;color:var(--accent-ink);border-radius:50%;flex:none;place-items:center;margin-top:1px;display:grid}.warm .checklist li.locked{color:var(--ink-3)}.warm .checklist li.locked .ic{background:var(--surface-3);color:var(--ink-3)}.warm .callout{border-radius:var(--w-radius-sm);background:var(--surface-2);border:1px solid var(--line);color:var(--ink-3);margin-top:30px;padding:16px 18px;font-size:13.5px;line-height:1.55}.warm .sidecard{top:calc(var(--nav-height) + 20px);border:1px solid var(--line);border-radius:var(--w-radius);background:var(--surface);position:sticky;overflow:hidden;box-shadow:0 1px oklch(100% 0 0/.4),0 26px 52px -40px oklch(30% .05 60/.4)}.warm .sidecard .cap{background:var(--cv-bg);color:var(--cv-ink);align-items:center;gap:14px;padding:22px 24px;display:flex}.warm .sidecard .cap .ce{font-size:30px}.warm .sidecard .cap .ct{font-family:var(--font-display);font-size:18px;font-weight:600;line-height:1.2}.warm .sidecard .stats{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.warm .sidecard .stat{text-align:center;border-right:1px solid var(--line);padding:18px 14px}.warm .sidecard .stat:last-child{border-right:none}.warm .sidecard .stat .v{font-family:var(--font-display);color:var(--ink);font-size:23px;font-weight:600}.warm .sidecard .stat .k{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-top:4px;font-size:10px}.warm .sidecard .scbody{padding:22px 24px 24px}.warm .sidecard .scbody h3{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px;font-size:11px;font-weight:500}.warm .sidecard .wbtn{width:100%;margin-top:6px}.warm .sidecard .note{text-align:center;font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.03em;margin-top:14px;font-size:11.5px}.warm .assessment-method{border:1px solid var(--line);border-radius:var(--w-radius);background:color-mix(in oklch, var(--surface) 88%, var(--accent-soft));margin-top:34px;padding:26px}.warm .assessment-method header{max-width:46em}.warm .assessment-method .label{font-family:var(--font-mono);letter-spacing:.14em;color:var(--accent-ink);margin-bottom:10px;font-size:10.5px}.warm .assessment-method h2{font-family:var(--font-display);color:var(--ink);text-wrap:balance;margin:0;font-size:clamp(22px,2.5vw,29px);font-weight:600;line-height:1.2}.warm .assessment-method header>p{color:var(--ink-2);margin-top:12px;font-size:14.5px;line-height:1.65}.warm .assessment-method-grid{border:1px solid var(--line);border-radius:var(--w-radius-sm);background:var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:22px;display:grid;overflow:hidden}.warm .assessment-method-grid>div{background:var(--surface);min-width:0;padding:18px}.warm .assessment-method-grid dt{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px;font-size:10px}.warm .assessment-method-grid dd{margin:0}.warm .assessment-method-grid strong,.warm .assessment-method-grid span{overflow-wrap:anywhere;display:block}.warm .assessment-method-grid strong{color:var(--ink);font-size:14px;line-height:1.45}.warm .assessment-method-grid span{color:var(--ink-3);margin-top:5px;font-size:11.5px;line-height:1.45}.warm .report-preview{width:100%;min-width:0;max-width:100%;scroll-margin-top:calc(var(--nav-height) + 24px);margin-top:48px}.warm .report-preview-intro .label{font-family:var(--font-mono);letter-spacing:.16em;color:var(--accent-ink);margin-bottom:14px;font-size:11px}.warm .report-preview-intro h2{max-width:16em;margin-bottom:16px;font-size:clamp(27px,3.2vw,36px);line-height:1.12}.warm .report-preview-intro>p{color:var(--ink-2);text-wrap:pretty;max-width:42em;font-size:16.5px;line-height:1.72}.warm .report-preview-proof{flex-wrap:wrap;gap:14px 28px;margin-top:24px;display:flex}.warm .report-preview-proof div{min-width:126px}.warm .report-preview-proof dt{font-family:var(--font-display);color:var(--ink);font-size:22px;font-weight:600}.warm .report-preview-proof dd{color:var(--ink-3);margin-top:3px;font-size:12.5px}.warm .report-preview-reader{border:1px solid var(--line);background:var(--surface);border-radius:22px;width:100%;min-width:0;max-width:100%;margin-top:28px;overflow:hidden;box-shadow:0 24px 60px -44px oklch(22% .05 255/.5)}.warm .report-preview-stage{background:oklch(31% .06 255);padding:22px}.warm .report-preview-status{color:oklch(90% .015 255);font-family:var(--font-mono);letter-spacing:.04em;grid-template-columns:minmax(max-content,1fr) minmax(0,auto) minmax(max-content,1fr);align-items:center;gap:18px;margin-bottom:18px;font-size:11px;display:grid}.warm .report-preview-status strong{color:#fff;font-family:var(--font-display);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.warm .report-preview-status>:last-child{text-align:end}.warm .report-preview-sheet{background:#faf7f1;border-radius:4px;width:min(100%,620px);min-height:180px;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 28px 48px -28px oklch(8% .03 255/.75)}.warm .report-preview-sheet img{width:100%;height:auto;transition:opacity .16s;display:block}.warm .report-preview-sheet img.is-loading{opacity:.42}.warm .report-preview-loading{color:#fff;white-space:nowrap;background:oklch(22% .04 255/.88);border-radius:999px;padding:8px 12px;font-size:12px;display:none;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.warm .report-preview-sheet[aria-busy=true] .report-preview-loading{display:block}.warm .report-preview-controls{color:oklch(84% .02 255);text-align:center;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin-top:18px;font-size:12px;display:grid}.warm .report-preview-controls button{color:#fff;min-height:40px;font:inherit;cursor:pointer;background:oklch(100% 0 0/.08);border:1px solid oklch(74% .03 255/.35);border-radius:999px;padding:8px 16px;font-weight:600}.warm .report-preview-controls button:first-child{justify-self:start}.warm .report-preview-controls button:last-child{justify-self:end}.warm .report-preview-controls button:hover:not(:disabled){background:oklch(100% 0 0/.15)}.warm .report-preview-controls button:disabled{opacity:.38;cursor:not-allowed}.warm .report-preview-thumbnails{overscroll-behavior-inline:contain;scrollbar-width:thin;gap:12px;width:100%;min-width:0;max-width:100%;padding:18px 20px 20px;display:flex;overflow-x:auto}.warm .report-preview-thumbnail{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);text-align:start;cursor:pointer;border-radius:12px;flex:0 0 118px;padding:7px;transition:border-color .15s,box-shadow .15s,transform .15s}.warm .report-preview-thumbnail:hover{border-color:var(--ink-3);transform:translateY(-2px)}.warm .report-preview-thumbnail[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);color:var(--ink)}.warm .report-preview-thumbnail img{background:#faf7f1;border-radius:6px;width:100%;height:auto;display:block}.warm .report-preview-thumbnail span{margin-top:8px;font-size:10.5px;line-height:1.35;display:block}.warm .report-preview-thumbnail b{font-family:var(--font-mono);color:var(--accent-ink);margin-bottom:2px;font-size:9px;display:block}.warm .report-preview-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;min-width:0;padding:22px;display:flex}.warm .report-preview-footer>div:first-child{min-width:0}.warm .report-preview-footer strong{color:var(--ink);font-size:14px;display:block}.warm .report-preview-footer p{color:var(--ink-3);margin-top:5px;font-size:12px;line-height:1.5}.warm .report-preview-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:10px;max-width:100%;display:flex}.warm .report-preview-actions .wbtn{text-align:center;white-space:normal;min-height:44px;padding:10px 16px;font-size:13px}.warm .report-preview-link{border:1px solid var(--line-2);border-radius:var(--w-radius-sm);color:var(--accent-ink);text-align:center;margin:8px 0 14px;padding:10px 12px;font-size:13px;font-weight:600;text-decoration:none;display:block}.warm .report-preview-link:hover{border-color:var(--accent);background:var(--accent-soft)}.warm.play-scope{min-height:100vh}.warm .modal-scrim{z-index:1000;padding:max(24px, env(safe-area-inset-top,0px)) max(24px, env(safe-area-inset-right,0px)) max(24px, env(safe-area-inset-bottom,0px)) max(24px, env(safe-area-inset-left,0px));-webkit-backdrop-filter:blur(3px);background:oklch(18% .02 60/.55);place-items:center;display:grid;position:fixed;inset:0;overflow:auto}.warm .quiz-loading{place-items:center;padding:64px 0;display:grid}.warm .quiz-loading .spin{border:3px solid var(--line-2);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite warmspin}@keyframes warmspin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.warm .quiz-loading .spin{animation:none}}.warm .modal{background:var(--surface);border:1px solid var(--line);border-radius:22px;flex-direction:column;width:min(720px,100%);max-height:calc(100vh - 48px);display:flex;position:relative;overflow:hidden;box-shadow:0 50px 100px -52px oklch(20% .04 60/.55)}.warm .modal .progress-track{background:var(--surface-3);flex:none;height:3px}.warm .modal .progress-fill{background:var(--accent);width:0%;height:100%;transition:width .35s cubic-bezier(.4,0,.2,1)}.warm .modal-top{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:14px;padding:15px 18px 15px 22px;display:flex}.warm .modal-top .brand{font-family:var(--font-display);color:var(--ink);align-items:center;gap:10px;font-size:16px;font-weight:600;text-decoration:none;display:flex}.warm .modal-top .brand .logo{background:var(--accent);color:#fff;border-radius:8px;place-items:center;width:27px;height:27px;font-size:16px;display:grid}.warm .modal-top .play-count{font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.04em;margin-left:auto;font-size:12.5px}.warm .modal-close{width:34px;height:34px;color:var(--ink-2);border:1px solid var(--line-2);border-radius:50%;flex:none;place-items:center;text-decoration:none;transition:border-color .15s,color .15s,background-color .15s;display:grid}.warm .modal-close:hover{border-color:var(--ink-3);color:var(--ink);background:var(--surface-2)}.warm .modal-body{flex:1;min-height:0;padding:40px 40px 8px;overflow-y:auto}.warm .modal-body .question-card{margin-bottom:0!important}.warm .modal-body .question-card>h3{text-wrap:pretty;font-family:var(--font-display)!important;letter-spacing:-.015em!important;color:var(--ink)!important;margin-bottom:32px!important;font-size:clamp(24px,3.4vw,34px)!important;font-weight:600!important;line-height:1.18!important}.warm .options-list{gap:12px!important}.warm .quiz-option{text-align:left;border-radius:var(--w-radius-sm);background:var(--surface);border:1px solid var(--line-2);width:100%;color:var(--ink);cursor:pointer;align-items:flex-start;gap:16px;padding:18px 20px;transition:border-color .15s,background-color .15s,transform .1s;display:flex}.warm .quiz-option:hover{border-color:var(--ink-3)}.warm .quiz-option:active{transform:scale(.994)}.warm .quiz-option .option-marker{width:30px;height:30px;font-family:var(--font-mono);background:var(--surface-2);border:1px solid var(--line-2);color:var(--ink-2);border-radius:9px;flex:none;place-items:center;margin-top:1px;font-size:13px;font-weight:500;transition:background-color .15s,border-color .15s,color .15s;display:grid}.warm .quiz-option .option-text{padding-top:4px;font-size:16.5px;font-weight:500;line-height:1.45}.warm .quiz-option.selected{border-color:var(--accent);background:var(--accent-soft)}.warm .quiz-option.selected .option-marker{background:var(--accent);border-color:var(--accent);color:#fff}.warm .quiz-option.selected .option-text{color:var(--accent-ink);font-weight:600}.warm .qnav{border-top:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex}.warm .qnav .navbtn{color:var(--ink-2);border-radius:var(--w-radius-sm);border:1px solid var(--line-2);background:var(--surface);cursor:pointer;align-items:center;gap:8px;padding:11px 18px;font-size:15px;font-weight:600;transition:all .15s;display:inline-flex}.warm .qnav .navbtn:hover:not(:disabled){border-color:var(--ink-3);color:var(--ink)}.warm .qnav .navbtn:disabled{opacity:.4;cursor:not-allowed}.warm .qnav .navbtn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.warm .qnav .progresspct{font-family:var(--font-mono);color:var(--ink-3);font-size:12px}@media (width<=940px){.warm .qgrid{grid-template-columns:repeat(2,1fr)}.warm .detail-grid{grid-template-columns:1fr;gap:32px}.warm .detail-head h1,.warm .detail-head .lede,.warm .prose h2,.warm .prose p{overflow-wrap:break-word}.warm .sidecard{max-width:460px;position:static}}@media (width<=720px){.warm .qgrid{grid-template-columns:1fr}.warm .toolbar{top:0}.warm .dimrow{grid-template-columns:1fr}.warm .modal-scrim{padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px)}.warm .modal-scrim .modal{border:none;border-radius:0;width:100%;height:100dvh;max-height:100dvh;transform:none}.warm .modal-body{padding:30px 22px 8px}.warm .qnav{padding:14px 20px}.warm .report-preview-reader{border-radius:16px}.warm .assessment-method{padding:20px}.warm .assessment-method-grid{grid-template-columns:1fr}.warm .report-preview-stage{padding:14px}.warm .report-preview-status{grid-template-columns:1fr auto;gap:8px 12px}.warm .report-preview-status strong{text-align:start;white-space:normal;grid-area:2/1/auto/-1}.warm .report-preview-controls{grid-template-columns:1fr 1fr}.warm .report-preview-controls span{grid-area:1/1/auto/-1}.warm .report-preview-footer{flex-direction:column;align-items:stretch}.warm .report-preview-actions{display:grid}.warm .report-preview-actions .wbtn{width:100%}}@media (prefers-reduced-motion:reduce){.warm .report-preview-sheet img,.warm .report-preview-thumbnail{transition:none}.warm .report-preview-thumbnail:hover{transform:none}}.warm .raxes{flex-direction:column;gap:22px;display:flex}.warm .raxis .at{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:9px;display:flex}.warm .raxis .an{font-family:var(--font-display);color:var(--ink);font-size:17px;font-weight:600}.warm .raxis .av{font-family:var(--font-mono);color:var(--ink-3);white-space:nowrap;font-size:12px}.warm .raxis .track{background:var(--surface-3);border-radius:999px;height:12px;overflow:hidden}.warm .raxis .rbar{background:var(--accent);border-radius:999px;height:100%}.warm .raxis .anums{font-family:var(--font-mono);color:var(--ink-3);flex-wrap:wrap;gap:16px;margin-top:8px;font-size:11px;display:flex}.warm .raxis .adesc{color:var(--ink-2);max-width:60ch;margin-top:8px;font-size:14px;line-height:1.55}.warm .rgate{border-radius:var(--w-radius);background:var(--ink);color:var(--paper);margin:8px 0 1rem;padding:28px}.warm .rgate .gt{font-family:var(--font-display);color:var(--paper);margin-bottom:8px;font-size:21px;font-weight:600}.warm .rgate .gs{color:oklch(86% .012 75);margin-bottom:18px;font-size:14.5px;line-height:1.6}[data-theme=dark] .warm .rgate{background:var(--surface-3)}[data-theme=dark] .warm .rgate .gs{color:var(--ink-2)}html[lang^=zh] .warm .lede,html[lang^=ja] .warm .lede,html[lang^=ko] .warm .lede{max-width:34em}html[lang^=zh] .warm .explore-hero .lede,html[lang^=ja] .warm .explore-hero .lede,html[lang^=ko] .warm .explore-hero .lede{max-width:42em}html[lang^=zh] .warm .prose p,html[lang^=ja] .warm .prose p,html[lang^=ko] .warm .prose p{max-width:40em}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.text-4xl{font-size:var(--text-4xl)}.font-light{font-weight:var(--font-light)}.font-regular{font-weight:var(--font-regular)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.text-primary{color:var(--color-primary)}.text-accent{color:var(--color-accent)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-danger{color:var(--color-danger)}.bg-primary{background-color:var(--color-primary)}.bg-surface{background-color:var(--color-surface)}.bg-card{background-color:var(--color-card)}.bg-gradient{background:var(--gradient-primary)}.m-0{margin:0}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.mx-auto{margin-left:auto;margin-right:auto}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.rounded{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.cursor-pointer{cursor:pointer}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.transition{transition:all var(--transition-base)}.transition-fast{transition:all var(--transition-fast)}.gradient-text{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.divider{background:var(--color-divider);height:1px;margin:var(--space-4) 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}@keyframes du-fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.anim-fade-up{animation:du-fade-up calc(var(--duration-slow) * var(--motion-scale)) var(--ease-out) both}.anim-delay-1{animation-delay:calc(80ms * var(--motion-scale))}.anim-delay-2{animation-delay:calc(.16s * var(--motion-scale))}.anim-delay-3{animation-delay:calc(.24s * var(--motion-scale))}.anim-delay-4{animation-delay:calc(.32s * var(--motion-scale))}.observe-fade{opacity:0;transition:opacity calc(var(--duration-slow) * var(--motion-scale)) var(--ease-out), transform calc(var(--duration-slow) * var(--motion-scale)) var(--ease-out);transform:translateY(16px)}.observe-fade.in-view{opacity:1;transform:translateY(0)}.stagger-children>*{animation:du-fade-up calc(var(--duration-base) * var(--motion-scale)) var(--ease-out) both;animation-delay:calc(var(--i,0) * 40ms * var(--motion-scale))}@keyframes du-float{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-20px)scale(1.05)}}.anim-float{animation:du-float calc(6s * max(var(--motion-scale), .001)) ease-in-out infinite;will-change:transform}@keyframes du-bob{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}.anim-bob{animation:du-bob calc(2s * max(var(--motion-scale), .001)) ease-in-out infinite}@keyframes du-question-in{0%{opacity:0}}.question-entering-fwd,.question-entering-back{animation:du-question-in calc(.16s * var(--motion-scale)) var(--ease-out) both}@media (prefers-reduced-motion:reduce){.anim-float,.anim-bob{animation:none}}.site-header[data-astro-cid-bi27l4kv]{z-index:200;background:oklch(from var(--color-bg) l c h / .82);-webkit-backdrop-filter:saturate(1.4)blur(14px);border-bottom:1px solid var(--color-border);padding-top:env(safe-area-inset-top,0px);position:sticky;top:0}.wrap[data-astro-cid-bi27l4kv]{max-width:1180px;padding:0 max(32px, env(safe-area-inset-right,0px)) 0 max(32px, env(safe-area-inset-left,0px));margin:0 auto}.header-inner[data-astro-cid-bi27l4kv]{align-items:center;gap:28px;height:70px;display:flex}.brand[data-astro-cid-bi27l4kv]{color:var(--color-text);align-items:center;gap:11px;font-weight:700;text-decoration:none;display:flex}.brand[data-astro-cid-bi27l4kv] .logo[data-astro-cid-bi27l4kv]{background:var(--color-primary);color:#fff;width:32px;height:32px;font-family:var(--font-display);border-radius:9px;flex:none;place-items:center;font-size:19px;font-weight:600;display:grid}.brand[data-astro-cid-bi27l4kv] .name[data-astro-cid-bi27l4kv]{font-family:var(--font-display);letter-spacing:-.01em;font-size:19px}.nav[data-astro-cid-bi27l4kv]{align-items:center;gap:4px;margin-left:6px;display:flex}.nav[data-astro-cid-bi27l4kv] a[data-astro-cid-bi27l4kv]{color:var(--color-text-secondary);border-radius:8px;padding:8px 13px;font-size:15px;font-weight:500;text-decoration:none;transition:color .15s,background-color .15s}.nav[data-astro-cid-bi27l4kv] a[data-astro-cid-bi27l4kv]:hover{color:var(--color-text);background:var(--color-bg-secondary)}.nav[data-astro-cid-bi27l4kv] a[data-astro-cid-bi27l4kv].active{color:var(--color-text);font-weight:600}.header-right[data-astro-cid-bi27l4kv]{align-items:center;gap:14px;margin-left:auto;display:flex}.lang-select[data-astro-cid-bi27l4kv]{align-items:center;display:inline-flex;position:relative}.lang-select[data-astro-cid-bi27l4kv] select[data-astro-cid-bi27l4kv]{appearance:none;font:inherit;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);cursor:pointer;border-radius:9px;padding:9px 34px 9px 14px;font-size:14px;font-weight:500;transition:border-color .15s}.lang-select[data-astro-cid-bi27l4kv] select[data-astro-cid-bi27l4kv]:hover{border-color:var(--color-text-tertiary)}.lang-select[data-astro-cid-bi27l4kv] .chev[data-astro-cid-bi27l4kv]{pointer-events:none;color:var(--color-text-tertiary);position:absolute;right:12px}[dir=rtl] .lang-select[data-astro-cid-bi27l4kv] select[data-astro-cid-bi27l4kv]{padding:9px 14px 9px 34px}[dir=rtl] .lang-select[data-astro-cid-bi27l4kv] .chev[data-astro-cid-bi27l4kv]{left:12px;right:auto}.login-link[data-astro-cid-bi27l4kv]{color:var(--color-accent);white-space:nowrap;padding:8px 6px;font-size:15px;font-weight:600;text-decoration:none}.login-link[data-astro-cid-bi27l4kv]:hover{color:var(--color-primary)}.menu-btn[data-astro-cid-bi27l4kv]{background:var(--color-bg-secondary);cursor:pointer;width:38px;height:38px;color:var(--color-text);border:none;border-radius:9px;justify-content:center;align-items:center;font-size:1.1rem;display:none}.sr-only[data-astro-cid-bi27l4kv]{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.drawer-mask[data-astro-cid-bi27l4kv]{z-index:290;background:oklch(20% .01 60/.4);display:none;position:fixed;inset:0}.drawer-mask[data-astro-cid-bi27l4kv].show{display:block}.drawer-panel[data-astro-cid-bi27l4kv]{background:var(--color-surface);z-index:300;width:280px;height:100%;padding:calc(28px + env(safe-area-inset-top,0px)) 22px calc(28px + env(safe-area-inset-bottom,0px));border-inline-start:1px solid var(--color-border);opacity:0;visibility:hidden;pointer-events:none;flex-direction:column;gap:4px;transition:opacity .2s,visibility 0s linear .2s;display:flex;position:fixed;top:0;right:0;overflow-y:auto}.drawer-panel[data-astro-cid-bi27l4kv].show{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}[dir=rtl] .drawer-panel[data-astro-cid-bi27l4kv]{left:0;right:auto}.drawer-panel[data-astro-cid-bi27l4kv] a[data-astro-cid-bi27l4kv]{color:var(--color-text-secondary);border-radius:8px;padding:11px 8px;font-size:15px;text-decoration:none}.drawer-panel[data-astro-cid-bi27l4kv] a[data-astro-cid-bi27l4kv]:hover,.drawer-panel[data-astro-cid-bi27l4kv] a[data-astro-cid-bi27l4kv].on{color:var(--color-text);background:var(--color-bg-secondary)}.drawer-brand[data-astro-cid-bi27l4kv]{color:var(--color-text);margin-bottom:14px}@media (width<=860px){.nav[data-astro-cid-bi27l4kv],.login-link[data-astro-cid-bi27l4kv]{display:none}.menu-btn[data-astro-cid-bi27l4kv]{display:inline-flex}.wrap[data-astro-cid-bi27l4kv]{padding:0 max(20px, env(safe-area-inset-right,0px)) 0 max(20px, env(safe-area-inset-left,0px))}}.site-footer[data-astro-cid-ubon47vl]{border-top:1px solid var(--color-border);background:var(--color-bg-secondary);margin-top:80px}.wrap[data-astro-cid-ubon47vl]{max-width:1180px;margin:0 auto;padding:0 32px}.footer-top[data-astro-cid-ubon47vl]{grid-template-columns:1.6fr 1fr 1fr;gap:40px;padding:64px 0 48px;display:grid}.brand[data-astro-cid-ubon47vl]{color:var(--color-text);align-items:center;gap:11px;margin-bottom:16px;text-decoration:none;display:flex}.brand[data-astro-cid-ubon47vl] .logo[data-astro-cid-ubon47vl]{background:var(--color-primary);color:#fff;width:32px;height:32px;font-family:var(--font-display);border-radius:9px;flex:none;place-items:center;font-size:19px;font-weight:600;display:grid}.brand[data-astro-cid-ubon47vl] .name[data-astro-cid-ubon47vl]{font-family:var(--font-display);letter-spacing:-.01em;font-size:19px}.footer-brand[data-astro-cid-ubon47vl] p[data-astro-cid-ubon47vl]{color:var(--color-text-secondary);max-width:26em;font-size:14.5px;line-height:1.6}.foot-col[data-astro-cid-ubon47vl] h4[data-astro-cid-ubon47vl]{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:18px;font-size:11px;font-weight:500}.foot-col[data-astro-cid-ubon47vl] ul[data-astro-cid-ubon47vl]{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.foot-col[data-astro-cid-ubon47vl] a[data-astro-cid-ubon47vl]{color:var(--color-text-secondary);font-size:14.5px;text-decoration:none;transition:color .15s}.foot-col[data-astro-cid-ubon47vl] a[data-astro-cid-ubon47vl]:hover{color:var(--color-accent)}.privacy-button[data-astro-cid-ubon47vl]{color:var(--color-text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.privacy-button[data-astro-cid-ubon47vl]:hover{color:var(--color-accent)}.footer-bottom[data-astro-cid-ubon47vl]{border-top:1px solid var(--color-border);color:var(--color-text-tertiary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:24px 0 40px;font-size:13px;display:flex}.footer-bottom[data-astro-cid-ubon47vl] .disc[data-astro-cid-ubon47vl]{max-width:60ch;margin:0;line-height:1.5}@media (width<=720px){.footer-top[data-astro-cid-ubon47vl]{grid-template-columns:1fr 1fr}.footer-brand[data-astro-cid-ubon47vl]{grid-column:1/-1}.wrap[data-astro-cid-ubon47vl]{padding:0 20px}}.consent[data-astro-cid-noyubt7v]{z-index:var(--z-modal);border:1px solid var(--color-border);background:var(--color-card);border-radius:16px;align-items:center;gap:20px;max-width:760px;margin-inline:auto;padding:18px;display:flex;position:fixed;inset:auto 16px 16px;box-shadow:0 18px 50px #00000038}.consent[data-astro-cid-noyubt7v][hidden]{display:none}.consent-copy[data-astro-cid-noyubt7v]{flex:1;min-width:0}.consent-copy[data-astro-cid-noyubt7v] strong[data-astro-cid-noyubt7v]{color:var(--color-text);font-size:14px}.consent-copy[data-astro-cid-noyubt7v] p[data-astro-cid-noyubt7v]{color:var(--color-text-secondary);margin:5px 0 0;font-size:13px;line-height:1.55}.consent-copy[data-astro-cid-noyubt7v] a[data-astro-cid-noyubt7v]{color:var(--color-primary)}.consent-actions[data-astro-cid-noyubt7v]{flex:none;gap:8px;display:flex}@media (width<=640px){.consent[data-astro-cid-noyubt7v]{flex-direction:column;align-items:stretch}.consent-actions[data-astro-cid-noyubt7v]{justify-content:flex-end}}
