.hw{container:hw/inline-size}.hw h1,.hw h2{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--ink-950);text-wrap:balance;font-weight:400}.hw h2{margin:12px 0 0;font-size:clamp(36px,4vw,56px);line-height:1.02}.hw h3{font-size:var(--fs-22);letter-spacing:-.015em;color:var(--ink-950);margin:0;font-weight:650;line-height:1.25}.hw p{line-height:1.6}.hw-section{margin-top:clamp(96px,10vw,150px)}.hw-head{max-width:760px;margin:0 0 clamp(36px,4vw,56px)}.hw-head p{max-width:60ch;font-size:var(--fs-17);color:var(--ink-600);text-wrap:pretty;margin:18px 0 0}.hw-hero{isolation:isolate;background:radial-gradient(50% 60% at 74% 50%, #ffffff1c, transparent 72%), linear-gradient(180deg, var(--showroom-800), var(--showroom-950) 72%);min-height:clamp(560px,100svh - 78px - clamp(28px,3.2vw,56px),900px);color:var(--on-dark-2);border-radius:28px;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:clamp(32px,4vw,72px);padding:clamp(32px,4vw,64px);display:grid;position:relative;overflow:hidden;box-shadow:0 50px 90px -56px #10121699}.hw-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(85% 80% at 70% 45%,#000,#0000 78%);mask-image:radial-gradient(85% 80% at 70% 45%,#000,#0000 78%)}.hw-hero .eyebrow{color:var(--lamp-on-dark)}.hw .hw-hero h1{color:var(--on-dark);margin:16px 0 0;font-size:clamp(42px,4.3vw,72px);line-height:.98}.hw-hero h1 span{color:var(--on-dark-3);padding-bottom:.04em;font-style:italic;display:block}.hw-lead{max-width:50ch;color:var(--on-dark-2);margin:24px 0 0;font-size:clamp(17px,1.35vw,19px)}.hw-hero .btn-primary{color:var(--showroom-950);background:#fff;box-shadow:0 12px 30px -14px #000000b3}.hw-hero .btn-primary:hover:not(:disabled){color:var(--showroom-950);background:#e8e7e3}.hw-hero .btn-secondary{color:var(--on-dark);box-shadow:none;background:#ffffff0d;border-color:#ffffff38}.hw-hero .btn-secondary:hover:not(:disabled){color:var(--on-dark);background:#ffffff1c;border-color:#ffffff6b}.hw-actions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.hw-new{border-left:3px solid var(--ink-950);border-radius:0 var(--r-md) var(--r-md) 0;background:var(--bg-900);max-width:88ch;font-size:var(--fs-16);color:var(--ink-600);margin:clamp(28px,3vw,44px) 0 0;padding:18px 22px}.hw-new strong{color:var(--ink-950)}.hw-hero-picture{margin:0;padding:0 0 64px;position:relative}.hw-hero-frame img{width:100%;height:auto;display:block}.hw-hero-picture>.mock{z-index:1;border-color:#0000;position:absolute;box-shadow:0 28px 50px -26px #000000d9}.hw-hero-picture>.mock-code{width:min(340px,62%);bottom:0;left:0}.hw-hero-picture>.mock-readings{width:min(280px,50%);top:2%;right:0}.hw-loop{gap:clamp(48px,6vw,88px);margin:0;padding:0;list-style:none;display:grid}.hw-loop>li{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:clamp(32px,5vw,80px);display:grid}.hw-loop>li:nth-child(2n) .hw-loop-copy{order:2}.hw-loop-number{font-family:var(--font-mono);font-size:var(--fs-15);color:var(--ink-500);margin-bottom:10px;display:block}.hw-loop-copy h3{font-size:var(--fs-28)}.hw-loop-copy>p{max-width:46ch;font-size:var(--fs-17);color:var(--ink-600);margin:12px 0 0}.hw-loop-copy ul{gap:10px;margin:22px 0 0;padding:0;list-style:none;display:grid}.hw-loop-copy ul li{color:var(--ink-700);align-items:flex-start;gap:10px;line-height:1.45;display:flex}.hw-loop-copy ul svg{color:var(--lamp-600);flex:none;margin-top:3px}.hw-loop-picture{border:1px solid var(--line-200);border-radius:var(--r-xl);background:radial-gradient(circle at 1px 1px, #16181c17 1px, transparent 0) 0 0 / 16px 16px, var(--bg-950);flex-direction:column;justify-content:center;min-height:340px;padding:clamp(28px,4vw,56px);display:flex}.hw-loop-picture>.mock{width:100%;max-width:460px;margin:0 auto;font-size:15px}.hw-loop-picture .mock-code-lines{font-size:15px}.hw-run{gap:10px;width:100%;max-width:460px;margin:0 auto;display:grid}.hw-run-rig{border:1px solid var(--line-200);background:var(--showroom-900);border-radius:12px;overflow:hidden}.hw-run-rig img{width:100%;height:auto;display:block}.hw-rig{border:1px solid var(--line-200);background:var(--bg-900);border-radius:22px;min-height:clamp(460px,60vh,660px);display:flex;overflow:hidden;box-shadow:0 1px 2px #1012160d,0 40px 80px -48px #1012164d}.hw-rig .rig-preview{flex:1}.hw-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0 0;padding:0;list-style:none;display:grid}.hw-controls li{align-items:flex-start;gap:14px;display:flex}.hw-controls svg{color:var(--ink-950);flex:none;margin-top:2px}.hw-controls strong{color:var(--ink-950)}.hw-controls p{font-size:var(--fs-15);color:var(--ink-600);margin:4px 0 0}.hw-compare{border-collapse:separate;border-spacing:0;border:1px solid var(--line-200);border-radius:var(--r-xl);background:var(--bg-900);width:100%;font-size:var(--fs-16);box-shadow:var(--shadow-1);overflow:hidden}.hw-compare th,.hw-compare td{text-align:left;vertical-align:top;border-top:1px solid var(--line-100);padding:18px 24px}.hw-compare thead th{font-family:var(--font-mono);font-size:var(--fs-15);color:var(--ink-500);border-top:0;padding-block:16px;font-weight:500}.hw-compare tbody th{width:20%;color:var(--ink-950);font-weight:650}.hw-compare td{color:var(--ink-500)}.hw-compare td:last-child,.hw-compare thead th:last-child{box-shadow:inset 1px 0 0 var(--ok-border);color:var(--ink-950);background:#1f9d5a0b;position:relative}.hw-compare td:last-child{padding-left:52px;font-weight:560}.hw-compare td:last-child:before{content:"";border-bottom:2px solid var(--lamp-600);border-left:2px solid var(--lamp-600);width:12px;height:7px;position:absolute;top:24px;left:24px;transform:rotate(-45deg)}.hw-engine{background:radial-gradient(120% 100% at 100% 0%, #ffffff12, transparent 55%), var(--showroom-800);color:#ffffffb8;border:1px solid var(--showroom-line);border-radius:24px;margin-top:clamp(96px,10vw,150px);padding:clamp(40px,6vw,80px) clamp(24px,5vw,64px)}.hw-engine .eyebrow{color:var(--lamp-on-dark)}.hw .hw-engine h2,.hw-engine h3{color:#fff}.hw-engine .hw-head p{color:#ffffffb8}.hw-engine .tour-scan{border-radius:var(--r-lg);background:#ffffff0a;border:1px solid #ffffff1f;max-width:820px;margin:0 auto 40px;padding:28px 24px 22px}.tour-scan svg{width:100%;max-height:130px;display:block}.scan-track{fill:none;stroke:#ffffff38;stroke-width:3px}.scan-flow{fill:none;stroke:#2bb46a;stroke-width:3px;stroke-dasharray:6 14}.scan-node{fill:#1d2026;stroke:#fff6;stroke-width:2px}.scan-symbol{fill:none;stroke:#fff;stroke-width:2px;stroke-linejoin:round}.scan-labels{gap:var(--s-3);margin-top:var(--s-3);text-align:center;font-size:var(--fs-15);color:#ffffff9e;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.scan-labels span{gap:var(--s-1);display:grid}.scan-labels strong{color:#fff;font-size:var(--fs-16)}.tour-scan figcaption{margin-top:var(--s-5);text-align:center;font-family:var(--font-mono);font-size:var(--fs-15);color:#ffffff9e}.tour-scan[data-motion=animated] .scan-flow{animation:2s linear infinite scan-flow}.tour-scan[data-motion=animated] .scan-node{animation:3s linear infinite scan-node}.tour-scan[data-motion=animated] .scan-node-1{animation-delay:1s}.tour-scan[data-motion=animated] .scan-node-2{animation-delay:2s}@keyframes scan-flow{to{stroke-dashoffset:-40px}}@keyframes scan-node{0%,28%{fill:#2bb46a;stroke:var(--lamp-on-dark)}33%,to{fill:#1d2026}}@media (prefers-reduced-motion:reduce){.tour-scan .scan-flow,.tour-scan .scan-node{animation:none!important}}.hw-engine-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(32px,5vw,72px);display:grid}.hw-engine-list article{border-top:1px solid #ffffff1f;padding:24px 0}.hw-engine-list h3{font-size:var(--fs-19)}.hw-engine-list p{font-size:var(--fs-15);color:#ffffffad;margin:8px 0 0}.hw-engine-list details{margin-top:10px}.hw-engine-list summary{cursor:pointer;width:fit-content;font-size:var(--fs-15);color:var(--lamp-on-dark);align-items:center;gap:8px;font-weight:600;list-style:none;display:inline-flex}.hw-engine-list summary:before{content:"";width:6px;height:6px;transition:transform .18s var(--ease);border-bottom:2px solid;border-right:2px solid;transform:rotate(-45deg)}.hw-engine-list details[open] summary:before{transform:rotate(45deg)}.hw-engine-list details p{color:#fff9}.hw-numbers{border-top:1px solid #ffffff1f;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin:32px 0 0;padding-top:32px;display:grid}.hw-numbers>div{flex-direction:column-reverse;gap:4px;display:flex}.hw-numbers dd{font-family:var(--font-serif);color:#fff;margin:0;font-size:clamp(36px,3.6vw,52px);line-height:1}.hw-numbers dt{font-size:var(--fs-15);color:#ffffff9e}.hw-employers{border:1px solid var(--line-200);background:var(--bg-900);box-shadow:var(--shadow-1);border-radius:24px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:24px clamp(32px,5vw,72px);margin-top:clamp(96px,10vw,150px);padding:clamp(32px,5vw,56px);display:grid}.hw .hw-employers h2{font-size:clamp(32px,3.4vw,46px)}.hw-employers>div>p{color:var(--ink-600);margin:16px 0 0}.hw-employers ol{counter-reset:hire;gap:18px;margin:0;padding:0;list-style:none;display:grid}.hw-employers ol li{counter-increment:hire;color:var(--ink-600);grid-template-columns:34px minmax(0,1fr);column-gap:14px;line-height:1.5;display:grid}.hw-employers ol li:before{content:counter(hire);background:var(--bg-700);width:34px;height:34px;color:var(--ink-950);border-radius:50%;grid-row:span 2;place-items:center;font-weight:700;display:grid}.hw-employers ol strong{color:var(--ink-950)}.hw-employers>.btn{grid-column:2;justify-self:start}.hw-faq{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px 20px;display:grid}.hw-faq details{border:1px solid var(--line-200);border-radius:var(--r-lg);background:var(--bg-900)}.hw-faq summary{cursor:pointer;color:var(--ink-950);justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;font-weight:650;list-style:none;display:flex}.hw-faq summary::-webkit-details-marker{display:none}.hw-engine-list summary::-webkit-details-marker{display:none}.hw-faq summary:after{content:"";width:14px;height:14px;transition:transform .18s var(--ease);background:linear-gradient(currentColor,currentColor) 50%/14px 2px no-repeat,linear-gradient(currentColor,currentColor) 50%/2px 14px no-repeat;flex:none}.hw-faq details[open] summary:after{background:linear-gradient(currentColor,currentColor) 50%/14px 2px no-repeat}.hw-faq details p{color:var(--ink-600);margin:0;padding:0 20px 18px}.hw-faq-foot{justify-content:flex-start;margin-top:24px;display:flex}.hw-start{margin:clamp(96px,10vw,150px) 0 24px}.hw-start>p{font-size:var(--fs-17);color:var(--ink-600);margin:16px 0 32px}.hw-paths{text-align:left;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.hw-path{border:1px solid var(--line-200);border-radius:var(--r-lg);background:var(--bg-900);box-shadow:var(--shadow-1);text-align:left;transition:border-color .18s var(--ease), box-shadow .22s var(--ease), transform .22s var(--ease-out);align-items:flex-start;gap:14px;padding:22px;display:flex}.hw-path:hover{border-color:var(--line-300);box-shadow:var(--shadow-2);transform:translateY(-2px)}.hw-path>svg:first-child{color:var(--lamp-600);flex:none}.hw-path>span{flex:1;gap:4px;display:grid}.hw-path strong{font-size:var(--fs-17);color:var(--ink-950)}.hw-path>span>span{font-size:var(--fs-15);color:var(--ink-600);line-height:1.5}.hw-path>svg:last-child{color:var(--ink-950);flex:none;align-self:center}@media (max-width:1100px){.hw-hero{grid-template-columns:minmax(0,1fr);min-height:0}.hw-hero-picture{max-width:640px}.hw-loop>li{grid-template-columns:minmax(0,1fr);gap:24px}.hw-loop>li:nth-child(2n) .hw-loop-copy{order:0}.hw-numbers{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:24px}.hw-employers{grid-template-columns:minmax(0,1fr)}.hw-employers>.btn{grid-column:auto}}@media (max-width:860px){.hw-controls,.hw-faq,.hw-paths,.hw-engine-list{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.hw-hero-picture{padding:0}.hw-hero-picture>.mock{display:none}.hw-loop-picture{min-height:0;padding:20px 14px}.hw-rig{border-radius:16px;min-height:420px}.hw-numbers{grid-template-columns:repeat(2,minmax(0,1fr))}.tour-scan{padding:var(--s-4) var(--s-3)}.scan-labels{gap:var(--s-2)}.hw-compare thead{display:none}.hw-compare tr,.hw-compare th,.hw-compare td{width:auto;display:block}.hw-compare tbody th{width:auto;padding-bottom:4px}.hw-compare td{border-top:0;padding-top:6px}.hw-compare td:first-of-type:before{content:"The usual way";font-size:var(--fs-15);color:var(--ink-500);font-weight:600;display:block}.hw-compare td:last-child{padding-left:24px}.hw-compare td:last-child:before{content:"Here";width:auto;height:auto;font-size:var(--fs-15);color:var(--lamp-700);border:0;font-weight:600;display:block;position:static;transform:none}}
[data-coach-active=true]{outline:2px solid var(--brand-600);outline-offset:4px;animation:1.6s ease-in-out infinite coach-ring}@keyframes coach-ring{0%,to{box-shadow:0 0 0 4px color-mix(in srgb, var(--brand-600) 12%, transparent)}50%{box-shadow:0 0 0 8px color-mix(in srgb, var(--brand-600) 22%, transparent)}}.coach-control{display:contents}.coach-preferences{font-size:var(--fs-15);white-space:nowrap;flex:none;position:relative}.coach-preferences summary{align-items:center;gap:var(--s-2);cursor:pointer;min-height:38px;padding:var(--s-2);border:1px solid var(--line-200);border-radius:var(--r-sm);color:var(--ink-700);list-style:none;display:flex}.coach-preferences summary::-webkit-details-marker{display:none}.coach-menu{z-index:170;min-width:180px;padding:var(--s-3);background:var(--surface);border:1px solid var(--line-200);box-shadow:var(--shadow-2);border-radius:var(--r-md);gap:var(--s-2);display:grid;position:absolute;top:100%;right:0}.coach-menu button{font-size:var(--fs-15);justify-content:flex-start}.wb-passed [data-coach-active]{outline-offset:3px}@media (prefers-reduced-motion:reduce){[data-coach-active=true]{box-shadow:0 0 0 4px color-mix(in srgb, var(--brand-600) 12%, transparent);animation:none}}.editor-content[data-coach-active=true]{outline-offset:-3px}.spotlight-layer{z-index:250;pointer-events:none;position:fixed;inset:0}.spotlight-dim{width:100vw;height:100dvh;fill:var(--tour-dim);pointer-events:none;position:fixed;inset:0}.spotlight-edge{fill:none;stroke:var(--brand-500);stroke-width:3px}.spotlight-blocker{pointer-events:auto;touch-action:none;position:absolute}.spotlight-bubble{width:350px;max-width:calc(100vw - 24px);padding:var(--s-5);background:var(--surface);color:var(--ink-950);border:1px solid var(--brand-600);border-radius:var(--r-lg);box-shadow:var(--shadow-2);pointer-events:auto;animation:tour-arrive .18s var(--ease);position:fixed}.spotlight-bubble h2{color:var(--ink-950);font-size:var(--fs-22);margin:var(--s-3) 0 var(--s-2);line-height:1.3}.spotlight-bubble h2:focus{outline:none}.spotlight-bubble p{color:var(--ink-700);font-size:var(--fs-16);margin:0 0 var(--s-3);line-height:1.5}.spotlight-meta{justify-content:space-between;align-items:center;gap:var(--s-2);font-size:var(--fs-15);color:var(--brand-700);display:flex}.spotlight-meta button{font-size:var(--fs-15)}.spotlight-actions{justify-content:space-between;gap:var(--s-2);margin-top:var(--s-4);display:flex}.spotlight-bubble .spotlight-wait{font-size:var(--fs-15);padding:var(--s-2) var(--s-3);background:var(--brand-50);border-radius:var(--r-sm);color:var(--brand-700)}.spotlight-arrow{background:var(--surface);border:1px solid var(--brand-600);z-index:-1;width:14px;height:14px;position:absolute}.spotlight-feedback{padding:var(--s-3);background:var(--brand-50);border-left:3px solid var(--brand-600)}.spotlight-example{margin:0 0 var(--s-3);padding:var(--s-3);color:var(--night-text);background:var(--night-900);border-radius:var(--r-sm);font-size:var(--fs-16);white-space:pre-wrap}[data-coach],.test-case{scroll-margin:32px}@media (min-width:601px){.wb[data-tour-space] .wb-main,.wb[data-tour-space] .wb-dock,.wb[data-tour-space] .replay-strip,.wb[data-tour-space] .wb-passed{margin-left:388px}.wb[data-tour-target=mission] .wb-brief{flex-shrink:0;max-height:calc(100dvh - 200px)}}.tour-help{font-size:var(--fs-15)}@keyframes tour-arrive{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media (max-width:720px){.spotlight-bubble.is-sheet{left:var(--s-3);right:var(--s-3);bottom:var(--s-3);width:auto;max-height:42dvh;padding:var(--s-4) var(--s-4) 0;overflow:auto}.spotlight-bubble.is-sheet h2{margin:var(--s-2) 0 var(--s-1);font-size:19px}.spotlight-bubble.is-sheet p{font-size:15px}.spotlight-bubble.is-sheet .spotlight-actions{margin:var(--s-3) calc(-1 * var(--s-4)) 0;padding:var(--s-3) var(--s-4) var(--s-4);background:var(--surface);border-top:1px solid var(--line-100);position:sticky;bottom:0}}.spotlight-bubble.is-sheet.is-top{top:calc(var(--s-3) + env(safe-area-inset-top));bottom:auto}@media (prefers-reduced-motion:reduce){.spotlight-bubble{animation:none}}.spotlight-bubble h2:focus,.spotlight-bubble h2:focus-visible{box-shadow:none!important;outline:none!important}@media (max-width:600px){body.has-spotlight{padding-bottom:46vh}}
.pricing{grid-template-columns:minmax(0,1fr);gap:clamp(40px,5vw,72px);display:grid;container:pricing/inline-size}.pricing-beta{border:1px solid var(--ok-border);border-radius:var(--r-md);background:var(--lamp-tint);color:var(--ink-800);font-size:var(--fs-16);align-items:center;gap:14px;padding:16px 20px;line-height:1.5;display:flex}.pricing-beta strong{color:var(--lamp-700)}.plan-prices{gap:var(--s-4);display:grid}.currency-switch{color:var(--ink-600);font-size:var(--fs-15);justify-self:end;align-items:center;gap:10px;display:inline-flex}.currency-switch select{border:1px solid var(--line-300);border-radius:var(--r-sm);background:var(--bg-800) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23a9aeb6' stroke-width='1.6'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 12px center;min-height:40px;color:var(--ink-950);font:inherit;appearance:none;padding:0 34px 0 12px;font-weight:600}.currency-switch select:hover{border-color:var(--line-input)}.plan-groups{gap:var(--s-6) var(--s-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.plan-group-title{margin-bottom:var(--s-4);border-bottom:1px solid var(--line-200);font-family:var(--font-mono);font-size:var(--fs-15);letter-spacing:.01em;color:var(--ink-600);align-items:center;gap:8px;padding-bottom:12px;font-weight:500;display:flex}.plan-group{grid-column:span var(--cards,1);flex-direction:column;display:flex}.plan-cards{grid-template-columns:repeat(var(--cards,1), minmax(0, 1fr));gap:var(--s-4);flex:1;display:grid}.plan-card{border:1px solid var(--line-200);border-radius:var(--r-lg);background:var(--bg-900);box-shadow:var(--shadow-1);color:var(--ink-700);flex-direction:column;gap:10px;padding:26px 24px 24px;display:flex}.plan-card header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 10px;display:flex}.plan-card h3{font-size:var(--fs-22);letter-spacing:-.02em;font-weight:650}.plan-for{min-height:3.2em;color:var(--ink-600);font-size:var(--fs-15);line-height:1.55}.plan-price{flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-top:6px;display:flex}.plan-price strong{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--ink-950);font-variant-numeric:lining-nums;font-size:clamp(52px,4.4vw,64px);font-weight:400;line-height:.9}.plan-price span{color:var(--ink-500);font-size:var(--fs-15)}.plan-note{min-height:3em;color:var(--ink-500);font-size:var(--fs-15);line-height:1.5}.plan-card ul{border-top:1px solid var(--line-100);font-size:var(--fs-15);gap:10px;margin:8px 0 18px;padding:16px 0 0;line-height:1.45;list-style:none;display:grid}.plan-card li{grid-template-columns:16px minmax(0,1fr);gap:10px;display:grid}.plan-card li svg{color:var(--lamp-600);margin-top:2px}.plan-card .btn{width:100%;margin-top:auto}.plan-card.featured{background:radial-gradient(120% 90% at 100% 0%, #ffffff12, transparent 55%), var(--showroom-800);color:#ffffffd1;border-color:#ffffff38;box-shadow:0 24px 50px -28px #101216a6}.plan-card.featured h3,.plan-card.featured .plan-price strong{color:#fff}.plan-card.featured .plan-for{color:#ffffffbd}.plan-card.featured .plan-price span,.plan-card.featured .plan-note{color:#ffffffa3}.plan-card.featured ul{border-top-color:#ffffff1f}.plan-card.featured li svg{color:var(--lamp-on-dark)}.plan-card.featured .chip.ok{color:#8ff0b8;background:#2bb46a33}.btn-light{color:var(--showroom-950);background:#fff}.btn-light:hover:not(:disabled){background:var(--bg-950);color:var(--ink-950)}.plan-compare .section-head{margin-top:0}.plan-table-wrap{border:1px solid var(--line-200);border-radius:var(--r-lg);background:var(--bg-900);box-shadow:var(--shadow-1);position:relative;overflow-x:auto}.plan-table{border-collapse:separate;border-spacing:0;width:100%;min-width:980px;font-size:var(--fs-15)}.plan-table th,.plan-table td{border-top:1px solid var(--line-100);text-align:center;vertical-align:middle;padding:14px 18px}.plan-table thead th{border-top:0;padding-block:18px 16px}.plan-table thead th span{font-size:var(--fs-17);color:var(--ink-950);font-weight:650;display:block}.plan-table thead th small{font-family:var(--font-mono);font-size:var(--fs-15);color:var(--ink-500)}.plan-table tbody th{text-align:left;width:32%;color:var(--ink-800);font-weight:560}.plan-table td{color:var(--ink-700);white-space:nowrap}.plan-table th:nth-child(3),.plan-table td:nth-child(3){background:#ffffff08}.plan-table .plan-yes{color:var(--lamp-600);vertical-align:middle}.plan-table .plan-no{color:var(--ink-400);vertical-align:middle}.plan-table tbody th,.plan-table thead th:first-child{z-index:1;background:var(--bg-900);position:sticky;left:0}.plan-custom{justify-content:space-between;align-items:center;gap:var(--s-6);border:1px solid var(--line-200);border-radius:var(--r-lg);background:linear-gradient(#16181c0a 1px, transparent 1px) 0 0 / 24px 24px, linear-gradient(90deg, #16181c0a 1px, transparent 1px) 0 0 / 24px 24px, var(--bg-900);box-shadow:var(--shadow-1);padding:clamp(24px,3vw,36px);display:flex}.plan-custom h2{font-size:var(--fs-22);letter-spacing:-.02em;font-weight:650}.plan-custom p{max-width:62ch;color:var(--ink-600);margin-top:6px}.plan-custom .btn{flex:none}.plan-faq{max-width:880px}.plan-faq h2{margin-bottom:var(--s-4);letter-spacing:-.028em;font-size:clamp(24px,2.1vw,30px);font-weight:640}.plan-faq details{border-bottom:1px solid var(--line-200)}.plan-faq details:first-of-type{border-top:1px solid var(--line-200)}.plan-faq summary{cursor:pointer;font-size:var(--fs-17);color:var(--ink-900);align-items:center;gap:12px;padding:16px 4px;font-weight:600;list-style:none;display:flex}.plan-faq summary::-webkit-details-marker{display:none}.plan-faq summary:before{content:"";border-right:2px solid var(--ink-500);border-bottom:2px solid var(--ink-500);width:8px;height:8px;transition:transform .18s var(--ease);flex:none;transform:rotate(-45deg)}.plan-faq details[open]>summary:before{transform:rotate(45deg)}.plan-faq details p{color:var(--ink-600);max-width:72ch;padding:0 4px 18px 24px}.plan-notice{margin-bottom:var(--s-6);border:1px solid var(--line-200);border-left:3px solid var(--ink-950);border-radius:var(--r-md);background:var(--bg-900);box-shadow:var(--shadow-1);color:var(--ink-700);font-size:var(--fs-15);align-items:center;gap:12px;padding:14px 18px;line-height:1.5;display:flex}.plan-notice>svg{color:var(--ink-800);flex:none}.plan-notice strong{color:var(--ink-950)}.plan-notice .text-button{flex:none;margin-left:auto}.rail-tag{border:1px solid var(--line-200);background:var(--bg-900);font-family:var(--font-mono);font-size:var(--fs-15);color:var(--ink-500);border-radius:999px;padding:1px 8px;font-weight:450;line-height:1.35}.rail-collapsed .rail-tag{display:none}.contact{gap:var(--s-6);grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);align-items:start;display:grid}.contact-form{border:1px solid var(--line-200);border-radius:var(--r-lg);background:var(--bg-900);box-shadow:var(--shadow-1);gap:18px;padding:clamp(22px,2.4vw,32px);display:grid}.contact-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.contact-form label{font-size:var(--fs-15);color:var(--ink-800);gap:7px;font-weight:600;display:grid}.contact-form label small{font-size:inherit;color:var(--ink-500);font-weight:400}.contact-form input,.contact-form select,.contact-form textarea{width:100%;min-height:44px;font-weight:400}.contact-form textarea{resize:vertical;line-height:1.55}.contact-send{flex-wrap:wrap;align-items:center;gap:12px 18px;display:flex}.contact-send p{max-width:42ch;color:var(--ink-500);font-size:var(--fs-15);line-height:1.5}.contact-opened{border:1px solid var(--ok-border);border-radius:var(--r-sm);background:var(--ok-100);color:var(--ok-700);font-size:var(--fs-15);padding:12px 16px}.contact-failed{border:1px solid var(--line-300);border-radius:var(--r-sm);background:var(--bg-800);color:var(--ink-900);font-size:var(--fs-15);padding:12px 16px}.contact-captcha{min-height:78px}.contact-botcheck{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.contact-aside{border:1px solid var(--line-200);border-radius:var(--r-lg);background:var(--bg-900);box-shadow:var(--shadow-1);display:grid}.contact-aside section{border-top:1px solid var(--line-100);grid-template-columns:20px minmax(0,1fr);gap:4px 14px;padding:22px 24px;display:grid}.contact-aside section:first-child{border-top:0}.contact-aside svg{color:var(--ink-800);grid-row:span 2;margin-top:1px}.contact-aside h2{font-size:var(--fs-17);letter-spacing:-.01em;font-weight:650}.contact-aside p{color:var(--ink-600);font-size:var(--fs-15);line-height:1.55}.page-footer-links{flex-wrap:wrap;align-items:center;gap:8px 22px;display:inline-flex}@container pricing (max-width:940px){.plan-groups{grid-template-columns:minmax(0,1fr)}.plan-group{grid-column:auto}.plan-cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media (max-width:900px){.contact{grid-template-columns:minmax(0,1fr)}.plan-custom{flex-direction:column;align-items:flex-start}}@media (max-width:700px){.plan-cards,.contact-row{grid-template-columns:minmax(0,1fr)}.plan-for,.plan-note{min-height:0}.plan-table tbody th{min-width:170px}.plan-notice{flex-wrap:wrap}.plan-notice .text-button{margin-left:30px}}.reveal-email{color:inherit;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.reveal-email:hover{color:var(--ink-950)}
.rail-feedback{border-radius:var(--r-sm);width:100%;min-height:40px;font-size:var(--fs-15);color:var(--rail-text);text-align:left;transition:background .15s var(--ease), color .15s var(--ease);align-items:center;gap:12px;padding:0 12px;font-weight:520;display:flex}.rail-feedback svg{color:var(--rail-muted);flex:none}.rail-feedback:hover{background:var(--rail-hover);color:var(--ink-950)}.rail-feedback:hover svg{color:var(--ink-800)}.rail-collapsed .rail-feedback{justify-content:center;padding:0}.feedback-dialog{border:1px solid var(--line-200);border-radius:var(--r-lg);background:var(--bg-900);width:min(580px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--ink-900);box-shadow:var(--shadow-2);margin:auto;padding:0}.feedback-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f111573}.feedback-dialog form{gap:16px;padding:clamp(20px,3vw,28px);display:grid}.feedback-dialog header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.feedback-dialog h2{font-size:var(--fs-22);letter-spacing:-.02em;margin-top:10px;font-weight:650}.feedback-dialog form>p{color:var(--ink-600);font-size:var(--fs-15);line-height:1.55}.feedback-dialog label{font-size:var(--fs-15);color:var(--ink-800);gap:7px;font-weight:600;display:grid}.feedback-dialog label small{font-size:inherit;color:var(--ink-500);font-weight:400}.feedback-dialog textarea,.feedback-dialog input[type=email]{width:100%;min-height:44px;font-weight:400}.feedback-dialog textarea{resize:vertical;line-height:1.55}.feedback-kinds{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;display:grid}.feedback-kinds legend{font-size:var(--fs-15);color:var(--ink-800);margin-bottom:8px;padding:0;font-weight:600}.feedback-dialog .feedback-kinds label{border:1px solid var(--line-300);border-radius:var(--r-sm);cursor:pointer;min-height:44px;transition:border-color .14s var(--ease), background .14s var(--ease);align-items:center;gap:10px;padding:8px 12px;font-weight:500;display:flex}.feedback-dialog .feedback-kinds label:hover{border-color:var(--line-input)}.feedback-dialog .feedback-kinds label:has(input:checked){border-color:var(--ink-950);background:var(--bg-800);color:var(--ink-950)}.feedback-kinds input{accent-color:var(--ink-900);flex:none}.feedback-dialog .feedback-details{color:var(--ink-600);align-items:flex-start;gap:10px;font-weight:400;display:flex}.feedback-details input{accent-color:var(--ink-900);flex:none;margin-top:3px}.feedback-send{flex-wrap:wrap;align-items:center;gap:10px 16px;display:flex}.feedback-send p{max-width:34ch;color:var(--ink-500);font-size:var(--fs-15);line-height:1.5}@media (max-width:520px){.feedback-kinds{grid-template-columns:minmax(0,1fr)}}
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%}}.college-mock-head{border-bottom:1px solid var(--line-100);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px 16px;padding:16px 18px 14px;display:flex}.college-mock-head>div{gap:2px;display:grid}.college-mock-head strong{font-size:var(--fs-17);color:var(--ink-950);font-weight:640}.college-mock-seats{font-family:var(--font-mono);color:var(--ink-600);align-items:center;gap:6px;font-size:13px;display:inline-flex}.college-mock table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.college-mock th,.college-mock td{border-top:1px solid var(--line-100);text-align:left;padding:10px 18px}.college-mock thead th{font-family:var(--font-mono);letter-spacing:.02em;color:var(--ink-500);border-top:0;font-size:12px;font-weight:500}.college-mock td:first-child{font-family:var(--font-mono);color:var(--ink-900)}.college-mock tr.behind td{color:var(--warn-700)}.college-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}.college-gets{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}.college-plans{--cards:2;max-width:820px}.college-plans-note{margin-top:var(--s-4)}@media (max-width:700px){.college-mock th,.college-mock td{padding-inline:12px}}
.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)}.shell .page-footer.site-footer{grid-template-columns:minmax(220px,300px) minmax(0,1fr);align-items:start;gap:36px clamp(32px,5vw,88px);padding-top:48px;display:grid}.site-footer-about{justify-items:start;gap:14px;display:grid}.site-footer-about p{max-width:34ch;margin:0;line-height:1.6}.site-footer .site-footer-nav{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:28px 24px;display:grid}.site-footer-heading{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-800);margin:0 0 8px;font-size:13px;font-weight:650}.site-footer ul{margin:0;padding:0;list-style:none;display:grid}.site-footer li>a,.site-footer li>button{min-height:36px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.site-footer-legal{border-top:1px solid var(--line-200);grid-column:1/-1;gap:6px;padding-top:22px;font-size:13px;line-height:1.55;display:grid}.site-footer-legal p{max-width:110ch;margin:0}@media (max-width:1100px){.shell .page-footer.site-footer{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.shell .page-footer.site-footer{gap:28px;padding-top:36px}.site-footer .site-footer-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.site-footer li>a,.site-footer li>button{min-height:44px}}.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)}.topbar-vendor-select{display:none}.rail-vendor{padding:var(--s-3) 12px 0}.rail-vendor .topbar-vendor{border-radius:var(--r-md);flex-wrap:wrap;display:flex}.rail-vendor .topbar-vendor>span{flex-basis:100%;padding:6px 10px 4px}.rail-vendor .topbar-vendor button{flex:1;min-width:0;padding:8px}.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}
