/* Shared page chrome — tokens, reset, nav, footer.
   Every page links this and adds only its own sections. It used to be a
   copy of the same ~70 lines inside each <style> block, which is why the
   home page could be redesigned (flat bar, square frames) while plugins,
   themes and changelog kept the older rounded-pill language. */
:root{
  --paper:     oklch(97.8% 0.007 85);
  --surface:   oklch(99.4% 0.003 90);
  --well:      oklch(22% 0.02 50);
  --well-2:    oklch(27% 0.022 50);
  --well-ink:  oklch(88% 0.015 85);
  --ink:       oklch(25% 0.02 60);
  --ink-soft:  oklch(35% 0.02 55);
  --muted:     oklch(50% 0.02 60);
  --faint:     oklch(62% 0.018 65);
  --line:      oklch(88% 0.014 80);
  --line-2:    oklch(83% 0.018 75);
  --accent:    oklch(62% 0.13 45);
  --accent-2:  oklch(70% 0.11 50);
  --accent-wash: oklch(62% 0.13 45 / .1);
  --accent-line: oklch(62% 0.13 45 / .4);
  --ok:        oklch(58% 0.12 145);
  --warn:      oklch(62% 0.11 80);
  --radius:    12px;
  --radius-lg: 22px;
  --font-display:'Fraunces', Georgia, serif;
  --font-sans:'DM Sans', system-ui, sans-serif;
  --font-mono:'JetBrains Mono', ui-monospace, monospace;
  --ease-out: cubic-bezier(0.16,1,0.3,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--paper)}
body{color:var(--ink-soft);font-family:var(--font-sans);font-weight:380;font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:oklch(62% 0.13 45/.22)}
a{color:inherit;text-decoration:none}
button,input,select{font-family:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
.wrap{max-width:1160px;margin:0 auto;padding:0 clamp(20px,4vw,52px)}
.acc{color:var(--accent);font-style:italic}

/* ============ NAV — a terminal command line, full width ============ */
.navbar{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;gap:2px;padding:10px clamp(20px,4vw,52px);background:oklch(97.8% 0.007 85/.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);font-family:var(--font-mono);font-size:12.5px}
.navbar .ps{color:var(--accent);padding-left:8px}
.navbar .bin{font-weight:700;color:var(--ink);padding:6px 14px 6px 4px}
.navbar a.nl{color:var(--muted);padding:6px 10px;transition:color 140ms;white-space:nowrap}
.navbar a.nl:hover{color:var(--accent)}
.navbar a.nl[aria-current="page"]{color:var(--accent)}
.navbar .caret{display:inline-block;width:7px;height:14px;background:var(--accent);margin:0 4px 0 2px;animation:blink 1.1s steps(1) infinite;vertical-align:-2px;margin-right:auto}
@keyframes blink{50%{opacity:0}}
.lang-btn{font-family:var(--font-mono);font-size:11.5px;border:1px solid var(--line-2);background:transparent;color:var(--muted);padding:6px 12px;margin-left:6px;transition:all 140ms;white-space:nowrap}
.lang-btn:hover{border-color:var(--accent-line);color:var(--ink)}
.gh-link{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:12px;font-weight:500;background:var(--ink);color:oklch(97% 0.008 85);padding:7px 14px;margin-left:8px;transition:background 140ms;white-space:nowrap}
.gh-link:hover{background:var(--accent);color:oklch(99% 0.005 85)}
.gh-stars{display:inline-flex;align-items:center;gap:4px;color:oklch(85% 0.06 85)}
/* This used to hide all five links, leaving `$ Rove [中文] [GitHub]` — the
   defect fixed in #511/#513. The section anchors go first (they scroll to
   content that only exists on the home page), then changelog, which the
   footer also links. Measured against the real bar, not guessed. */
@media(max-width:820px){
  .navbar a.nl[href*="#workflow"],.navbar a.nl[href*="#install"]{display:none}
  .navbar a.nl{padding:6px 8px}
}
@media(max-width:460px){
  .navbar a.nl[href*="changelog"]{display:none}
  .gh-link>span:not(.gh-stars){display:none}
  .navbar{padding:10px 12px}
  .navbar .bin{padding-right:6px}
  .navbar a.nl{padding:6px 6px}
  .lang-btn{padding:6px 9px;margin-left:4px}
  .gh-link{padding:7px 11px;margin-left:5px}
}

/* ============ FOOTER ============
   Two blocks, not one paragraph: identity on the left, navigation on the
   right. The links get the navbar's mono treatment — the vocabulary the
   rest of the page already uses for controls. */
.foot-dense{border-top:1px solid var(--line);background:var(--surface);padding:40px 0;font-size:13px;color:var(--faint)}
/* subpages end on content, so they need the breathing room the home page
   gets from its final band */
.foot-dense.foot-spaced{margin-top:clamp(70px,9vw,110px)}
.foot-inner{max-width:1160px;margin:0 auto;padding:0 clamp(20px,4vw,52px);display:flex;flex-wrap:wrap;justify-content:space-between;gap:22px 44px}
.foot-id{max-width:56ch;line-height:1.7}
.foot-dense .mark{font-family:var(--font-mono);color:var(--accent)}
.foot-dense .tagline{color:var(--ink-soft)}
/* the colophon is credits, not a claim — its own line, one step quieter */
.foot-colophon{display:block;margin-top:7px;font-size:12px;color:var(--faint)}
/* no margin-left:auto — space-between already right-aligns it on one line,
   and once it wraps to its own row the auto margin would strand it right */
.foot-links{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px;font-family:var(--font-mono);font-size:12.5px}
.foot-links a{color:var(--muted);padding:5px 11px;transition:color 140ms,background 140ms}
.foot-links a:hover{color:var(--accent);background:var(--accent-wash)}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .rise{opacity:1;transform:none}
  .reveal{opacity:1;transform:none}
}
