[data-lang]{display:none}html[lang=zh-CN] [data-lang=zh],html[lang=en] [data-lang=en]{display:inline}.language-switch{position:fixed;right:22px;top:20px;z-index:80;display:flex;background:#202020ed;border:1px solid #ffffff30;border-radius:24px;padding:4px;gap:2px}.language-switch button{background:none;border:0;color:#aaa;padding:8px 10px;border-radius:18px;font:12px Arial}.language-switch button[aria-pressed=true]{background:#ff741a;color:#141414}html[lang=zh-CN] #landing h2,html[lang=zh-CN] .copy h1,html[lang=zh-CN] .copy h2{font-family:Arial,'Microsoft YaHei',sans-serif;font-size:clamp(34px,4.4vw,70px);line-height:1.2;letter-spacing:-.04em}html[lang=zh-CN] .wordmark,html[lang=zh-CN] .member-card h3{font-family:Teko,sans-serif}.product-story{padding:140px 12%;display:grid;grid-template-columns:.85fr 1.15fr;gap:10%;background:#141414;color:#eee}.story-heading{position:sticky;top:140px;align-self:start;will-change:transform,opacity}.story-body{padding-top:10px}.story-line{font-size:clamp(17px,1.45vw,23px);line-height:1.95!important;margin:0 0 65px}.story-emphasis{color:#ff8b3e;font-weight:600}.type-char{opacity:.08}.developer-section{position:relative;min-height:900px;display:flex;align-items:center;justify-content:flex-end;padding:120px 8.7%;background:linear-gradient(90deg,#14141410,#14141480 40%,#141414 74%),url('https://oss.ryzobee.com/rootmaker/20261014/assets/generated/developer-coding.webp') left center/cover no-repeat}.developer-content{width:52%;position:relative;opacity:0;transform:translateY(35px);transition:transform .8s,opacity .8s}#landing .developer-content h2{font-size:clamp(48px,5.7vw,90px)}.developer-content p{font-size:16px;color:#bcb8b2;max-width:630px}.developer-section.entered .developer-content{transform:none;opacity:1}.dev-badges{margin:32px 0 22px;font:24px monospace}.dev-badges span{color:#ff741a}.resource-links{display:flex;gap:16px;margin-top:34px}.resource-links a{flex:1;display:flex;align-items:center;gap:16px;border:1px solid #ffffff30;padding:22px;text-decoration:none;transition:background .3s,transform .3s,border-color .3s}.resource-links a:hover,.resource-links a:focus-visible{background:#ff741a12;border-color:#ff741a;transform:translateY(-5px)}.resource-links svg,.family-wiki svg{width:28px;height:28px;color:#ff741a;flex-shrink:0}.resource-links small{display:block;color:#aaa;font-size:11px;margin-top:8px}.resource-links a>span{flex:1}
#future{height:300vh;background:#eeeae3;color:#232220;position:relative}.future-sticky{position:sticky;top:0;height:100vh;display:grid;grid-template-columns:1fr 1fr;padding:100px 8.7%;gap:7%;overflow:hidden}.future-copy{display:flex;flex-direction:column;justify-content:center}.future-pagination{display:flex;gap:9px;margin:0 0 45px}.future-pagination button{height:5px;width:25px;border:0;background:#bdb3a9;padding:0;transition:width .4s,background .4s}.future-pagination button[aria-current=step]{width:65px;background:#bc510e}.future-text{position:relative;min-height:350px}.future-text article{position:absolute;inset:0;opacity:0;transform:translateY(30px);transition:opacity .6s,transform .6s}.future-text article.active{opacity:1;transform:none}#landing .future-text h3{font-size:clamp(45px,5vw,76px);margin:24px 0}.future-text p{font-size:16px;color:#5d5750;max-width:500px}.planned{color:#a8521c;font-size:11px;letter-spacing:.1em}.future-follow{align-self:start;margin-top:35px;padding-bottom:8px;border-bottom:1px solid #b85214;text-decoration:none}.future-gallery{height:100%;max-height:72vh;align-self:center;overflow:hidden;border-radius:12px;background:#141414}.future-images{height:400%;transition:transform .75s cubic-bezier(.2,.75,.2,1)}.future-images figure{height:25%;margin:0;position:relative}.future-images img{width:100%;height:100%;object-fit:cover}.future-images figcaption{position:absolute;bottom:22px;left:24px;color:#ccc;font:10px Arial;background:#141414b3;padding:7px 10px;border-radius:4px}.module-card{height:auto!important;aspect-ratio:auto!important;min-height:360px;display:flex;flex-direction:column}.module-card h3{position:relative!important;inset:auto!important;margin-top:6px!important}.module-description{position:relative;font-size:12px!important;line-height:1.7!important;color:#bcb8b2;margin:14px 0 2px}.module-artwork{flex-shrink:0}.family-wiki{position:relative;z-index:3;display:flex;gap:18px;align-items:center;width:fit-content;margin:60px auto 0;padding:20px 25px;border:1px solid #ff741a60;border-radius:6px;text-decoration:none;background:#171717e8;font-size:14px;transition:background .3s}.family-wiki:hover{background:#3a2316}.spec-copy{top:40%;width:38%}.spec-copy>#spec-name,.spec-copy>#spec-value,.spec-copy>.spec-tabs{display:none}.spec-roller{height:192px;overflow:hidden;position:relative;pointer-events:auto;mask-image:linear-gradient(transparent,#000 25%,#000 75%,transparent)}.spec-roller-track{padding-top:64px;transition:transform .55s cubic-bezier(.2,.8,.2,1)}.spec-roller button{height:64px;width:100%;display:flex;align-items:center;gap:24px;background:none;border:0;color:#777;text-align:left;padding:0;opacity:.3;transition:color .5s,opacity .5s,transform .5s;transform:scale(.94);transform-origin:left}.spec-roller button.active{color:#ff6a00;opacity:1;transform:scale(1)}.spec-roller strong{font:500 36px Teko;min-width:110px}.spec-roller button>span{font-size:15px}.spec-copy>#spec-desc{min-height:70px;margin-top:16px}.timeline-section{height:280vh}.timeline-track{width:max-content}.milestone{flex:none;width:240px}.subscribe-dock{position:fixed;z-index:75;bottom:18px;left:50%;transform:translateX(-50%);width:min(640px,calc(100% - 28px));padding:12px 16px;background:#1a1a1af2;border:1px solid #ffffff35;border-radius:18px;box-shadow:0 12px 50px #0005;backdrop-filter:blur(18px);color:#eee;font:13px Arial}.dock-row{display:flex;align-items:center;gap:14px}.subscribe-field{flex:1;min-width:0}.subscribe-field input{width:100%;padding:12px;border:1px solid #ffffff25;border-radius:8px;color:white;background:#ffffff08;font:13px Arial}.dock-row>a,.dock-row>button{display:grid;place-items:center;width:25px;height:28px;color:#ccc;border:0;background:none;padding:0}.dock-row svg{height:22px;width:22px}.dock-row>a:hover{color:#ff741a}.dock-row button[aria-disabled]{opacity:.4;cursor:default}.dock-extra{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .35s,opacity .35s}.dock-extra>div{overflow:hidden}.subscribe-dock:hover .dock-extra,.subscribe-dock:focus-within .dock-extra,.subscribe-dock.expanded .dock-extra{grid-template-rows:1fr;opacity:1}.dock-extra p{font-size:11px;line-height:1.6;color:#aaa;margin:16px 0}.deposit-copy{border-top:1px solid #ffffff20;padding:14px 0 2px;display:flex;align-items:center;justify-content:space-between;gap:15px}.deposit-copy button{background:#ff741a2b;color:#ffad75;border:1px solid #ff741a50;border-radius:6px;padding:10px 12px;font-size:11px;cursor:not-allowed}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#contact{padding-bottom:160px}button:focus-visible,a:focus-visible{outline:2px solid #ff741a;outline-offset:5px}
@media(max-width:1000px){.developer-content{width:65%}.future-sticky{padding:100px 6%}.resource-links a{padding:15px;gap:10px}.product-story{padding:100px 7%;gap:6%}.language-switch{top:70px}.spec-roller button{gap:10px}.spec-roller strong{min-width:85px;font-size:29px}.spec-roller button>span{font-size:12px}}
@media(max-width:700px){.product-story{display:block;padding:80px 7%}.story-heading{position:relative;top:auto;margin-bottom:55px}.story-line{font-size:17px;margin-bottom:40px}.developer-section{min-height:780px;padding:90px 7%;background-position:30% center}.developer-content{width:100%;padding-top:200px}.resource-links{gap:10px}.resource-links a{padding:14px 10px;gap:8px}.resource-links small{font-size:9px}.future-sticky{padding:80px 7% 100px;grid-template-columns:1fr;grid-template-rows:1fr 40%;gap:25px}.future-pagination{margin-bottom:22px}.future-text{min-height:240px}#landing .future-text h3{font-size:36px;margin:14px 0}.future-text p{font-size:13px}.future-follow{margin-top:12px;font-size:12px}.future-gallery{height:100%;width:100%}.future-images img{object-position:center}.future-copy>.kicker{margin-bottom:14px}.module-description{font-size:11px!important}.module-card{min-height:0;padding:14px!important}.family-wiki{font-size:12px;margin-top:45px}.spec-copy{top:61%;width:86%}.spec-roller{height:150px}.spec-roller-track{padding-top:43px}.spec-roller button{height:64px}.spec-roller strong{font-size:29px;min-width:90px}.spec-roller button>span{font-size:13px}.spec-copy>#spec-desc{margin-top:8px;font-size:11px;max-width:100%}.spec-copy .kicker{top:-14px}.timeline-section{height:auto}.language-switch{right:12px;top:65px}.subscribe-dock{padding:10px;bottom:10px}.dock-row{gap:10px}.subscribe-field input{font-size:11px;padding:11px 8px}.deposit-copy{font-size:11px}.deposit-copy button{padding:8px}.future-images figcaption{bottom:10px;left:10px;font-size:8px}}
@media(prefers-reduced-motion:reduce){.story-heading,.developer-content{opacity:1!important;transform:none!important}.type-char{opacity:1!important}.future-images,.future-text article,.spec-roller-track,.dock-extra{transition:none}.timeline-section{height:auto}}
@media(min-width:701px){html[lang=zh-CN] #landing .story-heading h2{font-size:clamp(34px,3.1vw,52px);line-height:1.35}} @media(max-width:700px){.timeline-track{width:100%}.milestone{width:100%}}

/* Keep the Wiki action with the sticky family introduction. */
.family-heading{mix-blend-mode:normal}.family-heading .family-wiki{margin:32px auto 0;pointer-events:auto;max-width:100%;justify-content:center;line-height:1.5}
.future-scroll-hint{position:absolute;bottom:36px;left:8.7%;display:flex;align-items:center;gap:16px;color:#73665b;font-size:11px;letter-spacing:.06em;pointer-events:none}.future-scroll-hint>span{font-size:20px;animation:future-scroll-cue 1.8s ease-in-out infinite}
@keyframes future-scroll-cue{0%,100%{transform:translateY(-3px)}50%{transform:translateY(3px)}}
@media(max-width:1000px){.future-scroll-hint{left:6%}}
@media(max-width:700px){.family-heading .family-wiki{margin-top:26px;padding:14px 16px;gap:10px}.future-scroll-hint{left:7%;bottom:86px;font-size:10px}.future-sticky{padding-bottom:125px}}
@media(prefers-reduced-motion:reduce){.future-scroll-hint>span{animation:none}}

#landing .future-heading{font:500 clamp(48px,5vw,76px)/1.1 Teko,sans-serif;letter-spacing:-.015em;margin:0 0 32px}html[lang=zh-CN] #landing .future-heading{font:500 clamp(30px,3.2vw,52px)/1.25 Arial,'Microsoft YaHei',sans-serif;letter-spacing:-.04em}
#landing .future-text h3{font:500 clamp(34px,3.5vw,54px)/1.1 Teko,sans-serif;letter-spacing:-.015em;margin:22px 0}html[lang=zh-CN] #landing .future-text h3{font-family:Arial,'Microsoft YaHei',sans-serif;font-size:clamp(26px,2.7vw,42px);line-height:1.3}
.future-text{min-height:240px}.future-pagination{margin-bottom:28px}.future-follow{margin-top:24px}
.future-scroll-hint{font:400 13px/1.6 Arial,'Microsoft YaHei',sans-serif;letter-spacing:.08em;min-height:32px;gap:10px;color:#202020}.future-scroll-hint>img{filter:invert(1);flex-shrink:0}.future-scroll-hint .arrow{margin-left:9px;animation:scroll-cue 1.8s ease-in-out infinite}.future-scroll-hint>span{font-size:inherit;animation:none}
html[lang=zh-CN] #experience .vertical{font-size:clamp(36px,4.2vw,76px);font-weight:500;letter-spacing:.06em}
@media(max-width:700px){#landing .future-heading{font-size:40px;margin-bottom:18px}html[lang=zh-CN] #landing .future-heading{font-size:30px}.future-pagination{margin-bottom:16px}#landing .future-text h3,html[lang=zh-CN] #landing .future-text h3{font-size:26px;margin:12px 0}.future-text{min-height:160px}.future-scroll-hint{font-size:12px}.future-follow{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.future-scroll-hint .arrow{animation:none;transform:rotate(90deg)}}

/* Keep the shared model and both text panels in the same centered coordinate space. */
#hardware-visual,.ports-sticky,.specs-sticky{width:100%;max-width:1600px;margin-left:auto;margin-right:auto}

/* Match model canvas size to both viewport dimensions; keep text space clear. */
@media(min-width:701px){#hardware-visual #ports-canvas{top:26%;bottom:auto;height:min(68vh,720px)}}
@media(max-width:700px){#hardware-visual #ports-canvas{top:21%;bottom:auto;height:36vh}}
/* Zoner introduction and annotation refinements. */
.dev-badges{font-family:'Dock Noto','Noto Sans',sans-serif}
#family{isolation:isolate}.family-heading{z-index:1}.portrait-wall{position:relative;z-index:2}
.zoner-hero-link{display:inline-block;margin:14px 0 4px;color:#bd4e0d;text-underline-offset:5px;font-size:14px}.copy p a{color:inherit;text-underline-offset:4px}
.zoner-section{padding:clamp(80px,10vw,150px) max(6vw,24px);background:#141414;overflow:clip;scroll-margin-top:80px}
.zoner-inner{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:clamp(32px,5vw,90px);will-change:transform,opacity}
.zoner-visual{display:block;min-width:0;border:1px solid #494949;border-radius:18px;overflow:hidden;background:#222;box-shadow:0 25px 65px #0005;transform:perspective(1400px) rotateY(5deg);transition:transform .4s;text-decoration:none}
.zoner-visual:hover{transform:perspective(1400px) rotateY(0)}.zoner-visual img{display:block;width:100%;height:auto}.zoner-browser{display:flex;align-items:center;gap:7px;padding:15px;color:#aaa;font:11px 'Dock Noto',sans-serif}.zoner-browser i{width:6px;height:6px;border-radius:50%;background:#666}.zoner-browser span:first-of-type{flex:1;text-align:center}
#landing .zoner-copy h2{font-size:clamp(42px,4.5vw,70px);line-height:1.06;margin-bottom:25px}.zoner-copy p{color:#bbb;font-size:16px;line-height:1.85}.zoner-copy ol{padding:0;list-style:none;margin:28px 0}.zoner-copy li{display:flex;gap:16px;padding:12px 0;border-bottom:1px solid #333;font-size:15px}.zoner-copy li>span:first-child{color:#ff7919;font:14px 'Dock Noto',sans-serif}.zoner-cta{display:inline-flex;align-items:center;gap:45px;background:#ff7919;border-radius:30px;color:#141414!important;padding:15px 24px;text-decoration:none;font-size:16px;font-weight:600}.zoner-copy small{display:block;color:#999;font-size:11px;line-height:1.6;margin-top:20px}.sales-zoner a{text-underline-offset:5px}
@media(max-width:800px){.zoner-inner{grid-template-columns:1fr}.zoner-visual{transform:none;max-width:650px}.zoner-copy{max-width:650px}.zoner-section{padding:80px 7%}}
@media(prefers-reduced-motion:reduce){.zoner-inner{opacity:1!important;transform:none!important}.zoner-visual{transform:none;transition:none}}


/* Enable only the visible hero links; inactive slides remain inert. */
.copy:not([inert]) a,.sales-copy a{pointer-events:auto;cursor:pointer}
.family-heading{will-change:opacity}
