/* Native typography and technical documentation, with a quiet visual hierarchy. */
body{--muted:#6e7277}body.dark{--fg:#f5f5f7;--muted:#a1a1a6;--sub:#111113}
.site-nav{max-width:1240px;padding:22px 40px;border-bottom:1px solid var(--line)}.site-nav nav{gap:25px;font-size:.78rem}.site-nav .brand{font-size:1.35rem}.site-nav .pill{padding:9px 16px;font-size:.77rem;font-weight:550}.site-nav .theme-toggle{width:30px;height:30px;font-size:18px}
.developer-page{max-width:1240px;padding:0 40px;margin:auto}.developer-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:72px;align-items:center;padding:86px 0 70px}.developer-hero h2{font-size:clamp(2.7rem,4.5vw,4.4rem);font-weight:650;letter-spacing:-.06em;line-height:1.03}.developer-hero h2 span{color:var(--muted)}.developer-hero .eyebrow{font-size:.75rem;margin-bottom:25px;font-weight:550;display:flex;align-items:center;gap:13px}.developer-hero p{margin:25px 0 28px;font-size:1rem;line-height:1.75;max-width:510px}.developer-hero .actions{margin:0;gap:20px}.text-link{font-size:.85rem;font-weight:550}.text-link:hover{color:var(--green)}
.code-document{border:1px solid var(--line);border-radius:12px;background:var(--sub);overflow:hidden;min-width:0}.code-document header{padding:14px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;color:var(--muted);font:.68rem ui-monospace,SFMono-Regular,monospace}.code-document pre{margin:0;padding:24px 20px;font:12px/1.95 ui-monospace,SFMono-Regular,monospace;overflow:auto;color:var(--fg);tab-size:2}.code-document .code-comment{color:var(--muted)}.code-document .code-key{color:var(--green)}.code-document footer{padding:14px 18px;font-size:.68rem;color:var(--muted)}
.product-availability{display:grid;grid-template-columns:repeat(3,1fr);padding:24px 0 34px;border-bottom:1px solid var(--line);gap:35px}.product-availability strong{font-size:.85rem;font-weight:600}.product-availability p{margin:8px 0;font-size:.78rem;line-height:1.65}.product-availability span{font-size:.66rem;color:var(--muted)}
.technical-section{padding:68px 0;border-bottom:1px solid var(--line);scroll-margin-top:24px}.technical-heading{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start;margin-bottom:35px}.technical-heading .eyebrow{font-size:.68rem;margin-bottom:14px;font-weight:500}.technical-heading h2{font-size:2.3rem;font-weight:630;letter-spacing:-.045em;line-height:1.12}.technical-heading>p{font-size:.92rem;line-height:1.8;padding-top:28px}
.workflow-rows{display:grid;grid-template-columns:repeat(3,1fr);gap:38px}.workflow-rows article{border-top:1px solid var(--line);padding-top:20px}.workflow-rows .index{color:var(--muted);font:.7rem ui-monospace,monospace}.workflow-rows h3{font-size:1.05rem;margin:16px 0 12px;letter-spacing:-.025em;font-weight:600}.workflow-rows p{font-size:.83rem;line-height:1.75}.workflow-rows a{display:inline-block;margin-top:18px;color:var(--green);font-size:.75rem}
.technical-module-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 50px}.technical-module{display:grid;grid-template-columns:1fr auto;gap:14px 22px;padding:24px 0;border-top:1px solid var(--line);min-width:0}.technical-module h3{font-size:1rem;font-weight:600;letter-spacing:-.02em}.technical-module .equation{font:italic 1.25rem ui-serif,Georgia,serif;color:var(--green);grid-column:1/-1}.technical-module p{font-size:.8rem;line-height:1.75;grid-column:1/-1}.technical-module>a{font-size:.85rem;color:var(--muted)}.technical-module>a:hover{color:var(--green)}
.implementation{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}.implementation h3{font-size:1.2rem;font-weight:600;margin-bottom:20px}.contract-list{margin:0}.contract-list div{display:grid;grid-template-columns:110px 1fr;gap:22px;border-top:1px solid var(--line);padding:16px 0;font-size:.8rem;line-height:1.7}.contract-list dt{font-weight:600}.contract-list dd{margin:0;color:var(--muted)}.implementation .fine{margin-top:18px;font-size:.72rem;line-height:1.8}.local-result{display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--line);padding:20px}.local-result header{padding:0;border:0;font-family:inherit;align-items:center}.local-result button{border:0;background:none;color:var(--green);padding:4px 0;font-size:.75rem}.local-result output{font:.72rem/1.8 ui-monospace,SFMono-Regular,monospace;white-space:pre-wrap;overflow-wrap:anywhere}
.pocket-documentation{display:grid;grid-template-columns:1.5fr .7fr;gap:100px;align-items:center}.pocket-documentation h2{font-size:2.3rem;line-height:1.12;letter-spacing:-.045em;font-weight:630}.pocket-documentation p{font-size:.92rem;line-height:1.8;margin:22px 0;max-width:560px}.pocket-documentation figure{margin:0;text-align:center}.pocket-documentation img{width:210px;border:1px solid var(--line);border-radius:28px;display:block;margin:auto}.pocket-documentation figcaption{font-size:.65rem;color:var(--muted);margin-top:16px}.pocket-documentation .eyebrow{font-size:.7rem;margin-bottom:14px}
.research-rows{display:grid;grid-template-columns:1fr 1fr;gap:0 50px}.research-rows a{border-top:1px solid var(--line);padding:24px 0;display:block}.research-rows strong{font-size:1.02rem;font-weight:600;letter-spacing:-.025em}.research-rows span{display:block;color:var(--muted);font-size:.8rem;line-height:1.75;margin-top:12px}.research-rows a:hover strong{color:var(--green)}.roadmap-list details{border-top:1px solid var(--line);padding:20px 0}.roadmap-list summary{cursor:pointer;font-size:.93rem;font-weight:550}.roadmap-list p{max-width:850px;font-size:.84rem;line-height:1.85;margin:18px 0 0}
.paper-library{padding:68px 0;margin:0;max-width:none}.paper-library .section-row{display:flex;justify-content:space-between;align-items:end;gap:30px}.paper-library h2{font-size:2.3rem;font-weight:630}.paper-library .eyebrow{font-size:.68rem;margin-bottom:14px}.paper-library .paper-intro{font-size:.86rem;line-height:1.8;max-width:760px;margin-top:25px}.software-sources{margin-top:35px;padding-top:25px;border-top:1px solid var(--line)}.software-sources p{font-size:.82rem;line-height:1.8;max-width:800px}.software-sources>div{display:flex;flex-wrap:wrap;gap:12px 24px;margin:20px 0;font-size:.75rem}
.hardware-document h2{font-size:2rem;font-weight:630}.hardware-document p{font-size:.85rem;line-height:1.85;margin-top:20px;max-width:660px}.hardware-track{height:135vh;position:relative}.hardware-sticky{position:sticky;top:20px}.hardware-stage{position:relative;height:400px;background:transparent;border-radius:12px;overflow:hidden;margin-top:25px}.hardware-stage canvas{width:100%;height:100%;opacity:0;position:absolute;inset:0}.hardware-stage canvas.ready{opacity:1}#hardware-render{position:absolute;inset:0;display:grid;place-content:center;color:var(--muted);font-size:.8rem}#hardware-render[hidden],#hardware-canvas[hidden],#hardware-controls[hidden]{display:none!important}.hardware-controls{display:flex;gap:8px;padding:14px 0}.hardware-controls button{color:var(--fg);background:var(--sub);border:1px solid var(--line);border-radius:7px;padding:8px 13px;font-size:.68rem}.hardware-caption{display:flex;justify-content:space-between;gap:20px;font-size:.65rem;color:var(--muted)}
.developer-footer{max-width:1240px;padding:30px 40px;border:0;font-size:.75rem}.developer-footer p{font-size:.75rem}
@media(max-width:900px){.developer-hero,.technical-heading{gap:35px}.pocket-documentation{gap:45px}.implementation{gap:30px}}
@media(max-width:700px){.developer-page{padding:0 22px}.site-nav{padding:18px 22px}.site-nav nav{gap:12px}.site-nav nav>a:not(.pill){display:none}.developer-hero{grid-template-columns:1fr;padding:52px 0 40px;gap:34px}.developer-hero .actions{justify-content:flex-start}.developer-hero h2{font-size:3rem}.developer-hero p{font-size:.93rem}.product-availability{grid-template-columns:1fr;gap:20px}.product-availability p{margin:5px 0}.technical-section,.paper-library{padding:45px 0}.technical-heading,.workflow-rows,.technical-module-grid,.implementation,.research-rows{grid-template-columns:1fr;gap:25px}.technical-heading>p{padding-top:0}.technical-heading h2,.paper-library h2,.pocket-documentation h2{font-size:2rem}.technical-module-grid,.research-rows{gap:0}.pocket-documentation{grid-template-columns:1fr;gap:30px}.pocket-documentation img{width:190px}.contract-list div{grid-template-columns:85px 1fr;gap:14px}.developer-footer{padding:25px 22px;gap:18px}.hardware-track{height:auto}.hardware-sticky{position:relative;top:0}.hardware-stage{height:320px}}
@media(prefers-reduced-motion:reduce){.hardware-track{height:auto}.hardware-sticky{position:relative;top:0}}

.math-word{font-family:"New York",Baskerville,Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.035em}.technical-heading .math-word{color:var(--green)}
.terminal-gallery .technical-heading{margin-bottom:30px}.capture-tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);margin-bottom:24px;overflow:auto}.capture-tabs button{background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);padding:12px 0;font-size:14px;white-space:nowrap}.capture-tabs button[aria-pressed=true]{border-bottom-color:var(--green);color:var(--fg);font-weight:600}.terminal-study{margin:0}.desktop-capture{display:block;width:100%;border:1px solid var(--line);border-radius:14px;padding:0;overflow:hidden;background:var(--sub);cursor:zoom-in;box-shadow:0 14px 45px #0000000b}.desktop-capture img{display:block;width:100%;height:auto}.terminal-study figcaption{display:grid;grid-template-columns:1fr 1.5fr;gap:35px;padding:24px 0 12px}.terminal-study figcaption strong{font-size:1.1rem;font-weight:600;letter-spacing:-.025em}.terminal-study figcaption p{font-size:14px;line-height:1.75}.capture-note,.pocket-footnotes p{font-size:12px;line-height:1.8;color:var(--muted)}
.gallery-controls{display:flex;justify-content:space-between;align-items:center;margin:12px 0 24px;font-size:14px;font-weight:550}.gallery-controls>div{display:flex;gap:8px}.gallery-controls button{border:1px solid var(--line);background:var(--sub);width:34px;height:34px;border-radius:50%;font-size:23px;line-height:1}.phone-gallery{display:flex;gap:32px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 25px;scrollbar-width:thin}.phone-study{margin:0;flex:0 0 242px;scroll-snap-align:start;min-width:0}.phone-frame{display:block;padding:5px;background:#111;border:1px solid #636367;border-radius:38px;box-shadow:0 0 0 1px #161618,0 10px 20px #00000016;overflow:hidden;cursor:zoom-in;width:100%;line-height:0}.phone-frame img{display:block;width:100%;height:auto;border-radius:32px;border:1px solid #050505}.phone-study figcaption{padding:23px 2px 0}.phone-study h3{font-size:1.05rem;font-weight:650;letter-spacing:-.025em;margin-bottom:10px}.phone-study p{font-size:14px;line-height:1.7}.pocket-footnotes{display:grid;grid-template-columns:1fr 1fr;gap:35px;border-top:1px solid var(--line);margin-top:20px;padding-top:20px}
.teaser-section{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;align-items:center}.teaser-section h2{font-size:2.3rem;font-weight:630}.teaser-section p{font-size:15px;line-height:1.8;margin:20px 0}.teaser-player{aspect-ratio:16/9;background:#000;border:1px solid var(--line);border-radius:12px;overflow:hidden}.teaser-player>button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;width:100%;height:100%;border:0;background:#000;color:#fff;font-size:14px}.teaser-player img{filter:invert(1);position:absolute;left:25px;top:22px;width:32px;height:32px}.teaser-play-mark{display:grid;place-content:center;width:52px;height:52px;border-radius:50%;background:#ffffff17;font-size:17px}.teaser-player iframe{display:block;border:0;width:100%;height:100%}
#capture-dialog{background:var(--bg);color:var(--fg);border:1px solid var(--line);border-radius:18px;width:min(94vw,1500px);max-width:94vw;max-height:94dvh;padding:18px;overflow:auto}#capture-dialog::backdrop{background:#000b;backdrop-filter:blur(8px)}#close-capture{position:sticky;top:0;float:right;border:1px solid var(--line);background:var(--sub);padding:8px 16px;border-radius:18px;font-size:14px;z-index:1}#capture-dialog-caption{font-size:14px;font-weight:600;padding:8px 0 20px}#capture-dialog-image{display:block;max-height:78dvh;max-width:100%;width:auto;margin:auto;border-radius:10px}
.theme-toggle .theme-sun,.dark .theme-toggle .theme-moon{display:none}.dark .theme-toggle .theme-sun{display:inline-flex}.theme-toggle span{display:inline-flex}.theme-toggle svg{width:18px;height:18px}
@media(max-width:700px){.terminal-study figcaption,.pocket-footnotes,.teaser-section{grid-template-columns:1fr;gap:18px}.phone-study{flex-basis:230px}.phone-gallery{gap:24px}.capture-tabs{gap:20px}.teaser-player{width:100%}.pocket-gallery .technical-heading{gap:18px}.terminal-study figcaption strong{font-size:1rem}}

.learning-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}.learning-equation{font:italic 1.4rem/1.7 Georgia,serif;letter-spacing:-.03em;color:var(--green);margin-bottom:26px}.learning-equation>span{font-size:.6em;vertical-align:sub}.learning-steps{list-style:none;margin:0 0 24px;padding:0;counter-reset:step}.learning-steps li{position:relative;padding:0 0 18px 28px;counter-increment:step}.learning-steps li:before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:2px;font:10px/1.6 ui-monospace,monospace;color:var(--muted)}.learning-steps strong{display:block;font-size:14px;font-weight:600;margin-bottom:6px}.learning-steps span{font-size:13px;color:var(--muted);line-height:1.75;display:block}.temporal-split{display:grid;grid-template-columns:3fr 2fr;gap:4px;margin:24px 0 18px}.temporal-split span{padding:9px 12px;background:color-mix(in srgb,var(--green) 8%,var(--bg));border-top:2px solid var(--green);font:11px ui-monospace,monospace}.temporal-split span+span{border-color:var(--muted);background:var(--sub)}.learning-method .text-link{display:inline-block;margin-top:20px}.model-evidence{border:1px solid var(--line);border-radius:12px;padding:20px;background:var(--sub);min-width:0}.model-evidence header{display:flex;gap:18px;justify-content:space-between;align-items:start}.model-evidence header strong{font-size:14px;font-weight:600;display:block}.model-evidence header span{font:10px/1.7 ui-monospace,monospace;color:var(--muted);display:block;margin-top:7px}.model-evidence button{font-size:11px;white-space:nowrap;color:var(--green);padding:3px 0;background:none;border:0}.model-evidence svg{display:block;width:100%;height:auto;margin:15px 0;color:var(--muted)}.model-evidence svg text{font:10px ui-monospace,monospace;fill:currentColor}.model-evidence .model-grid{fill:none;stroke:var(--line);stroke-width:.6}.model-evidence .model-ideal{fill:none;stroke:var(--muted);stroke-dasharray:4 5;stroke-opacity:.5}.model-evidence circle{fill:var(--green);fill-opacity:.65}.model-metrics{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding:16px 0;gap:14px}.model-metrics span{display:block;font-size:10px;color:var(--muted);margin-bottom:8px}.model-metrics strong{font:500 18px ui-monospace,monospace;letter-spacing:-.04em}.ios-availability{display:flex;gap:14px;align-items:center;margin:10px 0 36px}.ios-availability svg{width:28px;height:32px}.ios-availability strong{display:block;font-size:17px;font-weight:600}.ios-availability span{display:block;font-size:12px;color:var(--muted);margin-top:5px}@media(max-width:700px){.learning-grid{grid-template-columns:1fr;gap:30px}.learning-equation{font-size:1.25rem}.model-evidence{padding:16px}.model-metrics strong{font-size:16px}}
/* Quantitative notation is typeset as an editorial graphic. */
.quant-notation{background:var(--sub)}.quant-notation pre{font-size:13px;line-height:1.85;letter-spacing:.01em}.quant-notation .code-comment{font-size:9px;letter-spacing:.13em;font-weight:500}.quant-notation footer{color:var(--fg);font-size:11px;line-height:1.8;border-top:1px solid var(--line)}.quant-notation footer span{color:var(--muted)}
/* Green appears only at the point of interaction. */
.site-nav .pill,.developer-page button:not(.capture-zoom),.developer-page .pill{transition:box-shadow .28s ease,color .28s ease,text-shadow .28s ease;position:relative}
.capture-tabs button:before{content:"";position:absolute;inset:8px -12px;pointer-events:none;border-radius:50%;background:radial-gradient(ellipse,#42c58a24,transparent 72%);filter:blur(8px);opacity:0;transition:opacity .28s ease}
@media(hover:hover){.site-nav .pill:hover,.developer-page .pill:hover,.gallery-controls button:hover,.paper-filters button:hover{box-shadow:0 3px 22px #2cb57b25}.capture-tabs button:hover{color:var(--fg);text-shadow:0 0 18px #52cf9670}.capture-tabs button:hover:before{opacity:1}.local-result button:hover,.model-evidence button:hover{ text-shadow:0 0 16px #52cf9650}}
.site-nav a:focus-visible,.developer-page button:focus-visible,.developer-page a:focus-visible{outline:2px solid var(--green);outline-offset:4px;box-shadow:0 0 16px #2cb57b26}
.desktop-capture{position:relative;text-align:left;color:white;isolation:isolate}.desktop-capture:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#000c 0%,#0003 12%,transparent 28%,transparent 62%,#0008 85%,#000e 100%);z-index:1}.capture-brand,.capture-statement{position:absolute;z-index:2;left:32px;color:#fff;pointer-events:none}.capture-brand{top:26px;display:flex;gap:10px;align-items:center;font-size:20px;font-weight:600;letter-spacing:-.03em}.desktop-capture .capture-brand img{width:24px;height:24px;filter:invert(1)}.capture-statement{bottom:30px;max-width:65%;font-size:clamp(20px,3.5vw,40px);line-height:1.1;font-weight:550;letter-spacing:-.045em}.capture-statement small{display:block;font-size:11px;letter-spacing:.08em;font-weight:400;margin-top:13px;text-transform:uppercase;color:#ffffffaa}
.phone-frame{position:relative}.phone-frame:after{content:"";position:absolute;top:2.4%;left:50%;transform:translateX(-50%);width:30.5%;height:4.1%;background:#000;border-radius:999px;pointer-events:none}
@media(max-width:700px){.capture-brand,.capture-statement{left:18px}.capture-brand{top:16px;font-size:15px}.capture-statement{bottom:20px}.capture-statement small{font-size:8px}.desktop-capture .capture-brand img{width:18px;height:18px}.quant-notation pre{font-size:12px}}
@media(prefers-reduced-motion:reduce){.site-nav .pill,.developer-page button,.developer-page .pill{transition:none}}
.hardware-track{height:270vh}.hardware-sticky{top:20px}.hardware-stage{height:min(55vh,550px);margin-top:10px;isolation:isolate}.hardware-document h2{font-size:clamp(30px,4vw,50px);letter-spacing:-.05em;margin-top:14px}.hardware-document .hardware-sticky>p{margin-top:12px;font-size:15px}.hardware-caption{align-items:center;border-top:1px solid var(--line);padding-top:16px;position:relative}.hardware-caption:before{content:"";height:1px;background:var(--fg);position:absolute;top:-1px;left:0;width:calc(var(--hardware-progress,0)*100%)}.hardware-caption strong{font-size:12px;font-weight:600;color:var(--fg)}.hardware-caption #hardware-detail{font-size:13px;margin:7px 0 0}.hardware-availability{font-size:11px!important;color:var(--muted);line-height:1.5!important;margin-top:14px!important}.hardware-controls{gap:8px;flex-wrap:wrap;padding:8px 0 16px}.hardware-controls button[aria-pressed=true]{border-color:var(--fg);color:var(--fg)}
@media(max-width:700px){.hardware-track{height:210vh}.hardware-sticky{position:sticky;top:15px}.hardware-stage{height:45vh;min-height:260px}.hardware-document h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){.hardware-track{height:auto}.hardware-sticky{position:relative;top:0}}

.developer-page p strong{font-weight:600;color:var(--fg)}.phone-frame{cursor:default}.phone-frame:after{display:none}

.stacked-workstation{padding:65px 0 15px;border-bottom:1px solid var(--line);background:transparent}.stacked-devices{position:relative;width:100%;max-width:970px;aspect-ratio:1.3;margin:15px auto 10px;isolation:isolate;background:transparent}.desktop-display{position:absolute;top:0;left:16%;width:68%;filter:drop-shadow(0 18px 18px #00000014)}.display-panel{border:1px solid #737773;padding:7px;background:#0b0c0b;border-radius:12px 12px 4px 4px;box-shadow:inset 0 1px 1px #ffffff40}.display-panel img{display:block;width:100%;height:auto;border:1px solid #000;border-radius:5px}.display-chin{display:block;height:12px;background:linear-gradient(#3c403d,#171a18);border:1px solid #626863;border-top:0;border-radius:0 0 8px 8px}.laptop-display{position:absolute;width:53%;left:23.5%;top:53%;filter:drop-shadow(0 18px 18px #00000025)}.laptop-display .display-panel{border-radius:11px 11px 3px 3px;padding:5px 5px 9px}.laptop-lip{position:relative;width:113%;left:-6.5%;height:10px;background:linear-gradient(#c2c7c4,#7c847e 35%,#272f2a);border:1px solid #727b75;border-radius:1px 1px 45% 45%}.laptop-lip:before{content:"";position:absolute;width:17%;height:3px;left:41.5%;top:0;border-radius:0 0 6px 6px;background:#48554c}.dark .desktop-display,.dark .laptop-display{filter:drop-shadow(0 14px 20px #0006)}@media(max-width:700px){.stacked-workstation{padding-top:40px}.stacked-devices{aspect-ratio:1.05;margin-top:30px}.desktop-display{left:3%;width:94%}.laptop-display{width:74%;left:13%;top:51%}.display-panel{padding:4px;border-radius:7px 7px 3px 3px}.display-chin{height:8px}.laptop-display .display-panel{padding:3px 3px 6px;border-radius:7px 7px 2px 2px}.laptop-lip{height:6px}}

.stacked-devices{aspect-ratio:1.16}.desktop-display{width:64%;left:18%}.laptop-display{width:49%;left:25.5%;top:51%}.mini-tablet{position:absolute;width:26%;left:0;top:58%;padding:8px;background:#0c0d0c;border:1px solid #626862;border-radius:16px;box-shadow:0 12px 22px #0000001a;transform:rotate(-4deg);z-index:2}.mini-tablet img{width:100%;display:block;border-radius:9px}.workstation-phone{position:absolute!important;width:14%!important;right:0;top:53%;padding:3px!important;border-radius:22px!important;box-shadow:0 12px 22px #0000001a;z-index:4}.workstation-phone img{border-radius:18px!important}.stacked-devices .workstation-phone:after{display:none}@media(max-width:700px){.stacked-devices{aspect-ratio:.93}.desktop-display{width:88%;left:6%}.laptop-display{width:62%;left:19%;top:46%}.mini-tablet{width:31%;left:-1%;top:68%;padding:4px;border-radius:9px}.mini-tablet img{border-radius:5px}.workstation-phone{width:20%!important;right:-1%;top:56%;padding:2px!important;border-radius:12px!important}.workstation-phone img{border-radius:10px!important}}

/* A quiet, product-led opening. The original 3D asset provides the movement. */
.future-hero{min-height:720px;height:calc(100svh - 85px);max-height:1040px;display:grid;grid-template-rows:auto minmax(260px,1fr) auto;position:relative;padding:54px 0 34px;border-bottom:1px solid var(--line);text-align:center}.future-heading{position:relative;z-index:1;pointer-events:none}.future-heading h1{font-size:clamp(39px,5vw,68px);line-height:1.04;letter-spacing:-.06em;font-weight:570}.future-heading h1 span{font-weight:400}.future-heading p{font-size:14px;margin-top:20px;color:var(--muted)}.future-device{position:relative;min-height:0;width:100%;isolation:isolate;touch-action:pan-y}.future-device canvas{display:block;width:100%;height:100%;opacity:0;transition:none}.future-device canvas.ready{opacity:1}.future-device>span{position:absolute;inset:0;display:grid;place-content:center;font-size:23px;font-weight:600;letter-spacing:-.04em;color:var(--muted)}.future-device>span[hidden]{display:none}.future-caption{display:flex;flex-direction:column;align-items:center;gap:14px;position:relative;z-index:2}.future-caption>span{font-size:11px;color:var(--muted)}.future-caption .pill{font-size:13px;padding:12px 24px}.future-caption small{font-size:11px;color:var(--muted)}.quant-notation{background:#080a09!important;border:1px solid #202823;border-radius:12px;box-shadow:none}.quant-notation pre{color:#dce2dd;padding:34px 26px;font-size:12px;line-height:2.1;letter-spacing:0}.quant-notation .code-blue{color:#8cbaf2}.quant-notation .code-label{color:#848f87}.quant-notation .code-green{color:#84d1a5}.quant-notation .code-purple{color:#c1a3e2}.quant-notation .code-amber{color:#d8bc87}@media(max-width:700px){.future-hero{min-height:660px;height:calc(100svh - 76px);padding:34px 0 28px;grid-template-rows:auto minmax(280px,1fr) auto}.future-heading h1{font-size:43px}.future-heading p{font-size:13px;line-height:1.7;margin:17px auto 0;max-width:270px}.quant-notation pre{font-size:10px;padding:26px 18px}.developer-hero h2{font-size:2.6rem}}@media(prefers-reduced-motion:reduce){.future-device canvas{transition:none}}
/* The accessory devices share the laptop's physical baseline. */
.stacked-devices{--device-baseline:8%}.laptop-display{top:auto;bottom:var(--device-baseline)}.mini-tablet,.workstation-phone{top:auto;bottom:var(--device-baseline);transform:none}
@media(max-width:700px){.stacked-devices{--device-baseline:10%}.laptop-display,.mini-tablet,.workstation-phone{top:auto;bottom:var(--device-baseline)}}
.future-track{height:210svh;position:relative;border-bottom:1px solid var(--line)}.future-hero{position:sticky;top:0;height:100svh;min-height:680px;max-height:none;padding:45px 0 28px;border:0;grid-template-rows:auto minmax(280px,1fr) auto}.future-device{max-width:1000px;margin:0 auto}.future-heading h1{font-size:clamp(39px,4.8vw,62px)}.future-caption{gap:10px}.future-caption small{min-height:18px}
@media(max-width:700px){.future-track{height:190svh}.future-hero{min-height:650px;padding:32px 0 24px}.future-heading h1{font-size:40px}.future-heading p{margin-top:12px}.future-device{min-height:280px}}
@media(prefers-reduced-motion:reduce){.future-track{height:auto}.future-hero{position:relative;height:760px;max-height:95svh;min-height:620px}}
.hero-angle{font-family:"New York",Baskerville,Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.05em}.future-heading p strong{font-weight:620;color:var(--fg)}.workstation-phone{right:9.5%}
@media(max-width:700px){.workstation-phone{right:.3%}}
.future-hero{height:calc(100svh - 84px)}
@media(max-width:700px){.future-hero{height:calc(100svh - 76px)}}
.future-track{height:240svh}
@media(max-width:700px){.future-track{height:220svh}}
@media(prefers-reduced-motion:reduce){.future-track{height:auto}}
/* Longer travel, one rotation axis, and exact planar holds. */
.future-track{height:420svh}
@media(max-width:700px){.future-track{height:390svh}}
@media(prefers-reduced-motion:reduce){.future-track{height:auto}}

.pill:has(.terminal-button-logo){display:inline-flex;align-items:center;justify-content:center;gap:9px}.terminal-button-logo{width:18px;height:18px;object-fit:contain;filter:invert(1)}.dark .terminal-button-logo{filter:none}#future-canvas{cursor:pointer}#future-canvas:focus-visible{outline:1px solid var(--line);outline-offset:0;border-radius:18px}

body.dark .site-nav .pill.primary,body.dark .developer-page .pill.primary{background-color:#f5f5f7;color:#111113}.future-device canvas{image-rendering:auto}

/* A single physical cutout, anchored to the original 402 × 874 pt display. */
.phone-display{position:relative;border-radius:32px;overflow:hidden;line-height:0;isolation:isolate}.phone-display img{border:0;border-radius:0!important;aspect-ratio:402/874;object-fit:contain}.phone-display:after{content:"";position:absolute;left:50%;top:1.60183%;width:31.094527%;height:4.23341%;transform:translateX(-50%);background:#000;border-radius:999px;pointer-events:none}.workstation-phone .phone-display{border-radius:18px}@media(max-width:700px){.workstation-phone .phone-display{border-radius:10px}}

.site-nav .theme-toggle{width:44px;height:44px;flex-shrink:0}.site-nav nav{min-width:0}.technical-heading>*{min-width:0}.technical-heading h2{text-wrap:balance}.phone-study figcaption h3{line-height:1.25}.capture-tabs button{min-height:44px}.gallery-controls button{width:44px;height:44px;min-width:44px;min-height:44px;flex:0 0 44px;padding:0;display:grid;place-items:center;border-radius:50%;aspect-ratio:1}.developer-footer{gap:24px;flex-wrap:wrap}@media(max-width:700px){.site-nav nav{gap:10px}.site-nav{gap:12px;padding-inline:18px}.site-nav .pill{padding:10px 13px;gap:7px}}

/* The Terminal fills the opening frame; scrolling reveals the phone study. */
.future-track{height:420svh}
.future-hero{height:calc(100dvh - var(--hero-nav,84px));min-height:0;max-height:none;padding:18px 0 0;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);gap:16px}
.future-heading{grid-row:1;min-width:0}.future-heading h1{font-size:clamp(38px,4vw,56px)}.future-heading p{margin-top:12px}
.future-caption{grid-row:2;flex-direction:row;justify-content:center;gap:24px;padding-bottom:6px}.future-scroll{font-size:12px;color:var(--muted);text-decoration:none}.future-scroll span{margin-left:7px}
.future-device{grid-row:3;width:100vw;max-width:none;left:50%;margin-left:0;transform:translateX(-50%);min-height:0;overflow:visible;z-index:3}
.future-terminal{position:absolute;inset:0;z-index:1;pointer-events:none;display:flex;flex-direction:column;will-change:transform;perspective-origin:50% 100%}
.future-terminal[hidden]{display:none!important}
.terminal-screen-closeup{position:relative;left:-3vw;width:calc(100% + 6vw);height:calc(100% + 32px);flex-shrink:0;margin-block:0;transform-origin:50% 100%;will-change:transform;transform-style:preserve-3d}
.terminal-screen-glass{position:relative;height:100%;overflow:hidden;border:0;padding-top:9px;background:var(--bg);backface-visibility:hidden;-webkit-backface-visibility:hidden}
.terminal-screen-bezel{position:absolute;inset:0 0 auto;height:9px;z-index:3;background-image:linear-gradient(180deg,#79818a99,#10151abf 25%,#050709e6 76%,#424b55aa),url("./assets/hardware/brushed-aluminium.png");background-size:100% 100%,512px 96px;box-shadow:inset 0 1px #929ca333,inset 0 -1px #000}
.terminal-screen-edge{position:absolute;left:0;right:0;top:-10px;height:10px;transform:rotateX(90deg);transform-origin:50% 100%;background-image:linear-gradient(180deg,#101316d9,#454d5580 35%,#20262cd9 72%,#0b0d10),url("./assets/hardware/brushed-aluminium.png");background-size:100% 100%,512px 96px;border-top:1px solid #59636c;backface-visibility:hidden}
.terminal-screen-closeup img{display:block;width:100%;height:100%;object-fit:cover;object-position:44% top;filter:blur(var(--display-blur,0px)) hue-rotate(var(--display-hue,0deg)) saturate(var(--display-saturation,1))}
.terminal-screen-glass:before,.terminal-screen-glass:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1}
.terminal-screen-glass:before{background:linear-gradient(180deg,#030609,#05090e);opacity:var(--display-shade,0)}
.terminal-screen-glass:after{background:linear-gradient(180deg,transparent 18%,#e6edf50a 33%,#f7faff66 48%,#e6edf51a 60%,transparent 82%);transform:translate3d(0,var(--display-reflection-y,-90%),0);opacity:var(--display-reflection,0);mix-blend-mode:normal;will-change:transform,opacity}
.hero-angle{animation:angle-arrival 3.6s ease-in-out .15s both}
@keyframes angle-arrival{0%,100%{color:inherit}22%{color:#00c87d}46%{color:#efb20b}70%{color:#ed4359}}
@media(max-width:700px){.future-track{height:360svh}.future-hero{height:calc(100dvh - var(--hero-nav,76px));padding-top:20px;gap:14px}.future-heading h1{font-size:37px}.future-heading p{font-size:12px;margin:10px auto 0;max-width:290px}.future-caption{gap:18px}.future-caption .pill{padding:11px 18px}.future-scroll{font-size:11px}.terminal-screen-closeup{left:-3vw;width:calc(100% + 6vw);margin-block:0}.terminal-screen-closeup img{height:100%;object-fit:cover;object-position:44% top}}
@media(max-height:650px){.future-heading h1{font-size:32px;line-height:1}.future-heading h1 br{display:none}.future-heading p{margin-top:8px}.future-hero{padding-top:12px;gap:8px}.future-caption .pill{padding:9px 16px}}
@media(prefers-reduced-motion:reduce){.future-track{height:auto}.future-hero{position:relative}.future-terminal{display:none}.hero-angle{animation:none}.future-device canvas{transition:none}}

.site-nav{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--bg) 95%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transform:translateY(0);transition:transform .24s cubic-bezier(.22,.68,0,1);will-change:transform}
.site-nav.nav-away:not(:focus-within){transform:translateY(calc(-100% - 2px))}
/* Compact layouts keep navigation in the normal page flow. */
@media(max-width:900px){.site-nav,.site-nav.nav-away:not(:focus-within){position:relative;top:auto;transform:none;transition:none;will-change:auto}}
@media(prefers-reduced-motion:reduce){.site-nav{transition:none}}

/* Safari samples the page canvas at both edges; match the selected appearance. */
html,body{min-height:100%;min-height:100dvh;overflow-x:clip}
.site-nav{padding-top:calc(22px + env(safe-area-inset-top));padding-left:max(40px,env(safe-area-inset-left));padding-right:max(40px,env(safe-area-inset-right))}
.developer-footer{padding-bottom:calc(30px + env(safe-area-inset-bottom))}
@media(max-width:700px){.site-nav{padding-top:calc(18px + env(safe-area-inset-top));padding-inline:max(18px,env(safe-area-inset-left)) max(18px,env(safe-area-inset-right))}}

/* Stable canvas for Safari toolbar expansion; solid edge colours match the page. */
.future-hero{background-color:var(--bg)}
.site-nav{background-color:var(--bg);background-image:none}
@media(max-width:900px),(hover:none) and (pointer:coarse){.future-hero{height:calc(100lvh - var(--hero-nav,84px))}.terminal-screen-closeup{left:-6vw;width:112vw}.terminal-screen-glass:after{mix-blend-mode:normal}}

/* On compact screens, start with the phone and give only its sequence scroll space. */
@media(max-width:900px){.future-terminal{display:none!important}.future-track{height:280svh}}
@media(max-width:900px) and (prefers-reduced-motion:reduce){.future-track{height:auto}}

/* Editorial emphasis stays within the surrounding copy's type scale. */
.technical-section p strong,.terminal-study figcaption p strong,.product-availability p strong{font-size:inherit;font-weight:650;letter-spacing:inherit;color:var(--fg)}

/* Device proportions: the landscape iPad mini is visibly larger than the phone. */
.stacked-devices .mini-tablet{width:30%;left:2%;padding:6px}
.stacked-devices .workstation-phone{width:8%!important;right:17%;border-radius:14px!important;padding:2px!important}
.stacked-devices .workstation-phone .phone-display{border-radius:11px}
@media(max-width:700px){.stacked-devices .mini-tablet{width:38%;left:3%;padding:4px}.stacked-devices .workstation-phone{width:10%!important;right:12%;border-radius:8px!important;padding:1px!important}.stacked-devices .workstation-phone .phone-display{border-radius:6px}}

/* Let the desktop scene dissolve into the page without softening the product. */
@media(min-width:901px){
  .future-device:after{content:"";position:absolute;inset:-1px;z-index:6;pointer-events:none;background:linear-gradient(to top,var(--bg) 0%,transparent 18%)}
  body.dark .future-device:after{background:linear-gradient(to top,var(--bg) 0%,transparent 18%),linear-gradient(to right,var(--bg) 0%,transparent 7%,transparent 93%,var(--bg) 100%)}
}

/* Hold the final hardware arrangement before releasing the sticky hero. */
.future-track{height:500svh}
@media(max-width:900px){.future-track{height:360svh}}
@media(prefers-reduced-motion:reduce){.future-track{height:auto}}

/* Both hero screenshots stay decoded; theme changes only reveal the layer. */
.terminal-screen-glass .hero-capture-dark{position:absolute;top:9px;left:0;width:100%;opacity:0;transition:none;pointer-events:none}
body.dark .terminal-screen-glass .hero-capture-dark{opacity:1}

/* Returning navigation pushes the reading surface below its own row. */
.developer-page,.developer-footer{position:relative;top:var(--nav-reveal-space,0px);transition:top .24s cubic-bezier(.22,.68,0,1)}
.future-hero{top:var(--nav-reveal-space,0px);transition:top .24s cubic-bezier(.22,.68,0,1)}
html{scroll-padding-top:100px}
@media(prefers-reduced-motion:reduce){.developer-page,.developer-footer,.future-hero{transition:none}}

/* Solid viewport edges give iPhone Safari the selected page appearance. */
@supports(-webkit-touch-callout:none){
 body:before,body:after{content:"";position:fixed;left:0;right:0;height:1px;background-color:var(--bg);pointer-events:none;z-index:101}
 body:before{top:0}
 body:after{bottom:0}
 .site-nav{backdrop-filter:none;-webkit-backdrop-filter:none}
}

/* Keep the fade on the moving screen, never on a shorter stationary overlay. */
@media(min-width:701px){
  .future-device:after{background:none}
  body.dark .future-device:after{background:linear-gradient(to right,var(--bg) 0%,transparent 7%,transparent 93%,var(--bg) 100%)}
  .terminal-screen-closeup{height:calc(100% + var(--hero-nav,84px) + 64px)}
  .terminal-screen-glass{mask-image:linear-gradient(to bottom,#000 0%,#000 74%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 74%,transparent 100%)}
}

@media(min-width:701px){
  body.dark .future-device:after{background:none}
  body.dark .terminal-screen-glass{mask-image:linear-gradient(to bottom,#000 0%,#000 74%,transparent 100%),linear-gradient(to right,transparent,#000 7%,#000 93%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 74%,transparent 100%),linear-gradient(to right,transparent,#000 7%,#000 93%,transparent);-webkit-mask-composite:source-in}
}

/* Terminal launch prompts are reserved for desktop; mobile keeps the product tour. */
@media(max-width:760px){.desktop-terminal-launch{display:none!important}}
