:root{--color-primary-50: #eff6ff;--color-primary-100: #dbeafe;--color-primary-200: #bfdbfe;--color-primary-300: #93c5fd;--color-primary-400: #60a5fa;--color-primary-500: #3b82f6;--color-primary-600: #2563eb;--color-primary-700: #1e40af;--color-primary-800: #1e3a8a;--color-primary-900: #1e3a8a;--color-text-primary: #111827;--color-text-secondary: #374151;--color-text-muted: #6b7280;--color-bg-primary: #ffffff;--color-bg-secondary: #f9fafb;--color-bg-tertiary: #f3f4f6;--color-border-light: #f3f4f6;--color-border-default: #e5e7eb;--color-border-strong: #d1d5db;--nav-height: 64px;--sidebar-width: 280px;--article-width: 100%;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--color-amber-50: #fffbeb;--color-amber-100: #fef3c7;--color-amber-200: #fde68a;--color-amber-300: #fcd34d;--color-amber-400: #fbbf24;--color-amber-500: #f59e0b;--color-amber-600: #d97706;--color-amber-700: #b45309;--color-amber-800: #92400e;--color-orange-50: #fff7ed;--color-orange-500: #f97316;--color-indigo-500: #6366f1;--color-indigo-600: #4f46e5;--color-red-50: #fef2f2;--color-red-100: #fee2e2;--color-red-500: #ef4444;--color-red-600: #dc2626;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-400: #9ca3af;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-900: #111827;--color-slate-50: #f8fafc;--color-green-500: #22c55e;--color-green-600: #16a34a;--color-emerald-100: #d1fae5;--color-emerald-500: #10b981;--color-emerald-600: #059669;--color-violet-500: #8b5cf6;--color-violet-600: #7c3aed;--color-pink-500: #ec4899;--color-pink-600: #db2777;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}@media(max-width:1279px){:root{--sidebar-width: 200px}}@media(min-width:1280px)and (max-width:1439px){:root{--sidebar-width: 240px}}@media(min-width:1440px)and (max-width:1919px){:root{--sidebar-width: 280px}}@media(min-width:1920px){:root{--sidebar-width: 320px}}@media(min-width:2200px){:root{--sidebar-width: 360px}}@media(max-width:640px){:root{--article-width: 100%}}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0;background-color:var(--color-bg-secondary)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--color-text-primary);line-height:1.6}code,pre,kbd,samp{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.sidebar-scrollbar,.scrollbar-thin,.custom-scrollbar{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}.sidebar-scrollbar::-webkit-scrollbar,.scrollbar-thin::-webkit-scrollbar,.custom-scrollbar::-webkit-scrollbar{width:6px}.sidebar-scrollbar::-webkit-scrollbar-track,.scrollbar-thin::-webkit-scrollbar-track,.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.sidebar-scrollbar::-webkit-scrollbar-thumb,.scrollbar-thin::-webkit-scrollbar-thumb,.custom-scrollbar::-webkit-scrollbar-thumb{background-color:var(--color-border-strong);border-radius:3px}.sidebar-scrollbar::-webkit-scrollbar-thumb:hover,.scrollbar-thin::-webkit-scrollbar-thumb:hover,.custom-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-muted)}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.word-count{font-size:.875rem;color:var(--color-text-muted)}.icon-xs{width:.625rem;height:.625rem}.icon-sm{width:.75rem;height:.75rem}.icon-md{width:.875rem;height:.875rem}.icon-base{width:1rem;height:1rem}.icon-lg{width:1.25rem;height:1.25rem}.border-l-3{border-left-width:3px}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.fade-in{animation:fade-in .2s ease-out}.slide-up{animation:slide-up .3s ease-out}.focus-ring:focus{outline:2px solid var(--color-primary-500);outline-offset:2px}.nav-content-wrapper{width:100%;padding-inline:var(--space-md)}@media(min-width:1024px){.nav-content-wrapper{padding-inline:var(--space-lg)}}.article-layout{--sidebar-count: 1;display:flex;justify-content:flex-start;min-height:calc(100vh - var(--nav-height))}.article-layout.has-series{--sidebar-count: 2}@media(max-width:1023px){.article-layout{display:block}}:root{--sidebar-bg: #fafbfc;--sidebar-border: var(--color-border-default);--sidebar-font-size: .875rem;--sidebar-item-padding: .5rem .75rem;--sidebar-icon-size: 1rem}.article-sidebar,.series-sidebar{position:sticky;top:var(--nav-height);height:calc(100vh - var(--nav-height));width:var(--sidebar-width);flex-shrink:0;background-color:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);overflow:hidden;display:flex;flex-direction:column;font-size:var(--sidebar-font-size);color:#374151}.article-sidebar{z-index:10}.series-sidebar{z-index:11}.article-sidebar-content,.series-sidebar-content{display:flex;flex-direction:column;height:100%;overflow:hidden}.sidebar-shortcuts{padding:.375rem .75rem;border-bottom:1px solid #f3f4f6;background-color:#f9fafb80;display:flex;flex-wrap:wrap;gap:.375rem .75rem;font-size:.6875rem;color:#6b7280}.sidebar-shortcuts kbd{display:inline-block;padding:.0625rem .25rem;background:#fff;border:1px solid #d1d5db;border-radius:.1875rem;font-size:.625rem;font-family:ui-monospace,monospace;color:#374151}.sidebar-shortcuts-item{display:flex;align-items:center;gap:.25rem}.sidebar-shortcuts-label{color:#9ca3af}.sidebar-header{padding:.75rem 1rem;border-bottom:1px solid #e5e7eb}.sidebar-header-label{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.75rem;font-weight:600;color:var(--color-primary-600);text-transform:uppercase;letter-spacing:.05em}.sidebar-header-label svg{width:1rem;height:1rem}.sidebar-header-count{font-weight:400;color:#9ca3af}.sidebar-header-title{font-size:.875rem;font-weight:700;color:#111827;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sidebar-header-subtitle{font-size:.75rem;color:#6b7280;margin-top:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-progress{margin-top:.75rem}.sidebar-progress-header{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;color:#6b7280;margin-bottom:.25rem}.sidebar-progress-bar{height:.375rem;background-color:#f3f4f6;border-radius:9999px;overflow:hidden}.sidebar-progress-fill{height:100%;background:linear-gradient(to right,var(--color-primary-500),var(--color-primary-600));transition:width .3s ease}.sidebar-progress-fill--green{background:linear-gradient(to right,#22c55e,#10b981)}.sidebar-controls{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;border-bottom:1px solid #f3f4f6;background-color:#f9fafb80}.sidebar-controls-group{display:flex;align-items:center;gap:.25rem}.sidebar-btn{display:flex;align-items:center;justify-content:center;padding:.25rem;border:none;background:transparent;border-radius:.25rem;color:#9ca3af;cursor:pointer;transition:all .15s ease}.sidebar-btn:hover{color:#4b5563;background-color:#f3f4f6}.sidebar-btn--active{color:var(--color-primary-600);background-color:rgba(var(--color-primary-100-rgb, 219, 234, 254),.5)}.sidebar-btn svg{width:.875rem;height:.875rem}.sidebar-btn--bookmark{color:#f59e0b}.sidebar-btn--bookmark:hover{color:#d97706;background-color:#fef3c7}.sidebar-bookmark-count{font-size:.75rem;margin-left:.125rem}.sidebar-search{padding:.5rem .75rem;border-bottom:1px solid #f3f4f6}.sidebar-search-wrapper{position:relative}.sidebar-search-icon{position:absolute;left:.5rem;top:50%;transform:translateY(-50%);width:.875rem;height:.875rem;color:#9ca3af}.sidebar-search-input{width:100%;padding:.375rem 1.75rem;font-size:.875rem;border:1px solid #e5e7eb;border-radius:.375rem;outline:none;transition:border-color .15s,box-shadow .15s}.sidebar-search-input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 1px var(--color-primary-500)}.sidebar-search-clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);padding:0;border:none;background:transparent;color:#9ca3af;cursor:pointer}.sidebar-search-clear:hover{color:#4b5563}.sidebar-nav{flex:1;overflow-y:auto;padding:.5rem 0}.sidebar-nav-empty{padding:.75rem 1rem;font-size:.875rem;color:#6b7280;text-align:center}.sidebar-item{display:flex;align-items:flex-start;gap:.25rem;padding:var(--sidebar-item-padding);margin:0 .25rem;border-radius:.25rem;text-decoration:none;color:inherit;transition:background-color .15s}.sidebar-item:hover{background-color:#f9fafb}.sidebar-item--active{background-color:rgba(var(--color-primary-100-rgb, 219, 234, 254),.5);border-left:2px solid var(--color-primary-500);margin-left:0;padding-left:calc(.75rem - 2px)}.sidebar-item--child-active{background-color:#f9fafb}.sidebar-item-toggle{flex-shrink:0;padding:0;border:none;background:transparent;color:#9ca3af;cursor:pointer;transition:color .15s}.sidebar-item-toggle:hover{color:#4b5563}.sidebar-item-toggle svg{width:1rem;height:1rem;transition:transform .2s}.sidebar-item-toggle--expanded svg{transform:rotate(90deg)}.sidebar-item-spacer{width:1rem;flex-shrink:0}.sidebar-item-btn{flex:1;min-width:0;padding:0;border:none;background:transparent;text-align:left;font-size:inherit;line-height:1.4;color:#4b5563;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .15s}.sidebar-item:hover .sidebar-item-btn{color:#111827}.sidebar-item--active .sidebar-item-btn{font-weight:600;color:var(--color-primary-700)}.sidebar-item--child-active .sidebar-item-btn{font-weight:500;color:#111827}.sidebar-item-icon{flex-shrink:0;width:var(--sidebar-icon-size);height:var(--sidebar-icon-size);margin-top:.125rem}.sidebar-item-icon--bookmark{color:#f59e0b;fill:#f59e0b}.sidebar-item-icon--check{color:#22c55e;fill:none;stroke:currentColor}.sidebar-item-icon--current{color:var(--color-primary-600)}.sidebar-item-icon--default{color:#d1d5db}.sidebar-item:hover .sidebar-item-icon--default{color:#9ca3af}.sidebar-children{overflow:hidden;transition:max-height .2s ease,opacity .2s ease;max-height:0;opacity:0}.sidebar-children--expanded{max-height:1000px;opacity:1}.sidebar-children-inner{margin-left:.75rem;margin-right:.125rem;padding-left:.25rem;border-left:1px solid #e5e7eb}.sidebar-child{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:.25rem;transition:background-color .15s}.sidebar-child:hover{background-color:#f9fafb}.sidebar-child--active{background-color:rgba(var(--color-primary-100-rgb, 219, 234, 254),.5)}.sidebar-child-btn{flex:1;min-width:0;padding:0;border:none;background:transparent;text-align:left;font-size:inherit;line-height:1.4;color:#6b7280;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .15s}.sidebar-child:hover .sidebar-child-btn{color:#111827}.sidebar-child--active .sidebar-child-btn{font-weight:500;color:var(--color-primary-600)}.sidebar-series-item{display:flex;align-items:baseline;gap:.375rem;flex:1;min-width:0}.sidebar-series-number{font-size:.75rem;font-weight:500;flex-shrink:0}.sidebar-series-number--current{color:var(--color-primary-600)}.sidebar-series-number--read{color:#22c55e}.sidebar-series-number--default{color:#9ca3af}.sidebar-series-title{font-size:inherit;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-series-title--current{font-weight:600;color:var(--color-primary-700)}.sidebar-series-title--read{color:#374151}.sidebar-series-title--default{color:#4b5563}.sidebar-item:hover .sidebar-series-title--default{color:#111827}.sidebar-dropdown{position:absolute;right:0;top:100%;margin-top:.25rem;width:14rem;background:#fff;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;border:1px solid #e5e7eb;z-index:50;overflow:hidden}.sidebar-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-bottom:1px solid #f3f4f6}.sidebar-dropdown-title{font-size:.75rem;font-weight:600;color:#4b5563}.sidebar-dropdown-clear{display:flex;align-items:center;gap:.25rem;padding:0;border:none;background:transparent;font-size:.75rem;color:#ef4444;cursor:pointer}.sidebar-dropdown-clear:hover{color:#dc2626}.sidebar-dropdown-list{max-height:12rem;overflow-y:auto;padding:.25rem 0}.sidebar-dropdown-item{width:100%;padding:.375rem .75rem;border:none;background:transparent;text-align:left;font-size:.875rem;color:#374151;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-dropdown-item:hover{background-color:#f9fafb}@media(max-width:1023px){.article-sidebar,.series-sidebar{display:none}}@media(min-width:1024px)and (max-width:1279px){.article-layout.has-series .series-sidebar{display:none}.article-layout.has-series{--sidebar-count: 1}}@media(max-width:1599px){:root{--sidebar-font-size: .8125rem;--sidebar-item-padding: .375rem .5rem;--sidebar-icon-size: .875rem}.sidebar-header{padding:.5rem .75rem}.sidebar-controls{padding:.375rem .75rem}}@media(max-width:1439px){:root{--sidebar-font-size: .75rem;--sidebar-item-padding: .25rem .375rem;--sidebar-icon-size: .75rem}.sidebar-header{padding:.375rem .5rem}.sidebar-header-title{font-size:.8125rem}.sidebar-controls{padding:.25rem .5rem}.sidebar-btn svg{width:.75rem;height:.75rem}}.article-main{flex:1;min-width:0;overflow-x:hidden;padding-top:var(--space-lg)}.content-width,.article-content-width{max-width:var(--article-width);margin-inline:auto}@media(min-width:1024px){.article-layout .content-width{max-width:none;margin-left:0}.article-layout .article-main article{width:100%}.article-layout .article-content-width{max-width:100%;padding-inline:var(--space-md)}.article-layout .prose{max-width:75ch}}@media(min-width:1440px){.article-layout .article-content-width{padding-inline:var(--space-lg)}.article-layout .prose{max-width:80ch}}@media(min-width:1920px){.article-layout .prose{max-width:85ch}}.app-loading{min-height:100vh;display:flex;align-items:center;justify-content:center}.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-secondary)}.error-boundary__container{max-width:28rem;margin-inline:auto;text-align:center;padding:1.5rem}.error-boundary__icon{color:#dc2626;font-size:3.75rem;line-height:1;margin-bottom:1rem}.error-boundary__title{font-size:1.5rem;font-weight:600;color:var(--color-text-primary);margin-bottom:.5rem}.error-boundary__message{color:var(--color-text-secondary);margin-bottom:1.5rem}.error-boundary__actions{display:flex;gap:1rem;justify-content:center}.error-boundary__btn{padding:.5rem 1rem;border-radius:.375rem;border:none;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.error-boundary__btn--primary{background-color:var(--color-primary-600);color:#fff}.error-boundary__btn--primary:hover{background-color:var(--color-primary-700)}.error-boundary__btn--secondary{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.error-boundary__btn--secondary:hover{background-color:var(--color-border-default)}.error-boundary__details{margin-top:1.5rem;text-align:left}.error-boundary__details-summary{cursor:pointer;font-size:.875rem;color:var(--color-text-muted)}.error-boundary__details-pre{margin-top:.5rem;font-size:.75rem;background-color:var(--color-bg-tertiary);padding:.5rem;border-radius:.375rem;overflow:auto;max-height:300px}.layout-sidebar{width:16rem;padding-right:2rem}.layout-sidebar__nav{display:flex;flex-direction:column;gap:.5rem}.layout-sidebar__divider{margin-block:1rem;border-top:1px solid var(--color-border-default)}.layout-sidebar-link{display:flex;align-items:center;padding:.5rem 1rem;border-radius:.375rem;transition:all .2s ease;color:var(--color-text-secondary);text-decoration:none;border:none;background:transparent;cursor:pointer;width:100%;text-align:left;font-size:1rem}.layout-sidebar-link:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.layout-sidebar-link--active{background-color:var(--color-primary-100);color:var(--color-primary-700);font-weight:500}.layout-sidebar-link--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.layout-sidebar-link__icon{width:1.25rem;height:1.25rem;margin-right:.75rem;flex-shrink:0}.layout-sidebar-link__label{flex:1}.nav__container{display:flex;justify-content:space-between;height:4rem}.nav__brand{display:flex;align-items:center}.nav__logo{font-size:1.25rem;font-weight:700;color:var(--color-primary-600);text-decoration:none;transition:color .2s}.nav__logo:hover{color:var(--color-primary-700)}.nav__blog-link-wrapper{margin-left:1.5rem;display:none;align-items:center}@media(min-width:768px){.nav__blog-link-wrapper{display:flex}}.nav__blog-link{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:linear-gradient(to right,#4f46e5,#2563eb);color:#fff;font-size:.875rem;font-weight:500;border-radius:.5rem;text-decoration:none;box-shadow:0 1px 2px #0000000d;transition:all .2s}.nav__blog-link:hover{background:linear-gradient(to right,#4338ca,#1d4ed8);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.nav__blog-icon{height:1rem;width:1rem}.nav__mobile-toggle{display:flex;align-items:center}@media(min-width:768px){.nav__mobile-toggle{display:none}}.nav__mobile-toggle-btn{padding:.5rem;color:#4b5563;background:transparent;border:none;border-radius:.375rem;cursor:pointer;transition:color .15s}.nav__mobile-toggle-btn:hover{color:#111827}.nav__mobile-toggle-btn:focus{outline:none;box-shadow:0 0 0 2px var(--color-primary-500)}.nav__actions{display:none;align-items:center;gap:1rem}@media(min-width:768px){.nav__actions{display:flex}}.nav__user-name{font-size:.875rem;color:#4b5563;display:none}@media(min-width:640px){.nav__user-name{display:block}}.nav__icon-link{color:#4b5563;text-decoration:none;transition:color .2s}.nav__icon-link:hover{color:#111827}.nav__icon{height:1.5rem;width:1.5rem}.nav__logout-btn{display:flex;align-items:center;padding:.5rem .75rem;font-size:.875rem;color:#dc2626;background:transparent;border:none;border-radius:.375rem;cursor:pointer;transition:all .2s}.nav__logout-btn:hover{color:#b91c1c;background-color:#fef2f2}.nav__logout-icon{height:1.25rem;width:1.25rem;margin-right:.25rem}.nav__logout-text{display:none}@media(min-width:640px){.nav__logout-text{display:inline}}.nav__mobile-backdrop{position:fixed;inset:0;background-color:#00000080;z-index:40}@media(min-width:768px){.nav__mobile-backdrop{display:none}}.nav__mobile-menu{position:fixed;top:0;right:0;bottom:0;width:16rem;background-color:#fff;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;z-index:50;transform:translate(0);transition:transform .3s ease-in-out}@media(min-width:768px){.nav__mobile-menu{display:none}}.nav__mobile-menu-inner{display:flex;flex-direction:column;height:100%}.nav__mobile-menu-header{display:flex;justify-content:flex-end;padding:1rem;border-bottom:1px solid #e5e7eb}.nav__mobile-close-btn{padding:.5rem;color:#4b5563;background:transparent;border:none;border-radius:.375rem;cursor:pointer;transition:color .15s}.nav__mobile-close-btn:hover{color:#111827}.nav__mobile-close-btn:focus{outline:none;box-shadow:0 0 0 2px var(--color-primary-500)}.nav__mobile-menu-content{flex:1;overflow-y:auto;padding:1rem}.nav__mobile-menu-items{display:flex;flex-direction:column;gap:1rem}.nav__mobile-blog-link{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;background:linear-gradient(to right,#4f46e5,#2563eb);color:#fff;border-radius:.5rem;font-weight:500;text-decoration:none;box-shadow:0 1px 2px #0000000d}.nav__mobile-icon{height:1.25rem;width:1.25rem}.nav__mobile-user-info{padding:.75rem 1rem;background-color:#f9fafb;border-radius:.375rem}.nav__mobile-user-label{font-size:.875rem;color:#4b5563}.nav__mobile-user-name{font-weight:500;color:#111827}.nav__mobile-menu-link{display:flex;align-items:center;padding:.75rem 1rem;color:#374151;border-radius:.375rem;text-decoration:none;transition:background-color .2s}.nav__mobile-menu-link:hover{background-color:#f3f4f6}.nav__mobile-menu-text{font-weight:500;margin-left:.75rem}.nav__mobile-logout-btn{display:flex;align-items:center;width:100%;padding:.75rem 1rem;color:#dc2626;background:transparent;border:none;border-radius:.375rem;cursor:pointer;transition:background-color .2s;text-align:left}.nav__mobile-logout-btn:hover{background-color:#fef2f2}.footer{background-color:#fff;border-top:1px solid #e5e7eb;margin-top:4rem}.footer__content{max-width:var(--article-width);margin-inline:auto;padding:2rem 1rem}.footer__text{text-align:center;color:#6b7280}.footer__subtitle{margin-top:.5rem;font-size:.875rem}.app-layout{min-height:100vh;background-color:#f9fafb;display:flex;flex-direction:column}.app-layout__main{flex:1}.app-layout__content{width:100%;margin-inline:auto;padding:2rem 1rem}@media(min-width:640px){.app-layout__content{padding:2rem 1.5rem}}@media(min-width:1024px){.app-layout__content{padding:2rem}}.app-layout__flex{display:flex}.app-layout__sidebar{width:16rem;padding-right:2rem;display:none}@media(min-width:768px){.app-layout__sidebar{display:block}}.app-layout__main-content{flex:1}.public-layout{min-height:100vh;background-color:#f9fafb;display:flex;flex-direction:column}.public-layout__main{flex:1}.public-layout__content{max-width:var(--article-width);margin-inline:auto;padding:2rem 1rem}.public-layout__content--full{width:100%;padding:2rem 1rem}.public-layout__main-content{flex:1}.public-layout__search-btn{display:none;align-items:center;gap:.5rem;padding:.375rem .75rem;font-size:.875rem;color:#6b7280;background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:.5rem;cursor:pointer;transition:background-color .15s}@media(min-width:768px){.public-layout__search-btn{display:flex}}.public-layout__search-btn:hover{background-color:#e5e7eb}.public-layout__search-icon{height:1rem;width:1rem}.public-layout__search-text{display:none}@media(min-width:1024px){.public-layout__search-text{display:inline}}.public-layout__search-kbd{display:none;align-items:center;gap:.125rem;padding:.125rem .375rem;font-size:.75rem;font-family:ui-monospace,monospace;background-color:#fff;border:1px solid #d1d5db;border-radius:.25rem}@media(min-width:1024px){.public-layout__search-kbd{display:flex}}.public-layout__search-kbd-icon{height:.75rem;width:.75rem}.profile-layout{min-height:100vh;background-color:#f9fafb;display:flex;flex-direction:column}.profile-layout__main{flex:1}.profile-layout__content{width:100%;margin-inline:auto;padding:2rem 1rem}@media(min-width:640px){.profile-layout__content{padding:2rem 1.5rem}}@media(min-width:1024px){.profile-layout__content{padding:2rem}}.prose,.prose-lg,.prose-sm,.prose-xl,.prose-2xl{max-width:none}.prose{color:var(--color-text-secondary);line-height:1.7}@media(max-width:1599px){.prose>p,.prose>ul,.prose>ol,.prose>blockquote{line-height:1.5;font-size:.9375rem}.prose>p{margin-top:.75em;margin-bottom:.75em}.prose>h1,.prose>h2,.prose>h3,.prose>h4{margin-top:1.25em;margin-bottom:.5em}.prose>ul,.prose>ol{margin-top:.5em;margin-bottom:.5em}.prose li{margin-top:.25em;margin-bottom:.25em}}@media(max-width:1439px){.prose>p,.prose>ul,.prose>ol,.prose>blockquote{line-height:1.4;font-size:.875rem}.prose>p{margin-top:.5em;margin-bottom:.5em}.prose>h1,.prose>h2,.prose>h3,.prose>h4{margin-top:1em;margin-bottom:.375em}}.prose a{color:var(--color-primary-500)}.prose a:hover{color:var(--color-primary-700)}.prose code{background-color:var(--color-bg-tertiary);color:var(--color-text-primary);font-weight:400;border-radius:.25rem;padding:.125rem .375rem;font-size:.875em}.prose code:before,.prose code:after{content:none}.prose pre code{background-color:transparent;padding:0;font-size:inherit}.hljs{color:#e8e8e8;background:#1f2937;font-size:.8125rem;line-height:1.4}pre code{color:inherit;font-size:inherit}.rm-simple-code-pre,.rm-simple-code-pre code,.rm-code-pre,.rm-code-pre code{color:#e8e8e8}.hljs-comment,.hljs-quote{color:gray;font-style:italic}.hljs-keyword,.hljs-selector-tag{color:#cc7832}.hljs-type,.hljs-title.class_{color:#a9b7c6}.hljs-literal,.hljs-number{color:#6897bb}.hljs-string,.hljs-doctag,.hljs-regexp{color:#6a8759}.hljs-title,.hljs-title.function_{color:#ffc66d}.hljs-params,.hljs-built_in{color:#a9b7c6}.hljs-variable,.hljs-template-variable{color:#9876aa}.hljs-symbol,.hljs-bullet,.hljs-link{color:#6897bb}.hljs-meta,.hljs-meta .hljs-keyword{color:#bbb529}.hljs-attr,.hljs-attribute{color:#a9b7c6}.hljs-tag .hljs-attr{color:#bababa}.hljs-tag .hljs-name,.hljs-name,.hljs-selector-id,.hljs-selector-class{color:#e8bf6a}.hljs-addition{color:#6a8759;background-color:#6a875926}.hljs-deletion{color:#cc7832;background-color:#cc783226}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-class .hljs-title{color:#a9b7c6}.hljs-function .hljs-title{color:#ffc66d}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{color:var(--color-text-primary);font-weight:700;line-height:1.3}.prose p{margin-bottom:1rem}.prose-lg{font-size:1.125rem;line-height:1.7}.prose-lg h1{font-size:2.25rem;line-height:1.2}.prose-lg h2{font-size:1.875rem;line-height:1.3}.prose-lg h3{font-size:1.5rem;line-height:1.3}.prose-adaptive{max-width:var(--article-width);transition:max-width .3s ease}@media(min-width:1024px){.article-layout .prose-adaptive{max-width:var(--article-width);margin-left:0}}.prose details,.markdown-container details{margin-block:1rem;border-radius:.5rem;border:1px solid var(--color-border-default);background-color:var(--color-bg-secondary);overflow:hidden}.prose details[open],.markdown-container details[open]{background-color:var(--color-bg-primary)}.prose summary,.markdown-container summary{padding:.75rem 1rem;cursor:pointer;font-weight:500;color:var(--color-text-primary);background-color:var(--color-bg-tertiary);transition:background-color .15s;list-style:none}.prose summary:hover,.markdown-container summary:hover{background-color:var(--color-border-default)}.prose summary::-webkit-details-marker,.markdown-container summary::-webkit-details-marker{display:none}.prose summary:before,.markdown-container summary:before{content:"▶";display:inline-block;margin-right:.5rem;color:var(--color-text-muted);font-size:.875rem;transition:transform .15s}.prose details[open]>summary:before,.markdown-container details[open]>summary:before{transform:rotate(90deg)}.prose details>*:not(summary),.markdown-container details>*:not(summary){padding-inline:1rem}.prose details>*:last-child,.markdown-container details>*:last-child{padding-bottom:1rem}.bookmarked-section{position:relative;padding-left:1rem;margin-left:-1rem;border-left:3px solid #f59e0b;background:linear-gradient(to right,rgba(251,191,36,.08),transparent 50%);border-radius:0 .25rem .25rem 0;transition:all .2s ease}.bookmarked-section:before{content:"";position:absolute;left:-3px;top:50%;transform:translateY(-50%);width:8px;height:8px;background:#f59e0b;border-radius:50%;opacity:0;transition:opacity .2s ease}.bookmarked-section:hover:before{opacity:1}.card-shadow{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.card-shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.template-card{border:1px solid var(--color-border-default);border-radius:.5rem;padding:1rem;cursor:pointer;transition:all .15s}.template-card:hover{border-color:var(--color-primary-300);box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-1px)}.snippet-card{border:1px solid var(--color-border-default);border-radius:.5rem;padding:.75rem;transition:border-color .15s}.snippet-card:hover{border-color:var(--color-primary-300)}.dropzone{transition:all .2s ease;border:2px dashed var(--color-border-strong);background-color:var(--color-bg-secondary)}.dropzone:hover{border-color:var(--color-text-muted);background-color:var(--color-bg-tertiary)}.dropzone.active{border-color:var(--color-primary-500);background-color:var(--color-primary-50)}.toolbar-button{padding:.5rem;border-radius:.25rem;transition:color .15s,background-color .15s}.toolbar-button:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.toolbar-button.active{background-color:var(--color-primary-100);color:var(--color-primary-700)}.toolbar-button:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.stats-panel{padding:1rem;background-color:var(--color-primary-50);border-radius:.5rem}.stats-item{display:flex;align-items:center;gap:.25rem;color:var(--color-primary-700)}.auto-save-indicator{font-size:.875rem;color:#16a34a}.auto-save-indicator.saving{color:#ca8a04}.auto-save-indicator.error{color:#dc2626}.ProseMirror{outline:none;padding:1rem;border-radius:.5rem;line-height:1.6}.ProseMirror h1,.ProseMirror h2,.ProseMirror h3,.ProseMirror h4,.ProseMirror h5,.ProseMirror h6{margin-top:1.5rem;margin-bottom:.5rem;font-weight:600;line-height:1.3}.ProseMirror h1{font-size:2rem}.ProseMirror h2{font-size:1.5rem}.ProseMirror h3{font-size:1.25rem}.ProseMirror h4{font-size:1.125rem}.ProseMirror p{margin:.75rem 0}.ProseMirror blockquote{border-left:4px solid var(--color-border-default);padding-left:1rem;margin:1rem 0;font-style:italic;color:var(--color-text-muted)}.ProseMirror code{background-color:var(--color-bg-tertiary);color:var(--color-text-primary);padding:.125rem .25rem;border-radius:.25rem;font-size:.875rem}.ProseMirror pre{background-color:#1f2937;color:#f9fafb;padding:1rem;border-radius:.5rem;overflow-x:auto;margin:1rem 0}.ProseMirror pre code{background:none;color:inherit;padding:0}.ProseMirror table{border-collapse:collapse;margin:1rem 0;width:100%;border:1px solid var(--color-border-default)}.ProseMirror th,.ProseMirror td{border:1px solid var(--color-border-default);padding:.5rem;text-align:left;vertical-align:top}.ProseMirror th{background-color:var(--color-bg-secondary);font-weight:600}.ProseMirror ul,.ProseMirror ol{padding-left:1.5rem;margin:1rem 0}.ProseMirror li{margin:.25rem 0}.ProseMirror img{max-width:100%;height:auto;border-radius:.5rem;margin:1rem 0}.ProseMirror a{color:var(--color-primary-500);text-decoration:underline}.ProseMirror a:hover{color:var(--color-primary-700)}.editor-toolbar{background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-strong);padding:.5rem;display:flex;flex-wrap:wrap;align-items:center;gap:.25rem}.editor-content{min-height:500px;background-color:var(--color-bg-primary)}.editor-sidebar{display:flex;flex-direction:column;gap:1.5rem}.editor-card{background-color:var(--color-bg-primary);border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;padding:1.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:500;transition:all .15s ease;border:none;cursor:pointer}.btn:focus{outline:none;box-shadow:0 0 0 2px #3b82f680;outline-offset:2px}.btn:disabled{cursor:not-allowed}.btn__icon{width:1rem;height:1rem}.btn--xs{padding:.25rem .5rem;font-size:.75rem;border-radius:.5rem}.btn--sm{padding:.375rem .75rem;font-size:.875rem;border-radius:.5rem}.btn--md{padding:.5rem 1rem;font-size:.875rem;border-radius:.5rem}.btn--lg{padding:.75rem 1.5rem;font-size:1rem;border-radius:.5rem}.btn--icon-xs{padding:.25rem;border-radius:.5rem}.btn--icon-sm{padding:.375rem;border-radius:.5rem}.btn--icon-md{padding:.5rem;border-radius:.5rem}.btn--icon-lg{padding:.75rem;border-radius:.5rem}.btn--primary{background-color:#2563eb;color:#fff}.btn--primary:hover{background-color:#1e40af}.btn--primary:disabled{background-color:#93c5fd}.btn--primary:disabled:hover{background-color:#93c5fd}.btn--secondary{background-color:#e5e7eb;color:#111827}.btn--secondary:hover{background-color:#d1d5db}.btn--secondary:disabled{background-color:#f3f4f6;color:#6b7280}.btn--secondary:disabled:hover{background-color:#f3f4f6}.btn--danger{background-color:#dc2626;color:#fff}.btn--danger:hover{background-color:#b91c1c}.btn--danger:disabled{background-color:#fca5a5}.btn--danger:disabled:hover{background-color:#fca5a5}.btn--success{background-color:#16a34a;color:#fff}.btn--success:hover{background-color:#15803d}.btn--success:disabled{background-color:#86efac}.btn--success:disabled:hover{background-color:#86efac}.btn--ghost{background-color:transparent;color:#374151}.btn--ghost:hover{background-color:#f3f4f6}.btn--ghost:disabled{color:#6b7280}.btn--ghost:disabled:hover{background-color:transparent}.btn--outline{background-color:transparent;border:2px solid #d1d5db;color:#374151}.btn--outline:hover{background-color:#f9fafb;border-color:#9ca3af}.btn--outline:disabled{border-color:#e5e7eb;color:#6b7280}.btn--outline:disabled:hover{background-color:transparent}.btn--gradient{background:linear-gradient(to right,#4f46e5,#9333ea);color:#fff;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.btn--gradient:hover{background:linear-gradient(to right,#4338ca,#7e22ce);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transform:scale(1.05)}.btn--gradient:disabled{background:linear-gradient(to right,#a5b4fc,#d8b4fe);transform:scale(1)}.btn--gradient:disabled:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.btn--action-edit{background-color:transparent;color:#2563eb}.btn--action-edit:hover{color:#1e3a8a;background-color:#eff6ff}.btn--action-edit:disabled{color:#93c5fd}.btn--action-edit:disabled:hover{background-color:transparent}.btn--action-delete{background-color:transparent;color:#dc2626}.btn--action-delete:hover{color:#7f1d1d;background-color:#fef2f2}.btn--action-delete:disabled{color:#fca5a5}.btn--action-delete:disabled:hover{background-color:transparent}.btn--action-view{background-color:transparent;color:#4b5563}.btn--action-view:hover{color:#111827;background-color:#f9fafb}.btn--action-view:disabled{color:#d1d5db}.btn--action-view:disabled:hover{background-color:transparent}.btn--full-width{width:100%}.card{background-color:#fff;border-radius:.75rem}.card--padding-sm{padding:1rem}.card--padding-md{padding:1.5rem}.card--padding-lg{padding:2rem}.card--shadow-sm{box-shadow:0 1px 2px #0000000d}.card--shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.card--shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.card--overflow-visible{overflow:visible}.card--overflow-hidden{overflow:hidden}.card--overflow-auto{overflow:auto}.card--hover{transition:all .2s ease}.card--hover:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transform:translateY(-.125rem)}.card--clickable{cursor:pointer}.card--accent{border-left:4px solid var(--card-accent-color, #3b82f6)}.card__header{margin-bottom:1rem}.card__title{font-size:1.125rem;font-weight:600;color:#111827}.card__footer{margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb}.badge{display:inline-flex;align-items:center;gap:.25rem}.badge__icon{width:.75rem;height:.75rem}.badge__remove{margin-left:.125rem;padding:0;border:none;background:transparent;cursor:pointer;transition:opacity .15s ease}.badge__remove:hover{opacity:.7}.badge--xs{padding:.125rem .5rem;font-size:.75rem}.badge--sm{padding:.25rem .5rem;font-size:.75rem}.badge--md{padding:.25rem .75rem;font-size:.875rem}.badge--md .badge__icon{width:1rem;height:1rem}.badge--pill{border-radius:9999px}.badge:not(.badge--pill){border-radius:.25rem}.badge--primary{background-color:#dbeafe;color:#1e40af}.badge--success{background-color:#dcfce7;color:#15803d}.badge--warning{background-color:#fef3c7;color:#a16207}.badge--danger{background-color:#fee2e2;color:#991b1b}.badge--info{background-color:#f3f4f6;color:#374151}.badge--purple{background-color:#f3e8ff;color:#6b21a8}.badge--gray{background-color:#f3f4f6;color:#4b5563}.badge--featured{background:linear-gradient(to right,#f59e0b,#f97316);color:#fff;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;font-weight:600}.badge--new{background:linear-gradient(to right,#22c55e,#10b981);color:#fff;font-weight:600}.badge--series{background-color:#4f46e5;color:#fff;font-weight:600}.badge--premium{background:linear-gradient(to right,#a855f7,#ec4899);color:#fff;font-weight:600}.alert{border:1px solid;border-radius:.75rem;padding:.75rem 1rem}.alert__content{display:flex;align-items:flex-start}.alert__icon-wrapper{flex-shrink:0}.alert__icon{width:1.25rem;height:1.25rem}.alert__body{margin-left:.75rem;flex:1}.alert__title{font-size:.875rem;font-weight:600;margin-bottom:.25rem}.alert__message{font-size:.875rem}.alert__close{margin-left:.75rem;flex-shrink:0;padding:0;border:none;background:transparent;border-radius:.25rem;cursor:pointer;transition:opacity .15s ease}.alert__close:hover{opacity:.7}.alert__close:focus{outline:none;box-shadow:0 0 0 2px #3b82f680;outline-offset:2px}.alert--info{background-color:#eff6ff;border-color:#bfdbfe;color:#1e40af}.alert--info .alert__icon-wrapper,.alert--info .alert__close{color:#2563eb}.alert--success{background-color:#f0fdf4;border-color:#bbf7d0;color:#15803d}.alert--success .alert__icon-wrapper,.alert--success .alert__close{color:#16a34a}.alert--warning{background-color:#fefce8;border-color:#fef08a;color:#a16207}.alert--warning .alert__icon-wrapper,.alert--warning .alert__close{color:#ca8a04}.alert--error{background-color:#fef2f2;border-color:#fecaca;color:#991b1b}.alert--error .alert__icon-wrapper,.alert--error .alert__close{color:#dc2626}.empty-state{text-align:center}.empty-state__icon{margin:0 auto 1rem}.empty-state__title{font-weight:500;margin-bottom:.5rem}.empty-state__description{margin-bottom:1rem;max-width:28rem;margin-left:auto;margin-right:auto}.empty-state__action{margin-top:1.5rem}.empty-state__suggestions{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.empty-state--sm{padding:2rem 0}.empty-state--sm .empty-state__icon{width:2rem;height:2rem}.empty-state--sm .empty-state__title{font-size:1rem}.empty-state--sm .empty-state__description{font-size:.875rem}.empty-state--md{padding:3rem 0}.empty-state--md .empty-state__icon{width:3rem;height:3rem}.empty-state--md .empty-state__title{font-size:1.125rem}.empty-state--md .empty-state__description{font-size:1rem}.empty-state--lg{padding:4rem 0}.empty-state--lg .empty-state__icon{width:4rem;height:4rem}.empty-state--lg .empty-state__title{font-size:1.25rem}.empty-state--lg .empty-state__description{font-size:1.125rem}.empty-state--default{color:#6b7280}.empty-state--default .empty-state__icon{color:#d1d5db}.empty-state--default .empty-state__title{color:#111827}.empty-state--default .empty-state__description{color:#6b7280}.empty-state--subtle{color:#9ca3af}.empty-state--subtle .empty-state__icon{color:#e5e7eb}.empty-state--subtle .empty-state__title{color:#374151}.empty-state--subtle .empty-state__description{color:#9ca3af}.error-display{border:1px solid;border-radius:.5rem}.error-display__header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.75rem}.error-display__icon{width:1.25rem;height:1.25rem;flex-shrink:0;margin-top:.125rem}.error-display__title-wrapper{flex:1}.error-display__title{font-size:1.125rem;font-weight:600}.error-display__message{font-size:.875rem;margin-bottom:1rem;opacity:.9}.error-display__actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.error-display__btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#fff;border:1px solid currentColor;border-radius:.5rem;cursor:pointer;transition:background-color .15s ease}.error-display__btn:hover{background-color:#fffc}.error-display__btn:focus{outline:none;box-shadow:0 0 0 2px #3b82f680;outline-offset:2px}.error-display__btn-icon{width:1rem;height:1rem}.error-display__hint{font-size:.75rem;opacity:.7;margin-top:.75rem}.error-display--inline{padding:1rem}.error-display--card{padding:1.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.error-display--page{min-height:400px;display:flex;align-items:center;justify-content:center;padding:2rem}.error-display--page .error-display__inner{max-width:28rem;margin:0 auto;text-align:center}.error-display--network{background-color:#fff7ed;border-color:#fed7aa;color:#9a3412}.error-display--validation{background-color:#fefce8;border-color:#fef08a;color:#a16207}.error-display--authentication{background-color:#eff6ff;border-color:#bfdbfe;color:#1e40af}.error-display--authorization,.error-display--server{background-color:#fef2f2;border-color:#fecaca;color:#991b1b}.error-display--not_found,.error-display--unknown{background-color:#f9fafb;border-color:#e5e7eb;color:#1f2937}.spinner{display:flex;align-items:center}.spinner--centered{justify-content:center;padding:3rem 0}.spinner__circle{animation:spin 1s linear infinite;border-radius:9999px;border-bottom-width:2px}.spinner--xs .spinner__circle{width:1rem;height:1rem}.spinner--sm .spinner__circle{width:1.5rem;height:1.5rem}.spinner--md .spinner__circle{width:3rem;height:3rem}.spinner--lg .spinner__circle{width:4rem;height:4rem}.spinner--xl .spinner__circle{width:5rem;height:5rem}.spinner--primary .spinner__circle{border-color:#2563eb}.spinner--secondary .spinner__circle{border-color:#4b5563}.spinner--success .spinner__circle{border-color:#16a34a}.spinner--warning .spinner__circle{border-color:#ca8a04}.spinner--danger .spinner__circle{border-color:#dc2626}.skeleton{background-color:#fff;border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;overflow:hidden;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.skeleton__image{width:100%;height:12rem;background-color:#d1d5db}.skeleton__content{padding:1.5rem}.skeleton__badge{height:1.5rem;width:6rem;background-color:#d1d5db;border-radius:9999px;margin-bottom:.75rem}.skeleton__badge--series{width:5rem}.skeleton__title-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.skeleton__title-line{height:1.5rem;background-color:#d1d5db;border-radius:.25rem}.skeleton__title-line--large{height:1.75rem}.skeleton__title-line--full{width:100%}.skeleton__title-line--three-quarters{width:75%}.skeleton__title-line--two-thirds{width:66.666667%}.skeleton__text-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.skeleton__text-group--spaced{margin-bottom:1.5rem}.skeleton__text-line{height:1rem;background-color:#e5e7eb;border-radius:.25rem}.skeleton__text-line--full{width:100%}.skeleton__text-line--two-thirds{width:66.666667%}.skeleton__text-line--four-fifths{width:80%}.skeleton__metadata{display:flex;align-items:center;gap:1rem;font-size:.875rem}.skeleton__metadata-item{height:1rem;background-color:#e5e7eb;border-radius:.25rem}.skeleton__metadata-item--date{width:5rem}.skeleton__metadata-item--time{width:4rem}.skeleton__list{display:flex;flex-direction:column;gap:.75rem}.skeleton__list-item{height:1.25rem;background-color:#e5e7eb;border-radius:.25rem;width:100%}.skeleton__list-item--short{width:83.333333%}.skeleton__list-item--shorter{width:80%}.skeleton__footer{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e5e7eb}.skeleton__footer-text{height:1rem;width:8rem;background-color:#e5e7eb;border-radius:.25rem}.search-modal{position:fixed;inset:0;z-index:50}.search-modal__backdrop{position:absolute;inset:0;background-color:#11182799;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.search-modal__container{position:relative;display:flex;align-items:flex-start;justify-content:center;padding-top:10vh;padding-inline:1rem}.search-modal__content{width:100%;max-width:42rem;background-color:#fff;border-radius:.75rem;box-shadow:0 25px 50px -12px #00000040;overflow:hidden;display:flex;transition:max-width .2s}.search-modal__content--with-preview{max-width:80rem}.search-modal__main{display:flex;flex-direction:column;width:100%}.search-modal__main--with-preview{width:50%}@media(min-width:1024px){.search-modal__main--with-preview{width:60%}}.search-modal__input-wrapper{position:relative;border-bottom:1px solid #e5e7eb}.search-modal__search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);height:1.25rem;width:1.25rem;color:#9ca3af}.search-modal__input{width:100%;padding:1rem 3rem;font-size:1.125rem;border:none;outline:none}.search-modal__loading-icon{position:absolute;right:1rem;top:50%;transform:translateY(-50%);height:1.25rem;width:1.25rem;color:#3b82f6;animation:spin 1s linear infinite}.search-modal__clear-btn{position:absolute;right:1rem;top:50%;transform:translateY(-50%);padding:.25rem;border:none;background:transparent;color:#9ca3af;border-radius:.25rem;cursor:pointer;transition:color .15s}.search-modal__clear-btn:hover{color:#4b5563}.search-modal__clear-icon{height:1rem;width:1rem}.search-modal__results{max-height:60vh;overflow-y:auto}.search-modal__section{padding:.5rem}.search-modal__section--suggestions{border-bottom:1px solid #f3f4f6}.search-modal__section-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem .75rem .5rem}.search-modal__section-title{font-size:.75rem;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.search-modal__clear-all{display:flex;align-items:center;gap:.25rem;padding:0;border:none;background:transparent;font-size:.75rem;color:#9ca3af;cursor:pointer;transition:color .15s}.search-modal__clear-all:hover{color:#ef4444}.search-modal__clear-all-icon{height:.75rem;width:.75rem}.search-recent__item{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;border-radius:.5rem;cursor:pointer;transition:background-color .15s,color .15s}.search-recent__item:hover{background-color:#f3f4f6}.search-recent__item--selected{background-color:#eff6ff;color:#1d4ed8}.search-recent__icon{height:1rem;width:1rem;color:#9ca3af;flex-shrink:0}.search-recent__text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-recent__remove{padding:.25rem;border:none;background:transparent;color:#9ca3af;border-radius:.25rem;opacity:0;cursor:pointer;transition:color .15s,opacity .15s}.search-recent__item:hover .search-recent__remove{opacity:1}.search-recent__remove:hover{color:#ef4444;opacity:1}.search-recent__remove-icon{height:.75rem;width:.75rem}.search-suggestions{display:flex;flex-wrap:wrap;gap:.5rem;padding:0 .75rem .5rem}.search-suggestion{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.875rem;border:none;border-radius:9999px;cursor:pointer;transition:background-color .15s}.search-suggestion--category{background-color:#eef2ff;color:#4338ca}.search-suggestion--category:hover{background-color:#e0e7ff}.search-suggestion--tag{background-color:#f0fdf4;color:#15803d}.search-suggestion--tag:hover{background-color:#dcfce7}.search-suggestion--series{background-color:#faf5ff;color:#7c3aed}.search-suggestion--series:hover{background-color:#f3e8ff}.search-suggestion__icon{height:.875rem;width:.875rem}.search-suggestion__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}.search-suggestion__count{font-size:.75rem;opacity:.6}.search-result{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border-radius:.5rem;cursor:pointer;transition:background-color .15s}.search-result:hover{background-color:#f3f4f6}.search-result--selected{background-color:#eff6ff;box-shadow:0 0 0 1px #bfdbfe}.search-result__badge{flex-shrink:0;width:1.75rem;height:1.75rem;border-radius:9999px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.search-result__badge--match{background-color:#dbeafe;color:#1d4ed8}.search-result__badge--tag-match{background-color:#dcfce7;color:#15803d}.search-result__content{flex:1;min-width:0}.search-result__series{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:#4f46e5;margin-bottom:.125rem}.search-result__series-icon{height:.75rem;width:.75rem}.search-result__series-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result__series-order{color:#9ca3af}.search-result__title{font-weight:500;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result__tags{display:flex;align-items:center;gap:.25rem;margin-top:.25rem}.search-result__tags-icon{height:.75rem;width:.75rem;color:#16a34a}.search-result__tags-text{font-size:.75rem;color:#15803d}.search-result__snippet{font-size:.75rem;color:#6b7280;margin-top:.25rem;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.search-result__arrow{flex-shrink:0;height:1rem;width:1rem;margin-top:.25rem;color:#3b82f6;opacity:0;transition:opacity .15s}.search-result__arrow--visible{opacity:1}.search-highlight{background-color:#fef08a;color:#713f12;padding:.125rem;border-radius:.125rem;font-weight:500}.search-highlight--bold{font-weight:600}.search-modal__empty{padding:2rem;text-align:center}.search-modal__empty-icon{height:3rem;width:3rem;border-radius:9999px;display:flex;align-items:center;justify-content:center;margin:0 auto .75rem}.search-modal__empty-icon--error{background-color:#fee2e2}.search-modal__empty-icon-svg{height:1.5rem;width:1.5rem}.search-modal__empty-icon-svg--large{height:3rem;width:3rem;color:#d1d5db;margin:0 auto .75rem}.search-modal__empty-icon--error .search-modal__empty-icon-svg{color:#ef4444}.search-modal__empty-title{color:#4b5563}.search-modal__empty-title--error{color:#dc2626;font-weight:500}.search-modal__empty-query{font-weight:500}.search-modal__empty-subtitle{font-size:.875rem;color:#9ca3af;margin-top:.25rem}.search-modal__footer{border-top:1px solid #e5e7eb;padding:.625rem 1rem;background-color:#f9fafb;display:flex;align-items:center;gap:1rem;font-size:.75rem;color:#6b7280}.search-modal__hint{display:flex;align-items:center;gap:.375rem}.search-modal__kbd{padding:.125rem .375rem;background-color:#fff;border:1px solid #d1d5db;border-radius:.25rem;font-size:.625rem;font-family:ui-monospace,monospace}.search-modal__kbd-icon{height:.625rem;width:.625rem;display:inline}.search-preview{display:none;width:40%;border-left:1px solid #e5e7eb;background-color:#f9fafb;flex-direction:column}@media(min-width:1024px){.search-preview{display:flex}}.search-preview__header{padding:1rem;border-bottom:1px solid #e5e7eb;background-color:#fff}.search-preview__title{font-weight:600;color:#111827;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.search-preview__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.5rem;font-size:.75rem;color:#6b7280}.search-preview__category{padding:.125rem .5rem;border-radius:.25rem;font-weight:500}.search-preview__meta-item{display:flex;align-items:center;gap:.25rem}.search-preview__meta-icon{height:.75rem;width:.75rem}.search-preview__body{flex:1;overflow-y:auto;padding:1rem}.search-preview__series{margin-bottom:.75rem;padding:.5rem;background-color:#eef2ff;border-radius:.5rem}.search-preview__series-header{display:flex;align-items:center;gap:.375rem;font-size:.875rem;color:#4338ca;font-weight:500}.search-preview__series-icon{height:1rem;width:1rem}.search-preview__series-order{font-size:.75rem;color:#6366f1;margin-top:.125rem;margin-left:1.25rem}.search-preview__excerpt{font-size:.875rem;color:#4b5563;line-height:1.625}.search-preview__tags-section{margin-top:1rem}.search-preview__tags-label{font-size:.75rem;font-weight:500;color:#6b7280;margin-bottom:.5rem}.search-preview__tags-list{display:flex;flex-wrap:wrap;gap:.375rem}.search-preview__tag{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;border-radius:.25rem;font-size:.75rem;background-color:#f3f4f6;color:#4b5563}.search-preview__tag-icon{height:.625rem;width:.625rem}.search-preview__tags-more{font-size:.75rem;color:#9ca3af}.search-preview__matches{margin-top:1rem}.search-preview__matches-label{font-size:.75rem;font-weight:500;color:#6b7280;margin-bottom:.5rem}.search-preview__matches-list{display:flex;flex-direction:column;gap:.5rem}.search-preview__match-snippet{font-size:.75rem;color:#4b5563;padding:.5rem;background-color:#fff;border-radius:.25rem;border:1px solid #f3f4f6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.search-preview__footer{padding:.75rem;border-top:1px solid #e5e7eb;background-color:#fff}.search-preview__action-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;background-color:#2563eb;color:#fff;font-size:.875rem;font-weight:500;border:none;border-radius:.5rem;cursor:pointer;transition:background-color .15s}.search-preview__action-btn:hover{background-color:#1d4ed8}.search-preview__action-icon{height:1rem;width:1rem}.search-card{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem .75rem;background-color:#fff;border-radius:.5rem;border:1px solid #e5e7eb;cursor:pointer;transition:all .15s;width:100%}.search-card:hover{border-color:#93c5fd;background-color:#eff6ff4d}.search-card--selected{border-color:#3b82f6;background-color:#eff6ff80;box-shadow:0 0 0 2px #bfdbfe}.search-card--tag-match{border-color:#bbf7d0}.search-card--tag-match:hover{border-color:#4ade80;background-color:#f0fdf44d}.search-card__badge-wrapper{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding-top:.125rem}.search-card__badge{width:1.75rem;height:1.75rem;border-radius:9999px;display:flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:700}.search-card__badge--match{background-color:#dbeafe;color:#1d4ed8}.search-card__badge--tag-match{background-color:#dcfce7;color:#15803d}.search-card__content{flex:1;min-width:0}.search-card__header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.search-card__series{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;color:#4f46e5;font-weight:500;cursor:pointer;transition:color .15s}.search-card__series:hover{color:#4338ca}.search-card__series-icon{height:.75rem;width:.75rem}.search-card__series-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:350px}.search-card__series-order{color:#9ca3af}.search-card__tag-match-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .375rem;border-radius:9999px;font-size:.75rem;font-weight:500;background-color:#dcfce7;color:#15803d}.search-card__tag-match-icon{height:.75rem;width:.75rem}.search-card__title{font-size:.875rem;font-weight:600;color:#111827;transition:color .15s;margin:0}.search-card:hover .search-card__title{color:#2563eb}.search-card__excerpt{font-size:.75rem;color:#4b5563;margin:.25rem 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.search-card__tags{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.25rem}.search-card__tag{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .375rem;border-radius:.25rem;font-size:.75rem;font-weight:500;background-color:#f0fdf4;color:#15803d;border:1px solid #bbf7d0;cursor:pointer;transition:background-color .15s}.search-card__tag:hover{background-color:#dcfce7}.search-card__tag-icon{height:.625rem;width:.625rem}.search-card__snippets{margin-top:.375rem;display:flex;flex-direction:column;gap:.125rem}.search-card__snippet{font-size:.75rem;color:#4b5563;padding-left:.5rem;border-left:2px solid #e5e7eb;margin:0}.search-card__snippets-more{font-size:.75rem;color:#9ca3af;padding-left:.5rem;margin:0}.search-card__meta{display:flex;align-items:center;gap:.5rem;margin-top:.375rem;font-size:.75rem;color:#6b7280}.search-card__category{padding:.125rem .375rem;border-radius:.25rem;font-weight:500}.search-card__reading-time{display:flex;align-items:center;gap:.25rem}.search-card__reading-time-icon{height:.75rem;width:.75rem}.search-card__arrow-wrapper{display:flex;align-items:center;align-self:center;opacity:0;transition:opacity .15s}.search-card:hover .search-card__arrow-wrapper{opacity:1}.search-card__arrow{height:1rem;width:1rem;color:#3b82f6}.collapsible-section{background-color:#fff;border-radius:.75rem;box-shadow:0 1px 2px #0000000d;border:1px solid #f3f4f6;overflow:hidden;transition:box-shadow .15s}.collapsible-section:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.collapsible-section__header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border:none;background:transparent;cursor:pointer}@media(min-width:1024px){.collapsible-section__header{cursor:default}}.collapsible-section__title-wrapper{display:flex;align-items:center;gap:.5rem}.collapsible-section__icon{color:#4f46e5;font-size:1.125rem}.collapsible-section__title{font-size:1.125rem;font-weight:600;background:linear-gradient(to right,#4f46e5,#7c3aed);-webkit-background-clip:text;background-clip:text;color:transparent}.collapsible-section__actions{display:flex;align-items:center;gap:.5rem}.collapsible-section__chevron{height:1rem;width:1rem;color:#9ca3af;transition:transform .15s}@media(min-width:1024px){.collapsible-section__chevron{display:none}}.collapsible-section__chevron--expanded{transform:rotate(180deg)}.collapsible-section__content{display:none;padding:0 1.25rem 1.25rem}.collapsible-section__content--expanded{display:block}@media(min-width:1024px){.collapsible-section__content{display:block;padding:0 1.5rem 1.5rem}}.progress-bar{position:fixed;top:0;left:0;right:0;height:.25rem;background-color:#e5e7eb;z-index:50}.progress-bar__fill{height:100%;background:linear-gradient(to right,#3b82f6,#4f46e5);transition:width .15s ease-out}.progress-bar__fill--complete{background:linear-gradient(to right,#22c55e,#10b981)}.progress-bar__indicator{position:fixed;top:.75rem;left:1rem;z-index:50;opacity:0;transform:translateY(-.5rem);pointer-events:none;transition:all .3s}.progress-bar__indicator--visible{opacity:1;transform:translateY(0)}.progress-bar__badge{padding:.25rem .625rem;border-radius:9999px;font-size:.75rem;font-weight:600;box-shadow:0 10px 15px -3px #0000001a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#ffffffe6;color:#374151;border:1px solid #e5e7eb}.progress-bar__badge--complete{background-color:#22c55ee6;color:#fff;border-color:transparent}.back-top{position:fixed;bottom:2rem;right:2rem;z-index:50;padding:.75rem;border-radius:9999px;background-color:#2563eb;color:#fff;border:none;box-shadow:0 10px 15px -3px #0000001a;cursor:pointer;opacity:0;transform:translateY(2.5rem);pointer-events:none;transition:all .3s}.back-top:hover{background-color:#1d4ed8;box-shadow:0 20px 25px -5px #0000001a}.back-top:focus{outline:none}.back-top:focus-visible{box-shadow:0 0 0 4px #2563eb80,0 0 0 6px #fff}.back-top--visible{opacity:1;transform:translateY(0);pointer-events:auto}.back-top__icon{height:1.5rem;width:1.5rem}.skip-link{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus{position:absolute;left:1rem;top:1rem;width:auto;height:auto;z-index:50;padding:.5rem 1rem;background-color:#2563eb;color:#fff;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a;outline:none;text-decoration:none}.skip-link:focus-visible{box-shadow:0 0 0 2px #3b82f6,0 0 0 4px #fff}.breadcrumbs{display:flex;align-items:center;font-size:.875rem}.breadcrumbs__list{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem;list-style:none;margin:0;padding:0}.breadcrumbs__item{display:flex;align-items:center}.breadcrumbs__link{color:#6b7280;text-decoration:none;transition:color .15s}.breadcrumbs__link:hover{color:#2563eb}.breadcrumbs__home-icon{height:1rem;width:1rem}.breadcrumbs__separator{height:1rem;width:1rem;color:#9ca3af;margin:0 .25rem;flex-shrink:0}.breadcrumbs__current{color:#111827;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}@media(min-width:768px){.breadcrumbs__current{max-width:300px}}.breadcrumbs__link--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}@media(min-width:768px){.breadcrumbs__link--truncate{max-width:250px}}.toc-search{padding:0 .5rem .5rem}.toc-search__wrapper{position:relative;display:flex;align-items:center}.toc-search__icon{position:absolute;left:.625rem;width:.875rem;height:.875rem;color:var(--color-gray-400);pointer-events:none}.toc-search__input{width:100%;padding:.375rem 2rem;font-size:.875rem;border:1px solid var(--color-border-default);border-radius:.5rem;outline:none;background:var(--color-bg-primary);color:var(--color-text-primary)}.toc-search__input::placeholder{color:var(--color-gray-400)}.toc-search__input:focus{outline:2px solid var(--color-primary-500);outline-offset:0;border-color:transparent}.toc-search__clear{position:absolute;right:.375rem;display:flex;align-items:center;justify-content:center;padding:.25rem;background:none;border:none;border-radius:.25rem;cursor:pointer;color:var(--color-gray-400);transition:color .15s}.toc-search__clear:hover{color:var(--color-gray-600)}.toc-search__clear svg{width:.875rem;height:.875rem}.sidebar-search.toc-search{padding:.5rem}.form-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.form-overlay__form{background:#fff;border-radius:.75rem;padding:1.5rem;width:100%;max-width:28rem;display:flex;flex-direction:column;gap:1rem}.form-overlay__header{display:flex;align-items:center;justify-content:space-between}.form-overlay__header h2{font-size:1.25rem;font-weight:600}.form-overlay__status{font-size:.75rem;font-weight:400;color:var(--color-text-muted);margin-left:.75rem}.form-overlay__header button{background:none;border:none;cursor:pointer;font-size:1.5rem;line-height:1;color:var(--color-text-muted)}.form-overlay__form input,.form-overlay__form select,.form-overlay__form textarea{padding:.75rem;border:1px solid var(--color-border-default);border-radius:.5rem;font-size:.875rem}.form-overlay__actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem}.form-overlay__actions button{padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;cursor:pointer}.form-overlay__actions button[type=button]{background:none;border:1px solid var(--color-border-default);color:var(--color-text-secondary)}.form-overlay__actions button[type=submit]{background:var(--color-blue-600);border:none;color:#fff;font-weight:500}.form-overlay__actions button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.form-overlay__row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.form-overlay__checkbox{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-secondary)}.form-overlay__checkbox input{width:auto;padding:0}.form-overlay__preview-toggle{display:flex;gap:0;border:1px solid var(--color-border-default);border-radius:.375rem;overflow:hidden;width:fit-content}.form-overlay__preview-toggle button{padding:.25rem .75rem;font-size:.8125rem;border:none;background:none;cursor:pointer;color:var(--color-text-muted);transition:background-color .15s,color .15s}.form-overlay__preview-toggle button:not(:last-child){border-right:1px solid var(--color-border-default)}.form-overlay__preview-toggle button:hover{background-color:var(--color-bg-tertiary)}.form-overlay__preview-toggle button.active{background-color:var(--color-bg-tertiary);color:var(--color-text-primary);font-weight:500}.form-overlay__preview{min-height:15rem;max-height:24rem;overflow-y:auto;padding:.75rem;border:1px solid var(--color-border-default);border-radius:.5rem;font-size:.875rem}.form-overlay__preview-empty{color:var(--color-text-muted);font-style:italic}.admin-toolbar{background-color:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 2px #0000000d;position:sticky;top:0;z-index:40}.admin-toolbar__container{padding-left:1rem;padding-right:1rem}@media(min-width:640px){.admin-toolbar__container{padding-left:1.5rem;padding-right:1.5rem}}@media(min-width:1024px){.admin-toolbar__container{padding-left:2rem;padding-right:2rem}}.admin-toolbar__content{display:flex;align-items:center;justify-content:space-between;height:3rem}.admin-toolbar__nav{display:flex;align-items:center;gap:.25rem}.admin-toolbar__label{font-size:.75rem;line-height:1rem;color:#6b7280;margin-right:.75rem}.admin-toolbar__link{display:flex;align-items:center;gap:.25rem;padding:.25rem .75rem;font-size:.875rem;line-height:1.25rem;border-radius:.375rem;transition:all .15s;color:#4b5563}.admin-toolbar__link:hover{background-color:#f3f4f6}.admin-toolbar__link--active{background-color:#dbeafe;color:#1d4ed8}.admin-toolbar__link--primary{background-color:#2563eb;color:#fff}.admin-toolbar__link--primary:hover,.admin-toolbar__link--primary-active{background-color:#1d4ed8}.admin-toolbar__icon{height:.75rem;width:.75rem}.admin-toolbar__editor-mode{display:flex;align-items:center;gap:.5rem;font-size:.75rem;line-height:1rem;color:#6b7280}.admin-toolbar__editor-icon{height:.75rem;width:.75rem}.blog-header{margin-bottom:.75rem}.blog-header__content{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.blog-header__main{display:flex;align-items:center;gap:1.5rem}.blog-header__title{font-size:1.5rem;line-height:2rem;font-weight:700;color:#111827}.blog-header__stats{display:flex;align-items:center;gap:1rem;font-size:.875rem;line-height:1.25rem;color:#4b5563}.blog-header__stat{display:flex;align-items:center;gap:.375rem}.blog-header__stat--link{transition:color .15s}.blog-header__stat--link:hover{color:#4f46e5}.blog-header__stat-icon{width:1rem;height:1rem;color:#9ca3af}.blog-header__stat--link:hover .blog-header__stat-icon{color:#6366f1}.blog-header__stat-value{font-weight:600;color:#111827}.blog-header__stat--link:hover .blog-header__stat-value{color:#4f46e5}.blog-header__actions{display:flex;align-items:center;gap:.5rem}.blog-header__manage-link{display:flex;align-items:center;gap:.375rem;font-size:.875rem;line-height:1.25rem;color:#4b5563;transition:color .15s}.blog-header__manage-link:hover{color:#111827}.blog-header__manage-icon{width:1rem;height:1rem}.blog-header__manage-text{display:none}@media(min-width:640px){.blog-header__manage-text{display:inline}}.blog-pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;margin-top:2rem}.blog-pagination__info{padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem;color:#4b5563}.blog-page{min-height:100vh;background:linear-gradient(to bottom right,#f9fafb,#fff,#eff6ff)}.blog-page__container{max-width:1600px;margin:0 auto;padding:1.5rem 1rem}@media(min-width:640px){.blog-page__container{padding:1.5rem}}.blog-page__layout{display:flex;gap:1.5rem}.blog-page__main{flex:1;min-width:0;max-width:100%}.blog-page__sidebar{display:none;width:20rem;flex-shrink:0}@media(min-width:1024px){.blog-page__sidebar{display:block}}.blog-page__sidebar-sticky{position:sticky;top:1.5rem}.blog-page__mobile-filters{margin-bottom:1rem}@media(min-width:1024px){.blog-page__mobile-filters{display:none}}.blog-page__mobile-filters-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background-color:#fff;border-radius:.5rem;border:1px solid #e5e7eb;font-size:.875rem;font-weight:500;color:#374151;cursor:pointer;transition:all .15s}.blog-page__mobile-filters-toggle:hover{background-color:#f9fafb}.blog-page__mobile-filters-toggle-label{display:flex;align-items:center;gap:.5rem}.blog-page__mobile-filters-badge{padding:.125rem .375rem;font-size:.75rem;background-color:#dbeafe;color:#1e40af;border-radius:9999px}.blog-page__mobile-filters-content{margin-top:.5rem;padding:1rem;background-color:#fff;border-radius:.5rem;border:1px solid #e5e7eb}.blog-page__bookmarks{margin-bottom:2rem}.blog-page__bookmarks-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.blog-page__bookmarks-header-left{display:flex;align-items:center;gap:.5rem}.blog-page__bookmarks-title{font-size:1.25rem;font-weight:700;color:#111827}.blog-page__bookmarks-count{font-size:.875rem;color:#6b7280}.blog-page__bookmarks-clear-btn{display:flex;align-items:center;gap:.25rem;font-size:.875rem;font-weight:500;color:#fb923c;background:transparent;border:none;cursor:pointer;transition:color .15s}.blog-page__bookmarks-clear-btn:hover{color:#f97316}.blog-page__bookmarks-group{margin-bottom:1.5rem}.blog-page__bookmarks-group-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.blog-page__bookmarks-group-title{font-size:.875rem;font-weight:600;color:#374151}.blog-page__bookmarks-group-count{font-size:.75rem;color:#9ca3af}.blog-page__bookmarks-grid{display:grid;grid-template-columns:1fr;gap:.75rem}@media(min-width:640px){.blog-page__bookmarks-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1280px){.blog-page__bookmarks-grid{grid-template-columns:repeat(3,1fr)}}.blog-page__bookmark-card{background-color:var(--color-bg-primary);border-radius:.75rem;border:1px solid var(--color-amber-200);box-shadow:0 1px 2px #0000000d;overflow:hidden;transition:box-shadow .15s}.blog-page__bookmark-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.blog-page__bookmark-card--standalone{border-color:var(--color-gray-200)}.blog-page__bookmark-card-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:linear-gradient(to right,var(--color-amber-50),var(--color-orange-50));border-bottom:1px solid var(--color-amber-100)}.blog-page__bookmark-card-header--standalone{background:linear-gradient(to right,var(--color-gray-50),var(--color-slate-50));border-bottom-color:var(--color-gray-100)}.blog-page__bookmark-card-title{flex:1;text-align:left;font-size:.875rem;font-weight:500;color:var(--color-gray-900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:.375rem;border:none;background:transparent;cursor:pointer;padding:0;transition:color .15s}.blog-page__bookmark-card-title:hover{color:var(--color-amber-700)}.blog-page__bookmark-card-title--standalone:hover{color:var(--color-primary-700)}.blog-page__bookmark-card-title-icon{width:.875rem;height:.875rem;flex-shrink:0;opacity:0;transition:opacity .15s}.blog-page__bookmark-card-title:hover .blog-page__bookmark-card-title-icon{opacity:1}.blog-page__bookmark-card-title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blog-page__bookmark-card-clear{padding:.25rem;color:var(--color-amber-400);background:transparent;border:none;border-radius:.25rem;cursor:pointer;flex-shrink:0;margin-left:.25rem;transition:all .15s}.blog-page__bookmark-card-clear:hover{color:var(--color-red-500);background-color:var(--color-red-50)}.blog-page__bookmark-card-clear--standalone{color:var(--color-gray-400)}.blog-page__bookmark-card-clear--standalone:hover{color:var(--color-red-500);background-color:var(--color-red-50)}.blog-page__bookmark-card-body{padding:.5rem .5rem .375rem;display:flex;flex-direction:column;gap:.125rem}.blog-page__bookmark-section{width:100%;text-align:left;font-size:.75rem;color:var(--color-gray-600);padding:.125rem .375rem;border-radius:.25rem;background:transparent;border:none;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:.25rem;transition:all .15s}.blog-page__bookmark-section:hover{color:var(--color-amber-700);background-color:var(--color-amber-50)}.blog-page__bookmark-section--standalone:hover{color:var(--color-primary-700);background-color:var(--color-primary-50)}.blog-page__bookmark-section-icon{width:.625rem;height:.625rem;color:var(--color-amber-400);fill:currentColor;flex-shrink:0}.blog-page__bookmark-section-icon--standalone{color:var(--color-gray-400)}.blog-page__bookmark-section-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blog-page__bookmark-expand{width:100%;text-align:left;font-size:.75rem;color:var(--color-amber-600);font-weight:500;padding:.125rem .375rem;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;gap:.25rem;transition:color .15s}.blog-page__bookmark-expand:hover{color:var(--color-amber-700)}.blog-page__bookmark-expand--standalone{color:var(--color-gray-600)}.blog-page__bookmark-expand--standalone:hover{color:var(--color-gray-700)}.blog-page__standalone-bookmarks{margin-bottom:1.5rem}.blog-page__standalone-bookmarks-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.blog-page__standalone-bookmarks-title{font-size:.875rem;font-weight:600;color:var(--color-gray-700)}.blog-page__standalone-bookmarks-count{font-size:.75rem;color:var(--color-gray-400)}.blog-page__standalone-bookmarks-grid{display:grid;grid-template-columns:1fr;gap:.75rem}@media(min-width:640px){.blog-page__standalone-bookmarks-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1280px){.blog-page__standalone-bookmarks-grid{grid-template-columns:repeat(3,1fr)}}.blog-page__mobile-pinned{margin-bottom:1.5rem}@media(min-width:1024px){.blog-page__mobile-pinned{display:none}}.blog-page__search-section-margin{margin-bottom:.75rem}.blog-page__search-filters-card{background-color:var(--color-bg-primary);border-radius:.75rem;border:1px solid var(--color-gray-200);padding:1rem;box-shadow:0 1px 2px #0000000d}.blog-page__series{margin-bottom:2rem}.blog-page__series-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.blog-page__series-header-left{display:flex;align-items:center;gap:.5rem}.blog-page__series-title{font-size:1.25rem;font-weight:700;color:#111827}.blog-page__series-count{font-size:.875rem;color:#6b7280}.blog-page__series-link{font-size:.875rem;font-weight:500;color:#4f46e5;text-decoration:none;transition:color .15s}.blog-page__series-link:hover{color:#4338ca}.blog-page__series-grid{display:flex;flex-wrap:wrap;gap:1rem}.blog-page__series-grid>*{width:18rem}.blog-page__articles-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;margin-top:2rem}.blog-page__articles-title{font-size:1.25rem;font-weight:700;color:#111827}.article-list__grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:640px){.article-list__grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1280px){.article-list__grid{grid-template-columns:repeat(3,1fr)}}.article-grid{width:100%}.article-grid--search{display:flex;flex-direction:column;gap:.375rem}.article-grid--regular{display:flex;flex-wrap:wrap;gap:1rem}.article-grid--regular>.article-card,.article-grid--regular>.series-card{width:18rem;flex-shrink:0}.article-grid__keyboard-hints{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;font-size:.75rem;color:#9ca3af;margin-bottom:.25rem}.article-grid__keyboard-hints--sm{display:none}@media(min-width:640px){.article-grid__keyboard-hints--sm{display:inline}}.article-grid__keyboard-hints--md{display:none}@media(min-width:768px){.article-grid__keyboard-hints--md{display:inline}}.article-grid__kbd{padding:.125rem .375rem;background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:.25rem;color:#6b7280;font-family:ui-monospace,monospace;font-size:.75rem}.tag-list{display:flex;flex-wrap:wrap;gap:.375rem}.tag-list__item{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;background:linear-gradient(to right,#eff6ff,#faf5ff);color:#1e40af;font-size:.75rem;font-weight:500;border-radius:9999px;border:1px solid #dbeafe;cursor:pointer;transition:all .15s}.tag-list__item:hover{background:linear-gradient(to right,#dbeafe,#f3e8ff);box-shadow:0 1px 2px #0000000d}.blog-search{display:flex;flex-direction:column;gap:.5rem}.blog-search__form{width:100%}.blog-search__input-group{display:flex;gap:.5rem}.blog-search__input-wrapper{flex:1;position:relative}.blog-search__icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#9ca3af}.blog-search__icon--loading{color:var(--color-primary-500);animation:spin 1s linear infinite}@keyframes spin{0%{transform:translateY(-50%) rotate(0)}to{transform:translateY(-50%) rotate(360deg)}}.blog-search__input{width:100%;padding:.75rem 3rem;border:1px solid #e5e7eb;border-radius:.75rem;font-size:1rem;background-color:#fff;box-shadow:0 1px 2px #0000000d;transition:all .15s}.blog-search__input:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.blog-search__input:focus{outline:none;box-shadow:0 0 0 2px var(--color-primary-500),0 4px 6px -1px #0000001a;border-color:transparent}.blog-search__input--loading{border-color:#bfdbfe}.blog-search__input--filtered{border-color:#d8b4fe}.blog-search__actions{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:.25rem}.blog-search__clear{color:#9ca3af;background:transparent;border:none;padding:.125rem;cursor:pointer;transition:color .15s}.blog-search__clear:hover{color:#4b5563}.blog-search__hint-group{display:flex;align-items:center;gap:.25rem}.blog-search__hint-btn{color:#9ca3af;background:transparent;border:none;padding:.125rem;cursor:pointer;transition:color .15s}.blog-search__hint-btn:hover{color:#a855f7}.blog-search__kbd{display:none;align-items:center;padding:.125rem .375rem;font-size:.75rem;font-family:monospace;color:#9ca3af;background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:.25rem}@media(min-width:640px){.blog-search__kbd{display:inline-flex}}.blog-search__submit{padding:.75rem 1.5rem;background:linear-gradient(to right,var(--color-primary-600),#6366f1);color:#fff;border:none;border-radius:.75rem;font-size:1rem;font-weight:500;cursor:pointer;box-shadow:0 1px 2px #0000000d;transition:all .15s}.blog-search__submit:hover{background:linear-gradient(to right,#1d4ed8,#4f46e5);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.blog-search__submit:focus{outline:none;box-shadow:0 0 0 2px var(--color-primary-500)}.blog-search__submit:disabled{opacity:.5;cursor:not-allowed}.blog-search__filters{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.blog-search__filters-label{font-size:.75rem;color:#6b7280}.blog-search__filter{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;font-size:.75rem;font-weight:500;border-radius:9999px}.blog-search__filter--series{background-color:#f3e8ff;color:#7c3aed}.blog-search__filter--tag{background-color:#dcfce7;color:#16a34a}.blog-search__filter--category{background-color:#e0e7ff;color:#4f46e5}.blog-search__filter-remove{margin-left:.25rem;background:transparent;border:none;padding:0;cursor:pointer;color:inherit;transition:opacity .15s}.blog-search__filter--series .blog-search__filter-remove:hover{color:#581c87}.blog-search__filter--tag .blog-search__filter-remove:hover{color:#15803d}.blog-search__filter--category .blog-search__filter-remove:hover{color:#4338ca}.blog-search__hints{background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:.75rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.blog-search__hints-header{display:flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:500;color:#374151;margin-bottom:.5rem}.blog-search__hints-header svg{color:#a855f7}.blog-search__hints-grid{display:grid;grid-template-columns:1fr;gap:.5rem;font-size:.75rem}@media(min-width:640px){.blog-search__hints-grid{grid-template-columns:repeat(3,1fr)}}.blog-search__hint-item{text-align:left;padding:.5rem;border-radius:.25rem;color:#4b5563;background:transparent;border:none;cursor:pointer;transition:background-color .15s}.blog-search__hint-item--series:hover{background-color:#faf5ff}.blog-search__hint-item--tag:hover{background-color:#f0fdf4}.blog-search__hint-item--category:hover{background-color:#eef2ff}.blog-search__hint-code{font-family:monospace}.blog-search__hint-item--series .blog-search__hint-code{color:#7c3aed}.blog-search__hint-item--tag .blog-search__hint-code{color:#16a34a}.blog-search__hint-item--category .blog-search__hint-code{color:#4f46e5}.blog-search__hint-desc{color:#6b7280;margin-left:.25rem}.blog-search__hints-example{margin-top:.5rem;padding-top:.5rem;border-top:1px solid #f3f4f6;font-size:.75rem;color:#6b7280}.blog-search__hints-example-code{background-color:#f3f4f6;padding:0 .25rem;border-radius:.25rem}.blog-search__suggestions{overflow:hidden;max-height:0;opacity:0;transition:all .2s ease-out}.blog-search__suggestions--visible{max-height:5rem;opacity:1}.blog-search__suggestions-inner{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding-top:.25rem}.blog-search__suggestions-label{font-size:.75rem;color:#6b7280}.blog-search__suggestion{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;font-size:.75rem;font-weight:500;border-radius:9999px;border:none;cursor:pointer;transition:all .15s}.blog-search__suggestion--category{background-color:#eef2ff;color:#4f46e5}.blog-search__suggestion--category:hover{background-color:#e0e7ff}.blog-search__suggestion--tag{background-color:#f0fdf4;color:#16a34a}.blog-search__suggestion--tag:hover{background-color:#dcfce7}.blog-search__suggestion--series{background-color:#faf5ff;color:#7c3aed}.blog-search__suggestion--series:hover{background-color:#f3e8ff}.sort-filter{background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:.75rem 1rem;margin-bottom:.75rem}.sort-filter__container{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.sort-filter__label{font-size:.875rem;font-weight:500;color:#374151}.sort-filter__buttons{display:flex;flex-wrap:wrap;gap:.5rem}.search-sort-filter{background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:.75rem;margin-bottom:1.5rem}.search-sort-filter__container{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.search-sort-filter__info{display:flex;align-items:center;gap:.75rem}.search-sort-filter__results{font-size:.875rem;color:#4b5563}.search-sort-filter__count,.search-sort-filter__count--filtered{font-weight:600;color:var(--color-primary-600)}.search-sort-filter__total{color:#9ca3af}.search-sort-filter__text{color:#6b7280}.search-sort-filter__divider{color:#d1d5db}.search-sort-filter__label{font-size:.875rem;color:#6b7280}.search-sort-filter__buttons{display:flex;flex-wrap:wrap;gap:.375rem}.continue-reading{margin-bottom:2rem}.continue-reading--compact{margin-top:1.5rem;margin-bottom:0}.continue-reading__header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;color:#4f46e5}.continue-reading__title{font-size:1.125rem;font-weight:600;color:#111827}.continue-reading--compact .continue-reading__title{font-size:1rem}.continue-reading__grid{display:grid;gap:.75rem}@media(min-width:640px){.continue-reading__grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.continue-reading__grid{grid-template-columns:repeat(3,1fr)}}.continue-reading--compact .continue-reading__grid{display:flex;flex-direction:column;gap:.75rem}.continue-reading__card{display:block;padding:1rem;background-color:#fff;border:1px solid #e5e7eb;border-radius:.75rem;transition:all .15s;text-decoration:none}.continue-reading--compact .continue-reading__card{padding:.75rem}.continue-reading__card:hover{border-color:#c7d2fe;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.continue-reading__card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.continue-reading__series-name{font-size:.75rem;font-weight:500;color:#4f46e5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.continue-reading--compact .continue-reading__series-name{font-size:.6875rem}.continue-reading__progress-count{font-size:.75rem;color:#6b7280;white-space:nowrap;flex-shrink:0}.continue-reading--compact .continue-reading__progress-count{font-size:.6875rem}.continue-reading__article-title{font-size:.875rem;font-weight:500;color:#111827;margin-bottom:.75rem;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;transition:color .15s}.continue-reading--compact .continue-reading__article-title{font-size:.75rem;margin-bottom:.5rem}.continue-reading__card:hover .continue-reading__article-title{color:#4f46e5}.continue-reading__progress-bar{height:.375rem;background-color:#f3f4f6;border-radius:9999px;overflow:hidden;margin-bottom:.5rem}.continue-reading__progress-fill{height:100%;background:linear-gradient(to right,#6366f1,#a855f7);transition:width .3s}.continue-reading__card-footer{display:flex;align-items:center;justify-content:space-between}.continue-reading__percentage{font-size:.75rem;color:#6b7280}.continue-reading--compact .continue-reading__percentage{font-size:.625rem}.continue-reading__arrow{color:#9ca3af;transition:all .15s}.continue-reading__card:hover .continue-reading__arrow{color:#4f46e5;transform:translate(.125rem)}.pinned-series__header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.pinned-series__icon{color:#f59e0b;fill:#f59e0b}.pinned-series__title{font-size:1.125rem;font-weight:600;color:#111827}.pinned-series__count{font-size:.875rem;color:#6b7280}.pinned-series__grid{display:flex;flex-direction:column;gap:1rem}.pinned-series__grid--horizontal{flex-direction:row;gap:1rem;overflow-x:auto;padding-bottom:1rem;scrollbar-width:thin;scrollbar-color:#d1d5db #f3f4f6}.pinned-series__grid--horizontal::-webkit-scrollbar{height:.5rem}.pinned-series__grid--horizontal::-webkit-scrollbar-track{background:#f3f4f6}.pinned-series__grid--horizontal::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:.25rem}.pinned-series__item{flex-shrink:0;width:18rem}.articles-by-type-container{max-width:72rem;margin-inline:auto;padding:1.5rem}.articles-by-type-header{margin-bottom:2rem}.articles-by-type-back-btn{display:flex;align-items:center;gap:.25rem;margin-bottom:1rem;padding:0;border:none;background:transparent;color:#4b5563;cursor:pointer;transition:color .15s}.articles-by-type-back-btn:hover{color:#2563eb}.articles-by-type-back-btn__icon{width:1rem;height:1rem}.articles-by-type-meta-card{background:#fff;border-radius:.5rem;padding:2rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;border-left:4px solid}.articles-by-type-meta-card__content{display:flex;align-items:flex-start;gap:1rem}.articles-by-type-meta-card__icon{width:4rem;height:4rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.articles-by-type-meta-card__icon-svg{width:2rem;height:2rem}.articles-by-type-meta-card__info{flex:1}.articles-by-type-meta-card__title-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.articles-by-type-meta-card__title{font-size:1.875rem;font-weight:700;color:#111827}.articles-by-type-meta-card__count-badge{padding:.25rem .75rem;font-size:.875rem;border-radius:9999px;font-weight:500}.articles-by-type-meta-card__description{color:#4b5563;font-size:1.125rem;margin-bottom:1rem}.articles-by-type-meta-card__stats{display:flex;align-items:center;gap:1rem;font-size:.875rem;color:#6b7280}.articles-by-type-meta-card__stat{display:flex;align-items:center;gap:.25rem}.articles-by-type-meta-card__stat-icon{width:1rem;height:1rem}.articles-by-type-loading{display:flex;justify-content:center;align-items:center;padding:3rem 0}.articles-by-type-loading__spinner{animation:spin 1s linear infinite;width:3rem;height:3rem;border-bottom:2px solid #2563eb;border-radius:9999px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.articles-by-type-error{background-color:#fef2f2;border:1px solid #fecaca;color:#b91c1c;border-radius:.5rem;padding:1.5rem}.articles-by-type-empty{background-color:#f9fafb;padding:3rem;text-align:center;border-radius:.5rem}.articles-by-type-empty__icon{width:4rem;height:4rem;margin-inline:auto;color:#d1d5db;margin-bottom:1rem}.articles-by-type-empty__title{font-size:1.25rem;font-weight:600;color:#111827;margin-bottom:.5rem}.articles-by-type-empty__message{color:#4b5563;margin-bottom:1.5rem}.articles-by-type-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1.5rem;margin-bottom:2rem}@media(min-width:768px){.articles-by-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.articles-by-type-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.article-excerpt{color:#4b5563;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.article-image{position:relative;overflow:hidden}.article-image__img{width:100%;height:10rem;object-fit:cover;transition:transform .3s}.article-card:hover .article-image__img{transform:scale(1.05)}.article-image__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.2),transparent);opacity:0;transition:opacity .3s}.article-card:hover .article-image__overlay{opacity:1}.article-metadata{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;font-size:.875rem;color:#6b7280;margin-bottom:1rem}.article-metadata__item{display:flex;align-items:center;gap:.25rem}.article-metadata__icon{width:1rem;height:1rem}.article-title{font-size:1.125rem;font-weight:700;color:#111827;margin-bottom:.5rem;transition:color .15s;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.article-card:hover .article-title{color:#2563eb}.category-badge{display:inline-block;padding:.25rem .625rem;font-size:.75rem;font-weight:600;border-radius:9999px;cursor:pointer;transition:box-shadow .15s;border:1px solid}.category-badge:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.search-empty-state{text-align:center;padding:4rem 0}.search-empty-state__content{max-width:32rem;margin-inline:auto}.search-empty-state__icon-wrapper{margin-bottom:1.5rem;display:flex;justify-content:center}.search-empty-state__icon-bg{width:5rem;height:5rem;background:linear-gradient(to bottom right,#e0e7ff,#f3e8ff);border-radius:9999px;display:flex;align-items:center;justify-content:center}.search-empty-state__icon{width:2.5rem;height:2.5rem;color:#4f46e5}.search-empty-state__title{font-size:1.25rem;font-weight:600;color:#111827;margin-bottom:.5rem}.search-empty-state__message{color:#4b5563;margin-bottom:1.5rem}.search-empty-state__keyword{font-weight:600;color:#4f46e5}.search-empty-state__actions{display:flex;flex-direction:column;gap:1rem}.search-empty-state__tips{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.search-empty-state__tips-header{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.875rem;color:#6b7280;margin-bottom:1rem}.search-empty-state__tips-icon{width:1rem;height:1rem}.search-empty-state__suggestions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:1rem}.search-empty-state__suggestion-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background-color:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;border-radius:9999px;font-size:.875rem;cursor:pointer;transition:background-color .15s}.search-empty-state__suggestion-btn:hover{background-color:#dbeafe}.search-empty-state__suggestion-icon{width:.75rem;height:.75rem}.search-empty-state__nav-links{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.search-empty-state__nav-link{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background-color:#fff;border:1px solid #d1d5db;color:#374151;border-radius:.5rem;font-size:.875rem;text-decoration:none;transition:all .15s}.search-empty-state__nav-link:hover{border-color:#a78bfa;background-color:#f5f3ff}.search-empty-state__nav-link-icon{width:1rem;height:1rem}.feature-badge-group{display:flex;align-items:center;gap:.5rem}.feature-badge{display:inline-flex;align-items:center;padding:.25rem .5rem;font-size:.75rem;border-radius:9999px}.feature-badge--featured{background-color:#f3e8ff;color:#6b21a8}.feature-badge--premium{background-color:#ffedd5;color:#9a3412}.skeleton-card{background-color:#fff;border-radius:.75rem;border:1px solid #e5e7eb;overflow:hidden;height:100%;display:flex;flex-direction:column;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.skeleton-card__image{height:12rem;background:linear-gradient(to right,#e5e7eb,#f3f4f6,#e5e7eb);background-size:400% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.skeleton-card__content{padding:1.25rem;flex:1;display:flex;flex-direction:column}.skeleton-card__title{height:1.5rem;background-color:#e5e7eb;border-radius:.25rem;margin-bottom:.75rem;width:75%}.skeleton-card__excerpt{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;flex:1}.skeleton-card__excerpt-line{height:1rem;background-color:#e5e7eb;border-radius:.25rem}.skeleton-card__excerpt-line--full{width:100%}.skeleton-card__excerpt-line--partial{width:83.333333%}.skeleton-card__tags{display:flex;gap:.5rem;margin-bottom:1rem}.skeleton-card__tag{height:1.5rem;background-color:#e5e7eb;border-radius:9999px}.skeleton-card__tag--xs{width:3.5rem}.skeleton-card__tag--sm{width:4rem}.skeleton-card__tag--md{width:5rem}.skeleton-card__footer{display:flex;align-items:center;gap:1rem;padding-top:.75rem;border-top:1px solid #f3f4f6}.skeleton-card__footer-item{height:1rem;background-color:#e5e7eb;border-radius:.25rem}.skeleton-card__footer-item--sm{width:4rem}.skeleton-card__footer-item--md{width:6rem}.recent-searches{background-color:var(--color-bg-primary);border-radius:.5rem;border:1px solid var(--color-border-default);padding:.75rem 1rem;margin-bottom:.75rem}.recent-searches__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.recent-searches__title{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.recent-searches__icon{color:var(--color-text-muted)}.recent-searches__clear-btn{font-size:.75rem;color:var(--color-text-muted);transition:color .2s}.recent-searches__clear-btn:hover{color:#dc2626}.recent-searches__list{display:flex;flex-wrap:wrap;gap:.5rem}.recent-search{display:flex;align-items:center;gap:.25rem;padding:.375rem .75rem;background-color:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:9999px;transition:all .2s}.recent-search:hover{background-color:var(--color-primary-50);border-color:var(--color-primary-200)}.recent-search__query-btn{display:flex;align-items:center;gap:.375rem;font-size:.875rem;color:var(--color-text-secondary);background:none;border:none;cursor:pointer}.recent-search__query-btn:hover{color:var(--color-primary-700)}.recent-search__search-icon{flex-shrink:0}.recent-search__remove-btn{margin-left:.25rem;padding:.125rem;color:#9ca3af;opacity:0;transition:opacity .2s;background:none;border:none;cursor:pointer}.recent-search:hover .recent-search__remove-btn{opacity:1}.recent-search__remove-btn:hover{color:#ef4444}.search-filters{display:flex;flex-direction:column;gap:1rem}.search-filters__header{display:flex;align-items:center;justify-content:space-between}.search-filters__title-wrapper{display:flex;align-items:center;gap:.5rem}.search-filters__icon{color:var(--color-text-muted)}.search-filters__title{font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.search-filters__badge{padding:.125rem .375rem;font-size:.75rem;font-weight:500;background-color:var(--color-primary-100);color:var(--color-primary-700);border-radius:9999px}.search-filters__clear-btn{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--color-text-muted);background:none;border:none;cursor:pointer;transition:color .2s}.search-filters__clear-btn:hover{color:#dc2626}.search-filters__section{display:flex;flex-direction:column}.search-filters__section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.search-filters__section-title-wrapper{display:flex;align-items:center;gap:.375rem}.search-filters__section-icon{flex-shrink:0}.search-filters__section-icon--indigo{color:#6366f1}.search-filters__section-icon--purple{color:#a855f7}.search-filters__section-title{font-size:.75rem;font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.search-filters__sort-buttons{display:flex;align-items:center;gap:.25rem}.search-filters__sort-btn{padding:.25rem;border-radius:.25rem;transition:all .2s;color:#9ca3af;background:none;border:none;cursor:pointer}.search-filters__sort-btn:hover{color:var(--color-text-muted)}.search-filters__sort-btn--active-indigo{background-color:#e0e7ff;color:#6366f1}.search-filters__sort-btn--active-purple{background-color:#f3e8ff;color:#a855f7}.search-filters__items{display:flex;flex-direction:column;gap:.125rem}.search-filters__item{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;border-radius:.375rem;border:1px solid transparent;cursor:pointer;transition:all .2s}.search-filters__item:hover{background-color:var(--color-bg-secondary)}.search-filters__item--selected-indigo{background-color:#eff6ff;border-color:#c7d2fe}.search-filters__item--selected-purple{background-color:#faf5ff;border-color:#e9d5ff}.search-filters__checkbox{width:.875rem;height:.875rem;border-radius:.25rem;border:1px solid #d1d5db;flex-shrink:0;cursor:pointer}.search-filters__checkbox--indigo{accent-color:#6366f1}.search-filters__checkbox--purple{accent-color:#a855f7}.search-filters__color-dot{width:.5rem;height:.5rem;border-radius:9999px;flex-shrink:0}.search-filters__item-name{flex:1;font-size:.875rem;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-filters__item-count{font-size:.75rem;color:#9ca3af}.quick-width-selector{position:relative}.quick-width-selector__trigger{display:flex;align-items:center;gap:.375rem;padding:.25rem .5rem;font-size:.75rem;color:var(--color-text-muted);background:none;border:none;border-radius:.25rem;cursor:pointer;transition:all .2s}.quick-width-selector__trigger:hover{color:var(--color-text-secondary);background-color:var(--color-bg-tertiary)}.quick-width-selector__icon{flex-shrink:0}.quick-width-selector__backdrop{position:fixed;inset:0;z-index:10}.quick-width-selector__menu{position:absolute;top:100%;right:0;margin-top:.25rem;background-color:var(--color-bg-primary);border:1px solid var(--color-border-default);border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a;padding:.25rem 0;z-index:20;min-width:11rem}.quick-width-selector__option{width:100%;text-align:left;padding:.5rem .75rem;font-size:.875rem;color:var(--color-text-secondary);background:none;border:none;cursor:pointer;transition:background-color .2s}.quick-width-selector__option:hover{background-color:var(--color-bg-secondary)}.quick-width-selector__option--selected{background-color:var(--color-primary-50);color:var(--color-primary-700);font-weight:500}.quick-width-selector__option-content{display:flex;align-items:center;gap:.5rem}.category-sidebar{background-color:var(--color-bg-primary);border-radius:.75rem;border:1px solid var(--color-border-default);box-shadow:0 1px 2px #0000000d;overflow:hidden}.category-sidebar__loading-title{font-weight:700;color:var(--color-text-primary);margin-bottom:1rem;font-size:.875rem;padding:1.25rem}.category-sidebar__loading-items{display:flex;flex-direction:column;gap:.5rem;padding:0 1.25rem 1.25rem}.category-sidebar__loading-item{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.category-sidebar__loading-skeleton{height:2.25rem;background-color:var(--color-bg-tertiary);border-radius:.5rem}.category-sidebar__header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1.25rem;background:none;border:none;text-align:left}@media(min-width:1024px){.category-sidebar__header{cursor:default}}.category-sidebar__title{font-weight:700;color:var(--color-text-primary);font-size:.875rem;display:flex;align-items:center;gap:.5rem}.category-sidebar__icon-wrapper{padding:.375rem;background:linear-gradient(to bottom right,#3b82f6,#4f46e5);border-radius:.5rem;display:flex;align-items:center;justify-content:center}.category-sidebar__icon{color:#fff}.category-sidebar__count{font-size:.75rem;color:var(--color-text-muted);font-weight:400}.category-sidebar__actions{display:flex;align-items:center;gap:.5rem}.category-sidebar__view-all{font-size:.75rem;color:var(--color-primary-600);font-weight:500;background:none;border:none;cursor:pointer;transition:color .2s}.category-sidebar__view-all:hover{color:var(--color-primary-700);text-decoration:underline}.category-sidebar__chevron{color:#9ca3af;transition:transform .2s}@media(min-width:1024px){.category-sidebar__chevron{display:none}}.category-sidebar__chevron--expanded{transform:rotate(180deg)}.category-sidebar__content{display:none;padding:0 1.25rem 1.25rem}@media(min-width:1024px){.category-sidebar__content{display:block}}.category-sidebar__content--expanded{display:block}.category-sidebar__list{display:flex;flex-direction:column;gap:.375rem}.category-sidebar__item{display:flex;align-items:center;gap:.625rem;padding:.625rem;border-radius:.5rem;border:1px solid transparent;text-decoration:none;transition:all .2s}.category-sidebar__item:hover{background:linear-gradient(to right,var(--color-primary-50),#eef2ff);border-color:var(--color-primary-100)}.category-sidebar__color-dot{width:.75rem;height:.75rem;border-radius:9999px;flex-shrink:0;box-shadow:0 1px 2px #0000000d;border:2px solid white}.category-sidebar__name-wrapper{flex:1;min-width:0}.category-sidebar__name{font-size:.875rem;font-weight:500;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .2s}.category-sidebar__item:hover .category-sidebar__name{color:var(--color-primary-700)}.category-sidebar__item-chevron{color:#9ca3af;flex-shrink:0;transition:all .2s}.category-sidebar__item:hover .category-sidebar__item-chevron{color:var(--color-primary-600);transform:translate(.125rem)}.blog-sidebar{display:flex;flex-direction:column;gap:1rem}@media(min-width:1024px){.blog-sidebar{gap:1.5rem}}.blog-sidebar__clear-bookmarks-btn{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:#ef4444;font-weight:500;background:none;border:none;cursor:pointer;transition:color .2s}.blog-sidebar__clear-bookmarks-btn:hover{color:#dc2626;text-decoration:underline}.blog-sidebar__bookmarks{display:flex;flex-direction:column;gap:.75rem}.blog-sidebar__bookmark-article{border:1px solid #fef3c7;border-radius:.5rem;background:linear-gradient(to right,#fef3c780,#fed7aa80);overflow:hidden}.blog-sidebar__bookmark-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background-color:#fef3c7;border-bottom:1px solid #fef3c7}.blog-sidebar__bookmark-title{flex:1;text-align:left;font-size:.875rem;font-weight:500;color:#92400e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:.375rem;background:none;border:none;cursor:pointer;transition:color .2s}.blog-sidebar__bookmark-title:hover{color:#78350f}.blog-sidebar__bookmark-external-icon{opacity:0;transition:opacity .2s;flex-shrink:0}.blog-sidebar__bookmark-title:hover .blog-sidebar__bookmark-external-icon{opacity:1}.blog-sidebar__bookmark-title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blog-sidebar__bookmark-count{font-size:.75rem;color:#d97706;flex-shrink:0}.blog-sidebar__bookmark-clear{padding:.25rem;color:#fbbf24;background:none;border:none;border-radius:.25rem;cursor:pointer;margin-left:.5rem;flex-shrink:0;transition:all .2s}.blog-sidebar__bookmark-clear:hover{color:#ef4444;background-color:#fef2f2}.blog-sidebar__bookmark-sections{padding:.5rem .75rem;display:flex;flex-direction:column;gap:.25rem}.blog-sidebar__bookmark-section{width:100%;text-align:left;font-size:.75rem;color:var(--color-text-muted);padding:.25rem .5rem;border-radius:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:.375rem;background:none;border:none;cursor:pointer;transition:all .2s}.blog-sidebar__bookmark-section:hover{color:#b45309;background-color:#fef3c780}.blog-sidebar__bookmark-icon{color:#fbbf24;fill:currentColor;flex-shrink:0}.blog-sidebar__bookmark-section-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blog-sidebar__bookmark-more{font-size:.75rem;color:#d97706;padding:.25rem .5rem}.blog-sidebar__view-all-tags{font-size:.75rem;color:#6366f1;font-weight:500;background:none;border:none;cursor:pointer;transition:color .2s}.blog-sidebar__view-all-tags:hover{color:#4f46e5;text-decoration:underline}.blog-sidebar__tags{display:flex;flex-wrap:wrap;gap:.5rem}.blog-sidebar__tag{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:linear-gradient(to right,#eef2ff,#faf5ff);color:#4338ca;border-radius:9999px;font-size:.875rem;font-weight:500;border:1px solid #c7d2fe;cursor:pointer;transition:all .2s}.blog-sidebar__tag:hover{background:linear-gradient(to right,#e0e7ff,#f3e8ff);transform:scale(1.05)}.blog-sidebar__tag-count{margin-left:.25rem;font-size:.75rem;background-color:#fff;padding:.125rem .375rem;border-radius:9999px;color:#6366f1}.blog-sidebar__articles{display:flex;flex-direction:column;gap:.75rem}.blog-sidebar__article{width:100%;text-align:left;padding:.75rem;border-radius:.5rem;border:1px solid transparent;background:none;cursor:pointer;transition:all .2s}.blog-sidebar__article:hover{background:linear-gradient(to right,#eef2ff,#faf5ff);border-color:#c7d2fe}.blog-sidebar__article-title{font-weight:500;color:var(--color-text-primary);font-size:.875rem;margin-bottom:.25rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .2s}.blog-sidebar__article:hover .blog-sidebar__article-title{color:#6366f1}.blog-sidebar__article-date{font-size:.75rem;color:var(--color-text-muted)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.article-card{position:relative;background-color:#fff;border-radius:.75rem;border:1px solid #e5e7eb;overflow:hidden;transition:all .3s ease}.article-card--clickable{cursor:pointer}.article-card:hover{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a,0 0 0 2px #60a5fa;border-color:transparent}.article-card--featured:hover{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a,0 0 0 2px #fb923c}.article-card-link{display:block}.article-card__accent{position:absolute;top:0;left:0;right:0;height:.375rem;background:linear-gradient(to right,#3b82f6,#a855f7,#ec4899)}.article-card--featured .article-card__accent{background:linear-gradient(to right,#f59e0b,#f97316,#ef4444)}.article-card__content{padding:1.25rem}.article-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.article-card__category-wrapper{flex:1}.article-card__category{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:9999px;font-size:.75rem;font-weight:600;margin-bottom:.5rem;cursor:pointer;transition:transform .15s ease}.article-card__category:hover{transform:scale(1.05)}.article-card__badges{display:flex;gap:.375rem}.article-card__badge{display:flex;align-items:center;gap:.25rem;padding:.125rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:600;color:#fff}.article-card__badge--featured{background:linear-gradient(to right,#f59e0b,#f97316);box-shadow:0 4px 6px -1px #0000001a}.article-card__badge--new{background:linear-gradient(to right,#22c55e,#10b981)}.article-card__badge--series{background-color:#4f46e5}.article-card__badge-icon{width:.75rem;height:.75rem}.article-card__badge--featured .article-card__badge-icon{fill:currentColor}.article-card__series-info{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:#4f46e5;font-weight:500;margin-bottom:.5rem}.article-card__series-icon{width:.75rem;height:.75rem}.article-card__series-order{color:#9ca3af}.article-card__title{font-size:1.125rem;font-weight:700;color:#111827;margin-bottom:.5rem;transition:color .15s ease}.article-card--featured .article-card__title{font-size:1.25rem}.article-card:hover .article-card__title{color:#2563eb}.article-card--featured:hover .article-card__title{color:#ea580c}.article-card__excerpt{font-size:.875rem;color:#4b5563;margin-bottom:.75rem}.article-card__tags{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:1rem}.article-card__tag{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;font-size:.75rem;border-radius:9999px;transition:all .15s ease;cursor:pointer}.article-card__tag--color-0{background-color:#eff6ff;color:#1d4ed8}.article-card__tag--color-0:hover{background-color:#dbeafe;color:#1e40af}.article-card__tag--color-1{background-color:#faf5ff;color:#7e22ce}.article-card__tag--color-1:hover{background-color:#f3e8ff;color:#6b21a8}.article-card__tag--color-2{background-color:#f0fdf4;color:#15803d}.article-card__tag--color-2:hover{background-color:#dcfce7;color:#166534}.article-card__tag-icon{width:.625rem;height:.625rem}.article-card__tag-more{font-size:.75rem;color:#4f46e5;font-weight:500;padding:.125rem .5rem}.article-card__footer{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;padding-top:.75rem;border-top:1px solid #dbeafe}.article-card--featured .article-card__footer{border-top-color:#fed7aa}.article-card__meta{display:flex;align-items:center;gap:1rem;color:#4b5563}.article-card__meta-item{display:flex;align-items:center;gap:.25rem}.article-card__meta-icon{width:.875rem;height:.875rem}.article-card__views{display:flex;align-items:center;gap:.25rem;color:#6366f1;font-weight:500}.article-card--featured .article-card__views{color:#ea580c}.article-card__reading-time{font-weight:500;color:#6b7280}.article-card__read-more{display:flex;align-items:center;gap:.25rem;color:#2563eb;font-weight:600;transition:gap .15s ease}.article-card:hover .article-card__read-more{gap:.5rem}.article-card__read-more-icon{width:.875rem;height:.875rem}.series-card{position:relative;background-color:#fff;border-radius:.75rem;border:1px solid #e5e7eb;overflow:hidden;transition:all .3s ease}.series-card:hover{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border-color:transparent;ring:2px solid #818cf8}.series-card--clickable{cursor:pointer}.series-card__accent{position:absolute;top:0;left:0;right:0;height:.25rem;background:linear-gradient(to right,#3b82f6,#6366f1,#a855f7)}.series-card__content{padding:1rem}.series-card__header{display:flex;align-items:flex-start;gap:.625rem;margin-bottom:.25rem}.series-card__icon-wrapper{position:relative;flex-shrink:0}.series-card__icon{padding:.5rem;background:linear-gradient(to bottom right,#3b82f6,#4f46e5);border-radius:.5rem;transition:transform .15s ease;cursor:pointer}.series-card:hover .series-card__icon{transform:scale(1.05)}.series-card__pin-btn{position:absolute;top:-.375rem;right:-.375rem;padding:.25rem;border-radius:9999px;box-shadow:0 1px 2px #0000000d;transition:all .15s ease;opacity:0;background-color:#fff;color:#9ca3af;border:1px solid #e5e7eb}.series-card__pin-btn:hover{background-color:#f3f4f6;color:#4b5563}.series-card:hover .series-card__pin-btn{opacity:1}.series-card__pin-btn--pinned{background-color:#fbbf24;color:#fff;opacity:1}.series-card__pin-btn--pinned:hover{background-color:#f59e0b}.series-card__pin-icon--filled{fill:currentColor}.series-card__title{flex:1;min-width:0;font-size:1rem;font-weight:700;color:#111827;line-height:1.25;transition:color .15s ease;cursor:pointer;margin:0}.series-card:hover .series-card__title{color:#4f46e5}.series-card__description{font-size:.875rem;color:#4b5563;margin:0 0 .5rem;cursor:pointer}.series-card__stats{display:flex;align-items:center;gap:.375rem;margin:0 0 .75rem;font-size:.75rem;color:#6b7280}.series-card__progress{margin-bottom:.75rem}.series-card__progress-header{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;color:#4b5563;margin-bottom:.25rem}.series-card__progress-label{display:flex;align-items:center;gap:.25rem}.series-card__progress-label--completed{color:#16a34a;font-weight:500}.series-card__progress-icon--completed{color:#22c55e}.series-card__progress-bar{height:.375rem;background-color:#f3f4f6;border-radius:9999px;overflow:hidden}.series-card__progress-fill{height:100%;background:linear-gradient(to right,#60a5fa,#6366f1);transition:width .3s ease}.series-card__progress-fill--completed{background:linear-gradient(to right,#4ade80,#34d399)}.series-card__continue-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;margin-top:.5rem;background-color:#eef2ff;border-radius:9999px;font-size:.75rem;font-weight:500;color:#4338ca;transition:background-color .15s ease;text-decoration:none}.series-card__continue-btn:hover{background-color:#e0e7ff}.series-card__continue-title{color:#312e81;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.series-card__articles{border-top:1px solid #f3f4f6;padding-top:.75rem}.series-card__articles-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:.875rem;font-weight:500;color:#4338ca;margin-bottom:.5rem;background:transparent;border:none;cursor:pointer;transition:color .15s ease}.series-card__articles-toggle:hover{color:#3730a3}.series-card__articles-list{display:grid;grid-template-rows:0fr;opacity:0;transition:all .3s ease-in-out}.series-card__articles-list--expanded{grid-template-rows:1fr;opacity:1}.series-card__articles-list-inner{overflow:hidden}.series-card__articles-list-content{padding-top:.25rem}.series-card__articles-list-content>*+*{margin-top:.25rem}.series-card__article{display:block;padding:.5rem .75rem;border-radius:.5rem;border:1px solid transparent;background:linear-gradient(to right,#eff6ff,#eef2ff);transition:all .15s ease;text-decoration:none}.series-card__article:hover{background:linear-gradient(to right,#dbeafe,#e0e7ff);border-color:#a5b4fc}.series-card__article--read{background:linear-gradient(to right,#f0fdf4,#d1fae5);border-color:#bbf7d0}.series-card__article--read:hover{background:linear-gradient(to right,#dcfce7,#a7f3d0)}.series-card__article-header{display:flex;align-items:center;gap:.5rem}.series-card__article-check{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;font-size:.75rem;font-weight:600;color:#fff;background:linear-gradient(to bottom right,#2563eb,#4f46e5);border-radius:9999px;border:none;cursor:pointer;transition:all .15s ease}.series-card__article-check:hover{transform:scale(1.1);box-shadow:0 0 0 2px #3b82f64d}.series-card__article-check--read{background:linear-gradient(to bottom right,#22c55e,#10b981)}.series-card__article-check--read:hover{box-shadow:0 0 0 2px #22c55e4d}.series-card__article-title{font-size:.875rem;font-weight:500;color:#111827;margin:0}.series-card__article-title--read{color:#166534}.series-card__article-excerpt{font-size:.75rem;color:#4b5563;margin:.25rem 0 0}.series-card__article-excerpt--read{color:#16a34a}.series-card__actions{display:flex;align-items:center;gap:.5rem;max-height:0;opacity:0;overflow:hidden;transition:all .3s ease}.series-card__actions--visible{opacity:1;max-height:2.5rem}.series-card__expand-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background-color:#eef2ff;border-radius:.5rem;font-size:.75rem;font-weight:500;color:#4338ca;border:none;cursor:pointer;transition:background-color .15s ease}.series-card__expand-btn:hover{background-color:#e0e7ff}.series-card__mark-all-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:.25rem;font-size:.6875rem;font-weight:500;border:none;cursor:pointer;transition:background-color .15s ease}.series-card__mark-all-btn--mark{background-color:#f0fdf4;color:#16a34a}.series-card__mark-all-btn--mark:hover{background-color:#dcfce7}.series-card__mark-all-btn--reset{background-color:#f3f4f6;color:#6b7280}.series-card__mark-all-btn--reset:hover{background-color:#e5e7eb}.series-card__start-btn{display:block;width:100%;margin-top:1rem;padding:.5rem 1rem;text-align:center;font-size:.875rem;font-weight:500;color:#fff;background-color:#2563eb;border-radius:.5rem;transition:background-color .15s ease}.series-card__start-btn:hover{background-color:#1d4ed8}.article-viewer__loading,.article-viewer__error{width:100%;margin-left:auto;margin-right:auto}.article-viewer__error-back{padding-left:1rem;padding-right:1rem;margin-bottom:1.5rem}.article-viewer__back-btn{display:flex;align-items:center;gap:.5rem;color:var(--color-primary-600);transition:color .15s;background:transparent;border:none;cursor:pointer;font-size:1rem}.article-viewer__back-btn:hover{color:var(--color-primary-800)}.article-viewer__error-card{text-align:center;padding-top:3rem;padding-bottom:3rem;background-color:#fff;border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.article-viewer__error-content{max-width:28rem;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}.article-viewer__error-title{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin-bottom:.5rem}.article-viewer__error-description{color:var(--color-text-secondary);margin-bottom:1.5rem}.article-viewer__error-action{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(to right,var(--color-primary-600),#6366f1);color:#fff;font-weight:600;border-radius:.5rem;border:none;cursor:pointer;transition:all .15s}.article-viewer__error-action:hover{background:linear-gradient(to right,var(--color-primary-700),#4f46e5)}.article-viewer__breadcrumbs{padding-left:1rem;padding-right:1rem;margin-bottom:1.5rem}.article-viewer__mobile-toc{margin-bottom:1.5rem;padding-left:1rem;padding-right:1rem}@media(min-width:1024px){.article-viewer__mobile-toc{display:none}}.article-viewer__article{position:relative;background-color:#fff;border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;overflow:hidden}.article-viewer__gradient-bar{height:.375rem;width:100%;background:linear-gradient(to right,var(--color-primary-500),#a855f7,#ec4899);border-radius:.5rem .5rem 0 0}.article-viewer__width-selector{position:absolute;top:.75rem;right:.5rem;z-index:10;display:none}@media(min-width:1024px){.article-viewer__width-selector{display:block}}.article-viewer__width-selector-inner{background-color:#ffffffe6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:.5rem;box-shadow:0 1px 2px #0000000d}.article-viewer__featured-image{width:100%;height:16rem;object-fit:cover}@media(min-width:768px){.article-viewer__featured-image{height:24rem}}.article-viewer__inner{padding:1.5rem}@media(min-width:768px){.article-viewer__inner{padding:2rem}}.article-viewer__category-wrapper{margin-bottom:1rem}.article-viewer__category-badge{display:inline-flex;align-items:center;padding:.375rem .75rem;font-size:.875rem;font-weight:600;border-radius:9999px;border-width:1px}.article-viewer__title{font-size:1.25rem;font-weight:700;color:var(--color-text-primary);margin-bottom:.75rem;line-height:1.375}@media(min-width:768px){.article-viewer__title{font-size:1.5rem}}.article-content{margin-left:auto;margin-right:auto}.article-content__error{padding:1rem;background-color:#fef2f2;border:1px solid #fecaca;border-radius:.25rem}.article-content__error-title{color:#991b1b;font-weight:600}.article-content__error-message{color:#dc2626;font-size:.875rem;margin-top:.5rem}.article-content__empty{color:var(--color-text-muted)}.visualizer-wrapper{margin-top:1.5rem;margin-bottom:1.5rem}.article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border-default)}.article-meta__item{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;border-radius:.5rem;border:1px solid}.article-meta__item--date{background:linear-gradient(to right,#eff6ff,#e0e7ff);border-color:#dbeafe}.article-meta__item--author{background:linear-gradient(to right,#faf5ff,#fce7f3);border-color:#f3e8ff}.article-meta__item--reading-time{background:linear-gradient(to right,#f0fdf4,#d1fae5);border-color:#d1fae5}.article-meta__item--views{background:linear-gradient(to right,#fffbeb,#fed7aa);border-color:#fef3c7}.article-meta__icon{height:1rem;width:1rem;flex-shrink:0}.article-meta__item--date .article-meta__icon{color:var(--color-primary-600)}.article-meta__item--author .article-meta__icon{color:#9333ea}.article-meta__item--reading-time .article-meta__icon{color:#16a34a}.article-meta__item--views .article-meta__icon{color:#d97706}.article-meta__text{font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.article-footer__tags{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border-default)}.article-footer__tags-title{font-size:.875rem;font-weight:500;color:var(--color-text-primary);margin-bottom:.75rem}.article-footer__tags-list{display:flex;flex-wrap:wrap;gap:.5rem}.article-footer__tag{transition:background-color .15s;cursor:pointer}.article-footer__tag:hover{background-color:var(--color-border-default)}.article-footer__updated{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border-default);font-size:.875rem;color:var(--color-text-muted)}.series-nav{position:relative;background:linear-gradient(to bottom right,#eff6ff,#e0e7ff,#f3e8ff);border:1px solid #bfdbfe;border-radius:.75rem;padding:1rem;margin-bottom:1.5rem;overflow:hidden;box-shadow:0 1px 2px #0000000d}.series-nav__accent-bar{position:absolute;top:0;left:0;right:0;height:.25rem;background:linear-gradient(to right,var(--color-primary-500),#6366f1,#a855f7)}.series-nav__header{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.75rem;margin-top:.25rem}.series-nav__icon-wrapper{padding:.375rem;background:linear-gradient(to bottom right,var(--color-primary-500),#6366f1);border-radius:.5rem;box-shadow:0 1px 2px #0000000d}.series-nav__icon{height:1rem;width:1rem;color:#fff;flex-shrink:0}.series-nav__header-content{flex:1}.series-nav__badge{display:inline-flex;align-items:center;gap:.375rem;padding:.125rem .5rem;background-color:#fff;border-radius:9999px;font-size:.75rem;font-weight:600;color:var(--color-primary-600);border:1px solid #bfdbfe;margin-bottom:.375rem}.series-nav__title{font-size:1.125rem;font-weight:700;background:linear-gradient(to right,var(--color-primary-600),#6366f1);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:.125rem}.series-nav__description{font-size:.75rem;color:var(--color-text-secondary)}.series-nav__buttons{display:flex;gap:.5rem;margin-bottom:.75rem}.series-nav__button{flex:1;display:flex;align-items:flex-start;gap:.375rem;padding:.75rem;border-radius:.5rem;border:1px solid #bfdbfe;transition:all .15s;text-decoration:none}.series-nav__button--prev,.series-nav__button--next{background-color:#fff;box-shadow:0 1px 2px #0000000d}.series-nav__button--prev:hover,.series-nav__button--next:hover{background:linear-gradient(to right,#eff6ff,#e0e7ff);box-shadow:0 4px 6px -1px #0000001a}.series-nav__button--disabled{background-color:#f9fafb;border-color:var(--color-border-default);opacity:.5;cursor:default}.series-nav__button-icon{height:1rem;width:1rem;color:var(--color-primary-600);flex-shrink:0;margin-top:.125rem;transition:transform .15s}.series-nav__button--prev:hover .series-nav__button-icon--prev{transform:translate(-.25rem)}.series-nav__button--next:hover .series-nav__button-icon--next{transform:translate(.25rem)}.series-nav__button-content{flex:1;min-width:0}.series-nav__button-content--left{text-align:left}.series-nav__button-content--right{text-align:right}.series-nav__button-label{font-size:.75rem;color:var(--color-primary-600);font-weight:500;margin-bottom:.125rem}.series-nav__button-title{font-size:.75rem;font-weight:600;color:var(--color-text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .15s}.series-nav__button:hover .series-nav__button-title{color:var(--color-primary-700)}.series-nav__button-placeholder{font-size:.75rem;color:#9ca3af}.series-nav__button-placeholder--right{text-align:right}.series-nav__summary{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:.5rem;padding:.625rem;background-color:#fff;border:1px solid #bfdbfe;border-radius:.5rem;transition:all .15s;box-shadow:0 1px 2px #0000000d;list-style:none}.series-nav__summary::-webkit-details-marker{display:none}.series-nav__summary:hover{background:linear-gradient(to right,#eff6ff,#e0e7ff);box-shadow:0 4px 6px -1px #0000001a}.series-nav__summary-icon{height:.875rem;width:.875rem;color:var(--color-primary-600)}.series-nav__summary-text{font-size:.75rem;font-weight:600;color:var(--color-text-secondary)}.series-nav__summary-chevron{height:.875rem;width:.875rem;color:var(--color-primary-600);margin-left:auto;transition:transform .2s}.series-nav__details[open] .series-nav__summary-chevron{transform:rotate(90deg)}.series-nav__list{margin-top:.5rem;display:flex;flex-direction:column;gap:.375rem}.series-nav__article{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem;border-radius:.5rem;border:1px solid;transition:all .15s;text-decoration:none}.series-nav__article:not(.series-nav__article--current){background-color:#fff;color:var(--color-text-secondary);border-color:#dbeafe}.series-nav__article:not(.series-nav__article--current):hover{background:linear-gradient(to right,#eff6ff,#e0e7ff);border-color:#bfdbfe;box-shadow:0 1px 2px #0000000d}.series-nav__article--current{background:linear-gradient(to right,#dbeafe,#c7d2fe);color:#1e3a8a;font-weight:600;border-color:#93c5fd;box-shadow:0 4px 6px -1px #0000001a}.series-nav__article-number{flex-shrink:0;width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;border-radius:9999px;font-size:.75rem;font-weight:700}.series-nav__article-number:not(.series-nav__article-number--current){background-color:#f3f4f6;color:var(--color-text-secondary)}.series-nav__article-number--current{background:linear-gradient(to bottom right,var(--color-primary-500),#6366f1);color:#fff;box-shadow:0 4px 6px -1px #0000001a}.series-nav__article-info{flex:1;min-width:0}.series-nav__article-part{font-size:.75rem;margin-bottom:.125rem}.series-nav__article-part:not(.series-nav__article-part--current){color:var(--color-text-muted)}.series-nav__article-part--current{color:var(--color-primary-600);font-weight:600}.series-nav__article-title{font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.series-nav__article-badge{flex-shrink:0;font-size:.75rem;background:linear-gradient(to right,var(--color-primary-600),#6366f1);color:#fff;padding:.125rem .5rem;border-radius:9999px;font-weight:600;box-shadow:0 1px 2px #0000000d}.series-footer-nav{border-top:1px solid var(--color-border-default);padding-top:1.5rem;margin-top:2rem}.series-footer-nav__container{display:flex;align-items:center;justify-content:space-between;gap:1rem}.series-footer-nav__link{flex:1;display:flex;align-items:center;gap:.5rem;padding:.75rem;background:linear-gradient(to right,#eff6ff,#e0e7ff);border:1px solid #bfdbfe;border-radius:.5rem;transition:all .15s;text-decoration:none}.series-footer-nav__link:hover{background:linear-gradient(to right,#dbeafe,#c7d2fe)}.series-footer-nav__icon{height:1.25rem;width:1.25rem;color:var(--color-primary-600);flex-shrink:0;transition:transform .15s}.series-footer-nav__link:hover .series-footer-nav__icon--prev{transform:translate(-.25rem)}.series-footer-nav__link:hover .series-footer-nav__icon--next{transform:translate(.25rem)}.series-footer-nav__content{flex:1;min-width:0}.series-footer-nav__content--left{text-align:left}.series-footer-nav__content--right{text-align:right}.series-footer-nav__label{font-size:.75rem;color:var(--color-primary-600);font-weight:500;margin-bottom:.125rem}.series-footer-nav__title{font-size:.875rem;font-weight:600;color:var(--color-text-primary);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;transition:color .15s}.series-footer-nav__link:hover .series-footer-nav__title{color:var(--color-primary-700)}.series-footer-nav__spacer{flex:1}.related-articles{margin-top:3rem;padding-top:2rem;border-top:2px solid var(--color-border-default)}.related-articles__header{margin-bottom:2rem}.related-articles__title{font-size:1.5rem;font-weight:700;background:linear-gradient(to right,var(--color-primary-600),#6366f1);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:.5rem}@media(min-width:768px){.related-articles__title{font-size:1.875rem}}.related-articles__subtitle{color:var(--color-text-secondary)}.related-articles__grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1.5rem}@media(min-width:768px){.related-articles__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.related-articles__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.article-skeleton{display:flex;flex-direction:column;gap:var(--space-md);animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.article-skeleton--compact,.article-skeleton--full{gap:var(--space-md)}.article-skeleton__line{height:1rem;background-color:var(--color-gray-200);border-radius:.25rem}.article-skeleton__line--title{height:2rem;width:75%}.article-skeleton__line--full{width:100%}.article-skeleton__line--large{width:83.333333%}.article-skeleton__line--medium{width:80%}.markdown-error{padding:var(--space-md);background-color:var(--color-amber-50);border:1px solid var(--color-amber-200);border-radius:.25rem}.markdown-error__text{color:var(--color-amber-700);margin:0}.toc{background:var(--color-bg-primary);border-radius:.75rem;box-shadow:0 1px 2px #0000000d;border:1px solid var(--color-border-default);overflow:hidden}.toc__header{position:relative}.toc__progress-track{position:absolute;top:0;left:0;right:0;height:.25rem;background:var(--color-border-default)}.toc__progress-bar{height:100%;background:linear-gradient(to right,var(--color-primary-500),var(--color-indigo-500),#a855f7);transition:all .15s}.toc__header-content{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;border-bottom:1px solid var(--color-border-default);padding:.75rem .5rem .5rem}.toc__title-wrapper{display:flex;align-items:center;gap:.5rem}.toc__title-icon{padding:.375rem;background:linear-gradient(to bottom right,var(--color-primary-500),var(--color-indigo-600));border-radius:.5rem}.toc__title{font-weight:700;color:var(--color-text-primary)}.toc__controls{display:flex;align-items:center;gap:.375rem}.toc__progress-text{font-size:.75rem;color:var(--color-text-muted);font-weight:500;font-variant-numeric:tabular-nums}.toc__separator{color:var(--color-gray-200)}@media(max-width:640px){.toc__separator{display:none}}.toc__control-btn{padding:.25rem;color:var(--color-gray-400);background:none;border:none;border-radius:.25rem;cursor:pointer;transition:all .2s}.toc__control-btn:hover{color:var(--color-gray-600);background:var(--color-gray-100)}.toc__bookmarks-dropdown{position:relative}.toc__bookmarks-btn{padding:.25rem;border-radius:.25rem;transition:all .2s;display:flex;align-items:center;gap:.125rem;background:none;border:none;cursor:pointer}.toc__bookmarks-btn--closed{color:var(--color-amber-500)}.toc__bookmarks-btn--closed:hover,.toc__bookmarks-btn--open{color:var(--color-amber-600);background:var(--color-amber-50)}.toc__bookmarks-count{font-size:.75rem;font-weight:500}.toc__bookmarks-chevron{transition:transform .2s}.toc__bookmarks-chevron--open{transform:rotate(180deg)}.toc__bookmarks-menu{position:absolute;right:0;top:100%;margin-top:.25rem;width:16rem;background:var(--color-bg-primary);border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;border:1px solid var(--color-border-default);z-index:50;overflow:hidden}.toc__bookmarks-menu-header{padding:.5rem .75rem;border-bottom:1px solid var(--color-gray-100);display:flex;align-items:center;justify-content:space-between}.toc__bookmarks-menu-title{font-size:.75rem;font-weight:600;color:var(--color-gray-600);text-transform:uppercase;letter-spacing:.05em}.toc__bookmarks-clear-btn{font-size:.75rem;color:var(--color-red-500);display:flex;align-items:center;gap:.25rem;padding:.125rem .375rem;border-radius:.25rem;border:none;background:none;cursor:pointer;transition:all .2s}.toc__bookmarks-clear-btn:hover{color:#dc2626;background:var(--color-red-50)}.toc__bookmarks-list{max-height:16rem;overflow-y:auto;padding:.25rem 0}.toc__bookmark-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem}.toc__bookmark-item:hover{background:var(--color-gray-50)}.toc__bookmark-item-btn{flex:1;text-align:left;font-size:.875rem;color:var(--color-gray-700);background:none;border:none;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toc__bookmark-item-btn:hover{color:var(--color-primary-600)}.toc__bookmark-remove-btn{opacity:0;padding:.25rem;color:var(--color-gray-400);background:none;border:none;border-radius:.25rem;cursor:pointer;transition:all .2s}.toc__bookmark-item:hover .toc__bookmark-remove-btn{opacity:1}.toc__bookmark-remove-btn:hover{color:var(--color-red-500);background:var(--color-red-50)}.toc__bookmarks-shortcuts{padding:.5rem .75rem;border-top:1px solid var(--color-gray-100);background:var(--color-gray-50)}.toc__bookmarks-shortcuts p{font-size:.75rem;color:var(--color-text-muted);margin-bottom:.25rem}.toc__bookmarks-shortcuts p:last-child{margin-bottom:0}.toc__bookmarks-shortcuts kbd{padding:.125rem .375rem;background:var(--color-gray-200);border-radius:.25rem;color:var(--color-gray-600);font-weight:500}.toc__search-btn{padding:.25rem;border-radius:.25rem;transition:all .2s;background:none;border:none;cursor:pointer}.toc__search-btn--closed{color:var(--color-gray-400)}.toc__search-btn--closed:hover{color:var(--color-gray-600);background:var(--color-gray-100)}.toc__search-btn--open{color:var(--color-primary-600);background:var(--color-primary-50)}.toc__search-container{padding:0 .5rem .5rem}.toc__search-wrapper{position:relative}.toc__search-icon{position:absolute;left:.625rem;top:50%;transform:translateY(-50%);color:var(--color-gray-400);pointer-events:none}.toc__search-input{width:100%;padding:.375rem 2rem;font-size:.875rem;border:1px solid var(--color-border-default);border-radius:.5rem;outline:none}.toc__search-input:focus{outline:2px solid var(--color-primary-500);outline-offset:0;border-color:transparent}.toc__search-clear-btn{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);padding:.125rem;color:var(--color-gray-400);background:none;border:none;cursor:pointer}.toc__search-clear-btn:hover{color:var(--color-gray-600)}.toc__nav{padding:0 .5rem .5rem;max-height:60vh;overflow-y:auto;scroll-behavior:smooth}.toc__nav::-webkit-scrollbar{width:8px}.toc__nav::-webkit-scrollbar-track{background:transparent}.toc__nav::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:4px}.toc__nav::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.toc__no-results{text-align:center;padding:1rem 0;color:var(--color-text-muted);font-size:.875rem}.toc__section{margin-bottom:.125rem}.toc-item{display:flex;align-items:center}.toc-item__toggle-btn{padding:.25rem;margin-right:.25rem;color:var(--color-gray-400);background:none;border:none;border-radius:.25rem;cursor:pointer;transition:all .2s}.toc-item__toggle-btn:hover{color:var(--color-gray-600);background:var(--color-gray-100)}.toc-item__toggle-icon{transition:transform .2s}.toc-item__toggle-icon--collapsed{transform:rotate(-90deg)}.toc-item__spacer{width:1.25rem;margin-right:.25rem}.toc-item__link{flex:1;text-align:left;display:flex;align-items:center;gap:.25rem;padding:.125rem .375rem;border-radius:.25rem;transition:all .2s;background:none;border:none;cursor:pointer}.toc-item__link--level-1,.toc-item__link--level-2{padding-left:0}.toc-item__link--level-3{padding-left:.5rem}.toc-item__link--level-4{padding-left:1rem}.toc-item__link--level-5{padding-left:1.5rem}.toc-item__link--level-6{padding-left:2rem}.toc-item__link--level-1{font-size:.75rem;font-weight:600}.toc-item__link--level-2{font-size:.75rem;font-weight:500}.toc-item__link--level-3,.toc-item__link--level-4,.toc-item__link--level-5,.toc-item__link--level-6{font-size:.6875rem}.toc-item__link--level-3{font-weight:500}.toc-item__link--active{background:linear-gradient(to right,var(--color-primary-50),#eef2ff);color:var(--color-primary-700);border-left:2px solid var(--color-primary-500);box-shadow:0 1px 2px #0000000d;font-weight:600}.toc-item__link--inactive{color:var(--color-gray-600)}.toc-item__link--inactive:hover{color:var(--color-text-primary);background:linear-gradient(to right,var(--color-gray-50),var(--color-primary-50))}.toc-item__chevron{flex-shrink:0;color:var(--color-primary-500);animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.toc-item__text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25;flex:1}.toc-item__bookmark{flex-shrink:0;padding:.125rem;border-radius:.25rem;transition:all .2s;background:none;border:none;cursor:pointer}.toc-item__bookmark--bookmarked{color:var(--color-amber-500)}.toc-item__bookmark--bookmarked:hover{color:var(--color-amber-600);background:var(--color-amber-50)}.toc-item__bookmark--unbookmarked{color:var(--color-gray-300);opacity:0}.toc-item__link:hover .toc-item__bookmark--unbookmarked{opacity:1}.toc-item__bookmark--unbookmarked:hover{color:var(--color-amber-400);background:var(--color-amber-50)}.toc__children{overflow:hidden;transition:all .2s}.toc__children--collapsed{max-height:0;opacity:0}.toc__children--expanded{max-height:500px;opacity:1}.toc__children-inner{margin-left:1.25rem;border-left:1px solid var(--color-border-default);padding-left:.5rem;margin-top:.125rem}.toc-mobile{background:var(--color-bg-primary);border-radius:.5rem;box-shadow:0 1px 2px #0000000d;border:1px solid var(--color-border-default);overflow:hidden}.toc-mobile__header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1rem;text-align:left;background:none;border:none;cursor:pointer;transition:background .2s}.toc-mobile__header:hover{background:var(--color-gray-50)}.toc-mobile__header-content{display:flex;align-items:center;gap:.5rem}.toc-mobile__title{font-weight:500;color:var(--color-text-primary)}.toc-mobile__content{border-top:1px solid var(--color-border-default);padding:1rem;max-height:16rem;overflow-y:auto}.toc-mobile__nav{display:flex;flex-direction:column;gap:.25rem}.toc-mobile__item{width:100%;text-align:left;display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;border-radius:.375rem;transition:all .2s;background:none;border:none;cursor:pointer}.toc-mobile__item--level-1{padding-left:0}.toc-mobile__item--level-2{padding-left:.75rem}.toc-mobile__item--level-3{padding-left:1.5rem}.toc-mobile__item--level-4{padding-left:2.25rem}.toc-mobile__item--level-5{padding-left:3rem}.toc-mobile__item--level-6{padding-left:3.75rem}.toc-mobile__item--level-1{font-size:.875rem;font-weight:600}.toc-mobile__item--level-2{font-size:.875rem;font-weight:500}.toc-mobile__item--level-3,.toc-mobile__item--level-4,.toc-mobile__item--level-5,.toc-mobile__item--level-6{font-size:.75rem}.toc-mobile__item--active{background:var(--color-primary-50);color:var(--color-primary-700);border-left:2px solid var(--color-primary-500)}.toc-mobile__item--inactive{color:var(--color-gray-600)}.toc-mobile__item--inactive:hover{color:var(--color-text-primary);background:var(--color-gray-50)}.toc-mobile__item-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toc-floating{position:fixed;bottom:1.5rem;right:1.5rem;z-index:40;width:3.5rem;height:3.5rem;border-radius:9999px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;display:flex;align-items:center;justify-content:center;transition:all .3s;transform:scale(1);opacity:1;background:transparent;border:none;cursor:pointer}@media(min-width:1024px){.toc-floating{display:none}}.toc-floating--hidden{transform:scale(0);opacity:0}.toc-floating__progress-ring{position:absolute;width:3.5rem;height:3.5rem;transform:rotate(-90deg)}.toc-floating__progress-bg{fill:var(--color-primary-600);stroke:#1e40af;stroke-width:4}.toc-floating__progress-bar{fill:none;stroke:var(--color-primary-300);stroke-width:4;stroke-linecap:round;transition:all .15s}.toc-floating__icon{position:relative;z-index:10;color:#fff}.toc-floating__modal{position:fixed;inset:0;z-index:50}@media(min-width:1024px){.toc-floating__modal{display:none}}.toc-floating__backdrop{position:absolute;inset:0;background:#00000080}.toc-floating__dialog{position:absolute;inset:5rem 1rem;background:var(--color-bg-primary);border-radius:.5rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;overflow:hidden}.toc-floating__header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--color-border-default)}.toc-floating__header-content{display:flex;align-items:center;gap:.5rem}.toc-floating__title{font-weight:500;color:var(--color-text-primary)}.toc-floating__close-wrapper{display:flex;align-items:center;gap:.5rem}.toc-floating__close-btn{padding:.25rem;color:var(--color-gray-400);background:none;border:none;cursor:pointer;transition:color .2s}.toc-floating__close-btn:hover{color:var(--color-gray-600)}.toc-floating__content{padding:1rem;overflow-y:auto;height:100%}.toc-floating__nav{display:flex;flex-direction:column;gap:.25rem}.toc-floating__item{width:100%;text-align:left;display:flex;align-items:center;gap:.5rem;padding:.75rem;border-radius:.375rem;transition:all .2s;background:none;border:none;cursor:pointer}.toc-floating__item--level-1{padding-left:0}.toc-floating__item--level-2{padding-left:.75rem}.toc-floating__item--level-3{padding-left:1.5rem}.toc-floating__item--level-4{padding-left:2.25rem}.toc-floating__item--level-5{padding-left:3rem}.toc-floating__item--level-6{padding-left:3.75rem}.toc-floating__item--level-1{font-size:.875rem;font-weight:600}.toc-floating__item--level-2{font-size:.875rem;font-weight:500}.toc-floating__item--level-3,.toc-floating__item--level-4,.toc-floating__item--level-5,.toc-floating__item--level-6{font-size:.75rem}.toc-floating__item--active{background:var(--color-primary-50);color:var(--color-primary-700);border-left:4px solid var(--color-primary-500)}.toc-floating__item--inactive{color:var(--color-gray-600)}.toc-floating__item--inactive:hover{color:var(--color-text-primary);background:var(--color-gray-50)}.toc-floating__item-text{flex:1}.visualizer-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;padding:var(--space-lg);background:var(--color-bg-tertiary);border-radius:var(--radius-lg);gap:var(--space-md)}.visualizer-loading__spinner{width:40px;height:40px;border:3px solid var(--color-gray-200);border-top-color:var(--color-primary-500);border-radius:50%;animation:visualizer-spin .8s linear infinite}.visualizer-loading__text{color:var(--color-text-secondary);font-size:.875rem}@keyframes visualizer-spin{to{transform:rotate(360deg)}}.hub-page-loading{display:flex;justify-content:center;padding:3rem 0}.hub-page-empty{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3rem 0;color:var(--color-text-muted);text-align:center}.auth-page{min-height:100vh;background:linear-gradient(135deg,#eff6ff,#fff,#faf5ff);display:flex;flex-direction:column;justify-content:center;padding:3rem 1rem}@media(min-width:640px){.auth-page{padding:3rem 1.5rem}}@media(min-width:1024px){.auth-page{padding:3rem 2rem}}.auth-page--simple{background:var(--color-bg-secondary)}.auth-page__logo-container{margin-left:auto;margin-right:auto;width:100%;max-width:28rem;margin-bottom:2rem}.auth-page__logo-link{display:flex;justify-content:center}.auth-logo{width:4rem;height:4rem;border-radius:9999px;background:linear-gradient(135deg,var(--color-primary-500) 0%,#9333ea 100%);padding:.25rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.auth-logo__inner{width:100%;height:100%;border-radius:9999px;background-color:#fff;display:flex;align-items:center;justify-content:center}.auth-logo__text{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,var(--color-primary-500) 0%,#9333ea 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.auth-page__header{margin-left:auto;margin-right:auto;width:100%;max-width:28rem}.auth-page__title{text-align:center;font-size:1.875rem;font-weight:700;color:var(--color-text-primary);margin-bottom:.5rem}.auth-page__subtitle{text-align:center;font-size:1rem;color:#4b5563;margin-bottom:2rem}.auth-page__content{margin-left:auto;margin-right:auto;width:100%;max-width:28rem}.auth-page__content--top-spacing{margin-top:2rem}.auth-form{background-color:#fff;padding:2rem 1.5rem;box-shadow:0 25px 50px -12px #00000040;border-radius:1rem;border:1px solid var(--color-bg-tertiary)}@media(min-width:640px){.auth-form{padding:2rem 2.5rem}}.auth-form__error{margin-bottom:1.5rem;background-color:var(--color-red-50);border:1px solid #fecaca;color:#b91c1c;padding:1rem;border-radius:.75rem}.auth-form__error-content{display:flex;align-items:center}.auth-form__error-icon{height:1.25rem;width:1.25rem;margin-right:.5rem;flex-shrink:0;color:var(--color-red-500)}.auth-form__error-text{font-size:.875rem;font-weight:500}.auth-form__fields{display:flex;flex-direction:column;gap:1.5rem}.auth-form__label{display:block;font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.auth-form__input-wrapper{margin-top:.25rem;position:relative;border-radius:.375rem;box-shadow:0 1px 2px #0000000d}.auth-form__input-icon{position:absolute;top:0;bottom:0;left:0;padding-left:.75rem;display:flex;align-items:center;pointer-events:none}.auth-form__icon{height:1.25rem;width:1.25rem;color:var(--color-gray-400)}.auth-form__input{display:block;width:100%;padding:.625rem .75rem .625rem 2.5rem;border:1px solid var(--color-border-strong);border-radius:.5rem;outline:none;transition:all .15s ease}.auth-form__input:focus{outline:none;box-shadow:0 0 0 2px var(--color-primary-500);border-color:transparent}.auth-form__input--error{border-color:#fca5a5;background-color:var(--color-red-50)}.auth-form__select{display:block;width:100%;padding:.5rem .75rem .5rem 2.5rem;border:1px solid var(--color-border-strong);border-radius:.375rem;outline:none;transition:all .15s ease}.auth-form__select:focus{outline:none;box-shadow:0 0 0 1px var(--color-primary-500);border-color:var(--color-primary-500)}.auth-form__hint{margin-top:.5rem;font-size:.75rem;color:var(--color-text-muted)}.auth-form__hint--error{color:var(--color-red-500)}.auth-form__divider-section{margin-top:1.5rem}.auth-form__divider{position:relative}.auth-form__divider-line{position:absolute;inset:0;display:flex;align-items:center}.auth-form__divider-line:before{content:"";width:100%;border-top:1px solid var(--color-border-default)}.auth-form__divider-text-wrapper{position:relative;display:flex;justify-content:center;font-size:.875rem}.auth-form__divider-text{padding-left:1rem;padding-right:1rem;background-color:#fff;color:var(--color-text-muted);font-weight:500}.auth-form__oauth{margin-top:1.5rem}.auth-form__google-button{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;border:1px solid var(--color-border-strong);border-radius:.5rem;box-shadow:0 1px 2px #0000000d;font-size:.875rem;font-weight:500;color:var(--color-text-secondary);background-color:#fff;cursor:pointer;transition:all .15s ease}.auth-form__google-button:hover{background-color:var(--color-bg-secondary);border-color:var(--color-gray-400)}.auth-form__google-button:focus{outline:none;box-shadow:0 0 0 2px var(--color-text-muted),0 0 0 4px var(--color-bg-tertiary)}.auth-form__google-icon{width:1rem;height:1rem}.auth-form__dev-section{margin-top:1rem;padding-top:1rem;border-top:1px dashed var(--color-border-default)}.auth-form__footer{margin-top:2rem;text-align:center}.auth-form__footer-text{font-size:.875rem;color:#4b5563}.auth-form__link{font-weight:600;color:var(--color-primary-600);transition:color .15s ease}.auth-form__link:hover{color:#1d4ed8}.auth-loading{min-height:100vh;display:flex;align-items:center;justify-content:center}.public-homepage,.homepage{max-width:96rem;margin-inline:auto;padding-inline:1.5rem}@media(min-width:768px){.public-homepage,.homepage{padding-inline:3rem}}@media(min-width:1280px){.public-homepage,.homepage{padding-inline:4rem}}.homepage{display:flex;flex-direction:column;gap:1.5rem}.homepage__welcome-card{background-color:#fff;padding:1.5rem;border-radius:.5rem;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.homepage__welcome-title{font-size:1.875rem;font-weight:700;margin-bottom:1.5rem;color:var(--color-text-primary)}.homepage__nav-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:768px){.homepage__nav-grid{grid-template-columns:repeat(2,1fr)}}.homepage__latest-card{background-color:#fff;padding:1.5rem;border-radius:.5rem;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.homepage__latest-title{font-size:1.25rem;font-weight:600;margin-bottom:.75rem;color:var(--color-text-primary)}.homepage__latest-description{color:#4b5563}.nav-card{padding:1.5rem;border-radius:.5rem}.nav-card__title{font-size:1.25rem;font-weight:600;margin-bottom:.75rem}.nav-card__description{margin-bottom:1rem}.nav-card__link{display:inline-flex;align-items:center;padding:.5rem 1rem;color:#fff;border-radius:.375rem;transition:background-color .2s}.nav-card__icon{height:1rem;width:1rem;margin-right:.5rem}.hero{background:linear-gradient(to bottom right,#eff6ff,#fff,#faf5ff);border-radius:.75rem;padding:1.5rem;margin-bottom:1rem;border:1px solid var(--color-bg-tertiary);box-shadow:0 1px 2px #0000000d}@media(min-width:768px){.hero{border-radius:1rem;padding:2rem;margin-bottom:1.5rem}}.hero__container{max-width:80rem;margin-inline:auto}.hero__content{display:flex;flex-direction:column;align-items:center;gap:1.5rem}@media(min-width:768px){.hero__content{flex-direction:row;align-items:flex-start;gap:2rem}}.hero__avatar-button{flex-shrink:0;cursor:pointer;border:none;background:transparent;padding:0}.hero__avatar-outer{width:6rem;height:6rem;border-radius:9999px;background:linear-gradient(to bottom right,var(--color-primary-500),#9333ea);padding:.25rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transition:all .3s}@media(min-width:768px){.hero__avatar-outer{width:8rem;height:8rem}}.hero__avatar-button:hover .hero__avatar-outer{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;transform:scale(1.05)}.hero__avatar-inner{width:100%;height:100%;border-radius:9999px;background-color:#fff;display:flex;align-items:center;justify-content:center}.hero__avatar-initials{font-size:1.875rem;font-weight:700;background:linear-gradient(to bottom right,var(--color-primary-500),#9333ea);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}@media(min-width:768px){.hero__avatar-initials{font-size:2.25rem}}.hero__bio{flex:1;text-align:center}@media(min-width:768px){.hero__bio{text-align:left}}.hero__title{font-size:1.875rem;font-weight:700;color:var(--color-text-primary);margin-bottom:.5rem}@media(min-width:768px){.hero__title{font-size:2.25rem}}.hero__subtitle{font-size:1.125rem;color:#4b5563;margin-bottom:.75rem}@media(min-width:768px){.hero__subtitle{font-size:1.25rem;margin-bottom:1rem}}.hero__description{font-size:.875rem;color:var(--color-text-secondary);line-height:1.625;margin-bottom:1rem;max-width:48rem}@media(min-width:768px){.hero__description{font-size:1rem;margin-bottom:1.5rem}}.hero__highlights{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;justify-content:center}@media(min-width:768px){.hero__highlights{margin-bottom:1.5rem;justify-content:flex-start}}.hero__badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500}.hero__badge--blue{background-color:var(--color-primary-100);color:#1d4ed8}.hero__badge--purple{background-color:#f3e8ff;color:#7e22ce}.hero__badge--green{background-color:var(--color-emerald-100);color:#065f46}.hero__badge-icon{width:.875rem;height:.875rem}.hero__social-links{display:flex;flex-direction:column;flex-wrap:wrap;gap:.5rem;justify-content:center}@media(min-width:640px){.hero__social-links{flex-direction:row}}@media(min-width:768px){.hero__social-links{gap:.75rem;justify-content:flex-start}}.hero__link{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;color:#fff;border-radius:.5rem;transition:background-color .2s;box-shadow:0 1px 2px #0000000d;text-decoration:none}.hero__link--email{background-color:var(--color-primary-600)}.hero__link--email:hover{background-color:#1d4ed8}.hero__link--linkedin{background-color:var(--color-text-secondary)}.hero__link--linkedin:hover,.hero__link--github{background-color:#1f2937}.hero__link--github:hover{background-color:var(--color-text-primary)}.hero__link-icon{width:1rem;height:1rem}.hero__link-text{font-size:.875rem;font-weight:500}.hero__stats{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border-default);justify-content:center}@media(min-width:768px){.hero__stats{justify-content:flex-start}}.hero__stat-item{display:flex;align-items:center;gap:.5rem;transition:opacity .2s;border:none;background:transparent;cursor:pointer;padding:0;text-decoration:none}.hero__stat-item:hover{opacity:.8}.hero__stat-number{font-size:1.5rem;font-weight:700;color:var(--color-primary-600)}.hero__stat-label{font-size:.875rem;color:#4b5563}.hero__stat-divider{width:1px;height:1.5rem;background-color:var(--color-border-strong)}.hero__cta-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:var(--color-primary-600);color:#fff;border-radius:.5rem;transition:background-color .2s;box-shadow:0 1px 2px #0000000d;text-decoration:none}.hero__cta-button:hover{background-color:#1d4ed8}.hero__cta-text{font-size:.875rem;font-weight:500}.about-section{margin-bottom:4rem;scroll-margin-top:5rem}.about-section__grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem}@media(min-width:1024px){.about-section__grid{grid-template-columns:repeat(3,1fr)}}.about-section__experience-card{background-color:#fff;border-radius:1rem;padding:1.5rem;border:1px solid var(--color-bg-tertiary);box-shadow:0 1px 2px #0000000d;transition:box-shadow .2s}@media(min-width:1024px){.about-section__experience-card{grid-column:span 2}}.about-section__experience-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.about-section__heading{font-size:1.25rem;font-weight:700;color:var(--color-text-primary);margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.about-section__heading-icon{color:var(--color-primary-600)}.about-section__heading-icon--indigo{color:var(--color-indigo-500)}.about-section__timeline{display:flex;flex-direction:column;gap:0}.about-section__timeline-item{position:relative;padding-left:1.5rem;padding-bottom:.75rem;border-left:2px solid var(--color-border-default)}.about-section__timeline-item:last-child{border-left:0;padding-bottom:0}.about-section__timeline-dot{position:absolute;left:0;top:.15rem;transform:translate(-50%);width:.875rem;height:.875rem;border-radius:9999px;background-color:var(--color-primary-600);border:2px solid white;box-shadow:0 1px 3px #0000001a}.about-section__timeline-content{display:flex;flex-direction:column;gap:.125rem}.about-section__timeline-header{display:flex;flex-direction:column;gap:0}.about-section__company{font-size:1.125rem;font-weight:700;color:var(--color-text-primary);margin:0;line-height:1.4}.about-section__period{font-size:.875rem;font-weight:500;color:var(--color-text-muted);margin:0}.about-section__role{font-size:1rem;font-weight:600;color:var(--color-primary-600);margin:0}.about-section__job-description{font-size:.875rem;color:#4b5563;line-height:1.625;margin:0}.about-section__job-summary{margin:0 0 .75rem}.about-section__job-bullets{margin:0 0 .75rem;padding-left:1.25rem;list-style-type:none}.about-section__job-bullets li{position:relative;margin-bottom:.25rem;padding-left:.25rem}.about-section__job-bullets li:before{content:"-";position:absolute;left:-1rem;color:var(--color-text-muted)}.about-section__job-bullets li:last-child{margin-bottom:0}.about-section__job-skills{margin:0;font-size:.8125rem;color:var(--color-text-muted)}.about-section__job-skills strong{color:var(--color-text-secondary)}.about-section__skills-card{background-color:#fff;border-radius:1rem;padding:1.25rem;border:1px solid var(--color-bg-tertiary);box-shadow:0 1px 2px #0000000d;transition:box-shadow .2s}.about-section__skills-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.about-section__skills-heading{font-size:1.125rem;font-weight:700;color:var(--color-text-primary);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.about-section__skills-list{display:flex;flex-direction:column;gap:.75rem}.about-section__skill-category-title{font-size:.75rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.about-section__skill-tags{display:flex;flex-wrap:wrap;gap:.375rem}.about-section__skill-tag{padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500}.about-section__skill-tag--blue{background-color:var(--color-primary-100);color:#1d4ed8}.about-section__skill-tag--purple{background-color:#f3e8ff;color:#7e22ce}.about-section__skill-tag--green{background-color:var(--color-emerald-100);color:#065f46}.about-section__skill-tag--orange{background-color:#fed7aa;color:#c2410c}.about-section__skill-tag--indigo{background-color:#e0e7ff;color:#4338ca}.about-section__certifications{background:linear-gradient(to bottom right,#eef2ff,#faf5ff);border-radius:.75rem;padding:1.5rem;border:1px solid #e0e7ff;box-shadow:0 1px 2px #0000000d;transition:box-shadow .2s}.about-section__certifications:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.about-section__cert-heading{font-size:1.125rem;font-weight:700;color:var(--color-text-primary);margin:0 0 .5rem;display:flex;align-items:center;gap:.5rem}.about-section__cert-card{background-color:#fff;border-radius:.5rem;padding:1rem;border:1px solid #e0e7ff}.about-section__cert-content{display:flex;align-items:flex-start;gap:.75rem}.about-section__cert-icon-wrapper{padding:.5rem;background-color:#e0e7ff;border-radius:.5rem;flex-shrink:0}.about-section__cert-icon{color:var(--color-indigo-500)}.about-section__cert-details{flex:1;min-width:0}.about-section__cert-name{font-size:1rem;font-weight:700;color:var(--color-text-primary);margin:0 0 .25rem}.about-section__cert-meta{font-size:.875rem;color:#4b5563;margin:0 0 .5rem}.about-section__cert-description{margin-bottom:.75rem;display:flex;flex-direction:column;gap:.5rem}.about-section__cert-paragraph{font-size:.875rem;color:var(--color-text-secondary);line-height:1.625;margin:0}.about-section__cert-strong{color:var(--color-text-primary)}.about-section__nft-section{margin-top:.75rem}.about-section__nft-title{font-size:.75rem;font-weight:600;color:var(--color-text-secondary);margin:0 0 .5rem}.about-section__nft-grid{display:grid;grid-template-columns:repeat(2,minmax(0,12rem));gap:.5rem}@media(min-width:768px){.about-section__nft-grid{grid-template-columns:repeat(4,minmax(0,12rem))}}.about-section__nft-card{position:relative;overflow:hidden;border-radius:.5rem;border:2px solid #e0e7ff;transition:all .2s;box-shadow:0 1px 2px #0000000d}.about-section__nft-card:hover{border-color:#c7d2fe;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.about-section__nft-image{width:100%;height:auto;aspect-ratio:1;object-fit:cover}.about-section__nft-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.95),rgba(0,0,0,.6),transparent);opacity:0;transition:opacity .2s;display:flex;flex-direction:column;justify-content:flex-end;padding:.5rem}.about-section__nft-card:hover .about-section__nft-overlay{opacity:1}.about-section__nft-header{display:flex;align-items:center;gap:.25rem;margin-bottom:.125rem}.about-section__nft-name{color:#fff;font-size:.75rem;font-weight:700;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;margin:0}.about-section__nft-external-icon{color:#fff;flex-shrink:0}.about-section__nft-description{color:#ffffffe6;font-size:.625rem;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 .25rem}.about-section__nft-recipients{color:var(--color-amber-300);font-size:.625rem;font-weight:600;margin:0}.series-section{margin-top:2rem;margin-bottom:2rem}.series-section__loading{background-color:#fff;padding:1.5rem;border-radius:.5rem;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;margin-bottom:1.5rem}.series-section__header{position:relative;overflow:hidden;background:linear-gradient(to bottom right,var(--color-primary-600),var(--color-indigo-600),#9333ea);border-radius:1rem;box-shadow:0 25px 50px -12px #00000040;margin-bottom:2rem}.series-section__header-pattern{position:absolute;inset:0;opacity:.1}.series-section__header-dots{position:absolute;inset:0}.series-section__header-content{position:relative;padding:3rem 2rem}.series-section__header-inner{max-width:56rem;margin-inline:auto;text-align:center}.series-section__badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#fff3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:9999px;color:#fff;font-size:.875rem;font-weight:500;margin-bottom:1rem}.series-section__title{font-size:2.25rem;font-weight:700;color:#fff;margin-bottom:1rem}@media(min-width:768px){.series-section__title{font-size:3rem}}.series-section__title-highlight{display:block;margin-top:.5rem;background:linear-gradient(to right,var(--color-amber-100),#fed7aa);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.series-section__description{font-size:1.25rem;color:var(--color-primary-100);margin-bottom:1.5rem;max-width:42rem;margin-inline:auto}.series-section__stats{display:flex;align-items:center;justify-content:center;gap:2rem;color:#fff}.series-section__stat{display:flex;align-items:center;gap:.5rem}.series-section__stat-icon{color:#bfdbfe}.series-section__stat-text{font-size:.875rem}.series-section__stat-number{font-weight:700}.series-section__stat-divider{height:1rem;width:1px;background-color:#ffffff4d}.series-section__grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem}@media(min-width:768px){.series-section__grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.series-section__grid{grid-template-columns:repeat(3,1fr)}}.series-section__cta{text-align:center}.series-section__cta-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(to right,var(--color-primary-600),var(--color-indigo-600));color:#fff;font-weight:600;border-radius:.5rem;transition:all .2s;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;text-decoration:none}.series-section__cta-button:hover{background:linear-gradient(to right,#1d4ed8,#4338ca);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.recommended-section{margin-top:1rem;margin-bottom:1.5rem;scroll-margin-top:5rem}.recommended-section__header{margin-bottom:.75rem}.recommended-section__header-top{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.recommended-section__title{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin:0}.recommended-section__subtitle{font-size:.875rem;color:#4b5563;margin:0}.recommended-section__view-all{display:inline-flex;align-items:center;gap:.25rem;font-size:.875rem;font-weight:500;color:var(--color-indigo-500);transition:color .2s;text-decoration:none}.recommended-section__view-all:hover{color:var(--color-indigo-600)}.recommended-section__view-all-icon{height:.875rem;width:.875rem}.recommended-section__scroll-container{display:flex;gap:1rem;overflow-x:auto;padding-bottom:1rem;scrollbar-width:thin;scrollbar-color:var(--color-border-strong) var(--color-bg-tertiary)}.recommended-section__scroll-container::-webkit-scrollbar{height:8px}.recommended-section__scroll-container::-webkit-scrollbar-track{background:var(--color-bg-tertiary)}.recommended-section__scroll-container::-webkit-scrollbar-thumb{background-color:var(--color-border-strong);border-radius:4px}.recommended-section__card-wrapper{flex-shrink:0;width:18rem}.profile-page{background-color:#fff;padding:1.5rem;border-radius:.5rem;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.profile-page__heading{font-size:1.25rem;font-weight:700;margin-bottom:1rem}.profile{display:flex;flex-direction:column;gap:1.5rem}.profile__loading{padding-top:2rem;padding-bottom:2rem}.profile__no-user{text-align:center;padding-top:2rem;padding-bottom:2rem;color:var(--color-text-muted)}.profile-section,.activity-summary{display:flex;flex-direction:column;gap:1rem}.activity-summary__stats-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem}@media(min-width:640px){.activity-summary__stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.activity-summary__stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.activity-summary__stat-card{background-color:#fff;border-radius:.5rem;border:1px solid var(--color-border-default);padding:1rem}.activity-summary__stat-content{display:flex;align-items:center}.activity-summary__stat-icon{padding:.5rem;border-radius:.375rem}.activity-summary__stat-icon--blue{background-color:#eff6ff;color:var(--color-primary-600)}.activity-summary__stat-icon--green{background-color:#f0fdf4;color:var(--color-green-600)}.activity-summary__stat-icon--purple{background-color:#faf5ff;color:#9333ea}.activity-summary__stat-icon--orange{background-color:#fff7ed;color:#ea580c}.activity-summary__stat-icon--indigo{background-color:#eef2ff;color:var(--color-indigo-500)}.activity-summary__stat-icon-svg{height:1.25rem;width:1.25rem}.activity-summary__stat-info{margin-left:1rem}.activity-summary__stat-value{font-size:1.5rem;font-weight:600;color:var(--color-text-primary)}.activity-summary__stat-label{font-size:.875rem;color:var(--color-text-muted)}.activity-summary__timeline-card{background-color:#fff;border-radius:.5rem;border:1px solid var(--color-border-default);padding:1rem}.activity-summary__timeline-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.activity-summary__timeline-title{font-size:1.125rem;font-weight:500;color:var(--color-text-primary)}.activity-summary__last-active{display:flex;align-items:center;font-size:.875rem;color:var(--color-text-muted)}.activity-summary__calendar-icon{height:1rem;width:1rem;margin-right:.25rem}.activity-summary__timeline-list{display:flex;flex-direction:column;gap:.75rem}.activity-summary__timeline-item{display:flex;align-items:center;gap:.75rem;font-size:.875rem}.activity-summary__timeline-dot{width:.5rem;height:.5rem;border-radius:9999px;flex-shrink:0}.activity-summary__timeline-dot--blue{background-color:#60a5fa}.activity-summary__timeline-dot--green{background-color:#4ade80}.activity-summary__timeline-dot--gray{background-color:var(--color-border-strong)}.activity-summary__timeline-text{color:#4b5563}.activity-summary__timeline-time{color:var(--color-gray-400)}.user-info{display:flex;flex-direction:column;gap:1rem}.user-info__header-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:linear-gradient(to right,#eff6ff,#eef2ff);border-radius:.5rem;border:1px solid var(--color-primary-100)}.user-info__avatar{background-color:var(--color-primary-100);padding:1rem;border-radius:9999px}.user-info__avatar-icon{height:2rem;width:2rem;color:var(--color-primary-600)}.user-info__header-content{flex:1}.user-info__name{font-size:1.125rem;font-weight:600;color:var(--color-text-primary)}.user-info__email{color:var(--color-primary-600);font-weight:500}.user-info__roles-badge{display:flex;align-items:center;margin-top:.25rem}.user-info__roles-icon{height:.75rem;width:.75rem;color:var(--color-gray-400);margin-right:.25rem}.user-info__roles-text{font-size:.75rem;color:var(--color-text-muted)}.user-info__details-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem}@media(min-width:768px){.user-info__details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.user-info__details-column{display:flex;flex-direction:column;gap:.25rem}.user-info__item{display:flex;align-items:center;gap:.75rem;padding-top:.5rem;padding-bottom:.5rem}.user-info__item-icon-wrapper{flex-shrink:0}.user-info__item-icon{height:1rem;width:1rem;color:var(--color-gray-400)}.user-info__item-content{min-width:0;flex:1}.user-info__item-value{font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.user-info__item-label{font-size:.875rem;color:var(--color-text-muted)}.user-info__additional{margin-top:1rem;padding:1rem;background-color:var(--color-bg-secondary);border-radius:.5rem}.user-info__additional-title{font-size:.875rem;font-weight:500;color:var(--color-text-primary);margin-bottom:.5rem}.user-info__additional-content{display:flex;flex-direction:column;gap:.25rem}.user-info__bio{font-size:.875rem;color:#4b5563}.user-info__website-link{font-size:.875rem;font-weight:500;color:var(--color-primary-600);text-decoration:none}.user-info__website-link:hover{color:var(--color-primary-700)}.user-roles-display{background-color:var(--color-bg-secondary);padding:1rem;border-radius:.5rem;border:1px solid var(--color-border-default)}.user-roles-display__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.user-roles-display__header-left{display:flex;align-items:center;gap:.5rem}.user-roles-display__title-icon{height:1.25rem;width:1.25rem;color:var(--color-primary-600)}.user-roles-display__title{font-weight:500}.user-roles-display__toggle-btn{font-size:.75rem;padding:.25rem .5rem;background-color:var(--color-bg-tertiary);color:#4b5563;border-radius:.25rem;border:none;cursor:pointer;display:flex;align-items:center;gap:.25rem;transition:background-color .15s}.user-roles-display__toggle-btn:hover{background-color:var(--color-border-default)}.user-roles-display__toggle-btn:focus{outline:none;box-shadow:0 0 0 2px var(--color-primary-500),0 0 0 1px #fff;outline-offset:1px}.user-roles-display__toggle-icon{width:.75rem;height:.75rem}.user-roles-display__user-info{margin-bottom:1rem;padding:.75rem;background-color:#fff;border-radius:.25rem;border:1px solid var(--color-border-default)}.user-roles-display__user-info-item{font-size:.875rem;color:#4b5563}.user-roles-display__user-info-value{font-weight:500;color:var(--color-text-primary)}.user-roles-display__section{margin-bottom:1rem}.user-roles-display__section-title{font-size:.875rem;font-weight:500;color:var(--color-text-secondary);margin-bottom:.5rem;display:flex;align-items:center;gap:.25rem}.user-roles-display__section-icon{width:1rem;height:1rem}.roles-list{display:flex;flex-direction:column;gap:.5rem}.roles-list__empty{color:var(--color-text-muted);font-style:italic;font-size:.875rem}.roles-list__item{display:flex;align-items:center;justify-content:space-between;padding:.5rem}.roles-list__description{font-size:.75rem;color:#4b5563}.permissions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.permissions-grid__item{padding:.5rem;border-radius:.25rem;font-size:.75rem}.permissions-grid__item--granted{background-color:#f0fdf4;color:#15803d}.permissions-grid__item--denied{background-color:var(--color-red-50);color:#b91c1c}.preferences-panel{display:flex;flex-direction:column;gap:1.5rem}.preferences-panel__card{background-color:#fff;border-radius:.5rem;border:1px solid var(--color-border-default);padding:1rem}.preferences-panel__card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.preferences-panel__card-icon{height:1.25rem;width:1.25rem}.preferences-panel__card-icon--blue{color:var(--color-primary-600)}.preferences-panel__card-icon--green{color:var(--color-green-600)}.preferences-panel__card-icon--purple{color:#9333ea}.preferences-panel__card-title{font-size:1.125rem;font-weight:500;color:var(--color-text-primary)}.preferences-panel__card-content{display:flex;flex-direction:column;gap:.25rem}.preferences-panel__item{display:flex;align-items:center;justify-content:space-between;padding-top:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-bg-tertiary)}.preferences-panel__item:last-child{border-bottom:none}.preferences-panel__item-left{display:flex;align-items:center;gap:.75rem}.preferences-panel__icon{padding:.5rem;background-color:var(--color-bg-tertiary);border-radius:.5rem}.preferences-panel__icon-svg{height:1rem;width:1rem;color:#4b5563}.preferences-panel__item-text{display:flex;flex-direction:column}.preferences-panel__item-label{font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.preferences-panel__item-description{font-size:.75rem;color:var(--color-text-muted)}.preferences-panel__item-value{font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.preferences-panel__notice{background-color:var(--color-amber-100);border:1px solid var(--color-amber-300);border-radius:.5rem;padding:1rem}.preferences-panel__notice-content{display:flex;align-items:center;gap:.5rem}.preferences-panel__notice-icon{height:1.25rem;width:1.25rem;color:var(--color-amber-600)}.preferences-panel__notice-text{font-size:.875rem;color:var(--color-amber-800)}.debug-panel{display:flex;flex-direction:column;gap:1rem}.debug-panel__section-title{font-size:.875rem;font-weight:500;color:var(--color-text-secondary);margin-bottom:.5rem}.debug-panel__section-content{background-color:#fff;border:1px solid var(--color-border-default);border-radius:.25rem;padding:.75rem}.debug-panel__empty{color:var(--color-text-muted);font-style:italic;font-size:.875rem}.debug-panel__permissions-list{display:grid;grid-template-columns:1fr;gap:.25rem}.debug-panel__permission-row{display:flex;align-items:center;justify-content:space-between;font-size:.875rem}.debug-panel__permission-label{color:#4b5563}.debug-panel__permission-badge{padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem}.debug-panel__permission-badge--allowed{background-color:#dcfce7;color:#15803d}.debug-panel__permission-badge--denied{background-color:var(--color-red-100);color:#b91c1c}.debug-panel__preferences-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;font-size:.875rem}.debug-panel__preference-item{color:var(--color-text-secondary)}.debug-panel__preference-value{font-weight:500}.debug-panel__debug-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.debug-panel__debug-icon{height:1rem;width:1rem;color:var(--color-primary-600)}.debug-panel__json-display{background-color:var(--color-bg-tertiary);padding:.75rem;border-radius:.375rem;font-size:.75rem;font-family:ui-monospace,monospace;white-space:pre-wrap;overflow:auto;max-height:16rem}.blog-routes__loading{min-height:100vh;display:flex;align-items:center;justify-content:center}.tags-browse-page{min-height:100vh;background:linear-gradient(to bottom right,var(--color-gray-50),white,var(--color-primary-50));padding:2rem 0}.tags-browse-page__container{max-width:80rem;margin:0 auto;padding:0 1rem}@media(min-width:640px){.tags-browse-page__container{padding:0 1.5rem}}@media(min-width:1024px){.tags-browse-page__container{padding:0 2rem}}.tags-browse-page__loading{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;display:flex;flex-direction:column;gap:2rem}.tags-browse-page__loading-header{height:3rem;background-color:var(--color-gray-200);border-radius:.5rem;width:33.333333%}.tags-browse-page__loading-search{height:2.5rem;background-color:var(--color-gray-200);border-radius:.5rem;width:100%}.tags-browse-page__loading-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.tags-browse-page__loading-item{height:6rem;background-color:var(--color-gray-200);border-radius:.5rem}.tags-browse-page__header{margin-bottom:2rem}.tags-browse-page__back-btn{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-secondary);margin-bottom:1rem;transition:color .2s;background:none;border:none;cursor:pointer;padding:0}.tags-browse-page__back-btn:hover{color:var(--color-primary-600)}.tags-browse-page__hero{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.tags-browse-page__hero-icon{padding:.75rem;background:linear-gradient(to bottom right,var(--color-primary-500),var(--color-indigo-600));border-radius:.75rem;box-shadow:0 10px 15px -3px #0000001a}.tags-browse-page__hero-text{flex:1}.tags-browse-page__title{font-size:2.25rem;font-weight:700;background:linear-gradient(to right,var(--color-primary-600),var(--color-indigo-600));-webkit-background-clip:text;background-clip:text;color:transparent}.tags-browse-page__subtitle{color:var(--color-text-secondary);margin-top:.25rem}.tags-browse-page__stats{display:flex;align-items:center;gap:1.5rem;font-size:.875rem}.tags-browse-page__stat{display:flex;align-items:center;gap:.5rem}.tags-browse-page__stat-icon{padding:.5rem;border-radius:.5rem}.tags-browse-page__stat-icon--indigo{background-color:var(--color-indigo-100);color:var(--color-indigo-600)}.tags-browse-page__stat-icon--purple{background-color:#f3e8ff;color:#9333ea}.tags-browse-page__stat-text{display:flex;align-items:baseline}.tags-browse-page__stat-value{font-weight:600}.tags-browse-page__stat-value--indigo{color:var(--color-indigo-600)}.tags-browse-page__stat-value--purple{color:#9333ea}.tags-browse-page__stat-label{color:var(--color-text-secondary);margin-left:.25rem}.tags-browse-page__search{margin-bottom:2rem}.tags-browse-page__search-wrapper{position:relative}.tags-browse-page__search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--color-gray-400)}.tags-browse-page__search-input{width:100%;padding:.75rem 1rem .75rem 3rem;border:1px solid var(--color-border-default);border-radius:.75rem;background-color:#fff;box-shadow:0 1px 2px #0000000d;transition:all .2s}.tags-browse-page__search-input:focus{outline:none;box-shadow:0 0 0 3px #3b82f61a;border-color:var(--color-primary-500)}.tags-browse-page__search-results{font-size:.875rem;color:var(--color-text-secondary);margin-top:.5rem}.tags-browse-page__search-results-count{font-weight:600;color:var(--color-primary-600)}.tags-browse-page__empty{text-align:center;padding:4rem 0}.tags-browse-page__empty-icon{display:inline-flex;align-items:center;justify-content:center;width:4rem;height:4rem;background-color:var(--color-gray-100);border-radius:9999px;margin-bottom:1rem;color:var(--color-gray-400)}.tags-browse-page__empty-title{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin-bottom:.5rem}.tags-browse-page__empty-text{color:var(--color-text-secondary);margin-bottom:1rem}.tags-browse-page__empty-btn{color:var(--color-primary-600);font-weight:500;background:none;border:none;cursor:pointer;padding:0}.tags-browse-page__empty-btn:hover{color:var(--color-primary-700)}.tags-browse-page__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.tags-browse-page__tag{width:100%;text-align:left;background:#fff;border-radius:.75rem;border:2px solid transparent;cursor:pointer;transition:all .3s;box-shadow:0 1px 3px #0000001a}.tags-browse-page__tag:hover{border-color:transparent;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;transform:translateY(-2px)}.tags-browse-page__tag--small{font-size:1rem;padding:1rem}.tags-browse-page__tag--medium{font-size:1.125rem;padding:1.25rem}.tags-browse-page__tag--large{font-size:1.25rem;padding:1.5rem}.tags-browse-page__tag-content{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.tags-browse-page__tag-left{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.tags-browse-page__tag-icon{padding:.5rem;background-color:var(--color-indigo-100);color:var(--color-indigo-600);border-radius:.5rem;flex-shrink:0}.tags-browse-page__tag-text{flex:1;min-width:0}.tags-browse-page__tag-name{font-weight:600;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tags-browse-page__tag-badge{flex-shrink:0;padding:.375rem .75rem;background:linear-gradient(to right,var(--color-primary-100),#ddd6fe);color:var(--color-primary-700);border-radius:9999px;font-size:.75rem;font-weight:700;box-shadow:0 1px 2px #0000000d}.categories-browse-page{min-height:100vh;background:linear-gradient(to bottom right,var(--color-gray-50),white,var(--color-primary-50));padding:2rem 0}.categories-browse-page__container{max-width:80rem;margin:0 auto;padding:0 1rem}@media(min-width:640px){.categories-browse-page__container{padding:0 1.5rem}}@media(min-width:1024px){.categories-browse-page__container{padding:0 2rem}}.categories-browse-page__loading{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;display:flex;flex-direction:column;gap:2rem}.categories-browse-page__loading-header{height:3rem;background-color:var(--color-gray-200);border-radius:.5rem;width:33.333333%}.categories-browse-page__loading-search{height:2.5rem;background-color:var(--color-gray-200);border-radius:.5rem;width:100%}.categories-browse-page__loading-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:1.5rem}@media(min-width:768px){.categories-browse-page__loading-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.categories-browse-page__loading-grid{grid-template-columns:repeat(3,1fr)}}.categories-browse-page__loading-item{height:10rem;background-color:var(--color-gray-200);border-radius:.5rem}.categories-browse-page__header{margin-bottom:2rem}.categories-browse-page__back-btn{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-secondary);margin-bottom:1rem;transition:color .2s;background:none;border:none;cursor:pointer;padding:0}.categories-browse-page__back-btn:hover{color:var(--color-primary-600)}.categories-browse-page__hero{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.categories-browse-page__hero-icon{padding:.75rem;background:linear-gradient(to bottom right,var(--color-primary-500),var(--color-indigo-600));border-radius:.75rem;box-shadow:0 10px 15px -3px #0000001a}.categories-browse-page__hero-text{flex:1}.categories-browse-page__title{font-size:2.25rem;font-weight:700;background:linear-gradient(to right,var(--color-primary-600),var(--color-indigo-600));-webkit-background-clip:text;background-clip:text;color:transparent}.categories-browse-page__subtitle{color:var(--color-text-secondary);margin-top:.25rem}.categories-browse-page__stats{display:flex;align-items:center;gap:1.5rem;font-size:.875rem}.categories-browse-page__stat{display:flex;align-items:center;gap:.5rem}.categories-browse-page__stat-icon{padding:.5rem;border-radius:.5rem}.categories-browse-page__stat-icon--blue{background-color:var(--color-primary-100);color:var(--color-primary-600)}.categories-browse-page__stat-icon--indigo{background-color:var(--color-indigo-100);color:var(--color-indigo-600)}.categories-browse-page__stat-text{display:flex;align-items:baseline}.categories-browse-page__stat-value{font-weight:600}.categories-browse-page__stat-value--blue{color:var(--color-primary-600)}.categories-browse-page__stat-value--indigo{color:var(--color-indigo-600)}.categories-browse-page__stat-label{color:var(--color-text-secondary);margin-left:.25rem}.categories-browse-page__search{margin-bottom:2rem}.categories-browse-page__search-wrapper{position:relative}.categories-browse-page__search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--color-gray-400)}.categories-browse-page__search-input{width:100%;padding:.75rem 1rem .75rem 3rem;border:1px solid var(--color-border-default);border-radius:.75rem;background-color:#fff;box-shadow:0 1px 2px #0000000d;transition:all .2s}.categories-browse-page__search-input:focus{outline:none;box-shadow:0 0 0 3px #3b82f61a;border-color:var(--color-primary-500)}.categories-browse-page__search-results{font-size:.875rem;color:var(--color-text-secondary);margin-top:.5rem}.categories-browse-page__search-results-count{font-weight:600;color:var(--color-primary-600)}.categories-browse-page__empty{text-align:center;padding:4rem 0}.categories-browse-page__empty-icon{display:inline-flex;align-items:center;justify-content:center;width:4rem;height:4rem;background-color:var(--color-gray-100);border-radius:9999px;margin-bottom:1rem;color:var(--color-gray-400)}.categories-browse-page__empty-title{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin-bottom:.5rem}.categories-browse-page__empty-text{color:var(--color-text-secondary);margin-bottom:1rem}.categories-browse-page__empty-btn{color:var(--color-primary-600);font-weight:500;background:none;border:none;cursor:pointer;padding:0}.categories-browse-page__empty-btn:hover{color:var(--color-primary-700)}.categories-browse-page__grid{display:grid;grid-template-columns:repeat(1,1fr);gap:1.5rem}@media(min-width:768px){.categories-browse-page__grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.categories-browse-page__grid{grid-template-columns:repeat(3,1fr)}}.categories-browse-page__category{width:100%;text-align:left;background-color:#fff;border-radius:.75rem;border:2px solid;overflow:hidden;transition:all .3s;cursor:pointer;padding:0}.categories-browse-page__category:hover{border-color:transparent;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;transform:translateY(-2px)}.categories-browse-page__category-accent{height:.5rem;width:100%}.categories-browse-page__category-content{padding:1.5rem}.categories-browse-page__category-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.categories-browse-page__category-main{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.categories-browse-page__category-icon{padding:.75rem;border-radius:.5rem;flex-shrink:0;box-shadow:0 1px 2px #0000000d}.categories-browse-page__category-name{font-size:1.25rem;font-weight:700;transition:transform .2s}.categories-browse-page__category:hover .categories-browse-page__category-name{transform:translate(.25rem)}.categories-browse-page__category-badge{flex-shrink:0;padding:.375rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:700;box-shadow:0 1px 2px #0000000d}.categories-browse-page__category-description{color:var(--color-text-secondary);font-size:.875rem;line-height:1.625;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.series-list-page{width:100%;margin:0 auto;padding:2rem 1rem}.series-list-page__error{padding:1.5rem;background-color:#fee;border:1px solid #fcc;color:#c00;border-radius:.5rem}.series-list-page__header{margin-bottom:1.5rem}.series-list-page__title{font-size:1.875rem;font-weight:700;color:var(--color-text-primary);margin-bottom:.5rem}@media(min-width:768px){.series-list-page__title{font-size:2.25rem}}.series-list-page__subtitle{font-size:1.125rem;color:var(--color-text-secondary)}.series-list-page__filters{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding:1rem;background-color:var(--color-gray-50);border-radius:.75rem}@media(min-width:640px){.series-list-page__filters{flex-direction:row}}.series-list-page__filter-group{flex:1}.series-list-page__filter-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-secondary);margin-bottom:.5rem}.series-list-page__filter-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.series-list-page__filter-button{padding:.375rem .75rem;font-size:.875rem;font-weight:500;border-radius:9999px;transition:all .2s;background-color:#fff;color:var(--color-text-secondary);border:1px solid var(--color-border-default);cursor:pointer}.series-list-page__filter-button:hover{background-color:var(--color-gray-100)}.series-list-page__filter-button--active{background-color:var(--color-indigo-600);color:#fff;border-color:var(--color-indigo-600);box-shadow:0 1px 2px #0000000d}.series-list-page__sort-group{width:100%}@media(min-width:640px){.series-list-page__sort-group{width:12rem}}.series-list-page__sort-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-secondary);margin-bottom:.5rem}.series-list-page__sort-select{width:100%;padding:.375rem .75rem;font-size:.875rem;background-color:#fff;border:1px solid var(--color-border-default);border-radius:.5rem;cursor:pointer}.series-list-page__sort-select:focus{outline:none;box-shadow:0 0 0 2px var(--color-indigo-500);border-color:transparent}.series-list-page__results-count{font-size:.875rem;color:var(--color-gray-500);margin-bottom:1rem}.series-list-page__empty{text-align:center;padding:3rem 0}.series-list-page__empty-icon{color:var(--color-gray-300);margin:0 auto 1rem}.series-list-page__empty-text{color:var(--color-gray-500);font-size:1.125rem;margin-bottom:.5rem}.series-list-page__empty-button{margin-top:.5rem;color:var(--color-indigo-600);font-size:.875rem;font-weight:500;background:none;border:none;cursor:pointer;padding:0}.series-list-page__empty-button:hover{color:var(--color-indigo-700)}.series-list-page__grid{display:grid;grid-template-columns:repeat(1,1fr);gap:1.5rem;margin-bottom:2rem}@media(min-width:768px){.series-list-page__grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.series-list-page__grid{grid-template-columns:repeat(3,1fr)}}.series-list-page__pagination{display:flex;justify-content:center;gap:.5rem;align-items:center}.series-list-page__pagination-info{padding:.5rem 1rem;color:var(--color-text-secondary)}.dashboard-page{max-width:80rem;margin:0 auto;padding:1.5rem}.dashboard-page__header{margin-bottom:2rem}.dashboard-page__title{font-size:2rem;font-weight:700;color:var(--color-text-primary);margin-bottom:.5rem}.dashboard-page__subtitle{color:var(--color-text-muted)}.dashboard-page__stats{display:grid;grid-template-columns:repeat(1,1fr);gap:1rem;margin-bottom:2rem}@media(min-width:640px){.dashboard-page__stats{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.dashboard-page__stats{grid-template-columns:repeat(4,1fr)}}.dashboard-stat-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:#fff;border-radius:.75rem;border:1px solid var(--color-border-default);text-decoration:none;transition:all .2s;box-shadow:0 1px 3px #0000001a}.dashboard-stat-card:hover{box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-2px);border-color:var(--stat-color, var(--color-indigo-500))}.dashboard-stat-card__icon{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:.5rem;background-color:color-mix(in srgb,var(--stat-color, var(--color-indigo-500)) 10%,transparent);color:var(--stat-color, var(--color-indigo-500))}.dashboard-stat-card__content{flex:1;display:flex;flex-direction:column}.dashboard-stat-card__value{font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.dashboard-stat-card__title{font-size:.875rem;color:var(--color-text-muted)}.dashboard-stat-card__arrow{color:var(--color-gray-400);transition:transform .2s}.dashboard-stat-card:hover .dashboard-stat-card__arrow{transform:translate(4px);color:var(--stat-color, var(--color-indigo-500))}.dashboard-page__grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:768px){.dashboard-page__grid{grid-template-columns:repeat(2,1fr)}}.dashboard-page__section{background:#fff;border-radius:.75rem;border:1px solid var(--color-border-default);padding:1.5rem;box-shadow:0 1px 3px #0000001a}.dashboard-page__section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.dashboard-page__section-header h2{font-size:1.125rem;font-weight:600;color:var(--color-text-primary)}.dashboard-page__section-link{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:var(--color-indigo-500);text-decoration:none}.dashboard-page__section-link:hover{color:var(--color-indigo-600)}.dashboard-page__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.dashboard-page__list-item a{display:flex;align-items:center;justify-content:space-between;padding:.75rem;border-radius:.5rem;text-decoration:none;transition:background-color .2s}.dashboard-page__list-item a:hover{background-color:var(--color-bg-secondary)}.dashboard-page__list-title{font-weight:500;color:var(--color-text-primary)}.dashboard-page__list-badge{font-size:.75rem;padding:.25rem .5rem;border-radius:.25rem;color:#fff}.dashboard-page__progress{display:flex;align-items:center;gap:.5rem;flex:1;max-width:8rem}.dashboard-page__progress-bar{flex:1;height:.5rem;background-color:var(--color-border-default);border-radius:.25rem;overflow:hidden}.dashboard-page__progress-bar>div{height:100%;background-color:var(--color-emerald-500);border-radius:.25rem}.dashboard-page__progress-text{font-size:.75rem;color:var(--color-text-muted);min-width:2.5rem;text-align:right}.dashboard-page__empty{color:var(--color-gray-400);text-align:center;padding:1rem}.dashboard-loading{display:flex;align-items:center;justify-content:center;min-height:50vh}.dashboard-page__admin-tools{margin-bottom:2rem}.dashboard-page__admin-link{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:linear-gradient(135deg,var(--color-indigo-500) 0%,var(--color-violet-500) 100%);border-radius:.75rem;text-decoration:none;transition:all .2s;box-shadow:0 2px 4px #6366f133}.dashboard-page__admin-link:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6366f14d}.dashboard-page__admin-link-icon{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;background:#fff3;border-radius:.5rem;color:#fff;flex-shrink:0}.dashboard-page__admin-link-content{flex:1}.dashboard-page__admin-link-title{display:block;font-size:1rem;font-weight:600;color:#fff;margin-bottom:.125rem}.dashboard-page__admin-link-description{display:block;font-size:.875rem;color:#fffc}.dashboard-page__admin-link-arrow{color:#fffc;flex-shrink:0;transition:transform .2s}.dashboard-page__admin-link:hover .dashboard-page__admin-link-arrow{transform:translate(4px);color:#fff}.dashboard-source-widget__title{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin-bottom:1rem}.dashboard-source-widget__empty{color:var(--color-gray-400);text-align:center;padding:.5rem;font-size:.875rem}.dashboard-source-widget__list{display:flex;flex-direction:column;gap:.5rem}.dashboard-source-widget__item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:.5rem;background-color:var(--color-bg-secondary);transition:background-color .2s}.dashboard-source-widget__item:hover{background-color:var(--color-bg-tertiary)}.dashboard-source-widget__icon{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.375rem;background-color:color-mix(in srgb,var(--source-color, var(--color-text-muted)) 15%,transparent);color:var(--source-color, var(--color-text-muted))}.dashboard-source-widget__label{flex:1;font-size:.875rem;color:var(--color-text-secondary)}.dashboard-source-widget__count{font-size:.875rem;font-weight:600;color:var(--color-text-primary);min-width:1.5rem;text-align:right}.dashboard-activity-feed__title{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin-bottom:1rem}.dashboard-activity-feed__empty{color:var(--color-gray-400);text-align:center;padding:.5rem;font-size:.875rem}.dashboard-activity-feed__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.25rem}.dashboard-activity-feed__link{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:.5rem;text-decoration:none;transition:background-color .2s}.dashboard-activity-feed__link:hover{background-color:var(--color-bg-secondary)}.dashboard-activity-feed__icon{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:.375rem;background-color:color-mix(in srgb,var(--activity-color, var(--color-indigo-500)) 15%,transparent);color:var(--activity-color, var(--color-indigo-500));flex-shrink:0}.dashboard-activity-feed__content{flex:1;display:flex;justify-content:space-between;align-items:center;min-width:0}.dashboard-activity-feed__text{font-size:.875rem;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-activity-feed__time{font-size:.75rem;color:var(--color-gray-400);flex-shrink:0;margin-left:.5rem}.dashboard-page__today{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}@media(min-width:768px){.dashboard-page__today{flex-direction:row;align-items:flex-start}}.dashboard-page__today-left{flex:1}.dashboard-page__inbox-alert{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:var(--color-amber-100);border:1px solid var(--color-amber-300);border-radius:.75rem;color:var(--color-amber-800);text-decoration:none;font-size:.875rem;transition:background-color .2s}.dashboard-page__inbox-alert:hover{background:#fde68a}.dashboard-page__inbox-alert strong{font-weight:600}.habits-widget{background:#fff;border-radius:.75rem;border:1px solid var(--color-border-default);padding:1rem 1.25rem;box-shadow:0 1px 3px #0000001a}.habits-widget__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.habits-widget__title{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0}.habits-widget__count{font-size:.875rem;font-weight:600;color:var(--color-emerald-500)}.habits-widget__list{display:flex;flex-wrap:wrap;gap:.5rem}.habits-widget__item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid var(--color-border-default);border-radius:.5rem;background:#fff;cursor:pointer;transition:all .2s;font-size:.875rem;color:var(--color-text-muted)}.habits-widget__item:hover{border-color:var(--color-emerald-500);background:#f0fdf4}.habits-widget__item--checked{border-color:var(--color-emerald-500);background:#ecfdf5;color:var(--color-emerald-600)}.habits-widget__icon{color:var(--color-border-strong);flex-shrink:0}.habits-widget__icon--checked{color:var(--color-emerald-500)}.habits-widget__label{font-weight:500}.habits-widget__loading{text-align:center;color:var(--color-gray-400);padding:1rem}.blog-admin-page{max-width:64rem;margin:0 auto;padding:1.5rem}.blog-admin-page__header{margin-bottom:2rem}.blog-admin-page__title{font-size:2rem;font-weight:700;color:var(--color-text-primary);margin-bottom:.5rem}.blog-admin-page__subtitle{font-size:1rem;color:var(--color-text-muted)}.blog-admin-page__grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:640px){.blog-admin-page__grid{grid-template-columns:repeat(2,1fr)}}.blog-admin-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:#fff;border:1px solid var(--color-border-default);border-radius:.75rem;text-decoration:none;transition:all .2s}.blog-admin-card:hover{border-color:var(--card-color, var(--color-indigo-500));box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-2px)}.blog-admin-card__icon{display:flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;border-radius:.75rem;background:color-mix(in srgb,var(--card-color, var(--color-indigo-500)) 10%,white);color:var(--card-color, var(--color-indigo-500));flex-shrink:0}.blog-admin-card__content{flex:1;min-width:0}.blog-admin-card__title{display:block;font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin-bottom:.25rem}.blog-admin-card__description{display:block;font-size:.875rem;color:var(--color-text-muted)}.blog-admin-card__stats{display:block;font-size:.75rem;color:var(--color-gray-400);margin-top:.25rem}.blog-admin-card__arrow{color:var(--color-gray-400);flex-shrink:0;transition:transform .2s}.blog-admin-card:hover .blog-admin-card__arrow{transform:translate(4px);color:var(--card-color, var(--color-indigo-500))}.notes-page{max-width:80rem;margin:0 auto;padding:1.5rem}.notes-page__header{margin-bottom:1.5rem}.notes-page__title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.notes-page__title{font-size:2rem;font-weight:700;color:var(--color-text-primary)}.notes-page__add-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background-color:var(--color-indigo-500);color:#fff;border:none;border-radius:.5rem;font-weight:500;cursor:pointer;transition:background-color .2s}.notes-page__add-btn:hover{background-color:var(--color-indigo-600)}.notes-page__filters{display:flex;gap:1rem;flex-wrap:wrap}.notes-page__search{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border:1px solid var(--color-border-default);border-radius:.5rem;flex:1;min-width:200px}.notes-page__search input{border:none;outline:none;flex:1;font-size:.875rem}.notes-page__category-filter{padding:.5rem 1rem;border:1px solid var(--color-border-default);border-radius:.5rem;font-size:.875rem}.notes-page__form-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.notes-page__form{background:#fff;border-radius:.75rem;padding:1.5rem;width:100%;max-width:32rem;display:flex;flex-direction:column;gap:1rem;max-height:90vh;overflow-y:auto}.notes-page__form-header{display:flex;align-items:center;justify-content:space-between}.notes-page__form-header h2{font-size:1.25rem;font-weight:600}.notes-page__form-header button{background:none;border:none;cursor:pointer;color:var(--color-text-muted)}.notes-page__form input,.notes-page__form select,.notes-page__form textarea{padding:.75rem;border:1px solid var(--color-border-default);border-radius:.5rem;font-size:.875rem}.notes-page__form textarea{resize:vertical;font-family:inherit}.notes-page__form-actions{display:flex;justify-content:flex-end;gap:.75rem}.notes-page__form-actions button{padding:.5rem 1rem;border-radius:.5rem;font-weight:500;cursor:pointer}.notes-page__form-actions button[type=button]{background:var(--color-bg-tertiary);border:none;color:var(--color-text-secondary)}.notes-page__form-actions button[type=submit]{background:var(--color-indigo-500);border:none;color:#fff}.notes-page__grid{display:grid;grid-template-columns:repeat(1,1fr);gap:1rem}@media(min-width:640px){.notes-page__grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.notes-page__grid{grid-template-columns:repeat(3,1fr)}}.note-card{background:#fff;border-radius:.75rem;border:1px solid var(--color-border-default);padding:1.25rem;transition:box-shadow .2s}.note-card:hover{box-shadow:0 4px 6px -1px #0000001a}.note-card__header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.75rem}.note-card__title{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0}.note-card__actions{display:flex;gap:.25rem}.note-card__actions button{background:none;border:none;cursor:pointer;padding:.25rem;color:var(--color-gray-400);transition:color .2s}.note-card__actions button:hover{color:var(--color-text-secondary)}.note-card__pin--active{color:var(--color-amber-500)!important}.note-card__delete:hover{color:var(--color-red-500)!important}.note-card__category{display:inline-block;font-size:.75rem;padding:.25rem .5rem;border-radius:.25rem;color:#fff;margin-bottom:.5rem}.note-card__content{font-size:.875rem;color:var(--color-text-muted);line-height:1.5;margin-bottom:.75rem}.note-card__footer{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;color:var(--color-gray-400)}.note-card__tags{display:flex;gap:.25rem}.note-card__tag{background:var(--color-bg-tertiary);padding:.125rem .375rem;border-radius:.25rem}.notes-page__source-filter{padding:.5rem 1rem;border:1px solid var(--color-border-default);border-radius:.5rem;background:#fff;font-size:.875rem}.notes-page__form-source{margin-top:.5rem}.notes-page__form-source-row{display:flex;gap:.5rem}.notes-page__form-source-url{flex:1}.notes-page__form-timestamp{width:100px}.notes-page__form-source-hint{font-size:.75rem;color:var(--color-gray-400);margin-top:.25rem}.note-card--has-thumbnail{padding:0;overflow:hidden}.note-card--has-thumbnail .note-card__body{padding:1rem}.note-card__thumbnail-link{display:block;position:relative}.note-card__thumbnail{width:100%;height:140px;object-fit:cover}.note-card__timestamp{position:absolute;bottom:.5rem;right:.5rem;background:#000c;color:#fff;font-size:.75rem;padding:.125rem .375rem;border-radius:.25rem}.note-card__badges{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}.note-card__source-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.7rem;padding:.2rem .4rem;border-radius:.25rem;text-transform:uppercase;font-weight:500}.note-card__source-badge--youtube{background:var(--color-red-100);color:var(--color-red-600)}.note-card__source-badge--podcast{background:var(--color-primary-100);color:var(--color-primary-600)}.note-card__source-badge--article{background:var(--color-emerald-100);color:var(--color-emerald-600)}.note-card__source-badge--book{background:var(--color-amber-100);color:var(--color-amber-600)}.note-card__source-badge--other{background:var(--color-bg-tertiary);color:var(--color-text-muted)}.note-card__source-title{font-size:.75rem;color:var(--color-gray-400);margin-bottom:.5rem;font-style:italic}.note-card__source-link{display:inline-flex;align-items:center;gap:.25rem;color:var(--color-indigo-500);text-decoration:none;font-size:.75rem}.note-card__source-link:hover{color:var(--color-indigo-600)}.notes-page__header-actions{display:flex;gap:.5rem}.notes-page__quick-capture-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background-color:var(--color-amber-500);color:#fff;border:none;border-radius:.5rem;font-weight:500;cursor:pointer;transition:background-color .2s}.notes-page__quick-capture-btn:hover{background-color:var(--color-amber-600)}.notes-page__quick-capture{background:#fff;border-radius:.75rem;padding:1.5rem;width:100%;max-width:32rem;box-shadow:0 20px 25px -5px #0000001a}.notes-page__quick-capture textarea{width:100%;padding:.75rem;border:1px solid var(--color-border-default);border-radius:.5rem;font-size:1rem;resize:vertical;font-family:inherit}.notes-page__inbox{background:var(--color-amber-100);border-radius:.75rem;padding:1rem;margin-bottom:1.5rem;border:1px solid var(--color-amber-300)}.notes-page__inbox-header{margin-bottom:.75rem}.notes-page__inbox-header h2{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:var(--color-amber-800);margin:0}.notes-page__inbox-list{display:flex;flex-direction:column;gap:.5rem}.inbox-card{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:.75rem 1rem;border-radius:.5rem;gap:1rem}.inbox-card__content{flex:1;min-width:0}.inbox-card__title{font-size:.875rem;font-weight:600;color:var(--color-text-primary);margin:0 0 .25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inbox-card__preview{font-size:.75rem;color:var(--color-text-muted);margin:0 0 .25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inbox-card__date{font-size:.7rem;color:var(--color-gray-400)}.inbox-card__actions{display:flex;gap:.5rem}.inbox-card__process{display:flex;align-items:center;gap:.25rem;padding:.375rem .75rem;background:var(--color-emerald-500);color:#fff;border:none;border-radius:.375rem;font-size:.75rem;font-weight:500;cursor:pointer;transition:background-color .2s}.inbox-card__process:hover{background:var(--color-emerald-600)}.inbox-card__delete{padding:.375rem;background:none;border:none;color:var(--color-gray-400);cursor:pointer;border-radius:.25rem;transition:color .2s}.inbox-card__delete:hover{color:var(--color-red-500)}.finance-page{max-width:1800px;margin:0 auto;padding:1.5rem 2rem}@media(min-width:1024px){.finance-page{padding:2rem 3rem}}@media(min-width:1400px){.finance-page{padding:2.5rem 4rem}}@media(min-width:1800px){.finance-page{padding:3rem 5rem}}.finance-page__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.finance-page__title{font-size:2rem;font-weight:700;color:var(--color-text-primary)}.finance-page__actions{display:flex;gap:.75rem}.finance-page__add-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background-color:var(--color-primary-500);color:#fff;border:none;border-radius:.5rem;font-weight:500;cursor:pointer;transition:background-color .2s}.finance-page__add-btn:hover{background-color:var(--color-primary-600)}.finance-page__add-btn--income{background-color:var(--color-emerald-500)}.finance-page__add-btn--income:hover{background-color:var(--color-emerald-600)}.finance-page__tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--color-border-default);padding-bottom:.5rem}.finance-page__tab{padding:.5rem 1rem;background:none;border:none;font-size:.875rem;font-weight:500;color:var(--color-text-muted);cursor:pointer;border-radius:.5rem;transition:all .2s}.finance-page__tab:hover{background:var(--color-bg-tertiary)}.finance-page__tab--active{background:var(--color-primary-500);color:#fff}.finance-page__loading{display:flex;align-items:center;justify-content:center;min-height:30vh}.finance-page__summary{display:flex;flex-direction:column;gap:1.5rem}.finance-page__summary-cards{display:grid;grid-template-columns:repeat(1,1fr);gap:1rem}@media(min-width:640px){.finance-page__summary-cards{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.finance-page__summary-cards{grid-template-columns:repeat(4,1fr)}}.finance-summary-card{display:flex;align-items:center;gap:1.25rem;padding:1.5rem 1.75rem;background:#fff;border-radius:1rem;border:1px solid var(--color-border-default);box-shadow:0 2px 8px #0000000f;transition:transform .2s,box-shadow .2s}.finance-summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.finance-summary-card svg{color:var(--color-primary-500);flex-shrink:0}.finance-summary-card--positive svg{color:var(--color-emerald-500)}.finance-summary-card--negative svg{color:var(--color-red-500)}.finance-summary-card__label{display:block;font-size:.9375rem;color:var(--color-text-muted);margin-bottom:.25rem}.finance-summary-card__value{display:block;font-size:1.375rem;font-weight:700;color:var(--color-text-primary)}@media(min-width:1400px){.finance-summary-card{padding:1.75rem 2rem}.finance-summary-card__value{font-size:1.5rem}}.finance-page__charts{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:768px){.finance-page__charts{grid-template-columns:repeat(2,1fr)}}.finance-page__chart-section{background:#fff;border-radius:.75rem;border:1px solid var(--color-border-default);padding:1.25rem}.finance-page__chart-section--full{grid-column:1 / -1;margin-bottom:.5rem}.finance-page__chart-section h3{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin-bottom:1rem}.portfolio-chart{width:100%}.portfolio-chart--empty{text-align:center;padding:2rem;color:var(--color-text-muted)}.portfolio-chart__title{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin-bottom:1rem}.portfolio-chart__svg{width:100%;max-width:500px;height:auto}.category-breakdown__title{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin-bottom:1rem}.category-breakdown__content{display:flex;gap:1.5rem;align-items:flex-start}.category-breakdown__chart{width:120px;height:120px;flex-shrink:0}.category-breakdown__slice{transition:opacity .2s}.category-breakdown__slice:hover{opacity:.8}.category-breakdown__legend{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem;flex:1}.category-breakdown__legend-item{display:flex;align-items:center;gap:.5rem;font-size:.8125rem}.category-breakdown__legend-color{width:.625rem;height:.625rem;border-radius:.125rem;flex-shrink:0}.category-breakdown__legend-name{flex:1;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-breakdown__legend-value{color:var(--color-text-muted);font-weight:500}.finance-page__category-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.finance-category-item{display:flex;align-items:center;gap:.75rem;font-size:.875rem}.finance-category-item__color{width:.75rem;height:.75rem;border-radius:.25rem;flex-shrink:0}.finance-category-item__name{flex:1;color:var(--color-text-secondary)}.finance-category-item__amount{font-weight:600;color:var(--color-text-primary)}.finance-category-item__percentage{color:var(--color-text-muted);min-width:3rem;text-align:right}.finance-page__list{display:flex;flex-direction:column;gap:1rem}.investment-card,.income-card{background:#fff;border-radius:.75rem;border:1px solid var(--color-border-default);padding:1.25rem}.investment-card__header,.income-card__header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.investment-card__header h3,.income-card__header h3{flex:1;font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0}.investment-card__ticker{font-size:.75rem;background:var(--color-bg-tertiary);padding:.25rem .5rem;border-radius:.25rem;color:var(--color-text-muted)}.investment-card__actions,.income-card__actions{display:flex;gap:.5rem;margin-left:auto}.investment-card__edit,.income-card__edit,.investment-card__delete,.income-card__delete{background:none;border:none;cursor:pointer;color:var(--color-gray-400);padding:.25rem}.investment-card__edit:hover,.income-card__edit:hover{color:var(--color-primary-500)}.investment-card__delete:hover,.income-card__delete:hover{color:var(--color-red-500)}.investment-card__details,.income-card__details{display:flex;gap:1rem;font-size:.875rem;color:var(--color-text-muted);flex-wrap:wrap;margin-bottom:.5rem}.investment-card__profit--positive{color:var(--color-emerald-500)}.investment-card__profit--negative{color:var(--color-red-500)}.investment-card__category,.income-card__category{display:inline-block;font-size:.75rem;padding:.25rem .5rem;border-radius:.25rem;color:#fff}.income-card__amount{font-size:1.125rem;font-weight:700;color:var(--color-emerald-500)}.income-card__recurring{background:var(--color-amber-100);color:var(--color-amber-800);padding:.125rem .5rem;border-radius:.25rem;font-size:.75rem}.finance-page__empty{text-align:center;color:var(--color-gray-400);padding:2rem}.investments-view{display:flex;flex-direction:column;gap:1.5rem}.investments-view__category{background:#fff;border-radius:.75rem;border:1px solid var(--color-border-default);overflow:hidden}.investments-view__category-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-default)}.investments-view__category-indicator{width:4px;height:2rem;border-radius:2px}.investments-view__category-name{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0}.investments-view__category-count{background:var(--color-border-default);color:var(--color-text-muted);font-size:.75rem;padding:.125rem .5rem;border-radius:9999px}.investments-view__category-totals{margin-left:auto;text-align:right}.investments-view__category-value{font-size:1rem;font-weight:700;color:var(--color-text-primary);display:block}.investments-view__category-profit{font-size:.75rem;font-weight:500}.investments-view__category-profit--positive{color:var(--color-emerald-500)}.investments-view__category-profit--negative{color:var(--color-red-500)}.investments-view__items{display:flex;flex-direction:column}.investment-item{display:flex;flex-direction:column;padding:1rem 1.25rem;border-left:3px solid;border-bottom:1px solid var(--color-bg-tertiary);transition:background-color .15s}.investment-item:last-child{border-bottom:none}.investment-item:hover{background:var(--color-bg-secondary)}.investment-item__main{display:flex;align-items:center;gap:1rem}.investment-item__info{flex:1;min-width:0}.investment-item__name{font-size:.9375rem;font-weight:500;color:var(--color-text-primary);margin:0;display:flex;align-items:center;gap:.5rem}.investment-item__ticker{font-size:.6875rem;font-weight:500;background:#e0e7ff;color:var(--color-indigo-600);padding:.125rem .375rem;border-radius:.25rem}.investment-item__meta{font-size:.75rem;color:var(--color-gray-400);margin-top:.25rem}.investment-item__meta span{margin-right:.25rem}.investment-item__values{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.investment-item__amounts{display:flex;align-items:center;gap:.5rem;font-size:.8125rem}.investment-item__invested{color:var(--color-text-muted)}.investment-item__arrow{color:var(--color-border-strong);font-size:.75rem}.investment-item__current{color:var(--color-text-primary);font-weight:600}.investment-item__profit{font-size:.8125rem;font-weight:600;padding:.125rem .5rem;border-radius:.25rem}.investment-item__profit--positive{background:var(--color-emerald-100);color:var(--color-emerald-600)}.investment-item__profit--negative{background:var(--color-red-100);color:var(--color-red-600)}.investment-item__percent{font-weight:400;margin-left:.25rem}.investment-item__actions{display:flex;gap:.25rem;opacity:0;transition:opacity .15s}.investment-item:hover .investment-item__actions{opacity:1}.investment-item__actions button{background:none;border:none;cursor:pointer;color:var(--color-gray-400);padding:.375rem;border-radius:.25rem}.investment-item__actions button:hover{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.investment-item__notes{font-size:.75rem;color:var(--color-gray-400);margin:.5rem 0 0;font-style:italic}@media(max-width:640px){.investments-view__category-header{flex-wrap:wrap}.investments-view__category-totals{width:100%;margin-top:.5rem;text-align:left}.investment-item__main{flex-wrap:wrap}.investment-item__values{width:100%;flex-direction:row;justify-content:space-between;margin-top:.5rem}.investment-item__actions{opacity:1}}.income-view{display:flex;flex-direction:column;gap:1.5rem}.income-view__total{background:linear-gradient(135deg,var(--color-emerald-500) 0%,var(--color-emerald-600) 100%);color:#fff;padding:1.25rem;border-radius:.75rem;display:flex;justify-content:space-between;align-items:center}.income-view__total-label{font-size:.875rem;opacity:.9}.income-view__total-value{font-size:1.5rem;font-weight:700}.income-view__category{background:#fff;border-radius:.75rem;border:1px solid var(--color-border-default);overflow:hidden}.income-view__category-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-default)}.income-view__category-indicator{width:4px;height:2rem;border-radius:2px}.income-view__category-name{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0;flex:1}.income-view__category-count{background:var(--color-border-default);color:var(--color-text-muted);font-size:.75rem;padding:.125rem .5rem;border-radius:9999px}.income-view__category-total{font-size:1rem;font-weight:700;color:var(--color-emerald-500)}.income-view__items{display:flex;flex-direction:column}.income-item{display:flex;flex-direction:column;padding:1rem 1.25rem;border-left:3px solid;border-bottom:1px solid var(--color-bg-tertiary);transition:background-color .15s}.income-item:last-child{border-bottom:none}.income-item:hover{background:var(--color-bg-secondary)}.income-item__main{display:flex;align-items:center;gap:1rem}.income-item__info{flex:1;min-width:0}.income-item__source{font-size:.9375rem;font-weight:500;color:var(--color-text-primary);margin:0}.income-item__meta{font-size:.75rem;color:var(--color-gray-400);margin-top:.25rem;display:flex;gap:.5rem;align-items:center}.income-item__recurring{background:var(--color-amber-100);color:var(--color-amber-800);padding:.125rem .375rem;border-radius:.25rem;font-size:.6875rem;font-weight:500}.income-item__amounts{display:flex;flex-direction:column;align-items:flex-end;gap:.125rem}.income-item__amount{font-size:1rem;font-weight:700;color:var(--color-emerald-500)}.income-item__net{font-size:.75rem;color:var(--color-text-muted)}.income-item__actions{display:flex;gap:.25rem;opacity:0;transition:opacity .15s}.income-item:hover .income-item__actions{opacity:1}.income-item__actions button{background:none;border:none;cursor:pointer;color:var(--color-gray-400);padding:.375rem;border-radius:.25rem}.income-item__actions button:hover{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.income-item__notes{font-size:.75rem;color:var(--color-gray-400);margin:.5rem 0 0;font-style:italic}@media(max-width:640px){.income-item__main{flex-wrap:wrap}.income-item__amount{order:-1;width:100%;margin-bottom:.5rem}.income-item__actions{opacity:1}}.liabilities-view{display:flex;flex-direction:column;gap:2rem}.liabilities-view__total{background:linear-gradient(135deg,#475569,#334155);color:#fff;padding:2rem 3rem;border-radius:1rem;display:flex;justify-content:space-around;gap:3rem;box-shadow:0 4px 12px #33415533}.liabilities-view__total-item{text-align:center}.liabilities-view__total-label{font-size:.875rem;opacity:.9;display:block;margin-bottom:.375rem;text-transform:uppercase;letter-spacing:.05em}.liabilities-view__total-value{font-size:2rem;font-weight:700}.liabilities-view__type{background:#fff;border-radius:1rem;border:1px solid var(--color-border-default);overflow:hidden;box-shadow:0 2px 8px #0000000f}.liabilities-view__type-header{display:flex;align-items:center;gap:1.25rem;padding:1.5rem 2rem;background:linear-gradient(to bottom,var(--color-bg-secondary),var(--color-bg-tertiary));border-bottom:1px solid var(--color-border-default)}.liabilities-view__type-indicator{width:6px;height:3rem;border-radius:3px}.liabilities-view__type-name{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin:0;flex:1}.liabilities-view__type-count{background:var(--color-border-default);color:var(--color-text-muted);font-size:.8125rem;padding:.25rem .75rem;border-radius:9999px;font-weight:500}.liabilities-view__type-totals{text-align:right}.liabilities-view__type-remaining{font-size:1.5rem;font-weight:700;color:var(--color-red-600);display:block}.liabilities-view__type-monthly{font-size:.9375rem;color:var(--color-text-muted)}.liabilities-view__items{display:flex;flex-direction:column}.liability-item{display:flex;flex-direction:column;padding:1.75rem 2rem;border-left:5px solid;border-bottom:1px solid var(--color-bg-tertiary);transition:all .2s;gap:1.25rem;background:#fff}.liability-item:last-child{border-bottom:none}.liability-item:hover{background:#f8fafc;box-shadow:inset 0 0 0 1px #00000005}.liability-item__main{display:flex;align-items:center;gap:1.5rem}.liability-item__asset-icon{position:relative;width:72px;height:72px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--color-bg-tertiary);border-radius:1rem}.liability-item__asset-icon-bg{position:absolute;display:flex;align-items:center;justify-content:center;color:var(--color-border-strong)}.liability-item__asset-icon-bg svg{width:40px;height:40px}.liability-item__asset-icon-fill{position:absolute;bottom:16px;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;color:var(--color-emerald-500);transition:height .4s ease}.liability-item__asset-icon-fill svg{position:absolute;bottom:0;width:40px;height:40px}.liability-item__asset-percent{position:absolute;bottom:4px;left:50%;transform:translate(-50%);font-size:.6875rem;font-weight:700;color:var(--color-emerald-500);white-space:nowrap;background:#fff;padding:.125rem .375rem;border-radius:.25rem;box-shadow:0 1px 2px #0000001a}.liability-item__info{flex:1;min-width:0}.liability-item__name{font-size:1.0625rem;font-weight:600;color:var(--color-text-primary);margin:0}.liability-item__meta{font-size:.8125rem;color:var(--color-gray-400);margin-top:.375rem}.liability-item__values{text-align:right}.liability-item__amounts{display:flex;flex-direction:column;gap:.25rem}.liability-item__remaining{font-size:1.25rem;font-weight:700;color:var(--color-red-600)}.liability-item__monthly{font-size:.875rem;color:var(--color-text-muted)}.liability-item__actions{display:flex;gap:.25rem;opacity:0;transition:opacity .15s}.liability-item:hover .liability-item__actions{opacity:1}.liability-item__actions button{background:none;border:none;cursor:pointer;color:var(--color-gray-400);padding:.375rem;border-radius:.25rem}.liability-item__actions button:hover{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.liability-item__progress{display:flex;flex-direction:column;gap:.625rem}.liability-item__progress-bar{height:.625rem;background:var(--color-border-default);border-radius:9999px;overflow:hidden}.liability-item__progress-fill{height:100%;background:linear-gradient(90deg,var(--color-emerald-600) 0%,var(--color-emerald-500) 50%,#34d399 100%);border-radius:9999px;transition:width .4s ease}.liability-item__progress-info{display:flex;justify-content:space-between;font-size:.875rem;color:var(--color-text-muted)}.liability-item__footer{display:flex;gap:1.25rem;font-size:.8125rem;flex-wrap:wrap;padding-top:.5rem;border-top:1px dashed var(--color-border-default)}.liability-item__final{color:#b91c1c;font-weight:600}.liability-item__notes{color:var(--color-gray-400);font-style:italic}@media(max-width:768px){.liabilities-view__total{flex-direction:column;gap:1rem;padding:1.5rem}.liabilities-view__total-value{font-size:1.5rem}.liabilities-view__type-header{padding:1rem 1.25rem}.liability-item{padding:1.25rem 1.5rem}.liability-item__main{flex-wrap:wrap}.liability-item__asset-icon{width:56px;height:56px;border-radius:.75rem}.liability-item__asset-icon-bg svg,.liability-item__asset-icon-fill svg{width:32px;height:32px}.liability-item__values{width:100%;text-align:left;margin-top:.5rem}.liability-item__amounts{flex-direction:row;gap:1.5rem}.liability-item__actions{opacity:1}}.finance-form-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.finance-form{background:#fff;border-radius:.75rem;padding:1.5rem;width:100%;max-width:28rem;display:flex;flex-direction:column;gap:1rem}.finance-form__header{display:flex;align-items:center;justify-content:space-between}.finance-form__header h2{font-size:1.25rem;font-weight:600}.finance-form__header button{background:none;border:none;cursor:pointer;color:var(--color-text-muted)}.finance-form input,.finance-form select{padding:.75rem;border:1px solid var(--color-border-default);border-radius:.5rem;font-size:.875rem}.finance-form__checkbox{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-secondary)}.finance-form__checkbox input{width:auto;padding:0}.finance-form__actions{display:flex;justify-content:flex-end;gap:.75rem}.finance-form__actions button{padding:.5rem 1rem;border-radius:.5rem;font-weight:500;cursor:pointer}.finance-form__actions button[type=button]{background:var(--color-bg-tertiary);border:none;color:var(--color-text-secondary)}.finance-form__actions button[type=submit]{background:var(--color-primary-500);border:none;color:#fff}.finance-form__row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.finance-form textarea{padding:.75rem;border:1px solid var(--color-border-default);border-radius:.5rem;font-size:.875rem;font-family:inherit;resize:vertical}.finance-page__add-btn--liability{background-color:var(--color-red-600)}.finance-page__add-btn--liability:hover{background-color:#b91c1c}.liability-card{background:#fff;border:1px solid var(--color-border-default);border-radius:.75rem;padding:1rem}.liability-card__header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.liability-card__header h3{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0;flex:1}.liability-card__type{color:#fff;padding:.125rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500}.liability-card__actions{display:flex;gap:.25rem;margin-left:auto}.liability-card__edit,.liability-card__delete{background:none;border:none;cursor:pointer;color:var(--color-gray-400);padding:.25rem}.liability-card__edit:hover{color:var(--color-primary-500)}.liability-card__delete:hover{color:var(--color-red-500)}.liability-card__amounts{display:flex;flex-wrap:wrap;gap:1rem;font-size:.875rem;color:#4b5563;margin-bottom:.75rem}.liability-card__progress{margin-bottom:.75rem}.liability-card__progress-bar{height:.5rem;background:var(--color-border-default);border-radius:9999px;overflow:hidden;margin-bottom:.25rem}.liability-card__progress-fill{height:100%;background:linear-gradient(90deg,var(--color-red-600) 0%,var(--color-green-600) 100%);border-radius:9999px;transition:width .3s ease}.liability-card__progress-text{font-size:.75rem;color:var(--color-text-muted)}.liability-card__schedule{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.75rem;color:var(--color-text-muted);margin-bottom:.5rem}.liability-card__schedule span{display:flex;align-items:center;gap:.25rem}.liability-card__final{font-size:.875rem;color:#b91c1c;font-weight:500;margin-bottom:.5rem}.liability-card__notes{font-size:.75rem;color:var(--color-gray-400);margin:0;font-style:italic}.finance-dashboard{display:flex;flex-direction:column;gap:1.5rem}.finance-dashboard__top-row{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:1024px){.finance-dashboard__top-row{grid-template-columns:1fr 1fr}}.finance-dashboard__bottom-row{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:1024px){.finance-dashboard__bottom-row{grid-template-columns:1fr 1fr}}.finance-dashboard__card{background:#fff;border-radius:.75rem;border:1px solid var(--color-border-default);padding:1.5rem}.finance-dashboard__card-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:var(--color-text-secondary);margin:0 0 1rem}.finance-dashboard__card-title svg{color:var(--color-text-muted)}.finance-dashboard__card--networth{border-left:4px solid var(--color-emerald-500)}.finance-dashboard__card--negative{border-left-color:var(--color-red-500)}.finance-dashboard__networth-value{font-size:2rem;font-weight:700;margin-bottom:1.25rem}.finance-dashboard__networth-value--positive{color:var(--color-emerald-500)}.finance-dashboard__networth-value--negative{color:var(--color-red-500)}.finance-dashboard__networth-breakdown{display:flex;flex-direction:column;gap:.5rem}.finance-dashboard__breakdown-row{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.finance-dashboard__breakdown-label{display:flex;align-items:center;gap:.5rem;color:var(--color-text-muted)}.finance-dashboard__breakdown-label svg{width:16px;height:16px}.finance-dashboard__breakdown-value{font-weight:500;color:var(--color-text-primary)}.finance-dashboard__breakdown-value--positive{color:var(--color-emerald-500)}.finance-dashboard__breakdown-value--negative{color:var(--color-red-500)}.finance-dashboard__breakdown-row--total{padding-top:.5rem;border-top:1px solid var(--color-border-default);font-weight:600}.finance-dashboard__breakdown-row--liabilities{color:var(--color-red-500)}.finance-dashboard__card--cashflow{border-left:4px solid var(--color-primary-500)}.finance-dashboard__cashflow-rows{display:flex;flex-direction:column;gap:.75rem}.finance-dashboard__cashflow-row{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.finance-dashboard__cashflow-label{display:flex;align-items:center;gap:.5rem;color:var(--color-text-muted)}.finance-dashboard__cashflow-label svg{width:16px;height:16px}.finance-dashboard__cashflow-value{font-weight:500}.finance-dashboard__cashflow-value--positive{color:var(--color-emerald-500)}.finance-dashboard__cashflow-value--negative{color:var(--color-red-500)}.finance-dashboard__cashflow-divider{height:1px;background:var(--color-border-default);margin:.25rem 0}.finance-dashboard__cashflow-row--total{font-weight:600;font-size:1rem}.finance-dashboard__card--ike{border-left:4px solid var(--color-violet-500)}.finance-dashboard__ike-content{display:flex;flex-direction:column;gap:1.25rem}.finance-dashboard__ike-portfolio{padding-bottom:1rem;border-bottom:1px solid var(--color-border-default)}.finance-dashboard__ike-portfolio-row{display:flex;justify-content:space-between;align-items:center}.finance-dashboard__ike-portfolio-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-muted)}.finance-dashboard__ike-portfolio-label svg{color:var(--color-violet-500)}.finance-dashboard__ike-portfolio-value{font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.finance-dashboard__ike-limit-section{display:flex;flex-direction:column;gap:.75rem}.finance-dashboard__ike-limit-header{display:flex;justify-content:space-between;font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.finance-dashboard__ike-progress-bar{height:.75rem;background:var(--color-border-default);border-radius:9999px;overflow:hidden}.finance-dashboard__ike-progress-fill{height:100%;background:linear-gradient(90deg,var(--color-violet-500) 0%,#a78bfa 100%);border-radius:9999px;transition:width .4s ease}.finance-dashboard__ike-stats{display:flex;flex-wrap:wrap;gap:1.5rem}.finance-dashboard__ike-stat{display:flex;flex-direction:column;gap:.25rem}.finance-dashboard__ike-stat-label{font-size:.75rem;color:var(--color-text-muted)}.finance-dashboard__ike-stat-value{font-size:.9375rem;font-weight:600;color:var(--color-text-primary)}.finance-dashboard__ike-stat-value--highlight{color:var(--color-violet-500)}.finance-dashboard__card--investments{border-left:4px solid var(--color-amber-500)}.finance-dashboard__investments-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.finance-dashboard__investment-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--color-bg-tertiary)}.finance-dashboard__investment-item:last-child{border-bottom:none}.finance-dashboard__investment-info{display:flex;flex-direction:column;gap:.125rem}.finance-dashboard__investment-name{font-size:.875rem;font-weight:500;color:var(--color-text-primary);display:flex;align-items:center;gap:.5rem}.finance-dashboard__ike-badge{font-size:.625rem;font-weight:600;background:#ede9fe;color:var(--color-violet-600);padding:.125rem .375rem;border-radius:.25rem}.finance-dashboard__investment-ticker{font-size:.75rem;color:var(--color-gray-400)}.finance-dashboard__investment-pl{display:flex;flex-direction:column;align-items:flex-end;font-size:.875rem;font-weight:500}.finance-dashboard__investment-pl--positive{color:var(--color-emerald-500)}.finance-dashboard__investment-pl--negative{color:var(--color-red-500)}.finance-dashboard__investment-percent{font-size:.75rem;opacity:.8}.finance-dashboard__investments-total{display:flex;justify-content:space-between;padding-top:.75rem;border-top:1px solid var(--color-border-default);font-weight:600}.finance-dashboard__card--accounts{border-left:4px solid #06b6d4}.finance-dashboard__accounts-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.finance-dashboard__account-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--color-bg-tertiary)}.finance-dashboard__account-item:last-child{border-bottom:none}.finance-dashboard__account-info{display:flex;flex-direction:column;gap:.125rem}.finance-dashboard__account-name{font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.finance-dashboard__account-institution{font-size:.75rem;color:var(--color-gray-400)}.finance-dashboard__account-balance{font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.finance-dashboard__accounts-total{display:flex;justify-content:space-between;padding-top:.75rem;border-top:1px solid var(--color-border-default);font-weight:600}.finance-dashboard__charts-row{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:1024px){.finance-dashboard__charts-row{grid-template-columns:1fr 1fr}}.finance-dashboard__chart-card{background:#fff;border-radius:.75rem;border:1px solid var(--color-border-default);padding:1.5rem}.income-chart{width:100%}.income-chart--empty{text-align:center;padding:2rem;color:var(--color-text-muted)}.income-chart__title{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin-bottom:1rem}.income-chart__svg{width:100%;max-width:500px;height:auto}.income-chart__bar{transition:opacity .2s}.income-chart__bar:hover{opacity:.8}.accounts-view{display:flex;flex-direction:column;gap:1.5rem}.accounts-view__total{display:flex;justify-content:space-between;align-items:center;background:#fff;border-radius:.75rem;border:1px solid var(--color-border-default);padding:1.5rem 2rem}.accounts-view__total-label{font-size:1rem;color:var(--color-text-muted)}.accounts-view__total-value{font-size:1.75rem;font-weight:700;color:var(--color-text-primary)}.finance-list__item-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--color-bg-tertiary);border-radius:.5rem;color:var(--color-text-muted)}.goals-page{max-width:80rem;margin:0 auto;padding:1.5rem}.goals-page__header{margin-bottom:1.5rem}.goals-page__title-row{display:flex;align-items:center;justify-content:space-between}.goals-page__title{font-size:2rem;font-weight:700;color:var(--color-text-primary)}.goals-page__add-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background-color:var(--color-emerald-500);color:#fff;border:none;border-radius:.5rem;font-weight:500;cursor:pointer;transition:background-color .2s}.goals-page__add-btn:hover{background-color:var(--color-emerald-600)}.goals-page__form-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.goals-page__form{background:#fff;border-radius:.75rem;padding:1.5rem;width:100%;max-width:28rem;display:flex;flex-direction:column;gap:1rem}.goals-page__form-header{display:flex;align-items:center;justify-content:space-between}.goals-page__form-header h2{font-size:1.25rem;font-weight:600}.goals-page__form-header button{background:none;border:none;cursor:pointer;color:var(--color-text-muted)}.goals-page__form input,.goals-page__form select,.goals-page__form textarea{padding:.75rem;border:1px solid var(--color-border-default);border-radius:.5rem;font-size:.875rem;font-family:inherit}.goals-page__form-actions{display:flex;justify-content:flex-end;gap:.75rem}.goals-page__form-actions button{padding:.5rem 1rem;border-radius:.5rem;font-weight:500;cursor:pointer}.goals-page__form-actions button[type=button]{background:var(--color-bg-tertiary);border:none;color:var(--color-text-secondary)}.goals-page__form-actions button[type=submit]{background:var(--color-emerald-500);border:none;color:#fff}.goals-page__list{display:flex;flex-direction:column;gap:1rem}.goal-card{background:#fff;border-radius:.75rem;border:1px solid var(--color-border-default);padding:1.25rem}.goal-card__header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.goal-card__expand{background:none;border:none;cursor:pointer;color:var(--color-text-muted);padding:0}.goal-card__info{flex:1;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.goal-card__title{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0}.goal-card__category{font-size:.75rem;padding:.25rem .5rem;border-radius:.25rem;color:#fff}.goal-card__pin{color:var(--color-amber-500)}.goal-card__actions{display:flex;gap:.25rem}.goal-card__actions button{background:none;border:none;cursor:pointer;padding:.25rem;color:var(--color-gray-400)}.goal-card__actions button:hover{color:var(--color-text-secondary)}.goal-card__delete:hover{color:var(--color-red-500)!important}.goal-card__progress{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.goal-card__progress-bar{flex:1;height:.5rem;background:var(--color-border-default);border-radius:.25rem;overflow:hidden}.goal-card__progress-fill{height:100%;background:var(--color-emerald-500);border-radius:.25rem;transition:width .3s}.goal-card__progress-text{font-size:.75rem;color:var(--color-text-muted);white-space:nowrap}.goal-card__milestones{padding-top:.75rem;border-top:1px solid var(--color-bg-tertiary)}.goal-card__description{font-size:.875rem;color:var(--color-text-muted);margin-bottom:.75rem}.milestone-list{list-style:none;padding:0;margin:0 0 .75rem;display:flex;flex-direction:column;gap:.5rem}.milestone-item{display:flex;align-items:center;gap:.75rem;font-size:.875rem}.milestone-item__check{width:1.25rem;height:1.25rem;border:2px solid var(--color-border-strong);border-radius:.25rem;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.milestone-item__check--done{background:var(--color-emerald-500);border-color:var(--color-emerald-500);color:#fff}.milestone-item__title--done{text-decoration:line-through;color:var(--color-gray-400)}.milestone-item__delete{background:none;border:none;cursor:pointer;color:var(--color-border-strong);margin-left:auto}.milestone-item__delete:hover{color:var(--color-red-500)}.milestone-add-form{display:flex;gap:.5rem}.milestone-add-form input{flex:1;padding:.5rem;border:1px solid var(--color-border-default);border-radius:.25rem;font-size:.875rem}.milestone-add-form button{padding:.5rem .75rem;border:none;border-radius:.25rem;font-size:.875rem;cursor:pointer}.milestone-add-form button:first-of-type{background:var(--color-emerald-500);color:#fff}.milestone-add-form button:last-of-type{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.milestone-add-btn{display:flex;align-items:center;gap:.25rem;background:none;border:none;color:var(--color-text-muted);font-size:.875rem;cursor:pointer}.milestone-add-btn:hover{color:var(--color-text-secondary)}.learning-page{max-width:80rem;margin:0 auto;padding:1.5rem}.learning-page__header{margin-bottom:1.5rem}.learning-page__title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.learning-page__title{font-size:2rem;font-weight:700;color:var(--color-text-primary)}.learning-page__add-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background-color:var(--color-violet-500);color:#fff;border:none;border-radius:.5rem;font-weight:500;cursor:pointer;transition:background-color .2s}.learning-page__add-btn:hover{background-color:var(--color-violet-600)}.learning-page__filters{display:flex;gap:1rem}.learning-page__status-filter{padding:.5rem 1rem;border:1px solid var(--color-border-default);border-radius:.5rem;font-size:.875rem}.learning-page__form-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.learning-page__form{background:#fff;border-radius:.75rem;padding:1.5rem;width:100%;max-width:28rem;display:flex;flex-direction:column;gap:1rem;max-height:90vh;overflow-y:auto}.learning-page__form-header{display:flex;align-items:center;justify-content:space-between}.learning-page__form-header h2{font-size:1.25rem;font-weight:600}.learning-page__form-header button{background:none;border:none;cursor:pointer;color:var(--color-text-muted)}.learning-page__form input,.learning-page__form select,.learning-page__form textarea{padding:.75rem;border:1px solid var(--color-border-default);border-radius:.5rem;font-size:.875rem;font-family:inherit}.learning-page__form-actions{display:flex;justify-content:flex-end;gap:.75rem}.learning-page__form-actions button{padding:.5rem 1rem;border-radius:.5rem;font-weight:500;cursor:pointer}.learning-page__form-actions button[type=button]{background:var(--color-bg-tertiary);border:none;color:var(--color-text-secondary)}.learning-page__form-actions button[type=submit]{background:var(--color-violet-500);border:none;color:#fff}.learning-page__grid{display:grid;grid-template-columns:repeat(1,1fr);gap:1rem}@media(min-width:640px){.learning-page__grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.learning-page__grid{grid-template-columns:repeat(3,1fr)}}.learning-card{background:#fff;border-radius:.75rem;border:1px solid var(--color-border-default);padding:1.25rem;transition:box-shadow .2s}.learning-card:hover{box-shadow:0 4px 6px -1px #0000001a}.learning-card__header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.75rem}.learning-card__title-row{display:flex;align-items:center;gap:.5rem;flex:1}.learning-card__status-icon--completed{color:var(--color-emerald-500)}.learning-card__status-icon--in-progress{color:var(--color-amber-500)}.learning-card__status-icon--todo{color:var(--color-text-muted)}.learning-card__title{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0}.learning-card__actions{display:flex;gap:.25rem}.learning-card__actions button{background:none;border:none;cursor:pointer;padding:.25rem;color:var(--color-gray-400)}.learning-card__actions button:hover{color:var(--color-text-secondary)}.learning-card__delete:hover{color:var(--color-red-500)!important}.learning-card__meta{display:flex;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.learning-card__category{font-size:.75rem;background:var(--color-bg-tertiary);color:var(--color-text-secondary);padding:.25rem .5rem;border-radius:.25rem}.learning-card__status{font-size:.75rem;padding:.25rem .5rem;border-radius:.25rem;color:#fff}.learning-card__link{display:inline-flex;align-items:center;gap:.25rem;font-size:.875rem;color:var(--color-primary-500);text-decoration:none;margin-bottom:.5rem}.learning-card__link:hover{color:var(--color-primary-600)}.learning-card__hours{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--color-text-muted);margin-bottom:.5rem}.learning-card__progress-section{margin-bottom:.75rem}.learning-card__hours-info{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--color-text-muted);margin-bottom:.375rem}.learning-card__progress-bar{height:.375rem;background-color:var(--color-border-default);border-radius:.25rem;overflow:hidden}.learning-card__progress-fill{height:100%;border-radius:.25rem;transition:width .3s ease}.learning-card__log-hours{margin-bottom:.75rem}.learning-card__log-btn{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--color-indigo-500);background:none;border:1px solid var(--color-indigo-500);border-radius:.25rem;padding:.25rem .5rem;cursor:pointer;transition:all .2s}.learning-card__log-btn:hover{background-color:var(--color-indigo-500);color:#fff}.learning-card__log-form{display:flex;align-items:center;gap:.375rem}.learning-card__log-input{width:4rem;padding:.25rem .5rem;font-size:.75rem;border:1px solid var(--color-border-strong);border-radius:.25rem}.learning-card__log-submit{font-size:.75rem;padding:.25rem .5rem;background-color:var(--color-emerald-500);color:#fff;border:none;border-radius:.25rem;cursor:pointer}.learning-card__log-submit:disabled{background-color:var(--color-border-strong);cursor:not-allowed}.learning-card__log-cancel{display:flex;align-items:center;justify-content:center;padding:.25rem;background:none;border:none;color:var(--color-text-muted);cursor:pointer}.learning-card__log-cancel:hover{color:var(--color-red-500)}.learning-card__notes{font-size:.875rem;color:var(--color-text-muted);line-height:1.5;margin-bottom:.75rem}.learning-card__footer{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;color:var(--color-gray-400)}.app-layout__loading{display:flex;align-items:center;justify-content:center;min-height:50vh}.series-manage-page{width:100%;max-width:64rem;margin:0 auto;padding:2rem 1rem}.series-manage-page__error{padding:1.5rem;background-color:#fee;border:1px solid #fcc;border-radius:.5rem;color:#c00}.series-manage-page__header{margin-bottom:2rem}.series-manage-page__title{font-size:1.875rem;font-weight:700;color:var(--color-text-primary);margin-bottom:.5rem}.series-manage-page__subtitle{font-size:1rem;color:var(--color-text-secondary)}.series-manage-page__stats{display:flex;gap:1rem;margin-bottom:2rem}.series-manage-page__stat{background:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:.5rem;padding:1rem 1.5rem;text-align:center;min-width:5rem}.series-manage-page__stat--active{background:#ecfdf5;border-color:#a7f3d0}.series-manage-page__stat--hidden{background:var(--color-amber-100);border-color:var(--color-amber-300)}.series-manage-page__stat-value{display:block;font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.series-manage-page__stat-label{font-size:.875rem;color:var(--color-text-muted)}.series-manage-page__list{display:flex;flex-direction:column;gap:1rem}.series-manage-page__item{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;background:#fff;border:1px solid var(--color-border-default);border-radius:.75rem;padding:1.25rem;transition:border-color .2s}.series-manage-page__item:hover{border-color:var(--color-border-strong)}.series-manage-page__item--hidden{background:#fafafa;opacity:.8}.series-manage-page__item-info{flex:1;min-width:0}.series-manage-page__item-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}.series-manage-page__item-icon{color:var(--color-text-muted);flex-shrink:0}.series-manage-page__item-name{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0}.series-manage-page__badge{font-size:.75rem;font-weight:500;padding:.125rem .5rem;border-radius:9999px}.series-manage-page__badge--visible{background:var(--color-emerald-100);color:#065f46}.series-manage-page__badge--hidden{background:var(--color-amber-100);color:var(--color-amber-800)}.series-manage-page__badge--pinned{background:var(--color-primary-100);color:var(--color-primary-700)}.series-manage-page__item-description{font-size:.875rem;color:var(--color-text-muted);margin:0 0 .5rem;line-height:1.5}.series-manage-page__item-meta{display:flex;gap:1rem;font-size:.75rem;color:var(--color-gray-400)}.series-manage-page__toggle{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;border:1px solid;border-radius:.5rem;cursor:pointer;transition:all .2s;flex-shrink:0}.series-manage-page__toggle:disabled{opacity:.5;cursor:not-allowed}.series-manage-page__toggle--hide{background:#fff;border-color:var(--color-amber-300);color:var(--color-amber-800)}.series-manage-page__toggle--hide:hover:not(:disabled){background:var(--color-amber-100)}.series-manage-page__toggle--show{background:#fff;border-color:#a7f3d0;color:#065f46}.series-manage-page__toggle--show:hover:not(:disabled){background:#ecfdf5}.series-manage-page__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:var(--color-gray-400);gap:1rem}@media(max-width:640px){.series-manage-page__stats{flex-wrap:wrap}.series-manage-page__item{flex-direction:column;align-items:stretch}.series-manage-page__toggle{align-self:flex-start}}.finance-page__add-btn--expense{background-color:var(--color-indigo-500)}.finance-page__add-btn--expense:hover{background-color:var(--color-indigo-600)}.expenses-view{display:flex;flex-direction:column;gap:2rem}.expenses-view__total{background:linear-gradient(135deg,var(--color-indigo-500) 0%,var(--color-indigo-600) 100%);color:#fff;padding:2rem 3rem;border-radius:1rem;display:flex;justify-content:space-around;gap:3rem;box-shadow:0 4px 12px #6366f140}.expenses-view__total-item{text-align:center;display:flex;flex-direction:column;gap:.25rem}.expenses-view__total-label{font-size:.875rem;opacity:.9;text-transform:uppercase;letter-spacing:.05em}.expenses-view__total-value{font-size:2rem;font-weight:700}.expenses-view__total-note{font-size:.875rem;opacity:.8}.expenses-view__total-hint{font-size:.75rem;opacity:.7;font-style:italic}@media(max-width:640px){.expenses-view__total{flex-direction:column;padding:1.5rem;gap:1rem}.expenses-view__total-value{font-size:1.5rem}}.expenses-view__category{background:#fff;border-radius:1rem;border:1px solid var(--color-border-default);overflow:hidden;box-shadow:0 2px 8px #0000000f}.expenses-view__category-header{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;background:linear-gradient(to bottom,var(--color-bg-secondary),var(--color-bg-tertiary));border-bottom:1px solid var(--color-border-default)}.expenses-view__category-indicator{width:5px;height:2.5rem;border-radius:3px}.expenses-view__category-name{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0;flex:1}.expenses-view__category-count{background:var(--color-border-default);color:var(--color-text-muted);font-size:.8125rem;padding:.25rem .75rem;border-radius:9999px;font-weight:500}.expenses-view__category-total{font-size:1.25rem;font-weight:700;color:var(--color-indigo-500)}.expenses-view__items{display:flex;flex-direction:column}.expense-item{display:flex;flex-direction:column;padding:1.25rem 1.5rem;border-left:4px solid;border-bottom:1px solid var(--color-bg-tertiary);transition:all .15s;gap:.5rem;background:#fff}.expense-item:last-child{border-bottom:none}.expense-item:hover{background:#f8fafc}.expense-item--inactive{opacity:.5;background:#fafafa}.expense-item__main{display:flex;align-items:center;gap:1.25rem}.expense-item__info{flex:1;min-width:0}.expense-item__name{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0}.expense-item__meta{font-size:.8125rem;color:var(--color-gray-400);margin-top:.375rem;display:flex;gap:.75rem}.expense-item__inactive{background:var(--color-amber-100);color:var(--color-amber-800);padding:.125rem .375rem;border-radius:.25rem;font-size:.6875rem;font-weight:500}.expense-item__amounts{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.expense-item__amount{font-size:1.125rem;font-weight:700;color:var(--color-indigo-500)}.expense-item__monthly{font-size:.8125rem;color:var(--color-text-muted)}.expense-item__actions{display:flex;gap:.25rem;opacity:0;transition:opacity .15s}.expense-item:hover .expense-item__actions{opacity:1}.expense-item__actions button{background:none;border:none;cursor:pointer;color:var(--color-gray-400);padding:.375rem;border-radius:.25rem}.expense-item__actions button:hover{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.expense-item__notes{font-size:.75rem;color:var(--color-gray-400);margin:0;padding-left:0}@media(max-width:640px){.expense-item__main{flex-wrap:wrap}.expense-item__amounts{order:-1;width:100%;align-items:flex-start;margin-bottom:.5rem}.expense-item__actions{opacity:1}}.finance-list{display:flex;flex-direction:column}.finance-list__item{display:flex;flex-direction:column;padding:1rem 1.25rem;border-left:4px solid;border-bottom:1px solid var(--color-bg-tertiary);background:#fff;transition:background .15s}.finance-list__item:last-child{border-bottom:none}.finance-list__item:hover{background:#f8fafc}.finance-list__item--inactive{opacity:.5;background:#fafafa}.finance-list__item-main{display:flex;align-items:center;gap:1rem}.finance-list__item-info{flex:1;min-width:0}.finance-list__item-name{font-size:.9375rem;font-weight:600;color:var(--color-text-primary);margin:0;display:flex;align-items:center;gap:.5rem}.finance-list__item-badge{background:var(--color-border-default);color:var(--color-text-secondary);padding:.125rem .5rem;border-radius:.25rem;font-size:.6875rem;font-weight:600;text-transform:uppercase}.finance-list__item-badge--recurring{background:var(--color-primary-100);color:#1d4ed8;padding:.125rem .375rem;border-radius:.25rem;font-size:.6875rem;font-weight:500}.finance-list__item-badge--inactive{background:var(--color-amber-100);color:var(--color-amber-800);padding:.125rem .375rem;border-radius:.25rem;font-size:.6875rem;font-weight:500}.finance-list__item-meta{font-size:.8125rem;color:var(--color-text-muted);margin-top:.25rem;display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.finance-list__item-category{color:#fff;padding:.125rem .5rem;border-radius:.25rem;font-size:.6875rem;font-weight:500}.finance-list__item-values{display:flex;flex-direction:column;align-items:flex-end;gap:.125rem;flex-shrink:0}.finance-list__item-amount{font-size:1rem;font-weight:700;color:var(--color-text-primary)}.finance-list__item-change{font-size:.8125rem;font-weight:500}.finance-list__item-change--positive{color:var(--color-emerald-600)}.finance-list__item-change--negative{color:var(--color-red-600)}.finance-list__item-secondary{font-size:.75rem;color:var(--color-text-muted)}.finance-list__item-actions{display:flex;gap:.25rem;opacity:0;transition:opacity .15s}.finance-list__item:hover .finance-list__item-actions{opacity:1}.finance-list__item-actions button{background:none;border:none;cursor:pointer;color:var(--color-gray-400);padding:.375rem;border-radius:.25rem}.finance-list__item-actions button:hover{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}@media(max-width:640px){.finance-list__item-main{flex-wrap:wrap}.finance-list__item-values{order:-1;width:100%;align-items:flex-start;margin-bottom:.5rem}.finance-list__item-actions{opacity:1}}.review-page{max-width:800px}.review-page__header{margin-bottom:1.5rem}.review-page__title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.review-page__title{font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.review-page__week-nav{display:flex;align-items:center;gap:.75rem}.review-page__nav-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid var(--color-border);border-radius:.375rem;background:var(--color-bg-secondary);color:var(--color-text-secondary);cursor:pointer;transition:all .15s}.review-page__nav-btn:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.review-page__week-label{font-size:.9375rem;font-weight:600;color:var(--color-text-primary);display:flex;align-items:center;gap:.5rem}.review-page__current-badge{font-size:.6875rem;font-weight:600;background:var(--color-emerald-100);color:var(--color-emerald-700);padding:.125rem .5rem;border-radius:9999px}.review-page__section-title{font-size:.9375rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.025em}.review-page__stats-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:.5rem;padding:1.25rem;margin-bottom:1.5rem}.review-page__stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.review-page__stat-item{display:flex;flex-direction:column;align-items:center;gap:.25rem;text-align:center}.review-page__stat-icon{color:var(--color-text-muted)}.review-page__stat-value{font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.review-page__stat-label{font-size:.75rem;color:var(--color-text-muted)}.review-page__form{display:flex;flex-direction:column;gap:1.5rem}.review-page__scores{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:.5rem;padding:1.25rem}.review-page__scores-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.review-page__score-item{display:flex;flex-direction:column;gap:.5rem}.review-page__score-label{font-size:.875rem;font-weight:500;color:var(--color-text-secondary);display:flex;align-items:center;gap:.375rem}.review-page__score-emoji{font-size:1.125rem}.review-page__score-input-row{display:flex;align-items:center;gap:.75rem}.review-page__score-slider{flex:1;height:6px;appearance:none;background:var(--color-bg-tertiary);border-radius:3px;outline:none;cursor:pointer}.review-page__score-slider::-webkit-slider-thumb{appearance:none;width:18px;height:18px;border-radius:50%;background:var(--color-primary);cursor:pointer}.review-page__score-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--color-primary);cursor:pointer;border:none}.review-page__score-value{font-size:1.125rem;font-weight:700;color:var(--color-text-primary);min-width:1.5rem;text-align:center}.review-page__reflections{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:.5rem;padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.review-page__field{display:flex;flex-direction:column;gap:.375rem}.review-page__field-label{font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.review-page__textarea{width:100%;padding:.625rem .75rem;border:1px solid var(--color-border);border-radius:.375rem;background:var(--color-bg-primary);color:var(--color-text-primary);font-size:.875rem;line-height:1.5;resize:vertical;font-family:inherit;transition:border-color .15s}.review-page__textarea:focus{outline:none;border-color:var(--color-primary)}.review-page__textarea::placeholder{color:var(--color-text-muted)}.review-page__actions{display:flex;gap:.75rem}.review-page__save-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:var(--color-primary);color:#fff;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity .15s}.review-page__save-btn:hover{opacity:.9}.review-page__save-btn:disabled{opacity:.5;cursor:not-allowed}.review-page__delete-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:none;color:var(--color-red-600);border:1px solid var(--color-red-300);border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s}.review-page__delete-btn:hover{background:var(--color-red-50)}.review-page__history{margin-top:2rem}.review-page__history-list{display:flex;flex-direction:column;gap:.5rem}.review-page__history-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:.375rem;cursor:pointer;transition:all .15s;width:100%;text-align:left;font-family:inherit;color:inherit}.review-page__history-item:hover{background:var(--color-bg-tertiary)}.review-page__history-item--active{border-color:var(--color-primary);background:var(--color-bg-tertiary)}.review-page__history-date{font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.review-page__history-scores{display:flex;gap:.75rem;font-size:.8125rem;color:var(--color-text-secondary)}@media(max-width:640px){.review-page__stats-grid{grid-template-columns:repeat(2,1fr)}.review-page__scores-grid{grid-template-columns:1fr}.review-page__history-item{flex-direction:column;align-items:flex-start;gap:.5rem}.review-page__actions{flex-direction:column}}.bookmarks-page{max-width:900px}.bookmarks-page__header{margin-bottom:1.5rem}.bookmarks-page__title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.bookmarks-page__title{font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.bookmarks-page__add-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--color-primary);color:#fff;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity .15s}.bookmarks-page__add-btn:hover{opacity:.9}.bookmarks-page__filters{margin-bottom:.75rem}.bookmarks-page__search{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:.375rem;background:var(--color-bg-secondary)}.bookmarks-page__search input{flex:1;border:none;background:transparent;color:var(--color-text-primary);font-size:.875rem;outline:none}.bookmarks-page__search svg{color:var(--color-text-muted)}.bookmarks-page__tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--color-border);padding-bottom:0}.bookmarks-page__tab{padding:.5rem 1rem;border:none;background:none;color:var(--color-text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s}.bookmarks-page__tab:hover{color:var(--color-text-primary)}.bookmarks-page__tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.bookmarks-page__badge{font-size:.6875rem;font-weight:600;padding:.125rem .5rem;border-radius:9999px;text-transform:capitalize}.bookmarks-page__badge--unread{background:var(--color-blue-100, #dbeafe);color:var(--color-blue-700, #1d4ed8)}.bookmarks-page__badge--reading{background:var(--color-amber-100, #fef3c7);color:var(--color-amber-700, #b45309)}.bookmarks-page__badge--done{background:var(--color-emerald-100);color:var(--color-emerald-700)}.bookmarks-page__badge--archived{background:var(--color-gray-100, #f3f4f6);color:var(--color-gray-600, #4b5563)}.bookmarks-page__list{display:flex;flex-direction:column;gap:.5rem}.bookmark-card{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:.5rem;transition:border-color .15s}.bookmark-card:hover{border-color:var(--color-primary)}.bookmark-card__body{flex:1;min-width:0}.bookmark-card__header{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.bookmark-card__title{font-size:.9375rem;font-weight:600;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bookmark-card__url{display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--color-text-muted);text-decoration:none;margin-bottom:.375rem}.bookmark-card__url:hover{color:var(--color-primary)}.bookmark-card__description{font-size:.8125rem;color:var(--color-text-secondary);margin-bottom:.5rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bookmark-card__footer{display:flex;align-items:center;gap:.75rem}.bookmark-card__date{font-size:.75rem;color:var(--color-text-muted)}.bookmark-card__tags{display:flex;gap:.375rem;flex-wrap:wrap}.bookmark-card__tag{font-size:.6875rem;padding:.0625rem .375rem;background:var(--color-bg-tertiary);border-radius:.25rem;color:var(--color-text-secondary)}.bookmark-card__actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.bookmark-card__actions button{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;background:none;color:var(--color-text-muted);cursor:pointer;border-radius:.25rem;transition:all .15s}.bookmark-card__actions button:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.bookmark-card__delete:hover{color:var(--color-red-600)!important}.bookmark-card__status-select{font-size:.75rem;padding:.25rem .5rem;border:1px solid var(--color-border);border-radius:.25rem;background:var(--color-bg-primary);color:var(--color-text-secondary);cursor:pointer}@media(max-width:640px){.bookmark-card{flex-direction:column}.bookmark-card__actions{align-self:flex-end}.bookmarks-page__tabs{overflow-x:auto}}.expenses-tab__totals{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem}.expenses-tab__total-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:.5rem;padding:1rem 1.25rem}.expenses-tab__total-label{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.025em;margin-bottom:.25rem}.expenses-tab__total-value{font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.expenses-tab__tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--color-border);margin-bottom:1rem}.expenses-tab__tab{padding:.5rem 1rem;border:none;background:none;color:var(--color-text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s}.expenses-tab__tab:hover{color:var(--color-text-primary)}.expenses-tab__tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.expenses-tab__badge{font-size:.6875rem;font-weight:600;padding:.125rem .5rem;border-radius:9999px;text-transform:capitalize}.expenses-tab__badge--active{background:var(--color-emerald-100);color:var(--color-emerald-700)}.expenses-tab__badge--cancelled{background:var(--color-red-50, #fef2f2);color:var(--color-red-600)}.expenses-tab__badge--paused{background:var(--color-amber-100, #fef3c7);color:var(--color-amber-700, #b45309)}@media(max-width:640px){.expenses-tab__totals{grid-template-columns:1fr}}.time-tracking-page{max-width:900px}.time-tracking-page__header{margin-bottom:1.5rem}.time-tracking-page__title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.time-tracking-page__title{font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.time-tracking-page__tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--color-border);margin-bottom:1.5rem}.time-tracking-page__tab{padding:.5rem 1rem;border:none;background:none;color:var(--color-text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s}.time-tracking-page__tab:hover{color:var(--color-text-primary)}.time-tracking-page__tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.time-tracking-page__timer{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:.5rem;padding:1.25rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:1rem}.time-tracking-page__timer--active{border-color:var(--color-emerald-500, #10b981);background:var(--color-emerald-50, #ecfdf5)}.time-tracking-page__timer-info{flex:1}.time-tracking-page__timer-label{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.025em;margin-bottom:.25rem}.time-tracking-page__timer-description{font-size:.875rem;color:var(--color-text-primary)}.time-tracking-page__timer-elapsed{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);font-variant-numeric:tabular-nums}.time-tracking-page__timer-inputs{display:flex;gap:.75rem;flex:1}.time-tracking-page__timer-inputs input,.time-tracking-page__timer-inputs select{flex:1;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:.375rem;background:var(--color-bg-primary);color:var(--color-text-primary);font-size:.875rem}.time-tracking-page__start-btn,.time-tracking-page__stop-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1.25rem;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity .15s}.time-tracking-page__start-btn{background:var(--color-emerald-600, #059669);color:#fff}.time-tracking-page__stop-btn{background:var(--color-red-600);color:#fff}.time-tracking-page__start-btn:hover,.time-tracking-page__stop-btn:hover{opacity:.9}.time-tracking-page__entries-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.time-tracking-page__section-title{font-size:.9375rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.025em}.time-tracking-page__add-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--color-primary);color:#fff;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity .15s}.time-tracking-page__add-btn:hover{opacity:.9}.time-tracking-page__entries{display:flex;flex-direction:column;gap:.5rem}.time-entry-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:.375rem}.time-entry-card__body{flex:1;min-width:0}.time-entry-card__description{font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.time-entry-card__meta{display:flex;align-items:center;gap:.75rem;font-size:.75rem;color:var(--color-text-muted)}.time-entry-card__project{font-size:.6875rem;font-weight:600;padding:.0625rem .375rem;border-radius:.25rem;color:#fff}.time-entry-card__duration{font-size:.9375rem;font-weight:700;color:var(--color-text-primary);font-variant-numeric:tabular-nums;white-space:nowrap}.time-entry-card__actions{display:flex;gap:.25rem}.time-entry-card__actions button{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;background:none;color:var(--color-text-muted);cursor:pointer;border-radius:.25rem;transition:all .15s}.time-entry-card__actions button:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.time-tracking-page__projects{display:flex;flex-direction:column;gap:.5rem}.time-project-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:.375rem}.time-project-card__color{width:1rem;height:1rem;border-radius:50%;flex-shrink:0}.time-project-card__body{flex:1;display:flex;align-items:center;gap:.75rem}.time-project-card__name{font-size:.9375rem;font-weight:600;color:var(--color-text-primary)}.time-project-card__description{font-size:.8125rem;color:var(--color-text-muted)}.time-project-card__actions{display:flex;gap:.25rem}.time-project-card__actions button{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;background:none;color:var(--color-text-muted);cursor:pointer;border-radius:.25rem;transition:all .15s}.time-project-card__actions button:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.time-tracking-page__form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media(max-width:640px){.time-tracking-page__timer{flex-direction:column;align-items:stretch}.time-tracking-page__timer-inputs{flex-direction:column}.time-entry-card{flex-direction:column;align-items:flex-start}.time-entry-card__actions{align-self:flex-end}.time-tracking-page__form-row{grid-template-columns:1fr}}.habits-page{max-width:64rem;margin:0 auto;padding:1.5rem}.habits-page__title{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin:0 0 1.5rem}.habits-page__streaks{display:flex;gap:1rem;margin-bottom:2rem}.habits-page__streak-card{flex:1;display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1.25rem 1rem;background:#fff;border:1px solid var(--color-border-default);border-radius:.75rem;box-shadow:0 1px 3px #0000001a}.habits-page__streak-icon{margin-bottom:.25rem}.habits-page__streak-icon--fire{color:#f97316}.habits-page__streak-icon--trophy{color:#eab308}.habits-page__streak-icon--calendar{color:var(--color-indigo-500)}.habits-page__streak-value{font-size:1.75rem;font-weight:700;color:var(--color-text-primary);line-height:1}.habits-page__streak-label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.habits-page__section{margin-bottom:2rem}.habits-page__section-title{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0 0 1rem}.habits-page__today{display:flex;flex-wrap:wrap;gap:.75rem}.habits-page__habit-item{display:flex;align-items:center;gap:.625rem;padding:.75rem 1rem;border:1px solid var(--color-border-default);border-radius:.625rem;background:#fff;cursor:pointer;transition:all .2s;font-size:.9375rem;color:var(--color-text-muted)}.habits-page__habit-item:hover{border-color:var(--color-emerald-500);background:#f0fdf4}.habits-page__habit-item--checked{border-color:var(--color-emerald-500);background:#ecfdf5;color:var(--color-emerald-600)}.habits-page__habit-icon{color:var(--color-border-strong);flex-shrink:0}.habits-page__habit-icon--checked{color:var(--color-emerald-500)}.habits-page__habit-label{font-weight:500}.habits-page__today-count{margin-top:.75rem;font-size:.875rem;color:var(--color-text-muted)}.habits-page__history{background:#fff;border:1px solid var(--color-border-default);border-radius:.75rem;overflow:hidden;box-shadow:0 1px 3px #0000001a}.habits-page__history-header{display:grid;grid-template-columns:7rem repeat(5,1fr);gap:.5rem;padding:.75rem 1rem;background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border-default);font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.habits-page__history-date-col{text-align:left}.habits-page__history-label{text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.habits-page__history-row{display:grid;grid-template-columns:7rem repeat(5,1fr);gap:.5rem;padding:.625rem 1rem;border-bottom:1px solid var(--color-border-default);align-items:center}.habits-page__history-row:last-child{border-bottom:none}.habits-page__history-row--today{background:#fefce8}.habits-page__history-row--perfect{background:#f0fdf4}.habits-page__history-date{font-size:.875rem;color:var(--color-text-secondary);font-weight:500}.habits-page__dot{width:.75rem;height:.75rem;border-radius:50%;background:var(--color-gray-200);margin:0 auto;transition:background .2s}.habits-page__dot--completed{background:var(--color-emerald-500)}.habits-page__empty{text-align:center;color:var(--color-text-muted);padding:2rem;font-size:.875rem}@media(max-width:640px){.habits-page__streaks,.habits-page__today{flex-direction:column}.habits-page__history-header,.habits-page__history-row{grid-template-columns:5rem repeat(5,1fr)}.habits-page__history-label{font-size:.625rem}}.dashboard-reminders{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:.75rem;padding:1rem 1.25rem}.dashboard-reminders__title{font-size:.875rem;font-weight:600;color:var(--color-text-primary);margin-bottom:.75rem}.dashboard-reminders__empty{display:flex;align-items:center;gap:.5rem;color:var(--color-text-muted);font-size:.813rem}.dashboard-reminders__group{margin-bottom:.75rem}.dashboard-reminders__group:last-child{margin-bottom:0}.dashboard-reminders__group-label{display:block;font-size:.688rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.375rem}.dashboard-reminders__item{display:flex;align-items:center;gap:.5rem;padding:.375rem 0}.dashboard-reminders__icon{flex-shrink:0;display:flex;align-items:center}.dashboard-reminders__content{flex:1;min-width:0;display:flex;flex-direction:column}.dashboard-reminders__item-title{font-size:.813rem;font-weight:500;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-reminders__detail{font-size:.75rem;color:var(--color-text-muted)}.dashboard-reminders__badge{flex-shrink:0;font-size:.688rem;font-weight:700;width:1.25rem;height:1.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center}.dashboard-reminders__badge--high{background:#fee2e2;color:#ef4444}.dashboard-page__trends{display:grid;gap:1.5rem;margin-bottom:1.5rem}@media(min-width:768px){.dashboard-page__trends{grid-template-columns:1fr 1fr}}.dashboard-weekly-comparison{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:.75rem;padding:1.25rem}.dashboard-weekly-comparison__title{font-size:.875rem;font-weight:600;color:var(--color-text-primary);margin-bottom:1rem}.dashboard-weekly-comparison__grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(min-width:1024px){.dashboard-weekly-comparison__grid{grid-template-columns:repeat(4,1fr)}}.dashboard-weekly-comparison__metric{display:flex;flex-direction:column;gap:.25rem}.dashboard-weekly-comparison__metric-header{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--color-text-muted)}.dashboard-weekly-comparison__value{font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.dashboard-weekly-comparison__delta{display:flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:500}.dashboard-weekly-comparison__delta--positive{color:#10b981}.dashboard-weekly-comparison__delta--negative{color:#ef4444}.dashboard-weekly-comparison__delta--neutral{color:var(--color-text-muted)}.dashboard-heatmap{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:.75rem;padding:1.25rem}.dashboard-heatmap__title{font-size:.875rem;font-weight:600;color:var(--color-text-primary);margin-bottom:1rem}.dashboard-heatmap__container{display:flex;gap:.375rem}.dashboard-heatmap__days{display:grid;grid-template-rows:repeat(7,1fr);gap:2px;padding-top:1.25rem}.dashboard-heatmap__day-label{font-size:.625rem;color:var(--color-text-muted);height:12px;display:flex;align-items:center}.dashboard-heatmap__grid-wrapper{flex:1;overflow-x:auto}.dashboard-heatmap__months{display:grid;grid-template-columns:repeat(13,1fr);height:1.25rem}.dashboard-heatmap__month-label{font-size:.625rem;color:var(--color-text-muted)}.dashboard-heatmap__grid{display:grid;grid-template-columns:repeat(13,1fr);grid-template-rows:repeat(7,1fr);gap:2px}.dashboard-heatmap__cell{width:12px;height:12px;border-radius:2px}.dashboard-heatmap__cell--level-0{background:var(--color-bg-tertiary, #ebedf0)}.dashboard-heatmap__cell--level-1{background:#9be9a8}.dashboard-heatmap__cell--level-2{background:#40c463}.dashboard-heatmap__cell--level-3{background:#30a14e}.dashboard-heatmap__cell--level-4{background:#216e39}.dashboard-heatmap__legend{display:flex;align-items:center;gap:.25rem;justify-content:flex-end;margin-top:.5rem;font-size:.625rem;color:var(--color-text-muted)}.hub-search-modal__backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;z-index:1000}.hub-search-modal{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:.75rem;width:100%;max-width:560px;box-shadow:0 25px 50px -12px #00000040;overflow:hidden}.hub-search-modal__input-wrapper{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border-bottom:1px solid var(--color-border-primary);color:var(--color-text-muted)}.hub-search-modal__input{flex:1;border:none;outline:none;background:transparent;font-size:1rem;color:var(--color-text-primary)}.hub-search-modal__input::placeholder{color:var(--color-text-muted)}.hub-search-modal__results{max-height:400px;overflow-y:auto;padding:.5rem}.hub-search-modal__loading,.hub-search-modal__empty{padding:1.5rem;text-align:center;color:var(--color-text-muted);font-size:.875rem}.hub-search-modal__group{margin-bottom:.5rem}.hub-search-modal__group-label{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.688rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.hub-search-modal__result{display:flex;flex-direction:column;padding:.5rem .75rem;border-radius:.375rem;cursor:pointer}.hub-search-modal__result:hover,.hub-search-modal__result--selected{background:var(--color-bg-secondary)}.hub-search-modal__result-title{font-size:.875rem;color:var(--color-text-primary)}.hub-search-modal__result-subtitle{font-size:.75rem;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-search-modal__footer{display:flex;gap:1rem;padding:.5rem 1rem;border-top:1px solid var(--color-border-primary);font-size:.75rem;color:var(--color-text-muted)}.hub-search-modal__footer kbd{display:inline-block;padding:0 .25rem;border:1px solid var(--color-border-primary);border-radius:.25rem;font-size:.625rem;font-family:inherit;background:var(--color-bg-secondary);margin-right:.125rem}.quick-note-modal__backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:flex-start;justify-content:center;padding-top:20vh;z-index:1000}.quick-note-modal{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:.75rem;width:100%;max-width:400px;padding:1.25rem;box-shadow:0 25px 50px -12px #00000040}.quick-note-modal__title{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin-bottom:1rem}.quick-note-modal__input{width:100%;padding:.625rem .75rem;border:1px solid var(--color-border-primary);border-radius:.5rem;font-size:.875rem;background:var(--color-bg-primary);color:var(--color-text-primary);outline:none;margin-bottom:.75rem}.quick-note-modal__input:focus{border-color:var(--color-primary-500)}.quick-note-modal__save{width:100%;padding:.5rem;border:none;border-radius:.5rem;background:var(--color-primary-500);color:#fff;font-size:.875rem;font-weight:500;cursor:pointer}.quick-note-modal__save:hover{opacity:.9}.quick-note-modal__save:disabled{opacity:.5;cursor:not-allowed}.dashboard-achievements__count{font-size:.875rem;color:var(--color-text-secondary);font-weight:500}.dashboard-achievements__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}@media(min-width:768px){.dashboard-achievements__grid{grid-template-columns:repeat(3,1fr)}}.dashboard-achievements__card{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border-radius:.5rem;border:1px solid var(--color-border-default);background:var(--color-bg-primary)}.dashboard-achievements__card--locked{opacity:.5}.dashboard-achievements__icon{flex-shrink:0;color:var(--color-text-secondary)}.dashboard-achievements__info{display:flex;flex-direction:column;gap:.25rem;min-width:0}.dashboard-achievements__title{font-size:.8125rem;font-weight:600;color:var(--color-text-primary)}.dashboard-achievements__tier{display:inline-block;width:fit-content;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#fff;padding:.125rem .5rem;border-radius:999px}.dashboard-achievements__progress{display:flex;align-items:center;gap:.5rem}.dashboard-achievements__progress-bar{flex:1;height:4px;background:var(--color-border-default);border-radius:2px;overflow:hidden}.dashboard-achievements__progress-fill{height:100%;background:var(--color-indigo-500);border-radius:2px;transition:width .3s ease}.dashboard-achievements__progress-text{font-size:.75rem;color:var(--color-text-secondary);white-space:nowrap}.dashboard-achievements__toggle{display:flex;align-items:center;justify-content:center;gap:.25rem;width:100%;margin-top:.75rem;padding:.5rem;border:none;background:none;font-size:.8125rem;color:var(--color-indigo-500);cursor:pointer}.dashboard-achievements__toggle:hover{color:var(--color-indigo-600)}.mastery-page{max-width:80rem;margin:0 auto;padding:1.5rem}.mastery-page__header{margin-bottom:1.5rem}.mastery-page__title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.mastery-page__title{font-size:2rem;font-weight:700;color:var(--color-text-primary)}.mastery-page__quick-stats{display:flex;gap:.75rem}.mastery-page__stat{padding:.25rem .75rem;border-radius:9999px;font-size:.8125rem;font-weight:600}.mastery-page__stat--mastered{background:#d1fae5;color:#065f46}.mastery-page__stat--due{background:#fef3c7;color:#92400e}.mastery-page__stat--streak{background:#ede9fe;color:#5b21b6}.mastery-page__tabs{display:flex;gap:.25rem;border-bottom:2px solid var(--color-border-default)}.mastery-page__tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;font-size:.9375rem;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:color .2s,border-color .2s}.mastery-page__tab:hover{color:var(--color-text-primary)}.mastery-page__tab--active{color:var(--color-indigo-600);border-bottom-color:var(--color-indigo-600)}.mastery-page__toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.mastery-page__category-filter{padding:.5rem 1rem;border:1px solid var(--color-border-default);border-radius:.5rem;font-size:.875rem;background:#fff}.mastery-page__add-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background-color:var(--color-indigo-500);color:#fff;border:none;border-radius:.5rem;font-weight:500;cursor:pointer;transition:background-color .2s}.mastery-page__add-btn:hover{background-color:var(--color-indigo-600)}.mastery-page__form-row{display:flex;gap:1rem}.mastery-page__form-row label{flex:1;display:flex;flex-direction:column;gap:.25rem;font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.mastery-questions-table-wrap{overflow-x:auto}.mastery-questions-table{width:100%;border-collapse:collapse;font-size:.875rem}.mastery-questions-table th{text-align:left;padding:.5rem .75rem;font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--color-border-default);white-space:nowrap}.mastery-questions-table td{padding:.5rem .75rem;border-bottom:1px solid var(--color-border-default);vertical-align:middle}.mastery-questions-table__row:hover{background:var(--color-bg-tertiary)}.mastery-questions-table__category{display:inline-block;padding:.125rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:600;color:#fff}.mastery-questions-table__category--a{background:#6366f1}.mastery-questions-table__category--b{background:#3b82f6}.mastery-questions-table__category--c{background:#f59e0b}.mastery-questions-table__category--d{background:#ef4444}.mastery-questions-table__category--e{background:#10b981}.mastery-questions-table__title{font-weight:600;color:var(--color-text-primary);max-width:20rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mastery-questions-table__title-pl{font-style:italic;color:var(--color-text-secondary);max-width:16rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mastery-questions-table__empty{color:var(--color-text-muted)}.mastery-questions-table__difficulty{font-size:.75rem;color:var(--color-text-muted);letter-spacing:.1em;white-space:nowrap}.mastery-questions-table__status{font-size:.75rem;font-weight:600;text-transform:capitalize;white-space:nowrap}.mastery-questions-table__actions{display:flex;gap:.25rem;white-space:nowrap}.mastery-questions-table__actions button{padding:.375rem;background:transparent;border:none;cursor:pointer;color:var(--color-text-secondary);border-radius:.25rem;transition:color .2s,background .2s}.mastery-questions-table__actions button:hover{color:var(--color-text-primary);background:var(--color-bg-tertiary)}.mastery-questions-table__delete:hover{color:#ef4444!important}.study-mode{max-width:48rem;margin:0 auto}.study-mode__empty,.study-mode__complete{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem;color:var(--color-text-muted);text-align:center}.study-mode__complete h3,.study-mode__empty h3{font-size:1.5rem;color:var(--color-text-primary)}.study-mode__summary{display:flex;gap:2rem;margin:1rem 0}.study-mode__summary-stat{display:flex;flex-direction:column;align-items:center}.study-mode__summary-value{font-size:2rem;font-weight:700;color:var(--color-indigo-600)}.study-mode__summary-label{font-size:.875rem;color:var(--color-text-secondary)}.study-mode__restart-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--color-indigo-500);color:#fff;border:none;border-radius:.5rem;font-weight:500;cursor:pointer;transition:background .2s}.study-mode__restart-btn:hover{background:var(--color-indigo-600)}.study-mode__progress{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;font-size:.875rem;color:var(--color-text-secondary)}.study-mode__progress-bar{flex:1;height:6px;background:var(--color-bg-tertiary);border-radius:3px;overflow:hidden}.study-mode__progress-fill{height:100%;background:var(--color-indigo-500);border-radius:3px;transition:width .3s ease}.study-mode__card{background:#fff;border:2px solid var(--color-border-default);border-radius:1rem;padding:2rem;min-height:300px;cursor:pointer;transition:border-color .2s,box-shadow .2s}.study-mode__card:hover{border-color:var(--color-indigo-300);box-shadow:0 8px 24px #6366f114}.study-mode__card--flipped{cursor:default;border-color:var(--color-indigo-200);min-height:auto}.study-mode__card--flipped:hover{box-shadow:none}.study-mode__card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.study-mode__category-badge{padding:.25rem .75rem;border-radius:9999px;font-size:.8125rem;font-weight:600;color:#fff}.study-mode__category-badge--a{background:#6366f1}.study-mode__category-badge--b{background:#3b82f6}.study-mode__category-badge--c{background:#f59e0b}.study-mode__category-badge--d{background:#ef4444}.study-mode__category-badge--e{background:#10b981}.study-mode__difficulty{font-size:.875rem;color:var(--color-text-muted)}.study-mode__lang-toggle{display:flex;gap:0;margin-left:auto;border:1px solid var(--color-border-default);border-radius:.375rem;overflow:hidden}.study-mode__lang-btn{padding:.25rem .625rem;font-size:.75rem;font-weight:600;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:background .15s,color .15s}.study-mode__lang-btn:not(:last-child){border-right:1px solid var(--color-border-default)}.study-mode__lang-btn--active{background:var(--color-primary-600);color:#fff}.study-mode__card-front{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;flex:1;min-height:200px;gap:1.5rem}.study-mode__card-body{display:flex;flex-direction:column}.study-mode__question{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);line-height:1.5}.study-mode__question-title{font-size:1rem;font-weight:600;color:var(--color-indigo-600);line-height:1.4;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border-default)}.study-mode__flip-hint{display:flex;align-items:center;gap:.25rem;color:var(--color-text-muted);font-size:.875rem}.study-mode__answer{max-height:60vh;overflow-y:auto}.study-mode__rating{margin-top:1.5rem;text-align:center}.study-mode__rating-label{font-size:.9375rem;color:var(--color-text-secondary);margin-bottom:1rem}.study-mode__rating-buttons{display:flex;gap:.75rem;justify-content:center}.study-mode__rate-btn{padding:.75rem 1.5rem;border:2px solid var(--rate-color);background:#fff;color:var(--rate-color);border-radius:.5rem;font-weight:600;font-size:.9375rem;cursor:pointer;transition:background .2s,color .2s;min-width:5rem}.study-mode__rate-btn:hover{background:var(--rate-color);color:#fff}.study-mode__rate-btn:disabled{opacity:.5;cursor:not-allowed}.study-mode__answer-short{padding:1rem;background:var(--color-green-50);border-left:3px solid var(--color-green-500);border-radius:.5rem;margin-bottom:1rem}.study-mode__answer-short .prose{font-size:1rem;line-height:1.6}.study-mode__expand-btn{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:var(--color-gray-100);border:1px solid var(--color-border-default);border-radius:.5rem;color:var(--color-gray-700);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.study-mode__expand-btn:hover{background:var(--color-gray-200)}.study-mode__expand-btn svg{transition:transform .2s}.study-mode__expand-btn--open svg{transform:rotate(180deg)}.study-mode__answer-extended{margin-top:1rem;padding:1rem;background:var(--color-gray-50);border:1px solid var(--color-border-default);border-radius:.5rem;max-height:60vh;overflow-y:auto}.study-mode__answer-extended .prose{font-size:.9rem}.study-mode__answer-extended h3,.study-mode__answer-extended h4{margin-top:1.25rem;margin-bottom:.5rem}.study-mode__answer-extended pre{font-size:.8rem}.mastery-roadmap__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.mastery-roadmap-card{background:#fff;border:1px solid var(--color-border-default);border-radius:.75rem;padding:1.25rem;transition:box-shadow .2s}.mastery-roadmap-card:hover{box-shadow:0 4px 12px #0000000f}.mastery-roadmap-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.mastery-roadmap-card__quarter{font-size:.875rem;font-weight:700;color:var(--color-indigo-600)}.mastery-roadmap-card__status{padding:.125rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:500;text-transform:capitalize}.mastery-roadmap-card__status--planned{background:#f3f4f6;color:#6b7280}.mastery-roadmap-card__status--in_progress{background:#fef3c7;color:#92400e}.mastery-roadmap-card__status--completed{background:#d1fae5;color:#065f46}.mastery-roadmap-card__title{font-size:1.0625rem;font-weight:600;color:var(--color-text-primary);margin-bottom:.5rem}.mastery-roadmap-card__description{font-size:.875rem;color:var(--color-text-secondary);line-height:1.5;margin-bottom:.5rem}.mastery-roadmap-card__challenge{font-size:.8125rem;color:var(--color-text-muted);font-style:italic;margin-bottom:.75rem}.mastery-roadmap-card__progress{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.mastery-roadmap-card__progress-bar{flex:1;height:8px;background:var(--color-bg-tertiary);border-radius:4px;overflow:hidden}.mastery-roadmap-card__progress-fill{height:100%;background:var(--color-indigo-500);border-radius:4px;transition:width .3s}.mastery-roadmap-card__progress-text{font-size:.875rem;font-weight:600;color:var(--color-text-secondary);min-width:2.5rem;text-align:right}.mastery-roadmap-card__actions{display:flex;gap:.25rem;justify-content:flex-end}.mastery-roadmap-card__actions button{padding:.375rem;background:transparent;border:none;cursor:pointer;color:var(--color-text-secondary);border-radius:.25rem;transition:color .2s,background .2s}.mastery-roadmap-card__actions button:hover{color:var(--color-text-primary);background:var(--color-bg-tertiary)}.mastery-roadmap-card__delete:hover{color:#ef4444!important}.mastery-widget{background:#fff;border:1px solid var(--color-border-default);border-radius:.75rem;padding:1.25rem}.mastery-widget__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.mastery-widget__header h3{font-size:1rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.mastery-widget__header a{font-size:.8125rem;color:var(--color-indigo-500);text-decoration:none;display:flex;align-items:center;gap:.25rem}.mastery-widget__header a:hover{color:var(--color-indigo-600)}.mastery-widget__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1rem}.mastery-widget__stat{text-align:center}.mastery-widget__stat-value{display:block;font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.mastery-widget__stat-label{display:block;font-size:.75rem;color:var(--color-text-muted)}.mastery-widget__categories{display:flex;flex-direction:column;gap:.5rem}.mastery-widget__cat-row{display:flex;align-items:center;gap:.5rem}.mastery-widget__cat-label{font-size:.75rem;font-weight:600;color:var(--color-text-secondary);min-width:1.25rem}.mastery-widget__cat-bar{flex:1;height:6px;background:var(--color-bg-tertiary);border-radius:3px;overflow:hidden}.mastery-widget__cat-fill{height:100%;border-radius:3px;transition:width .3s}.mastery-widget__cat-fill--a{background:#6366f1}.mastery-widget__cat-fill--b{background:#3b82f6}.mastery-widget__cat-fill--c{background:#f59e0b}.mastery-widget__cat-fill--d{background:#ef4444}.mastery-widget__cat-fill--e{background:#10b981}.mastery-widget__cat-count{font-size:.75rem;color:var(--color-text-muted);min-width:2.5rem;text-align:right}.sources-page{max-width:1400px}.sources-page__header{margin-bottom:1.5rem}.sources-page__title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.sources-page__title{font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.sources-page__add-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--color-primary-600);color:#fff;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity .15s}.sources-page__add-btn:hover{opacity:.9}.sources-page__filters{display:flex;gap:.75rem;margin-bottom:.75rem}.sources-page__search{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:.375rem;background:var(--color-bg-secondary);flex:1}.sources-page__search input{flex:1;border:none;background:transparent;color:var(--color-text-primary);font-size:.875rem;outline:none}.sources-page__search svg{color:var(--color-text-muted)}.sources-page__guest-filter{padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:.375rem;background:var(--color-bg-secondary);color:var(--color-text-primary);font-size:.875rem;min-width:150px}.sources-page__tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--color-border);padding-bottom:0}.sources-page__tab{padding:.5rem 1rem;border:none;background:none;color:var(--color-text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s}.sources-page__tab:hover{color:var(--color-text-primary)}.sources-page__tab--active{color:var(--color-primary-600);border-bottom-color:var(--color-primary-600)}.sources-page__badge{font-size:.6875rem;font-weight:600;padding:.125rem .5rem;border-radius:9999px;text-transform:capitalize}.sources-page__badge--inbox{background:var(--color-blue-100, #dbeafe);color:var(--color-blue-700, #1d4ed8)}.sources-page__badge--processing{background:var(--color-amber-100, #fef3c7);color:var(--color-amber-700, #b45309)}.sources-page__badge--done{background:var(--color-emerald-100);color:var(--color-emerald-700)}.sources-page__form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.sources-page__list{display:flex;flex-direction:column;gap:.75rem}.source-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:.5rem;overflow:hidden;transition:border-color .15s}.source-card:hover{border-color:var(--color-primary-500)}.source-card__main{display:flex;align-items:center;gap:1rem;padding:1rem;cursor:pointer}.source-card__thumbnail{width:80px;height:45px;border-radius:.25rem;overflow:hidden;background:var(--color-bg-tertiary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.source-card__thumbnail img{width:100%;height:100%;object-fit:cover}.source-card__thumbnail svg{color:var(--color-text-muted)}.source-card__body{flex:1;min-width:0}.source-card__header{display:flex;align-items:center;gap:.75rem;margin-bottom:.375rem}.source-card__title{font-size:.9375rem;font-weight:600;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-card__meta{display:flex;align-items:center;gap:1rem;font-size:.8125rem;color:var(--color-text-muted)}.source-card__channel{font-weight:500}.source-card__guest,.source-card__duration,.source-card__insights{display:flex;align-items:center;gap:.25rem}.source-card__expand{color:var(--color-text-muted)}.source-card__expanded{border-top:1px solid var(--color-border);padding:1rem;background:var(--color-bg-primary)}.source-card__actions{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.source-card__actions button{padding:.375rem .5rem;border:1px solid var(--color-border);border-radius:.25rem;background:var(--color-bg-secondary);color:var(--color-text-secondary);cursor:pointer;transition:all .15s}.source-card__actions button:hover{border-color:var(--color-primary-500);color:var(--color-primary-600)}.source-card__link{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;border:1px solid var(--color-border);border-radius:.25rem;background:var(--color-bg-secondary);color:var(--color-text-secondary);text-decoration:none;font-size:.8125rem;transition:all .15s}.source-card__link:hover{border-color:var(--color-primary-500);color:var(--color-primary-600)}.source-card__status-select{padding:.375rem .5rem;border:1px solid var(--color-border);border-radius:.25rem;background:var(--color-bg-secondary);color:var(--color-text-primary);font-size:.8125rem}.source-card__delete:hover{border-color:var(--color-red-500)!important;color:var(--color-red-500)!important}.source-card__content-grid{display:grid;grid-template-columns:2fr 3fr;gap:2rem;align-items:start}.source-card__summary{margin-bottom:0}.source-card__summary h4{font-size:.8125rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:.5rem}.source-card__summary pre{font-size:.8125rem;color:var(--color-text-primary);white-space:pre-wrap;background:var(--color-bg-secondary);padding:.75rem;border-radius:.375rem;border:1px solid var(--color-border);max-height:200px;overflow-y:auto}.source-card__insights-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.source-card__insights-header h4{font-size:.8125rem;font-weight:600;color:var(--color-text-secondary)}.source-card__add-insight{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border:1px solid var(--color-primary-600);border-radius:.25rem;background:transparent;color:var(--color-primary-600);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s}.source-card__add-insight:hover{background:var(--color-primary-600);color:#fff}.source-card__insights-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.source-card__no-insights{font-size:.8125rem;color:var(--color-text-muted);font-style:italic}.insight-item{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;padding:.5rem .75rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:.375rem}.insight-item__content{display:flex;align-items:baseline;gap:.5rem;flex:1;min-width:0}.insight-item__timestamp{font-size:.75rem;font-weight:600;color:var(--color-primary-600);text-decoration:none;font-family:monospace}.insight-item__timestamp:hover{text-decoration:underline}.insight-item__type{font-size:.625rem;font-weight:600;padding:.125rem .375rem;border-radius:.25rem;text-transform:uppercase;flex-shrink:0}.insight-item__type--lesson{background:var(--color-blue-100, #dbeafe);color:var(--color-blue-700, #1d4ed8)}.insight-item__type--quote{background:var(--color-purple-100, #f3e8ff);color:var(--color-purple-700, #7c3aed)}.insight-item__type--idea{background:var(--color-amber-100, #fef3c7);color:var(--color-amber-700, #b45309)}.insight-item__type--framework{background:var(--color-emerald-100);color:var(--color-emerald-700)}.insight-item__type--story{background:var(--color-rose-100, #ffe4e6);color:var(--color-rose-700, #be123c)}.insight-item__type--resource{background:var(--color-cyan-100, #cffafe);color:var(--color-cyan-700, #0e7490)}.insight-item__type--contrarian{background:var(--color-orange-100, #ffedd5);color:var(--color-orange-700, #c2410c)}.insight-item__type--analysis{background:var(--color-primary-100, #e5d4fc);color:var(--color-primary-700, #5b21b6)}.insight-item__text{font-size:.8125rem;color:var(--color-text-primary)}.insight-item__actions{display:flex;gap:.25rem}.insight-item__actions button{padding:.25rem;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;border-radius:.25rem;transition:all .15s}.insight-item__actions button:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.source-card__insight-tabs{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.source-card__insight-tab{padding:.375rem .75rem;border:1px solid var(--color-border);border-radius:.375rem;background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s}.source-card__insight-tab:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.source-card__insight-tab--active{background:var(--color-primary-600);border-color:var(--color-primary-600);color:#fff}.source-card__insight-tab--active:hover{background:var(--color-primary-700)}.source-card__analysis{padding:1rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:.5rem}.source-card__analysis-content{position:relative}.source-card__analysis-content .insight-item__actions{position:absolute;top:0;right:0}.source-card__analysis-content .prose{padding-right:4rem}.insight-item__markdown{font-size:.8125rem;color:var(--color-text-primary)}.insight-item__markdown p{margin:0}.insight-item__markdown blockquote{margin:.5rem 0;padding-left:.75rem;border-left:2px solid var(--color-primary-300);font-style:italic;color:var(--color-text-secondary)}@media(max-width:1024px){.source-card__content-grid{grid-template-columns:1fr}}@media(max-width:640px){.sources-page__filters{flex-direction:column}.sources-page__form-row{grid-template-columns:1fr}.source-card__main{flex-direction:column;align-items:flex-start}.source-card__thumbnail{width:100%;height:auto;aspect-ratio:16/9}.source-card__meta{flex-wrap:wrap;gap:.5rem}.insight-item__content{flex-wrap:wrap}.source-card__insight-tabs{gap:.25rem}.source-card__insight-tab{padding:.25rem .5rem;font-size:.6875rem}}:root{--rm-color-text: #374151;--rm-color-text-light: #6b7280;--rm-color-text-muted: #9ca3af;--rm-color-heading: #111827;--rm-color-heading-secondary: #1f2937;--rm-color-link: #2563eb;--rm-color-link-hover: #1d4ed8;--rm-color-border: #e5e7eb;--rm-color-border-dark: #d1d5db;--rm-color-bg: #ffffff;--rm-color-bg-secondary: #f9fafb;--rm-color-bg-code: #f3f4f6;--rm-color-bg-dark: #1f2937;--rm-color-bg-darker: #111827;--rm-code-bg: #1f2937;--rm-code-text: #e8e8e8;--rm-code-header-bg: linear-gradient(to right, #1f2937, #111827);--rm-code-button-bg: #374151;--rm-code-button-hover: #4b5563;--rm-code-highlight-bg: rgba(59, 130, 246, .15);--rm-code-highlight-border: #3b82f6;--rm-callout-info-bg: #eff6ff;--rm-callout-info-border: #bfdbfe;--rm-callout-info-text: #1e40af;--rm-callout-info-icon: #3b82f6;--rm-callout-warning-bg: #fefce8;--rm-callout-warning-border: #fde047;--rm-callout-warning-text: #854d0e;--rm-callout-warning-icon: #eab308;--rm-callout-success-bg: #f0fdf4;--rm-callout-success-border: #bbf7d0;--rm-callout-success-text: #166534;--rm-callout-success-icon: #22c55e;--rm-callout-error-bg: #fef2f2;--rm-callout-error-border: #fecaca;--rm-callout-error-text: #991b1b;--rm-callout-error-icon: #ef4444;--rm-callout-example-bg: #faf5ff;--rm-callout-example-border: #e9d5ff;--rm-callout-example-text: #6b21a8;--rm-callout-example-icon: #a855f7;--rm-callout-tip-bg: #ecfeff;--rm-callout-tip-border: #a5f3fc;--rm-callout-tip-text: #155e75;--rm-callout-tip-icon: #06b6d4;--rm-spacing-xs: .125rem;--rm-spacing-sm: .25rem;--rm-spacing-md: .5rem;--rm-spacing-lg: .75rem;--rm-spacing-xl: 1rem;--rm-spacing-2xl: 1.5rem;--rm-spacing-3xl: 2rem;--rm-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--rm-font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--rm-font-size-xs: .75rem;--rm-font-size-sm: .875rem;--rm-font-size-base: 1rem;--rm-font-size-lg: 1.125rem;--rm-font-size-xl: 1.25rem;--rm-radius-sm: .25rem;--rm-radius-md: .375rem;--rm-radius-lg: .5rem}.rm-heading{scroll-margin-top:5rem}.rm-heading-group{display:flex;align-items:baseline}.rm-h1{font-size:var(--rm-font-size-lg);font-weight:700;margin-bottom:var(--rm-spacing-sm);margin-top:var(--rm-spacing-md);color:var(--rm-color-heading);border-bottom:1px solid var(--rm-color-border);padding-bottom:var(--rm-spacing-xs);line-height:1.25}.rm-h2{font-size:var(--rm-font-size-base);font-weight:700;margin-bottom:var(--rm-spacing-sm);margin-top:var(--rm-spacing-md);color:var(--rm-color-heading-secondary);line-height:1.25}.rm-h3{font-size:var(--rm-font-size-base);font-weight:700;margin-bottom:var(--rm-spacing-xs);margin-top:var(--rm-spacing-lg);color:var(--rm-color-heading-secondary);line-height:1.375}.rm-h4{font-size:var(--rm-font-size-sm);font-weight:600;margin-bottom:var(--rm-spacing-xs);margin-top:var(--rm-spacing-lg);color:var(--rm-color-text);line-height:1.375}.rm-h5{font-size:var(--rm-font-size-sm);font-weight:600;margin-bottom:var(--rm-spacing-xs);margin-top:var(--rm-spacing-sm);color:var(--rm-color-text);line-height:1.375}.rm-h6{font-size:var(--rm-font-size-xs);font-weight:600;margin-bottom:var(--rm-spacing-xs);margin-top:var(--rm-spacing-sm);color:var(--rm-color-text);line-height:1.375}@media(min-width:1024px){.rm-h1{font-size:var(--rm-font-size-xl)}.rm-h2{font-size:var(--rm-font-size-lg)}}.rm-anchor-link{opacity:0;margin-left:var(--rm-spacing-md);color:var(--rm-color-text-muted);transition:opacity .2s ease;display:inline-flex;align-items:center}.rm-heading-group:hover .rm-anchor-link{opacity:1}.rm-anchor-link:hover{color:#4f46e5}.rm-anchor-link svg{width:.875rem;height:.875rem}.rm-ul{margin-bottom:var(--rm-spacing-sm);margin-top:0;padding-left:var(--rm-spacing-xl);list-style-type:disc}.rm-ol{margin-bottom:var(--rm-spacing-sm);margin-top:0;padding-left:var(--rm-spacing-xl);list-style-type:decimal}.rm-ul::marker,.rm-ol::marker{color:var(--rm-color-text-muted)}.rm-li{font-size:var(--rm-font-size-sm);color:var(--rm-color-text);line-height:1.25;margin:0;padding:0}.rm-table-wrapper{overflow-x:auto;margin:var(--rm-spacing-sm) 0;border-radius:var(--rm-radius-md);border:1px solid var(--rm-color-border);box-shadow:0 1px 2px #0000000d}.rm-table{min-width:100%;border-collapse:collapse}.rm-th{border-bottom:1px solid var(--rm-color-border-dark);background-color:var(--rm-color-bg-secondary);padding:var(--rm-spacing-sm) var(--rm-spacing-md);text-align:left;font-weight:600;color:var(--rm-color-heading-secondary);font-size:var(--rm-font-size-xs)}.rm-td{border-bottom:1px solid var(--rm-color-border);padding:var(--rm-spacing-sm) var(--rm-spacing-md);color:var(--rm-color-text);font-size:var(--rm-font-size-xs)}.rm-blockquote{border-left:3px solid #3b82f6;padding-left:var(--rm-spacing-lg);padding-right:var(--rm-spacing-md);font-style:italic;color:var(--rm-color-text-light);font-size:var(--rm-font-size-sm);margin:var(--rm-spacing-sm) 0;background:linear-gradient(to right,#eff6ff,transparent);padding-top:var(--rm-spacing-sm);padding-bottom:var(--rm-spacing-sm);border-radius:0 var(--rm-radius-md) var(--rm-radius-md) 0;position:relative;line-height:1.625}.rm-blockquote-quote{position:absolute;top:var(--rm-spacing-xs);left:var(--rm-spacing-xs);color:#93c5fd;font-size:var(--rm-font-size-xl);line-height:1}.rm-blockquote-content{position:relative;z-index:1}.rm-strong{font-weight:700;color:var(--rm-color-heading)}.rm-em{font-style:italic;color:var(--rm-color-text)}.rm-hr{margin:var(--rm-spacing-lg) 0;border:none;border-top:2px solid var(--rm-color-border)}.rm-del{text-decoration:line-through;color:var(--rm-color-text-light)}.rm-paragraph{font-size:var(--rm-font-size-sm);color:var(--rm-color-text);line-height:1.375;margin-bottom:var(--rm-spacing-sm)}.rm-paragraph-summary{margin-bottom:var(--rm-spacing-xs)}.rm-paragraph-list-header{line-height:1.25;margin-bottom:0}.rm-link{color:var(--rm-color-link);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:2px;transition:color .2s ease}.rm-link:hover{color:var(--rm-color-link-hover)}.rm-image-wrapper{margin:var(--rm-spacing-3xl) 0}.rm-image{max-width:100%;height:auto;border-radius:var(--rm-radius-lg);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;margin-left:auto;margin-right:auto;display:block;border:1px solid var(--rm-color-border)}.rm-image-hidden{display:none}.rm-image-caption{text-align:center;font-size:var(--rm-font-size-sm);color:var(--rm-color-text-light);margin-top:var(--rm-spacing-lg);font-style:italic;padding:0 var(--rm-spacing-xl)}@media(min-width:640px){.rm-image-caption{padding:0}}.rm-image-loading{background-color:var(--rm-color-border);border-radius:var(--rm-radius-lg);height:16rem;width:100%;animation:rm-pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes rm-pulse{0%,to{opacity:1}50%{opacity:.5}}.rm-image-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--rm-spacing-3xl);background-color:var(--rm-color-bg-code);border-radius:var(--rm-radius-lg);border:1px solid var(--rm-color-border)}.rm-image-error-icon{height:3rem;width:3rem;color:var(--rm-color-text-muted);margin-bottom:var(--rm-spacing-md)}.rm-image-error-text{font-size:var(--rm-font-size-sm);color:var(--rm-color-text-light)}.rm-image-error-alt{font-size:var(--rm-font-size-xs);color:var(--rm-color-text-muted);margin-top:var(--rm-spacing-sm);font-style:italic}.rm-inline-code{background-color:var(--rm-color-bg-code);color:var(--rm-color-heading-secondary);padding:var(--rm-spacing-xs) var(--rm-spacing-sm);border-radius:var(--rm-radius-sm);font-size:var(--rm-font-size-xs);font-family:var(--rm-font-mono);border:1px solid var(--rm-color-border);white-space:nowrap}.rm-code-block{margin:var(--rm-spacing-lg) 0;border-radius:var(--rm-radius-md);box-shadow:0 1px 2px #0000000d;overflow:hidden;background-color:var(--rm-code-bg);position:relative}.rm-code-header{background:var(--rm-code-header-bg);color:var(--rm-color-border);padding:var(--rm-spacing-sm) var(--rm-spacing-md);font-size:var(--rm-font-size-xs);font-weight:500;border-bottom:1px solid #374151;display:flex;align-items:center;justify-content:space-between}.rm-code-header-left{display:flex;align-items:center;gap:var(--rm-spacing-sm)}.rm-code-header-lang{font-weight:600;font-size:var(--rm-font-size-xs);color:#60a5fa}.rm-code-header-lines{font-size:10px;color:var(--rm-color-text-light)}.rm-code-header-badge{font-size:10px;color:var(--rm-color-text-muted);background-color:#37415180;padding:var(--rm-spacing-xs) var(--rm-spacing-sm);border-radius:var(--rm-radius-sm)}.rm-copy-button{position:absolute;top:var(--rm-spacing-sm);right:var(--rm-spacing-sm);padding:var(--rm-spacing-sm);border-radius:var(--rm-radius-md);background-color:var(--rm-code-button-bg);color:var(--rm-color-border-dark);border:none;cursor:pointer;transition:all .2s ease;z-index:10;display:flex;align-items:center;justify-content:center}.rm-copy-button:hover{background-color:var(--rm-code-button-hover);color:var(--rm-color-bg)}.rm-copy-button svg{width:1rem;height:1rem}.rm-copy-button-success svg{color:#4ade80}.rm-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.rm-code-content{position:relative}.rm-code-scroll{overflow-x:auto;transition:all .3s ease}.rm-code-scroll-collapsed{overflow-y:auto;scrollbar-width:thin;scrollbar-color:#4b5563 #1f2937}.rm-code-scroll-collapsed::-webkit-scrollbar{width:6px;height:6px}.rm-code-scroll-collapsed::-webkit-scrollbar-track{background:#1f2937}.rm-code-scroll-collapsed::-webkit-scrollbar-thumb{background:#4b5563;border-radius:3px}.rm-code-fade{position:absolute;bottom:0;left:0;right:0;height:6rem;background:linear-gradient(to top,rgba(0,0,0,.7),rgba(0,0,0,.3),transparent);pointer-events:none}.rm-code-toggle{width:100%;padding:var(--rm-spacing-md) var(--rm-spacing-xl);font-size:var(--rm-font-size-xs);font-weight:500;display:flex;align-items:center;justify-content:center;gap:var(--rm-spacing-md);transition:all .2s ease;border-radius:0 0 var(--rm-radius-md) var(--rm-radius-md);background-color:#000000b3;color:#60a5fa;border:none;cursor:pointer}.rm-code-toggle:hover{background-color:#000c;color:#93c5fd}.rm-code-toggle-collapsed{color:var(--rm-color-text-muted)}.rm-code-toggle-collapsed:hover{color:var(--rm-color-border-dark)}.rm-code-toggle svg{width:.875rem;height:.875rem}.rm-simple-code-block{margin:var(--rm-spacing-lg) 0;border-radius:var(--rm-radius-md);border:1px solid var(--rm-color-border);position:relative;overflow-x:auto}.rm-simple-code-pre{background-color:var(--rm-code-bg);color:var(--rm-code-text);padding:var(--rm-spacing-sm);padding-right:2.5rem;overflow-x:auto;font-size:var(--rm-font-size-xs);line-height:1.375;margin:0;font-family:var(--rm-font-mono);white-space:pre}.rm-code-pre{margin:0;padding:var(--rm-spacing-xl);overflow:auto;background-color:var(--rm-code-bg);color:var(--rm-code-text)}.rm-code-pre code{color:inherit}.rm-code-line{display:block}.rm-code-line-highlighted{background-color:var(--rm-code-highlight-bg);border-left:3px solid var(--rm-code-highlight-border);margin-left:calc(-1 * var(--rm-spacing-xl));padding-left:calc(var(--rm-spacing-xl) + var(--rm-spacing-sm))}.rm-code-loading{display:flex;align-items:center;justify-content:center;gap:var(--rm-spacing-md);padding:var(--rm-spacing-xl);background-color:var(--rm-code-bg);border-radius:var(--rm-radius-lg);min-height:60px;color:var(--rm-color-text-muted);font-size:var(--rm-font-size-sm)}.rm-code-loading svg{width:1rem;height:1rem;animation:rm-spin 1s linear infinite}@keyframes rm-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.rm-callout{border-left-width:4px;border-left-style:solid;padding:var(--rm-spacing-lg);margin:var(--rm-spacing-md) 0;border-radius:0 var(--rm-radius-md) var(--rm-radius-md) 0}.rm-callout-inner{display:flex;align-items:flex-start}.rm-callout-icon{flex-shrink:0}.rm-callout-icon svg{width:1rem;height:1rem}.rm-callout-content{margin-left:var(--rm-spacing-md);flex:1}.rm-callout-title{font-size:var(--rm-font-size-sm);font-weight:600;margin-bottom:var(--rm-spacing-sm)}.rm-callout-body{font-size:var(--rm-font-size-sm);line-height:1.375}.rm-callout-info,.rm-callout-note{background-color:var(--rm-callout-info-bg);border-left-color:var(--rm-callout-info-border);color:var(--rm-callout-info-text)}.rm-callout-info .rm-callout-icon,.rm-callout-note .rm-callout-icon{color:var(--rm-callout-info-icon)}.rm-callout-info .rm-callout-title,.rm-callout-note .rm-callout-title{color:#1e3a8a}.rm-callout-warning{background-color:var(--rm-callout-warning-bg);border-left-color:var(--rm-callout-warning-border);color:var(--rm-callout-warning-text)}.rm-callout-warning .rm-callout-icon{color:var(--rm-callout-warning-icon)}.rm-callout-warning .rm-callout-title{color:#713f12}.rm-callout-success,.rm-callout-solution,.rm-callout-solutions{background-color:var(--rm-callout-success-bg);border-left-color:var(--rm-callout-success-border);color:var(--rm-callout-success-text)}.rm-callout-success .rm-callout-icon,.rm-callout-solution .rm-callout-icon,.rm-callout-solutions .rm-callout-icon{color:var(--rm-callout-success-icon)}.rm-callout-success .rm-callout-title,.rm-callout-solution .rm-callout-title,.rm-callout-solutions .rm-callout-title{color:#14532d}.rm-callout-error,.rm-callout-problem{background-color:var(--rm-callout-error-bg);border-left-color:var(--rm-callout-error-border);color:var(--rm-callout-error-text)}.rm-callout-error .rm-callout-icon,.rm-callout-problem .rm-callout-icon{color:var(--rm-callout-error-icon)}.rm-callout-error .rm-callout-title,.rm-callout-problem .rm-callout-title{color:#7f1d1d}.rm-callout-example{background-color:var(--rm-callout-example-bg);border-left-color:var(--rm-callout-example-border);color:var(--rm-callout-example-text)}.rm-callout-example .rm-callout-icon{color:var(--rm-callout-example-icon)}.rm-callout-example .rm-callout-title{color:#581c87}.rm-callout-tip{background-color:var(--rm-callout-tip-bg);border-left-color:var(--rm-callout-tip-border);color:var(--rm-callout-tip-text)}.rm-callout-tip .rm-callout-icon{color:var(--rm-callout-tip-icon)}.rm-callout-tip .rm-callout-title{color:#164e63}.rm-mermaid-wrapper{margin:var(--rm-spacing-3xl) 0}@media(min-width:640px){.rm-mermaid-wrapper{margin-left:0;margin-right:0}}.rm-mermaid-wrapper-mobile{margin-left:calc(-1 * var(--rm-spacing-xl));margin-right:calc(-1 * var(--rm-spacing-xl))}.rm-mermaid-loading{display:flex;align-items:center;justify-content:center;gap:var(--rm-spacing-md);padding:var(--rm-spacing-3xl);background-color:var(--rm-color-bg-secondary);border:1px solid var(--rm-color-border);border-radius:var(--rm-radius-lg);color:var(--rm-color-text-light);font-size:var(--rm-font-size-sm)}.rm-mermaid-loading svg{width:1rem;height:1rem;animation:rm-spin 1s linear infinite}.rm-mermaid-diagram{background-color:var(--rm-color-bg);border:1px solid var(--rm-color-border);border-radius:var(--rm-radius-lg);padding:var(--rm-spacing-2xl);overflow:auto;min-height:120px;text-align:center}.rm-mermaid-hidden{display:none}.rm-mermaid-label{text-align:center;margin-top:var(--rm-spacing-lg)}.rm-mermaid-label span{font-size:var(--rm-font-size-xs);color:var(--rm-color-text-light);background-color:var(--rm-color-bg-code);padding:var(--rm-spacing-sm) var(--rm-spacing-md);border-radius:var(--rm-radius-sm)}.rm-mermaid-error{margin:var(--rm-spacing-2xl) 0;padding:var(--rm-spacing-xl);background-color:var(--rm-callout-error-bg);border:1px solid var(--rm-callout-error-border);border-radius:var(--rm-radius-lg)}.rm-mermaid-error-header{display:flex;align-items:center;gap:var(--rm-spacing-md);color:var(--rm-callout-error-text);font-weight:500;margin-bottom:var(--rm-spacing-md)}.rm-mermaid-error-header svg{width:1rem;height:1rem}.rm-mermaid-error-message{color:#dc2626;font-size:var(--rm-font-size-sm);margin-bottom:var(--rm-spacing-lg)}.rm-mermaid-error-details{font-size:var(--rm-font-size-xs);color:#f87171}.rm-mermaid-error-details summary{cursor:pointer}.rm-mermaid-error-details summary:hover{color:var(--rm-callout-error-text)}.rm-mermaid-error-source{margin-top:var(--rm-spacing-md);padding:var(--rm-spacing-md);background-color:#fecaca;border-radius:var(--rm-radius-sm);font-size:var(--rm-font-size-xs);overflow:auto;white-space:pre-wrap}.rm-mermaid-error-hint{margin-top:var(--rm-spacing-lg);font-size:var(--rm-font-size-xs);color:#fca5a5}.rm-flow-diagram{margin:var(--rm-spacing-lg) 0;padding:var(--rm-spacing-lg);background:linear-gradient(to right,#eff6ff,#eef2ff);border:1px solid #bfdbfe;border-radius:var(--rm-radius-md)}.rm-flow-diagram__container{display:flex;align-items:center;justify-content:center}.rm-flow-diagram__code{font-size:1.125rem;font-family:var(--rm-font-mono);color:var(--rm-color-heading);display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:.25rem}.rm-flow-diagram__arrow{display:inline-flex;align-items:center;margin:0 .25rem}.rm-flow-diagram__arrow-icon{height:1rem;width:1rem;color:#2563eb}@layer properties{@supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x: 0;--tw-translate-y: 0;--tw-translate-z: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-scale-z: 1;--tw-rotate-x: initial;--tw-rotate-y: initial;--tw-rotate-z: initial;--tw-skew-x: initial;--tw-skew-y: initial;--tw-space-y-reverse: 0;--tw-divide-y-reverse: 0;--tw-border-style: solid;--tw-gradient-position: initial;--tw-gradient-from: #0000;--tw-gradient-via: #0000;--tw-gradient-to: #0000;--tw-gradient-stops: initial;--tw-gradient-via-stops: initial;--tw-gradient-from-position: 0%;--tw-gradient-via-position: 50%;--tw-gradient-to-position: 100%;--tw-leading: initial;--tw-font-weight: initial;--tw-tracking: initial;--tw-ordinal: initial;--tw-slashed-zero: initial;--tw-numeric-figure: initial;--tw-numeric-spacing: initial;--tw-numeric-fraction: initial;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-blur: initial;--tw-brightness: initial;--tw-contrast: initial;--tw-grayscale: initial;--tw-hue-rotate: initial;--tw-invert: initial;--tw-opacity: initial;--tw-saturate: initial;--tw-sepia: initial;--tw-drop-shadow: initial;--tw-drop-shadow-color: initial;--tw-drop-shadow-alpha: 100%;--tw-drop-shadow-size: initial;--tw-duration: initial;--tw-ease: initial}}}@layer theme{:root,:host{--font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50: oklch(97.1% .013 17.38);--color-red-100: oklch(93.6% .032 17.717);--color-red-200: oklch(88.5% .062 18.334);--color-red-300: oklch(80.8% .114 19.571);--color-red-400: oklch(70.4% .191 22.216);--color-red-500: oklch(63.7% .237 25.331);--color-red-600: oklch(57.7% .245 27.325);--color-red-700: oklch(50.5% .213 27.518);--color-red-800: oklch(44.4% .177 26.899);--color-red-900: oklch(39.6% .141 25.723);--color-orange-50: oklch(98% .016 73.684);--color-orange-100: oklch(95.4% .038 75.164);--color-orange-200: oklch(90.1% .076 70.697);--color-orange-300: oklch(83.7% .128 66.29);--color-orange-400: oklch(75% .183 55.934);--color-orange-500: oklch(70.5% .213 47.604);--color-orange-600: oklch(64.6% .222 41.116);--color-orange-700: oklch(55.3% .195 38.402);--color-orange-800: oklch(47% .157 37.304);--color-orange-900: oklch(40.8% .123 38.172);--color-amber-50: oklch(98.7% .022 95.277);--color-amber-100: oklch(96.2% .059 95.617);--color-amber-200: oklch(92.4% .12 95.746);--color-amber-300: oklch(87.9% .169 91.605);--color-amber-400: oklch(82.8% .189 84.429);--color-amber-500: oklch(76.9% .188 70.08);--color-amber-600: oklch(66.6% .179 58.318);--color-amber-700: oklch(55.5% .163 48.998);--color-amber-800: oklch(47.3% .137 46.201);--color-amber-900: oklch(41.4% .112 45.904);--color-yellow-50: oklch(98.7% .026 102.212);--color-yellow-100: oklch(97.3% .071 103.193);--color-yellow-200: oklch(94.5% .129 101.54);--color-yellow-300: oklch(90.5% .182 98.111);--color-yellow-400: oklch(85.2% .199 91.936);--color-yellow-500: oklch(79.5% .184 86.047);--color-yellow-600: oklch(68.1% .162 75.834);--color-yellow-700: oklch(55.4% .135 66.442);--color-yellow-800: oklch(47.6% .114 61.907);--color-yellow-900: oklch(42.1% .095 57.708);--color-lime-50: oklch(98.6% .031 120.757);--color-lime-100: oklch(96.7% .067 122.328);--color-lime-200: oklch(93.8% .127 124.321);--color-lime-500: oklch(76.8% .233 130.85);--color-lime-600: oklch(64.8% .2 131.684);--color-lime-700: oklch(53.2% .157 131.589);--color-lime-800: oklch(45.3% .124 130.933);--color-lime-900: oklch(40.5% .101 131.063);--color-green-50: oklch(98.2% .018 155.826);--color-green-100: oklch(96.2% .044 156.743);--color-green-200: oklch(92.5% .084 155.995);--color-green-300: oklch(87.1% .15 154.449);--color-green-400: oklch(79.2% .209 151.711);--color-green-500: oklch(72.3% .219 149.579);--color-green-600: oklch(62.7% .194 149.214);--color-green-700: oklch(52.7% .154 150.069);--color-green-800: oklch(44.8% .119 151.328);--color-green-900: oklch(39.3% .095 152.535);--color-emerald-50: oklch(97.9% .021 166.113);--color-emerald-200: oklch(90.5% .093 164.15);--color-emerald-600: oklch(59.6% .145 163.225);--color-emerald-700: oklch(50.8% .118 165.612);--color-emerald-800: oklch(43.2% .095 166.913);--color-teal-50: oklch(98.4% .014 180.72);--color-teal-100: oklch(95.3% .051 180.801);--color-teal-200: oklch(91% .096 180.426);--color-teal-300: oklch(85.5% .138 181.071);--color-teal-400: oklch(77.7% .152 181.912);--color-teal-500: oklch(70.4% .14 182.503);--color-teal-600: oklch(60% .118 184.704);--color-teal-700: oklch(51.1% .096 186.391);--color-teal-800: oklch(43.7% .078 188.216);--color-teal-900: oklch(38.6% .063 188.416);--color-cyan-50: oklch(98.4% .019 200.873);--color-cyan-100: oklch(95.6% .045 203.388);--color-cyan-200: oklch(91.7% .08 205.041);--color-cyan-500: oklch(71.5% .143 215.221);--color-cyan-600: oklch(60.9% .126 221.723);--color-cyan-700: oklch(52% .105 223.128);--color-cyan-800: oklch(45% .085 224.283);--color-cyan-900: oklch(39.8% .07 227.392);--color-sky-50: oklch(97.7% .013 236.62);--color-blue-50: oklch(97% .014 254.604);--color-blue-100: oklch(93.2% .032 255.585);--color-blue-200: oklch(88.2% .059 254.128);--color-blue-300: oklch(80.9% .105 251.813);--color-blue-400: oklch(70.7% .165 254.624);--color-blue-500: oklch(62.3% .214 259.815);--color-blue-600: oklch(54.6% .245 262.881);--color-blue-700: oklch(48.8% .243 264.376);--color-blue-800: oklch(42.4% .199 265.638);--color-blue-900: oklch(37.9% .146 265.522);--color-indigo-50: oklch(96.2% .018 272.314);--color-indigo-100: oklch(93% .034 272.788);--color-indigo-200: oklch(87% .065 274.039);--color-indigo-300: oklch(78.5% .115 274.713);--color-indigo-400: oklch(67.3% .182 276.935);--color-indigo-500: oklch(58.5% .233 277.117);--color-indigo-600: oklch(51.1% .262 276.966);--color-indigo-700: oklch(45.7% .24 277.023);--color-indigo-800: oklch(39.8% .195 277.366);--color-indigo-900: oklch(35.9% .144 278.697);--color-violet-50: oklch(96.9% .016 293.756);--color-violet-100: oklch(94.3% .029 294.588);--color-violet-200: oklch(89.4% .057 293.283);--color-violet-300: oklch(81.1% .111 293.571);--color-violet-500: oklch(60.6% .25 292.717);--color-violet-600: oklch(54.1% .281 293.009);--color-violet-700: oklch(49.1% .27 292.581);--color-violet-800: oklch(43.2% .232 292.759);--color-violet-900: oklch(38% .189 293.745);--color-purple-50: oklch(97.7% .014 308.299);--color-purple-100: oklch(94.6% .033 307.174);--color-purple-200: oklch(90.2% .063 306.703);--color-purple-300: oklch(82.7% .119 306.383);--color-purple-400: oklch(71.4% .203 305.504);--color-purple-500: oklch(62.7% .265 303.9);--color-purple-600: oklch(55.8% .288 302.321);--color-purple-700: oklch(49.6% .265 301.924);--color-purple-800: oklch(43.8% .218 303.724);--color-purple-900: oklch(38.1% .176 304.987);--color-pink-50: oklch(97.1% .014 343.198);--color-pink-100: oklch(94.8% .028 342.258);--color-pink-200: oklch(89.9% .061 343.231);--color-pink-400: oklch(71.8% .202 349.761);--color-pink-500: oklch(65.6% .241 354.308);--color-pink-600: oklch(59.2% .249 .584);--color-pink-700: oklch(52.5% .223 3.958);--color-pink-800: oklch(45.9% .187 3.815);--color-rose-50: oklch(96.9% .015 12.422);--color-rose-200: oklch(89.2% .058 10.001);--color-rose-700: oklch(51.4% .222 16.935);--color-rose-800: oklch(45.5% .188 13.697);--color-slate-50: oklch(98.4% .003 247.858);--color-gray-50: oklch(98.5% .002 247.839);--color-gray-100: oklch(96.7% .003 264.542);--color-gray-200: oklch(92.8% .006 264.531);--color-gray-300: oklch(87.2% .01 258.338);--color-gray-400: oklch(70.7% .022 261.325);--color-gray-500: oklch(55.1% .027 264.364);--color-gray-600: oklch(44.6% .03 256.802);--color-gray-700: oklch(37.3% .034 259.733);--color-gray-800: oklch(27.8% .033 256.848);--color-gray-900: oklch(21% .034 264.665);--color-white: #fff;--spacing: .25rem;--container-4xl: 56rem;--text-xs: .75rem;--text-xs--line-height: calc(1 / .75);--text-sm: .875rem;--text-sm--line-height: calc(1.25 / .875);--text-base: 1rem;--text-base--line-height: 1.5 ;--text-lg: 1.125rem;--text-lg--line-height: calc(1.75 / 1.125);--text-xl: 1.25rem;--text-xl--line-height: calc(1.75 / 1.25);--text-2xl: 1.5rem;--text-2xl--line-height: calc(2 / 1.5);--text-5xl: 3rem;--text-5xl--line-height: 1;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--tracking-wide: .025em;--leading-tight: 1.25;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--animate-bounce: bounce 1s infinite;--default-transition-duration: .15s;--default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--default-font-family: var(--font-sans);--default-mono-font-family: var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings, normal);font-variation-settings:var(--default-mono-font-variation-settings, normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px){::placeholder{color:currentColor}@supports (color: color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.-bottom-5{bottom:calc(var(--spacing) * -5)}.left-0{left:calc(var(--spacing) * 0)}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-auto{margin-inline:auto}.-mt-5{margin-top:calc(var(--spacing) * -5)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.-ml-5{margin-left:calc(var(--spacing) * -5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.block{display:block}.block\!{display:block!important}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-32{height:calc(var(--spacing) * 32)}.h-48{height:calc(var(--spacing) * 48)}.h-52{height:calc(var(--spacing) * 52)}.h-64{height:calc(var(--spacing) * 64)}.h-\[28px\]{height:28px}.h-\[36px\]{height:36px}.h-\[40px\]{height:40px}.h-\[220px\]{height:220px}.h-auto{height:auto}.h-full{height:100%}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-40{max-height:calc(var(--spacing) * 40)}.min-h-\[16px\]{min-height:16px}.min-h-\[20px\]{min-height:20px}.min-h-\[24px\]{min-height:24px}.min-h-\[28px\]{min-height:28px}.min-h-\[32px\]{min-height:32px}.min-h-\[36px\]{min-height:36px}.min-h-\[40px\]{min-height:40px}.min-h-\[44px\]{min-height:44px}.min-h-\[48px\]{min-height:48px}.min-h-\[50px\]{min-height:50px}.min-h-\[52px\]{min-height:52px}.min-h-\[60px\]{min-height:60px}.min-h-\[64px\]{min-height:64px}.min-h-\[68px\]{min-height:68px}.min-h-\[72px\]{min-height:72px}.min-h-\[76px\]{min-height:76px}.min-h-\[80px\]{min-height:80px}.min-h-\[100px\]{min-height:100px}.min-h-\[150px\]{min-height:150px}.min-h-\[160px\]{min-height:160px}.min-h-\[180px\]{min-height:180px}.w-0\.5{width:calc(var(--spacing) * .5)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-32{width:calc(var(--spacing) * 32)}.w-40{width:calc(var(--spacing) * 40)}.w-64{width:calc(var(--spacing) * 64)}.w-full{width:100%}.w-px{width:1px}.max-w-4xl{max-width:var(--container-4xl)}.max-w-\[220px\]{max-width:220px}.max-w-\[240px\]{max-width:240px}.max-w-\[280px\]{max-width:280px}.max-w-\[300px\]{max-width:300px}.max-w-\[310px\]{max-width:310px}.max-w-\[320px\]{max-width:320px}.max-w-\[340px\]{max-width:340px}.max-w-\[400px\]{max-width:400px}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[50px\]{min-width:50px}.min-w-\[60px\]{min-width:60px}.min-w-\[70px\]{min-width:70px}.min-w-max{min-width:max-content}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-4{--tw-translate-x: calc(var(--spacing) * -4);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x: calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-4{--tw-translate-y: calc(var(--spacing) * -4);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-0{--tw-translate-y: calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-1{--tw-translate-y: calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-4{--tw-translate-y: calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-95{--tw-scale-x: 95%;--tw-scale-y: 95%;--tw-scale-z: 95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-100{--tw-scale-x: 100%;--tw-scale-y: 100%;--tw-scale-z: 100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-110{--tw-scale-x: 110%;--tw-scale-y: 110%;--tw-scale-z: 110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )}.animate-bounce{animation:var(--animate-bounce)}.animate-pulse{animation:var(--animate-pulse)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize\!{resize:both!important}.appearance-none{appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse: 0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-gray-100>:not(:last-child)){border-color:var(--color-gray-100)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.rounded-b-lg{border-bottom-right-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-amber-200{border-color:var(--color-amber-200)}.border-amber-300{border-color:var(--color-amber-300)}.border-amber-400{border-color:var(--color-amber-400)}.border-amber-500{border-color:var(--color-amber-500)}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-300{border-color:var(--color-blue-300)}.border-blue-400{border-color:var(--color-blue-400)}.border-blue-500{border-color:var(--color-blue-500)}.border-blue-600{border-color:var(--color-blue-600)}.border-cyan-200{border-color:var(--color-cyan-200)}.border-cyan-500{border-color:var(--color-cyan-500)}.border-emerald-200{border-color:var(--color-emerald-200)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-700{border-color:var(--color-gray-700)}.border-green-200{border-color:var(--color-green-200)}.border-green-300{border-color:var(--color-green-300)}.border-green-400{border-color:var(--color-green-400)}.border-green-500{border-color:var(--color-green-500)}.border-green-600{border-color:var(--color-green-600)}.border-indigo-100{border-color:var(--color-indigo-100)}.border-indigo-200{border-color:var(--color-indigo-200)}.border-indigo-300{border-color:var(--color-indigo-300)}.border-indigo-500{border-color:var(--color-indigo-500)}.border-indigo-600{border-color:var(--color-indigo-600)}.border-lime-200{border-color:var(--color-lime-200)}.border-lime-500{border-color:var(--color-lime-500)}.border-orange-200{border-color:var(--color-orange-200)}.border-orange-300{border-color:var(--color-orange-300)}.border-orange-500{border-color:var(--color-orange-500)}.border-orange-600{border-color:var(--color-orange-600)}.border-pink-200{border-color:var(--color-pink-200)}.border-purple-200{border-color:var(--color-purple-200)}.border-purple-300{border-color:var(--color-purple-300)}.border-purple-400{border-color:var(--color-purple-400)}.border-purple-500{border-color:var(--color-purple-500)}.border-red-200{border-color:var(--color-red-200)}.border-red-300{border-color:var(--color-red-300)}.border-red-400{border-color:var(--color-red-400)}.border-red-500{border-color:var(--color-red-500)}.border-red-600{border-color:var(--color-red-600)}.border-rose-200{border-color:var(--color-rose-200)}.border-teal-200{border-color:var(--color-teal-200)}.border-teal-400{border-color:var(--color-teal-400)}.border-teal-500{border-color:var(--color-teal-500)}.border-transparent{border-color:#0000}.border-violet-200{border-color:var(--color-violet-200)}.border-violet-300{border-color:var(--color-violet-300)}.border-violet-500{border-color:var(--color-violet-500)}.border-yellow-200{border-color:var(--color-yellow-200)}.border-yellow-400{border-color:var(--color-yellow-400)}.border-yellow-500{border-color:var(--color-yellow-500)}.border-yellow-600{border-color:var(--color-yellow-600)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-amber-200{background-color:var(--color-amber-200)}.bg-amber-300{background-color:var(--color-amber-300)}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-200{background-color:var(--color-blue-200)}.bg-blue-400{background-color:var(--color-blue-400)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-cyan-50{background-color:var(--color-cyan-50)}.bg-cyan-100{background-color:var(--color-cyan-100)}.bg-cyan-500{background-color:var(--color-cyan-500)}.bg-cyan-600{background-color:var(--color-cyan-600)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-700{background-color:var(--color-gray-700)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-200{background-color:var(--color-green-200)}.bg-green-400{background-color:var(--color-green-400)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-600{background-color:var(--color-green-600)}.bg-indigo-50{background-color:var(--color-indigo-50)}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-indigo-100\/50{background-color:#e0e7ff80}@supports (color: color-mix(in lab,red,red)){.bg-indigo-100\/50{background-color:color-mix(in oklab,var(--color-indigo-100) 50%,transparent)}}.bg-indigo-500{background-color:var(--color-indigo-500)}.bg-indigo-600{background-color:var(--color-indigo-600)}.bg-lime-50{background-color:var(--color-lime-50)}.bg-lime-100{background-color:var(--color-lime-100)}.bg-lime-500{background-color:var(--color-lime-500)}.bg-lime-600{background-color:var(--color-lime-600)}.bg-orange-50{background-color:var(--color-orange-50)}.bg-orange-100{background-color:var(--color-orange-100)}.bg-orange-200{background-color:var(--color-orange-200)}.bg-orange-400{background-color:var(--color-orange-400)}.bg-orange-500{background-color:var(--color-orange-500)}.bg-orange-600{background-color:var(--color-orange-600)}.bg-pink-50{background-color:var(--color-pink-50)}.bg-pink-100{background-color:var(--color-pink-100)}.bg-pink-400{background-color:var(--color-pink-400)}.bg-purple-50{background-color:var(--color-purple-50)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-purple-200{background-color:var(--color-purple-200)}.bg-purple-400{background-color:var(--color-purple-400)}.bg-purple-500{background-color:var(--color-purple-500)}.bg-purple-600{background-color:var(--color-purple-600)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-300{background-color:var(--color-red-300)}.bg-red-400{background-color:var(--color-red-400)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-600{background-color:var(--color-red-600)}.bg-rose-50{background-color:var(--color-rose-50)}.bg-teal-50{background-color:var(--color-teal-50)}.bg-teal-100{background-color:var(--color-teal-100)}.bg-teal-500{background-color:var(--color-teal-500)}.bg-teal-600{background-color:var(--color-teal-600)}.bg-violet-50{background-color:var(--color-violet-50)}.bg-violet-100{background-color:var(--color-violet-100)}.bg-violet-500{background-color:var(--color-violet-500)}.bg-violet-600{background-color:var(--color-violet-600)}.bg-white{background-color:var(--color-white)}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-yellow-200{background-color:var(--color-yellow-200)}.bg-yellow-300{background-color:var(--color-yellow-300)}.bg-yellow-400{background-color:var(--color-yellow-400)}.bg-yellow-400\/40{background-color:#fac80066}@supports (color: color-mix(in lab,red,red)){.bg-yellow-400\/40{background-color:color-mix(in oklab,var(--color-yellow-400) 40%,transparent)}}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-gradient-to-br{--tw-gradient-position: to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position: to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-amber-50{--tw-gradient-from: var(--color-amber-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-blue-50{--tw-gradient-from: var(--color-blue-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-cyan-50{--tw-gradient-from: var(--color-cyan-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-emerald-50{--tw-gradient-from: var(--color-emerald-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-gray-50{--tw-gradient-from: var(--color-gray-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-green-50{--tw-gradient-from: var(--color-green-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-indigo-50{--tw-gradient-from: var(--color-indigo-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-lime-50{--tw-gradient-from: var(--color-lime-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-orange-50{--tw-gradient-from: var(--color-orange-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-orange-100{--tw-gradient-from: var(--color-orange-100);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-pink-50{--tw-gradient-from: var(--color-pink-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-purple-50{--tw-gradient-from: var(--color-purple-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-red-50{--tw-gradient-from: var(--color-red-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-rose-50{--tw-gradient-from: var(--color-rose-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-teal-50{--tw-gradient-from: var(--color-teal-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-violet-50{--tw-gradient-from: var(--color-violet-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-amber-50{--tw-gradient-to: var(--color-amber-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-amber-100{--tw-gradient-to: var(--color-amber-100);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-blue-50{--tw-gradient-to: var(--color-blue-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-cyan-50{--tw-gradient-to: var(--color-cyan-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-emerald-50{--tw-gradient-to: var(--color-emerald-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-gray-100{--tw-gradient-to: var(--color-gray-100);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-green-50{--tw-gradient-to: var(--color-green-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-indigo-50{--tw-gradient-to: var(--color-indigo-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-lime-50{--tw-gradient-to: var(--color-lime-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-orange-50{--tw-gradient-to: var(--color-orange-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-pink-50{--tw-gradient-to: var(--color-pink-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-purple-50{--tw-gradient-to: var(--color-purple-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-red-50{--tw-gradient-to: var(--color-red-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-rose-50{--tw-gradient-to: var(--color-rose-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-sky-50{--tw-gradient-to: var(--color-sky-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-slate-50{--tw-gradient-to: var(--color-slate-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-teal-50{--tw-gradient-to: var(--color-teal-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-violet-50{--tw-gradient-to: var(--color-violet-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-white{--tw-gradient-to: var(--color-white);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-yellow-50{--tw-gradient-to: var(--color-yellow-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.fill-amber-400{fill:var(--color-amber-400)}.fill-blue-100{fill:var(--color-blue-100)}.fill-blue-200{fill:var(--color-blue-200)}.fill-blue-400{fill:var(--color-blue-400)}.fill-blue-500{fill:var(--color-blue-500)}.fill-blue-700{fill:var(--color-blue-700)}.fill-gray-50{fill:var(--color-gray-50)}.fill-gray-100{fill:var(--color-gray-100)}.fill-gray-200{fill:var(--color-gray-200)}.fill-gray-300{fill:var(--color-gray-300)}.fill-gray-400{fill:var(--color-gray-400)}.fill-gray-500{fill:var(--color-gray-500)}.fill-gray-600{fill:var(--color-gray-600)}.fill-gray-700{fill:var(--color-gray-700)}.fill-gray-800{fill:var(--color-gray-800)}.fill-gray-900{fill:var(--color-gray-900)}.fill-green-50{fill:var(--color-green-50)}.fill-green-100{fill:var(--color-green-100)}.fill-green-400{fill:var(--color-green-400)}.fill-green-700{fill:var(--color-green-700)}.fill-green-900{fill:var(--color-green-900)}.fill-orange-200{fill:var(--color-orange-200)}.fill-orange-500{fill:var(--color-orange-500)}.fill-purple-100{fill:var(--color-purple-100)}.fill-purple-200{fill:var(--color-purple-200)}.fill-purple-500{fill:var(--color-purple-500)}.fill-red-100{fill:var(--color-red-100)}.fill-white{fill:var(--color-white)}.fill-yellow-200{fill:var(--color-yellow-200)}.fill-yellow-300{fill:var(--color-yellow-300)}.fill-yellow-400{fill:var(--color-yellow-400)}.fill-yellow-600{fill:var(--color-yellow-600)}.fill-yellow-900{fill:var(--color-yellow-900)}.stroke-amber-500{stroke:var(--color-amber-500)}.stroke-amber-600{stroke:var(--color-amber-600)}.stroke-blue-400{stroke:var(--color-blue-400)}.stroke-blue-600{stroke:var(--color-blue-600)}.stroke-gray-300{stroke:var(--color-gray-300)}.stroke-gray-400{stroke:var(--color-gray-400)}.stroke-green-300{stroke:var(--color-green-300)}.stroke-green-400{stroke:var(--color-green-400)}.stroke-green-500{stroke:var(--color-green-500)}.stroke-green-600{stroke:var(--color-green-600)}.stroke-orange-400{stroke:var(--color-orange-400)}.stroke-orange-600{stroke:var(--color-orange-600)}.stroke-purple-300{stroke:var(--color-purple-300)}.stroke-purple-400{stroke:var(--color-purple-400)}.stroke-purple-600{stroke:var(--color-purple-600)}.stroke-red-400{stroke:var(--color-red-400)}.stroke-yellow-400{stroke:var(--color-yellow-400)}.stroke-yellow-500{stroke:var(--color-yellow-500)}.stroke-yellow-600{stroke:var(--color-yellow-600)}.stroke-2{stroke-width:2px}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading, var(--text-2xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading, var(--text-5xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading, var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading, var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading, var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading, var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading, var(--text-xs--line-height))}.text-\[7px\]{font-size:7px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-tight{--tw-leading: var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight: var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight: var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight: var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight: var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking: var(--tracking-wide);letter-spacing:var(--tracking-wide)}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.text-amber-500{color:var(--color-amber-500)}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-amber-900{color:var(--color-amber-900)}.text-blue-300{color:var(--color-blue-300)}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-blue-900{color:var(--color-blue-900)}.text-cyan-600{color:var(--color-cyan-600)}.text-cyan-700{color:var(--color-cyan-700)}.text-cyan-800{color:var(--color-cyan-800)}.text-cyan-900{color:var(--color-cyan-900)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-emerald-800{color:var(--color-emerald-800)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-400{color:var(--color-green-400)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-green-900{color:var(--color-green-900)}.text-indigo-600{color:var(--color-indigo-600)}.text-indigo-700{color:var(--color-indigo-700)}.text-indigo-800{color:var(--color-indigo-800)}.text-indigo-900{color:var(--color-indigo-900)}.text-lime-600{color:var(--color-lime-600)}.text-lime-800{color:var(--color-lime-800)}.text-lime-900{color:var(--color-lime-900)}.text-orange-300{color:var(--color-orange-300)}.text-orange-400{color:var(--color-orange-400)}.text-orange-500{color:var(--color-orange-500)}.text-orange-600{color:var(--color-orange-600)}.text-orange-700{color:var(--color-orange-700)}.text-orange-800{color:var(--color-orange-800)}.text-orange-900{color:var(--color-orange-900)}.text-pink-600{color:var(--color-pink-600)}.text-pink-700{color:var(--color-pink-700)}.text-pink-800{color:var(--color-pink-800)}.text-purple-300{color:var(--color-purple-300)}.text-purple-400{color:var(--color-purple-400)}.text-purple-600{color:var(--color-purple-600)}.text-purple-700{color:var(--color-purple-700)}.text-purple-800{color:var(--color-purple-800)}.text-purple-900{color:var(--color-purple-900)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-red-900{color:var(--color-red-900)}.text-rose-700{color:var(--color-rose-700)}.text-rose-800{color:var(--color-rose-800)}.text-teal-600{color:var(--color-teal-600)}.text-teal-700{color:var(--color-teal-700)}.text-teal-800{color:var(--color-teal-800)}.text-teal-900{color:var(--color-teal-900)}.text-violet-600{color:var(--color-violet-600)}.text-violet-700{color:var(--color-violet-700)}.text-violet-800{color:var(--color-violet-800)}.text-violet-900{color:var(--color-violet-900)}.text-white{color:var(--color-white)}.text-yellow-100{color:var(--color-yellow-100)}.text-yellow-300{color:var(--color-yellow-300)}.text-yellow-500{color:var(--color-yellow-500)}.text-yellow-600{color:var(--color-yellow-600)}.text-yellow-700{color:var(--color-yellow-700)}.text-yellow-800{color:var(--color-yellow-800)}.text-yellow-900{color:var(--color-yellow-900)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal: ordinal;font-variant-numeric:var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, )}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, )}.opacity-0{opacity:0}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow-sm{--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-4{--tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-amber-600{--tw-ring-color: var(--color-amber-600)}.ring-blue-300{--tw-ring-color: var(--color-blue-300)}.ring-blue-400{--tw-ring-color: var(--color-blue-400)}.ring-blue-500{--tw-ring-color: var(--color-blue-500)}.ring-cyan-500{--tw-ring-color: var(--color-cyan-500)}.ring-green-300{--tw-ring-color: var(--color-green-300)}.ring-green-400{--tw-ring-color: var(--color-green-400)}.ring-green-500{--tw-ring-color: var(--color-green-500)}.ring-green-600{--tw-ring-color: var(--color-green-600)}.ring-indigo-400{--tw-ring-color: var(--color-indigo-400)}.ring-indigo-500{--tw-ring-color: var(--color-indigo-500)}.ring-orange-300{--tw-ring-color: var(--color-orange-300)}.ring-orange-400{--tw-ring-color: var(--color-orange-400)}.ring-orange-500{--tw-ring-color: var(--color-orange-500)}.ring-pink-500{--tw-ring-color: var(--color-pink-500)}.ring-purple-300{--tw-ring-color: var(--color-purple-300)}.ring-purple-400{--tw-ring-color: var(--color-purple-400)}.ring-purple-500{--tw-ring-color: var(--color-purple-500)}.ring-purple-600{--tw-ring-color: var(--color-purple-600)}.ring-red-300{--tw-ring-color: var(--color-red-300)}.ring-teal-300{--tw-ring-color: var(--color-teal-300)}.ring-teal-500{--tw-ring-color: var(--color-teal-500)}.ring-violet-500{--tw-ring-color: var(--color-violet-500)}.ring-yellow-300{--tw-ring-color: var(--color-yellow-300)}.ring-yellow-600{--tw-ring-color: var(--color-yellow-600)}.ring-offset-2{--tw-ring-offset-width: 2px;--tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.filter{filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.duration-150{--tw-duration: .15s;transition-duration:.15s}.duration-200{--tw-duration: .2s;transition-duration:.2s}.duration-300{--tw-duration: .3s;transition-duration:.3s}.ease-in{--tw-ease: var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease: var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease: var(--ease-out);transition-timing-function:var(--ease-out)}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.hover\:border-gray-300:hover{border-color:var(--color-gray-300)}.hover\:bg-blue-50:hover{background-color:var(--color-blue-50)}.hover\:bg-blue-100:hover{background-color:var(--color-blue-100)}.hover\:bg-blue-600:hover{background-color:var(--color-blue-600)}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-cyan-50:hover{background-color:var(--color-cyan-50)}.hover\:bg-cyan-100:hover{background-color:var(--color-cyan-100)}.hover\:bg-cyan-600:hover{background-color:var(--color-cyan-600)}.hover\:bg-cyan-700:hover{background-color:var(--color-cyan-700)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-gray-300:hover{background-color:var(--color-gray-300)}.hover\:bg-green-50:hover{background-color:var(--color-green-50)}.hover\:bg-green-100:hover{background-color:var(--color-green-100)}.hover\:bg-green-600:hover{background-color:var(--color-green-600)}.hover\:bg-green-700:hover{background-color:var(--color-green-700)}.hover\:bg-indigo-50:hover{background-color:var(--color-indigo-50)}.hover\:bg-indigo-100:hover{background-color:var(--color-indigo-100)}.hover\:bg-indigo-600:hover{background-color:var(--color-indigo-600)}.hover\:bg-indigo-700:hover{background-color:var(--color-indigo-700)}.hover\:bg-lime-50:hover{background-color:var(--color-lime-50)}.hover\:bg-lime-100:hover{background-color:var(--color-lime-100)}.hover\:bg-lime-600:hover{background-color:var(--color-lime-600)}.hover\:bg-lime-700:hover{background-color:var(--color-lime-700)}.hover\:bg-orange-50:hover{background-color:var(--color-orange-50)}.hover\:bg-orange-100:hover{background-color:var(--color-orange-100)}.hover\:bg-orange-600:hover{background-color:var(--color-orange-600)}.hover\:bg-orange-700:hover{background-color:var(--color-orange-700)}.hover\:bg-purple-50:hover{background-color:var(--color-purple-50)}.hover\:bg-purple-100:hover{background-color:var(--color-purple-100)}.hover\:bg-purple-200:hover{background-color:var(--color-purple-200)}.hover\:bg-purple-600:hover{background-color:var(--color-purple-600)}.hover\:bg-purple-700:hover{background-color:var(--color-purple-700)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-red-100:hover{background-color:var(--color-red-100)}.hover\:bg-red-600:hover{background-color:var(--color-red-600)}.hover\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\:bg-teal-50:hover{background-color:var(--color-teal-50)}.hover\:bg-teal-100:hover{background-color:var(--color-teal-100)}.hover\:bg-teal-600:hover{background-color:var(--color-teal-600)}.hover\:bg-teal-700:hover{background-color:var(--color-teal-700)}.hover\:bg-violet-50:hover{background-color:var(--color-violet-50)}.hover\:bg-violet-100:hover{background-color:var(--color-violet-100)}.hover\:bg-violet-200:hover{background-color:var(--color-violet-200)}.hover\:bg-violet-600:hover{background-color:var(--color-violet-600)}.hover\:bg-violet-700:hover{background-color:var(--color-violet-700)}.hover\:text-gray-600:hover{color:var(--color-gray-600)}.hover\:text-gray-800:hover{color:var(--color-gray-800)}.hover\:text-indigo-800:hover{color:var(--color-indigo-800)}.hover\:text-yellow-700:hover{color:var(--color-yellow-700)}}.focus\:border-blue-500:focus{border-color:var(--color-blue-500)}.focus\:border-cyan-500:focus{border-color:var(--color-cyan-500)}.focus\:border-green-500:focus{border-color:var(--color-green-500)}.focus\:border-indigo-500:focus{border-color:var(--color-indigo-500)}.focus\:border-lime-500:focus{border-color:var(--color-lime-500)}.focus\:border-orange-500:focus{border-color:var(--color-orange-500)}.focus\:border-purple-500:focus{border-color:var(--color-purple-500)}.focus\:border-red-500:focus{border-color:var(--color-red-500)}.focus\:border-teal-500:focus{border-color:var(--color-teal-500)}.focus\:border-violet-500:focus{border-color:var(--color-violet-500)}.focus\:ring-2:focus{--tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-blue-500:focus{--tw-ring-color: var(--color-blue-500)}.focus\:ring-cyan-500:focus{--tw-ring-color: var(--color-cyan-500)}.focus\:ring-green-500:focus{--tw-ring-color: var(--color-green-500)}.focus\:ring-indigo-500:focus{--tw-ring-color: var(--color-indigo-500)}.focus\:ring-lime-500:focus{--tw-ring-color: var(--color-lime-500)}.focus\:ring-orange-500:focus{--tw-ring-color: var(--color-orange-500)}.focus\:ring-purple-500:focus{--tw-ring-color: var(--color-purple-500)}.focus\:ring-red-500:focus{--tw-ring-color: var(--color-red-500)}.focus\:ring-teal-500:focus{--tw-ring-color: var(--color-teal-500)}.focus\:ring-violet-500:focus{--tw-ring-color: var(--color-violet-500)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-gray-500:focus-visible{--tw-ring-color: var(--color-gray-500)}.focus-visible\:ring-indigo-500:focus-visible{--tw-ring-color: var(--color-indigo-500)}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width: 1px;--tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px;--tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style: none;outline-style:none}.disabled\:opacity-50:disabled{opacity:.5}@media(min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}}@media(min-width:48rem){.md\:h-72{height:calc(var(--spacing) * 72)}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:64rem){.lg\:sticky{position:sticky}.lg\:top-4{top:calc(var(--spacing) * 4)}.lg\:w-80{width:calc(var(--spacing) * 80)}.lg\:w-96{width:calc(var(--spacing) * 96)}.lg\:flex-row{flex-direction:row}.lg\:items-start{align-items:flex-start}}}@keyframes pulse{50%{opacity:.5}}@property --tw-translate-x{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-translate-y{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-translate-z{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-scale-x{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-scale-y{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-scale-z{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-rotate-x{syntax: "*"; inherits: false}@property --tw-rotate-y{syntax: "*"; inherits: false}@property --tw-rotate-z{syntax: "*"; inherits: false}@property --tw-skew-x{syntax: "*"; inherits: false}@property --tw-skew-y{syntax: "*"; inherits: false}@property --tw-space-y-reverse{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-divide-y-reverse{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-border-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-gradient-position{syntax: "*"; inherits: false}@property --tw-gradient-from{syntax: "<color>"; inherits: false; initial-value: #0000;}@property --tw-gradient-via{syntax: "<color>"; inherits: false; initial-value: #0000;}@property --tw-gradient-to{syntax: "<color>"; inherits: false; initial-value: #0000;}@property --tw-gradient-stops{syntax: "*"; inherits: false}@property --tw-gradient-via-stops{syntax: "*"; inherits: false}@property --tw-gradient-from-position{syntax: "<length-percentage>"; inherits: false; initial-value: 0%;}@property --tw-gradient-via-position{syntax: "<length-percentage>"; inherits: false; initial-value: 50%;}@property --tw-gradient-to-position{syntax: "<length-percentage>"; inherits: false; initial-value: 100%;}@property --tw-leading{syntax: "*"; inherits: false}@property --tw-font-weight{syntax: "*"; inherits: false}@property --tw-tracking{syntax: "*"; inherits: false}@property --tw-ordinal{syntax: "*"; inherits: false}@property --tw-slashed-zero{syntax: "*"; inherits: false}@property --tw-numeric-figure{syntax: "*"; inherits: false}@property --tw-numeric-spacing{syntax: "*"; inherits: false}@property --tw-numeric-fraction{syntax: "*"; inherits: false}@property --tw-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: "*"; inherits: false}@property --tw-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: "*"; inherits: false}@property --tw-inset-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: "*"; inherits: false}@property --tw-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: "*"; inherits: false}@property --tw-inset-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: "*"; inherits: false}@property --tw-ring-offset-width{syntax: "<length>"; inherits: false; initial-value: 0;}@property --tw-ring-offset-color{syntax: "*"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-blur{syntax: "*"; inherits: false}@property --tw-brightness{syntax: "*"; inherits: false}@property --tw-contrast{syntax: "*"; inherits: false}@property --tw-grayscale{syntax: "*"; inherits: false}@property --tw-hue-rotate{syntax: "*"; inherits: false}@property --tw-invert{syntax: "*"; inherits: false}@property --tw-opacity{syntax: "*"; inherits: false}@property --tw-saturate{syntax: "*"; inherits: false}@property --tw-sepia{syntax: "*"; inherits: false}@property --tw-drop-shadow{syntax: "*"; inherits: false}@property --tw-drop-shadow-color{syntax: "*"; inherits: false}@property --tw-drop-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-drop-shadow-size{syntax: "*"; inherits: false}@property --tw-duration{syntax: "*"; inherits: false}@property --tw-ease{syntax: "*"; inherits: false}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}
