:root{--ts-blue: #205d96;--ts-blue-light: #e0f2fe;--ts-blue-dark: #1a4a78;--ts-green: #9fc93c;--ts-green-light: #ecfccb;--ts-green-dark: #5c7a1f;--ts-gray: #59575d;--ts-gray-light: #6b7280;--ts-gray-bg: #f8fafc;--ts-white: #ffffff;--ts-black: #1f2937;--ts-border: #e5e7eb;--ts-border-dark: #d1d5db;--ts-border-strong: #7c828c;--ts-success: var(--ts-green);--ts-primary: var(--ts-blue);--ts-text: var(--ts-gray);--ts-text-muted: var(--ts-gray-light);--ts-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--ts-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--ts-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--ts-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--ts-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--ts-spacing-xs: .25rem;--ts-spacing-sm: .5rem;--ts-spacing-md: 1rem;--ts-spacing-lg: 1.5rem;--ts-spacing-xl: 2rem;--ts-spacing-2xl: 3rem;--ts-spacing-3xl: 4rem;--ts-radius-sm: .375rem;--ts-radius: .5rem;--ts-radius-lg: .75rem;--ts-radius-xl: 1rem;--ts-radius-full: 9999px;--ts-transition: .15s cubic-bezier(.4, 0, .2, 1);--ts-transition-slow: .3s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.6;color:var(--ts-gray);background-color:var(--ts-gray-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.skip-to-content{position:absolute;top:-100px;left:50%;transform:translate(-50%);padding:.75rem 1.5rem;background:var(--ts-blue);color:#fff;font-weight:600;border-radius:var(--ts-radius);z-index:9999;transition:top var(--ts-transition)}.skip-to-content:focus{top:1rem;outline:3px solid var(--ts-blue-light);outline-offset:2px}h1,h2,h3,h4,h5,h6{font-family:Inter,sans-serif;font-weight:700;color:var(--ts-blue);line-height:1.2;margin-bottom:var(--ts-spacing-md)}h1{font-size:2.5rem;font-weight:800;letter-spacing:-.025em}h2{font-size:2rem;font-weight:700}h3{font-size:1.5rem;font-weight:600}h4{font-size:1.25rem;font-weight:600}h5{font-size:1.125rem;font-weight:600}h6{font-size:1rem;font-weight:600}p{margin-bottom:var(--ts-spacing-md);color:var(--ts-gray)}a{color:var(--ts-blue);text-decoration:underline;text-underline-offset:.15em;text-decoration-thickness:1px;font-weight:500;transition:color var(--ts-transition)}a:hover{color:var(--ts-blue-dark)}a:focus-visible{outline:3px solid var(--ts-blue);outline-offset:2px;border-radius:2px}a.btn,a.nav-link,a.navbar-brand,a.dropdown-item,a.page-link,a.skip-to-content,a.skip-link,a.badge,a.ts-course-card,a.text-reset,a[data-bs-toggle],.navbar a,.ts-learn-sidebar a,footer a{text-decoration:none}.text-muted{color:var(--ts-gray)!important}.text-primary{color:var(--ts-blue)!important}.text-success{color:var(--ts-green-dark)!important}code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-variant-ligatures:none}code{background-color:var(--ts-blue-light);color:var(--ts-blue-dark);padding:.125rem .375rem;border-radius:var(--ts-radius-sm);font-size:.875em}pre{background-color:#282a36;color:#f8f8f2;padding:var(--ts-spacing-lg);border-radius:var(--ts-radius-lg);overflow-x:auto;position:relative}pre code{background:transparent;color:inherit;padding:0}.ts-code-copy{position:absolute;top:.5rem;right:.5rem;display:inline-flex;align-items:center;gap:.35rem;background:#ffffff14;color:#f8f8f2;border:1px solid rgba(255,255,255,.18);border-radius:4px;padding:.2rem .5rem;font-size:.75rem;line-height:1;cursor:pointer;opacity:0;transition:opacity .15s ease,background .15s ease}pre:hover .ts-code-copy,.ts-code-copy:focus,.ts-code-copy.is-copied,.ts-code-copy.is-error{opacity:1}.ts-code-copy:hover{background:#ffffff2e}.ts-code-copy.is-copied{background:var(--ts-green, #9fc93c);color:#1a1a1a;border-color:transparent}.ts-code-copy.is-error{background:#e74c3c;color:#fff;border-color:transparent}.ts-container{width:100%;max-width:1280px;margin:0 auto;padding:0 var(--ts-spacing-lg)}@media(min-width:640px){.ts-container{padding:0 var(--ts-spacing-xl)}}.ts-section{padding:var(--ts-spacing-3xl) 0}.ts-section-sm{padding:var(--ts-spacing-2xl) 0}.ts-navbar{background:var(--ts-white);border-bottom:2px solid var(--ts-gray);padding:var(--ts-spacing-md) 0;position:sticky;top:0;z-index:1000}.ts-navbar .navbar-brand{display:flex;align-items:center}.ts-navbar .navbar-brand svg{width:200px;height:auto}@media(min-width:992px){.ts-navbar .navbar-brand svg{width:250px}}.ts-navbar .nav-link{color:var(--ts-gray)!important;font-weight:500;padding:.5rem 1rem!important;border-radius:var(--ts-radius);transition:all var(--ts-transition)}.ts-navbar .nav-link:hover,.ts-navbar .nav-item.active .nav-link{color:var(--ts-blue)!important;background:var(--ts-blue-light)}.ts-navbar .dropdown-menu{border:1px solid var(--ts-border);border-radius:var(--ts-radius-lg);box-shadow:var(--ts-shadow-lg);padding:var(--ts-spacing-sm);margin-top:0!important}.ts-navbar .nav-item.dropdown,.ts-navbar .ts-user-dropdown{position:relative}.ts-navbar .ts-user-dropdown .dropdown-menu{top:100%;right:0;left:auto;padding-top:.5rem}.ts-user-dropdown .dropdown-menu .dropdown-item{display:flex;align-items:center;gap:.5rem}.ts-user-dropdown .dropdown-menu .dropdown-item>i{width:1.25rem;text-align:center;flex-shrink:0;font-size:1rem;margin-right:0!important}.ts-navbar .dropdown-menu:before{content:"";position:absolute;top:-10px;left:0;right:0;height:10px}.ts-navbar .ts-user-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem!important;border-radius:var(--ts-radius)!important;font-weight:600;white-space:nowrap}.ts-navbar .ts-user-btn:hover{background:var(--ts-blue-dark)!important;color:#fff!important}.ts-navbar .ts-user-btn.dropdown-toggle:after{margin-left:.25rem}.ts-navbar .dropdown-item{border-radius:var(--ts-radius);padding:.5rem 1rem;font-weight:500;color:var(--ts-gray);transition:all var(--ts-transition)}.ts-navbar .dropdown-item:hover{background:var(--ts-blue-light);color:var(--ts-blue)}.ts-navbar .megamenu{padding:var(--ts-spacing-lg);border-radius:var(--ts-radius-xl)}.ts-navbar .megamenu h5{font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ts-gray-light);margin-bottom:var(--ts-spacing-sm);padding-bottom:var(--ts-spacing-sm);border-bottom:1px solid var(--ts-border)}.btn{font-family:Inter,sans-serif;font-weight:600;border-radius:var(--ts-radius);padding:.75rem 1.5rem;transition:all var(--ts-transition);border:2px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer}.btn:focus-visible{outline:3px solid var(--ts-blue);outline-offset:2px}.btn-primary{background-color:var(--ts-blue);border-color:var(--ts-blue);color:var(--ts-white)}.btn-primary:hover{background-color:var(--ts-blue-dark);border-color:var(--ts-blue-dark);color:var(--ts-white);transform:translateY(-1px);box-shadow:var(--ts-shadow-md)}.btn-success{background-color:var(--ts-green);border-color:var(--ts-green);color:#1a2e05}.btn-success:hover{background-color:#8ab832;border-color:#8ab832;color:#1a2e05;transform:translateY(-1px);box-shadow:var(--ts-shadow-md)}.btn-outline-secondary{background-color:transparent;color:var(--ts-gray);border-color:var(--ts-border)}.btn-outline-secondary:hover{color:var(--ts-blue);border-color:var(--ts-blue);background:transparent}.btn-outline-primary{background-color:transparent;color:var(--ts-blue);border-color:var(--ts-blue)}.btn-outline-primary:hover{color:var(--ts-white);background-color:var(--ts-blue)}.btn-lg{padding:1rem 2rem;font-size:1.125rem}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.btn-arrow:after{content:"\2192";transition:transform var(--ts-transition)}.btn-arrow:hover:after{transform:translate(4px)}.ts-card{background:var(--ts-white);border-radius:var(--ts-radius-xl);box-shadow:var(--ts-shadow);overflow:hidden;transition:all var(--ts-transition-slow);border:1px solid var(--ts-border)}.ts-card:hover{box-shadow:var(--ts-shadow-lg);transform:translateY(-2px)}.ts-card-body{padding:var(--ts-spacing-xl)}.ts-card-img{width:100%;height:200px;object-fit:cover}.ts-card-title{font-size:1.25rem;font-weight:700;color:var(--ts-blue);margin-bottom:var(--ts-spacing-sm)}.ts-card-text{color:var(--ts-gray);margin-bottom:var(--ts-spacing-md)}.card-service{background:var(--ts-white);border-radius:var(--ts-radius-xl);padding:var(--ts-spacing-xl);border:1px solid var(--ts-border);transition:all var(--ts-transition-slow);height:100%}.card-service:hover{border-color:var(--ts-blue);box-shadow:var(--ts-shadow-lg);transform:translateY(-4px)}.card-service-featured{border:none;color:var(--ts-white)}.card-service-featured h3,.card-service-featured .h5,.card-service-featured .fw-bold{color:var(--ts-white)!important}.card-service-featured.blue{background:linear-gradient(135deg,var(--ts-blue) 0%,var(--ts-blue-dark) 100%)}.card-service-featured.green{background:linear-gradient(135deg,var(--ts-green) 0%,var(--ts-green-dark) 100%)}.card-service-featured h3,.card-service-featured h4,.card-service-featured h5{color:var(--ts-white)}.card-service-featured p{color:#ffffffe6}.ts-training-card{background:var(--ts-white);border-radius:var(--ts-radius-lg);padding:var(--ts-spacing-lg);border:1px solid var(--ts-border);display:flex;align-items:center;justify-content:space-between;transition:all var(--ts-transition);text-decoration:none;color:inherit}.ts-training-card:hover{border-color:var(--ts-blue);background:var(--ts-blue-light);color:var(--ts-blue)}.ts-training-card-title{font-weight:600;color:var(--ts-gray);margin:0;transition:color var(--ts-transition)}.ts-training-card:hover .ts-training-card-title{color:var(--ts-blue)}.ts-training-card-days{background:var(--ts-gray-bg);padding:.25rem .75rem;border-radius:var(--ts-radius-full);font-size:.875rem;font-weight:500;color:var(--ts-gray);white-space:nowrap}.icon-box{width:48px;height:48px;border-radius:var(--ts-radius-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.icon-box-lg{width:56px;height:56px}.icon-box-blue{background:var(--ts-blue-light);color:var(--ts-blue)}.icon-box-green{background:var(--ts-green-light);color:var(--ts-green-dark)}.icon-box-white{background:#ffffff26;color:var(--ts-white)}.section-label{display:inline-flex;align-items:center;gap:var(--ts-spacing-sm);font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ts-blue);margin-bottom:var(--ts-spacing-md)}.section-label svg{width:24px;height:24px}.tag{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:var(--ts-radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.tag-new{background:var(--ts-blue);color:var(--ts-white)}.tag-popular{background:#fef3c7;color:#92400e}.tag-cert{background:var(--ts-green-light);color:var(--ts-green-dark)}.tool-tag{display:inline-flex;align-items:center;padding:.375rem .75rem;border-radius:var(--ts-radius);font-size:.875rem;font-weight:500;background:#ffffff26;color:var(--ts-white);border:1px solid rgba(255,255,255,.2)}.tool-tag-light{background:var(--ts-gray-bg);color:var(--ts-gray);border-color:var(--ts-border)}.ts-hero{background:linear-gradient(135deg,var(--ts-blue) 0%,var(--ts-blue-dark) 100%);color:var(--ts-white);padding:var(--ts-spacing-3xl) 0;position:relative;overflow:hidden}.ts-hero:before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");pointer-events:none}.ts-hero h1{color:var(--ts-white)!important;font-size:3rem;margin-bottom:var(--ts-spacing-lg)}.ts-hero h1,.ts-hero h1 a,.ts-hero h1 span,.ts-hero h1 *{color:var(--ts-white)!important}.ts-hero h1 a{text-decoration:underline;text-decoration-color:var(--ts-green);text-underline-offset:3px}.ts-hero h1 a:hover{text-decoration-color:var(--ts-green-light)}@media(min-width:768px){.ts-hero h1{font-size:3.5rem}}.ts-hero p{color:#ffffffe6;font-size:1.25rem;max-width:600px}.ts-hero .btn-primary{background:var(--ts-green);border-color:var(--ts-green)}.ts-hero .btn-primary:hover{background:var(--ts-green-dark);border-color:var(--ts-green-dark)}.ts-features-grid{display:grid;grid-template-columns:1fr;gap:var(--ts-spacing-xl)}@media(min-width:768px){.ts-features-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.ts-features-grid{grid-template-columns:repeat(3,1fr)}}.ts-feature{display:flex;gap:var(--ts-spacing-lg)}.ts-feature-content h4{margin-bottom:var(--ts-spacing-sm)}.ts-feature-content p{margin-bottom:0;color:var(--ts-gray-light)}.ts-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--ts-spacing-xl)}@media(min-width:768px){.ts-stats{grid-template-columns:repeat(4,1fr)}}.ts-stat{text-align:center}.ts-stat-value{font-size:2.5rem;font-weight:800;color:var(--ts-blue);line-height:1;margin-bottom:var(--ts-spacing-sm)}.ts-stat-label{font-size:.875rem;color:var(--ts-gray-light);font-weight:500}.ts-testimonial{background:var(--ts-white);border-radius:var(--ts-radius-xl);padding:var(--ts-spacing-xl);border:1px solid var(--ts-border)}.ts-testimonial-text{font-size:1.125rem;font-style:italic;color:var(--ts-gray);margin-bottom:var(--ts-spacing-lg);line-height:1.7}.ts-testimonial-author{display:flex;align-items:center;gap:var(--ts-spacing-md)}.ts-testimonial-avatar{width:48px;height:48px;border-radius:var(--ts-radius-full);object-fit:cover}.ts-testimonial-name{font-weight:600;color:var(--ts-gray)}.ts-testimonial-role{font-size:.875rem;color:var(--ts-gray-light)}.pagination{--bs-pagination-padding-x: .5rem;--bs-pagination-padding-y: .25rem;--bs-pagination-font-size: .875rem;gap:2px}.pagination .page-link{min-width:2rem;text-align:center;border-radius:var(--ts-radius-sm, .375rem);border-color:var(--ts-border);color:var(--ts-text)}.pagination .page-item.active .page-link{background-color:var(--ts-blue);border-color:var(--ts-blue);color:#fff}.pagination .page-link:hover{background-color:var(--ts-blue-light);border-color:var(--ts-blue);color:var(--ts-blue)}.pagination .page-link i{font-size:.7rem}.ts-stars{display:flex;gap:2px;color:#f59e0b;font-size:1.25rem}.ts-opensource{background:var(--ts-blue);padding:var(--ts-spacing-3xl) 0}.ts-opensource h2{color:var(--ts-white)!important}.ts-terminal{background:var(--ts-blue-dark);border-radius:var(--ts-radius-xl);overflow:hidden;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.875rem}.ts-terminal-header{background:#0003;padding:.75rem 1rem;display:flex;gap:.5rem}.ts-terminal-dot{width:12px;height:12px;border-radius:50%}.ts-terminal-body{padding:1.5rem;line-height:1.8}.ts-clients{padding:var(--ts-spacing-2xl) 0;background:var(--ts-white);border-top:1px solid var(--ts-border);border-bottom:1px solid var(--ts-border)}.ts-clients-title{text-align:center;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--ts-gray-light);margin-bottom:var(--ts-spacing-xl)}.ts-clients-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--ts-spacing-2xl)}.ts-clients-grid img{height:40px;width:auto;opacity:.6;filter:grayscale(100%);transition:all var(--ts-transition)}.ts-clients-grid img:hover{opacity:1;filter:grayscale(0%)}.ts-clients .logos.slider{display:flex;justify-content:center;align-items:center;gap:2rem;min-height:320px;overflow:hidden}.ts-clients .logos.slider:not(.slick-initialized) .slide{flex:0 0 300px;display:flex;align-items:center;justify-content:center}.ts-clients .logos.slider:not(.slick-initialized) .slide:nth-child(n+5){display:none}.ts-clients .logos.slider.slick-initialized{display:block}.ts-clients .logos.slider .slick-slide{width:300px!important;margin:0 20px}.ts-clients .logos.slider .slide{display:flex!important;align-items:center;justify-content:center;padding:10px}.ts-clients .logos.slider .slide img{width:300px;height:300px;object-fit:contain;opacity:.7;filter:grayscale(50%);transition:opacity var(--ts-transition),filter var(--ts-transition);will-change:opacity;transform:translateZ(0)}.ts-clients .logos.slider .slide img:hover{opacity:1;filter:grayscale(0%)}.slick-slide{visibility:visible!important}.slick-track{transform:translateZ(0)}.ts-form-group{margin-bottom:var(--ts-spacing-lg)}.ts-form-label{display:block;font-weight:500;color:var(--ts-gray);margin-bottom:var(--ts-spacing-sm)}.ts-form-label.required:after{content:" *";color:#c62828}.required:after{color:#c62828}.ts-form-control{width:100%;padding:.75rem 1rem;font-size:1rem;font-family:inherit;border:2px solid var(--ts-border-strong);border-radius:var(--ts-radius);background:var(--ts-white);transition:all var(--ts-transition)}.form-control,.form-select{border-color:var(--ts-border-strong)}.ts-form-control:focus{outline:none;border-color:var(--ts-blue);box-shadow:0 0 0 3px var(--ts-blue-light)}.ts-form-control::placeholder{color:var(--ts-gray-light)}textarea.ts-form-control{min-height:120px;resize:vertical}.ts-form-control.is-invalid{border-color:#dc3545;box-shadow:0 0 0 3px #dc354526}.ts-form-control.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 3px #dc354540}.ts-footer{background:var(--ts-gray);color:var(--ts-white);padding:var(--ts-spacing-3xl) 0 var(--ts-spacing-xl)}.ts-footer h2,.ts-footer h4{color:var(--ts-white);font-size:1rem;font-weight:600;margin-bottom:var(--ts-spacing-lg)}.ts-footer a{color:#fffc;font-weight:400;transition:color var(--ts-transition)}.ts-footer a:hover{color:var(--ts-white)}.ts-footer-links{list-style:none;padding:0;margin:0}.ts-footer-links li{margin-bottom:var(--ts-spacing-sm)}.ts-footer-social{display:flex;gap:var(--ts-spacing-sm)}.ts-footer-social a{width:40px;height:40px;border-radius:var(--ts-radius);background:#ffffff1a;display:flex;align-items:center;justify-content:center;transition:all var(--ts-transition)}.ts-footer-social a:hover{background:var(--ts-blue)}.ts-footer-bottom{margin-top:var(--ts-spacing-2xl);padding-top:var(--ts-spacing-xl);border-top:1px solid rgba(255,255,255,.1);font-size:.875rem;color:#ffffffbf}.ts-footer-legal{white-space:nowrap;display:inline-flex;align-items:center}.ts-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ts-spacing-sm);padding:var(--ts-spacing-md) 0;font-size:.875rem}.ts-breadcrumb a{color:var(--ts-gray-light)}.ts-breadcrumb a:hover{color:var(--ts-blue)}.ts-breadcrumb-separator{color:var(--ts-gray-light)}.ts-breadcrumb-current{color:var(--ts-gray);font-weight:500}.ts-hero .breadcrumb{background:transparent;padding:0;margin-bottom:1rem}.ts-hero .breadcrumb-item+.breadcrumb-item:before{color:#ffffff80}.ts-hero .breadcrumb-item a{color:#ffffffb3;font-weight:400}.ts-hero .breadcrumb-item a:hover{color:#fff}.ts-hero .breadcrumb-item.active{color:#ffffffe6}@keyframes rotate-gear{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.gear-rotate{transform-origin:206px 305px;animation:rotate-gear 8s linear infinite}.gear{transform-origin:50% 50%;transform-box:fill-box;animation:rotate-gear 8s linear infinite}.st0{fill:var(--ts-blue)}.st1{fill:var(--ts-gray)}.st2{fill:var(--ts-green)}@media(prefers-reduced-motion:reduce){.gear-rotate,.gear{animation:none}}.ts-alert{padding:var(--ts-spacing-lg);border-radius:var(--ts-radius-lg);margin-bottom:var(--ts-spacing-lg)}.ts-alert-success{background:var(--ts-green-light);color:var(--ts-green-dark);border:1px solid var(--ts-green)}.ts-alert-info{background:var(--ts-blue-light);color:var(--ts-blue-dark);border:1px solid var(--ts-blue)}.ts-alert-warning{background:#fef3c7;color:#92400e;border:1px solid #f59e0b}.ts-alert-error{background:#fee2e2;color:#991b1b;border:1px solid #ef4444}.ts-list-group{list-style:none;padding:0;margin:0}.ts-list-group-item{padding:var(--ts-spacing-md) var(--ts-spacing-lg);background:var(--ts-white);border:1px solid var(--ts-border);margin-bottom:-1px;transition:all var(--ts-transition)}.ts-list-group-item:first-child{border-radius:var(--ts-radius-lg) var(--ts-radius-lg) 0 0}.ts-list-group-item:last-child{border-radius:0 0 var(--ts-radius-lg) var(--ts-radius-lg);margin-bottom:0}.ts-list-group-item:only-child{border-radius:var(--ts-radius-lg)}.ts-list-group-item:hover{background:var(--ts-blue-light);border-color:var(--ts-blue);z-index:1}.ts-list-group-item a{display:flex;justify-content:space-between;align-items:center;color:var(--ts-gray);text-decoration:none}.ts-list-group-item a:hover{color:var(--ts-blue)}.ts-cta{background:linear-gradient(135deg,var(--ts-blue) 0%,var(--ts-blue-dark) 100%);color:var(--ts-white);padding:var(--ts-spacing-3xl) 0;text-align:center}.ts-cta h2{color:var(--ts-white)!important;margin-bottom:var(--ts-spacing-md)}.ts-cta p{color:#ffffffe6;font-size:1.125rem;max-width:600px;margin:0 auto var(--ts-spacing-xl)}.ts-mb-0{margin-bottom:0!important}.ts-mb-1{margin-bottom:var(--ts-spacing-xs)!important}.ts-mb-2{margin-bottom:var(--ts-spacing-sm)!important}.ts-mb-3{margin-bottom:var(--ts-spacing-md)!important}.ts-mb-4{margin-bottom:var(--ts-spacing-lg)!important}.ts-mb-5{margin-bottom:var(--ts-spacing-xl)!important}.ts-mb-6{margin-bottom:var(--ts-spacing-2xl)!important}.ts-mt-0{margin-top:0!important}.ts-mt-1{margin-top:var(--ts-spacing-xs)!important}.ts-mt-2{margin-top:var(--ts-spacing-sm)!important}.ts-mt-3{margin-top:var(--ts-spacing-md)!important}.ts-mt-4{margin-top:var(--ts-spacing-lg)!important}.ts-mt-5{margin-top:var(--ts-spacing-xl)!important}.ts-mt-6{margin-top:var(--ts-spacing-2xl)!important}.ts-text-center{text-align:center!important}.ts-check-list{list-style:none;padding:0;margin:0}.ts-check-list li{position:relative;padding-left:1.75rem;margin-bottom:.75rem;line-height:1.6}.ts-check-list li:before{content:"\f00c";font-family:"Font Awesome 5 Free";font-weight:900;position:absolute;left:0;top:.1em;color:var(--ts-green);font-size:.875rem}.ts-check-list li:last-child{margin-bottom:0}.ts-check-list-blue li:before{color:var(--ts-blue)}.service-content h2,.service-content h3,.service-content h4{margin-top:1.5rem;margin-bottom:1rem;font-weight:700}.service-content h2:first-child,.service-content h3:first-child,.service-content h4:first-child{margin-top:0}.service-content p{margin-bottom:1rem;line-height:1.8}.service-content ul,.service-content ol{margin-bottom:1rem;padding-left:1.5rem}.service-content li{margin-bottom:.5rem;line-height:1.7}.ts-text-left{text-align:left!important}.ts-text-right{text-align:right!important}.ts-d-flex{display:flex!important}.ts-align-center{align-items:center!important}.ts-justify-between{justify-content:space-between!important}.ts-justify-center{justify-content:center!important}.ts-gap-2{gap:var(--ts-spacing-sm)!important}.ts-gap-3{gap:var(--ts-spacing-md)!important}.ts-gap-4{gap:var(--ts-spacing-lg)!important}@media(max-width:767px){.ts-hide-mobile{display:none!important}}@media(min-width:768px){.ts-hide-desktop{display:none!important}}.ts-check-list{list-style:none;padding:0}.ts-check-list li{position:relative;padding-left:1.75rem;margin-bottom:var(--ts-spacing-sm)}.ts-check-list li:before{content:"";position:absolute;left:0;top:.25em;width:1rem;height:1rem;background:var(--ts-green);mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='3'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='3'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat}.ts-contact-hero{height:300px;background-size:cover;background-position:center;margin-top:-25px;margin-bottom:var(--ts-spacing-xl)}.ts-contact-images .image{position:relative;border-radius:var(--ts-radius-lg);overflow:hidden;margin-bottom:var(--ts-spacing-lg)}.ts-contact-images .image img{width:100%;height:auto;display:block}.ts-contact-images .by{position:absolute;bottom:0;left:0;background:#000000b3;color:#fff;padding:.5rem 1rem;font-size:.875rem}.ts-contact-images .by a{color:#fff}@media(max-width:767px){h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}.ts-hero h1{font-size:2rem}.ts-hero p{font-size:1rem}}.ts-date-options{display:flex;flex-direction:column;gap:.75rem}.ts-date-option{display:block;cursor:pointer;position:relative}.ts-date-option input[type=radio]{position:absolute;opacity:0;width:0;height:0}.ts-date-option-content{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:var(--ts-white);border:2px solid var(--ts-border);border-radius:var(--ts-radius-lg);transition:all var(--ts-transition)}.ts-date-option:hover .ts-date-option-content{border-color:var(--ts-blue);background:var(--ts-blue-light)}.ts-date-option input[type=radio]:checked+.ts-date-option-content{border-color:var(--ts-blue);background:var(--ts-blue-light);box-shadow:0 0 0 3px #205d9626}.ts-date-option input[type=radio]:focus+.ts-date-option-content{outline:3px solid var(--ts-blue);outline-offset:2px}.ts-date-option-date{display:flex;align-items:center;gap:.25rem}.ts-date-option-date strong{font-size:1rem;color:var(--ts-gray)}.ts-date-option-date small{font-size:.875rem;color:var(--ts-gray-light)}.ts-date-option-details{display:flex;align-items:center;gap:1rem}.ts-date-option-price{font-weight:600;color:var(--ts-blue);font-size:1rem}.ts-date-option-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:var(--ts-green);color:#1a2e05;font-size:.75rem;font-weight:600;border-radius:var(--ts-radius-sm)}.ts-date-option-custom .ts-date-option-content{background:linear-gradient(135deg,var(--ts-blue-light) 0%,var(--ts-white) 100%);border-style:dashed}.ts-date-option-custom:hover .ts-date-option-content{border-style:solid}@media(max-width:575px){.ts-date-option-content{flex-direction:column;align-items:flex-start;gap:.75rem}.ts-date-option-details{width:100%;justify-content:space-between}}.ts-register-step{margin-bottom:1.5rem}.ts-register-step:last-child{margin-bottom:0}.ts-step-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--ts-border)}.ts-step-number{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--ts-blue);color:#fff;font-weight:700;font-size:1.125rem;border-radius:50%;flex-shrink:0}.ts-step-title{font-size:1.125rem;font-weight:600;color:var(--ts-gray);margin:0}.ts-register-sidebar{position:sticky;top:100px}.ts-register-summary{background:linear-gradient(135deg,var(--ts-blue) 0%,var(--ts-blue-dark) 100%);border-radius:var(--ts-radius-xl);padding:1.5rem;color:#fff}.ts-register-summary h4{color:#fff!important;margin-bottom:1rem}.ts-register-summary-item{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.2)}.ts-register-summary-item:last-child{border-bottom:none}.ts-register-summary-label{color:#fffc}.ts-register-summary-value{font-weight:600;text-align:right}.ts-blog-card{background:var(--ts-white);border-radius:var(--ts-radius-xl);overflow:hidden;box-shadow:var(--ts-shadow);transition:all var(--ts-transition)}.ts-blog-card:hover{box-shadow:var(--ts-shadow-lg);transform:translateY(-2px)}.ts-blog-card-image{height:100%;min-height:200px;background-size:cover;background-position:center;background-repeat:no-repeat}.ts-blog-card-banner{display:block;width:100%;aspect-ratio:1200 / 630;background-size:cover;background-position:center;background-repeat:no-repeat}@media(max-width:767px){.ts-blog-card-image{min-height:180px}}.ts-blog-card-body{padding:1.5rem}.ts-blog-card-meta{display:flex;flex-wrap:wrap;gap:.5rem}.ts-blog-card-title{font-size:1.25rem;font-weight:700;margin-bottom:.75rem;line-height:1.3}.ts-blog-card-title a{color:var(--ts-gray);text-decoration:none;transition:color var(--ts-transition)}.ts-blog-card-title a:hover{color:var(--ts-blue)}.ts-blog-card-excerpt{font-size:.9375rem;line-height:1.6}.ts-blog-featured-image{width:100%;height:auto;max-height:400px;object-fit:cover;border-radius:var(--ts-radius-xl) var(--ts-radius-xl) 0 0}.ts-blog-content{font-size:1.0625rem;line-height:1.8}.ts-blog-content h2{font-size:1.5rem;font-weight:700;margin-top:2rem;margin-bottom:1rem;color:var(--ts-gray)}.ts-blog-content h3{font-size:1.25rem;font-weight:600;margin-top:1.5rem;margin-bottom:.75rem;color:var(--ts-gray)}.ts-blog-content p{margin-bottom:1.25rem}.ts-blog-content ul,.ts-blog-content ol{margin-bottom:1.25rem;padding-left:1.5rem}.ts-blog-content li{margin-bottom:.5rem}.ts-blog-content code{background:var(--ts-blue-light);color:var(--ts-blue-dark);padding:.12rem .4rem;border-radius:var(--ts-radius-sm);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.875em;font-weight:600}.ts-blog-content pre{background:#1e293b;color:#e2e8f0;padding:1.25rem;border-radius:var(--ts-radius-lg);overflow-x:auto;margin-bottom:1.25rem}.ts-blog-content pre code{background:transparent;padding:0;color:inherit;font-weight:400}.ts-blog-content table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.95rem}.ts-blog-content th,.ts-blog-content td{border:1px solid var(--ts-border-dark);padding:.6rem .85rem;text-align:left;vertical-align:top}.ts-blog-content thead th{background:var(--ts-blue);color:#fff;font-weight:700}.ts-blog-content tbody tr:nth-child(2n){background:var(--ts-gray-bg)}.ts-blog-content tbody td:first-child{font-weight:600;color:var(--ts-blue-dark)}@media(max-width:575px){.ts-blog-content table{display:block;overflow-x:auto}}.ts-blog-content blockquote{border-left:4px solid var(--ts-blue);padding-left:1.25rem;margin:1.5rem 0;font-style:italic;color:var(--ts-gray-light)}.ts-blog-content img{max-width:100%;height:auto;border-radius:var(--ts-radius-lg);margin:1rem 0}.ts-share-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--ts-radius);color:#fff;text-decoration:none;transition:all var(--ts-transition)}.ts-share-btn:hover{color:#fff;transform:translateY(-2px);opacity:.9}.ts-category-list{list-style:none;padding:0;margin:0}.ts-category-list li{margin-bottom:.5rem}.ts-category-list li:last-child{margin-bottom:0}.ts-category-list li a{display:flex;justify-content:space-between;align-items:center;padding:.625rem .75rem;background:var(--ts-gray-bg);border-radius:var(--ts-radius);color:var(--ts-gray);text-decoration:none;transition:all var(--ts-transition)}.ts-category-list li a:hover,.ts-category-list li.active a{background:var(--ts-blue-light);color:var(--ts-blue)}.ts-category-list li.active a{font-weight:600}.solution-content{font-size:1.0625rem;line-height:1.8}.solution-content h2{font-size:1.5rem;font-weight:700;margin-top:2rem;margin-bottom:1rem;color:var(--ts-gray)}.solution-content h3{font-size:1.25rem;font-weight:600;margin-top:1.5rem;margin-bottom:.75rem;color:var(--ts-gray)}.solution-content p{margin-bottom:1.25rem}.solution-content ul,.solution-content ol{margin-bottom:1.25rem;padding-left:1.5rem}.solution-content li{margin-bottom:.5rem}.ts-divider{display:flex;align-items:center;text-align:center;color:var(--ts-gray-light);font-size:.875rem}.ts-divider:before,.ts-divider:after{content:"";flex:1;border-bottom:1px solid var(--ts-border)}.ts-divider span{padding:0 1rem}.ts-alert-info{background:var(--ts-blue-light);border:1px solid var(--ts-blue);border-radius:var(--ts-radius-lg);padding:1rem}.ts-progress{height:8px;background:var(--ts-gray-bg);border-radius:var(--ts-radius-full);overflow:hidden}.ts-progress-bar{height:100%;background:var(--ts-blue);border-radius:var(--ts-radius-full);transition:width .3s ease}.ts-course-card{transition:transform .2s ease,box-shadow .2s ease;cursor:pointer;display:flex;flex-direction:column}.ts-course-card .ts-card-body{flex-grow:1}.ts-course-card .ts-card-body h5{min-height:3rem}.ts-course-card:hover{transform:translateY(-6px);box-shadow:0 12px 24px #0000001f}.ts-course-card:hover .btn{background:var(--ts-blue);color:#fff;border-color:var(--ts-blue)}.ts-course-card:focus-visible{outline:2px solid var(--ts-blue);outline-offset:2px;transform:translateY(-6px);box-shadow:0 12px 24px #0000001f}.ts-course-card .badge{font-size:.7rem;line-height:1.2;padding:.3em .65em;vertical-align:baseline}.ts-course-card .ts-course-desc{color:#4b5563;font-size:.875rem}.ts-card-img-top{width:100%;object-fit:cover}.ts-curriculum-section{border:1px solid var(--ts-border);border-radius:var(--ts-radius-lg);overflow:hidden}.ts-curriculum-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:var(--ts-gray-bg);font-weight:600}.ts-curriculum-lessons{border-top:1px solid var(--ts-border)}.ts-curriculum-lesson{padding:.875rem 1.25rem;border-bottom:1px solid var(--ts-border);transition:background var(--ts-transition)}.ts-curriculum-lesson:last-child{border-bottom:none}.ts-curriculum-lesson:hover{background:var(--ts-gray-bg)}.ts-lesson-icon{width:24px;text-align:center}.ts-materials-list{border:1px solid var(--ts-border);border-radius:var(--ts-radius-lg);overflow:hidden}.ts-materials-day{padding:.75rem 1rem;background:var(--ts-gray-bg);border-bottom:1px solid var(--ts-border);font-size:.875rem}.ts-material-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--ts-border)}.ts-material-item:last-child{border-bottom:none}.ts-learn-container{display:flex;min-height:calc(100vh - 80px)}.ts-learn-sidebar{width:320px;flex-shrink:0;background:var(--ts-white);border-right:1px solid var(--ts-border);transition:all .4s cubic-bezier(.4,0,.2,1);overflow:hidden}.ts-learn-sidebar-inner{width:320px;position:sticky;top:0;display:flex;flex-direction:column;overflow:hidden}.ts-learn-sidebar-header{padding:1.25rem;border-bottom:1px solid var(--ts-border);background:linear-gradient(135deg,var(--ts-blue) 0%,var(--ts-blue-dark) 100%);color:#fff;flex-shrink:0}.ts-learn-sidebar-header h5,.ts-learn-sidebar-header .h5{color:#fff!important;margin:0;font-size:1rem;line-height:1.4}.ts-learn-section{border-bottom:1px solid var(--ts-border)}.ts-learn-section-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.875rem 1.25rem;background:var(--ts-gray-bg);border:none;font-weight:600;font-size:.9375rem;color:var(--ts-gray);cursor:pointer;transition:all var(--ts-transition);text-align:left}.ts-learn-section-header:hover{background:var(--ts-blue-light);color:var(--ts-blue)}.ts-learn-section-header i{transition:transform .3s ease;font-size:.75rem}.ts-learn-section-header[aria-expanded=true] i{transform:rotate(180deg)}.ts-learn-lessons{flex:1 1 auto;min-height:0;overflow-y:auto}@media(prefers-reduced-motion:reduce){.ts-learn-section-header i{transition:none}}.ts-learn-section-title{flex:1;min-width:0}.ts-learn-number{color:var(--ts-gray, #59575d);font-variant-numeric:tabular-nums;font-weight:600}.ts-learn-section-count{flex-shrink:0;margin-left:auto;margin-right:.5rem;padding:.05rem .4rem;border-radius:999px;background:var(--ts-border);color:var(--ts-gray);font-size:.65rem;font-weight:600;line-height:1.4;font-variant-numeric:tabular-nums}.ts-learn-section-count.is-complete{background:var(--ts-green, #16a34a);color:#fff}.ts-learn-updates{border-top:1px solid var(--ts-border);margin-top:.5rem}.ts-learn-updates-summary{display:flex;align-items:center;gap:.4rem;padding:.75rem 1.25rem;background:var(--ts-gray-bg);font-weight:600;font-size:.8125rem;color:var(--ts-gray);cursor:pointer;list-style:none}.ts-learn-updates-summary::-webkit-details-marker{display:none}.ts-learn-updates-summary:after{content:"\f078";font-family:"Font Awesome 6 Free","Font Awesome 5 Free";font-weight:900;margin-left:auto;font-size:.7rem;transition:transform .2s ease}.ts-learn-updates[open] .ts-learn-updates-summary:after{transform:rotate(180deg)}.ts-learn-updates-badge{background:var(--ts-blue);color:#fff;font-size:.65rem;font-weight:700;padding:.1rem .45rem;border-radius:999px;line-height:1.4}.ts-learn-updates-list{list-style:none;margin:0;padding:.25rem 0}.ts-learn-update-item{padding:.6rem 1.25rem;border-top:1px solid var(--ts-border);font-size:.8125rem}.ts-learn-update-item:first-child{border-top:none}.ts-learn-update-item.is-new{background:var(--ts-blue-light)}.ts-learn-update-meta{display:flex;align-items:center;gap:.4rem;margin-bottom:.25rem;flex-wrap:wrap}.ts-learn-update-version{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem;color:var(--ts-gray-light)}.ts-learn-update-date{font-size:.7rem;color:var(--ts-gray-light);margin-left:auto}.ts-learn-update-summary{color:var(--ts-gray);line-height:1.35}.ts-learn-section-divider{padding:.75rem 1.25rem;background:var(--ts-gray-bg);font-weight:600;font-size:.8125rem;color:var(--ts-gray-light);text-transform:uppercase;letter-spacing:.05em}.ts-learn-lesson-item{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1.25rem;text-decoration:none;color:var(--ts-gray);transition:all var(--ts-transition);border-left:3px solid transparent}.ts-learn-lesson-item:hover{background:var(--ts-gray-bg);color:var(--ts-blue)}.ts-learn-lesson-item.active{background:var(--ts-blue-light);border-left-color:var(--ts-blue);color:var(--ts-blue)}.ts-learn-lesson-item.disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.ts-learn-lesson-status{flex-shrink:0;margin-top:.125rem}.ts-learn-lesson-info{flex-grow:1;min-width:0}.ts-learn-lesson-title{display:block;font-size:.9375rem;font-weight:500;line-height:1.4;margin-bottom:.25rem}.ts-learn-lesson-meta{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--ts-gray)}.ts-learn-lesson-locked{display:block;margin-top:.25rem;color:#f59e0b;font-size:.75rem}.ts-learn-lesson-notes-badge{flex-shrink:0;align-self:center;margin-left:auto;display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .45rem;border-radius:999px;background:#fef3c7;color:#92400e;font-size:.75rem;font-weight:600;line-height:1;border:1px solid #fde68a}.ts-submission-review{border:1px solid var(--ts-border, #e5e7eb);border-radius:var(--ts-radius-lg, 8px);overflow:hidden;background:#282a36;color:#f8f8f2;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem}.ts-submission-review-header{background:#1e2029;color:#cbd5e1;padding:.5rem .85rem;border-bottom:1px solid #44475a;display:flex;align-items:center;flex-wrap:wrap;font-size:.8rem}.ts-submission-review-header .text-muted{color:#94a3b8!important}.ts-submission-review-lines{list-style:none;margin:0;padding:.35rem 0;counter-reset:none}.ts-submission-review-lines li{display:grid;grid-template-columns:3rem 1fr;column-gap:.5rem;padding:0 .5rem;line-height:1.45}.ts-submission-review-lines li.has-comment{background:#ffeb9914;border-left:3px solid #facc15;margin-left:-3px}.ts-submission-line-num{color:#6b7280;text-align:right;user-select:none;padding-right:.5rem;border-right:1px solid #44475a}.ts-submission-line-code{white-space:pre;overflow-x:auto}.ts-submission-line-code code{background:transparent;color:inherit;padding:0;font-size:inherit}.ts-submission-line-comment{grid-column:2 / 3;margin:.25rem 0 .4rem;padding:.5rem .75rem;background:#fffbeb;color:#78350f;border:1px solid #fde68a;border-radius:6px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.8rem;line-height:1.45;white-space:normal}.ts-learn-lesson-notes-badge.is-hidden{display:none}.ts-learn-lesson-notes-badge i{font-size:.85rem}.ts-learn-lesson-item.active .ts-learn-lesson-notes-badge{background:#fde68a;border-color:#f59e0b;color:#78350f}.ts-learn-content{flex-grow:1;padding:0 1.5rem 1.5rem;max-width:100%;overflow:hidden}.ts-learn-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.ts-learn-title{font-size:1.5rem;margin-bottom:.5rem;color:var(--ts-gray)!important}.ts-learn-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}.ts-learn-header-actions{flex-shrink:0}.ts-video-container{position:relative;aspect-ratio:16 / 9;overflow:hidden;background:#000;border-radius:var(--ts-radius-lg)}.ts-video-container video{position:absolute;top:0;left:0;width:100%;height:100%}.ts-video-container video::cue{font-size:1.15rem;background:#000000b3;color:#fff;padding:.15em .4em}.ts-chapters-list{display:flex;flex-direction:column;gap:.5rem}.ts-chapter-link{display:flex;align-items:center;justify-content:space-between;padding:.625rem .875rem;background:var(--ts-gray-bg);border-radius:var(--ts-radius);color:var(--ts-gray);text-decoration:none;transition:all var(--ts-transition)}.ts-chapter-link:hover{background:var(--ts-blue-light);color:var(--ts-blue)}.ts-lesson-content{font-size:1.0625rem;line-height:1.8}.ts-lesson-content h2{font-size:1.5rem;margin-top:2rem;margin-bottom:1rem;color:var(--ts-gray)}.ts-lesson-content h3{font-size:1.25rem;margin-top:1.5rem;margin-bottom:.75rem;color:var(--ts-gray)}.ts-lesson-content p{margin-bottom:1.25rem}.ts-lesson-content ul,.ts-lesson-content ol{margin-bottom:1.25rem;padding-left:1.5rem}.ts-lesson-content li{margin-bottom:.5rem}.ts-lesson-content code{background:var(--ts-gray-bg);padding:.125rem .375rem;border-radius:var(--ts-radius-sm);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.875em;color:var(--ts-blue-dark);white-space:pre-wrap}.ts-lesson-content pre{background:#0d1117;color:#e2e8f0;padding:1.25rem;border-radius:var(--ts-radius-lg);overflow-x:auto;margin-bottom:1.25rem}.ts-lesson-content pre .hljs-section,.ts-lesson-content pre .hljs-title,.ts-lesson-content pre .hljs-built_in{color:#58a6ff}.ts-lesson-content pre code{background:transparent;padding:0;color:inherit;font-variant-ligatures:none}.ts-lesson-content table{width:100%;border-collapse:collapse;margin-bottom:1.25rem;font-size:.95rem}.ts-lesson-content th,.ts-lesson-content td{border:1px solid var(--ts-border);padding:.5rem .75rem;text-align:left}.ts-lesson-content thead th{background:var(--ts-gray-bg);font-weight:600;color:var(--ts-gray)}.ts-lesson-content tbody tr:nth-child(2n){background:var(--ts-gray-bg)}.ts-lesson-content blockquote{border-left:4px solid var(--ts-blue);background:var(--ts-gray-bg);margin:1.5rem 0;padding:1rem 1.25rem;border-radius:0 8px 8px 0}.ts-lesson-content blockquote p:last-child{margin-bottom:0}.ts-lesson-content blockquote strong{color:var(--ts-blue)}.ts-lo-badge{display:inline-flex;align-items:center;gap:.25rem;background:var(--ts-blue-bg, rgba(59, 130, 246, .1));color:var(--ts-blue);padding:.1rem .5rem;border-radius:4px;font-size:.85em;font-weight:600;cursor:pointer;border:1px solid transparent;line-height:1.4;font-family:inherit;position:relative;transition:background .12s,color .12s,border-color .12s}.ts-lo-badge:hover,.ts-lo-badge:focus-visible{background:var(--ts-blue);color:#fff;border-color:var(--ts-blue);outline:none}.ts-lo-badge:hover .ts-lo-klevel,.ts-lo-badge:focus-visible .ts-lo-klevel{color:#ffffffd9}.ts-lo-badge[aria-expanded=true]{background:var(--ts-blue);color:#fff;border-color:var(--ts-blue)}.ts-lo-badge[aria-expanded=true] .ts-lo-klevel{color:#ffffffd9}.ts-lo-badge[aria-expanded=true] .ts-lo-chevron{transform:rotate(180deg)}.ts-lo-chevron{font-size:.7em;transition:transform .15s;opacity:.75}.ts-lo-klevel{font-weight:400}.ts-lo-desc{display:block;margin:.5rem 0;padding:.65rem .85rem;background:var(--ts-blue-bg, rgba(59, 130, 246, .08));border-left:3px solid var(--ts-blue);border-radius:4px;font-size:.9em;color:var(--ts-gray, #444);line-height:1.5}.ts-lo-desc strong{color:var(--ts-blue)}.ts-lo-desc .ts-lo-desc-kmeaning{display:block;margin-top:.25rem;font-size:.88em;color:var(--ts-gray-light, #666);font-style:italic}.ts-lesson-content table caption{caption-side:top;text-align:left;font-weight:600;color:var(--ts-gray-light, #666);font-size:.9em;padding:.35rem 0}.ts-beyond-rfcp{display:flex;align-items:center;gap:.6rem;margin:1.25rem 0;padding:.6rem .9rem;border-left:4px solid #a21caf;background:#fdf4ff;border-radius:6px}.ts-beyond-badge{flex-shrink:0;background:#a21caf;color:#fff;font-size:.7rem;font-weight:700;padding:.15rem .5rem;border-radius:999px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.ts-beyond-text{font-size:.9rem;color:#6b21a8}.ts-beyond-inline{margin:.75rem 0;font-size:.85rem;line-height:1.5;color:#6b21a8}.ts-beyond-badge--sm{font-size:.6rem;padding:.08rem .4rem;margin-right:.45rem;vertical-align:.08em}.ts-beyond-inline-text{font-style:italic}.ts-vscode-group{display:flex;align-items:stretch;gap:8px;margin:8px 0;flex-wrap:wrap;width:fit-content;max-width:100%}.ts-vscode-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#0078d4;color:#fff;font-size:.85rem;font-weight:500;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-decoration:none;border-radius:6px;border:1px solid #0078d4;transition:background .15s}.ts-vscode-btn:hover{background:#005a9e;border-color:#005a9e;color:#fff;text-decoration:none}.ts-vscode-download{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#fff;color:#0078d4;font-size:.85rem;font-weight:500;text-decoration:none;border-radius:6px;border:1px solid #0078d4;transition:background .15s,color .15s}.ts-vscode-download:hover{background:#f0f7ff;color:#005a9e;text-decoration:none}.ts-vscode-copy{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#fff;color:#0078d4;font-size:.85rem;font-weight:500;text-decoration:none;border-radius:6px;border:1px solid #0078d4;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.ts-vscode-copy:hover{background:#f0f7ff;color:#005a9e}.ts-vscode-copy[disabled]{opacity:.7;cursor:progress}.ts-vscode-copy.is-copied{background:var(--ts-green, #9fc93c);color:#1a1a1a;border-color:transparent}.ts-vscode-copy.is-error{background:#e74c3c;color:#fff;border-color:transparent}.ts-lesson-content blockquote code{background:#0000000f}.ts-learn-navigation{display:flex;justify-content:space-between;align-items:center;padding-top:1.5rem;border-top:1px solid var(--ts-border)}.ts-learn-welcome{display:flex;align-items:center;justify-content:center;min-height:400px}.ts-learn-container.theater-mode .ts-learn-sidebar{width:0;opacity:0;margin:0;padding:0}.ts-learn-container.theater-mode .ts-learn-content{max-width:100%}body>nav.navbar{transition:opacity .3s ease,max-height .3s ease;overflow:visible}body.theater-mode>nav.navbar{opacity:0;max-height:0;overflow:hidden;pointer-events:none}body.theater-mode>.container-fluid{padding:0;max-height:0;overflow:hidden}.ts-quiz-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:1.25rem;background:linear-gradient(135deg,var(--ts-blue) 0%,var(--ts-blue-dark) 100%);color:#fff;border-radius:var(--ts-radius-xl) var(--ts-radius-xl) 0 0}.ts-quiz-header h4{color:#fff!important;margin:0}.ts-quiz-info{display:flex;gap:1.5rem;font-size:.875rem}.ts-quiz-question{padding:1.5rem;margin-bottom:1rem;border:1px solid var(--ts-border);border-radius:var(--ts-radius-lg);background:var(--ts-white)}.ts-quiz-question:last-of-type{margin-bottom:0}.ts-quiz-question-header{font-size:1.0625rem;font-weight:600;margin-bottom:1rem;display:flex;align-items:flex-start;gap:.75rem}.ts-quiz-options{display:flex;flex-direction:column;gap:.75rem}.ts-quiz-option{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:var(--ts-gray-bg);border:2px solid transparent;border-radius:var(--ts-radius);cursor:pointer;transition:all var(--ts-transition)}.ts-quiz-option:hover{background:var(--ts-blue-light);border-color:var(--ts-blue)}.ts-quiz-option input[type=radio],.ts-quiz-option input[type=checkbox]{width:20px;height:20px;flex-shrink:0;accent-color:var(--ts-blue);cursor:pointer}.ts-quiz-option-text{flex-grow:1;font-size:.9375rem}.ts-quiz-option-text code{white-space:pre-wrap}fieldset.ts-quiz-question{border:1px solid var(--ts-border);margin:0 0 1rem}legend.ts-quiz-question-header{float:none;width:100%;padding:0;margin-bottom:1rem}.skip-link{position:absolute;top:-100px;left:50%;transform:translate(-50%);background:var(--ts-blue);color:#fff;padding:.75rem 1.5rem;border-radius:var(--ts-radius);z-index:10000;font-weight:600;text-decoration:none;transition:top .3s ease}.skip-link:focus{top:10px;color:#fff;outline:3px solid var(--ts-blue-dark);outline-offset:2px}.ts-transcript-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.ts-transcript-size-controls{display:inline-flex;gap:.25rem}.ts-transcript-size-btn{background:#fff;color:var(--ts-blue);border:1px solid var(--ts-border, #e5e7eb);border-radius:6px;padding:.25rem .6rem;font-size:.85rem;line-height:1;cursor:pointer;min-width:2.2rem}.ts-transcript-size-btn small{font-size:.7em;vertical-align:super}.ts-transcript-size-btn:hover{background:var(--ts-blue-light, #eaf3fb)}.ts-transcript-size-btn.is-active{background:var(--ts-blue, #205d96);color:#fff;border-color:var(--ts-blue, #205d96)}.ts-transcript-content{max-height:min(48vh,460px);overflow-y:auto;padding:.75rem 1rem;border:1px solid var(--ts-border, #e5e7eb);border-radius:8px;background:#fafafa;line-height:1.55;scroll-behavior:smooth}.ts-transcript-content:focus{outline:2px solid var(--ts-blue, #205d96);outline-offset:2px}.ts-transcript-content--sm{font-size:.8rem}.ts-transcript-content--md{font-size:1rem}.ts-transcript-content--lg{font-size:1.3rem}.ts-transcript-cue{display:block;padding:.35rem .6rem;margin:0 -.4rem .25rem;border-radius:6px;border-left:3px solid transparent;cursor:pointer;transition:background .12s ease,border-color .12s ease}.ts-transcript-cue:hover{background:#205d960f}.ts-transcript-cue.is-active{background:#9fc93c2e;border-left-color:var(--ts-green, #9fc93c);font-weight:500}.ts-transcript-chapter{font-weight:700;font-size:1.05em;color:var(--ts-blue, #205d96);padding:.5rem .6rem .3rem;margin:.75rem -.4rem .25rem;border-top:1px solid var(--ts-border, #e5e7eb)}.ts-transcript-chapter-group:first-child .ts-transcript-chapter{border-top:none;margin-top:0;padding-top:0}.ts-video-stage{display:block}#lessonTranscriptCard:hover,.ts-video-stage.is-readalong #lessonChaptersCard:hover{transform:none;box-shadow:var(--ts-shadow)}.ts-transcript-readalong-btn.is-active{background:var(--ts-blue, #205d96);color:#fff;border-color:var(--ts-blue, #205d96)}.ts-video-stage.is-readalong{display:flex;flex-direction:column;gap:1rem;min-height:320px}.ts-video-stage.is-readalong .ts-video-container{flex:1 1 auto;min-height:0;height:auto;width:100%;aspect-ratio:auto}.ts-video-stage.is-readalong .ts-video-container video{object-fit:contain}.ts-video-stage.is-readalong>.ts-readalong-side{flex:0 0 auto;height:clamp(220px,42%,420px);min-height:0;display:flex;flex-direction:column;gap:1rem}.ts-video-stage.is-readalong .ts-readalong-side>#lessonTranscriptCard{flex:3 1 0;min-height:0;margin-top:0!important;display:flex;flex-direction:column}.ts-video-stage.is-readalong .ts-readalong-side>#lessonChaptersCard{flex:2 1 0;min-height:0;margin-top:0!important;display:flex;flex-direction:column}.ts-video-stage.is-readalong #lessonTranscriptCard>.ts-card-body,.ts-video-stage.is-readalong #lessonChaptersCard>.ts-card-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;padding:.75rem 1rem}.ts-video-stage.is-readalong .ts-transcript-content.mt-3{margin-top:.5rem!important}.ts-video-stage.is-readalong #transcriptBody{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.ts-video-stage.is-readalong .ts-transcript-content{flex:1 1 auto;min-height:0;max-height:none}.ts-video-stage.is-readalong #lessonChaptersCard nav{flex:1 1 auto;min-height:0;overflow-y:auto}@media(min-width:1200px){.ts-video-stage.is-readalong{flex-direction:row;align-items:stretch}.ts-video-stage.is-readalong .ts-video-container{flex:1 1 auto;height:auto;width:auto;min-width:0}.ts-video-stage.is-readalong>.ts-readalong-side{flex:0 0 auto;width:clamp(320px,34%,480px);height:auto}}.ts-collapsible-toggle{background:transparent;border:1px solid var(--ts-border, #e5e7eb);border-radius:6px;color:var(--ts-gray, #59575d);padding:.25rem .55rem;cursor:pointer;line-height:1;font-size:.85rem;transition:background .15s,color .15s}.ts-collapsible-toggle:hover{background:var(--ts-blue-light, #eaf3fb);color:var(--ts-blue, #205d96)}.ts-collapsible-toggle:focus-visible{outline:2px solid var(--ts-blue, #205d96);outline-offset:2px}.ts-collapsible-body.is-collapsed{display:none}:focus-visible{outline:3px solid var(--ts-blue);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.ts-course-description{font-size:1rem;line-height:1.7}.ts-course-description h2,.ts-course-description h3,.ts-course-description h4{margin-top:1.5rem;margin-bottom:.75rem;color:var(--ts-gray)}.ts-course-description p{margin-bottom:1rem}.ts-course-description ul,.ts-course-description ol{margin-bottom:1rem;padding-left:1.5rem}.ts-course-description li{margin-bottom:.5rem}.ts-course-description code{white-space:pre-wrap}.ts-course-description table{width:100%;margin-bottom:1rem;border-collapse:collapse;font-size:.95rem}.ts-course-description th,.ts-course-description td{padding:.5rem .75rem;border:1px solid var(--ts-border);text-align:left;vertical-align:top}.ts-course-description th{background:var(--ts-gray-bg);color:var(--ts-blue);font-weight:600}.ts-course-description tbody tr:nth-child(2n){background:var(--ts-gray-bg)}@media(max-width:991px){.ts-learn-container{flex-direction:column}.ts-learn-sidebar{width:100%;border-right:none;border-bottom:1px solid var(--ts-border)}.ts-learn-sidebar-inner{width:100%;height:auto;max-height:50vh;position:relative;top:0}.ts-learn-content{padding:1rem}.ts-learn-title{font-size:1.25rem}.ts-learn-navigation{flex-direction:column;gap:.75rem}.ts-learn-navigation .btn{width:100%}.ts-learn-header-actions{display:none}.ts-learn-container.theater-mode .ts-learn-sidebar{width:100%;opacity:1}}@media(max-width:575px){.ts-learn-header{flex-direction:column}.ts-quiz-header{flex-direction:column;align-items:flex-start}.ts-quiz-info{flex-direction:column;gap:.5rem}}.ts-top-banner{background:linear-gradient(135deg,#1a4a78,#205d96,#2d7ab8);color:#fff;padding:.5rem 1rem;text-align:center;position:relative;overflow:hidden;font-size:.875rem}.ts-top-banner:before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");pointer-events:none}.ts-top-banner-content{display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap;position:relative;z-index:1}.ts-top-banner-icon{font-size:1.1rem;animation:ts-banner-bounce 2s ease-in-out infinite}.ts-top-banner-text{font-weight:500}.ts-top-banner-text strong{font-weight:700}.ts-top-banner-link{display:inline-flex;align-items:center;gap:.4rem;background:#ffffff26;color:#fff;padding:.3rem .85rem;border-radius:var(--ts-radius-full);font-weight:600;font-size:.8rem;text-decoration:none;transition:all var(--ts-transition);border:1px solid rgba(255,255,255,.25)}.ts-top-banner-link:hover{background:#ffffff40;color:#fff;transform:translateY(-1px)}@keyframes ts-banner-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.ts-top-banner.ts-banner-christmas{background:linear-gradient(135deg,#1a472a,#2d5a3d,#1a472a)}.ts-top-banner.ts-banner-availability{background:linear-gradient(135deg,#92400e,#b45309,#d97706)}.ts-top-banner.ts-banner-christmas:before{background:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.08'%3E%3Cpath d='M20 0l2 8h8l-6.5 5 2.5 8-6-5-6 5 2.5-8L10 8h8z'/%3E%3C/g%3E%3C/svg%3E")}@media(max-width:768px){.ts-top-banner{padding:.6rem 1rem}.ts-top-banner-content{flex-direction:column;gap:.4rem}.ts-top-banner-text{font-size:.8rem}}.ts-opensource-title{font-size:2rem}@media(max-width:576px){.ts-opensource-title{font-size:1.4rem}}
