.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-10) var(--alf-space-8)}}.tut-app__sidebar-toggle{display:inline-flex;align-items:center;gap:var(--alf-space-2);padding:var(--alf-space-2) var(--alf-space-3);background:var(--alf-bg-elevated);border:1px solid var(--alf-border);border-radius:var(--alf-radius);font-size:var(--alf-text-sm);color:var(--alf-text-secondary);cursor:pointer;margin-bottom:var(--alf-space-6);transition:all var(--alf-transition-fast)}.tut-app__sidebar-toggle:hover{border-color:var(--alf-border-strong);color:var(--alf-text)}@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-6) var(--alf-space-4) var(--alf-space-6) var(--alf-space-6);border-right:1px solid var(--alf-border-subtle)}.tut-sidebar__backdrop{display:none}.tut-sidebar__close{display:none!important}}.tut-sidebar__header{margin-bottom:var(--alf-space-5);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:var(--alf-text-xs);color:var(--alf-text-muted);margin-bottom:var(--alf-space-2);font-weight:var(--alf-weight-medium);letter-spacing:var(--alf-tracking-wide);text-transform:uppercase}.tut-sidebar__progress-bar{height:4px;background:var(--alf-border);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 var(--alf-transition-slow)}.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:var(--alf-radius);cursor:pointer;text-align:left;color:var(--alf-text-secondary);font-size:var(--alf-text-sm);transition:all var(--alf-transition-fast)}.tut-sidebar__link:hover{background:var(--alf-bg-subtle);color:var(--alf-text)}.tut-sidebar__link--active{background:var(--alf-mod-twins-bg);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.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;border-radius:var(--alf-radius-full);font-size:var(--alf-text-xs);font-weight:var(--alf-weight-bold);background:var(--alf-bg-subtle);color:var(--alf-text-muted);transition:all var(--alf-transition-fast)}.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:100%;padding:var(--alf-space-3);border:1px solid var(--alf-border);border-radius:var(--alf-radius);background:transparent;color:var(--alf-text-secondary);font-size:var(--alf-text-sm);cursor:pointer;margin-top:var(--alf-space-4);transition:all var(--alf-transition-fast)}.tut-sidebar__overview-btn:hover{border-color:var(--alf-border-strong);color:var(--alf-text)}.tut-landing{max-width:var(--alf-content-narrow);margin:0 auto}.tut-landing__hero{text-align:center;padding:var(--alf-space-8) 0 var(--alf-space-10);border-bottom:1px solid var(--alf-border-subtle);margin-bottom:var(--alf-space-10)}.tut-landing__badge{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:22px;background:var(--alf-mod-twins-bg);color:var(--alf-mod-twins);margin-bottom:var(--alf-space-5)}.tut-landing__title{font-family:var(--alf-font-heading);font-size:clamp(2rem,5vw,3rem);font-weight:var(--alf-weight-extrabold);letter-spacing:var(--alf-tracking-tight);line-height:var(--alf-leading-tight);color:var(--alf-text);margin-bottom:var(--alf-space-4)}.tut-landing__subtitle{font-size:clamp(1rem,2vw,1.15rem);line-height:var(--alf-leading-relaxed);color:var(--alf-text-secondary);max-width:36rem;margin:0 auto var(--alf-space-6)}.tut-landing__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--alf-space-3);margin-bottom:var(--alf-space-4)}.tut-landing__cta{display:inline-flex;align-items:center;gap:var(--alf-space-2);padding:.85rem 1.75rem;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);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)}.tut-landing__section{margin-bottom:var(--alf-space-10)}.tut-landing__section-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-landing__checklist{list-style:none;padding:0;margin:0}.tut-landing__checklist-item{display:flex;align-items:flex-start;gap:var(--alf-space-3);padding:var(--alf-space-3) 0;border-bottom:1px solid var(--alf-border-subtle);font-size:var(--alf-text-base);line-height:var(--alf-leading-relaxed);color:var(--alf-text-secondary)}.tut-landing__check-icon{flex-shrink:0;color:var(--alf-success-text);margin-top:.15em}.tut-landing__prereqs{padding-left:var(--alf-space-6);color:var(--alf-text-secondary)}.tut-landing__prereqs li{margin-bottom:var(--alf-space-2);line-height:var(--alf-leading-relaxed)}.tut-landing__chapters{display:flex;flex-direction:column;gap:var(--alf-space-2)}.tut-landing__chapter-card{display:flex;align-items:center;gap:var(--alf-space-4);padding:var(--alf-space-4) var(--alf-space-5);background:var(--alf-bg-elevated);border:1px solid var(--alf-border);border-radius:var(--alf-radius-lg);cursor:pointer;text-align:left;width:100%;transition:all var(--alf-transition-fast)}.tut-landing__chapter-card:hover{border-color:var(--alf-mod-twins);box-shadow:var(--alf-shadow-md);transform:translateY(-1px)}.tut-landing__chapter-card--done{border-color:var(--alf-success-text);background:var(--alf-success-bg)}.tut-landing__chapter-num{flex-shrink:0;width:2.25rem;height:2.25rem;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-bold);background:var(--alf-mod-twins-bg);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);color:var(--alf-text);margin-bottom:.15rem}.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-10);padding-bottom:var(--alf-space-6);border-bottom:1px solid var(--alf-border-subtle)}.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.75rem,4vw,2.5rem);font-weight:var(--alf-weight-extrabold);letter-spacing:var(--alf-tracking-tight);line-height:var(--alf-leading-tight);color:var(--alf-text);margin-bottom:var(--alf-space-4)}.tut-chapter__intro{font-size:clamp(1rem,2vw,1.1rem);line-height:var(--alf-leading-relaxed);color:var(--alf-text-secondary)}.tut-chapter__steps{display:flex;flex-direction:column;gap:var(--alf-space-8);margin-bottom:var(--alf-space-10)}.tut-chapter__step{display:flex;gap:var(--alf-space-4);align-items:flex-start}.tut-chapter__step-num{flex-shrink:0;width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;background:var(--alf-mod-twins);color:#fff;border-radius:var(--alf-radius-full);font-weight:var(--alf-weight-bold);font-size:var(--alf-text-sm)}.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);color:var(--alf-text);margin-bottom:var(--alf-space-2);line-height:var(--alf-leading-snug)}.tut-chapter__step-desc{font-size:var(--alf-text-base);line-height:var(--alf-leading-relaxed);color:var(--alf-text-secondary)}.tut-chapter__sub-items{margin:var(--alf-space-3) 0 0;padding-left:var(--alf-space-5)}.tut-chapter__sub-items li{margin-bottom:var(--alf-space-2);font-size:var(--alf-text-sm);line-height:var(--alf-leading-relaxed);color:var(--alf-text-secondary)}.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-5) 0 0;border-radius:var(--alf-radius-lg);overflow:hidden;border:1px solid var(--alf-border);background:var(--alf-bg-subtle)}.tut-chapter__img{display:block;width:100%;height:auto}.tut-chapter__figcaption{padding:var(--alf-space-3) var(--alf-space-4);font-size:var(--alf-text-xs);color:var(--alf-text-muted);line-height:var(--alf-leading-relaxed);border-top:1px solid var(--alf-border-subtle)}.tut-chapter__video-figure{margin-top:var(--alf-space-4)}.tut-chapter__video{display:block;width:100%;height:auto;background:#000}@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-3) var(--alf-space-4);margin-bottom:var(--alf-space-2);background:var(--alf-bg-subtle);border-radius:var(--alf-radius);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-2) 0;border-bottom:1px solid var(--alf-border-subtle);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(--alf-surface, #fff);border:1px solid rgba(0,0,0,.06);box-shadow:0 1px 3px #0000000a}.tut-sensor-card__icon{flex-shrink:0;width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#e3f2fd,#e8f5e9);display:flex;align-items:center;justify-content:center;color:#2e7d32}.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:#2e7d3214;color:#2e7d32}.tut-sensor-card__measures{font-size:.7rem;color:var(--alf-text-tertiary, #999);margin-top:2px}.tut-carousel{margin:var(--alf-space-4) 0;border-radius:16px;overflow:hidden;background:#000}.tut-carousel__viewport{position:relative;display:flex;align-items:center;justify-content:center;min-height:280px;max-height:480px}.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:#ffffffd9;backdrop-filter:blur(8px);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:var(--alf-surface, #fff);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:8px;height:8px;border-radius:50%;border:none;background:#00000026;cursor:pointer;padding:0;transition:background .15s,transform .15s}.tut-carousel__dot--active{background:var(--color-primary, #003399);transform:scale(1.2)}.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:16px;background:linear-gradient(135deg,#e8f5e9,#f1f8e9);border:1px solid rgba(76,175,80,.2);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:#4caf5026;border-radius:10px;color:#2e7d32}.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:10px;background:#2e7d32;color:#fff;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .15s}.tut-download-banner__btn:hover{background:#1b5e20}.tut-callout{display:flex;gap:var(--alf-space-3);padding:var(--alf-space-4) var(--alf-space-5);border-radius:var(--alf-radius);margin-bottom:var(--alf-space-6);border-left:4px solid}.tut-callout--info{background:var(--alf-info-bg);border-left-color:var(--alf-info)}.tut-callout--warning{background:var(--alf-warning-bg);border-left-color:var(--alf-warning)}.tut-callout--tip{background:var(--alf-success-bg);border-left-color:var(--alf-success)}.tut-callout__icon{flex-shrink:0;font-size:var(--alf-text-lg);line-height:1;margin-top:.1em}.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__label{display:inline-block;padding:var(--alf-space-1) var(--alf-space-3);background:var(--alf-bg-subtle);border:1px solid var(--alf-border);border-bottom:none;border-radius:var(--alf-radius-sm) var(--alf-radius-sm) 0 0;font-size:var(--alf-text-xs);font-family:var(--alf-font-mono);color:var(--alf-text-muted)}.tut-code__pre{margin:0;padding:var(--alf-space-4) var(--alf-space-5);background:var(--alf-bg-subtle);border:1px solid var(--alf-border);border-radius:var(--alf-radius);overflow-x:auto;-webkit-overflow-scrolling:touch}.tut-code__label+.tut-code__pre{border-top-left-radius:0}.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-10);padding-top:var(--alf-space-6);border-top:1px solid var(--alf-border-subtle)}.tut-chapter__complete{text-align:center;margin-bottom:var(--alf-space-6)}.tut-chapter__complete-btn{padding:var(--alf-space-3) var(--alf-space-6);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);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;justify-content:space-between;gap:var(--alf-space-4)}.tut-chapter__nav-btn{display:inline-flex;align-items:center;gap:var(--alf-space-2);padding:var(--alf-space-3) var(--alf-space-5);border:1px solid var(--alf-border);border-radius:var(--alf-radius);background:var(--alf-bg-elevated);color:var(--alf-text);font-size:var(--alf-text-sm);font-weight:var(--alf-weight-medium);cursor:pointer;transition:all var(--alf-transition-fast)}.tut-chapter__nav-btn:hover{border-color:var(--alf-mod-twins);color:var(--alf-mod-twins)}.tut-chapter__nav-btn--next{margin-left:auto;background:var(--alf-mod-twins);color:#fff;border-color:var(--alf-mod-twins)}.tut-chapter__nav-btn--next:hover{opacity:.9;color:#fff}.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-4);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__time{display:inline-flex;align-items:center;gap:5px;margin-top:var(--alf-space-3);padding:var(--alf-space-1) var(--alf-space-3);background:var(--alf-bg-subtle);border-radius:var(--alf-radius-full);font-size:var(--alf-text-xs);color:var(--alf-text-muted);font-weight:var(--alf-weight-medium)}.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-sensor-card,:root:not([data-theme=light]) .tut-sensor-card{background:var(--alf-bg-elevated, #1e1e1e);border-color:var(--alf-border, rgba(255, 255, 255, .08));box-shadow:0 1px 3px #0000004d}[data-theme=dark] .tut-sensor-card__icon,:root:not([data-theme=light]) .tut-sensor-card__icon{background:linear-gradient(135deg,#2e7d3233,#388e3c26);color:#66bb6a}[data-theme=dark] .tut-sensor-card__depth,:root:not([data-theme=light]) .tut-sensor-card__depth{background:#66bb6a1f;color:#81c784}[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__footer,:root:not([data-theme=light]) .tut-carousel__footer{background:var(--alf-bg-elevated, #1e1e1e)}[data-theme=dark] .tut-carousel__dot,:root:not([data-theme=light]) .tut-carousel__dot{background:#fff3}[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-download-banner,:root:not([data-theme=light]) .tut-download-banner{background:linear-gradient(135deg,#2e7d3226,#388e3c1a);border-color:#4caf5026}[data-theme=dark] .tut-download-banner__icon,:root:not([data-theme=light]) .tut-download-banner__icon{background:#4caf501f;color:#66bb6a}[data-theme=dark] .tut-download-banner__btn,:root:not([data-theme=light]) .tut-download-banner__btn{background:#388e3c}[data-theme=dark] .tut-download-banner__btn:hover,:root:not([data-theme=light]) .tut-download-banner__btn:hover{background:#43a047}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .tut-sensor-card{background:var(--alf-bg-elevated, #1e1e1e);border-color:var(--alf-border, rgba(255, 255, 255, .08));box-shadow:0 1px 3px #0000004d}:root:not([data-theme=light]) .tut-sensor-card__icon{background:linear-gradient(135deg,#2e7d3233,#388e3c26);color:#66bb6a}:root:not([data-theme=light]) .tut-sensor-card__depth{background:#66bb6a1f;color:#81c784}: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__footer{background:var(--alf-bg-elevated, #1e1e1e)}:root:not([data-theme=light]) .tut-carousel__dot{background:#fff3}: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-download-banner{background:linear-gradient(135deg,#2e7d3226,#388e3c1a);border-color:#4caf5026}:root:not([data-theme=light]) .tut-download-banner__icon{background:#4caf501f;color:#66bb6a}:root:not([data-theme=light]) .tut-download-banner__btn{background:#388e3c}:root:not([data-theme=light]) .tut-download-banner__btn:hover{background:#43a047}}
