
:root{--bg:#f3f2ee;--ink:#1b2529;--muted:#6b7779;--panel:#fffefa;--line:#e1e5e1;--red:#b93332;--orange:#f2b15b;--blue:#8dbdd3;--green:#8bbba8;--purple:#c4a8d6;--dark:#17242b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--ink)}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.shell{width:min(1220px,calc(100% - 40px));margin:auto}.top{height:68px;border-bottom:1px solid #d8dfdc;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:950;letter-spacing:-.045em;font-size:19px}.brand em{font-size:11px;font-style:normal;color:#87948e;letter-spacing:.13em;margin-left:6px}.topnav{display:flex;gap:22px;align-items:center;font-size:11px;font-weight:800}.topnav span{color:#287056;background:#e8f2e8;border:1px solid #d0e6d4;border-radius:25px;padding:7px 11px}.hero{padding:52px 0 35px;display:flex;justify-content:space-between;align-items:end;gap:20px}.eyebrow{font-size:10px;letter-spacing:.17em;font-weight:900;color:#9b5950;text-transform:uppercase}.hero h1{font-size:clamp(42px,6vw,76px);letter-spacing:-.075em;line-height:1.01;margin:12px 0 15px}.hero p{max-width:625px;font-size:15px;line-height:1.55;color:#65757b;margin:0}.badge{border-left:3px solid var(--red);padding:6px 0 6px 15px;max-width:215px;font-size:12px;line-height:1.45;color:#708080}.badge b{display:block;color:#263337;margin-bottom:4px}.studio{display:grid;grid-template-columns:306px 1fr;gap:16px;align-items:start}.card{background:var(--panel);border:1px solid #e5e9e5;border-radius:16px;box-shadow:0 14px 46px #1327220d;overflow:hidden}.control{padding:21px;position:sticky;top:12px}.kicker{font-size:10px;color:#84958e;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.control h2,.view h2,.end h2{font-size:22px;letter-spacing:-.045em;margin:4px 0 0}.rule{height:1px;background:var(--line);margin:20px 0}.rowlabel{display:flex;justify-content:space-between;font-size:12px;font-weight:800;margin-bottom:6px}.rowlabel output{color:#963e37;font-variant-numeric:tabular-nums}.slider{margin:15px 0}.slider input{width:100%;accent-color:var(--red)}.ends{display:flex;justify-content:space-between;color:#a0aaa5;font-size:10px}.sub{font-size:12px;font-weight:900}.helper{font-size:11px;color:#82918d;line-height:1.45;margin:6px 0 12px}.tabs{display:flex;gap:5px;flex-wrap:wrap}.tabs button,.seg button,.choose button,.action{border:1px solid #dce4df;background:#f8faf7;border-radius:8px;color:#64746f;font-weight:800;font-size:11px;padding:8px 10px}.tabs button.active,.seg button.active,.choose button.active{background:var(--dark);color:#fff;border-color:var(--dark)}.partfields{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:12px}.partfields label,.posfields label{display:block;font-size:10px;font-weight:800;color:#758580}.partfields input,.posfields input{width:100%;height:34px;border:1px solid #dce4df;border-radius:7px;text-align:center;margin-top:5px;color:#203035;background:#fff;font-weight:750}.posfields{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}.seg{display:flex;gap:7px;margin-top:10px}.seg button{flex:1}.view-head{padding:19px 23px;display:flex;align-items:center;justify-content:space-between;gap:10px}.view-head h2{font-size:21px}.seg.viewtabs{margin:0}.seg.viewtabs button{flex:auto}.darkboard{background:#1c2a31;color:#d7e5e1;padding:14px 18px 8px}.board-head{display:flex;justify-content:space-between;gap:10px;color:#9caeb1;font-size:10px;font-weight:800;letter-spacing:.1em;padding:2px 5px 10px}.board-head span:last-child{letter-spacing:0;font-weight:500}.drawing{width:100%;height:auto;display:block;min-height:360px;touch-action:none}.legend{border-top:1px solid #354750;margin-top:4px;padding:12px 4px 6px;display:flex;gap:13px;flex-wrap:wrap;color:#b9c8c7;font-size:10px}.legend span{display:flex;gap:5px;align-items:center}.dot{display:inline-block;width:9px;height:9px;border-radius:3px}.view-foot{padding:17px 23px;display:flex;justify-content:space-between;align-items:center;gap:10px}.status{color:#238362;font-size:12px;font-weight:900}.status.bad{color:#b65444}.measure{color:#81918b;font-size:11px}.under{margin-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.mini{padding:19px}.mini h3{font-size:12px;margin:0 0 12px}.checks{padding:0;margin:0;list-style:none}.checks li{font-size:11px;color:#61716a;display:flex;gap:8px;line-height:1.4;margin:9px 0}.checks b{color:#30413c}.checks .good{color:#298469}.checks .bad{color:#c05f4c}.comparison{font-size:11px;color:#60726a}.comparison div{padding:7px 0;border-bottom:1px solid #edf0ed;display:flex;justify-content:space-between;gap:12px}.comparison strong{color:#33433b;text-align:right}.end{margin:38px 0 50px;padding:26px}.end-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.end p{color:#7b8a82;font-size:12px;line-height:1.5;margin:9px 0 0}.choose{display:flex;gap:6px}.two{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:22px}.two h3{font-size:12px;letter-spacing:.06em;text-transform:uppercase}.bom{list-style:none;margin:0;padding:0}.bom li{padding:10px 0;border-top:1px solid #e9efea;display:flex;justify-content:space-between;gap:12px;font-size:11px}.bom li span:last-child{text-align:right;font-weight:800;font-variant-numeric:tabular-nums}.tip{background:#f7f4ec;border:1px solid #ebe6d9;border-radius:9px;padding:12px;color:#746c5a;font-size:11px;line-height:1.5;margin-top:20px}.program{border-top:1px solid #e2e8e3;margin-top:24px;padding-top:23px}.program h3{font-size:19px;letter-spacing:-.04em;margin:3px 0}.programgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:16px}.controller{display:grid;grid-template-columns:repeat(3,48px);grid-template-rows:repeat(3,42px);justify-content:center;gap:5px}.controller button{background:#253841;color:white;border:0;border-radius:9px;font-size:18px;font-weight:900;touch-action:manipulation}.controller button:active,.controller button.pressed{background:#b94038}.controller .up{grid-column:2;grid-row:1}.controller .left{grid-column:1;grid-row:2}.controller .stop{grid-column:2;grid-row:2;background:#8c3531}.controller .right{grid-column:3;grid-row:2}.controller .down{grid-column:2;grid-row:3}.remote-box{border:1px solid #e1e9e4;border-radius:12px;padding:16px;background:#fbfcf9;text-align:center}.remote-box p{margin:12px auto 0;max-width:350px}.codebox{border-radius:10px;background:#1e2a31;color:#dbe9dc;overflow:hidden}.codehead{padding:10px 13px;border-bottom:1px solid #3b4c51;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#b6c9c4}.codehead button{background:#31454b;color:#fff;border:0;border-radius:6px;font-size:10px;padding:6px 9px}.codebox pre{margin:0;padding:13px;font-size:10px;line-height:1.55;white-space:pre-wrap;overflow:auto;max-height:260px}.footer{padding:0 0 30px;color:#9baaa4;font-size:11px;display:flex;justify-content:space-between;gap:10px}@media(max-width:950px){.studio{grid-template-columns:1fr}.control{position:static}.hero{padding-top:35px}.under{grid-template-columns:1fr 1fr}}@media(max-width:650px){.shell{width:calc(100% - 24px)}.top{height:58px}.topnav a{display:none}.hero{display:block;padding:30px 0}.hero h1{font-size:44px}.badge{margin-top:19px;max-width:none}.view-head{padding:17px;align-items:start}.view-head h2{font-size:18px}.darkboard{padding:10px 6px}.drawing{min-height:275px}.board-head{padding-left:10px}.view-foot{padding:14px}.under,.two,.programgrid{grid-template-columns:1fr}.end{padding:18px}.end-head{display:block}.choose{margin-top:12px}.footer{display:block}}

.top{height:auto;min-height:72px;gap:15px;flex-wrap:wrap;padding:15px 0}.topnav{flex-wrap:wrap;gap:8px}.topnav a{display:block!important;padding:10px 13px;border-radius:9px}.topnav a[aria-current="page"]{background:#23343b;color:white}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:22px}.gallery figure{margin:0}.gallery img{width:100%;height:340px;object-fit:contain;background:#e8e8e3;display:block}.gallery figcaption{padding:22px;font-size:12px;color:#65766b;line-height:1.6}.gallery h2{font-size:22px;color:#243530;letter-spacing:-.04em;margin:3px 0 10px}.source{font-size:10px;display:block;margin-top:14px}.source a,.docs a{color:#a23935;text-decoration:underline}.editor{border-radius:15px;background:#18252c;overflow:hidden;margin-bottom:24px}.editor pre{color:#d7e6e1;padding:24px;overflow:auto;line-height:1.65;font:12px/1.7 ui-monospace,monospace;margin:0;max-height:65vh}.editor .codehead{padding:15px}.codehead div{display:flex;gap:10px}.codehead a,.codehead button{color:white;padding:8px 11px;background:#384e54;border-radius:7px;font-size:11px}.docs{padding:18px 22px;margin-bottom:20px;font-size:13px;line-height:1.6}.commandtable{border-collapse:collapse;width:100%;margin-top:10px;font-size:12px}.commandtable td,.commandtable th{text-align:left;padding:8px;border-bottom:1px solid #e2e8e3}.gallerynote{font-size:13px;color:#68776d;line-height:1.6;margin:20px 0 45px}@media(max-width:700px){.gallery{grid-template-columns:1fr}.gallery img{height:auto}.topnav{width:100%;font-size:10px}.topnav a{padding:9px}.topnav span{margin-left:auto}.hero{padding-top:30px}.editor pre{padding:16px;font-size:11px}}

/* Páginas Arduino, chasis 3D y referencia */
.docs h2,.remote-section h2,.pin-card h2,.chassis-card h2,.design-decisions h2{font-size:22px;letter-spacing:-.045em;margin:5px 0 11px}.code-hero{align-items:center}.speed-mark{width:176px;min-width:176px;aspect-ratio:1;border-radius:50%;background:var(--dark);color:white;display:grid;place-content:center;text-align:center;box-shadow:0 18px 45px #17242b2b}.speed-mark strong{font-size:48px;letter-spacing:-.08em;line-height:.9}.speed-mark span{font-size:15px;font-weight:900;color:#e8b26a}.speed-mark small{font-size:10px;color:#9eb1ad;margin-top:10px}.code-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px}.hardware-list,.plain-list{list-style:none;padding:0;margin:14px 0 0}.hardware-list li{display:grid;grid-template-columns:170px 1fr;gap:12px;padding:9px 0;border-top:1px solid #e8ede8}.hardware-list span,.plain-list li{color:#718079}.safety-note{margin-top:15px;padding:12px;border-radius:9px;background:#f8f2e5;border:1px solid #eadfc9;color:#74664e;font-size:12px;line-height:1.55}.calc-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.calc-fields label{font-size:11px;font-weight:800;color:#6e7d78}.calc-fields label span{display:flex;align-items:center;gap:7px;margin-top:7px;font-weight:600}.calc-fields input{width:84px;border:1px solid #dbe4de;border-radius:8px;padding:9px;background:white;color:#26363a;font-weight:850}.calc-results{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:17px}.calc-results div{border-radius:10px;background:#f0f4f0;padding:12px}.calc-results small{display:block;color:#7b8a85;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.calc-results strong{display:block;margin-top:5px;font-size:17px}.remote-section{padding:22px;margin-bottom:20px;display:grid;grid-template-columns:1fr 370px;gap:25px;align-items:center}.remote-section p{max-width:560px;margin:0;color:#718079;font-size:13px;line-height:1.6}.remote-panel{display:grid;grid-template-columns:170px 1fr;gap:14px;align-items:center;background:#eef2ee;border-radius:13px;padding:15px}.remote-screen{min-height:105px;border-radius:10px;background:#17242b;color:white;padding:18px;display:flex;flex-direction:column;justify-content:center}.remote-screen span{font-size:9px;letter-spacing:.15em;color:#91aaa5}.remote-screen strong{font-size:16px;margin:6px 0}.remote-screen small{color:#e4b16f}.pin-card{padding:22px;margin-bottom:20px}.pin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pin-grid>div{border:1px solid #e2e9e4;border-radius:11px;padding:14px;background:#fbfcf9}.pin-grid b,.pin-grid span{display:block}.pin-grid b{margin-bottom:7px}.pin-grid span{font-size:11px;color:#708079;line-height:1.6}.validation-card{margin-bottom:48px}.code-editor{box-shadow:0 15px 38px #16282b20}.code-editor pre{min-height:430px}.chassis-hero{padding-bottom:28px}.chassis-card{margin-bottom:18px}.chassis-toolbar{padding:20px 23px;display:flex;align-items:center;justify-content:space-between;gap:16px}.chassis-actions{display:flex;align-items:center;gap:9px}.chassis-actions .seg{margin:0}.outline-action{border:1px solid #d8e1db;background:#fff;border-radius:8px;padding:9px 12px;font-size:11px;font-weight:850;color:#50645e}.outline-action[aria-pressed="true"]{background:#9b3b37;border-color:#9b3b37;color:white}.chassis-board{background:#18262d;padding:14px 18px 18px}.chassis-board svg{width:100%;display:block;touch-action:none;cursor:grab}.chassis-board svg:active{cursor:grabbing}.angle-controls{display:flex;justify-content:center;gap:7px;border-top:1px solid #34474e;padding-top:13px}.angle-controls button{border:1px solid #41565c;background:#24363d;color:#dce9e5;border-radius:8px;min-width:44px;padding:8px 11px;font-size:12px;font-weight:800}.angle-controls button:hover{background:#324950}.chassis-data{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:10px;padding:18px 23px}.chassis-data div{border-left:2px solid #d8e2dd;padding-left:12px}.chassis-data small,.chassis-data strong{display:block}.chassis-data small{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#8b9994}.chassis-data strong{margin-top:5px;font-size:12px}.chassis-info{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:34px}.plain-list li{padding:8px 0;border-top:1px solid #e7ece8}.page-link{display:inline-block;margin-top:9px;color:#9f3b36!important;font-weight:850;text-decoration:none!important;border-bottom:1px solid #d7a8a3}.reference-gallery{margin-bottom:20px}.reference-gallery figure{position:relative}.reference-gallery img{height:420px;object-fit:cover}.image-label{position:absolute;z-index:1;top:15px;left:15px;background:#17242be8;color:white;border-radius:20px;padding:8px 11px;font-size:9px;font-weight:900;letter-spacing:.12em}.image-label.result{background:#9f3936e8}.reference-gallery figcaption p{margin:0}.design-decisions{padding:24px;margin-bottom:45px}.decision-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}.decision-grid>div{border-top:3px solid #a83b38;background:#f5f6f2;border-radius:4px 4px 10px 10px;padding:15px}.decision-grid span{font-size:9px;color:#899690;letter-spacing:.12em;text-transform:uppercase}.decision-grid strong{display:block;font-size:15px;margin:5px 0}.decision-grid p{font-size:11px;color:#6f7d77;line-height:1.5;margin:0}.reference-links{display:flex;gap:18px;margin-top:19px}
@media(max-width:900px){.code-layout,.remote-section{grid-template-columns:1fr}.remote-section{gap:15px}.remote-panel{max-width:430px}.decision-grid{grid-template-columns:1fr 1fr}.reference-gallery img{height:340px}.chassis-data{grid-template-columns:1fr 1fr}.chassis-data div:last-child{grid-column:1/-1}.topnav{gap:4px}.topnav a{padding:8px 9px}}
@media(max-width:650px){.speed-mark{width:128px;min-width:128px;margin-top:20px}.speed-mark strong{font-size:38px}.hardware-list li{grid-template-columns:1fr;gap:2px}.calc-fields,.calc-results,.pin-grid,.chassis-info,.decision-grid{grid-template-columns:1fr}.remote-panel{grid-template-columns:1fr}.chassis-toolbar{align-items:flex-start;flex-direction:column}.chassis-actions{width:100%;justify-content:space-between}.chassis-board{padding:10px 6px 13px}.chassis-board .board-head{padding-left:9px}.chassis-data{grid-template-columns:1fr}.chassis-data div:last-child{grid-column:auto}.reference-gallery img{height:auto}.reference-links{flex-direction:column;align-items:flex-start}.code-editor pre{min-height:320px}}
