/* GLEE shared interface compatibility layer.
   Keep the existing shell contract; normalize its older visual overrides to
   the black, neutral product surface. */
:root {
  --gs-prism-paper: #000000;
  --gs-prism-white: #f5f5f5;
  --gs-prism-ink: #f5f5f5;
  --gs-prism-muted: #9a9a9a;
  --gs-prism-violet: #d8bb78;
  --gs-prism-lilac: #111111;
  --gs-prism-lime: #0a0a0a;
  --gs-prism-coral: #b8b8b8;
  --gs-prism-line: #242424;
  --gs-prism-night: #000000;
  --gs-prism-night-panel: #0a0a0a;
  --gs-prism-night-muted: #a4a4a4;
  --gs-prism-display: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  --gs-prism-text: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --gs-prism-mono: ui-monospace, "Cascadia Code", "SF Mono", Menlo, Consolas, monospace;
}

body:has(>.gs-shell), body[data-gs-mounted] {
  --gs-ground: var(--gs-prism-paper);
  --gs-ink: var(--gs-prism-ink);
  --gs-muted: var(--gs-prism-muted);
  --gs-gold: var(--gs-prism-violet);
  --gs-gold-hi: #f0d79e;
  --gs-hairline: var(--gs-prism-line);
  --gs-panel: var(--gs-prism-night-panel);
  --gs-font-display: var(--gs-prism-display);
  --gs-font-ui: var(--gs-prism-text);
}

body .gs-shell {
  background: #000000;
  border-bottom: 1px solid var(--gs-prism-line);
  backdrop-filter: none;
  box-shadow: none;
}
body .gs-brand { gap: var(--space-8); min-height: 44px; }
body .gs-mark { color: var(--gs-prism-violet); width: 24px; height: 24px; }
body .gs-wordmark { font-family: var(--gs-prism-display); font-size: var(--text-28); font-weight: 700; letter-spacing: -.04em; line-height: 1; }
body .gs-nav { gap: var(--space-2); padding: var(--space-4) 0; }
body .gs-nav-a { position: relative; color: var(--gs-prism-muted); font-family: var(--gs-prism-text); font-size: var(--text-11); font-weight: 650; letter-spacing: .015em; border: 1px solid transparent; border-radius: var(--radius-8); padding: var(--space-8) var(--space-12); min-height: 32px; transition: background .15s, border-color .15s, color .15s; }
body .gs-nav-a::before { content: none; }
body .gs-nav-a:hover { background: var(--gs-prism-night-panel); color: var(--gs-prism-ink); }
body .gs-nav-a.is-on { background: var(--gs-prism-night-panel); color: var(--gs-prism-ink); border-color: var(--gs-prism-violet); box-shadow: none; }
body .gs-session { color: #000000; background: var(--gs-prism-violet); border: 1px solid var(--gs-prism-violet); border-radius: var(--radius-8); box-shadow: none; font-family: var(--gs-prism-text); font-weight: 700; letter-spacing: 0; padding: var(--space-4) var(--space-12); min-height: 32px; text-decoration: none; }
body .gs-session:hover { background: #f0d79e; box-shadow: none; }
body .gs-cmd { border-color: var(--gs-prism-line); border-radius: var(--radius-8); color: var(--gs-prism-muted); font-family: var(--gs-prism-mono); }
body .gs-lnav { background: var(--gs-prism-night-panel); border-bottom: 1px solid var(--gs-prism-line); color: var(--gs-prism-ink); }
body .gs-lnav a { color: var(--gs-prism-ink); border-radius: var(--radius-8); }
body .gskip { position: fixed; }
body .gskip:focus { z-index: 9999; background: var(--gs-prism-night-panel); color: var(--gs-prism-ink); border: 2px solid var(--gs-prism-violet); }

body:has(>.gs-shell):not(.atelier) :is(.button, .btn, .gs-button) { border-radius: var(--radius-8); box-shadow: none; border: 1px solid var(--gs-prism-violet); font-family: var(--gs-prism-text); font-weight: 700; }
body:has(>.gs-shell):not(.atelier) :is(.button, .btn, .gs-button):focus-visible { outline: 2px solid var(--gs-prism-violet); outline-offset: 3px; }
body:has(>.gs-shell):not(.atelier) :is(.card, .sec-panel, .door) { border-radius: var(--radius-8); border-top: 1px solid var(--gs-prism-line); }
body:has(>.gs-shell):not(.atelier) :is(.field input, .field textarea, .field select) { border-radius: var(--radius-8); border-bottom: 1px solid var(--gs-prism-violet); }
body:has(>.gs-shell):not(.atelier) :is(h1, .hero h1) { font-family: var(--gs-prism-display); font-weight: 650; letter-spacing: -.035em; }

@media (max-width: 1040px) { body .gs-nav-a { padding: var(--space-8) var(--space-8); } }
@media (prefers-reduced-motion: reduce) { body .gs-shell *, body .gs-shell *::before { transition: none !important; animation: none !important; } }
