:root{--rail-bg:#111;--rail-fg:#cfcfcf;--rail-accent:#fff}
.eco-rail{position:fixed;top:0;left:0;right:0;height:40px;z-index:999;display:flex;align-items:center;gap:6px;padding:0 12px;background:var(--rail-bg);color:var(--rail-fg);font:12px/1 ui-monospace,Menlo,Consolas,monospace;border-bottom:1px solid rgba(128,128,128,.35);overflow-x:auto;white-space:nowrap;scrollbar-width:none}
.eco-rail::-webkit-scrollbar{display:none}
.eco-rail a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:6px;padding:14px 10px;min-height:40px;border-radius:3px;flex:none}
.eco-rail a:hover{color:var(--rail-accent)}
.eco-rail a.on{color:var(--rail-accent);background:linear-gradient(var(--rail-accent),var(--rail-accent)) center bottom 8px/calc(100% - 20px) 2px no-repeat}
.eco-rail .home{font-weight:700;letter-spacing:.06em;margin-right:6px;border-right:1px solid rgba(128,128,128,.4);padding-right:12px;border-radius:0}
.eco-rail svg{width:14px;height:14px;flex:none}
body{padding-top:40px}
.eco-rail .sep{width:1px;height:16px;background:rgba(128,128,128,.5);flex:none;margin:0 4px}
.eco-rail .dot{width:10px;height:10px;border-radius:50%;background:#d62718;display:inline-block}
.eco-rail .auth{margin-left:auto;opacity:.85}
/* 08: cross-ecosystem feel. Focus, skip link, shared footer, page-transition feel. All CSS, no deps. */
.eco-rail a:focus-visible,.eco-foot a:focus-visible,.eco-skip:focus-visible{outline:2px solid var(--rail-accent);outline-offset:2px;border-radius:3px}
.eco-skip{position:fixed;left:12px;top:-60px;z-index:1000;background:#111;color:#fff;padding:12px 16px;font:600 13px ui-monospace,Menlo,monospace;text-decoration:none;border:2px solid #fff;transition:top .15s}
.eco-skip:focus{top:48px}
.eco-foot{position:relative;z-index:2;margin-top:40px;border-top:1px solid var(--rail-fg);background:var(--rail-bg);color:var(--rail-fg);font:12px/1.6 ui-monospace,Menlo,Consolas,monospace}
.eco-foot-in{max-width:1120px;margin:0 auto;padding:22px 18px 28px;display:grid;gap:14px}
.eco-foot .here{margin:0;color:var(--rail-accent);font-weight:700}.eco-foot .here i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#d62718;margin-right:10px;vertical-align:middle}.eco-foot .here span{font-weight:400;opacity:.8;margin-right:10px}.eco-foot .here span:after{content:':'}
.eco-foot ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 18px}
.eco-foot li a{color:inherit;text-decoration:none;display:inline-block;padding:12px 6px;margin:0 -6px;min-width:44px;text-align:center;letter-spacing:.06em}
.eco-foot li a:hover,.eco-foot li a[aria-current]{color:var(--rail-accent)}
.eco-foot li a[aria-current]{box-shadow:inset 0 -2px 0 var(--rail-accent)}
.eco-foot .fine{margin:0;opacity:.75}
@view-transition{navigation:auto}
::view-transition-old(root){animation:eco-out .18s ease-in both}::view-transition-new(root){animation:eco-in .26s ease-out both}
@keyframes eco-out{to{opacity:0}}@keyframes eco-in{from{opacity:0;transform:translateY(6px)}}
@supports not (view-transition-name:root){body{animation:eco-in .3s ease-out both}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root),body{animation:none}}
