:root{--navy-950:#051224;--navy-900:#081b35;--navy-850:#0c2342;--navy-800:#112d50;--signal-600:#2d5bff;--signal-500:#2f8cff;--signal-400:#5aa5ff;--cyan-300:#7cd7ff;--paper:#f4f7ff;--white:#fff;--ink:#10233d;--muted:#5c6c82;--muted-light:#aab9cc;--line:#dce5f1;--line-dark:#9bbfe92e;--success:#43d6a4;--warning:#ffca68;--shadow-sm:0 8px 24px #081b3514;--shadow-md:0 20px 70px #081b3524;--shadow-blue:0 14px 40px #2d5bff47;--radius-sm:12px;--radius-md:20px;--radius-lg:30px;--container:1180px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{background:var(--paper);color:var(--ink);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.65;overflow-x:clip}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--navy-900);letter-spacing:-.035em;font-weight:750;line-height:1.1}h1{font-size:clamp(2.85rem,6vw,5.75rem)}h2{font-size:clamp(2rem,4vw,3.45rem)}h3{font-size:1.2rem}::selection{color:var(--navy-950);background:#2f8cff40}.container{width:min(calc(100% - 48px), var(--container));margin-inline:auto}.skip-link{z-index:100;background:var(--white);color:var(--navy-900);opacity:0;pointer-events:none;border-radius:8px;padding:10px 16px;font-weight:700;position:fixed;top:12px;left:12px;transform:translateY(-150%)}.skip-link:focus{opacity:1;pointer-events:auto;transform:translateY(0)}:focus-visible{outline:3px solid var(--white);outline-offset:2px;box-shadow:0 0 0 5px var(--navy-900)}.site-header{z-index:50;border-bottom:1px solid var(--line-dark);color:var(--white);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#051224eb;position:sticky;top:0}.site-header__inner{align-items:center;gap:28px;min-height:72px;display:flex}.brand{color:var(--white);flex:none;align-items:center;gap:11px;display:inline-flex}.brand__mark{border-radius:9px;width:38px;height:38px}.brand__wordmark{letter-spacing:-.04em;font-size:1.28rem;font-weight:780}.desktop-nav{margin-left:auto}.desktop-nav ul{align-items:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.desktop-nav a{color:#c4d1e1;border-radius:10px;align-items:center;min-height:44px;padding:0 13px;font-size:.91rem;font-weight:650;transition:color .16s,background .16s;display:inline-flex}.desktop-nav a:hover{color:var(--white);background:#ffffff12}.header-cta{color:#dcecff;border:1px solid #7cd7ff5c;border-radius:11px;justify-content:center;align-items:center;min-height:42px;padding:0 17px;font-size:.88rem;font-weight:700;transition:border-color .16s,background .16s;display:inline-flex}.header-cta:hover{border-color:var(--cyan-300);background:#2f8cff1f}.mobile-menu{margin-left:auto;display:none;position:relative}.mobile-menu summary{border:1px solid var(--line-dark);min-width:48px;min-height:44px;color:var(--white);cursor:pointer;border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:.84rem;font-weight:700;list-style:none;display:inline-flex}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary svg{width:19px}.mobile-menu nav{border:1px solid var(--line-dark);background:var(--navy-850);border-radius:15px;width:min(280px,100vw - 32px);padding:10px;display:grid;position:absolute;top:calc(100% + 12px);right:0;box-shadow:0 18px 50px #00000047}.mobile-menu nav a{color:#dce6f3;border-radius:9px;align-items:center;min-height:44px;padding:0 12px;font-weight:650;display:flex}.mobile-menu nav a:hover{color:var(--white);background:#ffffff12}.mobile-menu__support{border-top:1px solid var(--line-dark);margin-top:7px}.hero{background:radial-gradient(circle at 76% 30%, #2f8cff33, transparent 30%), radial-gradient(circle at 8% 82%, #2d5bff24, transparent 27%), var(--navy-950);color:var(--white);position:relative;overflow:hidden}.hero:after{content:"";pointer-events:none;background-image:linear-gradient(#7cd7ff0a 1px,#0000 1px),linear-gradient(90deg,#7cd7ff0a 1px,#0000 1px);background-size:52px 52px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000000bf,#0000 88%);mask-image:linear-gradient(#000000bf,#0000 88%)}.hero__grid{z-index:1;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);align-items:center;gap:clamp(44px,5vw,72px);min-height:720px;padding-block:92px 104px;display:grid;position:relative}.hero__copy{min-width:0;max-width:620px}.status-badge{color:#cbe5ff;letter-spacing:.02em;background:#2f8cff17;border:1px solid #7cd7ff3d;border-radius:999px;align-items:center;gap:9px;min-height:34px;margin-bottom:26px;padding:0 13px;font-size:.79rem;font-weight:700;display:inline-flex}.status-dot{background:var(--success);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 5px #43d6a41a}.status-dot--waiting{background:var(--warning);box-shadow:0 0 0 5px #ffca681f}.eyebrow{color:var(--signal-600);letter-spacing:.115em;text-transform:uppercase;margin-bottom:16px;font-size:.78rem;font-weight:800;line-height:1.3}.eyebrow--light{color:var(--cyan-300)}.hero h1{max-width:710px;color:var(--white);letter-spacing:-.055em;margin-bottom:26px;font-size:clamp(3.1rem,5.1vw,4.9rem);line-height:.98}.hero__lede{color:#bdcadb;max-width:590px;margin-bottom:34px;font-size:clamp(1.05rem,1.8vw,1.22rem);line-height:1.7}.button-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.button{cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:10px;min-height:50px;padding:0 21px;font-size:.91rem;font-weight:760;line-height:1.2;transition:transform .16s,background .16s,border-color .16s,box-shadow .16s;display:inline-flex}.button svg,.text-link svg{flex:none;width:18px}.button:hover{transform:translateY(-2px)}.button--primary{background:var(--signal-600);box-shadow:var(--shadow-blue);color:var(--white)}.button--primary:hover{background:#234deb;box-shadow:0 17px 44px #2d5bff57}.button--ghost{color:var(--white);background:#ffffff0d;border-color:#fff3}.button--ghost:hover{background:#ffffff17;border-color:#ffffff61}.button--secondary{border-color:var(--line);background:var(--white);color:var(--navy-900);box-shadow:var(--shadow-sm)}.button--secondary:hover{border-color:#b9cbe2}.button--disabled,.button--disabled:hover{cursor:not-allowed;opacity:.55;box-shadow:none;transform:none}.hero__proof{color:#9fafc4;flex-wrap:wrap;gap:18px;margin:27px 0 0;padding:0;font-size:.79rem;font-weight:650;list-style:none;display:flex}.hero__proof li{align-items:center;gap:6px;display:inline-flex}.hero__proof svg{width:15px;color:var(--success)}.app-capture{min-width:0;margin:0;position:relative;transform:perspective(1300px)rotateY(-2deg)rotateX(1deg)}.app-capture:before{z-index:-1;content:"";filter:blur(54px);background:#2f8cff52;border-radius:40%;position:absolute;inset:9% 5% 16%}.app-capture__frame{background:linear-gradient(145deg,#243b59,#091629 72%);border:1px solid #84b8f347;border-radius:22px;padding:7px;box-shadow:0 45px 100px #00000075,0 0 0 8px #2f8cff08}.app-capture__screen{aspect-ratio:2732/2048;background:#f7f6fc;border-radius:16px;width:100%;position:relative;overflow:hidden}.app-capture__image{transform-origin:50%;width:74.9634%;max-width:none;height:auto;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(90deg)}.app-capture figcaption{color:#92a8c1;justify-content:space-between;align-items:center;gap:16px;min-height:40px;padding:11px 7px 0;font-size:.7rem;font-weight:620;line-height:1.45;display:flex}.app-capture__live{color:#d8e7f8;flex:none;align-items:center;gap:7px;font-weight:760;display:inline-flex}.app-capture__live i{background:var(--success);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 5px #43d6a41a}.principles{border-bottom:1px solid var(--line);background:var(--white)}.principles__grid{grid-template-columns:repeat(3,1fr);padding-block:28px;display:grid}.principles__grid>div{border-right:1px solid var(--line);align-items:flex-start;gap:14px;min-width:0;padding:8px 30px;display:flex}.principles__grid>div:first-child{padding-left:0}.principles__grid>div:last-child{border-right:0;padding-right:0}.principles svg{width:25px;color:var(--signal-600);flex:none;margin-top:4px}.principles p{color:var(--muted);margin:0;font-size:.84rem;line-height:1.55}.principles strong{color:var(--navy-900);margin-bottom:2px;font-size:.92rem;display:block}.section{padding-block:clamp(82px,10vw,132px)}.section--tint{border-block:1px solid var(--line);background:#edf3fc}.section-heading{max-width:720px;margin-bottom:52px}.section-heading--center{text-align:center;margin-inline:auto}.section-heading h2{margin-bottom:18px}.section-heading>p:last-child{color:var(--muted);margin:0;font-size:1.05rem}.steps{counter-reset:steps;grid-template-columns:repeat(3,1fr);gap:32px;margin:0;padding:0;list-style:none;display:grid;position:relative}.steps:before{content:"";background:#bfd0e4;height:1px;position:absolute;top:24px;left:16.66%;right:16.66%}.steps li{text-align:center;padding:0 22px;position:relative}.steps li>span{z-index:1;background:var(--paper);width:48px;height:48px;color:var(--signal-600);border:1px solid #b6cae2;border-radius:50%;place-items:center;margin-bottom:24px;font-size:.73rem;font-weight:800;display:inline-grid;position:relative}.steps h3{margin-bottom:11px}.steps p{color:var(--muted);margin:0;font-size:.92rem}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.feature-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white);min-height:240px;padding:30px;box-shadow:inset 0 1px #fffc}.feature-card__icon{width:48px;height:48px;color:var(--signal-600);background:#e9f1ff;border-radius:13px;place-items:center;margin-bottom:28px;display:grid}.feature-card__icon svg{width:24px}.feature-card h3{margin-bottom:11px;font-size:1.24rem}.feature-card p{max-width:470px;color:var(--muted);margin:0}.split-layout{grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);align-items:center;gap:clamp(48px,8vw,100px);display:grid}.split-layout__copy h2{margin-bottom:23px}.split-layout__copy>p:not(.eyebrow,.fine-print){color:var(--muted);margin-bottom:25px;font-size:1.03rem}.blocks-visual{background:var(--white);min-width:0;box-shadow:var(--shadow-md);border:1px solid #cfdaea;border-radius:22px;overflow:hidden}.blocks-visual__toolbar{border-bottom:1px solid var(--line);background:#f8faff;align-items:center;gap:6px;min-height:48px;padding:0 17px;display:flex}.blocks-visual__toolbar span{background:#cbd6e5;border-radius:50%;width:8px;height:8px}.blocks-visual__toolbar b{color:#6c7b90;letter-spacing:.08em;text-transform:uppercase;margin-left:auto;font-size:.69rem}.blocks-visual__body{grid-template-columns:1.12fr .88fr;min-height:430px;display:grid}.blocks-stack{border-right:1px solid var(--line);background-color:#f5f8fc;background-image:radial-gradient(circle,#d7e0ed 1px,#0000 1px),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:18px 18px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;padding:32px 22px 30px 26px}.code-block{width:fit-content;min-width:158px;color:var(--white);border-radius:5px;padding:9px 14px;font-size:.7rem;font-weight:680;line-height:1.35;position:relative;box-shadow:0 2px #081b3524}.code-block+.code-block{margin-top:3px}.code-block:after{z-index:1;background:inherit;content:"";border-radius:0 0 5px 5px;width:24px;height:7px;position:absolute;bottom:-4px;right:28px}.code-block b{text-align:center;background:#fff3;border-radius:4px;min-width:30px;padding:2px 5px;display:inline-block}.code-block--event{background:#7b61d1}.code-block--setup{background:#2874b8;margin-left:8px}.code-block--loop{background:#d68b28;margin-top:14px!important}.code-block--action,.code-block--time{margin-left:19px}.code-block--action{background:#247fa3;gap:8px;display:flex}.code-block--time{background:#bd6e35}.blocks-python{color:#dce7f5;background:#0c2038;min-width:0;padding:28px 20px}.blocks-python__label{color:#6f87a2;letter-spacing:.13em;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.58rem;font-weight:750}.blocks-python pre{white-space:pre;margin:20px 0 0;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:clamp(.55rem,1vw,.68rem);line-height:1.85;overflow:hidden}.blocks-python em{color:#c687ff;font-style:normal}.blocks-python strong{color:#ffbd78;font-weight:500}.check-list,.readiness-list{margin:0;padding:0;list-style:none}.check-list{gap:12px;margin-bottom:23px;display:grid}.check-list li,.readiness-list li{color:var(--ink);align-items:flex-start;gap:10px;font-size:.9rem;font-weight:650;display:flex}.check-list svg,.readiness-list svg{width:19px;color:var(--signal-600);flex:none;margin-top:3px}.fine-print{color:#718096;margin:0;font-size:.78rem;line-height:1.65}.waveshare-board-photo{background:var(--white);border:1px solid #cbd9e8;border-radius:22px;margin:32px 0;overflow:hidden;box-shadow:0 20px 50px #081b3524}.waveshare-board-photo__media{background:var(--navy-900);position:relative;overflow:hidden}.waveshare-board-photo__image{width:100%;height:auto;display:block}.waveshare-board-photo__badge{min-height:32px;color:var(--white);letter-spacing:.04em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#081b35e0;border:1px solid #ffffff3d;border-radius:999px;align-items:center;gap:7px;padding:0 12px;font-size:.69rem;font-weight:780;display:inline-flex;position:absolute;top:16px;right:16px;box-shadow:0 8px 22px #00000038}.waveshare-board-photo__badge i{background:var(--success);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #37d29129}.waveshare-board-photo figcaption{background:#f7faff;border-top:1px solid #dce6f0;justify-content:space-between;align-items:center;gap:22px;padding:18px 20px 20px;display:flex}.waveshare-board-photo__copy{gap:4px;min-width:0;display:grid}.waveshare-board-photo__copy strong{color:var(--navy-900);font-size:.86rem}.waveshare-board-photo__copy>span{color:var(--muted);font-size:.75rem;line-height:1.55}.waveshare-board-photo .text-link{white-space:nowrap;flex:none}.compatibility{background:radial-gradient(circle at 80% 10%, #2f8cff2e, transparent 28%), var(--navy-900);color:#c4d0df;overflow:hidden}.compatibility__grid{grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);align-items:center;gap:72px;display:grid}.compatibility h2{color:var(--white);margin-bottom:20px}.compatibility p:last-child{max-width:500px;margin:0}.compatibility__targets{min-width:0}.compatibility__grid>.waveshare-board-photo{grid-column:1/-1;justify-self:center;width:min(100%,920px);margin:2px 0 0}.compatibility .compatibility__target-label{color:#a9bad0;letter-spacing:.12em;text-transform:uppercase;max-width:none;margin:0 0 16px;font-size:.72rem;font-weight:750}.target-grid{grid-template-columns:repeat(3,1fr);gap:13px;display:grid}.target-grid>div{text-align:center;background:#ffffff0d;border:1px solid #90b6e32e;border-radius:18px;flex-direction:column;justify-content:flex-end;align-items:center;min-width:0;min-height:275px;padding:25px 17px;display:flex}.target-grid__chip{border:4px solid var(--signal-500);border-radius:13px;place-items:center;width:62px;height:62px;margin-bottom:20px;display:grid;position:relative;box-shadow:0 0 30px #2f8cff29}.target-grid__chip:before{content:"";border:3px solid #dcedff;border-top:0;border-left:0;width:22px;height:22px;transform:rotate(-45deg)}.target-grid__chip i{background:var(--signal-500);border-radius:4px;width:3px;height:10px;position:absolute}.target-grid__chip i:first-child{top:-10px;left:14px}.target-grid__chip i:nth-child(2){top:-10px;right:14px}.target-grid__chip i:nth-child(3){bottom:-10px;left:14px}.target-grid__chip i:nth-child(4){bottom:-10px;right:14px}.target-grid strong{color:var(--white);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.78rem}.target-grid small{color:#899db6;font-size:.68rem}.target-grid__target-name{color:#dceaff;margin-top:6px;font-size:.78rem;font-weight:700}.target-grid__constraint{margin-top:10px;line-height:1.45}.target-grid .target-grid__method{color:#b9d7ff;letter-spacing:.04em;text-transform:uppercase;margin-top:11px;font-weight:750}.target-grid .target-grid__status{color:var(--warning);margin-top:9px;font-weight:700;line-height:1.4}.target-grid>.target-grid__target--planned{border-style:dashed}.target-grid>.target-grid__target--preview{background:linear-gradient(145deg,#ffca6814,#0000 55%),#ffffff0d;border-color:#ffca6857}.target-grid__target--planned .target-grid__status{color:var(--warning)}.source-section{border-bottom:1px solid var(--line);background:#edf3fc}.source-section__card{border-radius:var(--radius-lg);background:linear-gradient(115deg, #2d5bff0f, transparent 48%), var(--white);box-shadow:var(--shadow-sm);border:1px solid #cedceb;grid-template-columns:minmax(0,1fr) minmax(310px,.72fr);align-items:center;gap:clamp(42px,7vw,86px);padding:clamp(34px,5vw,58px);display:grid}.source-section__copy{max-width:650px}.source-section__card h2{margin-bottom:17px;font-size:clamp(1.9rem,3vw,3rem)}.source-section__lede{color:var(--muted);margin:0}.source-section__action{margin-top:27px}.source-repository{border-radius:var(--radius-md);background:radial-gradient(circle at 88% 4%, #2f8cff2e, transparent 34%), var(--navy-950);box-shadow:var(--shadow-md);color:#b9c9dc;border:1px solid #90b6e32e;padding:24px;overflow:hidden}.source-repository__heading{border-bottom:1px solid var(--line-dark);align-items:center;gap:13px;padding-bottom:20px;display:flex}.source-repository__icon{width:42px;height:42px;color:var(--cyan-300);background:#2f8cff1f;border:1px solid #7cd7ff38;border-radius:12px;flex:none;place-items:center;display:grid}.source-repository__icon svg{width:21px}.source-repository__heading p{margin:0;line-height:1.4;display:grid}.source-repository__heading strong{color:var(--white);font-size:.93rem}.source-repository__heading small{color:#8297b1;font-size:.7rem}.source-repository ul{gap:13px;margin:0;padding:20px 0 0;list-style:none;display:grid}.source-repository li{grid-template-columns:minmax(92px,auto) 1fr;align-items:baseline;gap:12px;min-width:0;font-size:.76rem;display:grid}.source-repository code{color:var(--cyan-300);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.75rem;font-weight:700}.source-repository li span{color:#94a7be}.beta-hub{background:var(--white)}.beta-hub__heading{max-width:760px}.beta-channel-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:24px;display:grid}.beta-invite__card{border-radius:var(--radius-lg);background:linear-gradient(115deg, #2d5bff12, transparent 50%), var(--paper);border:1px solid #cedceb;grid-template-columns:minmax(0,1fr) minmax(150px,180px);align-items:center;gap:clamp(24px,3vw,34px);padding:clamp(28px,3vw,38px);display:grid}.beta-invite__card--android{background:radial-gradient(circle at 88% 8%, #25b1711f, transparent 28%), linear-gradient(120deg, #2d5bff12, transparent 50%), var(--paper)}.beta-invite__copy{max-width:650px}.beta-invite__card h3{margin-bottom:17px;font-size:clamp(1.65rem,2.2vw,2.35rem)}.beta-invite__lede{color:var(--muted);margin:0}.beta-invite__actions{margin-top:27px}.beta-invite__qr{background:var(--white);width:100%;box-shadow:var(--shadow-md);border:1px solid #d5e1ef;border-radius:21px;margin:0;padding:15px}.beta-invite__qr-link{border-radius:12px;display:block;overflow:hidden}.beta-invite__qr img{width:100%;height:auto}.beta-invite__qr figcaption{color:var(--muted);text-align:center;gap:2px;margin-top:13px;font-size:.7rem;line-height:1.45;display:grid}.beta-invite__qr figcaption strong{color:var(--ink);font-size:.78rem}.beta-invite__url{color:var(--signal-600);overflow-wrap:anywhere;font-size:.65rem}.app-install{background:var(--white)}.app-install__heading{max-width:760px}.app-install__channels{gap:24px;display:grid}.app-install__card{border-radius:var(--radius-lg);background:radial-gradient(circle at 88% 8%, #2f8cff24, transparent 28%), linear-gradient(120deg, #2d5bff12, transparent 50%), var(--paper);box-shadow:var(--shadow-sm);border:1px solid #cedceb;grid-template-columns:minmax(0,1fr) minmax(250px,310px);align-items:center;gap:clamp(40px,6vw,70px);padding:clamp(34px,5vw,58px);display:grid}.app-install__card--android{background:radial-gradient(circle at 88% 8%, #25b1711f, transparent 28%), linear-gradient(120deg, #2d5bff12, transparent 50%), var(--paper)}.app-install__copy{max-width:660px}.status-badge--light{color:var(--signal-600);background:#2d5bff12;border-color:#2d5bff29;margin-bottom:32px}.app-install__copy h3{margin-bottom:18px;font-size:clamp(2rem,4vw,3.45rem)}.app-install__lede{max-width:590px;color:var(--muted);margin-bottom:28px;font-size:1.02rem}.app-install__primary{width:fit-content}.app-install__direct{color:var(--muted);gap:4px;margin:24px 0 0;font-size:.82rem;display:grid}.app-install__direct span{color:var(--signal-600);overflow-wrap:anywhere;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.78rem;font-weight:700}.app-install__secondary-actions{margin-top:28px}.app-install__qr{background:var(--white);box-shadow:var(--shadow-md);border:1px solid #d5e1ef;border-radius:24px;margin:0;padding:18px}.app-install__qr-link{display:block}.app-install__qr img{border-radius:13px;width:100%;height:auto}.app-install__qr figcaption{color:var(--muted);text-align:center;gap:3px;margin-top:15px;font-size:.72rem;line-height:1.45;display:grid}.app-install__qr figcaption strong{color:var(--ink);font-size:.82rem}.app-install__support-actions{justify-content:center}.app-getting-started{border-top:1px solid var(--line);background:#edf3fc}.app-getting-started__steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none;display:grid}.app-getting-started__steps li{border-radius:var(--radius-md);background:var(--white);min-height:220px;box-shadow:var(--shadow-sm);border:1px solid #cedceb;padding:28px;position:relative}.app-getting-started__steps li>span{color:var(--signal-600);letter-spacing:.08em;margin-bottom:30px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.75rem;font-weight:800;display:inline-flex}.app-getting-started__steps h3{margin-bottom:10px}.app-getting-started__steps p{color:var(--muted);margin:0;font-size:.9rem}.app-getting-started__steps svg{width:20px;color:var(--success);position:absolute;top:27px;right:27px}.app-getting-started__note{max-width:760px;color:var(--muted);text-align:center;margin:30px auto 0;font-size:.8rem}.page-intro{background:radial-gradient(circle at 78% 15%, #2f8cff30, transparent 30%), var(--navy-950);color:#c1cede;position:relative;overflow:hidden}.page-intro:after{content:"";pointer-events:none;background-image:linear-gradient(90deg,#0000 49.8%,#7cd7ff0d 50%);background-size:72px 100%;position:absolute;inset:0}.page-intro__inner{z-index:1;padding-block:clamp(72px,9vw,116px);position:relative}.page-intro h1{max-width:900px;color:var(--white);letter-spacing:-.055em;margin-bottom:22px;font-size:clamp(3rem,6vw,5.4rem)}.page-intro__lede{max-width:710px;font-size:1.08rem}.page-intro__lede>p{margin-bottom:0}.page-intro__meta{color:#8fa4be;letter-spacing:.04em;text-transform:uppercase;font-size:.79rem;font-weight:650;margin-top:23px!important}.policy-layout,.support-layout{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:clamp(54px,8vw,100px);padding-block:clamp(72px,9vw,116px);display:grid}.prose{min-width:0}.prose section+section{border-top:1px solid var(--line);margin-top:66px;padding-top:66px}.prose h2{margin-bottom:22px;font-size:clamp(1.65rem,3vw,2.35rem)}.prose h3{letter-spacing:-.015em;margin:32px 0 9px;font-size:1.07rem}.prose p,.prose li{color:var(--muted)}.prose p{margin-bottom:18px}.prose ul{padding-left:22px}.prose li+li{margin-top:9px}.section-icon{width:44px;height:44px;color:var(--signal-600);background:#e5efff;border-radius:12px;place-items:center;margin-bottom:25px;display:grid}.section-icon svg{width:22px}.policy-contact,.report-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white);box-shadow:var(--shadow-sm);padding:28px;position:sticky;top:104px}.policy-contact>svg,.report-card>svg{width:28px;color:var(--signal-600);margin-bottom:23px}.policy-contact h2,.report-card h2{margin-bottom:13px;font-size:1.38rem}.policy-contact p{color:var(--muted);margin-bottom:19px;font-size:.89rem}.policy-contact a{color:var(--signal-600);overflow-wrap:anywhere;font-size:.88rem;font-weight:750}.numbered-guide{gap:28px;margin:0;padding:0;list-style:none;display:grid}.numbered-guide li{grid-template-columns:40px 1fr;gap:16px;display:grid}.numbered-guide li>span{background:var(--navy-900);width:40px;height:40px;color:var(--white);border-radius:50%;place-items:center;font-size:.75rem;font-weight:800;display:grid}.numbered-guide h3{margin:3px 0 7px}.numbered-guide p{margin:0}.help-grid{grid-template-columns:repeat(2,1fr);gap:13px;display:grid}.help-grid article{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--white);padding:22px}.help-grid h3{margin:0 0 9px}.help-grid p{margin:0;font-size:.88rem}.report-card .eyebrow{margin-bottom:8px}.report-card ul{gap:10px;margin:22px 0 26px;padding:0;list-style:none;display:grid}.report-card li{color:var(--muted);padding-left:17px;font-size:.83rem;position:relative}.report-card li:before{background:var(--signal-500);content:"";border-radius:50%;width:5px;height:5px;position:absolute;top:.65em;left:0}.report-card .button{width:100%;padding-inline:12px;font-size:.79rem}.report-card .fine-print{margin-top:18px}.flash-layout{grid-template-columns:minmax(330px,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(48px,8vw,94px);display:grid}.flash-status{border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow-md);border:1px solid #ccdaeb;padding:clamp(27px,4vw,40px)}.flash-status__header{margin-bottom:20px}.flash-status__eyebrow{color:#8a641f;letter-spacing:.09em;text-transform:uppercase;margin-bottom:5px;font-size:.68rem;font-weight:800}.flash-status h2{margin:0;font-size:clamp(1.5rem,3vw,2.1rem)}.flash-status>p{color:var(--muted)}.flash-status__message{border-radius:var(--radius-sm);color:var(--muted);background:#f5f8fd;border:1px solid #d9e4f1;margin:20px 0 24px;padding:14px 16px;font-size:.88rem}.flash-status__message p:last-child{margin-bottom:0}.flash-status--preview{border-color:#dfc17d;box-shadow:0 20px 70px #081b351f,0 0 0 4px #ffca681c}.flash-status__message--preview{color:#654d22;background:linear-gradient(135deg,#fff9ec,#fffdf7);border-color:#e6ca87}.flash-status__message--preview h2{margin-bottom:10px;font-size:clamp(1.45rem,3vw,2rem)}.profile-select{gap:8px;margin:24px 0;display:grid}.profile-select>span{color:var(--navy-900);letter-spacing:.015em;font-size:.78rem;font-weight:800}.profile-select select{border-radius:var(--radius-sm);width:100%;min-height:50px;color:var(--navy-900);cursor:pointer;background-color:#fbfcff;border:1px solid #cbd9e9;padding:10px 13px;font-size:.86rem;font-weight:650;transition:border-color .15s,background .15s,box-shadow .15s}.profile-select select:hover{background:var(--white);border-color:#9ab8da}.profile-select select:focus-visible{border-color:var(--signal-500);box-shadow:0 0 0 4px #2f8cff1f}.profile-detail{border-radius:var(--radius-md);background:#fbfcff;border:1px solid #d5e1ef;margin-top:24px;padding:clamp(18px,3vw,24px)}.profile-detail__heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.profile-detail__heading .eyebrow{margin-bottom:5px}.profile-detail__heading h3{overflow-wrap:anywhere;margin:0;font-size:1.08rem}.preview-badge{color:#694f1d;letter-spacing:.035em;text-transform:uppercase;background:#fff6df;border:1px solid #e2c06f;border-radius:999px;flex:none;align-items:center;min-height:28px;padding:5px 10px;font-size:.63rem;font-weight:800;line-height:1.35;display:inline-flex}.profile-detail dl{border-block:1px solid var(--line);margin:0 0 20px;display:grid}.profile-detail dl>div{grid-template-columns:minmax(88px,.35fr) minmax(0,1fr);gap:12px;padding:10px 0;display:grid}.profile-detail dl>div+div{border-top:1px solid var(--line)}.profile-detail dt{color:var(--muted);font-size:.72rem;font-weight:750}.profile-detail dd{color:var(--navy-900);overflow-wrap:anywhere;margin:0;font-size:.78rem;font-weight:650}.profile-detail>.flash-warning{margin:0}.profile-detail .consent-list{border:0;border-top:1px solid var(--line);min-width:0;padding:22px 0 0}.profile-detail .consent-list legend{color:var(--navy-900);padding:0 0 11px;font-size:.76rem;font-weight:800}.preview-steps{color:var(--muted);gap:7px;margin:18px 0 0;padding-left:21px;font-size:.79rem;display:grid}.verified-installer>.button{width:100%}.profile-options{gap:10px;margin:24px 0;display:grid}.profile-option{border-radius:var(--radius-sm);cursor:pointer;background:#fbfcff;border:1px solid #d5e1ef;grid-template-columns:20px 1fr;align-items:start;gap:11px;padding:15px;transition:border-color .15s,background .15s,box-shadow .15s;display:grid}.profile-option:has(input:checked){border-color:var(--signal-500);background:#f2f7ff;box-shadow:0 0 0 3px #2f8cff1a}.profile-option input{width:17px;height:17px;accent-color:var(--signal-600);margin:3px 0 0}.profile-option span{color:var(--muted);font-size:.76rem;line-height:1.45;display:grid}.profile-option strong{color:var(--navy-900);font-size:.84rem}.flash-warning{border-left:3px solid var(--warning);background:#fff9ed;border-radius:0 9px 9px 0;padding:14px 16px;font-size:.79rem;color:#69522b!important}.consent-list{border-top:1px solid var(--line);gap:12px;margin:24px 0;padding-top:22px;display:grid}.consent-list label{color:var(--muted);cursor:pointer;grid-template-columns:20px 1fr;align-items:start;gap:9px;font-size:.79rem;display:grid}.consent-list input{width:17px;height:17px;accent-color:var(--signal-600);margin:3px 0 0}.verify-button{width:100%}.verify-button:disabled{cursor:not-allowed;opacity:.5;box-shadow:none;transform:none}.verification-state,.verification-error,.verified-installer{border-radius:var(--radius-sm);margin-top:20px;padding:18px}.verification-state{color:var(--signal-600);background:#eef5ff;font-size:.85rem;font-weight:700}.verification-error{color:#783535;background:#fff5f5;border:1px solid #f1c9c9;font-size:.83rem}.verification-error p{margin:8px 0 0}.verified-installer{background:#f1fbf7;border:1px solid #bfe5d8}.verification-success{color:#147452;margin-bottom:14px;font-weight:800}.verified-installer dl{gap:8px;margin:0 0 16px;display:grid}.verified-installer dl>div{grid-template-columns:74px 1fr;gap:8px;display:grid}.verified-installer dt{color:var(--muted);font-size:.74rem;font-weight:750}.verified-installer dd{color:var(--navy-900);margin:0;font-size:.78rem;font-weight:700}.verified-installer>p:not(.verification-success){color:var(--muted);font-size:.79rem}.verified-installer esp-web-install-button,.verified-installer esp-web-install-button .button{width:100%;display:block}.verified-installer .text-link{margin-bottom:13px}.target-list{flex-wrap:wrap;gap:8px;margin:27px 0;padding:0;list-style:none;display:flex}.target-list li{min-height:34px;color:var(--navy-850);background:#f4f7fc;border:1px solid #d7e2ef;border-radius:999px;align-items:center;gap:6px;padding:0 11px;font-size:.7rem;font-weight:750;display:inline-flex}.target-list svg{width:15px;color:var(--signal-600)}.flash-status>.button{width:100%}.readiness-list{border-top:1px solid var(--line);gap:10px;margin-top:27px;padding-top:24px;display:grid}.readiness-list li{color:var(--muted);font-size:.8rem}.flash-explainer>section+section{border-top:1px solid var(--line);margin-top:54px;padding-top:48px}.flash-board-spotlight__intro{max-width:42rem;margin-bottom:0;font-size:1.02rem;font-weight:650;line-height:1.7;color:var(--navy-900)!important}.flash-explainer h2{margin-bottom:20px;font-size:clamp(1.65rem,3vw,2.5rem)}.flash-explainer p{color:var(--muted)}.requirement-list{gap:0;margin:28px 0;padding:0;list-style:none;display:grid}.requirement-list li{border-bottom:1px solid var(--line);grid-template-columns:minmax(150px,.7fr) minmax(0,1.3fr);gap:24px;padding:18px 0;display:grid}.requirement-list strong{color:var(--navy-900);font-size:.9rem}.requirement-list span{color:var(--muted);font-size:.88rem}.planned-profile-list{margin-bottom:0}.requirement-list .planned-profile-card{border-radius:var(--radius-sm);background:#f5f7fa;border:1px dashed #b8c6d8;padding:18px}.planned-profile-card strong{color:#59697d}.planned-profile-card span{color:#6d7989}.planned-profile-card b{color:#7a5d26}.text-link{min-height:44px;color:var(--signal-600);align-items:center;gap:8px;font-size:.88rem;font-weight:760;display:inline-flex}.text-link:hover{text-underline-offset:4px;text-decoration:underline}.installer-links{flex-wrap:wrap;gap:8px 24px;display:flex}.safety-note{grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(40px,7vw,90px);display:grid}.safety-note h2{margin:0;font-size:clamp(1.7rem,3vw,2.6rem)}.safety-note>p{color:var(--muted);margin:0}.not-found{background:radial-gradient(circle at 72% 26%, #2f8cff1c, transparent 26%), var(--paper);place-items:center;min-height:68vh;display:grid}.not-found__inner{text-align:center;max-width:720px;padding-block:90px}.not-found h1{margin-bottom:22px;font-size:clamp(2.8rem,6vw,5rem)}.not-found p:not(.eyebrow){max-width:520px;color:var(--muted);margin:0 auto 30px}.learn-hub{padding-block:clamp(72px,9vw,116px)}.learn-hub__intro{grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);align-items:end;gap:clamp(32px,6vw,76px);margin-bottom:56px;display:grid}.learn-hub__intro .section-heading{margin-bottom:0}.learn-path{margin-top:44px}.learn-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.learn-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white);min-width:0;min-height:270px;box-shadow:var(--shadow-sm);grid-template-columns:52px minmax(0,1fr);gap:20px;padding:30px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.learn-card:hover{box-shadow:var(--shadow-md);border-color:#b9cbe2;transform:translateY(-3px)}.learn-card__number{background:var(--navy-900);width:52px;height:52px;color:var(--cyan-300);letter-spacing:.08em;border-radius:15px;place-items:center;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.76rem;font-weight:800;display:grid}.learn-card__body{flex-direction:column;min-width:0;display:flex}.learn-card__meta{color:var(--signal-600);letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px;font-size:.73rem;font-weight:800}.learn-card h2{margin-bottom:12px;font-size:clamp(1.35rem,2.4vw,1.75rem)}.learn-card__body>p:not(.learn-card__meta){color:var(--muted);margin-bottom:24px;font-size:.92rem}.learn-card__link{min-height:44px;color:var(--signal-600);align-items:center;gap:9px;margin-top:auto;font-size:.86rem;font-weight:780;display:inline-flex}.learn-card__link:hover{text-underline-offset:4px;text-decoration:underline}.learn-card__link svg{width:17px}.learn-legend,.learn-baselines,.learn-help{border-top:1px solid var(--line);margin-top:clamp(72px,9vw,112px);padding-top:clamp(62px,8vw,92px)}.learn-legend__items{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;display:grid}.learn-legend__items>div{border:1px solid var(--line);border-radius:var(--radius-sm);background:#ffffffb3;padding:23px}.learn-legend__items dt{color:var(--navy-900);margin-bottom:7px;font-weight:780}.learn-legend__items dd{color:var(--muted);margin:0;font-size:.88rem}.learn-baselines__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.learn-baselines__grid article{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--navy-900);color:#c8d5e5;min-width:0;padding:29px}.learn-baselines__grid h3{color:var(--white)}.learn-baselines__grid p{color:#aebed1}.learn-baselines__grid code{border:1px solid var(--line-dark);color:var(--cyan-300);overflow-wrap:anywhere;white-space:normal;border-radius:10px;padding:15px;font-size:.72rem;line-height:1.7;display:block;overflow:auto}.learn-baselines__grid a,.learn-help a{min-height:44px;color:var(--signal-400);overflow-wrap:anywhere;text-underline-offset:4px;align-items:center;font-weight:750;text-decoration:underline;display:inline-flex}.learn-help{border-radius:var(--radius-lg);background:#eaf2ff;border:1px solid #c9d8ea;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:36px;padding:clamp(34px,5vw,54px);display:grid}.learn-help h2,.learn-help p{margin:0}.learn-help p{color:var(--muted)}.tutorial-layout{padding-block:clamp(48px,7vw,92px) clamp(86px,10vw,132px)}.tutorial-breadcrumbs{min-height:44px;color:var(--muted);flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:30px;font-size:.82rem;font-weight:680;display:flex}.tutorial-breadcrumbs a{min-height:44px;color:var(--signal-600);align-items:center;display:inline-flex}.tutorial-content{width:min(100%,920px);margin-inline:auto}.tutorial-content>section,.tutorial-content>.tutorial-lesson{margin-top:clamp(66px,8vw,92px);scroll-margin-top:96px}.tutorial-content>.tutorial-overview{margin-top:0}.tutorial-content p,.tutorial-content li,.tutorial-content dd{color:var(--muted)}.tutorial-content a:not(.button,.tutorial-navigation a){color:var(--signal-600);text-underline-offset:3px;font-weight:720;text-decoration:underline}.tutorial-concept-figure{background:var(--white);box-shadow:var(--shadow-sm);border:1px solid #c5d5e7;border-radius:22px;margin:34px 0 0;overflow:hidden}.tutorial-concept-figure__heading{background:radial-gradient(circle at 92% 10%, #2f8cff3d, transparent 34%), var(--navy-900);gap:4px;padding:22px 24px;display:grid}.tutorial-concept-figure__heading span{color:var(--cyan-300);letter-spacing:.1em;text-transform:uppercase;font-size:.69rem;font-weight:800}.tutorial-concept-figure__heading h3{color:var(--white);margin:0;font-size:clamp(1.2rem,2.8vw,1.65rem);line-height:1.25}.tutorial-concept-figure__items{grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.tutorial-concept-figure__items li{border-right:1px solid var(--line);grid-template-columns:auto minmax(0,1fr);gap:14px;min-width:0;padding:24px;display:grid}.tutorial-concept-figure__items li:last-child{border-right:0}.tutorial-concept-figure__items li>span{width:32px;height:32px;color:var(--signal-700);background:#e4eeff;border-radius:10px;place-items:center;font-size:.67rem;font-weight:850;display:grid}.tutorial-concept-figure__items div{gap:7px;display:grid}.tutorial-concept-figure__items strong{color:var(--navy-900);font-size:.88rem}.tutorial-concept-figure__items p{margin:0;font-size:.82rem;line-height:1.58}.tutorial-concept-figure figcaption{border-top:1px solid var(--line);color:var(--muted);background:#f5f8fc;padding:15px 24px 17px;font-size:.78rem;line-height:1.55}.tutorial-overview{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white);box-shadow:var(--shadow-sm);overflow:hidden}.tutorial-facts{border-bottom:1px solid var(--line);background:#eaf2ff;grid-template-columns:.7fr .7fr 1.6fr;margin:0;padding:0;display:grid}.tutorial-facts>div{border-right:1px solid #cddced;min-width:0;padding:20px 23px}.tutorial-facts>div:last-child{border-right:0}.tutorial-facts dt{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:.67rem;font-weight:800}.tutorial-facts dd{color:var(--navy-900);margin:0;font-size:.88rem;font-weight:750}.tutorial-goals{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;padding:28px;display:grid}.tutorial-goals h2{letter-spacing:-.015em;margin-bottom:14px;font-size:1.05rem}.tutorial-goals ul{margin:0;padding-left:20px}.tutorial-goals li{font-size:.88rem}.tutorial-goals li+li{margin-top:6px}.tutorial-toc{border:1px solid var(--line);background:#ffffffc7;border-radius:14px;flex-wrap:wrap;align-items:center;gap:2px 5px;min-height:54px;margin-top:24px;padding:7px 9px 7px 18px;display:flex}.tutorial-toc strong{color:var(--navy-900);margin-right:auto;font-size:.78rem}.tutorial-toc a{border-radius:8px;align-items:center;min-height:44px;padding-inline:10px;font-size:.76rem;font-weight:700;display:inline-flex;color:var(--muted)!important;text-decoration:none!important}.tutorial-toc a:hover{background:#eaf2ff;color:var(--signal-600)!important}.tutorial-table-wrap{border:1px solid var(--line);background:var(--white);-webkit-overflow-scrolling:touch;border-radius:16px;margin-top:28px;overflow-x:auto}.tutorial-table{border-collapse:collapse;width:100%;min-width:610px;font-size:.84rem}.tutorial-table caption{border-bottom:1px solid var(--line);color:var(--muted);text-align:left;padding:15px 18px;font-size:.74rem;font-weight:700}.tutorial-table th,.tutorial-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:16px 18px}.tutorial-table thead th{color:var(--navy-900);letter-spacing:.06em;text-transform:uppercase;background:#edf3fc;font-size:.7rem}.tutorial-table tbody tr:last-child>*{border-bottom:0}.tutorial-table tbody th span,.tutorial-table tbody th code{display:block}.tutorial-table tbody th code{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;font-size:.7rem;font-weight:500}.tutorial-compatibility-note{color:var(--muted);margin-top:18px;font-size:.86rem}.tutorial-lesson>section+section{border-top:1px solid var(--line);margin-top:54px;padding-top:50px}.tutorial-lesson h2{margin-bottom:19px;font-size:clamp(1.6rem,3vw,2.25rem)}.tutorial-lesson h3{margin:30px 0 10px;font-size:1.08rem}.tutorial-lesson ul,.tutorial-lesson ol{padding-left:22px}.tutorial-lesson li+li{margin-top:8px}.tutorial-definition-list{border-top:1px solid var(--line);margin:0}.tutorial-definition-list>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(190px,.72fr) minmax(0,1.28fr);gap:26px;padding:19px 0;display:grid}.tutorial-definition-list dt{color:var(--navy-900);font-weight:760}.tutorial-definition-list dd{margin:0}.tutorial-starter-grid,.tutorial-capability-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.tutorial-starter-grid article,.tutorial-capability-grid article{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--white);padding:21px}.tutorial-starter-grid h3,.tutorial-capability-grid h3{margin:0 0 8px}.tutorial-starter-grid p,.tutorial-capability-grid p{margin:0;font-size:.86rem}.tutorial-snapshot{border:1px solid var(--line);background:var(--white);border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid;overflow:hidden}.tutorial-snapshot>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;padding:18px 20px}.tutorial-snapshot>div:nth-child(2n){border-right:0}.tutorial-snapshot dt{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:.68rem;font-weight:780}.tutorial-snapshot dd{color:var(--navy-900);overflow-wrap:anywhere;margin:5px 0 0;font-weight:720}.tutorial-source-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px;display:grid}.tutorial-source-links a{border:1px solid var(--line);background:var(--white);overflow-wrap:anywhere;border-radius:12px;align-items:center;min-height:58px;padding:14px 16px;font-size:.82rem;line-height:1.5;display:flex;text-decoration:none!important}.tutorial-source-links a:hover{background:#eef4ff;border-color:#b8cbe3}.example-slices{gap:62px;display:grid}.example-slice__heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px;padding-bottom:16px;display:flex}.example-slice__heading h3,.example-slice__heading p{margin:0}.example-slice__heading h3{font-size:1.4rem}.example-slice__heading p{color:var(--muted);font-size:.76rem;font-weight:680}.example-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.example-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--white);flex-direction:column;min-width:0;padding:23px;display:flex}.example-card__meta{letter-spacing:.045em;text-transform:uppercase;font-size:.67rem;font-weight:790;color:var(--signal-600)!important;margin-bottom:10px!important}.example-card h4{color:var(--navy-900);margin:0 0 10px;font-size:1.08rem;line-height:1.25}.example-card>p:not(.example-card__meta){margin-bottom:19px;font-size:.84rem}.example-card dl{gap:11px;margin:0 0 19px;display:grid}.example-card dt{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.64rem;font-weight:780}.example-card dd{color:var(--navy-850);margin:2px 0 0;font-size:.76rem;line-height:1.55}.example-card>a{align-items:center;min-height:44px;margin-top:auto;font-size:.8rem;display:inline-flex}.tutorial-lesson code,.tutorial-step__body code{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.88em}.tutorial-lesson :not(pre)>code{color:var(--navy-850);overflow-wrap:anywhere;background:#eef3fb;border:1px solid #d5e1ef;border-radius:6px;padding:2px 6px}.tutorial-callout{border:1px solid #cbdced;border-left:5px solid var(--signal-500);border-radius:var(--radius-sm);background:#eaf2ff;padding:23px 25px}.tutorial-callout h3{color:var(--navy-900);margin:0 0 9px;font-size:1rem}.tutorial-callout p:last-child,.tutorial-callout ul:last-child{margin-bottom:0}.tutorial-callout--safety,.tutorial-callout--warning{background:#fff8e7;border-color:#ead39e #ead39e #ead39e #d89514}.tutorial-callout--privacy{background:#edf9f5;border-color:#c8dbd5 #c8dbd5 #c8dbd5 #229d76}.tutorial-app-capture{background:var(--white);border:1px solid #b9cadf;border-radius:18px;margin:22px 0 0;overflow:hidden;box-shadow:0 16px 38px #081b351f}.tutorial-app-capture__frame{background:linear-gradient(145deg,#253d5c,#09172a 72%);padding:6px}.tutorial-app-capture__image{background:#f7f8fb;border-radius:12px;width:100%;height:auto;display:block}.tutorial-app-capture figcaption{min-height:48px;color:var(--muted);background:#f5f8fc;border-top:1px solid #d9e3ee;justify-content:space-between;align-items:center;gap:18px;padding:13px 15px 14px;font-size:.72rem;font-weight:650;line-height:1.5;display:flex}.tutorial-app-capture__evidence{color:var(--navy-850);flex:none;align-items:center;gap:8px;font-weight:800;display:inline-flex}.tutorial-app-capture__evidence i{background:var(--success);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 5px #37d2911f}.tutorial-identity-gallery{background:#d9e3ef;border:1px solid #b9cadf;border-radius:18px;margin:24px 0 0;overflow:hidden;box-shadow:0 16px 38px #081b351f}.tutorial-identity-gallery__heading{background:radial-gradient(circle at 94% 14%,#7cd7ff2e,#0000 31%),linear-gradient(145deg,#142b48,#09182a 74%);border-bottom:1px solid #c4d2e2;padding:22px 24px 23px}.tutorial-identity-gallery__heading>span{color:var(--cyan-300);letter-spacing:.12em;text-transform:uppercase;font-size:.64rem;font-weight:820;display:block}.tutorial-lesson .tutorial-identity-gallery__heading h3{color:var(--white);margin:7px 0 6px;font-size:clamp(1.15rem,2.5vw,1.48rem)}.tutorial-identity-gallery__heading p{color:#b9cadd;max-width:690px;margin:0;font-size:.8rem;line-height:1.65}.tutorial-identity-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0;padding:7px;list-style:none;display:grid}.tutorial-lesson .tutorial-identity-gallery__grid>li{min-width:0;margin:0}.tutorial-identity-gallery__grid[data-board-count="5"]>li:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - 3.5px)}.tutorial-identity-gallery__grid[data-board-count="1"]{grid-template-columns:minmax(0,520px);justify-content:center}.tutorial-identity-card{background:#f8fafe;border:1px solid #b7c8dcb8;border-radius:13px;align-content:start;gap:13px;min-width:0;height:100%;padding:17px;display:grid;box-shadow:0 4px 12px #081b3512}.tutorial-identity-card>header{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.tutorial-identity-card__id{color:#174e7b;letter-spacing:.04em;background:#e6f3ff;border:1px solid #a9cae8;border-radius:999px;flex:none;padding:5px 8px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.64rem;font-weight:820}.tutorial-lesson .tutorial-identity-card h4{min-width:0;color:var(--navy-900);text-align:right;margin:0;font-size:.78rem;line-height:1.35}.tutorial-identity-card__capture{background:#e9eff7;border:1px solid #cbd8e7;border-radius:10px;min-width:0;overflow:hidden}.tutorial-identity-card__capture>span{color:#49627d;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid #cbd8e7;padding:7px 9px;font-size:.61rem;font-weight:790;display:block}.tutorial-identity-card__capture>span code{color:var(--navy-900);font-size:inherit;letter-spacing:0;text-transform:none}.tutorial-identity-card__capture img{background:#f7f8fb;width:100%;height:auto;display:block}.tutorial-identity-card>p{color:#536a83;margin:0;font-size:.72rem;line-height:1.6}.tutorial-identity-gallery figcaption{min-height:52px;color:var(--muted);background:#f5f8fc;border-top:1px solid #c4d2e2;justify-content:space-between;align-items:center;gap:18px;padding:13px 16px 14px;font-size:.7rem;font-weight:650;line-height:1.5;display:flex}.tutorial-identity-gallery__evidence{color:var(--navy-850);flex:none;align-items:center;gap:8px;font-weight:800;display:inline-flex}.tutorial-identity-gallery__evidence i{background:var(--success);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 5px #37d2911f}.tutorial-steps{gap:18px;margin:0;padding:0;list-style:none;display:grid}.tutorial-steps>li{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white);min-width:0;box-shadow:var(--shadow-sm);grid-template-columns:48px minmax(0,1fr);gap:20px;padding:27px;display:grid}.tutorial-step__number{background:var(--navy-900);width:48px;height:48px;color:var(--cyan-300);border-radius:14px;place-items:center;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.72rem;font-weight:800;display:grid}.tutorial-step__body{min-width:0}.tutorial-step__body h3{margin:3px 0 10px}.tutorial-step__body p:last-child{margin-bottom:0}.tutorial-step__body pre,.tutorial-lesson pre{background:var(--navy-950);color:#dce9f7;tab-size:2;white-space:pre;-webkit-overflow-scrolling:touch;border:1px solid #7cd7ff2e;border-radius:12px;max-width:100%;margin:19px 0;padding:19px 21px;font-size:.82rem;line-height:1.75;overflow-x:auto}.tutorial-step__result{background:#edf9f5;border-radius:10px;margin-top:19px;padding:13px 15px;font-size:.84rem;color:#2f6655!important}.tutorial-step__result--stop{background:#fff4e4;color:#785525!important}.tutorial-recovery{border-radius:var(--radius-md);background:var(--navy-900);color:#bed0e3;padding:30px}.tutorial-recovery h2{color:var(--white);font-size:1.55rem}.tutorial-recovery p{color:#b8c9db;margin-bottom:0}.tutorial-recovery a{color:var(--cyan-300)!important}.tutorial-navigation{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:12px;margin-top:clamp(66px,8vw,92px);padding-top:28px;display:grid}.tutorial-navigation a{border:1px solid var(--line);background:var(--white);min-height:72px;color:var(--navy-900);border-radius:12px;flex-direction:column;justify-content:center;padding:14px 17px;display:flex}.tutorial-navigation a:hover{background:#eef4ff;border-color:#b8cbe3}.tutorial-navigation a span{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:.68rem;font-weight:760}.tutorial-navigation__next{text-align:right;align-items:flex-end}.tutorial-navigation__all{text-align:center;align-items:center;min-width:130px}.site-footer{background:var(--navy-950);color:#8799b0;border-top:1px solid #9bbfe924}.site-footer__grid{grid-template-columns:1fr auto 1fr;align-items:center;gap:44px;min-height:200px;padding-block:44px;display:grid}.brand--footer .brand__mark{width:34px;height:34px}.site-footer__tagline{margin:9px 0 0;font-size:.75rem}.site-footer__links{gap:26px;display:flex}.site-footer__links a{color:#b8c7d8;font-size:.81rem;font-weight:650}.site-footer__links a:hover{color:var(--white)}.site-footer__legal{text-align:right;margin:0;font-size:.72rem;line-height:1.7}@media (max-width:1080px){.hero__grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:42px;min-height:0}.hero h1{font-size:clamp(3rem,5vw,4.3rem)}.split-layout{gap:50px}.beta-channel-grid{grid-template-columns:1fr}.beta-invite__card{grid-template-columns:minmax(0,1fr) 230px}.blocks-visual__body{grid-template-columns:1fr}.blocks-python{display:none}.blocks-stack{border-right:0;min-height:390px}}@media (max-width:880px){.container{width:min(calc(100% - 36px), var(--container))}.desktop-nav,.header-cta{display:none}.mobile-menu{display:block}.hero__grid{grid-template-columns:minmax(0,1fr);gap:58px;padding-block:72px 78px}.hero__copy,.hero h1{max-width:680px}.app-capture{max-width:680px;transform:none}.principles__grid{grid-template-columns:1fr}.principles__grid>div,.principles__grid>div:first-child,.principles__grid>div:last-child{border-right:0;border-bottom:1px solid var(--line);padding:17px 4px}.principles__grid>div:last-child{border-bottom:0}.split-layout,.compatibility__grid,.policy-layout,.support-layout,.flash-layout,.learn-hub__intro,.learn-help{grid-template-columns:1fr}.learn-hub__intro,.learn-help{gap:28px}.split-layout__copy,.blocks-visual{max-width:680px}.blocks-visual__body{grid-template-columns:1.1fr .9fr}.blocks-python{display:block}.compatibility__grid{gap:44px}.source-section__card{grid-template-columns:1fr;align-items:stretch}.source-repository{max-width:560px}.beta-invite__card{grid-template-columns:1fr;align-items:stretch}.app-install__card{grid-template-columns:minmax(0,1fr) minmax(220px,270px);gap:40px}.app-getting-started__steps{grid-template-columns:1fr}.app-getting-started__steps li{min-height:0}.policy-contact,.report-card{max-width:560px;position:static}.flash-status{max-width:640px}.flash-status--preview{max-width:680px}.site-footer__grid{grid-template-columns:1fr auto}.site-footer__legal{text-align:left;grid-column:1/-1}}@media (max-width:680px){html{scroll-padding-top:74px}.container{width:min(calc(100% - 28px), var(--container))}.site-header__inner{min-height:64px}.brand__mark{width:34px;height:34px}.hero__grid{gap:46px;padding-block:58px 64px}.hero h1{font-size:clamp(2.7rem,13vw,3.65rem)}.hero__lede{font-size:1rem}.button-row{flex-direction:column;align-items:stretch}.button-row .button{width:100%}.hero__proof{gap:8px;display:grid}.app-capture figcaption{flex-direction:column;align-items:flex-start;gap:4px}.section{padding-block:76px}.section-heading{margin-bottom:38px}.steps,.feature-grid{grid-template-columns:1fr}.steps{gap:28px}.steps:before{display:none}.steps li{text-align:left;grid-template-columns:48px 1fr;column-gap:17px;padding:0;display:grid}.steps li>span{grid-row:1/span 2;margin:0}.steps h3{margin:2px 0 7px}.feature-card{min-height:0;padding:25px}.feature-card__icon{margin-bottom:22px}.blocks-visual__body{grid-template-columns:1fr}.blocks-python{display:none}.blocks-stack{min-height:360px;padding-left:21px}.target-grid{grid-template-columns:1fr}.target-grid>div{min-height:150px}.waveshare-board-photo{border-radius:16px;margin-block:26px}.waveshare-board-photo__badge{min-height:28px;padding-inline:10px;font-size:.63rem;top:10px;right:10px}.waveshare-board-photo figcaption{flex-direction:column;align-items:flex-start;gap:13px;padding:16px}.waveshare-board-photo .text-link{white-space:normal}.source-section__card{gap:38px;padding:30px 24px}.source-section__action{width:100%}.source-repository{padding:20px}.source-repository li{grid-template-columns:1fr;gap:1px}.beta-invite__card{grid-template-columns:1fr;align-items:stretch}.beta-invite__qr{width:min(230px,100%);margin-inline:auto}.beta-invite__card .button-row{flex-direction:column;width:100%}.app-install__card{grid-template-columns:1fr;align-items:stretch;padding:30px 24px}.app-install__qr{width:min(270px,100%);margin-inline:auto}.app-install__primary,.app-install__secondary-actions{width:100%}.app-getting-started__steps li{padding:24px}.page-intro__inner{padding-block:62px 68px}.page-intro h1{font-size:clamp(2.8rem,14vw,4.2rem)}.profile-detail__heading{flex-direction:column;align-items:stretch}.preview-badge{align-self:flex-start}.profile-detail dl>div{grid-template-columns:1fr;gap:3px}.policy-layout,.support-layout{gap:50px;padding-block:70px}.learn-hub{padding-block:70px}.learn-grid,.learn-legend__items,.learn-baselines__grid,.tutorial-goals,.tutorial-starter-grid,.tutorial-capability-grid,.tutorial-snapshot,.tutorial-source-links,.example-grid{grid-template-columns:1fr}.tutorial-snapshot>div,.tutorial-snapshot>div:nth-child(2n){border-right:0}.example-slice__heading{flex-direction:column;align-items:flex-start;gap:5px}.learn-card{grid-template-columns:46px minmax(0,1fr);gap:17px;min-height:0;padding:24px}.learn-card__number{border-radius:13px;width:46px;height:46px}.learn-legend,.learn-baselines,.learn-help{margin-top:66px;padding-top:58px}.learn-help{padding:28px}.tutorial-layout{padding-block:38px 76px}.tutorial-facts{grid-template-columns:1fr}.tutorial-facts>div{border-bottom:1px solid #cddced;border-right:0}.tutorial-facts>div:last-child{border-bottom:0}.tutorial-goals{gap:28px;padding:23px}.tutorial-definition-list>div{grid-template-columns:1fr;gap:6px}.tutorial-concept-figure{border-radius:16px}.tutorial-concept-figure__heading{padding:20px}.tutorial-concept-figure__items{grid-template-columns:1fr}.tutorial-concept-figure__items li{border-right:0;border-bottom:1px solid var(--line);padding:20px}.tutorial-concept-figure__items li:last-child{border-bottom:0}.tutorial-concept-figure figcaption{padding:14px 20px 16px}.tutorial-app-capture{border-radius:14px}.tutorial-app-capture__image{border-radius:9px}.tutorial-app-capture figcaption{flex-direction:column;align-items:flex-start;gap:5px}.tutorial-identity-gallery{border-radius:14px}.tutorial-identity-gallery__heading{padding:20px}.tutorial-identity-gallery__grid,.tutorial-identity-gallery__grid[data-board-count="1"]{grid-template-columns:1fr}.tutorial-identity-gallery__grid[data-board-count="5"]>li:last-child:nth-child(odd){grid-column:auto;width:100%}.tutorial-identity-card{padding:14px}.tutorial-identity-gallery figcaption{flex-direction:column;align-items:flex-start;gap:5px}.tutorial-toc{padding:13px;display:grid}.tutorial-toc strong{min-height:36px;padding-inline:8px}.tutorial-toc a{min-height:44px}.tutorial-steps>li{grid-template-columns:42px minmax(0,1fr);gap:16px;padding:22px}.tutorial-step__number{border-radius:12px;width:42px;height:42px}.tutorial-navigation{grid-template-columns:1fr}.tutorial-navigation>span[aria-hidden=true]{display:none}.tutorial-navigation__next,.tutorial-navigation__all{text-align:left;align-items:flex-start;min-width:0}.prose section+section{margin-top:50px;padding-top:50px}.help-grid{grid-template-columns:1fr}.requirement-list li{grid-template-columns:1fr;gap:7px}.safety-note{grid-template-columns:1fr;gap:26px}.site-footer__grid{grid-template-columns:1fr;gap:28px;padding-block:48px}.site-footer__links{flex-wrap:wrap}.site-footer__legal{grid-column:auto}}@media (max-width:380px){.mobile-menu summary span{display:none}.hero h1{font-size:2.6rem}.code-block{min-width:145px;font-size:.65rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}@media print{.site-header,.site-footer,.button{display:none}body{background:var(--white)}.page-intro{background:var(--white);color:var(--ink)}.page-intro h1{color:var(--navy-900)}.policy-layout,.support-layout{display:block}.policy-contact,.report-card{box-shadow:none;margin-top:40px}}
