@import url("https://fonts.googleapis.com/css2?family=VT323&family=Bebas+Neue&family=DM+Mono:wght@300;400;600&display=swap");

/* V6 — exact visual alignment with Roberto Dynamic GitHub Home V6. */
:root{
  --screen-bg:#00091a;--card-background:#000d22;--cyan:#00d1d1;--green:#00d000;--red:#e22525;--yellow:#f2ef00;--magenta:#d600d6;--blue:#3d55ff;--lime:#c8ff47;--fg:#f5f8ff;--muted:#bdd0e3;--line:#0b2444;--shadow-color:rgba(0,0,0,.55);--mono:"VT323",monospace;--display:"Bebas Neue",sans-serif;--ui:"DM Mono",monospace;--top-h:106px;--nav-w:260px;--footer-h:48px;--scroll-track:#020713;--scroll-thumb:#00d1d1;--scroll-thumb-hover:#f2ef00;
  --bg:var(--screen-bg);--panel:var(--card-background);--panel2:#00142b;--font:var(--mono);--sans:var(--ui);--header:68px;--ticker:38px;--nav:var(--nav-w)
}
:root[data-theme="light"]{--screen-bg:#f3f4ec;--card-background:#fffdf0;--fg:#0b1220;--muted:#304052;--line:#9ab8c6;--cyan:#00aeb7;--yellow:#8f8200;--green:#008b32;--red:#c52a2a;--magenta:#9f299f;--blue:#324dcc;--lime:#597d00;--shadow-color:rgba(30,50,60,.2);--scroll-track:#e8f8fa;--scroll-thumb:#00aeb7;--scroll-thumb-hover:#8f8200}
*{box-sizing:border-box}
html{width:100%;max-width:100%;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track);background:#000}
body{width:100%;max-width:100%;min-height:100svh;margin:0;background:#000;color:var(--fg);font-family:var(--mono);overflow-x:hidden}
.command-screen{min-height:100svh;background:var(--screen-bg);position:relative;isolation:isolate}
.command-screen:after{content:"";position:fixed;inset:0;background:repeating-linear-gradient(180deg,transparent 0,transparent 3px,rgba(0,0,0,.15) 3px,rgba(0,0,0,.15) 4px);pointer-events:none;z-index:999}
.top-stack{position:fixed;top:0;left:0;right:0;z-index:300;border-bottom:2px solid var(--cyan);box-shadow:0 10px 30px var(--shadow-color)}
.masthead{position:relative;inset:auto;height:68px;display:flex;align-items:center;justify-content:space-between;background:var(--cyan);color:#001020;padding:0 clamp(.8rem,2vw,1.2rem);border:0;backdrop-filter:none}
.masthead-left,.masthead-right,.masthead-status{display:flex;align-items:center;gap:.7rem}
.masthead-logo{font-family:var(--mono);font-size:2rem;letter-spacing:.2em;color:#001020;text-decoration:none;font-weight:900}
.masthead-tagline{font:600 .75rem var(--ui);letter-spacing:.24em;text-transform:uppercase;color:#001020}
.live-dot{width:auto;height:auto;background:none;box-shadow:none;animation:blink 1s steps(1,end) infinite}
.live-dot:before{content:"■";font-size:1.8rem;color:#001020}
.masthead-status{font-family:var(--mono);font-size:1.2rem;letter-spacing:.14em;text-transform:uppercase;text-align:right;color:#001020}
.masthead-status strong{font-size:1.7rem;font-weight:900;color:#001020}
.mobile-menu{display:none;border:2px solid #001020;background:transparent;color:#001020;font-family:var(--mono);font-size:1.4rem;padding:.05rem .35rem;width:auto;height:auto}
.ticker,.ticker-wrapper{position:relative;inset:auto;height:38px;display:flex;align-items:stretch;background:#000;border-top:2px solid #032c2f;border-bottom:0;overflow:hidden}
.ticker-label,.ticker>span{display:grid;place-items:center;background:var(--red);color:#fff;letter-spacing:.28em;text-transform:uppercase;font-size:1.3rem;font-weight:900;padding:0 1rem;min-width:112px}
.ticker-track,.ticker>div{display:flex;align-items:center;min-width:0;flex:1;overflow:hidden}
.ticker-text,.ticker p{width:auto;margin:0;line-height:normal;white-space:nowrap;color:var(--yellow);font-size:1.22rem;letter-spacing:.14em;text-transform:uppercase;font-weight:900;animation:ticker-roll 38s linear infinite}
.app-layout,.layout-shell{display:grid;grid-template-columns:var(--nav-w) minmax(0,1fr);padding-top:var(--top-h);padding-bottom:var(--footer-h);min-height:100svh;width:100%;max-width:100%}
.module-nav{position:fixed;top:var(--top-h);bottom:var(--footer-h);left:0;width:var(--nav-w);height:auto;z-index:180;overflow:auto;background:#00142b;border-right:4px solid var(--line);box-shadow:inset -12px 0 0 rgba(0,0,0,.22);padding:.65rem 0}
.nav-heading{padding:1rem 1.1rem 1.2rem;border-bottom:1px solid #12324c;margin:0 .65rem .45rem}
.nav-heading b{display:block;color:var(--yellow);font-size:1.15rem;letter-spacing:.08em}.nav-heading small{font:300 .58rem var(--ui);color:#8da4ba;letter-spacing:.1em;text-transform:uppercase}
.module-nav button{width:100%;min-height:61px;display:grid;grid-template-columns:54px 1fr;grid-template-rows:auto auto;align-content:center;text-align:left;gap:.15rem .5rem;border:0;border-left:0;background:transparent;color:var(--fg);padding:.62rem 1rem;cursor:pointer;position:relative}
.module-nav button:after{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:var(--yellow);transition:.14s}
.module-nav button b{grid-row:1/3;color:var(--cyan);font-family:var(--mono);font-size:1.1rem;padding-top:.05rem;z-index:1}
.module-nav button span{font:600 .72rem var(--ui);letter-spacing:.05em;text-transform:uppercase;z-index:1}.module-nav button small{font:300 .55rem var(--ui);color:#7990a6;z-index:1}
.module-nav button:hover,.module-nav button.active{background:var(--cyan);color:#001020;box-shadow:inset 6px 0 0 var(--yellow)}
.module-nav button:hover:after,.module-nav button.active:after{width:6px}.module-nav button:hover *,.module-nav button.active *{color:#001020}.module-nav .nav-child{padding-left:1rem}
.nav-foot{display:grid;grid-template-columns:auto 1fr;gap:.4rem .7rem;border-top:1px solid #12324c;margin:.8rem .65rem 0;padding:1rem .45rem;font:300 .55rem var(--ui)}.nav-foot span{color:#7894aa}.nav-foot strong{color:var(--green)}
.main-panel{grid-column:2;min-width:0;width:100%;max-width:100%;background:linear-gradient(90deg,rgba(0,0,0,.15),transparent),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:auto,48px 48px,48px 48px}
.view{display:none;min-height:calc(100svh - var(--top-h) - var(--footer-h));position:relative;overflow-x:hidden}.view.active{display:block}
.landing-view{background:#07080f!important;overflow:visible;isolation:isolate}
.landing-view:before{content:"";position:fixed;inset:var(--top-h) 0 var(--footer-h) var(--nav-w);background:radial-gradient(circle at 66% 38%,rgba(200,255,71,.18),transparent 34%),radial-gradient(circle at 72% 58%,rgba(0,210,255,.18),transparent 33%),linear-gradient(90deg,rgba(0,0,0,.6),transparent 55%);z-index:1;pointer-events:none}
#morphCanvas{position:fixed;z-index:0;left:var(--nav-w);top:var(--top-h);width:calc(100vw - var(--nav-w));height:calc(100svh - var(--top-h) - var(--footer-h));opacity:.98;filter:saturate(1.18) contrast(1.08)}
.grid-noise{z-index:1;opacity:.36;background-size:48px 48px;mask-image:linear-gradient(to bottom,#000,transparent 96%)}
.hero-grid{position:relative;z-index:3;min-height:calc(100svh - var(--top-h) - var(--footer-h));display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.78fr);align-items:center;gap:clamp(1.2rem,4vw,4rem);padding:4rem clamp(1rem,4vw,4rem) 4rem clamp(2rem,6vw,6rem)}
.hero-copy-block,.hero-console{max-width:680px;padding:clamp(1.4rem,3vw,2.6rem);background:linear-gradient(145deg,rgba(7,8,15,.9),rgba(14,20,34,.76));box-shadow:0 30px 80px rgba(0,0,0,.45),inset 0 0 0 1px rgba(200,255,71,.1);border:0;border-left:1px solid rgba(200,255,71,.25);border-radius:0 28px 28px 0;min-width:0}
.hero-console{margin-left:auto;text-align:left;border-left:0;border-right:1px solid rgba(200,255,71,.25);border-radius:28px 0 0 28px}
.teletext-label{font:600 .67rem var(--ui);letter-spacing:.2em;text-transform:uppercase;color:var(--lime);margin-bottom:1rem}
.hero-title{font-family:var(--display);font-weight:400;font-size:clamp(4rem,8vw,8rem);letter-spacing:.03em;line-height:.86;color:#e8e4d9;margin:0}.hero-title em{font-style:normal;color:#e8e4d9}
.hero-lead{font:300 .88rem/1.8 var(--ui);max-width:42rem;color:rgba(232,228,217,.72);margin-top:1.2rem}
.hero-actions,.section-actions,.button-row,.control-row{display:flex;gap:.6rem;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.65rem 1.1rem;border:1px solid var(--lime);color:var(--lime);background:transparent;font:600 .64rem var(--ui);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;cursor:pointer;border-radius:0;box-shadow:none}.btn:hover{background:var(--lime);color:#0a0a0f;transform:none}.btn-primary{background:transparent;color:var(--lime);border-color:var(--lime)}.btn-ghost{border-color:var(--cyan);color:var(--cyan);background:transparent}.btn-ghost:hover{background:var(--cyan);color:#001020}.btn-dark{border-color:var(--yellow);color:var(--yellow);background:#000}
.hero-metrics{display:flex;gap:2rem;justify-content:flex-start;flex-wrap:wrap;margin-top:1.8rem}.hero-metrics article{border:0;padding:0;background:transparent;min-width:95px}.hero-metrics span{font:600 .56rem var(--ui);letter-spacing:.16em;text-transform:uppercase;color:#8b8da0}.hero-metrics strong{display:block;font:400 2.5rem var(--display);color:var(--lime);line-height:1}.hero-metrics small{font:300 .54rem var(--ui);color:#8b8da0}
.console-head,.card-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #17334e;padding-bottom:.65rem;font:600 .61rem var(--ui);letter-spacing:.12em;color:var(--cyan)}.console-head b,.card-head b{color:var(--lime)}
.architecture-core{padding-top:1rem}.core-title span{font:400 2rem var(--display);color:#e8e4d9}.core-title b{color:var(--lime)}.core-lanes>div{background:#000812;border:1px solid #17334e}.core-lanes small{font-family:var(--ui);color:var(--cyan)}.core-lanes strong{font-family:var(--ui);font-weight:400;color:#e5eff7}.runtime-log{background:#000812;border:1px solid #17334e;color:#e5eff7;font:300 .68rem/1.7 var(--ui)}
.command-content{position:relative;z-index:3;padding:clamp(1rem,2vw,2rem);display:grid;gap:1rem;min-width:0;overflow-x:hidden}
.section-intro{max-width:980px;padding:2rem 0}.section-intro h2{font:400 clamp(2.8rem,6vw,6rem) var(--display);line-height:.9;letter-spacing:.03em;color:#e8e4d9}.section-intro>p:last-child{font:300 .82rem/1.8 var(--ui);color:var(--muted)}
.page-title{min-height:110px;display:grid;grid-template-columns:88px 1fr;align-items:center;gap:1rem;border-bottom:2px solid var(--line);padding:1.2rem 1.4rem;background:#00243d}.page-title:after{display:none}.page-title>span{color:var(--cyan);font-size:1.45rem}.page-title h1{font:400 clamp(2rem,4vw,3.2rem) var(--display);color:var(--yellow);letter-spacing:.06em;text-transform:uppercase}.page-title p{grid-column:2;color:var(--muted);font:300 .82rem/1.7 var(--ui);max-width:820px}.cyan-head{background:#003540}.green-head{background:#04370b}.yellow-head{background:#3e3000}.magenta-head{background:#31113a}.blue-head{background:#071842}.red-head{background:#3e0d0d}
.repo-main,.repo-signals,.command-card,.release-feed,.docs-grid a,.source-vault,.external-project,.flow-shell,.repository-mesh,.table-shell,.phase-grid article,.security-grid article,.test-matrix article,.deploy-timeline article,.rollback-path article,.artifact-contract,.security-contract{background:linear-gradient(180deg,color-mix(in srgb,var(--card-background) 92%,var(--cyan) 8%),var(--card-background));border:1px solid var(--line);box-shadow:0 16px 42px var(--shadow-color),inset 0 0 0 1px rgba(255,255,255,.025)}
.flow-shell{width:100%;max-width:100%;padding:1rem;overflow:hidden}.flow-toolbar{border-bottom:1px solid var(--line);padding-bottom:.8rem}.flow-toolbar span{font:600 .65rem var(--ui);letter-spacing:.14em;color:var(--cyan)}.flow-toolbar small{font:300 .57rem var(--ui);color:var(--muted)}.flow-controls button{border:1px solid var(--cyan);background:transparent;color:var(--cyan)}.flow-controls button:hover{background:var(--cyan);color:#001020}
.architecture-map{width:100%;max-width:100%;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,1fr);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-width:none;padding:1rem 0 .5rem;gap:0}.architecture-map::-webkit-scrollbar{display:none}.architecture-map article{scroll-snap-align:start;min-height:290px;background:#000812;border:1px solid #17334e;padding:1rem;position:relative;overflow:hidden}.architecture-map article:hover,.architecture-map article.active{border-color:var(--lime);background:#071322;transform:none}.architecture-map small{font:600 .58rem var(--ui);color:var(--cyan)}.architecture-map h3{font:400 1.8rem var(--display);color:var(--yellow);letter-spacing:.04em}.architecture-map p{font:300 .72rem/1.7 var(--ui);color:var(--muted)}.architecture-map article a{font:600 .58rem var(--ui);color:var(--cyan)}.architecture-map i{align-self:center;color:var(--cyan);font-size:1.5rem;padding:0 .55rem}
.flow-rail{height:12px;background:var(--scroll-track);border:1px solid #17334e;border-radius:999px;position:relative;overflow:hidden;margin-top:.55rem}.flow-rail span{height:100%;background:linear-gradient(90deg,var(--cyan),var(--yellow));border:2px solid var(--scroll-track);border-radius:999px}.flow-foot{font:300 .54rem var(--ui);color:#7894aa}
.repository-mesh-grid a{background:#000812;border:1px solid #17334e;box-shadow:none}.repository-mesh-grid a:hover{border-color:var(--lime);transform:none}.repository-mesh-grid small{font:600 .55rem var(--ui);color:var(--cyan)}.repository-mesh-grid strong{font:400 1.35rem var(--display);color:var(--yellow)}.repository-mesh-grid span{font:300 .62rem/1.6 var(--ui);color:var(--muted)}
.table-shell,.pipeline-board,.no-domain-flow,.rollback-path{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}.table-shell{border:1px solid var(--line);background:#000812}table{min-width:820px}th{background:#00142b;color:var(--cyan);font:600 .58rem var(--ui);letter-spacing:.1em}td{font:300 .66rem var(--ui);color:#dce8f4}
.fastext-bar{position:fixed;display:flex;left:0;right:0;bottom:0;height:var(--footer-h);z-index:400;background:#000;border-top:2px solid var(--cyan);overflow-x:auto}.fastext-bar button{min-width:130px;flex:1;border:0;border-right:1px solid #12324c;background:#00142b;color:var(--fg);font:600 .66rem var(--ui);letter-spacing:.08em;cursor:pointer}.fastext-bar button:hover,.fastext-bar button.active{background:var(--cyan);color:#001020}.fastext-bar b{color:var(--yellow);margin-right:.35rem}
.toast{right:1rem;bottom:calc(var(--footer-h) + 1rem);z-index:500;background:#00142b;border:1px solid var(--cyan);padding:.8rem 1rem;color:#fff;font:300 .68rem var(--ui)}
.cursor-dot,.cursor-ring{z-index:1000}.cursor-dot{width:7px;height:7px;background:var(--yellow)}.cursor-ring{width:28px;height:28px;border:1px solid var(--cyan);opacity:.5}
.morph-telemetry{right:1.4rem;top:calc(var(--top-h) + 1rem);z-index:90;width:auto;display:flex;grid-template-columns:none;border:1px solid rgba(200,255,71,.18);background:rgba(10,10,15,.58);border-radius:999px;color:var(--lime);font:600 .58rem var(--ui);padding:.65rem .9rem;backdrop-filter:blur(12px)}.morph-telemetry-line{width:90px;height:3px;background:#29303d}.morph-telemetry-line i{background:var(--lime)}.morph-telemetry-pct{color:var(--lime)}
.vertical-telemetry{right:8px;top:calc(var(--top-h) + 8px);bottom:calc(var(--footer-h) + 8px);width:4px;border:0;background:#29303d;z-index:90}.vertical-telemetry span{background:linear-gradient(var(--lime),var(--cyan));width:100%}
#scene-strip{position:fixed;right:1.4rem;top:calc(var(--top-h) + 4.5rem);z-index:90;display:grid;gap:.5rem;background:rgba(10,10,15,.38);padding:.65rem .42rem;border-radius:999px;border:1px solid rgba(200,255,71,.15);backdrop-filter:blur(12px)}.scene-dot{display:block;width:7px;height:7px;border-radius:50%;background:#46505d}.scene-dot.active{background:var(--lime);box-shadow:0 0 14px var(--lime)}
.shape-legend{position:fixed;right:1.4rem;bottom:calc(var(--footer-h) + 1rem);z-index:90;display:flex;gap:.4rem;flex-wrap:wrap;max-width:420px;justify-content:flex-end;font-family:var(--ui);pointer-events:none}.shape-legend span{font-size:.56rem;letter-spacing:.14em;border:1px solid rgba(200,255,71,.25);color:#8b8da0;padding:.38rem .52rem;background:rgba(10,10,15,.58);backdrop-filter:blur(10px);border-radius:999px}.shape-legend span.active{color:#0a0a0f;background:var(--lime)}
html::-webkit-scrollbar,body::-webkit-scrollbar,.module-nav::-webkit-scrollbar,.table-shell::-webkit-scrollbar,.architecture-map::-webkit-scrollbar,.fastext-bar::-webkit-scrollbar{width:10px;height:10px}html::-webkit-scrollbar-track,body::-webkit-scrollbar-track,.module-nav::-webkit-scrollbar-track,.table-shell::-webkit-scrollbar-track,.fastext-bar::-webkit-scrollbar-track{background:var(--scroll-track)}html::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb,.module-nav::-webkit-scrollbar-thumb,.table-shell::-webkit-scrollbar-thumb,.fastext-bar::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--scroll-thumb),var(--scroll-thumb-hover));border:2px solid var(--scroll-track);border-radius:999px}
@keyframes ticker-roll{from{transform:translateX(100%)}to{transform:translateX(-100%)}}@keyframes blink{50%{opacity:0}}
@media(max-width:980px){:root{--nav-w:0px;--top-h:100px}.mobile-menu{display:inline-block}.app-layout,.layout-shell{display:block}.module-nav{top:var(--top-h);bottom:var(--footer-h);width:min(310px,88vw);transform:translateX(-105%);transition:.25s}.drawer-open .module-nav{transform:none}.drawer-open:before{content:"";position:fixed;z-index:175;inset:var(--top-h) 0 var(--footer-h);background:rgba(0,0,0,.7)}.main-panel{grid-column:auto}.masthead-tagline,.live-dot{display:none}#morphCanvas{left:0;width:100vw}.landing-view:before{left:0}.hero-grid{grid-template-columns:1fr;padding:3rem 1rem}.hero-copy-block,.hero-console{max-width:min(680px,94vw);margin:0;text-align:left;border-left:1px solid rgba(200,255,71,.24);border-right:0;border-radius:0 24px 24px 0}.hero-console{margin-left:auto}.shape-legend{display:none}.repository-mesh-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){:root{--top-h:96px;--footer-h:44px}.masthead{height:60px}.ticker,.ticker-wrapper{height:36px}.masthead-status #commandClock,.masthead-status #routeLabel{display:none}.masthead-logo{font-size:1.35rem}.ticker-label{min-width:86px;font-size:1rem}.ticker-text,.ticker p{font-size:1rem}.page-title{grid-template-columns:1fr;padding:1rem}.page-title p{grid-column:auto}.page-title h1{font-size:2rem}.command-content{padding:.75rem}.hero-grid{padding:2rem .75rem}.hero-title{font-size:clamp(3rem,17vw,5.5rem)}.hero-copy-block,.hero-console{padding:1.2rem}.hero-metrics{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.repository-mesh-grid{grid-template-columns:1fr}.morph-telemetry{right:.6rem;top:calc(var(--top-h) + .6rem);padding:.5rem}.morph-telemetry-code{display:none}#scene-strip{display:none}.fastext-bar button{min-width:94px;font-size:.58rem}.fastext-bar button:nth-child(4){display:none}.cursor-dot,.cursor-ring{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}


/* V7.1 — original V7 visual language, taller and safer responsive navigation. */
:root{
  --header:76px;
  --ticker:42px;
  --top-h:calc(118px + env(safe-area-inset-top, 0px));
}
.top-stack{
  padding-top:env(safe-area-inset-top, 0px);
  z-index:1100;
}
.masthead{
  height:var(--header);
  min-height:var(--header);
}
.ticker,.ticker-wrapper{
  height:var(--ticker);
  min-height:var(--ticker);
}
.mobile-menu,
.module-nav button,
.fastext-bar button{
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.nav-backdrop{
  position:fixed;
  z-index:1060;
  inset:var(--top-h) 0 0;
  display:block;
  width:100%;
  height:auto;
  padding:0;
  border:0;
  background:rgba(0,0,0,.74);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .22s ease,visibility .22s ease;
}
body.drawer-open{
  overflow:hidden;
  overscroll-behavior:none;
}
body.drawer-open .nav-backdrop{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
body.drawer-open .module-nav{
  z-index:1080;
}
body.drawer-open:before{
  display:none!important;
}

@media(max-width:980px){
  :root{
    --header:80px;
    --ticker:48px;
    --top-h:calc(128px + env(safe-area-inset-top, 0px));
  }
  .masthead{
    padding-inline:max(.75rem,env(safe-area-inset-left, 0px)) max(.75rem,env(safe-area-inset-right, 0px));
    gap:.7rem;
  }
  .masthead-left{min-width:0;gap:.65rem}
  .masthead-logo{white-space:nowrap}
  .mobile-menu{
    display:grid;
    place-items:center;
    flex:0 0 52px;
    width:52px;
    height:52px;
    min-width:52px;
    min-height:52px;
    padding:0;
    border-width:2px;
    font-size:1.65rem;
    line-height:1;
    cursor:pointer;
  }
  .masthead-status{min-width:0;gap:.5rem}
  .module-nav{
    top:var(--top-h);
    bottom:var(--footer-h);
    z-index:1080;
    max-height:calc(100dvh - var(--top-h) - var(--footer-h));
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  body.drawer-open .module-nav{
    bottom:0;
    max-height:calc(100dvh - var(--top-h));
    padding-bottom:max(1rem,env(safe-area-inset-bottom, 0px));
  }
  body.drawer-open .fastext-bar{
    transform:translateY(110%);
    pointer-events:none;
  }
  .fastext-bar{transition:transform .22s ease}
}

@media(max-width:620px){
  :root{
    --header:82px;
    --ticker:48px;
    --top-h:calc(130px + env(safe-area-inset-top, 0px));
    --footer-h:48px;
  }
  .masthead{height:var(--header);min-height:var(--header)}
  .ticker,.ticker-wrapper{height:var(--ticker);min-height:var(--ticker)}
  .masthead-logo{font-size:1.42rem;letter-spacing:.13em}
  .masthead-status strong{font-size:1.45rem}
  .masthead-status #connectionState{font-size:.9rem;letter-spacing:.08em}
  .ticker-label{min-width:92px}
  .ticker-text,.ticker p{font-size:1rem}
}

@media(max-width:390px){
  .masthead{padding-inline:.5rem}
  .mobile-menu{flex-basis:48px;width:48px;height:48px;min-width:48px;min-height:48px}
  .masthead-left{gap:.45rem}
  .masthead-logo{font-size:1.25rem;letter-spacing:.1em}
  .masthead-status strong{font-size:1.25rem}
  .masthead-status #connectionState{display:none}
}
@media(prefers-reduced-motion:reduce){
  .nav-backdrop,.module-nav,.fastext-bar{transition:none!important}
}
