site(theseus.x, ariadne.x): collapse the mobile topnav into a hamburger

Mobile phones were giving the topnav 130 px — three or four wrapped rows —
before the hero even started drawing. On a 375 x 812 viewport that cost
~16% of the first screen to redundant navigation, and the "Get Theseus" /
"Get for Android" CTAs duplicated download buttons that sit in the hero
one scroll away.

The new pattern:
- Desktop (>720 px) is unchanged. Theseus.X drops Brand + Whitepaper from
  the topnav (they live in the deep footer), so the row is now brand +
  Plug-ins + Extensions + Sirius.X + Get Theseus. Ariadne.X keeps the same
  set it had.
- Mobile (<=720 px) collapses to a single ~58 px row: brand on the left,
  a native <details><summary> hamburger on the right, nothing else. The
  dropdown panel is right-anchored, pure HTML+CSS, no JS, keyboard-usable
  via the summary's built-in semantics.
- Theseus dropdown: Plug-ins, Extensions, Sirius.X.
- Ariadne dropdown: Ariadne's Thread, Theseus.X, Sirius.X.

The hero + its primary CTA now fit above the fold on an iPhone 13 class
viewport, which is where this content needs to land first.
This commit is contained in:
Local Dev 2026-10-01 23:50:26 +02:00
parent 690d46c125
commit d070730f4a

View file

@ -42,6 +42,33 @@
.topnav a .g{color:var(--acid)}
.topnav a svg.tabicon{width:15px;height:15px;flex:none}
/* Mobile menu: a native <details>/<summary> hamburger that holds the
contextual nav. Pure HTML+CSS, no JavaScript, keyboard-accessible.
Hidden on desktop (where the inline links show instead). */
.topnav .menu{display:none}
@media (max-width:720px){
.topnav{flex-wrap:nowrap;padding:10px 1rem}
.topnav .brand{margin-right:0}
/* Hide desktop inline nav + the floating Get CTA on mobile — the hero
sits one scroll away with its own download buttons. */
.topnav > a:not(.brand){display:none}
.topnav .menu{display:block;margin-left:auto;position:relative}
.topnav .menu > summary{list-style:none;cursor:pointer;padding:8px 10px;
border-radius:8px;color:var(--mut);display:inline-flex;align-items:center;gap:6px}
.topnav .menu > summary::-webkit-details-marker{display:none}
.topnav .menu > summary svg{width:22px;height:22px;display:block}
.topnav .menu > summary:hover,
.topnav .menu[open] > summary{color:var(--ink);background:var(--panel)}
.topnav .menu .menu-panel{position:absolute;top:calc(100% + 6px);right:0;
background:var(--bg);border:1px solid var(--line);border-radius:12px;
padding:6px;min-width:200px;display:flex;flex-direction:column;gap:2px;
box-shadow:0 10px 32px rgba(0,0,0,.55)}
.topnav .menu .menu-panel a{padding:10px 14px;border-radius:8px;font-size:14.5px;
color:var(--mut);text-decoration:none;display:flex;align-items:center;gap:8px}
.topnav .menu .menu-panel a:hover{color:var(--ink);background:var(--panel)}
.topnav .menu .menu-panel a svg.tabicon{width:16px;height:16px}
}
/* Adaptive edge nav: full-width panel at left edge on wide,
icon rail on medium, bottom bar with icons on mobile.
Topnav is fixed at the top spanning the full width; sidebar starts
@ -177,10 +204,23 @@
</a>
<a href="plug-ins/">Plug-ins</a>
<a href="extensions/">Extensions</a>
<a href="brand/">Brand</a>
<a href="whitepaper/">Whitepaper</a>
<a href="https://sirius.x/" title="Register a BCNR name"><svg class="tabicon" viewBox="0 0 64 64" aria-hidden="true"><rect width="64" height="64" rx="12" fill="#0b0e14"/><path d="M32 4 L36.4 27.6 L60 32 L36.4 36.4 L32 60 L27.6 36.4 L4 32 L27.6 27.6 Z" fill="#d6ff3d"/></svg><span>Sirius<span class="g">.X</span></span></a>
<a class="get" href="#download">Get Theseus</a>
<!-- Mobile hamburger — shown only at ≤720px, holds the same contextual
nav as the inline links above. Brand book + Whitepaper intentionally
live in the footer only; Get Theseus is in the hero one scroll away. -->
<details class="menu">
<summary aria-label="Open menu">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true">
<path d="M4 7h16M4 12h16M4 17h16"/>
</svg>
</summary>
<div class="menu-panel">
<a href="plug-ins/">Plug-ins</a>
<a href="extensions/">Extensions</a>
<a href="https://sirius.x/" title="Register a BCNR name"><svg class="tabicon" viewBox="0 0 64 64" aria-hidden="true"><rect width="64" height="64" rx="12" fill="#0b0e14"/><path d="M32 4 L36.4 27.6 L60 32 L36.4 36.4 L32 60 L27.6 36.4 L4 32 L27.6 27.6 Z" fill="#d6ff3d"/></svg><span>Sirius<span class="g">.X</span></span></a>
</div>
</details>
</nav>
<aside class="sidenav" aria-label="On this page">