/* ============================================================
   star-tokens — STATIC `--star-*` semantic color FLOOR (Star OS).
   ============================================================

   The `--star-*` closed token set (see @staros/theme design/tokens.ts) is the
   spine every app surface reads. At runtime `theme-apply.ts` injects the ACTIVE
   theme's `--star-*` values into `<style id="star-vars">` (appended LAST in
   <head>, so it overrides this block for every booted theme). But before JS
   boots — and in any standalone/external consumer (e.g. starkit) that mounts a
   `--star-*`-only app WITHOUT the web-shell theme runtime — there was NO static
   definition anywhere, so apps that adopted bare `var(--star-accent)` (dropping
   their `var(--star-*, var(--w98-*, …))` fallback chains, e.g. Research via #466)
   rendered UNSTYLED.

   This file is that floor: a complete, static `:root` definition of every
   `--star-*` token (and its `--starplane-*` alias), so a bare `var(--star-*)`
   ALWAYS resolves. Linked FIRST in <head> → lowest precedence among the static
   sheets → the runtime per-theme injection still wins when JS is present.

   IDENTITY = disarto (operator-selected Star OS identity, 2026-06-30; mirror of
   @mogos/starstyle disartoLight): a MONOCHROME canvas + a single flame-orange
   accent (#f5641e) + success-green; white cards floating on a faint off-white
   canvas via soft diffuse shadow (not borders); generous radius; mono-uppercase
   labels in IBM Plex Mono over a humanist sans. Anti-slop fence honored: ink is
   near-black (#0b0d0f, never #000); accent is orange (no blue→violet AI
   gradient); UI sans is the system humanist stack (never Inter).

   STAR-FAMILY CONSISTENCY (SS-LAUNCH-STARPORT-DESIGN, 2026-07-01) — Starport
   installs INSIDE Starosphere, so the two must read as ONE family. This floor
   adopts the consistent elements of Starport's Starpunk retrofuturist identity
   (02-PRODUCTS/starport/shared/tokens/brand.css + docs/design/DESIGN-SYSTEM.md)
   WITHOUT losing Starosphere's flagship disarto identity:
     • PAPER CANVAS — the cool gray canvas (#f4f5f7) is warmed toward Starport's
       Bond Paper (#F1EDE5) / Ledger Cream (#FAF7F0) register. Flagship-preserving
       choice: Starosphere keeps its signature PURE-WHITE floating cards
       (--star-surface stays #fff) over the shared warm paper canvas, where
       Starport uses cream cards — same family, distinct flagship.
     • CADMIUM ACCENT LADDER — flame (#f5641e) stays the flagship accent; the
       family adds Starport's AA-safe orange ramp (--star-accent-deep / -ink,
       Cadmium Deep #b76324 / Cadmium Ink #8d491c) for secondary + small-text
       orange. Same warm-orange family, one shared ramp.
     • BRASS PENDING — Starport's drafted/roadmap brass (--status-pending #e2b35c)
       joins the feedback set as --star-pending.
     • HAIRLINE RULE — Starport's ink-at-low-alpha divider (--rule-line) joins as
       --star-rule-line (the family's editorial hairline signature).
     • MOTION CONTRACT — Starport's federated named motion scale (Cold Press
       Settle signature curve + the snap/settle/arrive/unfold/dwell tiers +
       stagger) joins as --star-mo-*, so both products MOVE with one signature.
       The existing --star-dur-* / --star-ease are kept for back-compat.
   All additions are ADDITIVE to the closed --star-* contract set (a static floor,
   not a theme language), and every consumer keeps a terminal literal fallback
   (var(--star-X, <lit>)) so standalone surfaces still resolve.
*/
:root {
	/* ── surface — warm Star-family PAPER canvas, white flagship floating cards ──
	   Canvas warmed toward Starport Bond Paper (#F1EDE5); cards stay pure white
	   (Starosphere's flagship floating-card signature); sunken wells = Starport
	   Ledger Cream (#FAF7F0). ── */
	--star-bg: #f2eee6;
	--star-surface: #ffffff;
	--star-surface-raised: #ffffff;
	--star-surface-sunken: #faf7f0;
	--star-overlay: rgba(11, 13, 15, 0.45);
	/* Star-family paper register (Bond Paper / Ledger Cream) — opt-in surfaces
	   that want the shared cream rather than pure white read these. */
	--star-paper: #f2eee6;
	--star-paper-soft: #faf7f0;
	/* ── text — near-black ink, never pure #000 ── */
	--star-text: #0b0d0f;
	--star-text-muted: #6b7177;
	--star-text-inverse: #ffffff;
	/* ── accent — the single flame-orange flagship hue + on-accent ink ── */
	--star-accent: #f5641e;
	--star-accent-hover: #ff7536;
	--star-accent-on: #ffffff;
	/* CTA fill — the ONE solid call-to-action fill, paired with --star-accent-on
	   for measured AA at small text sizes (starstyle contract token accentCta).
	   Follows the committed conformance convention: the deep ramp step
	   (accent700-equivalent in light) = color-mix(in srgb, #f5641e 68%, black),
	   which reads a shade stronger than a plain accent surface (6.0:1 on white). */
	--star-accent-cta: #a74414;
	/* Star-family cadmium ladder (Starport Cadmium Deep / Cadmium Ink) — the
	   AA-safe warm-orange ramp for secondary accents (-deep) and small text on
	   paper (-ink). Flame above stays the flagship; this is the shared family
	   ramp both products draw from. */
	--star-accent-deep: #b76324;
	--star-accent-ink: #8d491c;
	/* ── border — hairlines from the ink at low alpha; focus = the flame ── */
	--star-border: rgba(11, 13, 15, 0.10);
	--star-border-strong: rgba(11, 13, 15, 0.18);
	--star-focus-ring: #f5641e;
	/* Star-family editorial hairline rule (Starport --rule-line: ink @ 18%) — the
	   divider/grid-stroke signature shared across the family. */
	--star-rule-line: rgba(11, 13, 15, 0.12);
	/* ── feedback — green ok, amber warn, red danger, slate info ── */
	--star-danger: #dc2626;
	--star-warn: #b45309;
	--star-ok: #16a34a;
	--star-info: #475569;
	/* Star-family pending status (Starport drafted/roadmap brass) — a fourth
	   feedback state for drafted/queued work, AA-paired ink for text on the swatch. */
	--star-pending: #e2b35c;
	--star-pending-ink: #7a5a2e;
	/* ── elevation — soft, diffuse, low-opacity (cards float on shadow) ── */
	--star-shadow-1: 0 1px 2px rgba(11, 13, 15, 0.04);
	--star-shadow-2: 0 1px 2px rgba(11, 13, 15, 0.04), 0 8px 24px -10px rgba(11, 13, 15, 0.10);
	--star-shadow-3: 0 24px 60px -24px rgba(11, 13, 15, 0.22);
	/* ── radius — generous instrument-bezel ── */
	--star-radius-window: 20px;
	--star-radius-control: 12px;
	--star-radius-sm: 10px;
	/* ── space (fixed: 4/8/12/16/24/32) ── */
	--star-space-1: 4px;
	--star-space-2: 8px;
	--star-space-3: 12px;
	--star-space-4: 16px;
	--star-space-5: 24px;
	--star-space-6: 32px;
	/* ── type — humanist sans titles + IBM Plex Mono labels (never Inter) ── */
	--star-font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, system-ui, sans-serif;
	--star-font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;
	--star-text-xs: 11px;
	--star-text-sm: 12px;
	--star-text-md: 13px;
	--star-text-lg: 16px;
	--star-text-xl: 22px;
	/* ── motion (GPU-safe: transform + opacity only) ── */
	--star-dur-fast: 90ms;
	--star-dur-base: 160ms;
	--star-dur-slow: 240ms;
	--star-ease: cubic-bezier(0.16, 1, 0.3, 1);
	/* ── Star-family motion contract (Starport federated "Cold Press Settle") ──
	   Named duration tiers + curve library shared across the family, so both
	   products move with one signature. The signature settle curve is a long-tail
	   decelerator (editorial restraint); the arrive curve is Starosphere's existing
	   easeOutExpo (--star-ease). GPU-safe — animate only transform/opacity/filter. */
	--star-mo-snap: 120ms; /* hover, focus-ring move, link color shift */
	--star-mo-settle: 240ms; /* button press, card lift, small state change */
	--star-mo-arrive: 480ms; /* modal emerge, sheet open, sticky backdrop */
	--star-mo-unfold: 720ms; /* scroll reveal, hero stride, section reveal */
	--star-mo-dwell: 1600ms; /* ambient breathe, ticker, idle glyph cycle */
	--star-mo-settle-curve: cubic-bezier(0.22, 0.61, 0.36, 1); /* signature — long-tail decel */
	--star-mo-arrive-curve: cubic-bezier(0.16, 1, 0.3, 1); /* sharp incoming, decisive landing */
	--star-mo-stagger: 60ms; /* choreography unit (transition/animation delay multiplier) */

	/* ── --starplane-* aliases (starkit's existing CSS reads these) ── */
	--starplane-bg: #f2eee6;
	--starplane-surface: #ffffff;
	--starplane-surface-raised: #ffffff;
	--starplane-surface-sunken: #faf7f0;
	--starplane-overlay: rgba(11, 13, 15, 0.45);
	--starplane-paper: #f2eee6;
	--starplane-paper-soft: #faf7f0;
	--starplane-text: #0b0d0f;
	--starplane-text-muted: #6b7177;
	--starplane-text-inverse: #ffffff;
	--starplane-accent: #f5641e;
	--starplane-accent-hover: #ff7536;
	--starplane-accent-on: #ffffff;
	--starplane-accent-cta: #a74414;
	--starplane-accent-deep: #b76324;
	--starplane-accent-ink: #8d491c;
	--starplane-border: rgba(11, 13, 15, 0.10);
	--starplane-border-strong: rgba(11, 13, 15, 0.18);
	--starplane-focus-ring: #f5641e;
	--starplane-rule-line: rgba(11, 13, 15, 0.12);
	--starplane-danger: #dc2626;
	--starplane-warn: #b45309;
	--starplane-ok: #16a34a;
	--starplane-info: #475569;
	--starplane-pending: #e2b35c;
	--starplane-pending-ink: #7a5a2e;
	--starplane-shadow-1: 0 1px 2px rgba(11, 13, 15, 0.04);
	--starplane-shadow-2: 0 1px 2px rgba(11, 13, 15, 0.04), 0 8px 24px -10px rgba(11, 13, 15, 0.10);
	--starplane-shadow-3: 0 24px 60px -24px rgba(11, 13, 15, 0.22);
	--starplane-radius-window: 20px;
	--starplane-radius-control: 12px;
	--starplane-radius-sm: 10px;
	--starplane-space-1: 4px;
	--starplane-space-2: 8px;
	--starplane-space-3: 12px;
	--starplane-space-4: 16px;
	--starplane-space-5: 24px;
	--starplane-space-6: 32px;
	--starplane-font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, system-ui, sans-serif;
	--starplane-font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;
	--starplane-text-xs: 11px;
	--starplane-text-sm: 12px;
	--starplane-text-md: 13px;
	--starplane-text-lg: 16px;
	--starplane-text-xl: 22px;
	--starplane-dur-fast: 90ms;
	--starplane-dur-base: 160ms;
	--starplane-dur-slow: 240ms;
	--starplane-ease: cubic-bezier(0.16, 1, 0.3, 1);
	--starplane-mo-snap: 120ms;
	--starplane-mo-settle: 240ms;
	--starplane-mo-arrive: 480ms;
	--starplane-mo-unfold: 720ms;
	--starplane-mo-dwell: 1600ms;
	--starplane-mo-settle-curve: cubic-bezier(0.22, 0.61, 0.36, 1);
	--starplane-mo-arrive-curve: cubic-bezier(0.16, 1, 0.3, 1);
	--starplane-mo-stagger: 60ms;
}
