:root{color-scheme:light;--paper:#f8f4ed;--ink:#161412;--muted:#6e6960;--line:#d5cfc3;--accent:#2f6fed}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 Inter,Arial,sans-serif}button,input{font:inherit;color:inherit}button{cursor:pointer;background:transparent;border:1px solid var(--line);padding:9px 14px;min-height:44px}button:hover{background:#eae5db}button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}a{color:inherit}header{height:82px;display:flex;align-items:center;gap:36px;padding:0 32px;border-bottom:1px solid var(--line)}header img{width:38px;display:block}nav{display:flex;gap:26px;font-size:14px}nav a{text-decoration:none;color:var(--muted)}nav a[aria-current]{color:var(--ink);text-decoration:underline;text-underline-offset:8px}header>button{margin-left:auto;border:0;font-size:14px}main{position:relative;height:calc(100dvh - 126px);min-height:540px;overflow:hidden}.heading{position:absolute;left:32px;top:24px;z-index:2;pointer-events:none}h1{font:400 clamp(28px,3vw,42px)/1.2 Georgia,serif;margin:0 0 8px;letter-spacing:-1.2px}h1 em{font-weight:400}.heading>span,.eyebrow,#part-number{font:12px/1.5 'Courier New',monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.tools{position:absolute;top:30px;right:32px;display:flex;gap:8px;z-index:3;font-size:14px}.tools span{font:12px monospace;margin-left:10px;color:var(--muted)}#viewport{position:absolute;inset:105px 16px 155px}#viewport canvas{display:block;touch-action:none;width:100%;height:100%;cursor:grab}#viewport canvas:active{cursor:grabbing}#loading{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);max-width:90%;text-align:center}#tooltip{position:absolute;pointer-events:none;z-index:5;background:var(--ink);color:var(--paper);padding:7px 12px;font-size:14px;max-width:250px}.panel{position:absolute;top:96px;bottom:155px;width:300px;padding:20px;background:#fcf9f3f7;border:1px solid var(--line);z-index:4;overflow:auto}#index{left:32px}#detail{right:32px}.panel-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.panel-top h2{font-size:18px;font-weight:500;margin:0}.panel-top button{border:0;font-size:24px;padding:0;width:44px}.panel label{font-size:14px}#search{width:100%;background:transparent;border:1px solid var(--line);padding:10px;margin:8px 0 12px}#parts{display:grid}#parts button{text-align:left;border:0;border-bottom:1px solid var(--line);font-size:14px;padding:10px 5px}#parts button span{display:inline-block;min-width:27px;font:12px monospace;opacity:.65}#part-name{font:30px/1.13 Georgia,serif;margin:14px 0 18px}#part-text{font-size:16px;color:#575149}.fact{font-size:14px;border-block:1px solid var(--line);padding:14px 0}.detail-actions{display:grid;gap:8px;font-size:14px}.stepper{display:flex;justify-content:space-between;gap:8px;margin-top:16px}.stepper button{border:0;padding:6px;font-size:14px}.bottom{position:absolute;bottom:24px;left:32px;right:32px;z-index:3}#hint{text-align:center;color:var(--muted);font-size:13px;margin:0 0 18px}.dock{display:flex;align-items:center;gap:24px;padding:16px 20px;border:1px solid var(--line);background:#fcf9f3;max-width:940px;margin:auto;font-size:14px}.modes{display:flex;gap:4px}.modes button{border:0;padding:8px 12px;white-space:nowrap}.separation{flex:1;min-width:100px}.separation label{display:flex;justify-content:space-between;font-size:14px;margin-bottom:4px;gap:16px}input[type=range]{width:100%;accent-color:var(--ink);margin:0;min-height:24px}footer{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;font-size:12px;color:var(--muted);border-top:1px solid var(--line)}footer button{font-size:12px;border:0;padding:0}dialog{background:var(--paper);color:var(--ink);border:1px solid var(--line);max-width:min(560px,92vw);max-height:85dvh;padding:28px;line-height:1.65}dialog h2{font:32px Georgia,serif}dialog>button{float:right;font-size:14px}dialog::backdrop{background:#16141255}[hidden]{display:none!important}body.inspecting #viewport{right:344px}body.indexing #viewport{left:344px}
@media(max-width:1050px){.dock{gap:12px;padding:12px}.modes button{padding:8px}.tools{right:20px}body.inspecting.indexing #index{display:none}}
@media(max-width:720px){header{height:66px;padding:0 16px;gap:18px}header img{width:30px}nav{gap:14px;font-size:13px}header>button{padding:4px;font-size:12px}main{height:calc(100dvh - 104px);min-height:630px}.heading{left:18px;top:18px}.heading>span{font-size:12px}.tools{top:100px;left:16px;right:16px;gap:6px}.tools button{font-size:13px;flex:1;padding:6px}#viewport,body.inspecting #viewport,body.indexing #viewport{inset:153px 0 208px}.bottom{left:12px;right:12px;bottom:16px}.dock{flex-wrap:wrap;gap:10px;padding:10px}.modes{width:100%}.modes button{flex:1}.separation{padding:0 6px}#hint{font-size:12px;margin-bottom:12px}.panel{top:152px;bottom:206px;width:calc(100% - 32px);padding:16px}#index{left:16px}#detail{right:16px}#part-name{font-size:26px}footer{height:38px;padding:0 12px;font-size:11px}footer>span{max-width:62%;font-size:11px;line-height:1.2}footer button{font-size:11px}body.inspecting #viewport{opacity:.25}}

/* Shared Humanoid Atlas signup, adapted to the actuator header and dock. */
header #subscribe-open{margin-left:0;border:1px solid #2f6fed;padding:9px 16px}
.newsletter-nudge{bottom:130px}
.newsletter-nudge .close,#newsletter-dialog .close{float:right;border:0;background:none;min-width:40px;padding:4px 10px;font-size:16px}
.newsletter-nudge h2{font-family:Inter,Arial,sans-serif;font-weight:500}
#newsletter-dialog{background:#fffdf9;border-color:#24364830;color:#20262c}
#newsletter-dialog h2{font:500 24px/1.2 Inter,Arial,sans-serif}
#newsletter-dialog a{color:#38647b}
#newsletter-dialog::backdrop{background:#20262c40}
@media(max-width:767px){.newsletter-nudge{bottom:206px}header #subscribe-open{font-size:14px;padding:8px 14px}}

/* Full-screen signup with an always-visible dismissal control. */
#newsletter-dialog{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border:0;padding:80px 24px 32px;overflow-y:auto;background:var(--paper)}
#newsletter-dialog[open]{display:flex;align-items:center;justify-content:center}
#newsletter-dialog .newsletter-content{width:100%;max-width:520px;margin:auto;text-align:center}
#newsletter-dialog h2{font:400 clamp(32px,5vw,48px)/1.15 Georgia,serif;margin:0 0 20px}
#newsletter-dialog #newsletter-close{position:fixed;top:16px;right:20px;z-index:2;float:none;width:52px;height:52px;padding:0;font:36px/1 Arial,sans-serif;border:1px solid var(--line);background:var(--paper);color:var(--ink)}
#newsletter-dialog #newsletter-close:hover{background:#eae5db}
body:has(#newsletter-dialog[open]){overflow:hidden}
