/* Summit skins: switchable looks for every Summit site (2026-10-29; light/dark by attribute + the dock, 2026-11-02).
   Works on top of the shared tokens in shared/summit-login/public/login.css and summitnet.io/assets/site.css:
   a skin only REDEFINES those token names, so no page markup or component CSS changes.
   Switch with <html data-skin="...">: "summit" (default, the current look), "studio", "terminal".
   Light/dark is <html data-theme="light|dark">, which summit-skins.js always sets before first paint (the visitor's
   choice, else the device; Terminal defaults to dark). The site's own stylesheets carry the Summit light/dark tokens
   (and a prefers-color-scheme fallback for a page without the script); the skins below need the script anyway.
   Load AFTER the site's own stylesheet. */

/* ---------- studio: paper notebook, editorial serif, dark code panels, burnt orange ---------- */
:root[data-skin="studio"]{
  --bg:#f3eee3;--panel:#fffcf5;--ink:#26221d;--muted:#6b6154;--line:#ddd3c2;--field:#faf6ee;
  --brand:#b4541c;--brand-ink:#fff;--rust:#b4541c;--ring:#e08a4a;--ok:#3d6b35;--bad:#a3261c;
  --cream:#f8f2e6;--sage:#7f9a5a;--sage-deep:#4f6a34;--olive:#6e8a4a;--rust-deep:#8a3d12;--rust-soft:#f6e3d3;
  --walnut:#1f2023;--walnut-2:#2b2c30;--ink-soft:#4f473d;--ink-faint:#7b7163;--line-soft:#ece4d6;
  --card:#fffcf5;--card-alt:#faf6ee;--tint:#efe7d8;
  --display:"Fraunces SN","Iowan Old Style","Palatino Linotype",Georgia,serif;
  --font:"Source Sans 3",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Consolas,monospace;
  --radius:14px;--label-case:uppercase;--label-track:.12em;
  --shadow-sm:0 1px 0 rgba(38,34,29,.08);--shadow-md:0 2px 0 rgba(38,34,29,.10),0 10px 24px -12px rgba(38,34,29,.18);
  --code-bg:#1f2023;--code-ink:#ece6da;--code-accent:#f0904c;
  color-scheme:light;
}
/* every colour token studio light sets is reset here, so no light value (the deep greens, the shadows) leaks into dark */
:root[data-skin="studio"][data-theme="dark"]{
  --bg:#17171a;--panel:#1f2023;--ink:#efe8db;--muted:#a99f90;--line:#34343a;--field:#1b1b1e;
  --brand:#f0904c;--brand-ink:#17171a;--rust:#f0904c;--ring:#f0904c;--ok:#9cc480;--bad:#ff8a7a;
  --cream:#1c1c20;--sage:#9cc480;--sage-deep:#9cc480;--olive:#a9cc8f;--rust-deep:#f4a874;--rust-soft:#3a2618;
  --walnut:#0f0f11;--walnut-2:#1f2023;--ink-soft:#d3c9b8;--ink-faint:#9a907f;--line-soft:#29292e;
  --card:#1f2023;--card-alt:#232428;--tint:#26262b;--code-bg:#0f0f11;--code-ink:#ece6da;--code-accent:#f0904c;
  --shadow-sm:0 1px 0 rgba(0,0,0,.4);--shadow-md:0 2px 0 rgba(0,0,0,.35),0 10px 24px -12px rgba(0,0,0,.6);
  color-scheme:dark;
}

/* ---------- terminal: mono labels, amber signal; dark unless the visitor picks light ---------- */
:root[data-skin="terminal"]{
  --bg:#0e1113;--panel:#161a1d;--ink:#e6e3da;--muted:#98a09a;--line:#262d31;--field:#12161a;
  --brand:#f2b544;--brand-ink:#0e1113;--rust:#f2b544;--ring:#f2b544;--ok:#7fd18b;--bad:#ff7b72;
  --cream:#131719;--sage:#7fd18b;--sage-deep:#7fd18b;--olive:#9bd6a2;--rust-deep:#ffd27a;--rust-soft:#2b2412;
  --walnut:#090b0c;--walnut-2:#131719;--ink-soft:#c8c5bb;--ink-faint:#7d857f;--line-soft:#1c2226;
  --card:#161a1d;--card-alt:#1a1f22;--tint:#1b2124;
  --display:"JetBrains Mono",ui-monospace,Consolas,monospace;
  --font:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Consolas,monospace;
  --radius:6px;--label-case:uppercase;--label-track:.08em;
  --shadow-sm:none;--shadow-md:0 0 0 1px #262d31;
  --code-bg:#090b0c;--code-ink:#e6e3da;--code-accent:#f2b544;
  color-scheme:dark;
}
/* terminal light (2026-11-02): white console, graphite ink, the amber darkened until it reads as text */
:root[data-skin="terminal"][data-theme="light"]{
  --bg:#f4f5f2;--panel:#fff;--ink:#15191b;--muted:#4f5a55;--line:#cfd5d1;--field:#fafbf9;
  --brand:#8a5a00;--brand-ink:#fff;--rust:#8a5a00;--ring:#b07400;--ok:#1f7a35;--bad:#b3261e;
  --cream:#eceee9;--sage:#1f7a35;--sage-deep:#1f7a35;--olive:#2f6b3a;--rust-deep:#7a4f00;--rust-soft:#f6ecd6;
  --walnut:#15191b;--walnut-2:#22282b;--ink-soft:#2d3437;--ink-faint:#5d6763;--line-soft:#e3e7e4;
  --card:#fff;--card-alt:#f8f9f7;--tint:#eceee9;
  --shadow-sm:none;--shadow-md:0 0 0 1px #cfd5d1;
  --code-bg:#15191b;--code-ink:#e6e3da;--code-accent:#f2b544;
  color-scheme:light;
}

/* ---------- small shared components that read the tokens (opt-in classes) ---------- */
.sk-label{font:600 .72rem/1 var(--mono);letter-spacing:var(--label-track,.1em);text-transform:var(--label-case,uppercase);
  color:var(--rust);border:1.5px solid currentColor;border-radius:999px;padding:.4em .8em;display:inline-block}
.sk-panel{background:var(--code-bg,var(--walnut));color:var(--code-ink,#f3ece1);border-radius:var(--radius,12px);
  font:400 .85rem/1.6 var(--mono);padding:1rem 1.1rem;overflow-x:auto}
.sk-panel b,.sk-panel .hl{color:var(--code-accent,var(--rust));font-weight:600}
.sk-check{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}
.sk-check li{display:flex;gap:.6rem;align-items:baseline}
.sk-check li::before{content:"";flex:0 0 .9rem;height:.9rem;border-radius:50%;border:2px solid var(--line);transform:translateY(.15rem)}
.sk-check li.done::before{background:var(--ok);border-color:var(--ok)}

/* ---------- the dock (summit-skins.js draws it at the end of <body> on every page) ----------
   One place on every page of every site: bottom left, 248 x 40 px. Its own fixed font, sizes and colours, so neither
   the skin (Terminal's mono font, Studio's radius) nor the host page's button styles can move or resize it. */
.sk-dock{--sk-bg:#fffdf9;--sk-line:#d9ccb8;--sk-ink:#4a3d30;--sk-on:#4d6b2f;--sk-on-ink:#fff;--sk-ring:#a8431f;
  position:fixed;left:calc(12px + env(safe-area-inset-left,0px));bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:2147483000;
  box-sizing:border-box;display:flex;align-items:center;gap:4px;width:248px;height:40px;margin:0;padding:3px;
  border:1px solid var(--sk-line);border-radius:20px;background:var(--sk-bg);box-shadow:0 2px 10px rgba(0,0,0,.18);
  font:600 12px/1 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;letter-spacing:0;text-transform:none;direction:ltr}
:root[data-theme="dark"] .sk-dock{--sk-bg:#201b16;--sk-line:#4a3f33;--sk-ink:#e3d6c4;--sk-on:#8cb35b;--sk-on-ink:#16130f;--sk-ring:#e8956f}
:root[data-skin="studio"] .sk-dock{--sk-bg:#fffcf5;--sk-line:#d4c8b4;--sk-ink:#4f473d;--sk-on:#b4541c;--sk-on-ink:#fff;--sk-ring:#8a3d12}
:root[data-skin="studio"][data-theme="dark"] .sk-dock{--sk-bg:#1f2023;--sk-line:#44444b;--sk-ink:#e3dacb;--sk-on:#f0904c;--sk-on-ink:#17171a;--sk-ring:#f4a874}
:root[data-skin="terminal"] .sk-dock{--sk-bg:#161a1d;--sk-line:#353e43;--sk-ink:#d6d3ca;--sk-on:#f2b544;--sk-on-ink:#0e1113;--sk-ring:#ffd27a}
:root[data-skin="terminal"][data-theme="light"] .sk-dock{--sk-bg:#fff;--sk-line:#bfc7c2;--sk-ink:#2d3437;--sk-on:#8a5a00;--sk-on-ink:#fff;--sk-ring:#7a4f00}
.sk-dock .sk-switcher{display:flex;gap:2px;margin:0;padding:0;border:0;background:none}
.sk-dock button{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex:none;height:32px;margin:0;padding:0;
  border-radius:16px;background:transparent;color:var(--sk-ink);font:600 12px/1 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  letter-spacing:0;text-transform:none;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent}
.sk-dock .sk-switcher button{width:66px}
.sk-dock .sk-mode{width:32px;margin-left:2px}
.sk-dock .sk-switcher button[aria-pressed="true"]{background:var(--sk-on);color:var(--sk-on-ink)}
.sk-dock button:hover{box-shadow:inset 0 0 0 1px var(--sk-line)}
.sk-dock button:focus-visible{outline:2px solid var(--sk-ring);outline-offset:2px}
.sk-dock button[aria-disabled="true"]{cursor:default;box-shadow:none}
.sk-dock .sk-mode[aria-disabled="true"] svg{opacity:.6}
.sk-dock svg{display:block;width:18px;height:18px;flex:none}
:root[data-theme="dark"] .sk-dock .sk-sun,:root:not([data-theme="dark"]) .sk-dock .sk-moon{display:none}
/* room under the last line of every page, so the dock never covers it */
body{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}
@media print{.sk-dock{display:none}body{padding-bottom:0}}
