.tut-app,.tut-lightbox{--tut-surface: var(--alf-bg-elevated);--tut-surface-soft: color-mix(in srgb, var(--alf-text) 4%, transparent);--tut-hairline: color-mix(in srgb, var(--alf-text) 10%, transparent);--tut-accent: var(--alf-mod-twins);--tut-accent-soft: color-mix(in srgb, var(--alf-mod-twins) 12%, transparent);--tut-shadow-sm: 0 1px 2px rgba(0, 0, 0, .04), 0 6px 16px -10px rgba(0, 0, 0, .14);--tut-shadow-md: 0 1px 3px rgba(0, 0, 0, .05), 0 20px 44px -26px rgba(0, 0, 0, .28);--tut-radius-card: 18px;--tut-ease: cubic-bezier(.22, 1, .36, 1)}.tut-app{max-width:var(--alf-content-width);margin:0 auto;padding:var(--alf-space-6) var(--alf-space-4) var(--alf-space-16)}.tut-app--with-sidebar{display:grid;grid-template-columns:1fr;gap:0;padding:0 0 var(--alf-space-16)}@media(min-width:1024px){.tut-app--with-sidebar{grid-template-columns:var(--alf-sidebar-width) 1fr}}.tut-app__back{display:inline-flex;align-items:center;gap:var(--alf-space-2);font-size:var(--alf-text-sm);color:var(--alf-mod-twins);text-decoration:none;margin-bottom:var(--alf-space-6);transition:opacity var(--alf-transition-fast)}.tut-app__back:hover{opacity:.7}.tut-app__content{min-width:0;max-width:var(--alf-content-narrow);margin:0 auto;padding:var(--alf-space-8) var(--alf-space-4);width:100%}@media(min-width:1024px){.tut-app__content{padding:var(--alf-space-12) var(--alf-space-10) var(--alf-space-16)}}.tut-app__sidebar-toggle{position:sticky;top:calc(var(--alf-nav-height) + var(--alf-space-3));z-index:5;display:inline-flex;align-items:center;gap:var(--alf-space-2);padding:var(--alf-space-2) var(--alf-space-4) var(--alf-space-2) var(--alf-space-3);background:color-mix(in srgb,var(--alf-bg-elevated) 80%,transparent);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border:1px solid var(--tut-hairline);border-radius:var(--alf-radius-full);font-size:var(--alf-text-sm);font-weight:var(--alf-weight-medium);color:var(--alf-text);cursor:pointer;margin-bottom:var(--alf-space-6);box-shadow:var(--tut-shadow-sm);transition:background .18s ease}.tut-app__sidebar-toggle:hover{background:var(--alf-bg-elevated)}@media(min-width:1024px){.tut-app__sidebar-toggle{display:none}}.tut-sidebar{position:fixed;inset:0;z-index:100;width:80vw;max-width:18rem;background:var(--alf-bg);border-right:1px solid var(--alf-border);padding:var(--alf-space-6) var(--alf-space-4);transform:translate(-100%);transition:transform var(--alf-transition-slow);overflow-y:auto;display:flex;flex-direction:column}.tut-sidebar--open{transform:translate(0)}.tut-sidebar__backdrop{position:fixed;inset:0;z-index:99;background:var(--alf-bg-overlay)}@media(min-width:1024px){.tut-sidebar{position:sticky;top:var(--alf-nav-height);height:calc(100vh - var(--alf-nav-height));transform:none;z-index:1;width:var(--alf-sidebar-width);max-width:none;padding:var(--alf-space-10) var(--alf-space-4) var(--alf-space-6) var(--alf-space-6);border-right:1px solid var(--tut-hairline)}.tut-sidebar__backdrop{display:none}.tut-sidebar__close{display:none!important}}.tut-sidebar__header{margin-bottom:var(--alf-space-6);position:relative}.tut-sidebar__close{position:absolute;top:-.25rem;right:-.25rem;background:none;border:none;color:var(--alf-text-muted);cursor:pointer;padding:var(--alf-space-1)}.tut-sidebar__progress-label{display:block;font-size:.7rem;color:var(--alf-text-muted);margin-bottom:var(--alf-space-3);font-weight:var(--alf-weight-semibold);letter-spacing:.06em;text-transform:uppercase}.tut-sidebar__progress-bar{height:3px;background:var(--tut-hairline);border-radius:var(--alf-radius-full);overflow:hidden}.tut-sidebar__progress-fill{height:100%;background:var(--alf-mod-twins);border-radius:var(--alf-radius-full);transition:width .6s var(--tut-ease)}.tut-sidebar__list{list-style:none;padding:0;margin:0;flex:1}.tut-sidebar__item{margin-bottom:var(--alf-space-1)}.tut-sidebar__link{display:flex;align-items:center;gap:var(--alf-space-3);width:100%;padding:var(--alf-space-2) var(--alf-space-3);border:none;background:transparent;border-radius:10px;cursor:pointer;text-align:left;color:var(--alf-text-secondary);font-size:var(--alf-text-sm);transition:background .18s ease,color .18s ease}.tut-sidebar__link:hover{background:var(--tut-surface-soft);color:var(--alf-text)}.tut-sidebar__link--active{background:var(--tut-accent-soft);color:var(--alf-mod-twins);font-weight:var(--alf-weight-semibold)}.tut-sidebar__link--completed{color:var(--alf-success-text)}.tut-sidebar__link--completed.tut-sidebar__link--active{color:var(--alf-mod-twins)}.tut-sidebar__num{flex-shrink:0;width:1.6rem;height:1.6rem;display:flex;align-items:center;justify-content:center;border-radius:var(--alf-radius-full);font-size:.72rem;font-weight:var(--alf-weight-semibold);font-variant-numeric:tabular-nums;background:transparent;color:var(--alf-text-muted);transition:background .18s ease,color .18s ease}.tut-sidebar__link--active .tut-sidebar__num{background:var(--alf-mod-twins);color:var(--alf-accent-text)}.tut-sidebar__link--completed .tut-sidebar__num{background:var(--alf-success-bg);color:var(--alf-success-text)}.tut-sidebar__link-title{display:block;line-height:var(--alf-leading-snug)}.tut-sidebar__overview-btn{display:flex;align-items:center;gap:var(--alf-space-2);width:auto;padding:var(--alf-space-2) var(--alf-space-3);border:1px solid var(--tut-hairline);border-radius:var(--alf-radius-full);background:transparent;color:var(--alf-text-muted);font-size:var(--alf-text-sm);cursor:pointer;margin-top:var(--alf-space-6);transition:background .18s ease,color .18s ease}.tut-sidebar__overview-btn:hover{background:var(--tut-surface-soft);color:var(--alf-text)}.tut-landing{max-width:var(--alf-content-narrow);margin:0 auto}.tut-landing__hero{position:relative;text-align:center;padding:var(--alf-space-16) 0 var(--alf-space-12);margin-bottom:0}.tut-landing__glow{position:absolute;inset:-20% -30% auto;height:120%;pointer-events:none;z-index:-1;background:radial-gradient(40% 55% at 50% 30%,color-mix(in srgb,var(--alf-mod-twins) 16%,transparent),transparent 70%),radial-gradient(28% 40% at 68% 62%,rgba(193,96,35,.1),transparent 70%);filter:blur(24px);opacity:.9}.tut-landing{position:relative}.tut-landing__badge{display:inline-flex;align-items:center;justify-content:center;width:76px;height:76px;border-radius:24px;background:linear-gradient(160deg,color-mix(in srgb,var(--alf-mod-twins) 18%,transparent),color-mix(in srgb,var(--alf-mod-twins) 7%,transparent));color:var(--alf-mod-twins);margin-bottom:var(--alf-space-6);box-shadow:var(--tut-shadow-sm)}.tut-landing__title{font-family:var(--alf-font-heading);font-size:clamp(2.25rem,6vw,3.5rem);font-weight:var(--alf-weight-extrabold);letter-spacing:-.03em;line-height:1.08;color:var(--alf-text);margin-bottom:var(--alf-space-5);text-wrap:balance}.tut-landing__subtitle{font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.55;font-weight:var(--alf-weight-regular);color:var(--alf-text-secondary);max-width:34rem;margin:0 auto;text-wrap:pretty}.tut-landing__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--alf-space-3);margin-bottom:var(--alf-space-3)}.tut-landing__cta{display:inline-flex;align-items:center;gap:var(--alf-space-2);padding:.95rem 2rem;border-radius:var(--alf-radius-full);font-size:var(--alf-text-base);font-weight:var(--alf-weight-semibold);cursor:pointer;border:none;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s ease}.tut-landing__cta:hover{transform:scale(1.04)}.tut-landing__cta--primary{background:var(--alf-mod-twins-solid);color:#fff;box-shadow:0 6px 24px -4px #00339940}.tut-landing__cta--primary:hover{box-shadow:0 10px 36px -4px #00339961}.tut-landing__cta--ghost{background:transparent;color:var(--alf-text-secondary);border:1px solid var(--alf-border)}.tut-landing__cta--ghost:hover{border-color:var(--alf-border-strong);color:var(--alf-text)}.tut-landing__duration{font-size:var(--alf-text-sm);color:var(--alf-text-muted);text-align:center;margin:0 0 var(--alf-space-16)}.tut-video__no-audio{display:inline-flex;align-items:center;gap:3px;margin-left:var(--alf-space-2);font-size:var(--alf-text-xs);color:var(--alf-text-muted);opacity:.75;vertical-align:middle}.tut-track-selector{display:grid;grid-template-columns:1fr 1fr;gap:var(--alf-space-4);max-width:36rem;margin:0 auto}.tut-track-card{display:flex;flex-direction:column;align-items:center;gap:var(--alf-space-3);padding:var(--alf-space-6) var(--alf-space-5);border-radius:var(--tut-radius-card);border:1px solid var(--tut-hairline);background:var(--tut-surface);cursor:pointer;transition:transform .4s var(--tut-ease),box-shadow .3s ease,border-color .2s ease,background .2s ease;text-align:center}.tut-track-card:hover{transform:translateY(-2px);box-shadow:var(--tut-shadow-md)}.tut-track-card--active{border-color:transparent;background:var(--tut-surface);box-shadow:0 0 0 2px var(--alf-mod-twins),var(--tut-shadow-md)}.tut-track-card__icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:var(--tut-accent-soft);color:var(--alf-mod-twins);transition:transform .4s var(--tut-ease)}.tut-track-card__icon svg{overflow:visible}.tut-track-card--active .tut-track-card__icon{transform:scale(1.06)}.tut-track-card__name{font-size:var(--alf-text-base);font-weight:var(--alf-weight-semibold);color:var(--alf-text)}.tut-track-card__desc{font-size:var(--alf-text-sm);color:var(--alf-text-muted);line-height:1.4}.tut-chapter__track-badge{font-size:var(--alf-text-xs);color:var(--alf-mod-twins);font-weight:var(--alf-weight-semibold);opacity:.8}@media(max-width:480px){.tut-track-selector{grid-template-columns:1fr}}.tut-landing__section{margin-bottom:var(--alf-space-16)}.tut-landing__grid{display:grid;grid-template-columns:1fr;gap:var(--alf-space-4);margin-bottom:var(--alf-space-16)}@media(min-width:768px){.tut-landing__grid{grid-template-columns:1fr 1fr}}.tut-landing__panel{margin-bottom:0;padding:var(--alf-space-6) var(--alf-space-6) var(--alf-space-5);background:var(--tut-surface);border:1px solid var(--tut-hairline);border-radius:var(--tut-radius-card);box-shadow:var(--tut-shadow-sm)}.tut-landing__panel .tut-landing__section-title{text-align:left;font-size:var(--alf-text-lg);margin-bottom:var(--alf-space-3)}.tut-landing__panel .tut-landing__checklist,.tut-landing__panel .tut-landing__prereqs{max-width:none}.tut-landing__panel .tut-landing__checklist-item,.tut-landing__panel .tut-landing__prereqs li{padding-top:var(--alf-space-2);padding-bottom:var(--alf-space-2);font-size:var(--alf-text-sm)}.tut-landing__panel .tut-landing__prereqs li:before{top:1.25em}.tut-landing__section-title{font-family:var(--alf-font-heading);font-size:clamp(1.25rem,2.5vw,1.6rem);font-weight:var(--alf-weight-bold);letter-spacing:-.02em;margin-bottom:var(--alf-space-5);text-align:center}.tut-landing__section-title--with-badge{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--alf-space-3)}.tut-landing__track-badge{display:inline-flex;align-items:center;gap:6px;padding:.3rem .75rem;border-radius:var(--alf-radius-full);background:var(--tut-accent-soft);color:var(--alf-mod-twins);font-family:var(--alf-font-body);font-size:var(--alf-text-xs);font-weight:var(--alf-weight-semibold);letter-spacing:.01em;text-transform:none}.tut-landing__checklist{list-style:none;padding:0;margin:0}.tut-landing__checklist,.tut-landing__prereqs{max-width:34rem;margin:0 auto}.tut-landing__checklist-item{display:flex;align-items:flex-start;gap:var(--alf-space-3);padding:var(--alf-space-3) 0;font-size:var(--alf-text-base);line-height:var(--alf-leading-relaxed);color:var(--alf-text-secondary)}.tut-landing__check-icon{flex-shrink:0;box-sizing:content-box;width:14px;height:14px;padding:5px;border-radius:var(--alf-radius-full);background:var(--alf-success-bg);color:var(--alf-success-text);margin-top:.1em}.tut-landing__prereqs{list-style:none;padding:0;color:var(--alf-text-secondary)}.tut-landing__prereqs li{position:relative;padding:var(--alf-space-3) 0 var(--alf-space-3) var(--alf-space-6);line-height:var(--alf-leading-relaxed)}.tut-landing__prereqs li:before{content:"";position:absolute;left:6px;top:1.5em;width:5px;height:5px;border-radius:50%;background:var(--alf-text-muted);opacity:.6}.tut-landing__chapters{display:flex;flex-direction:column;background:var(--tut-surface);border:1px solid var(--tut-hairline);border-radius:var(--tut-radius-card);overflow:hidden;box-shadow:var(--tut-shadow-sm)}.tut-landing__chapter-card{position:relative;display:flex;align-items:center;gap:var(--alf-space-4);padding:var(--alf-space-4) var(--alf-space-5);background:transparent;border:none;border-radius:0;cursor:pointer;text-align:left;width:100%;transition:background .18s ease}.tut-landing__chapter-card+.tut-landing__chapter-card:before{content:"";position:absolute;top:0;left:var(--alf-space-5);right:0;height:1px;background:var(--tut-hairline)}.tut-landing__chapter-card:hover{background:var(--tut-surface-soft)}.tut-landing__chapter-card:active{background:color-mix(in srgb,var(--alf-text) 7%,transparent)}.tut-landing__chapter-num{flex-shrink:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--alf-radius-full);font-size:var(--alf-text-sm);font-weight:var(--alf-weight-semibold);background:var(--tut-accent-soft);color:var(--alf-mod-twins)}.tut-landing__chapter-card--done .tut-landing__chapter-num{background:var(--alf-success-bg);color:var(--alf-success-text)}.tut-landing__chapter-info{min-width:0}.tut-landing__chapter-title{display:block;font-size:var(--alf-text-base);font-weight:var(--alf-weight-semibold);letter-spacing:-.01em;color:var(--alf-text);margin-bottom:.15rem}.tut-landing__chapter-time{flex-shrink:0;margin-left:auto;font-size:var(--alf-text-xs);font-variant-numeric:tabular-nums;color:var(--alf-text-muted);white-space:nowrap}.tut-landing__chapter-card:after{content:"";flex-shrink:0;width:7px;height:7px;border-right:1.8px solid var(--alf-text-muted);border-bottom:1.8px solid var(--alf-text-muted);transform:rotate(-45deg);opacity:.5;transition:transform .3s var(--tut-ease),opacity .2s ease}.tut-landing__chapter-card:hover:after{opacity:.9;transform:rotate(-45deg) translate(2px,2px)}.tut-landing__chapter-desc{display:block;font-size:var(--alf-text-sm);color:var(--alf-text-muted);line-height:var(--alf-leading-snug)}.tut-chapter{animation:tutFadeIn .4s cubic-bezier(.16,1,.3,1) both}@keyframes tutFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.tut-chapter__header{margin-bottom:var(--alf-space-12);padding-bottom:0;border-bottom:none}.tut-chapter__eyebrow{display:block;font-size:var(--alf-text-xs);font-weight:var(--alf-weight-semibold);letter-spacing:var(--alf-tracking-wider);text-transform:uppercase;color:var(--alf-mod-twins);margin-bottom:var(--alf-space-3)}.tut-chapter__title{font-family:var(--alf-font-heading);font-size:clamp(1.85rem,4.5vw,2.75rem);font-weight:var(--alf-weight-extrabold);letter-spacing:-.03em;line-height:1.1;color:var(--alf-text);margin-bottom:var(--alf-space-5);text-wrap:balance}.tut-chapter__intro{font-size:clamp(1.05rem,2vw,1.2rem);line-height:var(--alf-leading-relaxed);color:var(--alf-text-secondary);text-align:left;text-wrap:pretty}.tut-chapter__steps{display:flex;flex-direction:column;gap:var(--alf-space-12);margin-bottom:var(--alf-space-12)}.tut-chapter__step{position:relative;display:flex;gap:var(--alf-space-5);align-items:flex-start}.tut-chapter__step:before{content:"";position:absolute;left:1rem;top:2.5rem;bottom:calc(-1 * var(--alf-space-12));width:1px;background:var(--tut-hairline)}.tut-chapter__step:last-child:before{display:none}.tut-chapter__step-num{position:relative;z-index:1;flex-shrink:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:var(--tut-accent-soft);color:var(--alf-mod-twins);border-radius:var(--alf-radius-full);font-weight:var(--alf-weight-semibold);font-size:.8rem;box-shadow:0 0 0 4px var(--alf-bg)}.tut-chapter__step-body{flex:1;min-width:0}.tut-chapter__step-title{font-size:var(--alf-text-lg);font-weight:var(--alf-weight-semibold);letter-spacing:-.015em;color:var(--alf-text);margin-bottom:var(--alf-space-3);line-height:var(--alf-leading-snug);padding-top:.15rem}.tut-chapter__step-desc{font-size:var(--alf-text-base);line-height:var(--alf-leading-relaxed);color:var(--alf-text-secondary);text-align:left;text-wrap:pretty}.tut-chapter__step-desc+.tut-chapter__step-desc{margin-top:var(--alf-space-4)}.tut-chapter__sub-items{list-style:none;margin:var(--alf-space-4) 0 0;padding:0}.tut-chapter__sub-items li{position:relative;margin-bottom:var(--alf-space-3);padding-left:var(--alf-space-5);font-size:var(--alf-text-sm);line-height:var(--alf-leading-relaxed);color:var(--alf-text-secondary)}.tut-chapter__sub-items li:before{content:"";position:absolute;left:4px;top:.72em;width:4px;height:4px;border-radius:50%;background:var(--alf-mod-twins);opacity:.55}.tut-platform-tabs{display:flex;gap:4px;padding:4px;background:#0000000a;border-radius:12px;margin-bottom:var(--alf-space-6);width:fit-content}.tut-platform-tab{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:10px;background:transparent;color:var(--alf-text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.tut-platform-tab:hover{color:var(--alf-text-primary)}.tut-platform-tab--active{background:#fff;color:var(--alf-text-primary);box-shadow:0 1px 3px #00000014,0 1px 2px #0000000a}.tut-platform-tab__icon{display:flex;align-items:center;opacity:.6}.tut-platform-tab--active .tut-platform-tab__icon{opacity:1}.tut-chapter__figure{margin:var(--alf-space-6) 0 0;border:none;background:none;border-radius:0;overflow:visible;cursor:zoom-in}.tut-chapter__img{display:block;width:100%;height:auto;border-radius:var(--tut-radius-card);background:var(--tut-surface-soft);box-shadow:var(--tut-shadow-md);transition:transform .45s var(--tut-ease),box-shadow .3s ease}.tut-chapter__figure:hover .tut-chapter__img{transform:scale(1.008)}.tut-chapter__figcaption{padding:var(--alf-space-3) var(--alf-space-1) 0;font-size:var(--alf-text-xs);color:var(--alf-text-muted);line-height:var(--alf-leading-relaxed);border-top:none;text-align:center}.tut-chapter__video-figure{margin-top:var(--alf-space-4)}.tut-chapter__video{display:block;width:100%;height:auto;background:#000;border-radius:var(--tut-radius-card);box-shadow:var(--tut-shadow-md)}@media(max-width:768px){.tut-chapter__step{flex-direction:column;gap:var(--alf-space-2)}.tut-chapter__step-num{align-self:flex-start}.tut-chapter__figure,.tut-chapter__video-figure,.tut-carousel{width:100%;margin-left:0;margin-right:0;border-radius:var(--alf-radius)}}.tut-chapter__layers,.tut-chapter__sites-list{list-style:none;padding:0;margin:var(--alf-space-4) 0 0}.tut-chapter__layers li{padding:var(--alf-space-4) var(--alf-space-5);margin-bottom:var(--alf-space-2);background:var(--tut-surface-soft);border-radius:14px;font-size:var(--alf-text-sm);line-height:var(--alf-leading-relaxed);color:var(--alf-text-secondary)}.tut-chapter__sites-list li{padding:var(--alf-space-3) 0;border-bottom:1px solid var(--tut-hairline);font-size:var(--alf-text-sm);color:var(--alf-text-secondary);line-height:var(--alf-leading-relaxed)}.tut-pilot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:var(--alf-space-4);margin-top:var(--alf-space-5)}.tut-pilot-card{display:flex;flex-direction:column;padding:var(--alf-space-4);border-radius:16px;background:var(--alf-surface, #fff);border:1px solid rgba(0,0,0,.06);box-shadow:0 1px 3px #0000000a;text-decoration:none;color:inherit;transition:transform .2s ease,box-shadow .2s ease}.tut-pilot-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000014}.tut-pilot-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--alf-space-3)}.tut-pilot-card__flag{font-size:1.75rem;line-height:1}.tut-pilot-card__badge{font-size:.65rem;font-family:SF Mono,ui-monospace,monospace;font-weight:500;letter-spacing:.03em;color:var(--alf-text-tertiary, #888);background:#0000000a;padding:3px 8px;border-radius:6px}.tut-pilot-card__name{font-size:.95rem;font-weight:600;color:var(--alf-text-primary);letter-spacing:-.01em}.tut-pilot-card__crop{font-size:.8rem;color:var(--alf-text-secondary);margin-top:2px;margin-bottom:auto}.tut-pilot-card__footer{display:flex;gap:var(--alf-space-2);margin-top:var(--alf-space-3);padding-top:var(--alf-space-3);border-top:1px solid rgba(0,0,0,.05);font-size:.7rem;font-weight:500;color:var(--alf-text-tertiary, #999);text-transform:uppercase;letter-spacing:.04em}.tut-chapter__logo-block{display:flex;justify-content:center;padding:var(--alf-space-4) 0}.tut-chapter__logo-img{max-width:180px;height:auto}.tut-sensor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--alf-space-3);margin-top:var(--alf-space-4)}.tut-sensor-card{display:flex;gap:var(--alf-space-3);padding:var(--alf-space-4);border-radius:14px;background:var(--tut-surface);border:1px solid var(--tut-hairline);box-shadow:var(--tut-shadow-sm);transition:transform .35s var(--tut-ease),box-shadow .25s ease}.tut-sensor-card:hover{transform:translateY(-1px);box-shadow:var(--tut-shadow-md)}.tut-sensor-card__icon{flex-shrink:0;width:44px;height:44px;border-radius:12px;background:var(--tut-accent-soft);display:flex;align-items:center;justify-content:center;color:var(--alf-mod-twins)}.tut-sensor-card__body{display:flex;flex-direction:column;gap:2px;min-width:0}.tut-sensor-card__body strong{font-size:.9rem;color:var(--alf-text-primary)}.tut-sensor-card__detail{font-size:.78rem;color:var(--alf-text-secondary)}.tut-sensor-card__depths{display:flex;gap:4px;margin-top:4px}.tut-sensor-card__depth{font-size:.65rem;font-weight:600;padding:2px 8px;border-radius:6px;background:var(--tut-accent-soft);color:var(--alf-mod-twins)}.tut-sensor-card__measures{font-size:.7rem;color:var(--alf-text-tertiary, #999);margin-top:2px}.tut-carousel{margin:var(--alf-space-6) 0;border-radius:var(--tut-radius-card);overflow:hidden;background:var(--tut-surface);border:1px solid var(--tut-hairline);box-shadow:var(--tut-shadow-md)}.tut-carousel__viewport{position:relative;display:flex;align-items:center;justify-content:center;min-height:280px;max-height:480px;background:var(--tut-surface-soft)}.tut-carousel__img{width:100%;height:100%;max-height:480px;object-fit:contain}.tut-carousel__btn{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;border:none;background:#ffffffb3;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);color:#333;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,transform .15s;z-index:2;box-shadow:0 2px 8px #00000026}.tut-carousel__btn:hover{background:#fff;transform:translateY(-50%) scale(1.05)}.tut-carousel__btn--prev{left:12px}.tut-carousel__btn--next{right:12px}.tut-carousel__footer{background:transparent;border-top:1px solid var(--tut-hairline);padding:var(--alf-space-3) var(--alf-space-4);text-align:center}.tut-carousel__dots{display:flex;justify-content:center;gap:6px;margin-bottom:var(--alf-space-2)}.tut-carousel__dot{width:7px;height:7px;border-radius:50%;border:none;background:color-mix(in srgb,var(--alf-text) 22%,transparent);cursor:pointer;padding:0;transition:background .2s,transform .3s var(--tut-ease)}.tut-carousel__dot--active{background:var(--alf-mod-twins);transform:scale(1.25)}.tut-carousel__caption{font-size:var(--alf-text-xs, .75rem);color:var(--alf-text-secondary);margin:0;line-height:1.4}.tut-download-banner{display:flex;gap:var(--alf-space-4);padding:var(--alf-space-5);border-radius:var(--tut-radius-card);background:var(--tut-surface);border:1px solid var(--tut-hairline);box-shadow:var(--tut-shadow-sm);margin-bottom:var(--alf-space-6);align-items:flex-start}.tut-download-banner__icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--tut-accent-soft);border-radius:10px;color:var(--alf-mod-twins)}.tut-download-banner__body p{margin:0 0 var(--alf-space-3);font-size:var(--alf-text-sm);color:var(--alf-text-secondary);line-height:var(--alf-leading-relaxed)}.tut-download-banner__btn{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:var(--alf-radius-full);background:var(--alf-mod-twins-solid);color:#fff;font-size:.85rem;font-weight:600;text-decoration:none;box-shadow:0 6px 16px -8px #00339980;transition:transform .3s var(--tut-ease),box-shadow .25s ease}.tut-download-banner__btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px -6px #0033998c}.tut-callout{display:flex;gap:var(--alf-space-4);padding:var(--alf-space-5);border-radius:16px;margin-bottom:var(--alf-space-6);border:1px solid transparent}.tut-callout--info{background:var(--alf-info-bg);border-color:color-mix(in srgb,var(--alf-info) 22%,transparent)}.tut-callout--warning{background:var(--alf-warning-bg);border-color:color-mix(in srgb,var(--alf-warning) 24%,transparent)}.tut-callout--tip{background:var(--alf-success-bg);border-color:color-mix(in srgb,var(--alf-success) 22%,transparent)}.tut-callout__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;background:color-mix(in srgb,currentColor 14%,transparent);font-size:.9rem;line-height:1}.tut-callout--info .tut-callout__icon{color:var(--alf-info-text)}.tut-callout--warning .tut-callout__icon{color:var(--alf-warning-text)}.tut-callout--tip .tut-callout__icon{color:var(--alf-success-text)}.tut-callout__label{display:block;font-size:var(--alf-text-sm);font-weight:var(--alf-weight-semibold);margin-bottom:var(--alf-space-1)}.tut-callout--info .tut-callout__label{color:var(--alf-info-text)}.tut-callout--warning .tut-callout__label{color:var(--alf-warning-text)}.tut-callout--tip .tut-callout__label{color:var(--alf-success-text)}.tut-callout__content{font-size:var(--alf-text-sm);line-height:var(--alf-leading-relaxed);color:var(--alf-text-secondary)}.tut-code{margin:var(--alf-space-4) 0 var(--alf-space-6)}.tut-code{border:1px solid var(--tut-hairline);border-radius:14px;overflow:hidden;background:var(--tut-surface-soft)}.tut-code__label{display:block;padding:var(--alf-space-2) var(--alf-space-4);background:transparent;border:none;border-bottom:1px solid var(--tut-hairline);border-radius:0;font-size:var(--alf-text-xs);font-family:var(--alf-font-mono);letter-spacing:.02em;color:var(--alf-text-muted)}.tut-code__pre{margin:0;padding:var(--alf-space-4) var(--alf-space-5);background:transparent;border:none;border-radius:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.tut-code__content{font-family:var(--alf-font-mono);font-size:var(--alf-text-sm);line-height:var(--alf-leading-normal);color:var(--alf-text);white-space:pre}.tut-chapter__footer{margin-top:var(--alf-space-16);padding-top:var(--alf-space-8);border-top:1px solid var(--tut-hairline)}.tut-chapter__complete{text-align:left;margin-bottom:var(--alf-space-6)}.tut-chapter__complete-btn{padding:var(--alf-space-3) var(--alf-space-8);background:transparent;border:1.5px solid var(--alf-mod-twins);border-radius:var(--alf-radius-full);color:var(--alf-mod-twins);font-size:var(--alf-text-sm);font-weight:var(--alf-weight-semibold);cursor:pointer;transition:all var(--alf-transition-fast)}.tut-chapter__complete-btn:hover{background:var(--alf-mod-twins-solid);color:#fff}.tut-chapter__completed-badge{display:inline-flex;align-items:center;gap:var(--alf-space-2);padding:var(--alf-space-2) var(--alf-space-4);background:var(--alf-success-bg);color:var(--alf-success-text);border-radius:var(--alf-radius-full);font-size:var(--alf-text-sm);font-weight:var(--alf-weight-semibold)}.tut-chapter__nav{display:flex;flex-direction:column;align-items:flex-start;gap:var(--alf-space-4)}.tut-next-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:var(--alf-space-1);width:100%;padding:var(--alf-space-6) var(--alf-space-16) var(--alf-space-6) var(--alf-space-6);text-align:left;border:1px solid var(--tut-hairline);border-radius:var(--tut-radius-card);background:var(--tut-surface);color:var(--alf-text);cursor:pointer;box-shadow:var(--tut-shadow-sm);transition:transform .45s var(--tut-ease),box-shadow .3s ease,border-color .2s ease}.tut-next-card:hover{transform:translateY(-2px);box-shadow:var(--tut-shadow-md);border-color:color-mix(in srgb,var(--alf-mod-twins) 35%,transparent)}.tut-next-card__eyebrow{font-size:.7rem;font-weight:var(--alf-weight-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--alf-mod-twins)}.tut-next-card__title{font-family:var(--alf-font-heading);font-size:clamp(1.2rem,2.5vw,1.5rem);font-weight:var(--alf-weight-bold);letter-spacing:-.02em;line-height:1.2}.tut-next-card__desc{font-size:var(--alf-text-sm);color:var(--alf-text-muted);line-height:var(--alf-leading-snug)}.tut-next-card__arrow{position:absolute;right:var(--alf-space-6);top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--alf-mod-twins-solid);color:#fff;box-shadow:0 6px 18px -8px #0399;transition:transform .45s var(--tut-ease)}.tut-next-card:hover .tut-next-card__arrow{transform:translateY(-50%) translate(3px)}.tut-next-card--end .tut-next-card__eyebrow{color:var(--alf-success-text)}.tut-next-card--end .tut-next-card__arrow{background:var(--alf-success-text);box-shadow:none}.tut-chapter__nav-btn{display:inline-flex;align-items:center;gap:var(--alf-space-2);padding:.7rem var(--alf-space-6);border:1px solid var(--tut-hairline);border-radius:var(--alf-radius-full);background:var(--tut-surface);color:var(--alf-text);font-size:var(--alf-text-sm);font-weight:var(--alf-weight-semibold);cursor:pointer;transition:transform .35s var(--tut-ease),box-shadow .25s ease,background .2s ease,color .2s ease}.tut-chapter__nav-btn:hover{color:var(--alf-mod-twins);box-shadow:var(--tut-shadow-sm);transform:translateY(-1px)}.tut-chapter__nav-btn--prev{border-color:transparent;background:transparent;color:var(--alf-text-muted);font-weight:var(--alf-weight-medium);padding-left:var(--alf-space-2)}.tut-chapter__nav-btn--prev:hover{background:var(--tut-surface-soft);box-shadow:none;transform:none;color:var(--alf-text)}.tut-chapter__downloads{margin:var(--alf-space-8) 0}.tut-chapter__downloads-title{font-family:var(--alf-font-heading);font-size:var(--alf-text-xl);font-weight:var(--alf-weight-bold);margin-bottom:var(--alf-space-4)}.tut-chapter__download-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:var(--alf-space-3)}.tut-chapter__download-card{padding:var(--alf-space-4);background:var(--alf-bg-elevated);border:1px solid var(--alf-border);border-radius:var(--alf-radius);text-align:center}.tut-chapter__download-card h4{font-size:var(--alf-text-sm);font-weight:var(--alf-weight-semibold);margin-bottom:var(--alf-space-1)}.tut-chapter__download-type{display:block;font-size:var(--alf-text-xs);color:var(--alf-text-muted);font-family:var(--alf-font-mono);margin-bottom:var(--alf-space-3)}.tut-chapter__download-link{font-size:var(--alf-text-sm);color:var(--alf-mod-twins);text-decoration:none}.tut-chapter__download-link:hover{text-decoration:underline}.tut-breadcrumb{display:flex;align-items:center;gap:var(--alf-space-2);margin-bottom:var(--alf-space-6);font-size:var(--alf-text-xs);color:var(--alf-text-muted)}.tut-breadcrumb__sep{opacity:.4;flex-shrink:0}.tut-breadcrumb__item--current{color:var(--alf-text-secondary);font-weight:var(--alf-weight-medium)}.tut-chapter__eyebrow{display:flex;align-items:center;gap:var(--alf-space-2)}.tut-chapter__time{display:inline-flex;align-items:center;gap:4px;margin-left:var(--alf-space-2);padding-left:var(--alf-space-3);border-left:1px solid var(--tut-hairline);font-size:var(--alf-text-xs);color:var(--alf-text-muted);font-weight:var(--alf-weight-medium);letter-spacing:0;text-transform:none}.tut-step-animate{opacity:0;transform:translateY(20px);animation:tutStepIn .5s cubic-bezier(.16,1,.3,1) forwards}.tut-chapter__steps .tut-step-animate:nth-child(1){animation-delay:.05s}.tut-chapter__steps .tut-step-animate:nth-child(2){animation-delay:.12s}.tut-chapter__steps .tut-step-animate:nth-child(3){animation-delay:.19s}.tut-chapter__steps .tut-step-animate:nth-child(4){animation-delay:.26s}.tut-chapter__steps .tut-step-animate:nth-child(5){animation-delay:.33s}.tut-chapter__steps .tut-step-animate:nth-child(6){animation-delay:.4s}@keyframes tutStepIn{to{opacity:1;transform:none}}.tut-carousel__counter{display:block;font-size:var(--alf-text-xs);color:var(--alf-text-muted);font-weight:var(--alf-weight-medium);margin-bottom:var(--alf-space-1);letter-spacing:.05em}.tut-lightbox{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:safe center;background:#000000eb;backdrop-filter:blur(12px);animation:tutLightboxIn .25s ease-out;padding:var(--alf-space-6);cursor:zoom-out;overflow-y:auto;-webkit-overflow-scrolling:touch}@keyframes tutLightboxIn{0%{opacity:0}to{opacity:1}}.tut-lightbox__close{position:absolute;top:var(--alf-space-4);right:var(--alf-space-4);width:44px;height:44px;border-radius:50%;border:none;background:#ffffff1f;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s;z-index:1}.tut-lightbox__close:hover{background:#ffffff40}.tut-lightbox__img{max-width:95vw;max-height:80vh;object-fit:contain;border-radius:var(--alf-radius);cursor:default;box-shadow:0 8px 40px #0006}.tut-lightbox__caption{margin-top:var(--alf-space-4);color:#ffffffbf;font-size:var(--alf-text-sm);text-align:center;max-width:40rem;line-height:var(--alf-leading-relaxed)}[data-theme=dark] .tut-platform-tabs,:root:not([data-theme=light]) .tut-platform-tabs{background:#ffffff0f}[data-theme=dark] .tut-platform-tab--active,:root:not([data-theme=light]) .tut-platform-tab--active{background:var(--alf-bg-elevated, #2a2a2a);box-shadow:0 1px 3px #0000004d}[data-theme=dark] .tut-carousel__btn,:root:not([data-theme=light]) .tut-carousel__btn{background:#ffffff26;color:#eee}[data-theme=dark] .tut-carousel__btn:hover,:root:not([data-theme=light]) .tut-carousel__btn:hover{background:#ffffff40}[data-theme=dark] .tut-chapter__complete-btn:hover{background:#3d5bc7;border-color:#3d5bc7}[data-theme=dark] .tut-next-card__arrow{background:#3d5bc7}[data-theme=dark] .tut-sidebar__link--active .tut-sidebar__num{background:#3d5bc7;color:#fff}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .tut-platform-tabs{background:#ffffff0f}:root:not([data-theme=light]) .tut-platform-tab--active{background:var(--alf-bg-elevated, #2a2a2a);box-shadow:0 1px 3px #0000004d}:root:not([data-theme=light]) .tut-carousel__btn{background:#ffffff26;color:#eee}:root:not([data-theme=light]) .tut-carousel__btn:hover{background:#ffffff40}:root:not([data-theme=light]) .tut-chapter__complete-btn:hover{background:#3d5bc7;border-color:#3d5bc7}:root:not([data-theme=light]) .tut-next-card__arrow{background:#3d5bc7}:root:not([data-theme=light]) .tut-sidebar__link--active .tut-sidebar__num{background:#3d5bc7;color:#fff}}[data-theme=dark] .tut-app,[data-theme=dark] .tut-lightbox{--tut-surface-soft: color-mix(in srgb, var(--alf-text) 6%, transparent);--tut-hairline: color-mix(in srgb, var(--alf-text) 14%, transparent);--tut-shadow-sm: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 20px -12px rgba(0, 0, 0, .6);--tut-shadow-md: 0 2px 6px rgba(0, 0, 0, .45), 0 24px 48px -28px rgba(0, 0, 0, .8)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .tut-app,:root:not([data-theme=light]) .tut-lightbox{--tut-surface-soft: color-mix(in srgb, var(--alf-text) 6%, transparent);--tut-hairline: color-mix(in srgb, var(--alf-text) 14%, transparent);--tut-shadow-sm: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 20px -12px rgba(0, 0, 0, .6);--tut-shadow-md: 0 2px 6px rgba(0, 0, 0, .45), 0 24px 48px -28px rgba(0, 0, 0, .8)}}@media(prefers-reduced-motion:reduce){.tut-chapter,.tut-step-animate{animation:none!important;opacity:1!important;transform:none!important}.tut-landing__cta:hover,.tut-track-card:hover,.tut-chapter__nav-btn:hover,.tut-chapter__figure:hover .tut-chapter__img{transform:none}}
