a.m-card,a.back-link,a.course-item,a.lesson-practice,.landing a{text-decoration:none}.landing-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);align-items:start;gap:clamp(24px,3vw,56px);display:grid}.landing-hero-copy{flex-direction:column;align-items:flex-start;gap:18px;min-width:0;padding-top:clamp(8px,2vw,32px);display:flex}.landing-title{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--ink-950);text-wrap:balance;font-size:clamp(46px,4.8vw,84px);font-weight:400;line-height:.98}.landing-title span{color:var(--ink-600);margin-top:.12em;font-size:.62em;font-style:italic;line-height:1.1;display:block}.landing-hero .hero-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:4px;display:flex}.landing-hero-stage,.landing-hero-figure{border:1px solid var(--line-200);border-radius:var(--r-xl);background:var(--bg-900);min-width:0;overflow:hidden;box-shadow:0 1px 2px #1012160d,0 40px 80px -48px #1012164d}.landing-hero-figure{gap:var(--s-4);padding:var(--s-5);display:grid}.landing-hero-figure .learning-figure{margin:0}.sim-demo .stage{border:0;border-radius:0;height:auto}.sim-demo .stage-canvas{min-height:clamp(280px,40vh,430px)}.sim-demo .operator-strip{border-bottom:0;border-top:1px solid var(--line-100)}.sim-demo .operator-strip button{min-height:44px;padding-inline:16px}.sim-demo-code{gap:var(--s-3);padding:var(--s-4) var(--s-5) var(--s-5);border-top:1px solid var(--line-200);display:grid}.sim-demo-row{justify-content:space-between;gap:var(--s-2);flex-wrap:wrap;display:flex}.sim-demo-row .segmented{flex-wrap:wrap}.sim-demo .learning-figure{margin:0}.sim-demo-note{color:var(--ink-600);font-size:var(--fs-15);line-height:1.55}.sim-demo-code>.text-button{text-align:left;justify-self:start}.landing-grid{gap:var(--s-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));padding:0;list-style:none;display:grid}.landing-grid-4{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))}.landing-card{border:1px solid var(--line-200);border-radius:var(--r-lg);background:var(--bg-900);height:100%;box-shadow:var(--shadow-1);color:var(--ink-600);font-size:var(--fs-15);flex-direction:column;gap:8px;padding:22px 24px;line-height:1.55;display:flex}.landing-card h3,.landing-card strong{font-size:var(--fs-19);letter-spacing:-.02em;color:var(--ink-950);font-weight:640;line-height:1.25}.landing-card>svg{color:var(--ink-950)}.landing-card .text-button{text-align:left;margin-top:auto;padding-top:10px}.landing-link{transition:border-color .18s var(--ease), transform .22s var(--ease-out), box-shadow .22s var(--ease)}.landing-link:hover{border-color:var(--line-300);color:var(--ink-600);transform:translateY(-2px);box-shadow:0 1px 2px #1012160d,0 18px 40px -22px #10121647}.landing-link-foot{color:var(--ink-800);justify-content:space-between;align-items:center;margin-top:auto;padding-top:10px;font-weight:600;display:flex}.landing-steps{counter-reset:none}.landing-vendors{gap:var(--s-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.landing-vendor h3{font-family:var(--font-serif);font-size:var(--fs-36);font-weight:400}.landing-languages{gap:10px;margin:6px 0 4px;padding:0;list-style:none;display:grid}.landing-languages li{border-top:1px solid var(--line-100);grid-template-columns:9.5em minmax(0,1fr);gap:12px;padding-top:10px;display:grid}.landing-languages strong{font-family:var(--font-mono);font-size:var(--fs-15);letter-spacing:0;font-weight:600}.landing-table-scroll{border:1px solid var(--line-200);border-radius:var(--r-lg);background:var(--bg-900);overflow-x:auto}.landing-table{border-collapse:collapse;width:100%;min-width:620px;font-size:var(--fs-15);line-height:1.5}.landing-table th,.landing-table td{border-top:1px solid var(--line-100);text-align:left;vertical-align:top;padding:14px 18px}.landing-table thead th{font-family:var(--font-mono);color:var(--ink-500);border-top:0;font-weight:500}.landing-table tbody th{color:var(--ink-950);white-space:nowrap;font-weight:640}.landing-table td{color:var(--ink-600)}.landing-table td:last-child{color:var(--ink-900)}.landing-faqs{border-top:1px solid var(--line-200);max-width:860px;display:grid}.landing-faqs details{border-bottom:1px solid var(--line-200)}.landing-faqs summary{justify-content:space-between;gap:var(--s-4);font-size:var(--fs-17);color:var(--ink-950);cursor:pointer;padding:18px 2px;font-weight:620;list-style:none;display:flex}.landing-faqs summary::-webkit-details-marker{display:none}.landing-faqs summary:after{content:"+";font-family:var(--font-mono);color:var(--ink-500);flex:none}.landing-faqs details[open] summary:after{content:"−"}.landing-faqs details p{max-width:70ch;color:var(--ink-600);padding:0 2px 20px;line-height:1.65}.landing-syllabus{gap:0 var(--s-6);grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));padding:0;list-style:none;display:grid}.landing-syllabus li{border-top:1px solid var(--line-200);grid-template-columns:2.6em minmax(0,1fr);gap:12px;padding:16px 0;display:grid}.landing-syllabus-number{font-family:var(--font-mono);color:var(--ink-500)}.landing-syllabus h3{font-size:var(--fs-17);color:var(--ink-950);font-weight:640}.landing-syllabus p{color:var(--ink-600);font-size:var(--fs-15);margin:4px 0 6px;line-height:1.5}.landing-syllabus a{color:var(--ink-900);font-size:var(--fs-15);text-decoration:underline;-webkit-text-decoration-color:var(--line-input);text-decoration-color:var(--line-input);text-underline-offset:3px;width:fit-content;margin-top:2px;font-weight:600;display:block}.landing-text{max-width:70ch;margin-bottom:var(--s-4);color:var(--ink-600);font-size:var(--fs-17);line-height:1.65}.landing-cta{border-radius:var(--r-xl);background:radial-gradient(120% 140% at 100% 0%, #ffffff12, transparent 55%), var(--showroom-800);color:#ffffffbd;border:1px solid var(--showroom-line);justify-items:start;gap:12px;margin-top:clamp(48px,5vw,80px);padding:clamp(24px,3vw,40px);display:grid}.landing-cta h2{font-family:var(--font-serif);color:#fff;font-size:clamp(32px,3vw,48px);font-weight:400;line-height:1.05}.landing-cta .hero-actions{flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:6px;display:flex}.landing-cta .btn-primary{color:var(--showroom-950);background:#fff}.landing-cta .btn-primary:hover:not(:disabled){color:var(--showroom-950);background:#e8e7e3}.landing-cta .text-button,.landing-cta .text-button:hover{color:#fff}.landing-legal{max-width:90ch;margin-top:var(--s-8);color:var(--ink-500);font-size:var(--fs-15);line-height:1.55}.mission-page-related{gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));padding:0;list-style:none;display:grid}.landing .mission-page-related{margin-bottom:var(--s-5)}.mission-page-related a{border:1px solid var(--line-200);border-radius:var(--r-md);background:var(--bg-900);height:100%;color:var(--ink-900);flex-direction:column;align-items:flex-start;gap:4px;padding:14px 18px;font-weight:600;display:flex}.mission-page-related a>span:last-child{font-weight:400;font-size:var(--fs-15);color:var(--ink-600)}.mission-page-related a:hover{border-color:var(--line-input)}.lesson-jump{color:var(--ink-500);font-size:var(--fs-15);flex-wrap:wrap;align-items:center;gap:8px 14px;margin:4px 0 18px;display:flex}.lesson-jump .btn{white-space:normal;text-align:left;min-height:44px;line-height:1.3}.glossary-term-practice h2{margin:var(--s-5) 0 var(--s-2);font-size:var(--fs-19);font-weight:640}.glossary-term-practice ul{gap:8px;padding:0;list-style:none;display:grid}.glossary-term-practice li a{color:var(--ink-900);text-decoration:none}.glossary-term-practice li a strong{text-decoration:underline;-webkit-text-decoration-color:var(--line-input);text-decoration-color:var(--line-input);text-underline-offset:3px;font-weight:600}.glossary-term-practice li a:hover strong{text-decoration-color:currentColor}.glossary-term-practice li span{color:var(--ink-500);font-weight:400;font-size:var(--fs-15);display:block}@media (max-width:1100px){.landing-hero{grid-template-columns:minmax(0,1fr)}}@media (max-width:700px){.landing-hero .hero-actions,.landing-hero .hero-actions .btn{width:100%}.landing-hero .hero-actions .btn{white-space:normal}.landing-vendors{grid-template-columns:minmax(0,1fr)}.landing-languages li{grid-template-columns:minmax(0,1fr);gap:2px}.landing-hero-stage,.landing-hero-figure{border-radius:var(--r-lg)}.sim-demo-code{padding-inline:var(--s-4)}.sim-demo .stage-canvas{min-height:260px}.sim-demo .learning-figure pre{white-space:pre-wrap}.landing-hero-live{gap:18px}.landing-hero-live .landing-hero-copy{display:contents}.landing-hero-live .home-kicker{order:1;justify-self:start}.landing-hero-live .landing-title{order:2}.landing-hero-live .landing-hero-stage{order:3}.landing-hero-live .home-lead{order:4}.landing-hero-live .hero-actions{order:5}.landing-hero-live .hero-reassurance{order:6}.landing-cta .hero-actions .btn{white-space:normal;width:100%}}
.basics-home{max-width:1280px;margin:0 auto}.basics-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(28px,4vw,64px);display:grid}.basics-hero-copy{flex-direction:column;align-items:flex-start;gap:20px;min-width:0;display:flex}.basics-hero-title{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--ink-950);text-wrap:balance;margin:0;font-size:clamp(42px,4.6vw,76px);font-weight:400;line-height:.98}.basics-hero-title>span:last-child{color:var(--ink-600);padding-bottom:.04em;font-style:italic;display:block}.basics-hero-lead{max-width:48ch;color:var(--ink-600);margin:0;font-size:clamp(17px,1.3vw,19px);line-height:1.65}.basics-hero-actions{flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:4px;display:flex}.basics-hero-time{font-size:var(--fs-15);color:var(--ink-500)}.basics-hero-ticks{font-size:var(--fs-15);color:var(--ink-600);flex-wrap:wrap;gap:8px 22px;margin:0;padding:0;list-style:none;display:flex}.basics-hero-ticks li{align-items:center;gap:7px;display:inline-flex}.basics-hero-ticks svg{color:var(--lamp-600)}.basics-hero-progress{font-size:var(--fs-15);color:var(--ink-700);font-variant-numeric:tabular-nums;align-items:center;gap:14px;font-weight:600;display:flex}.basics-hero-skip{margin-top:4px}.basics-hero-stage{border:1px solid var(--line-200);border-radius:var(--r-xl);background:var(--bg-900);min-width:0;padding:clamp(22px,2.6vw,36px);position:relative;box-shadow:0 1px 2px #1012160d,0 40px 80px -48px #1012164d}.basics-hero-stage:before,.basics-hero-stage:after{content:"";border:1.5px solid var(--ink-700);pointer-events:none;width:18px;height:18px;position:absolute}.basics-hero-stage:before{border-bottom:0;border-right:0;top:-9px;left:-9px}.basics-hero-stage:after{border-top:0;border-left:0;bottom:-9px;right:-9px}.basics-loop{gap:18px;margin:0;display:grid}.basics-loop>.eyebrow{margin:0}.basics-loop-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin:0;padding:0;list-style:none;display:grid}.basics-loop-steps li{border:1px solid var(--line-200);border-radius:var(--r-lg);background:var(--bg-800);text-align:center;align-content:start;justify-items:center;gap:8px;padding:20px 14px 18px;display:grid;position:relative}.basics-loop-icon{border:1px solid var(--line-300);background:var(--surface);width:56px;height:56px;color:var(--ink-900);border-radius:14px;place-items:center;display:grid}.basics-loop-steps strong{font-size:var(--fs-19);color:var(--ink-950);align-items:baseline;gap:6px;display:flex}.basics-loop-steps strong small{font-family:var(--font-mono);color:var(--ink-500);font-size:13px;font-weight:500}.basics-loop-steps li>span:last-child{font-size:var(--fs-15);color:var(--ink-600);line-height:1.45}.basics-loop-steps li+li:before{content:"";background:var(--ink-700);width:20px;height:2px;position:absolute;top:47px;left:-30px}.basics-loop-steps li+li:after{content:"";border-left:8px solid var(--ink-700);border-top:6px solid #0000;border-bottom:6px solid #0000;position:absolute;top:42px;left:-12px}.basics-loop-return{border:2px solid var(--line-300);border-top:0;border-radius:0 0 22px 22px;height:30px;margin:-10px calc(16.6667% - 12px) 0;position:relative}.basics-loop-return:after{content:"";border-bottom:8px solid var(--line-300);border-left:6px solid #0000;border-right:6px solid #0000;position:absolute;top:-6px;left:-7px}.basics-loop-again{font-size:var(--fs-15);color:var(--ink-700);text-align:center;justify-content:center;align-items:center;gap:8px;margin:-6px 0 0;font-weight:600;display:flex}.basics-loop figcaption{border-top:1px solid var(--line-100);font-size:var(--fs-15);color:var(--ink-500);padding-top:16px;line-height:1.5}@media (prefers-reduced-motion:no-preference){.basics-hero-copy>*{animation:rise .64s var(--ease-out) both}.basics-hero-copy>:nth-child(2){animation-delay:60ms}.basics-hero-copy>:nth-child(3){animation-delay:.12s}.basics-hero-copy>:nth-child(n+4){animation-delay:.19s}.basics-hero-stage{animation:stage-in .9s .12s var(--ease-out) both}.basics-loop-steps li{animation:basics-loop-lit 3.6s calc(var(--i) * 1.2s + 1s) 3}.basics-loop-steps li .basics-loop-icon{animation:basics-loop-icon 3.6s calc(var(--i) * 1.2s + 1s) 3}}@keyframes basics-loop-lit{0%,30%{border-color:var(--ok-border);background:var(--ok-100)}38%,to{border-color:var(--line-200);background:var(--bg-800)}}@keyframes basics-loop-icon{0%,30%{border-color:var(--lamp-600);color:var(--lamp-700)}38%,to{border-color:var(--line-300);color:var(--ink-900)}}.basics-map-parts{gap:var(--s-4);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid;position:relative}.basics-map-parts:before{content:"";background:var(--line-300);height:2px;position:absolute;top:47px;left:44px;right:44px}.basics-map-part{z-index:1;border:1px solid var(--line-200);border-radius:var(--r-lg);background:var(--bg-900);box-shadow:var(--shadow-1);flex-direction:column;gap:6px;padding:26px 22px 20px;display:flex;position:relative}.basics-map-icon{border:1px solid var(--line-300);background:var(--bg-800);width:44px;height:44px;color:var(--ink-700);border-radius:10px;place-items:center;margin-bottom:10px;display:grid}.basics-map-part.current{border-color:var(--line-300);box-shadow:var(--shadow-soft)}.basics-map-part.current .basics-map-icon{border-color:var(--ink-950);background:var(--ink-950);color:var(--bg-950)}.basics-map-part.done .basics-map-icon{border-color:var(--ok-border);background:var(--ok-100);color:var(--lamp-600)}.basics-map-part h3{font-size:var(--fs-19);letter-spacing:-.01em;color:var(--ink-950);margin:0;font-weight:650;line-height:1.25}.basics-map-part>p{font-size:var(--fs-15);color:var(--ink-500);margin:0 0 8px;line-height:1.5}.basics-map-chapters{gap:2px;margin:0 0 14px;padding:0;list-style:none;display:grid}.basics-map-chapters a{border-radius:var(--r-sm);font-size:var(--fs-16);color:var(--ink-800);align-items:center;gap:10px;margin:0 -10px;padding:8px 10px;font-weight:550;line-height:1.3;text-decoration:none;display:flex}.basics-map-chapters a:hover{background:var(--rail-hover);color:var(--ink-950)}.basics-map-chapters a:hover .basics-map-name{text-underline-offset:3px;text-decoration:underline}.basics-map-chapters a.next{background:var(--rail-active);color:var(--ink-950)}.basics-map-chapters a.done .basics-contents-num{border-color:var(--ok-border);background:var(--ok-100);color:var(--lamp-700)}.basics-map-name{flex:1;min-width:0}.basics-map-next{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-950);font-size:13px;font-weight:700}.basics-map-foot{border-top:1px solid var(--line-100);font-size:var(--fs-15);color:var(--ink-500);font-variant-numeric:tabular-nums;align-items:center;gap:12px;margin-top:auto;padding-top:14px;display:flex}.basics-outcomes ul{gap:var(--s-4);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.basics-outcomes li{border:1px solid var(--line-200);border-radius:var(--r-lg);background:var(--bg-900);font-size:var(--fs-16);color:var(--ink-800);align-content:start;gap:12px;padding:22px;line-height:1.5;display:grid}.basics-outcomes svg{color:var(--lamp-600)}.basics-next ol{gap:var(--s-4);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.basics-next a{border:1px solid var(--line-200);border-radius:var(--r-lg);background:var(--bg-900);height:100%;box-shadow:var(--shadow-1);color:inherit;transition:border-color .14s var(--ease);align-content:start;gap:6px;padding:22px 52px 22px 22px;text-decoration:none;display:grid;position:relative}.basics-next a:hover{border-color:var(--ink-700)}.basics-next-icon{border:1px solid var(--line-300);background:var(--bg-800);width:40px;height:40px;color:var(--ink-800);border-radius:10px;place-items:center;margin-bottom:8px;display:grid}.basics-next strong{font-size:var(--fs-17);color:var(--ink-950)}.basics-next a>span:not(.basics-next-icon){font-size:var(--fs-15);color:var(--ink-500);line-height:1.5}.basics-next-arrow{color:var(--ink-500);transition:transform .16s var(--ease), color .16s var(--ease);position:absolute;top:24px;right:20px}.basics-next a:hover .basics-next-arrow{color:var(--ink-950);transform:translate(3px)}.basics-contents-bar{background:var(--bg-650);border-radius:3px;height:6px;display:block;overflow:hidden}.basics-contents-bar>span{background:var(--lamp-500);border-radius:3px;height:100%;display:block}@media (max-width:1360px){.basics-map-parts,.basics-outcomes ul{grid-template-columns:repeat(2,minmax(0,1fr))}.basics-map-parts:before{display:none}}@media (max-width:1100px){.basics-hero{grid-template-columns:minmax(0,1fr)}}@media (max-width:760px){.basics-map-parts,.basics-outcomes ul,.basics-next ol{grid-template-columns:minmax(0,1fr)}.basics-loop-steps{grid-template-columns:minmax(0,1fr);gap:28px}.basics-loop-steps li{text-align:left;grid-template-columns:48px minmax(0,1fr);justify-items:start;gap:2px 14px;padding:14px}.basics-loop-icon{grid-row:span 2;width:48px;height:48px}.basics-loop-steps li+li:before{width:2px;height:12px;top:-24px;left:37px}.basics-loop-steps li+li:after{border-top:8px solid var(--ink-700);border-bottom:0;border-left:6px solid #0000;border-right:6px solid #0000;top:-13px;left:32px}.basics-loop-return{display:none}.basics-loop-again{text-align:left;justify-content:flex-start;margin:0}}.basics-layout{justify-content:center;gap:var(--s-10);grid-template-columns:250px minmax(0,780px);align-items:start;display:grid}.shell .basics-layout .lesson-reader{margin:0}.basics-side{top:var(--s-6);max-height:calc(100vh - 48px);padding-bottom:var(--s-4);position:sticky;overflow-y:auto}.basics-contents{gap:var(--s-5);display:grid}.basics-contents-count{font-size:var(--fs-15);color:var(--ink-700);gap:8px;font-weight:600;display:grid}.basics-contents-part>p{font-size:var(--fs-15);color:var(--ink-950);margin:0 0 6px;font-weight:650}.basics-contents-part ol{gap:2px;margin:0;padding:0;list-style:none;display:grid}.basics-contents-part a{border-radius:var(--r-sm);color:var(--ink-700);font-size:var(--fs-15);border-left:3px solid #0000;align-items:center;gap:10px;padding:7px 10px;line-height:1.3;text-decoration:none;display:flex}.basics-contents-part a:hover{background:var(--rail-hover);color:var(--ink-950)}.basics-contents-part a.here{border-left-color:var(--ink-950);background:var(--rail-active);color:var(--ink-950);font-weight:650}.basics-contents-num{border:1px solid var(--line-300);background:var(--surface);width:24px;height:24px;color:var(--ink-600);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:650;display:grid}.basics-contents-part a.here .basics-contents-num{border-color:var(--ink-950);background:var(--ink-950);color:var(--bg-950)}.basics-contents-part a.done .basics-contents-num{border-color:var(--ok-border);background:var(--ok-100);color:var(--lamp-700)}.basics-contents-phone{margin-bottom:var(--s-5);border:1px solid var(--line-200);border-radius:var(--r-md);background:var(--surface);display:none}.basics-contents-phone summary{color:var(--ink-950);cursor:pointer;padding:12px 16px;font-weight:650}.basics-contents-phone .basics-contents{padding:0 12px 16px}.basics-where{font-size:var(--fs-15);color:var(--ink-500);flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 4px;display:flex}.basics-where-chapter{border-radius:var(--r-pill);background:var(--ink-950);color:var(--bg-950);padding:4px 12px;font-weight:650}.basics-where-done{color:var(--lamp-700);font-weight:650}.basics-chapter .back-link{text-decoration:none}.basics-chapter section>p+p{margin-top:14px}.basics-points{margin:var(--s-3) 0 0;gap:var(--s-2);color:var(--ink-800);padding-left:1.2em;display:grid}.basics-code-block,.basics-text-view pre{margin:var(--s-3) 0;border:1px solid var(--line-200);border-radius:var(--r-sm);background:var(--night-900);font-family:var(--font-mono);font-size:var(--fs-17);color:var(--ink-950);padding:14px 18px;overflow-x:auto}.basics-table td,.basics-table th{vertical-align:top}.basics-table td:first-child{font-family:inherit}.basics-try{border:1px solid var(--line-200);border-radius:var(--r-xl);background:var(--bg-900);overflow:hidden;box-shadow:0 1px 2px #1012160d,0 30px 60px -44px #10121647}.lesson-reader .basics-try{margin:var(--s-10) 0}.basics-try-head{border-bottom:1px solid var(--line-200);background:var(--bg-800);align-items:center;gap:14px;padding:14px 24px;display:flex}.lesson-reader .basics-try-head h2{border-radius:var(--r-pill);background:var(--ink-950);color:var(--bg-950);font-size:var(--fs-15);flex:none;align-items:center;gap:6px;margin:0;padding:5px 12px;font-weight:650;display:inline-flex}.lesson-reader .basics-try-head p{color:var(--ink-700);font-size:var(--fs-16);margin:0;line-height:1.45}.basics-try-body{padding:24px}.basics-message{margin:var(--s-4) 0 0;border:1px solid var(--line-200);border-radius:var(--r-md);background:var(--bg-800);color:var(--ink-800);font-size:var(--fs-16);align-items:flex-start;gap:10px;padding:12px 16px;line-height:1.5;display:flex}.basics-message svg{color:var(--ink-500);flex:none;margin-top:2px}.basics-message.good{border-color:var(--ok-border);background:var(--ok-100);color:var(--ok-700)}.basics-message.good svg{color:var(--lamp-600)}.basics-message.bad{border-color:var(--fault-border);background:var(--fault-100);color:var(--fault-700)}.basics-message.bad svg{color:var(--fault-700)}.basics-words dl{gap:var(--s-2);margin:0;display:grid}.basics-words dl>div{gap:var(--s-4);padding:var(--s-3) var(--s-4);border:1px solid var(--line-200);border-radius:var(--r-sm);background:var(--surface);grid-template-columns:minmax(120px,200px) minmax(0,1fr);display:grid}.basics-words dt{color:var(--ink-950);font-weight:650}.basics-words dd{color:var(--ink-700);margin:0}.basics-check-prompt{font-weight:600}.basics-check-options{gap:var(--s-2);margin:var(--s-3) 0;display:grid}.basics-check-options button{text-align:left;border:1px solid var(--line-input);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-900);font-size:var(--fs-16);padding:12px 16px}.basics-check-options button:hover{background:var(--surface-2)}.basics-check-options button.right{border-color:var(--ok-border);background:var(--ok-100);color:var(--ok-700);font-weight:600}.basics-check-options button.wrong{border-color:var(--fault-border);background:var(--fault-100);color:var(--fault-700)}.basics-pager{gap:var(--s-3);margin:var(--s-10) 0 var(--s-4);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.basics-pager a{align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-5);border:1px solid var(--line-200);border-radius:var(--r-md);background:var(--surface);color:var(--ink-900);font-weight:600;text-decoration:none;display:flex}.basics-pager a span{gap:2px;display:grid}.basics-pager small{color:var(--ink-500);font-weight:500;font-size:var(--fs-15)}.basics-pager a.next{text-align:right;background:var(--action-600);border-color:var(--action-600);color:var(--action-ink);justify-content:space-between}.basics-pager a.next small{color:#ffffffbf}.basics-pager a.next span{margin-left:auto}.basics-label{font-size:var(--fs-15);color:var(--ink-500);margin:0 0 6px;font-weight:600}.basics-muted{color:var(--ink-500)}.basics-ok{color:var(--lamp-700)}.basics-hold{border:1px solid var(--line-input);border-radius:var(--r-md);background:var(--surface);min-width:120px;color:var(--ink-950);touch-action:none;-webkit-user-select:none;user-select:none;justify-items:center;gap:4px;padding:12px 18px;font-weight:650;display:inline-grid}.basics-hold small{font-weight:500;font-size:var(--fs-15);color:var(--ink-500)}.basics-hold-cap{background:radial-gradient(circle at 40% 35%, #4bc283, var(--lamp-500) 60%, var(--lamp-700));width:44px;height:44px;box-shadow:0 3px 0 var(--lamp-700), 0 4px 10px #0000002e;transition:transform 80ms var(--ease), box-shadow 80ms var(--ease);border-radius:50%}.basics-hold-stop .basics-hold-cap{background:radial-gradient(circle at 40% 35%, #e45d52, #c9372c 60%, var(--fault-700));box-shadow:0 3px 0 var(--fault-700)}.basics-hold[aria-pressed=true]{border-color:var(--lamp-600);background:var(--lamp-tint)}.basics-hold[aria-pressed=true] .basics-hold-cap{box-shadow:0 0 0 var(--lamp-700);transform:translateY(3px)}.basics-lamp{background:var(--bg-650);border:1px solid var(--line-300);border-radius:50%;flex:none;width:14px;height:14px;display:inline-block}.basics-lamp.on.basics-lamp-run{background:var(--lamp-500);border-color:var(--lamp-600);box-shadow:0 0 0 4px var(--lamp-halo)}.basics-lamp.on.basics-lamp-warn{border-color:var(--warn-700);background:#d69417}.basics-bool{border-radius:var(--r-xs);background:var(--bg-700);min-width:58px;font-family:var(--font-mono);font-size:var(--fs-15);color:var(--ink-700);text-align:center;padding:2px 8px;font-weight:600;display:inline-block}.basics-bool.on{background:var(--lamp-tint);color:var(--lamp-700)}.basics-number{font-family:var(--font-mono);color:var(--info-700);font-weight:600}.basics-status{align-items:center;gap:8px;margin:0;font-weight:600;display:flex}.basics-range{min-width:200px;font-size:var(--fs-15);color:var(--ink-700);flex:1;gap:6px;font-weight:600;display:grid}.basics-range input{width:100%;accent-color:var(--ink-900)}.basics-toggle{border:1px solid var(--line-input);border-radius:var(--r-sm);background:var(--surface);cursor:pointer;align-items:center;gap:8px;padding:10px 14px;font-weight:600;display:inline-flex}.basics-toggle input{width:18px;height:18px;accent-color:var(--ink-900)}.basics-controls{align-items:end;gap:var(--s-4);margin:var(--s-4) 0;flex-wrap:wrap;display:flex}.basics-seg{border-radius:var(--r-sm);background:var(--bg-700);gap:2px;padding:3px;display:inline-flex}.basics-seg button{color:var(--ink-700);background:0 0;border:0;border-radius:6px;padding:8px 14px;font-weight:600}.basics-seg button[aria-pressed=true],.basics-seg button[aria-selected=true]{background:var(--surface);color:var(--ink-950);box-shadow:var(--shadow-1)}.basics-seg.wide{flex-wrap:wrap;display:flex}.basics-seg.wide button{flex:1}.basics-rule-cards,.basics-chips{margin:0 0 var(--s-5);border:0;min-width:0;padding:0}.basics-rule-cards legend,.basics-chips legend{color:var(--ink-950);margin-bottom:10px;padding:0;font-weight:650}.basics-rule-cards{gap:var(--s-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.basics-rule-cards legend{grid-column:1/-1}.basics-rule-card{border:1px solid var(--line-input);border-radius:var(--r-lg);background:var(--surface);cursor:pointer;transition:border-color .14s var(--ease), box-shadow .14s var(--ease);flex-direction:column;gap:10px;padding:16px;display:flex;position:relative}.basics-rule-card:hover{border-color:var(--ink-700)}.basics-rule-card.chosen{border-color:var(--ink-950);box-shadow:inset 0 0 0 1px var(--ink-950)}.basics-rule-card:has(input:focus-visible){outline:2px solid var(--focus-colour);outline-offset:2px}.basics-chips label:has(input:focus-visible){outline:2px solid var(--focus-colour);outline-offset:2px}.basics-rule-letter{border:1px solid var(--line-300);width:30px;height:30px;font-family:var(--font-mono);color:var(--ink-700);border-radius:50%;place-items:center;font-weight:600;display:grid}.basics-rule-card.chosen .basics-rule-letter{border-color:var(--ink-950);background:var(--ink-950);color:var(--bg-950)}.basics-rule-text{font-size:var(--fs-16);color:var(--ink-900);line-height:1.45}.basics-rule-result{border-radius:var(--r-pill);align-self:flex-start;margin-top:auto;padding:3px 10px;font-size:13px;font-weight:700}.basics-rule-result.safe{background:var(--ok-100);color:var(--ok-700)}.basics-rule-result.overflow,.basics-rule-result.never{background:var(--fault-100);color:var(--fault-700)}.basics-chips>div{flex-wrap:wrap;gap:8px;display:flex}.basics-chips label{border:1px solid var(--line-input);border-radius:var(--r-pill);background:var(--surface);color:var(--ink-800);cursor:pointer;transition:border-color .14s var(--ease), background .14s var(--ease);padding:9px 16px;font-weight:600}.basics-chips label:hover{border-color:var(--ink-700)}.basics-chips label.chosen{border-color:var(--ink-950);background:var(--ink-950);color:var(--bg-950)}.basics-scene,.basics-tank,.basics-ladder,.basics-fbd{background:var(--surface);border:1px solid var(--line-200);border-radius:var(--r-md);width:100%;height:auto;display:block}.basics-scene text,.basics-tank text,.basics-ladder text,.basics-fbd text,.basics-hmi svg text{font-family:var(--font-sans);fill:var(--ink-700);font-size:15px;font-weight:600}.basics-scene text.small,.basics-tank text.small,.basics-ladder text.small,.basics-fbd text.small,.basics-hmi svg text.small{fill:var(--ink-500);font-size:13px;font-weight:500}.basics-scene .ground{stroke:var(--line-300);stroke-width:2px}.basics-scene .wall{fill:var(--bg-700);stroke:var(--line-300)}.basics-scene .doorway{fill:var(--bg-650)}.basics-scene .glass{fill:#3fa7e038;stroke:var(--water-500);stroke-width:1.5px}.basics-scene .panel{transition:transform .6s var(--ease)}.basics-scene .panel.left.open{transform:translate(-60px)}.basics-scene .panel.right.open{transform:translate(60px)}.basics-scene .beam{fill:#ffffff0a;transition:fill .2s var(--ease)}.basics-scene .beam.on{fill:#d694172e}.basics-scene .sensor,.basics-scene .motor{fill:var(--ink-700)}.basics-scene .sensor.on{fill:#d69417}.basics-scene .motor.on{fill:var(--lamp-500)}.basics-scene .shopper{fill:var(--ink-800)}.basics-nda{gap:var(--s-2);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.basics-nda li{padding:var(--s-3) var(--s-4);border:1px solid var(--line-200);border-radius:var(--r-sm);background:var(--surface);font-size:var(--fs-15);color:var(--ink-700);transition:border-color .16s var(--ease), background .16s var(--ease);gap:4px;display:grid}.basics-nda li strong{color:var(--ink-950);font-size:var(--fs-16);align-items:center;gap:8px;display:flex}.basics-nda li strong svg{color:var(--ink-600)}.basics-nda li.on strong svg{color:var(--lamp-600)}.basics-nda li.on{border-color:var(--ok-border);background:var(--ok-100)}.basics-steps-line{margin:0 0 var(--s-4);grid-template-columns:repeat(var(--steps,6), minmax(0, 1fr));gap:var(--s-2);padding:0;list-style:none;display:grid}.basics-steps-line li{display:flex}.basics-steps-line button{border:1px solid var(--line-200);border-radius:var(--r-md);background:var(--surface);min-height:84px;color:var(--ink-700);font-size:var(--fs-15);text-align:center;transition:border-color .14s var(--ease), background .14s var(--ease);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:18px 8px 14px;font-weight:600;line-height:1.25;display:flex;position:relative}.basics-steps-line button:hover{border-color:var(--ink-700)}.basics-steps-line small{font-family:var(--font-mono);color:var(--ink-500);font-size:12px;font-weight:500;position:absolute;top:6px;left:9px}.basics-steps-line button.passed{border-color:var(--line-300);color:var(--ink-900)}.basics-steps-line button[aria-current=step]{border-color:var(--ink-950);background:var(--ink-950);color:var(--bg-950)}.basics-steps-line button[aria-current=step] small{color:#ffffffb3}.basics-steps-stack{display:grid}.basics-steps-stack>.basics-steps-card{grid-area:1/1}.basics-steps-card[aria-hidden=true]{visibility:hidden}.basics-steps-card{align-items:start;gap:var(--s-4);padding:var(--s-5) var(--s-6);border:1px solid var(--line-200);border-radius:var(--r-md);background:var(--surface);grid-template-columns:56px minmax(0,1fr);display:grid}.basics-steps-icon{border-radius:var(--r-md);background:var(--bg-700);width:56px;height:56px;color:var(--ink-900);place-items:center;display:grid}.basics-steps-card h3{font-size:var(--fs-19);margin:2px 0 6px}.basics-steps-card p{margin:0}.basics-steps-card dl{margin:var(--s-3) 0 0;gap:6px;display:grid}.basics-steps-card dl>div{gap:var(--s-3);grid-template-columns:80px minmax(0,1fr);display:grid}.basics-steps-card dt{color:var(--ink-500);font-weight:650}.basics-steps-card dd{margin:0}.basics-steps-nav{align-items:center;gap:var(--s-3);margin-top:var(--s-4);grid-template-columns:minmax(150px,1fr) auto minmax(150px,1fr);display:grid}.basics-steps-nav .btn{min-width:150px}.basics-steps-nav .btn:first-child{justify-self:start}.basics-steps-nav .btn:last-child{justify-self:end}.basics-steps-dots{gap:6px;display:flex}.basics-steps-dots i{background:var(--bg-650);border-radius:50%;width:8px;height:8px}.basics-steps-dots i.passed{background:var(--ink-500)}.basics-steps-dots i.on{background:var(--ink-950);border-radius:4px;width:22px}.basics-cabinet{gap:var(--s-5);grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;display:grid}.basics-cabinet-box{min-height:320px;padding:var(--s-4);border-radius:var(--r-sm);gap:var(--s-3);background:#d9d8d3;border:3px solid #9b9a95;align-content:start;display:grid}.basics-cabinet-door{align-content:center;place-items:center;gap:var(--s-2);min-height:290px;color:var(--ink-900);background:linear-gradient(#cfcec9,#bebdb8);border:1px solid #a8a7a2;border-radius:4px;display:grid;position:relative}.basics-cabinet-door strong{font-size:var(--fs-19)}.basics-cabinet-door span:last-child{border-radius:var(--r-sm);background:var(--ink-950);color:var(--bg-950);padding:8px 14px;font-weight:600}.basics-cabinet-handle{background:var(--ink-700);border-radius:4px;width:10px;height:54px;margin-top:-27px;position:absolute;top:50%;right:16px}.basics-rail{background:linear-gradient(#0000 46%,#a9a8a3 46% 54%,#0000 54%);border-radius:3px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:6px;padding:10px 8px;display:grid}.basics-module{min-width:0;min-height:86px;color:var(--showroom-950);text-align:center;background:#f4f4f1;border:1px solid #8f8e89;border-radius:3px;align-content:end;justify-items:center;gap:6px;padding:8px 6px;font-size:13px;font-weight:650;line-height:1.2;display:grid}.basics-module.module-cpu{background:#e9ebee}.basics-module.module-isolator{background:#f2dc6b}.basics-module.module-psu{background:#e4e3df}.basics-module.module-terminals{background:repeating-linear-gradient(90deg,#c7ced8 0 10px,#9fa8b5 10px 12px);min-height:46px}.basics-module.module-terminals span{background:#ffffffd9;border-radius:3px;padding:2px 6px}.basics-module[aria-pressed=true]{outline:3px solid var(--ink-950);outline-offset:1px}.module-trio{gap:4px;display:flex}.module-trio i{background:#5b5f66;border-radius:2px;width:16px;height:30px}.basics-cables{padding-top:var(--s-2);color:var(--ink-700);border-top:6px dotted #6d7077;justify-content:center;font-size:13px;font-weight:600;display:flex}.basics-cabinet-info{padding:var(--s-5);border:1px solid var(--line-200);border-radius:var(--r-md);background:var(--surface)}.basics-cabinet-info h3{margin:0 0 6px}.basics-cabinet-info p{margin:0 0 var(--s-4)}.basics-sorter{gap:var(--s-4);display:grid}.basics-sorter-card{border:1px solid var(--line-200);border-radius:var(--r-lg);background:var(--bg-800);text-align:center;justify-items:center;gap:16px;padding:22px 24px 24px;display:grid}.basics-sorter-progress{width:100%;font-size:var(--fs-15);color:var(--ink-500);justify-content:space-between;align-items:center;font-weight:600;display:flex}.basics-sorter-item{justify-items:center;gap:10px;display:grid}.basics-sorter-icon{border:1px solid var(--line-300);background:var(--surface);width:64px;height:64px;color:var(--ink-900);border-radius:16px;place-items:center;display:grid}.basics-sorter-item strong{font-size:var(--fs-28);letter-spacing:-.015em;color:var(--ink-950)}.basics-sorter-question{max-width:34ch;color:var(--ink-700);margin:0}.basics-sorter-choices{justify-content:center;gap:var(--s-3);grid-template-columns:repeat(2,minmax(0,220px));width:100%;display:grid}.basics-sorter-choices button{border:1px solid var(--line-input);border-radius:var(--r-md);background:var(--surface);color:var(--ink-950);transition:border-color .14s var(--ease), box-shadow .14s var(--ease);gap:4px;padding:14px 16px;display:grid}.basics-sorter-choices button:hover{border-color:var(--ink-950);box-shadow:var(--shadow-1)}.basics-sorter-choices strong{font-size:var(--fs-19)}.basics-sorter-choices .basics-sorter-flow{border-radius:var(--r-pill);background:var(--bg-700);font-family:var(--font-mono);color:var(--ink-800);white-space:nowrap;justify-content:center;align-items:center;gap:6px;margin:2px 0;padding:4px 10px;font-size:13px;font-weight:500;display:inline-flex}.basics-sorter-choices span{font-size:var(--fs-15);color:var(--ink-500)}.basics-sorter-verdict{justify-items:center;gap:var(--s-4);width:100%;max-width:520px;display:grid}.basics-sorter-verdict .basics-message{text-align:left;width:100%;margin:0}.basics-sorter-score{font-size:var(--fs-28);letter-spacing:-.015em;color:var(--ink-950)}.basics-sorter-rule{max-width:56ch;color:var(--ink-700);margin:0}.basics-sorter-bins{gap:var(--s-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.basics-sorter-bins>div{border:1px solid var(--line-200);border-radius:var(--r-lg);background:var(--surface);padding:16px 18px}.basics-sorter-bins h3{font-size:var(--fs-17);color:var(--ink-950);gap:2px;margin:0 0 12px;display:grid}.basics-sorter-bins h3 small{font-size:var(--fs-15);color:var(--ink-500);font-weight:500}.basics-sorter-bins ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.basics-sorter-bins li{border-radius:var(--r-sm);background:var(--bg-800);color:var(--ink-900);align-items:center;gap:10px;padding:8px 10px;font-weight:550;display:flex}.basics-sorter-bins li>svg:first-child{color:var(--ink-600);flex:none}.basics-sorter-bins li span{flex:1}.basics-sorter-mark{color:var(--lamp-600);flex:none}.basics-sorter-bins li.missed{background:var(--fault-100)}.basics-sorter-bins li.missed small{font-size:var(--fs-15);color:var(--fault-700);font-weight:600}.basics-sorter-bins .basics-muted{font-size:var(--fs-15);margin:0}.basics-switch{gap:var(--s-4);grid-template-columns:minmax(0,.8fr) auto minmax(0,1.4fr);align-items:stretch;display:grid}.basics-switch-side{border:1px solid var(--line-200);border-radius:var(--r-lg);background:var(--bg-800);align-content:start;justify-items:start;gap:14px;padding:16px;display:grid}.basics-switch-side .basics-label{margin:0}.basics-switch-tank{align-items:center;gap:14px;width:100%;display:flex}.basics-switch-tank svg{flex:none;width:48px;height:auto}.basics-switch-tank .basics-range{min-width:0}.basics-switch-tank .tank{fill:#f6f6f4;stroke:#6d7077;stroke-width:2px}.basics-switch-tank .water{fill:var(--water-500);opacity:.8}.basics-switch-tank .limit{stroke:var(--warn-700);stroke-width:2px;stroke-dasharray:4 3}.basics-switch-arrow{color:var(--ink-500);place-items:center;display:grid}.basics-tags small{font-family:var(--font-mono);color:var(--ink-500)}.basics-tags td:nth-child(-n+2){white-space:nowrap}.basics-tags tr.on td{background:var(--lamp-tint)}.basics-tags{border-collapse:collapse;background:var(--surface);border:1px solid var(--line-200);border-radius:var(--r-md);width:100%;font-size:var(--fs-15)}.basics-tags th,.basics-tags td{border-bottom:1px solid var(--line-200);text-align:left;padding:10px 12px}.basics-tags th{color:var(--ink-500);font-weight:600}.basics-tags tr:last-child td{border-bottom:0}.basics-tags code{font-family:var(--font-mono);font-weight:600}.basics-hmi{gap:var(--s-4);grid-template-columns:minmax(0,1fr);display:grid}.basics-hmi-screen{background:#e6e6e3;border:10px solid #2d3138;border-radius:12px;overflow:hidden}.basics-hmi-title{justify-content:space-between;gap:var(--s-2);color:var(--ink-900);background:#c9c9c5;padding:8px 12px;font-size:14px;font-weight:650;display:flex}.basics-hmi-body{gap:var(--s-3);padding:var(--s-3);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.basics-hmi svg{width:100%;height:auto;max-height:260px}.basics-hmi .tank,.basics-tank .tank{fill:#f6f6f4;stroke:#6d7077;stroke-width:2px}.basics-hmi .water,.basics-tank .water{fill:var(--water-500);opacity:.8}.basics-hmi .limit,.basics-tank .limit{stroke:var(--warn-700);stroke-width:2px;stroke-dasharray:5 4}.basics-hmi .pipe,.basics-tank .pipe{fill:none;stroke:#8d9096;stroke-width:6px}.basics-tank .pipe.flowing{stroke:var(--water-400)}.basics-hmi .pump,.basics-tank .pump{fill:#f6f6f4;stroke:#6d7077;stroke-width:2px}.basics-hmi .pump.on,.basics-tank .pump.on{fill:var(--lamp-500);stroke:var(--lamp-700)}.basics-hmi .pump-mark,.basics-tank .pump-mark{fill:var(--ink-800)}.basics-hmi svg text.reading,.basics-tank text.reading{font-family:var(--font-mono);fill:var(--ink-950);font-size:18px;font-weight:700}.basics-tank .spill{fill:none;stroke:var(--water-400);stroke-width:6px;stroke-linecap:round}.basics-hmi-buttons{gap:8px;display:grid}.basics-hmi-buttons button{min-width:128px;color:var(--showroom-950);background:#f6f6f4;border:1px solid #8d9096;border-radius:4px;padding:10px 12px;font-weight:650}.basics-hmi-buttons button:disabled{opacity:.5;cursor:default}.basics-hmi-buttons .hmi-start:not(:disabled){border-color:var(--lamp-700)}.basics-hmi-buttons .hmi-stop:not(:disabled){border-color:var(--fault-700)}.basics-hmi-alarm{color:var(--ink-700);background:#d5d5d1;padding:8px 12px;font-size:14px;font-weight:650}.basics-hmi-alarm.on{color:#3d2800;background:#f2c14e}.basics-hmi-log{padding:var(--s-4);border:1px solid var(--line-200);border-radius:var(--r-md);background:var(--surface)}.basics-hmi-log h3{font-size:var(--fs-16);margin:0 0 4px}.basics-hmi-log>p{margin:0 0 var(--s-3);font-size:var(--fs-15);color:var(--ink-500)}.basics-hmi-log ol{font-size:var(--fs-15);gap:6px;margin:0;padding:0;list-style:none;display:grid}.basics-hmi-log time{font-family:var(--font-mono);color:var(--ink-500);margin-right:6px}.basics-rules-rig{gap:var(--s-5);border:1px solid var(--line-200);border-radius:var(--r-lg);background:var(--bg-800);grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:center;padding:16px;display:grid}.basics-rules-side{justify-items:center;gap:var(--s-3);display:grid}.basics-rules-state{gap:6px;width:100%;max-width:220px;margin:0;display:grid}.basics-rules-state>div{border:1px solid var(--line-200);border-radius:var(--r-sm);background:var(--surface);font-size:var(--fs-15);justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex}.basics-rules-state dt{color:var(--ink-500);font-weight:600}.basics-rules-state dd{color:var(--ink-950);align-items:center;gap:8px;margin:0;font-weight:650;display:inline-flex}.basics-code-line{border:1px solid var(--line-200);border-radius:var(--r-sm);background:var(--night-900);flex-wrap:wrap;gap:6px;padding:12px;display:flex}.basics-code-line button{border:1px dashed var(--line-300);font-family:var(--font-mono);font-size:var(--fs-17);color:var(--ink-950);background:0 0;border-radius:6px;padding:6px 10px}.basics-code-line button[aria-pressed=true]{border-style:solid;border-color:var(--ink-950);background:var(--ink-950);color:var(--bg-950)}.basics-aloud{margin:6px 0 var(--s-4);font-size:var(--fs-15);color:var(--ink-500)}.basics-code-meaning{gap:var(--s-4);padding:var(--s-4);border:1px solid var(--line-200);border-left:3px solid var(--ink-950);border-radius:var(--r-sm);background:var(--surface);grid-template-columns:auto minmax(0,1fr);align-items:center;display:grid}.basics-code-meaning code{font-family:var(--font-mono);font-size:var(--fs-19);font-weight:700}.basics-code-meaning p{margin:0}.basics-code-try{margin-top:var(--s-5);border:1px solid var(--line-200);border-radius:var(--r-lg);background:var(--bg-800);padding:16px}.basics-code-try .basics-label{margin-bottom:12px}.basics-code-inputs,.basics-languages-inputs,.basics-scan-rig{align-items:center;gap:var(--s-4);flex-wrap:wrap;display:flex}.basics-code-sum{margin:var(--s-4) 0 0;font-family:var(--font-mono);font-size:var(--fs-15);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.basics-scan-top{justify-content:space-between;align-items:center;gap:var(--s-3);margin-bottom:var(--s-4);flex-wrap:wrap;display:flex}.basics-scan-count{font-family:var(--font-mono);color:var(--ink-700);font-weight:600}.basics-scan-loop{margin:0 0 var(--s-4);gap:var(--s-2);grid-template-columns:repeat(3,minmax(0,1fr));padding:0;list-style:none;display:grid;position:relative}.basics-scan-loop li{padding:var(--s-4);border:1px solid var(--line-200);border-radius:var(--r-md);background:var(--surface);font-size:var(--fs-15);color:var(--ink-700);transition:border-color .16s var(--ease), box-shadow .16s var(--ease);flex-direction:column;align-items:flex-start;gap:6px;display:flex}.basics-scan-loop li strong{font-size:var(--fs-17);color:var(--ink-950)}.basics-scan-code{border-radius:var(--r-xs);background:var(--bg-700);font-family:var(--font-mono);font-size:var(--fs-15);color:var(--ink-950);white-space:nowrap;align-self:start;padding:3px 8px}.basics-scan-loop li em{flex-wrap:wrap;align-items:center;gap:6px;margin-top:auto;padding-top:6px;font-style:normal;display:flex}.basics-scan-loop li.active{border-color:var(--ink-950);box-shadow:inset 0 0 0 1px var(--ink-950)}.basics-scan-loop.fast li{border-color:var(--ok-border)}.basics-brand-pick{border:1px solid var(--ink-950);border-radius:var(--r-lg);background:var(--surface);justify-items:start;gap:6px;padding:20px 22px;display:grid}.basics-brand-pick.waiting{border-style:dashed;border-color:var(--line-300);background:var(--bg-800)}.basics-brand-pick.waiting p{color:var(--ink-500);margin:0}.basics-brand-pick strong{font-family:var(--font-serif);font-size:var(--fs-36);color:var(--ink-950);font-weight:400;line-height:1.1}.basics-brand-pick p{margin:0 0 var(--s-3);color:var(--ink-700)}.basics-brand-pick .basics-message{margin:0}.basics-languages-view{margin:var(--s-4) 0}.basics-text-view{padding:var(--s-4);border:1px solid var(--line-200);border-radius:var(--r-md);background:var(--surface)}.basics-ladder .rail{stroke:var(--ink-700);stroke-width:4px}.basics-ladder .wire,.basics-ladder .contact,.basics-fbd .wire{stroke:var(--ink-500);stroke-width:3px}.basics-ladder .coil{fill:none;stroke:var(--ink-500);stroke-width:3px}.basics-ladder .live,.basics-fbd .live,.basics-ladder .rail.live{stroke:var(--editor-power)}.basics-fbd .block{fill:var(--night-800);stroke:var(--ink-700);stroke-width:2px}.basics-fbd .invert{fill:var(--surface);stroke:var(--ink-700);stroke-width:2px}.basics-fbd text.block-label{font-family:var(--font-mono);fill:var(--ink-950);font-size:18px}.basics-sfc{padding:var(--s-4);border:1px solid var(--line-200);border-radius:var(--r-md);background:var(--surface)}.basics-sfc>p{margin:0 0 var(--s-4)}.basics-sfc ol{margin:0 0 var(--s-4);justify-items:center;gap:0;padding:0;list-style:none;display:grid}.basics-sfc li{justify-items:center;display:grid}.basics-sfc li+li:before{content:"";background:var(--ink-500);width:2px;height:18px}.basics-sfc-step{border:2px solid var(--ink-700);background:var(--surface);text-align:center;border-radius:4px;min-width:150px;padding:10px 16px;font-weight:700}.basics-sfc li.active .basics-sfc-step{border-color:var(--lamp-600);background:var(--lamp-tint);color:var(--lamp-700)}.basics-sfc-until{font-size:var(--fs-15);color:var(--ink-500);margin-top:4px}@media (max-width:1180px){.basics-layout{grid-template-columns:minmax(0,780px)}.basics-side{display:none}.basics-contents-phone{display:block}}@media (max-width:720px){.basics-switch{grid-template-columns:minmax(0,1fr)}.basics-switch-arrow{transform:rotate(90deg)}.basics-rule-cards,.basics-sorter-choices,.basics-sorter-bins{grid-template-columns:minmax(0,1fr)}.basics-steps-line{grid-template-columns:repeat(3,minmax(0,1fr))}.basics-steps-card{padding:var(--s-4);grid-template-columns:minmax(0,1fr)}.basics-steps-nav{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.basics-steps-nav .btn{min-width:0;padding-inline:12px}.basics-nda,.basics-scan-loop,.basics-cabinet,.basics-hmi,.basics-rules-rig{grid-template-columns:minmax(0,1fr)}.basics-words dl>div{grid-template-columns:minmax(0,1fr);gap:2px}.basics-pager{grid-template-columns:minmax(0,1fr)}.basics-try-head{flex-direction:column;align-items:flex-start;gap:8px;padding:12px 16px}.basics-try-body{padding:16px}.basics-hmi-body{grid-template-columns:minmax(0,1fr)}.basics-hmi-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}.basics-hmi-buttons button{min-width:0}}@media (max-width:480px){.basics-steps-dots,.basics-tags th:nth-child(3),.basics-tags td:nth-child(3){display:none}}@media (prefers-reduced-motion:reduce){.basics-scene .panel,.basics-hold-cap,.basics-nda li,.basics-scan-loop li{transition:none}}
.shell .page-content{width:100%;max-width:1480px;margin:0 auto;padding:clamp(28px,3.2vw,56px) clamp(18px,3vw,56px) 72px}.page-header{margin-bottom:var(--s-8);padding-bottom:var(--s-6);border-bottom:1px solid var(--line-200);align-items:flex-end;position:relative}.page-header:after{content:"";background:linear-gradient(var(--ink-700), var(--ink-700)) 0 0 / 1px 7px no-repeat, linear-gradient(var(--ink-700), var(--ink-700)) 60px 0 / 1px 7px no-repeat, linear-gradient(var(--ink-700), var(--ink-700)) 120px 0 / 1px 7px no-repeat, repeating-linear-gradient(90deg, var(--ink-400) 0 1px, transparent 1px 12px) 0 3px / 121px 4px no-repeat;width:121px;height:7px;position:absolute;bottom:0;left:0}.page-header h1{font-family:var(--font-serif);letter-spacing:-.015em;margin-bottom:14px;font-size:clamp(40px,4.2vw,64px);font-weight:400;line-height:1}.page-header p{color:var(--ink-600);font-size:var(--fs-17);line-height:1.6}.header-stat strong{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--ink-950);font-size:clamp(40px,3.6vw,56px);font-weight:400}.section-head{margin:clamp(48px, 5vw, 80px) 0 var(--s-5);align-items:flex-end}.section-head h2{font-family:var(--font-display);letter-spacing:-.028em;font-size:clamp(24px,2.1vw,30px);font-weight:640;line-height:1.1}.section-head .eyebrow{margin-bottom:8px;display:block}.eyebrow{font-family:var(--font-mono);font-size:var(--fs-15);letter-spacing:.01em;color:var(--ink-500);font-weight:500}.page-loading{min-height:50vh;color:var(--ink-500);font-family:var(--font-mono);place-items:center;display:grid}.page-footer{border-top:1px solid var(--line-200);width:calc(100% - clamp(36px,6vw,112px));max-width:calc(1480px - clamp(36px,6vw,112px));color:var(--ink-500);font-size:var(--fs-15);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin:0 auto;padding:26px 0 34px;display:flex}.page-footer .page-footer-brand{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink-800);align-items:center;gap:10px;font-weight:640;display:inline-flex}.page-footer button,.page-footer a{color:var(--ink-500);transition:color .14s var(--ease);align-items:center;gap:6px;text-decoration:none;display:inline-flex}.page-footer button:hover,.page-footer a:hover{color:var(--ink-950)}.btn-lg{min-height:50px;font-size:var(--fs-16);border-radius:10px;padding-inline:24px}.home-kicker{border:1px solid var(--line-200);background:var(--bg-900);min-height:34px;box-shadow:var(--shadow-1);font-size:var(--fs-15);color:var(--ink-700);border-radius:999px;align-items:center;gap:10px;padding:0 14px 0 12px;font-weight:560;display:inline-flex}.home-kicker:hover{border-color:var(--line-300);color:var(--ink-950)}.home-lamp,.track-lamp{background:var(--lamp-500);width:8px;height:8px;box-shadow:0 0 0 3px var(--lamp-halo);border-radius:50%;flex:none;position:relative}.home-lead{max-width:52ch;color:var(--ink-600);font-size:clamp(17px,1.3vw,19px);line-height:1.65}.hero-reassurance{max-width:54ch;font-size:var(--fs-15);color:var(--ink-500);align-items:flex-start;gap:8px;line-height:1.5;display:inline-flex}.hero-reassurance svg{color:var(--lamp-600);margin-top:2px}.rig-preview{background:var(--bg-900);flex-direction:column;min-width:0;display:flex}.rig-preview .stage{background:0 0}.rig-preview .stage-bar{border-bottom:1px solid var(--line-200);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#15181dd1;padding:12px}.rig-picker{border:1px solid var(--line-200);background:var(--bg-950);border-radius:10px;gap:2px;padding:3px}.rig-preview .rig-picker{flex-wrap:nowrap;width:100%;display:flex;overflow-x:auto}@supports ((-moz-appearance:none)){.rig-preview .rig-picker{scrollbar-width:thin;scrollbar-color:#353a43 transparent}}.rig-preview .rig-picker::-webkit-scrollbar{height:5px}.rig-preview .rig-picker::-webkit-scrollbar-thumb{background:#353a43;border-radius:999px}.rig-preview .rig-picker button{flex:1 0 auto;justify-content:center}.rig-picker button{min-height:34px;color:var(--ink-600);transition:background .15s var(--ease), color .15s var(--ease), box-shadow .15s var(--ease);border-radius:7px;padding:0 11px;font-weight:560}.rig-picker button:hover{color:var(--ink-950);background:#ffffff14}.rig-picker button[aria-pressed=true]{color:var(--ink-950);background:var(--bg-900);box-shadow:0 0 0 1px var(--line-300), 0 1px 3px #1012161a}.rig-picker button[aria-pressed=true] svg{color:var(--ink-950)}.rig-preview-note{background:var(--bg-900);color:var(--ink-500);font-size:var(--fs-15);border-top:0;padding:0 18px 16px;line-height:1.5}.rig-context-disclosure{background:var(--bg-900);border-top:1px solid var(--line-200)}.rig-context-disclosure>summary{justify-content:space-between;align-items:center;gap:var(--s-3);cursor:pointer;color:var(--ink-700);font-size:var(--fs-15);padding:14px 18px;font-weight:560;list-style:none;display:flex}.rig-context-disclosure>summary:hover{color:var(--ink-950)}.rig-context-disclosure>summary::-webkit-details-marker{display:none}.rig-context-disclosure>summary>span{align-items:center;gap:8px;display:flex}.rig-context-disclosure>summary>span svg{color:var(--ink-500)}.rig-context-disclosure>summary>svg{transition:transform .2s var(--ease)}.rig-context-disclosure[open]>summary>svg{transform:rotate(180deg)}.rig-context-disclosure .site-context{border-top:1px solid var(--line-200)}.m-card{isolation:isolate;border:1px solid var(--line-200);border-radius:var(--r-lg);background:var(--bg-900);box-shadow:var(--shadow-1);text-align:left;color:var(--ink-600);font-size:var(--fs-15);transition:border-color .18s var(--ease), transform .22s var(--ease-out), box-shadow .22s var(--ease);flex-direction:column;gap:8px;padding:24px;text-decoration:none;display:flex;position:relative;overflow:hidden}.m-card:before{content:"";z-index:-1;background:radial-gradient(380px circle at var(--mx,50%) var(--my,-40%), #16181c09, transparent 60%);opacity:0;transition:opacity .22s var(--ease);position:absolute;inset:0}.m-card:hover{border-color:var(--line-300);transform:translateY(-2px);box-shadow:0 1px 2px #1012160d,0 18px 40px -22px #10121647}.m-card:hover:before{opacity:1}.meter{background:var(--bg-650);border-radius:999px;width:100%;height:6px;display:block;overflow:hidden;box-shadow:inset 0 1px 1px #1012161a}.meter>span{border-radius:inherit;background:var(--lamp-500);height:100%;display:block}.dash-tracks .section-head{margin-top:clamp(48px,5vw,80px)}.track-list{border:1px solid var(--line-200);border-radius:var(--r-lg);background:var(--bg-900);box-shadow:var(--shadow-1);display:grid;overflow:hidden}.track-row{border-top:1px solid var(--line-100);color:var(--ink-500);text-align:left;transition:background .15s var(--ease);grid-template-columns:10px minmax(0,1fr) auto 20px;align-items:center;gap:20px;padding:18px 22px;display:grid}.track-row:first-child{border-top:0}.track-row:hover{background:var(--bg-800)}.track-row:hover>svg{color:var(--ink-950);transform:translate(2px)}.track-row>svg{transition:transform .16s var(--ease), color .16s var(--ease)}.track-lamp{background:var(--bg-650);box-shadow:inset 0 1px 1px #1012162e}.track-lamp.part{background:var(--bg-900);box-shadow:inset 0 0 0 2px var(--lamp-500)}.track-lamp.full{background:var(--lamp-500);box-shadow:0 0 0 3px var(--lamp-halo)}.track-name{gap:3px;min-width:0;display:grid}.track-name strong{color:var(--ink-950);font-size:var(--fs-17);font-weight:640}.track-name span{font-size:var(--fs-15);color:var(--ink-500)}.track-progress{font-size:var(--fs-15);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:14px;display:flex}.led-meter{gap:3px;display:flex}.led-meter i{background:var(--bg-650);border-radius:2px;width:8px;height:16px}.led-meter i.on{background:var(--lamp-500)}.track-count{min-width:52px;font-family:var(--font-mono);color:var(--ink-600);text-align:right}@media (prefers-reduced-motion:no-preference){.home-lamp{animation:2.4s ease-in-out infinite lamp}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}@keyframes stage-in{0%{opacity:0;transform:translateY(18px)scale(.985)}}@keyframes lamp{50%{box-shadow:0 0 0 5px #1f9d5a1a}}@media (max-width:1100px){.led-meter i{width:7px}}@media (max-width:900px){.track-row{grid-template-columns:10px minmax(0,1fr) 18px;gap:8px 14px;padding:16px 18px}.track-row .track-progress{grid-area:2/2}.track-row>svg{grid-area:1/3/span 2}.track-row .track-lamp{grid-row:1;align-self:start;margin-top:7px}}@media (max-width:700px){.track-row{padding:16px}.led-meter i{width:6px;height:14px}}.shell .quiz-card,.shell .quiz-aside,.shell .white-card,.shell .reference-card{border:1px solid var(--line-200);border-radius:var(--r-lg);background:var(--bg-900);box-shadow:var(--shadow-1);padding:clamp(22px,2vw,30px)}.shell .white-card>h2,.shell .quiz-card h2,.shell .reference-heading h2{font-family:var(--font-display);letter-spacing:-.026em;font-weight:640}.shell .quiz-aside strong{font-family:var(--font-serif);letter-spacing:-.01em;font-weight:400}.stat-icon{border-color:var(--line-300);background:var(--bg-800);color:var(--ink-800)}.shell .page-footer{max-width:calc(1480px - clamp(36px,6vw,112px));margin:0 auto;padding:26px 0 34px}.segmented,.wb-layout{border:1px solid var(--line-200);background:var(--bg-950);border-radius:10px;gap:2px;padding:3px}.segmented button,.wb-layout button{color:var(--ink-600);transition:background .15s var(--ease), color .15s var(--ease), box-shadow .15s var(--ease);border-radius:7px}.segmented button:hover,.wb-layout button:hover{color:var(--ink-950);background:#ffffff14}.segmented button.active,.segmented button[aria-pressed=true],.wb-layout button[aria-pressed=true]{background:var(--bg-900);color:var(--ink-950);box-shadow:0 0 0 1px var(--line-300), 0 1px 3px #1012161a}.shell .search-box{border-color:var(--line-input);background:var(--bg-900)}.shell .search-box svg{color:var(--ink-500)}.track-head h2{font-family:var(--font-display);letter-spacing:-.026em;font-weight:640}.m-card{gap:10px;min-height:190px;padding:20px 22px}.m-card .mission-title{font-size:var(--fs-17);font-weight:640}.m-card-foot{border-top:1px solid var(--line-100);padding-top:12px}.m-card.done{border-color:var(--ok-border);background:radial-gradient(120% 120% at 100% 0%, #1f9d5a12, transparent 55%), var(--bg-900)}.m-num{color:var(--ink-500)}.toast{border:1px solid var(--ink-950);box-shadow:var(--shadow-2);background:var(--ink-950)!important;color:var(--bg-950)!important}@media print{:root{--canvas:#fff;--bg-950:#fff;--bg-800:#fafafa}body{background:#fff}.shell .main-column:before,.page-header:after{display:none}}.stage-canvas{background:radial-gradient(42% 22% at 50% 76%, #10121612, transparent 70%), radial-gradient(120% 95% at 50% 30%, var(--stage-top) 0%, var(--stage-mid) 55%, var(--stage-bottom) 100%)}body{background-color:var(--canvas);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .018 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}@media (max-width:900px){.page-header{align-items:flex-start}.page-header-aside{width:100%}.rail-head{gap:12px}.rail-brand{flex:1}}.topbar{z-index:30;justify-content:flex-end;align-items:center;gap:var(--s-5);border-bottom:1px solid var(--line-200);-webkit-backdrop-filter:saturate(140%)blur(10px);backdrop-filter:saturate(140%)blur(10px);background:#0f1115d1;padding:10px calc(max(0px,50% - 740px) + clamp(18px,3vw,56px));display:flex;position:sticky;top:0}.topbar-links{flex-wrap:wrap;gap:2px;display:flex}.topbar-links a{border-radius:var(--r-sm);font-size:var(--fs-15);color:var(--ink-600);transition:background .14s var(--ease), color .14s var(--ease);padding:6px 10px;font-weight:560;text-decoration:none}.topbar-links a:hover{background:var(--rail-hover);color:var(--ink-950)}.topbar-links a.active{background:var(--rail-active);color:var(--ink-950)}.topbar-vendor{border-radius:var(--r-pill);background:var(--bg-700);align-items:center;gap:2px;padding:3px;display:inline-flex}.topbar-vendor>span{color:var(--ink-500);padding:0 8px 0 10px;font-size:13px;font-weight:600}.topbar-vendor button{border-radius:var(--r-pill);color:var(--ink-700);background:0 0;border:0;padding:5px 12px;font-size:14px;font-weight:600}.topbar-vendor button[aria-pressed=true]{background:var(--ink-950);color:var(--bg-950)}.rail-vendor{padding:var(--s-3) 12px 0}.rail-vendor .topbar-vendor{display:flex}.rail-vendor .topbar-vendor button{flex:1;padding:8px 12px}.section-tabs{width:fit-content;max-width:100%;margin:0 0 var(--s-6);border-radius:var(--r-md);background:var(--canvas-2);flex-wrap:wrap;gap:4px;padding:4px;display:flex}.section-tabs a{border-radius:var(--r-sm);font-size:var(--fs-15);color:var(--ink-600);align-items:center;gap:8px;padding:8px 14px;font-weight:600;text-decoration:none;display:inline-flex}.section-tabs a:hover{color:var(--ink-950)}.section-tabs a.active{background:var(--surface);color:var(--ink-950);box-shadow:var(--shadow-1)}.section-tab-tag{border:1px solid var(--line-300);border-radius:var(--r-pill);font-family:var(--font-mono);color:var(--ink-500);padding:1px 7px;font-size:12px;font-weight:500}
.mock{border:1px solid var(--line-200);background:var(--bg-900);text-align:left;color:var(--ink-800);border-radius:12px;font-size:14px;line-height:1.4;overflow:hidden;box-shadow:0 1px 2px #1012160f,0 18px 40px -22px #10121652}.mock code{font-family:var(--font-mono);font-size:inherit;color:inherit;background:0 0;border:0;padding:0}.mock-code-head{border-bottom:1px solid var(--line-100);background:var(--night-800);padding:0 14px;display:flex}.mock-code-file{border-bottom:2px solid var(--ink-950);font-family:var(--font-mono);color:var(--ink-900);margin-bottom:-1px;padding:9px 2px 8px;font-size:13px}.mock-code-lines{counter-reset:line;font-family:var(--font-mono);margin:0;padding:10px 0;font-size:14px;line-height:1.8;list-style:none;overflow:hidden}.mock-code-lines li{counter-increment:line;white-space:pre;gap:14px;padding-right:14px;display:flex}.mock-code-lines li:before{content:counter(line);text-align:right;width:30px;color:var(--ink-400);flex:none}.mock-code-lines li.live{background:var(--editor-power-bg);box-shadow:inset 3px 0 0 var(--editor-power)}.mock-kw{color:var(--syntax-keyword)}.mock-tag{color:var(--syntax-variable)}.mock-num{color:var(--syntax-number)}.mock-tests>div{padding:14px 16px}.mock-tests-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.mock-tests-head strong{color:var(--ink-950);font-weight:650}.mock-tests-head span{border-radius:var(--r-pill);white-space:nowrap;padding:3px 10px;font-size:13px;font-weight:650}.mock-tests-head .good{background:var(--ok-100);color:var(--ok-700)}.mock-tests-head .bad{background:var(--fault-100);color:var(--fault-700)}.mock-tests ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.mock-tests li{color:var(--ink-700);align-items:flex-start;gap:9px;display:flex}.mock-tests li svg{width:18px;height:18px;color:var(--bg-950);background:var(--lamp-500);border-radius:50%;flex:none;padding:2px}.mock-tests li.bad{color:var(--ink-950);font-weight:600}.mock-tests li.bad svg{background:var(--fault-700)}.mock-replay{border-top:1px solid var(--line-100);align-items:center;gap:12px;margin-top:14px;padding-top:14px;display:flex}.mock-replay-button{background:var(--ink-950);color:var(--bg-950);white-space:nowrap;border-radius:7px;align-items:center;gap:6px;padding:5px 10px;font-size:13px;font-weight:600;display:inline-flex}.mock-replay-track{background:linear-gradient(90deg, var(--ink-400) 0 62%, var(--bg-650) 62% 100%);border-radius:2px;flex:1;height:4px;position:relative}.mock-replay-track i{background:var(--fault-700);width:12px;height:12px;box-shadow:0 0 0 4px var(--fault-100);border-radius:50%;margin:-6px;position:absolute;top:50%;left:62%}.mock-replay-scan{font-family:var(--font-mono);color:var(--ink-500);white-space:nowrap;font-size:13px}.mock-readings>div{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}.mock-readings span{gap:2px;padding:10px 14px;display:grid}.mock-readings span+span{border-left:1px solid var(--line-100)}.mock-readings small{color:var(--ink-500);font-size:13px}.mock-readings strong{color:var(--ink-950);font-size:15px;font-weight:700}.mock-readings .on strong{color:var(--lamp-700)}.mock-readings strong code{color:var(--ink-500);margin-left:4px;font-size:13px;font-weight:400}.mock-transport>div{flex-wrap:wrap;align-items:center;gap:8px;padding:10px;display:flex}.mock-btn{border:1px solid var(--line-300);background:var(--bg-850);color:var(--ink-900);white-space:nowrap;border-radius:7px;align-items:center;gap:6px;padding:6px 11px;font-size:13px;font-weight:600;display:inline-flex}.mock-btn.dark{border-color:var(--ink-950);background:var(--ink-950);color:var(--bg-950)}.mock-running{border-radius:var(--r-pill);background:var(--ok-100);color:var(--ok-700);align-items:center;gap:6px;margin-left:auto;padding:5px 10px;font-size:13px;font-weight:600;display:inline-flex}.mock-brief>div,.mock-lesson>div{gap:6px;padding:18px 20px 20px;display:grid}.mock-brief small,.mock-lesson small{font-family:var(--font-mono);color:var(--ink-500);font-size:13px}.mock-brief strong,.mock-lesson strong{letter-spacing:-.01em;color:var(--ink-950);font-size:17px;font-weight:650}.mock-brief p,.mock-lesson p{color:var(--ink-600);margin:0 0 6px}.mock-brief-io{border-top:1px solid var(--line-100);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:10px;display:grid}.mock-brief-io>span{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.mock-brief-io em{color:var(--ink-500);flex-basis:100%;font-size:13px;font-style:normal;font-weight:600}.mock-brief-io code{background:var(--bg-700);color:var(--syntax-variable);border-radius:6px;padding:3px 8px;font-size:13px}.mock-lesson ol{gap:8px;margin:0;padding:0;list-style:none;display:grid}.mock-lesson li{color:var(--ink-800);align-items:center;gap:10px;display:flex}.mock-lesson li b{background:var(--lamp-tint);width:24px;height:24px;color:var(--lamp-700);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}
.shell.landing-shell{--landing-gutter:clamp(20px, 4vw, 64px);background:var(--showroom-950);color:var(--on-dark-2)}.shell.landing-shell .main-column:before{display:none}.landing-shell .page-content{max-width:calc(1600px + 2 * var(--landing-gutter));padding-inline:var(--landing-gutter)}.landing-shell .page-content:has(>.hp){max-width:none;padding:0}@media (min-width:901px){.shell.landing-shell,.shell.landing-shell.rail-collapsed{grid-template-columns:minmax(0,1fr)}.shell.landing-shell>.rail{display:none}}.landing-bar{z-index:30;height:64px;padding:0 max(var(--landing-gutter), calc((100% - 1600px) / 2));border-bottom:1px solid var(--showroom-line);-webkit-backdrop-filter:saturate(140%)blur(14px);backdrop-filter:saturate(140%)blur(14px);background:#0f1115c7;align-items:center;gap:clamp(16px,2vw,32px);display:flex;position:sticky;top:0}.landing-brand{color:var(--on-dark);flex:none;text-decoration:none}.landing-links{flex:1;align-items:center;gap:2px;min-width:0;display:flex}.landing-links a{border-radius:var(--r-sm);font-size:var(--fs-15);color:var(--on-dark-2);white-space:nowrap;transition:background .14s var(--ease), color .14s var(--ease);padding:8px 12px;font-weight:550;text-decoration:none}.landing-links a:hover,.landing-links a[aria-current=page]{color:var(--on-dark);background:#ffffff12}.landing-links-gap{background:var(--showroom-line);width:1px;height:20px;margin:0 10px}.landing-bar .topbar-vendor{border-color:var(--showroom-line);background:#ffffff0d}.landing-bar .topbar-vendor>span,.landing-bar .topbar-vendor button{color:var(--on-dark-2)}.landing-bar .topbar-vendor button[aria-pressed=true]{background:var(--on-dark);color:var(--showroom-950)}.landing-xp{border:1px solid var(--showroom-line);border-radius:var(--r-pill);min-height:36px;font-size:var(--fs-15);color:var(--on-dark);font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:7px;padding:0 14px;font-weight:600;text-decoration:none;display:inline-flex}.landing-xp:hover,.landing-xp[aria-current=page]{border-color:#ffffff4d}.landing-save{background:var(--lamp-on-dark);border-radius:50%;width:7px;height:7px;margin-left:2px;box-shadow:0 0 0 3px #6fe0a029}.landing-save.warn{background:var(--warn-700);box-shadow:0 0 0 3px #f3c46b2e}.landing-bar .landing-feedback{border-color:var(--showroom-line);color:var(--on-dark-2);background:0 0;flex:none}.landing-bar .landing-feedback:hover{color:var(--on-dark)}.landing-xp svg{color:var(--lamp-on-dark)}@media (max-width:1520px){.landing-bar .topbar-vendor>span{display:none}.landing-links a{padding-inline:8px}.landing-links-gap{margin-inline:6px}}@media (max-width:1360px){.landing-bar{gap:14px}.landing-xp{padding-right:12px}.landing-xp-text{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.landing-xp-meter{display:none}}@media (max-width:1220px){.landing-site-link,.landing-links-gap{display:none}}.landing-shell .mobile-bar{border-bottom-color:var(--showroom-line);color:var(--on-dark);background:#0f1115e0}.landing-shell .mobile-brand,.landing-shell .mobile-brand span{color:var(--on-dark)}.landing-shell .mobile-bar .icon-btn,.landing-shell .mobile-bar .xp-chip{border-color:var(--showroom-line);color:var(--on-dark);background:#ffffff0f}.landing-shell .page-footer{border-top-color:var(--showroom-line);color:var(--on-dark-3)}.landing-shell .page-footer a,.landing-shell .page-footer .page-footer-brand{color:var(--on-dark-2)}.landing-shell .page-footer a:hover{color:var(--on-dark)}.hp{container:hp/inline-size}.hp-wrap{width:100%;max-width:calc(1600px + 2 * var(--landing-gutter,64px));padding-inline:var(--landing-gutter,clamp(20px, 4vw, 64px));margin-inline:auto}.hp h2{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--on-dark);text-wrap:balance;margin:10px 0 0;font-size:clamp(38px,3.8vw,60px);font-weight:400;line-height:1.02}.hp h3{font-size:var(--fs-22);letter-spacing:-.015em;color:var(--on-dark);margin:0;font-weight:650;line-height:1.25}.hp .eyebrow{color:var(--lamp-on-dark)}.hp-link{font-size:var(--fs-16);color:var(--on-dark);white-space:nowrap;align-items:center;gap:6px;font-weight:600;text-decoration:none;display:inline-flex}a.hp-link:hover,a:hover>.hp-link{text-underline-offset:4px;text-decoration:underline}.hp .btn-primary,.mp-hero .btn-primary,.auth .btn-primary,.welcome .btn-primary{color:var(--showroom-950);background:#fff;box-shadow:0 12px 30px -14px #000000b3}.hp .btn-primary:hover:not(:disabled),.mp-hero .btn-primary:hover:not(:disabled),.auth .btn-primary:hover:not(:disabled),.welcome .btn-primary:hover:not(:disabled){color:var(--showroom-950);background:#e8e7e3}.hp .btn-secondary,.mp-hero .btn-secondary,.auth .btn-secondary,.welcome .btn-secondary{color:var(--on-dark);box-shadow:none;background:#ffffff0d;border-color:#ffffff38}.hp .btn-secondary:hover:not(:disabled),.mp-hero .btn-secondary:hover:not(:disabled),.auth .btn-secondary:hover:not(:disabled),.welcome .btn-secondary:hover:not(:disabled){color:var(--on-dark);background:#ffffff1c;border-color:#ffffff6b}.hp-hero{isolation:isolate;background:radial-gradient(46% 60% at 70% 46%, #ffffff1a, transparent 72%), linear-gradient(180deg, var(--showroom-800), var(--showroom-950) 78%);flex-direction:column;min-height:max(600px,100svh - 64px);display:flex;position:relative;overflow:hidden}.hp-hero:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#ffffff0a 1px,#0000 1px) 0 0/40px 40px,linear-gradient(90deg,#ffffff0a 1px,#0000 1px) 0 0/40px 40px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 80% at 66% 42%,#000,#0000 80%);mask-image:radial-gradient(80% 80% at 66% 42%,#000,#0000 80%)}.hp-hero-grid{flex:1;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);align-items:center;column-gap:clamp(28px,3vw,64px);padding-block:clamp(16px,2vw,40px);display:grid}.hp-hmi{border-top:1px solid var(--showroom-line);background:#0000002e}.hp-hmi>.hp-wrap{height:48px;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--on-dark-3);font-variant-numeric:tabular-nums;align-items:center;gap:28px;font-size:13px;display:flex}.hp-hmi>.hp-wrap>span:first-child{color:var(--on-dark-2);margin-right:auto}.hp-hmi-run{color:var(--lamp-on-dark);align-items:center;gap:9px;display:inline-flex}.hp-tag-lamp{background:var(--lamp-on-dark);border-radius:50%;flex:none;width:7px;height:7px;box-shadow:0 0 0 3px #6fe0a029,0 0 12px #6fe0a08c}.hp-hero-copy{flex-direction:column;align-items:flex-start;display:flex;container:hp-copy/inline-size}.hp-pill{border-radius:var(--r-pill);font-size:var(--fs-15);color:var(--on-dark-2);background:#ffffff0d;border:1px solid #ffffff24;align-items:center;gap:10px;padding:7px 15px 7px 13px;font-weight:560;display:inline-flex}.hp .hp-title{font-family:var(--font-serif);letter-spacing:-.025em;color:var(--on-dark);margin:clamp(18px,1.8vw,28px) 0 0;font-size:clamp(40px,12.4cqi,92px);font-weight:400;line-height:.96}.hp-title span{color:var(--on-dark-3);text-wrap:balance;padding-bottom:.04em;font-style:italic;display:block}.hp-lead{max-width:34em;color:var(--on-dark-2);text-wrap:pretty;margin:clamp(18px,1.8vw,26px) 0 0;font-size:clamp(17px,1.3vw,20px);line-height:1.6}.hp-actions{flex-wrap:wrap;gap:12px;margin-top:clamp(24px,2.2vw,36px);display:flex}.hp-next{font-size:var(--fs-15);color:var(--on-dark-2);margin:16px 0 0}.hp-next strong{color:var(--on-dark)}.hp-ticks{font-size:var(--fs-15);color:var(--on-dark-2);flex-wrap:wrap;gap:8px 24px;margin:28px 0 0;padding:0;list-style:none;display:flex}.hp-ticks li{align-items:center;gap:7px;display:inline-flex}.hp-ticks svg{color:var(--lamp-on-dark)}.hp-progress{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;width:100%;max-width:560px;margin:clamp(22px,2vw,30px) 0 0;display:grid}.hp-progress dt{font-size:var(--fs-15);color:var(--on-dark);font-weight:650}.hp-progress dd{font-size:var(--fs-15);color:var(--on-dark-3);margin:2px 0 0}.hp-meter{background:#ffffff24;border-radius:2px;height:4px;margin-top:8px;display:block;overflow:hidden}.hp-meter>span{background:var(--lamp-on-dark);height:100%;display:block}.hp-plant{justify-self:end;width:100%;min-width:0;max-width:max(480px,160svh - 672px);margin:0;container:hp-plant/inline-size}.hp-plant-scene{aspect-ratio:16/10;position:relative}.hp-plant-scene>img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0;transform:scale(1.12)}.hp-plant-leaders{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.hp-plant-leaders path{fill:none;stroke:#ffffff75;stroke-width:1px;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.hp-plant-points i{background:var(--lamp-on-dark);border-radius:50%;width:9px;height:9px;margin:-4.5px;position:absolute;box-shadow:0 0 0 4px #6fe0a02e,0 0 16px #6fe0a0b3}.hp-plant-points i:after{content:"";opacity:0;animation:hp-ping 2.6s var(--ease-out) infinite paused;border:1px solid #6fe0a0b3;border-radius:50%;position:absolute;inset:-7px}.hp-plant-points i:nth-child(2):after{animation-delay:.65s}.hp-plant-points i:nth-child(3):after{animation-delay:1.3s}.hp-plant-points i:nth-child(4):after{animation-delay:1.95s}.hp-hero[data-live] .hp-plant-points i:after{animation-play-state:running}@keyframes hp-ping{0%{opacity:1;transform:scale(.5)}to{opacity:0;transform:scale(2.4)}}.hp-tag{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;background:#16191ecc;border:1px solid #ffffff24;border-radius:10px;gap:3px;padding:8px 12px 9px;display:grid;position:absolute;box-shadow:0 14px 30px -16px #000c}.hp-tag small{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--on-dark-3);font-size:12px}.hp-tag strong{font-family:var(--font-mono);color:var(--on-dark);font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-size:15px;font-weight:500;display:flex}.hp-plant-panels{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:14px;margin-top:clamp(14px,1.4vw,22px);display:grid;position:relative}.hp-plant-panels>.mock{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#16191feb;border-color:#ffffff1f;box-shadow:0 28px 50px -26px #000000d9}.hp-plant-panels .mock-code-lines li{transition:background-color .22s var(--ease), box-shadow .22s var(--ease)}.hp-plant figcaption{font-size:var(--fs-15);color:var(--on-dark-3);margin-top:18px;line-height:1.6}.hp-plant figcaption strong{color:var(--on-dark)}.hp-plant figcaption .hp-link{font-size:var(--fs-15)}.hp-plant-still{position:absolute;inset:0}.hp-plant-scene>img,.hp-plant-still{transition:opacity .4s var(--ease) .7s}.hp-plant-scene[data-stage=live]>img,.hp-plant-scene[data-stage=live]>.hp-plant-still{opacity:0}.hp-live{z-index:1;opacity:0;pointer-events:none;transition:opacity .9s var(--ease);position:absolute;inset:0}.hp-live[data-ready]{opacity:1;pointer-events:auto}.hp-live canvas{touch-action:pan-y;cursor:grab;-webkit-mask-image:linear-gradient(90deg,#0000,#000 3% 97%,#0000),linear-gradient(#0000,#000 3% 97.5%,#0000);mask-image:linear-gradient(90deg,#0000,#000 3% 97%,#0000),linear-gradient(#0000,#000 3% 97.5%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.hp-live canvas:active{cursor:grabbing}.hp-live[data-hover] canvas{cursor:pointer}.hp-live-leaders{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.hp-live-leaders path{fill:none;stroke:#ffffff75;stroke-width:1px;stroke-dasharray:3 3}.hp-live-points i,.hp-live-tag,.hp-live-hover{will-change:transform;position:absolute;top:0;left:0}.hp-live-points i{background:var(--lamp-on-dark);border-radius:50%;width:9px;height:9px;margin:-4.5px;box-shadow:0 0 0 4px #6fe0a02e,0 0 16px #6fe0a0b3}.hp-live-tag{font:inherit;text-align:left;cursor:pointer;transition:border-color .2s var(--ease), background-color .2s var(--ease), opacity .3s var(--ease)}.hp-live-tag[data-corner=top-right]{translate:-100%}.hp-live-tag[data-corner=bottom-left]{translate:0 -100%}.hp-live-tag[data-corner=bottom-right]{translate:-100% -100%}.hp-live-tag:hover,.hp-live-tag:focus-visible{background:#18221ee6;border-color:#6fe0a099}.hp-live-tag .hp-tag-lamp{transition:background-color .3s var(--ease), box-shadow .3s var(--ease)}.hp-live-tag[data-off] .hp-tag-lamp{background:#ffb02e;box-shadow:0 0 0 3px #ffb02e29,0 0 12px #ffb02e8c}.hp-live :is(.hp-live-leaders,.hp-live-points){transition:opacity .3s var(--ease)}.hp-live[data-focus] :is(.hp-live-tag,.hp-live-leaders,.hp-live-points),.hp-live[data-roam] :is(.hp-live-tag,.hp-live-leaders,.hp-live-points){opacity:0;pointer-events:none}.hp-live-hover{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .16s var(--ease);background:#121a17e0;border:1px solid #6fe0a073;border-radius:10px;gap:2px;padding:8px 13px 9px;display:grid;translate:-50% calc(-100% - 14px);box-shadow:0 16px 30px -18px #000000e6}.hp-live[data-hover] .hp-live-hover{opacity:1}.hp-live-hover strong{font-size:var(--fs-15);color:var(--on-dark);font-weight:650}.hp-live-hover small{font-family:var(--font-mono);letter-spacing:.04em;color:var(--lamp-on-dark);font-size:12px}.hp-live-card{z-index:2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:min(300px,44%);animation:hp-card-in .42s var(--ease-out) both;background:#14171ce6;border:1px solid #ffffff24;border-radius:14px;gap:10px;padding:16px 18px 18px;display:grid;position:absolute;bottom:0;right:0;box-shadow:0 30px 60px -28px #000000f2}@keyframes hp-card-in{0%{opacity:0;transform:translateY(14px)}}.hp-live-card h3{letter-spacing:-.01em;color:var(--on-dark);margin:0;font-size:21px;font-weight:650;line-height:1.2}.hp-live-card p{font-size:var(--fs-15);color:var(--on-dark-2);margin:0;line-height:1.5}.hp-live-back{font:inherit;font-size:var(--fs-15);color:var(--on-dark-3);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-self:start;align-items:center;gap:6px;margin:-4px 0 2px -6px;padding:4px 8px;display:inline-flex}.hp-live-back:hover,.hp-live-back:focus-visible{color:var(--on-dark);background:#ffffff14}.hp-live-code{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--lamp-on-dark);font-size:12px}.hp-live-card dl{background:#00000047;border-radius:10px;gap:6px;margin:2px 0 0;padding:10px 12px;display:grid}.hp-live-card dl>div{justify-content:space-between;gap:12px;display:flex}.hp-live-card dt{color:var(--on-dark-3);font-size:13px}.hp-live-card dd{font-family:var(--font-mono);text-align:right;color:var(--on-dark);font-variant-numeric:tabular-nums;margin:0;font-size:13px}.hp-live-action{border-radius:var(--r-pill);min-height:44px;font:inherit;font-size:var(--fs-15);color:var(--on-dark);cursor:pointer;transition:background-color .16s var(--ease), transform .16s var(--ease);background:#ffffff14;border:1px solid #ffffff2e;justify-content:center;align-items:center;gap:8px;margin-top:4px;padding:0 16px;font-weight:620;display:inline-flex}.hp-live-action:hover:not(:disabled){background:#ffffff24}.hp-live-action:active:not(:disabled){transform:scale(.97)}.hp-live-action:disabled{opacity:.5;cursor:not-allowed}.hp-live-action.is-start{background:var(--lamp-on-dark);color:#0d1a13;border-color:#0000}.hp-live-action.is-start:hover:not(:disabled){background:#8ff0b8}.hp-live-action.is-stop{color:#fff;background:#d83a32;border-color:#0000}.hp-live-action.is-stop:hover{background:#ea4a40}.hp-live-action.is-reset{color:#fff;background:#2f6fe4;border-color:#0000}.hp-estop{z-index:3;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;justify-items:center;gap:6px;padding:0;display:grid;position:absolute;top:2px;right:2px}.hp-estop-disc{color:#fff;width:50px;height:50px;transition:transform .16s var(--ease), background .3s var(--ease), box-shadow .3s var(--ease);background:radial-gradient(circle at 50% 30%,#ff6a5c,#e2322a 55%,#b51d16);border-radius:50%;place-items:center;display:grid;position:relative;box-shadow:inset 0 1px 1px #ffffff73,inset 0 -3px 6px #00000040,0 0 0 5px #14171cd9,0 0 0 6px #ffffff1f,0 0 26px 2px #e2322a73,0 14px 26px -12px #000000e6}.hp-estop-disc:after{content:"";opacity:0;animation:hp-ring 2.8s var(--ease-out) 2s infinite;pointer-events:none;border:2px solid #ff6a5c8c;border-radius:50%;position:absolute;inset:-6px}.hp-estop:hover .hp-estop-disc{transform:scale(1.06)}.hp-estop:active .hp-estop-disc{transform:scale(.92)}.hp-estop:focus-visible{outline:none}.hp-estop:focus-visible .hp-estop-disc{box-shadow:inset 0 1px 1px #ffffff73,0 0 0 5px #14171cd9,0 0 0 7px #fff}.hp-estop-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-2);font-size:11px;font-weight:600}.hp-estop[data-tripped] .hp-estop-disc{background:radial-gradient(circle at 50% 30%,#6fa2ff,#2f6fe4 55%,#1d4fb8);box-shadow:inset 0 1px 1px #ffffff73,inset 0 -3px 6px #00000040,0 0 0 5px #14171cd9,0 0 0 6px #ffffff1f,0 0 30px 4px #2f6fe499,0 14px 26px -12px #000000e6}.hp-estop[data-tripped] .hp-estop-disc:after{animation:hp-ring 1.3s var(--ease-out) infinite;border-color:#6fa2ffcc}.hp-estop[data-tripped] .hp-estop-label{color:#a9c6ff}@keyframes hp-ring{0%{opacity:1;transform:scale(.9)}to{opacity:0;transform:scale(1.45)}}.hp-hmi-run[data-mode=starting] .hp-tag-lamp{background:#ffb02e;box-shadow:0 0 12px #ffb02eb3}.hp-hmi-run[data-mode=stopped] .hp-tag-lamp{box-shadow:none;background:#9aa1a8}.hp-hmi-run[data-mode=estop]{color:#ff8a80}.hp-live[data-mode=estop] .hp-tag-lamp,.hp-hmi-run[data-mode=estop] .hp-tag-lamp{background:#ff4a3d;animation:.8s step-end infinite hp-blink;box-shadow:0 0 0 3px #ff4a3d33,0 0 14px #ff4a3dcc}@keyframes hp-blink{50%{opacity:.25}}.hp-live-alarm{mix-blend-mode:screen;opacity:0;pointer-events:none;background:radial-gradient(46% 46% at 52% 56%,#ff32284d,#0000 72%);position:absolute;inset:0}.hp-live[data-mode=estop] .hp-live-alarm{animation:1.1s ease-in-out infinite hp-alarm}@keyframes hp-alarm{50%{opacity:1}}.hp-live-status{z-index:2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-width:41%;color:var(--on-dark-2);transition:opacity .3s var(--ease), border-color .3s var(--ease);background:#14171cd1;border:1px solid #ffffff1f;border-radius:12px;align-items:center;gap:10px;margin:0;padding:6px 8px 6px 14px;font-size:13px;line-height:1.35;display:flex;position:absolute;bottom:0;left:57.5%;translate:-50%}.hp-live-status[data-kind=hint]{white-space:nowrap;pointer-events:none;animation:hp-hint .6s var(--ease) 1.2s both;padding-right:14px}.hp-live-status[data-kind=""],.hp-live[data-focus] .hp-live-status{opacity:0;pointer-events:none}.hp-live-status[data-kind=estop]{color:#ffd2cd;background:#281010e0;border-color:#ff5a508c;padding-right:14px}.hp-live-status strong{color:#ff8a80}.hp-live-status button{border-radius:var(--r-pill);background:var(--lamp-on-dark);min-height:30px;font:inherit;color:#0d1a13;cursor:pointer;border:0;flex:none;padding:0 12px;font-weight:650}@keyframes hp-hint{0%{opacity:0;transform:translateY(6px)}}.hp-numbers{grid-template-columns:repeat(5,minmax(0,1fr));margin:clamp(48px,5vw,80px) 0 0;padding:0;display:grid}.hp-numbers>div{border-left:1px solid var(--showroom-line);padding:4px clamp(16px,2vw,32px)}.hp-numbers>div:first-child{border-left:0;padding-left:0}.hp-numbers dt{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--on-dark);font-size:clamp(42px,3.8vw,64px);line-height:1}.hp-numbers dd{font-size:var(--fs-15);color:var(--on-dark-3);margin:10px 0 0;line-height:1.4}.hp-section{margin-top:clamp(100px,10vw,160px)}.hp-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 40px;margin-bottom:clamp(32px,3.5vw,52px);display:flex}.hp-head>div{max-width:760px}.hp-head p{max-width:62ch;font-size:var(--fs-17);color:var(--on-dark-2);margin:16px 0 0;line-height:1.6}.hp-head p a{color:var(--on-dark);text-underline-offset:3px;font-weight:600}.hp-story-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,5vw,96px);display:grid}.hp-story-steps{margin:0;padding:0;list-style:none}.hp-story-steps>li{border-left:2px solid var(--showroom-line);opacity:.38;min-height:70vh;transition:opacity .32s var(--ease), border-color .32s var(--ease);flex-direction:column;justify-content:center;padding:40px 0 40px 32px;display:flex}.hp-story-steps>li.is-active{border-left-color:var(--lamp-on-dark);opacity:1}.hp-step-number{font-family:var(--font-mono);font-size:var(--fs-15);color:var(--on-dark-3);margin-bottom:16px;display:block}.hp .hp-story-steps h3{font-family:var(--font-serif);letter-spacing:-.02em;font-size:clamp(32px,2.8vw,46px);font-weight:400;line-height:1.05}.hp-story-steps p{max-width:40ch;font-size:var(--fs-17);color:var(--on-dark-2);margin:14px 0 0;line-height:1.6}.hp-story-steps ul{font-size:var(--fs-16);color:var(--on-dark-2);gap:10px;margin:22px 0 0;padding:0;list-style:none;display:grid}.hp-story-steps ul li{align-items:flex-start;gap:10px;display:flex}.hp-story-steps ul svg{color:var(--lamp-on-dark);flex:none;margin-top:3px}.hp-story-stage,.hp-story-inline{isolation:isolate;border:1px solid var(--showroom-line);background:radial-gradient(62% 58% at 50% 54%, #ffffff14, transparent 72%), linear-gradient(180deg, var(--showroom-800), var(--showroom-900) 70%);border-radius:24px;position:relative;overflow:hidden;box-shadow:0 40px 80px -50px #000c}.hp-story-stage:before,.hp-story-inline:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#ffffff09 1px,#0000 1px) 0 0/32px 32px,linear-gradient(90deg,#ffffff09 1px,#0000 1px) 0 0/32px 32px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 70%,#000,#0000 80%);mask-image:radial-gradient(70% 70%,#000,#0000 80%)}.hp-story-stage{flex-direction:column;align-self:start;display:flex;position:sticky;top:calc(64px + 6vh)}.hp-story-bar{border-bottom:1px solid var(--showroom-line);height:50px;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:var(--on-dark-3);background:#0000002e;flex:none;align-items:center;gap:clamp(14px,1.8vw,28px);padding:0 22px;font-size:13px;display:flex}.hp-story-bar>span{transition:color .3s var(--ease);align-items:center;gap:8px;display:inline-flex}.hp-story-bar b{font-weight:500}.hp-story-bar .is-active{color:var(--on-dark)}.hp-story-bar .is-active b{color:var(--lamp-on-dark)}.hp-story-live{color:var(--lamp-on-dark);margin-left:auto}.hp-story-pictures{aspect-ratio:16/10;max-height:calc(88vh - 114px);position:relative}.hp-story-picture{opacity:0;transition:opacity .38s var(--ease), transform .46s var(--ease-out);padding:clamp(14px,2vw,32px);position:absolute;inset:0;transform:translateY(14px)scale(.985)}.hp-story-picture.is-active{opacity:1;transform:none}.hp-story-picture>.scn{width:100%;height:100%}.hp-story-inline{display:none}.scn{font-family:var(--font-sans);display:block;overflow:visible}.scn text{fill:var(--on-dark-2)}.scn .scn-mono{font-family:var(--font-mono)}.scn .scn-serif{font-family:var(--font-serif)}.scn .scn-caps{letter-spacing:.08em;text-transform:uppercase;font-size:13.5px}.scn .scn-num{fill:var(--lamp-on-dark)}.scn .scn-sub{fill:var(--on-dark-3);font-size:14px}.scn .scn-count{letter-spacing:-.02em;fill:var(--on-dark);font-size:60px}.scn-paper{fill:var(--night-900);stroke:#ffffff24}.scn .scn-code{fill:var(--night-text);white-space:pre;font-size:15.5px}.scn .scn-var{fill:var(--syntax-variable)}.scn .scn-key{fill:var(--syntax-keyword)}.scn .scn-numeral{fill:var(--syntax-number)}.scn .scn-comment{fill:var(--syntax-comment)}.scn-rule{stroke:#ffffff1a}.scn-panel>rect{fill:#ffffff0a;stroke:#ffffff1f}.scn-lamp{fill:#0000;stroke:#ffffff57;stroke-width:1.5px}.scn-lamp.on{fill:var(--lamp-on-dark);stroke:#6fe0a04d;stroke-width:4px}.scn-lamp.water{fill:var(--water-400);stroke:#3fa7e04d;stroke-width:4px}.scn .scn-row-name{font-size:16px}.scn .scn-row-value{fill:var(--on-dark);font-size:15px}.scn-halo{fill:#ffffff06}.scn-ticks line{stroke:#ffffff21;stroke-width:1.5px}.scn-ticks line.major{stroke:#ffffff4d}.scn-track{fill:none;stroke:#ffffff24;stroke-width:2px}.scn-tail{fill:none;stroke:var(--lamp-on-dark);stroke-linecap:round}.scn-tail.t1{stroke-width:12px;opacity:.07}.scn-tail.t2{stroke-width:5px;opacity:.3}.scn-tail.t3{stroke-width:3px;opacity:.95}.scn-dot{fill:var(--lamp-on-dark)}.scn-dot-halo{fill:#6fe0a033}.scn-pulse{transform-box:view-box;transform-origin:480px 322px;animation:4s linear infinite paused scn-turn}.scn-return{fill:none;stroke:#fff6;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.scn-node circle{fill:var(--showroom-900);stroke:#ffffff3d;stroke-width:1.5px;animation:4s linear infinite paused scn-node}.scn-node.s2 circle{animation-delay:1s}.scn-node.s3 circle{animation-delay:2s}.scn .scn-node text{fill:var(--on-dark);font-size:15px}.scn-wire{fill:none;stroke:#6fe0a08c;stroke-width:1.5px;stroke-dasharray:4 5;animation:.9s linear infinite paused scn-flow}.scn-panel.p1>rect,.scn-panel.p3>rect,.scn-run-label .scn-paper{animation:4s linear infinite paused scn-glow}.scn-run-label .scn-paper{animation-name:scn-glow;animation-delay:1s}.scn-panel.p3>rect{animation-delay:2s}@keyframes scn-turn{to{transform:rotate(360deg)}}@keyframes scn-node{0%,16%{fill:#6fe0a02e;stroke:var(--lamp-on-dark)}30%,to{fill:var(--showroom-900);stroke:#ffffff3d}}@keyframes scn-glow{0%,18%{stroke:#6fe0a0b3}34%,to{stroke:#ffffff1f}}@keyframes scn-flow{to{stroke-dashoffset:-18px}}.scn-editor-head{fill:var(--night-800)}.scn .scn-file{fill:var(--night-text);font-size:15px}.scn-file-line{fill:var(--lamp-on-dark)}.scn .scn-file-meta{fill:var(--night-muted);font-size:13px}.scn .scn-file-meta.on-dark{fill:var(--on-dark-3)}.scn .scn-gutter{fill:#5c616a;font-size:14px}.scn-live-line{fill:var(--editor-power-bg);animation:5.4s step-end infinite paused scn-line}@keyframes scn-line{0%{transform:translateY(0)}16.66%{transform:translateY(38px)}33.33%{transform:translateY(76px)}50%{transform:translateY(114px)}66.66%{transform:translateY(190px)}83.33%{transform:translateY(228px)}}.scn .scn-status{fill:var(--lamp-on-dark);font-size:14px;font-weight:650}.scn-floor{fill:#ffffff12;filter:blur(22px)}.scn-tag rect{fill:#16191ee6;stroke:#ffffff29}.scn .scn-tag-name{letter-spacing:.05em;fill:var(--on-dark-3);font-size:12.5px}.scn .scn-tag-value{fill:var(--on-dark);font-size:15.5px}.scn-leader path{fill:none;stroke:#ffffff73;stroke-width:1px;stroke-dasharray:3 3}.scn-point{fill:var(--lamp-on-dark)}.scn-ping{fill:none;stroke:#6fe0a0a6;opacity:0;transform-box:fill-box;transform-origin:50%;animation:hp-ping 2.6s var(--ease-out) infinite paused}.scn-leader:nth-of-type(2) .scn-ping{animation-delay:.65s}.scn-leader:nth-of-type(3) .scn-ping{animation-delay:1.3s}.scn-leader:nth-of-type(4) .scn-ping{animation-delay:1.95s}.scn .scn-title{fill:var(--on-dark);font-size:20px;font-weight:650}.scn .scn-title.small{font-size:17px}.scn .scn-sub-sans{fill:var(--on-dark-3);font-size:15px}.scn-badge rect{fill:#ff8a8024;stroke:#ff8a805c}.scn .scn-badge text{fill:#ff8a80;font-size:14px;font-weight:650}.scn .scn-test-name{font-size:16.5px}.scn .scn-test.fail .scn-test-name{fill:var(--on-dark);font-weight:600}.scn .scn-test-meta{fill:var(--on-dark-3);font-size:13.5px}.scn .scn-test.fail .scn-test-meta{fill:#ff8a80}.scn-test-icon{fill:#2bb46a}.scn-test.fail .scn-test-icon{fill:#e5484d}.scn-test-mark{fill:none;stroke:#fff;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.scn-test-band{fill:#ff8a8014}.scn-grid{stroke:#ffffff12}.scn .scn-axis{fill:var(--on-dark-3);font-size:12.5px}.scn .scn-signal-name{font-size:14px}.scn-wave{fill:none;stroke:var(--lamp-on-dark);stroke-width:2px;stroke-linejoin:round}.scn-expected{fill:none;stroke:#ffffff8c;stroke-width:1.5px;stroke-dasharray:5 4}.scn-fault-band{fill:#ff8a801a;stroke:#ff8a804d}.scn-fault-note rect{fill:#ff8a8029;stroke:#ff8a8066}.scn .scn-fault-note text{fill:#ff8a80;font-size:13px}.scn-playhead line{stroke:#fff;stroke-width:1.5px}.scn-playhead circle{fill:#fff}.hp-story[data-live] :is(.hp-story-picture.is-active,li.is-active>.hp-story-inline) .scn *{animation-play-state:running}:is(.hp-story-picture.is-active,li.is-active>.hp-story-inline) .scn-test{animation:scn-pop .42s var(--ease-out) both}:is(.hp-story-picture.is-active,li.is-active>.hp-story-inline) .scn-test.t2{animation-delay:.45s}:is(.hp-story-picture.is-active,li.is-active>.hp-story-inline) .scn-test.t3{animation-delay:.8s}:is(.hp-story-picture.is-active,li.is-active>.hp-story-inline) .scn-playhead{animation:scn-replay 1.6s var(--ease-out) .9s both}:is(.hp-story-picture.is-active,li.is-active>.hp-story-inline) :is(.scn-fault-band,.scn-fault-note){animation:scn-fade .5s var(--ease) 2.3s both}@keyframes scn-pop{0%{opacity:0;transform:translate(-10px)}}@keyframes scn-replay{0%{transform:translate(-350px)}}@keyframes scn-fade{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.hp-story-picture,.hp-story-steps>li{transition:none}.hp-plant-points i:after,.scn-ping,.hp-estop-disc:after{display:none}.hp-live-card,.hp-live-status,.hp-live[data-mode=estop] .hp-live-alarm,.hp-live[data-mode=estop] .hp-tag-lamp,.hp-hmi-run[data-mode=estop] .hp-tag-lamp{animation:none}.scn *,:is(.hp-story-picture.is-active,li.is-active>.hp-story-inline) .scn *{animation:none!important}}.hp-bento{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.hp-bento>li.is-big{grid-area:span 2/span 2}.hp-bento a{isolation:isolate;aspect-ratio:5/4;border:1px solid var(--showroom-line);background:radial-gradient(70% 60% at 50% 42%, #ffffff1f, transparent 72%), linear-gradient(180deg, var(--showroom-800), var(--showroom-900));height:100%;color:var(--on-dark);transition:transform .26s var(--ease-out), border-color .26s var(--ease), box-shadow .26s var(--ease);border-radius:20px;flex-direction:column;justify-content:flex-end;padding:18px 20px;text-decoration:none;display:flex;position:relative;overflow:hidden}.hp-bento>li.is-big>a{aspect-ratio:auto;padding:clamp(24px,2.6vw,36px)}.hp-bento a:hover{border-color:#ffffff38;transform:translateY(-3px);box-shadow:0 26px 50px -30px #000000e6}.hp-bento img{z-index:-1;object-fit:contain;width:88%;height:66%;transition:transform .52s var(--ease-out);position:absolute;inset:7% 6% 27%}.hp-bento .is-big img{width:90%;height:71%;inset:9% 5% 20%}.hp-bento a:hover img{transform:scale(1.04)}.hp-bento-level{border-radius:var(--r-pill);font-size:var(--fs-15);color:var(--on-dark-2);background:#ffffff14;border:1px solid #ffffff29;padding:2px 10px;font-weight:560;position:absolute;top:14px;left:14px}.hp-bento .is-big .hp-bento-level{top:22px;left:22px}.hp-bento-text{gap:3px;display:grid}.hp-bento-text small{font-family:var(--font-mono);font-size:var(--fs-15);color:var(--lamp-on-dark)}.hp-bento-text strong{font-size:var(--fs-17);color:var(--on-dark);font-weight:650}.hp-bento-text>span{font-size:var(--fs-15);color:var(--on-dark-3)}.hp-bento .is-big .hp-bento-text strong{font-family:var(--font-serif);letter-spacing:-.02em;font-size:clamp(36px,3.4vw,56px);font-weight:400;line-height:1.02}.hp-bento .is-big .hp-bento-text>span{font-size:var(--fs-17)}.hp-bento .is-more a{color:var(--on-dark-2);background:0 0;justify-content:space-between;gap:12px}.hp-bento .is-more strong{font-family:var(--font-serif);letter-spacing:-.03em;color:var(--on-dark);font-size:clamp(56px,5vw,88px);font-weight:400;line-height:.9}.hp-bento .is-more span{font-size:var(--fs-15);line-height:1.5}.hp-business{border:1px solid var(--showroom-line);background:radial-gradient(80% 120% at 0% 0%, #ffffff0f, transparent 60%), var(--showroom-900);border-radius:28px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(32px,4vw,64px);padding:clamp(32px,4.5vw,64px);display:grid}.hp-business-copy p{max-width:44ch;font-size:var(--fs-17);color:var(--on-dark-2);margin:16px 0 0;line-height:1.6}.hp-business-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.hp-business-card{border:1px solid var(--showroom-line);border-radius:var(--r-lg);color:var(--on-dark-2);transition:border-color .18s var(--ease), background .18s var(--ease);background:#ffffff0a;flex-direction:column;gap:10px;padding:24px;line-height:1.5;text-decoration:none;display:flex}.hp-business-card:hover{background:#ffffff12;border-color:#ffffff42}.hp-business-card>svg{color:var(--lamp-on-dark)}.hp-business-card strong{font-size:var(--fs-19);color:var(--on-dark);font-weight:650}.hp-business-card .hp-link{margin-top:auto;padding-top:8px}.hp-final{--final-paper:#f3f2ef;--final-ink:#0f1115;background:var(--final-paper);color:#535861;border-radius:28px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px 48px;margin-top:clamp(28px,3vw,40px);padding:clamp(32px,4.5vw,64px);display:flex}.hp-final>div{max-width:660px}.hp .hp-final h2{color:var(--final-ink);margin:0;font-size:clamp(32px,3vw,46px)}.hp-final p{font-size:var(--fs-17);margin:12px 0 0}.hp .hp-final .btn-primary{background:var(--final-ink);color:#fff}.hp .hp-final .btn-primary:hover:not(:disabled){color:#fff;background:#000}.hp-body{padding-bottom:clamp(56px,6vw,96px)}@container hp-copy (max-width:480px){.hp-actions{flex-direction:column;align-self:stretch}}@container hp (max-width:1180px){.hp-hero-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.hp-hmi-cycle{display:none}.hp-business{grid-template-columns:minmax(0,1fr)}}@container hp-plant (max-width:620px){.hp-plant-panels>.mock{zoom:.86}.hp-tag{zoom:.9}.hp-plant-tags .hp-tag:nth-child(n+3),.hp-plant-leaders path:nth-child(n+3),.hp-plant-points i:nth-child(n+3),.hp-live-tag[data-corner^=top],.hp-live-leaders path:nth-child(n+3),.hp-live-points i:nth-child(n+3){display:none}.hp-live-card{background:var(--showroom-900);gap:8px;width:auto;padding:12px 14px 14px;top:calc(100% + 8px);bottom:auto;left:0}.hp-live-card p{display:none}.hp-estop-disc{width:44px;height:44px}.hp-live-status{white-space:nowrap;max-width:calc(100% - 16px);font-size:12px;left:50%}.hp-live-more{display:none}}@container hp (max-width:1000px){.hp-story-grid{grid-template-columns:minmax(0,1fr)}.hp-story-stage{display:none}.hp-story-steps{gap:64px;display:grid}.hp-story-steps>li{opacity:1;border-left:0;min-height:0;padding:0}.hp-story-inline{margin-top:28px;padding:clamp(12px,2.4vw,28px);display:block}.hp-story-inline>.scn{width:100%;height:auto}}@container hp (max-width:880px){.hp-hero{min-height:0}.hp-hero-grid{grid-template-columns:minmax(0,1fr);row-gap:32px}.hp .hp-title{font-size:clamp(40px,11cqi,72px)}.hp-numbers{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}.hp-numbers>div,.hp-numbers>div:first-child{border-top:1px solid var(--showroom-line);border-left:0;padding:16px 0 0}.hp-bento{grid-template-columns:repeat(2,minmax(0,1fr))}.hp-bento>li.is-big{grid-row:span 1}.hp-bento>li.is-big>a{aspect-ratio:16/10}}@container hp (max-width:640px){.hp-hmi>.hp-wrap>span:nth-child(n+3),.hp-plant-tags,.hp-plant-leaders,.hp-plant-points,.hp-live-tag,.hp-live-leaders,.hp-live-points{display:none}.hp-plant-panels,.hp-business-cards{grid-template-columns:minmax(0,1fr)}.hp-plant-panels{margin-top:12px}.hp-numbers{grid-template-columns:repeat(2,minmax(0,1fr))}.hp-progress{gap:16px}}@container hp (max-width:520px){.hp-progress,.hp-bento{grid-template-columns:minmax(0,1fr)}.hp-bento>li.is-big{grid-column:auto}}
