@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=DM+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');
:root{--paper:#e8e6dd;--ink:#191c18;--orange:#fb642b;--muted:#a3a89b;--line:#b7bbac;--mono:'IBM Plex Mono',monospace;--display:'Barlow Condensed','Arial Narrow',Impact,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;height:100dvh;display:grid;grid-template-rows:58px minmax(0,1fr) 27px;overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--orange);outline-offset:-3px}h1,h2,h3,p,figure{margin:0}img{display:block;width:100%;height:100%;object-fit:cover}.site-header{display:flex;align-items:center;gap:22px;padding:0 22px;border-bottom:1px solid var(--ink)}.site-header>a{font-size:22px;font-weight:900;letter-spacing:-.06em}.site-header>span{font:8px var(--mono);letter-spacing:.08em;padding-left:22px;border-left:1px solid var(--line)}.site-header button{margin-left:auto;background:none;color:var(--ink);border:1px solid var(--line);font:9px var(--mono);padding:8px 10px;-webkit-tap-highlight-color:transparent}.desktop{display:grid;grid-template-columns:190px minmax(0,1fr);gap:8px;padding:8px;min-height:0}.desktop.nav-hidden{grid-template-columns:minmax(0,1fr)}.desktop.nav-hidden aside{display:none}aside,main{border:1px solid var(--line);min-height:0}aside{display:flex;flex-direction:column}.panel-label{display:flex;align-items:center;gap:8px;font:9px var(--mono);padding:8px;background:#d7d9cc;border-bottom:1px solid var(--line);height:32px;flex-shrink:0}.panel-label b{background:var(--orange);padding:2px 5px;font-weight:500}.panel-label>span{margin-left:auto;font-size:8px;color:#606754}.nav-label{font:8px var(--mono);padding:23px 12px 10px;color:#666e5b}aside nav{padding:0 8px}aside nav a{display:flex;justify-content:space-between;padding:15px 10px;border-bottom:1px solid var(--line);font-size:12px}aside nav a:hover{background:#d7dbca}aside nav .selected{background:var(--ink);color:var(--paper);border-left:3px solid var(--orange)}aside nav .selected span{color:var(--orange)}.sidebar-bottom{margin-top:auto;padding:20px 15px;font:8px/1.9 var(--mono);color:#626a57}.sidebar-bottom a{display:block;margin-top:20px}.ascii-fish{font-size:22px;color:var(--orange);margin-bottom:22px}main{display:flex;flex-direction:column;overflow:hidden}.instrument{flex:1;min-height:0;display:flex;flex-direction:column}.instrument-head{display:flex;align-items:center;justify-content:space-between;padding:15px 24px 14px;flex-shrink:0}.eyebrow{font:8px var(--mono);letter-spacing:.12em}.instrument-head h1{font:900 clamp(48px,7vw,106px)/.86 var(--display);letter-spacing:-.04em;margin-top:10px}.instrument-head h1>span{color:var(--orange)}.instrument-head sup{font:500 .25em var(--mono);vertical-align:top;margin-left:10px}.instrument-id{font:8px/1.8 var(--mono);text-align:right;color:#57604e}.instrument-id span{color:#91977f}.view-tabs{display:flex;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);flex-shrink:0}.view-tabs button{flex:1;display:flex;gap:12px;justify-content:center;background:none;color:var(--ink);border:0;border-right:1px solid var(--line);padding:13px 7px;font:9px var(--mono);-webkit-tap-highlight-color:transparent}.view-tabs button:last-child{border-right:0}.view-tabs button[aria-selected=true]{background:var(--ink);color:var(--orange)}@media(hover:hover){.view-tabs button:hover{background:#e0e2d5}.view-tabs button[aria-selected=true]:hover{background:var(--ink);color:var(--orange)}}#view{flex:1;min-height:0;overflow:auto;display:flex;background:var(--ink);color:var(--paper)}.instrument-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;font:8px var(--mono);padding:11px 17px;border-top:1px solid var(--line);flex-shrink:0}.instrument-footer i{display:inline-block;width:6px;height:6px;background:var(--orange);border-radius:50%;margin-right:6px}.instrument-footer a{border-bottom:1px solid var(--ink);padding-bottom:2px}body>footer{display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:var(--ink);color:var(--muted);font:7px var(--mono);letter-spacing:.08em}.overview{width:100%;height:100%;position:relative;min-height:290px}.overview>img{object-position:center 50%}.overview:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,12,23,.95),rgba(8,12,23,.55) 38%,transparent 78%);pointer-events:none}.hero-copy{position:absolute;z-index:1;left:4%;top:50%;transform:translateY(-50%);max-width:46%}.hero-copy .eyebrow{color:#cdd3d7}.hero-copy h2{font:700 clamp(42px,5.3vw,86px)/.94 var(--display);letter-spacing:-.02em;margin:17px 0}.hero-copy p{font-size:13px;line-height:1.65;color:#ced2d4}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--orange);color:var(--ink);border:0;padding:14px 17px;font:500 9px var(--mono);margin-top:22px}.button:hover{background:#ff9064}.photo-label{position:absolute;right:18px;bottom:16px;z-index:1;font:7px var(--mono);letter-spacing:.08em}.photo-plus{position:absolute;right:15px;top:12px;z-index:1;color:#ddd;font:20px var(--mono)}.split{display:grid;grid-template-columns:1fr 1fr;width:100%;min-height:0}.split-photo{min-height:0;position:relative;overflow:hidden}.split-photo img{object-position:center 48%}.split-copy{padding:30px 7%;display:flex;flex-direction:column;justify-content:center;min-height:0}.split-copy h2{font:700 clamp(38px,4vw,64px)/.96 var(--display);letter-spacing:-.02em;margin:15px 0}.split-copy .eyebrow{color:var(--orange)}.split-copy p{font-size:12px;line-height:1.75;color:#bac0b2;max-width:430px}.split-copy ul{list-style:none;padding:0;margin:17px 0;font:10px/1.6 var(--mono)}.split-copy li{padding:8px 0;border-bottom:1px solid #434b3b}.split-copy li:before{content:'+';color:var(--orange);margin-right:10px}.text-link{font:9px var(--mono);color:var(--paper);border-bottom:1px solid var(--orange);padding-bottom:8px;align-self:flex-start;margin-top:16px}.subnav{display:flex;gap:5px;margin-bottom:12px;flex-wrap:wrap}.subnav button{border:1px solid #59624e;background:none;color:var(--muted);font:8px var(--mono);padding:8px}.subnav button[aria-pressed=true]{background:var(--paper);color:var(--ink)}.feature-view{display:grid;grid-template-columns:1fr 1.25fr;width:100%;padding:30px;gap:35px}.feature-intro{display:flex;flex-direction:column;justify-content:center}.feature-intro h2{font:700 clamp(44px,4.6vw,70px)/.97 var(--display);margin:17px 0}.feature-intro h2 em{font-style:normal;color:var(--orange)}.feature-intro>p{font-size:12px;line-height:1.7;color:var(--muted);max-width:290px}.feature-list{display:flex;flex-direction:column;justify-content:center}.feature-list a{display:grid;grid-template-columns:38px 1fr 20px;gap:10px;align-items:center;padding:18px 0;border-bottom:1px solid #424a39}.feature-list a:first-child{border-top:1px solid #424a39}.feature-list .code{font:9px var(--mono);color:var(--orange)}.feature-list h3{font:600 24px var(--display);margin-bottom:5px}.feature-list p{font-size:10px;line-height:1.6;color:var(--muted)}.feature-list a:hover h3{color:var(--orange)}.gallery{display:grid;grid-template-columns:minmax(0,1fr) 180px;width:100%;min-height:0}.gallery-stage{min-height:0;position:relative;background:#10140f}.gallery-stage img{object-fit:contain}.gallery-stage figcaption{position:absolute;left:15px;bottom:15px;padding:8px;background:#191c18d9;font:8px var(--mono)}.gallery-thumbs{display:flex;flex-direction:column;gap:9px;padding:15px;overflow:auto}.gallery-thumbs button{display:flex;align-items:center;gap:10px;background:none;color:var(--muted);border:1px solid #414938;text-align:left;font:8px/1.6 var(--mono);padding:5px;min-height:55px}.gallery-thumbs img{width:42px;height:46px;flex-shrink:0}.gallery-thumbs button[aria-pressed=true]{border-color:var(--orange);color:var(--paper)}.build{display:grid;grid-template-columns:1fr 1.1fr;width:100%;background:var(--paper);color:var(--ink)}.build-intro{padding:35px;background:var(--orange);display:flex;flex-direction:column;justify-content:center}.build h2{font:700 clamp(40px,4.5vw,70px)/.94 var(--display);margin:18px 0}.build-intro p{font-size:12px;line-height:1.7;max-width:310px}.build-detail{padding:30px;display:flex;flex-direction:column;justify-content:center}.status-tag{font:9px var(--mono);padding:10px;border:1px solid var(--ink);align-self:flex-start;margin-bottom:20px}.build-detail h3{font:600 28px var(--display);margin-bottom:12px}.build-detail p{font-size:12px;line-height:1.75;color:#5a6250}.build-detail .text-link{color:var(--ink);font-size:9px}.build-detail .button{align-self:flex-start}.empty{padding:40px}
@media(max-width:1000px){.desktop{grid-template-columns:155px minmax(0,1fr)}.instrument-id{display:none}.instrument-head{padding:15px 18px}.view-tabs button{font-size:8px;gap:5px}.split-copy{padding:20px 7%}.split-copy h2{font-size:42px}.feature-view{padding:25px;gap:20px}.feature-intro h2{font-size:48px}.gallery{grid-template-columns:minmax(0,1fr) 125px}.gallery-thumbs{padding:9px}.gallery-thumbs button{gap:5px;font-size:7px}.gallery-thumbs img{width:35px}.build-intro,.build-detail{padding:25px}}
@media(max-width:700px){body{grid-template-rows:46px minmax(0,1fr) 22px}.site-header{padding:0 12px;gap:10px}.site-header>a{font-size:19px}.site-header>span{display:none}.desktop{grid-template-columns:minmax(0,1fr);padding:5px;gap:0}.desktop aside{display:none}.desktop.nav-open aside{display:flex;position:absolute;z-index:5;top:51px;bottom:27px;left:5px;width:190px;background:var(--paper);box-shadow:20px 0 60px #0008}.panel-label{font-size:8px;height:27px}.panel-label>span{font-size:6px}.instrument-head{padding:14px}.instrument-head h1{font-size:65px}.eyebrow{font-size:7px}.view-tabs button{display:block;font-size:7px;line-height:1.8;padding:7px 3px}.view-tabs button span{display:block}.instrument-footer{font-size:6px;padding:9px 8px;gap:5px}.instrument-footer>span:first-child{max-width:170px}.overview{min-height:300px}.overview>img{object-position:60% center}.overview:after{background:linear-gradient(0deg,#080c17f5,rgba(8,12,23,.35) 80%)}.hero-copy{max-width:90%;left:7%;top:auto;bottom:30px;transform:none}.hero-copy h2{font-size:54px;margin:13px 0}.hero-copy p{font-size:12px}.hero-copy .button{margin-top:18px}.photo-label{right:12px;bottom:auto;top:12px;font-size:6px}.photo-plus{display:none}.split{grid-template-columns:42% 58%;min-height:350px}.split-copy{padding:18px 12px}.split-copy h2{font-size:35px;margin:12px 0}.split-copy p{font-size:10px;line-height:1.6}.split-copy ul{font-size:8px;margin:10px 0}.split-copy li{padding:6px 0}.split-copy .text-link{font-size:7px}.subnav{gap:4px}.subnav button{font-size:6px;padding:6px 5px}.feature-view{display:flex;flex-direction:column;padding:20px;gap:18px;min-height:400px}.feature-intro h2{font-size:36px;margin:10px 0}.feature-intro h2 br{display:none}.feature-intro>p{font-size:10px;max-width:none}.feature-list a{padding:11px 0}.feature-list h3{font-size:21px}.feature-list p{font-size:9px}.feature-list .code{font-size:8px}.gallery{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 83px}.gallery-thumbs{flex-direction:row;padding:8px;gap:6px;overflow:auto}.gallery-thumbs button{flex:1;min-width:0;display:block;text-align:center;font-size:6px;padding:3px}.gallery-thumbs img{width:100%;height:37px;object-fit:cover;margin-bottom:3px}.gallery-stage figcaption{font-size:6px}.build{grid-template-columns:1fr;min-height:390px}.build-intro{padding:20px}.build h2{font-size:38px;margin:12px 0}.build h2 br{display:none}.build-intro p{font-size:10px;max-width:none}.build-detail{padding:20px}.status-tag{font-size:7px;margin-bottom:12px;padding:7px}.build-detail h3{font-size:24px;margin-bottom:8px}.build-detail p{font-size:10px}.build-detail .button{margin-top:12px;padding:10px;font-size:8px}.build-detail .text-link{font-size:8px;margin-top:12px}body>footer{font-size:6px;padding:0 8px}body>footer>span:nth-child(2){display:none}}
@media(max-height:800px) and (min-width:701px){.instrument-head h1{font-size:60px}.instrument-head{padding-top:10px;padding-bottom:10px}.hero-copy h2{font-size:52px;margin:12px 0}.hero-copy p{font-size:11px}.hero-copy .button{margin-top:15px;padding:11px 14px}.split-copy{padding:16px 6%}.split-copy h2{font-size:37px;margin:10px 0}.split-copy p{font-size:11px}.split-copy ul{margin:8px 0}.split-copy li{padding:5px 0}.feature-view{padding:20px}.feature-list a{padding:11px 0}.build-intro,.build-detail{padding:20px}.build h2{font-size:46px}.build-detail .status-tag{margin-bottom:10px}.build-detail .button{margin-top:15px}.gallery-thumbs{gap:6px;padding:10px}.gallery-thumbs button{min-height:45px}.gallery-thumbs img{height:36px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Terminal Bay's fish ticker, redrawn for the orange instrument shell. */
body{grid-template-rows:58px minmax(0,1fr) 31px}aside nav{overflow-y:auto;min-height:0}aside nav a{padding:11px 10px;font-size:11px}.sidebar-bottom{padding:13px 15px}.sidebar-bottom .ascii-fish{display:none}.sidebar-bottom a{margin-top:10px}.nav-label{padding-top:17px}.fish-track{position:relative;overflow:hidden;flex:1;height:21px;margin:0 14px;background:repeating-linear-gradient(90deg,#fb642b0b 0 1px,transparent 1px 5px),#262b22;border:1px solid #484e3f;box-shadow:inset 0 1px 4px #0008;container-type:inline-size}.fish{position:absolute;left:0;top:50%;color:var(--orange);font:14px var(--mono);white-space:pre;letter-spacing:2px;text-shadow:0 0 7px #fb642b55;transform:translate(12px,-50%);animation:swim 12s linear infinite}body>footer{gap:0}.ticker-label{font-size:8px;color:var(--paper)}#fish-pause{background:none;color:var(--orange);border:1px solid #555d48;width:26px;height:21px;padding:0;font:12px var(--mono)}#site-clock{min-width:89px;text-align:right;font:9px var(--mono);color:var(--paper)}.fish.paused{animation-play-state:paused}@keyframes swim{from{transform:translate(calc(100cqw + 10px),-50%)}to{transform:translate(-140px,-50%)}}@media(prefers-reduced-motion:reduce){.fish{animation:none;transform:translate(12px,-50%)}}@media(max-width:700px){body{grid-template-rows:46px minmax(0,1fr) 29px}.ticker-label{font-size:6px}.fish-track{margin:0 8px;height:19px}.fish{font-size:12px}#site-clock{min-width:72px;font-size:8px}.desktop.nav-open aside{bottom:34px}body>footer>span:nth-child(2){display:block}}
/* Readable instrument typography: small screens retain real text sizes. */
.site-header>span{font-size:11px}.site-header button{font-size:12px}.panel-label{font-size:12px;height:35px}.panel-label>span{font-size:11px}.nav-label{font-size:11px}aside nav a{font-size:14px;padding:11px 10px}.sidebar-bottom{font-size:11px;line-height:1.6}.instrument-head .eyebrow,.eyebrow{font-size:12px}.instrument-id{font-size:12px}.view-tabs button{font-size:12px;padding:13px 8px}.instrument-footer{font-size:11px;padding:11px 14px}.hero-copy p{font-size:16px}.button{font-size:12px;padding:14px 17px}.photo-label{font-size:11px}.split-copy p{font-size:15px;line-height:1.65}.split-copy ul{font:12px/1.6 var(--mono);margin:14px 0}.split-copy li{padding:7px 0}.text-link{font-size:12px}.subnav button{font-size:11px;padding:9px}.feature-intro>p{font-size:15px}.feature-list .code{font-size:12px}.feature-list p{font-size:14px;line-height:1.55}.feature-list h3{font-size:28px}.feature-list a{padding:16px 0}.gallery-thumbs button{font-size:11px}.gallery{grid-template-columns:minmax(0,1fr) 205px}.gallery-stage figcaption{font-size:11px}.build-intro p,.build-detail p{font-size:15px;line-height:1.65}.status-tag{font-size:12px}.build-detail .text-link{font-size:12px}.ticker-label{font-size:11px}#site-clock{font-size:12px;min-width:115px}.fish{font-size:16px}
@media(max-height:800px) and (min-width:701px){.instrument-head h1{font-size:54px}.instrument-head{padding:9px 20px}.hero-copy h2{font-size:52px}.hero-copy p{font-size:15px}.hero-copy .button{font-size:12px}.split-copy{padding:15px 6%}.split-copy h2{font-size:34px;margin:10px 0}.split-copy p{font-size:14px;line-height:1.55}.split-copy ul{font-size:11px;margin:7px 0}.split-copy li{padding:5px 0}.split-copy .text-link{font-size:11px;margin-top:9px}.subnav{margin-bottom:8px}.subnav button{font-size:11px;padding:7px}.feature-intro h2{font-size:45px}.feature-intro>p{font-size:14px}.feature-list a{padding:12px 0}.feature-list p{font-size:13px}.feature-list h3{font-size:25px}.build-intro p,.build-detail p{font-size:14px}.build-detail .text-link{font-size:11px;margin-top:12px}.build-detail .status-tag{font-size:11px}.build-detail .button{font-size:11px}.sidebar-bottom{padding:10px}.nav-label{padding-top:12px}aside nav a{padding:10px;font-size:13px}}
@media(max-width:1000px) and (min-width:701px){.desktop{grid-template-columns:175px minmax(0,1fr)}.view-tabs button{font-size:11px}.view-tabs button{gap:5px}.split-copy h2{font-size:34px}.split-copy p{font-size:13px}.split-copy ul{font-size:11px}.feature-view{grid-template-columns:.8fr 1.2fr}.feature-list p{font-size:13px}}
@media(max-width:700px){.site-header button{font-size:11px}.panel-label{font-size:10px;height:30px}.panel-label>span{font-size:9px}.instrument-head{padding:10px 14px}.instrument-head h1{font-size:57px}.eyebrow,.instrument-head .eyebrow{font-size:10px}.view-tabs button{font-size:10px;padding:7px 3px}.instrument-footer{font-size:9px;padding:9px 8px}.instrument-footer>span:first-child{max-width:180px}.hero-copy h2{font-size:51px}.hero-copy p{font-size:15px}.hero-copy .button{font-size:11px}.photo-label{font-size:9px}.split{grid-template-columns:30% 70%;min-height:360px}.split-copy{padding:15px 13px}.split-copy h2{font-size:32px}.split-copy p{font-size:13px;line-height:1.55}.split-copy ul{font-size:11px;margin:10px 0}.split-copy li{padding:6px 0}.split-copy .text-link{font-size:10px;margin-top:10px}.subnav button{font-size:9px;padding:7px 5px}.feature-view{padding:18px;gap:12px;min-height:440px}.feature-intro h2{font-size:35px}.feature-intro>p{font-size:12px;line-height:1.5}.feature-list a{padding:10px 0}.feature-list h3{font-size:23px}.feature-list p{font-size:12px;line-height:1.5}.feature-list .code{font-size:10px}.gallery{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 92px}.gallery-thumbs button{font-size:8px}.gallery-stage figcaption{font-size:9px}.build{min-height:440px}.build-intro,.build-detail{padding:17px}.build h2{font-size:36px}.build-intro p,.build-detail p{font-size:13px;line-height:1.55}.status-tag{font-size:10px}.build-detail .button,.build-detail .text-link{font-size:11px}.ticker-label{font-size:9px}#site-clock{font-size:10px;min-width:92px}.sidebar-bottom{font-size:11px}aside nav a{font-size:14px}.nav-label{font-size:11px}.fish{font-size:15px}}

/* Let content set its minimum size instead of crushing centered flex panels. */
#view > .split, #view > .feature-view, #view > .build{flex-shrink:0;min-height:min-content}
.split-copy,.feature-intro,.feature-list,.build-intro,.build-detail{justify-content:safe center}
.split-copy > *, .feature-intro > *, .feature-list > *, .build-intro > *, .build-detail > *{flex-shrink:0}
.view-tabs button{min-width:0;overflow-wrap:anywhere}
@media(max-width:700px){
.split{grid-template-columns:minmax(0,1fr)}
.split-photo{display:block;min-height:150px;height:100%}
.split-copy{padding:20px}
.feature-view{height:max-content}
.build{height:max-content;grid-template-rows:auto auto}
.gallery-thumbs button{min-width:70px;font-size:10px}
.instrument-footer{flex-wrap:wrap}
.hero-copy{position:relative;top:auto;bottom:auto;left:auto;transform:none;max-width:none;padding:100px 24px 28px}
.overview{height:auto;min-height:100%;display:flex;align-items:flex-end}
.overview>img{position:absolute;inset:0}
}

/* Keep the hardware photograph visible above its description on phones. */
@media(max-width:700px){
  #view > .split{grid-template-columns:minmax(0,1fr);grid-template-rows:clamp(150px,26vh,220px) auto;align-content:start}
  .split-photo img{height:100%;width:100%;object-fit:cover}
  .split-copy{justify-content:flex-start;padding:16px 20px}
  .split-copy h2{margin:10px 0}
  .split-copy p{font-size:14px;line-height:1.55}
  .split-copy ul{margin:8px 0}
  .split-copy li{padding:5px 0}
  .subnav{margin-bottom:8px}
}
