/* Pantheon — 4KCSS: pure CSS, no SVG, no raster art, no WebGL/WebGPU.
   White Crown Enterprises — PROPRIETARY. 2026-10-12.
   Tokens mirror apps/helios/app/globals.css (the Chairman's reference), with the
   secondary text colour lightened to meet WCAG 2.2 AAA (7:1) on the background. */
:root {
  --bg: #050510; --bg-deep: #020208; --card: rgba(10,10,26,0.94); --card-edge: #2a2a5a;
  --gold: #d4af37; --gold-bright: #f3d878; --text: #f0f0f5; --text-dim: #c4c4dc;
  --green: #4ade80; --yellow: #facc15; --red: #fca5a5; --electric: #00d4ff;
  --sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono: ui-monospace, "SF Mono", "Cascadia Code", Menlo, monospace;
  --cube: min(86vw, 74vh, 56rem);
  --half: calc(var(--cube) / 2);
  --turn: 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  font-size: clamp(15px, 0.55vw + 11px, 26px);   /* rem scales cleanly up to 4K */
}
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--bg); color: var(--text); font-family: var(--sans); }
body { overflow-x: hidden; line-height: 1.5; }

.skip { position: absolute; left: -999rem; top: 0.5rem; padding: 0.6rem 1rem; background: var(--gold); color: #050510; z-index: 10; border-radius: 0.4rem; font-weight: 700; }
.skip:focus { left: 0.5rem; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* ---- cosmos: gradients + box-shadow stars, CSS keyframes only ---- */
.cosmos { position: fixed; inset: 0; z-index: 0; pointer-events: none; overflow: hidden;
  background: radial-gradient(ellipse at 20% 10%, #12123a 0%, transparent 55%),
              radial-gradient(ellipse at 85% 80%, #0b2a3a 0%, transparent 50%),
              linear-gradient(135deg, #0a0a2e 0%, #050520 50%, #020208 100%); }
.nebula { position: absolute; inset: -20%;
  background: conic-gradient(from 210deg at 60% 40%, rgba(124,58,237,0.18), rgba(6,182,212,0.12), rgba(212,175,55,0.10), rgba(124,58,237,0.18));
  filter: blur(4rem); animation: drift 60s linear infinite; }
.stars { position: absolute; left: 0; top: 0; width: 1px; height: 1px; border-radius: 50%; }
.stars-far { box-shadow:
    40.66vw 157.81vh 0 0.34px rgba(240,240,245,0.35),
    76.05vw 133.76vh 0 0.03px rgba(180,180,220,0.92),
    22.99vw 177.73vh 0 0.36px rgba(240,240,245,0.69),
    90.53vw 63.16vh 0 0.05px rgba(212,175,55,0.42),
    34.28vw 55.27vh 0 0.37px rgba(180,180,220,0.70),
    29.11vw 146.52vh 0 0.33px rgba(180,180,220,0.40),
    95.19vw 14.36vh 0 0.18px rgba(240,240,245,0.72),
    12.65vw 64.24vh 0 0.28px rgba(180,180,220,0.67),
    90.10vw 58.78vh 0 0.31px rgba(180,180,220,0.65),
    25.53vw 195.19vh 0 0.49px rgba(212,175,55,0.49),
    6.08vw 72.47vh 0 0.11px rgba(180,180,220,0.67),
    86.85vw 82.43vh 0 0.50px rgba(180,180,220,0.78),
    60.44vw 76.86vh 0 0.02px rgba(240,240,245,0.70),
    85.77vw 196.24vh 0 0.27px rgba(180,180,220,0.43),
    2.38vw 149.33vh 0 0.02px rgba(180,180,220,0.48),
    57.93vw 46.10vh 0 0.48px rgba(240,240,245,0.79),
    16.64vw 27.29vh 0 0.54px rgba(180,180,220,0.47),
    49.69vw 183.17vh 0 0.10px rgba(0,212,255,0.72),
    66.43vw 121.30vh 0 0.15px rgba(180,180,220,0.84),
    88.50vw 89.74vh 0 0.00px rgba(0,212,255,0.94),
    19.96vw 3.17vh 0 0.41px rgba(180,180,220,0.48),
    77.10vw 162.54vh 0 0.54px rgba(180,180,220,0.54),
    89.92vw 134.48vh 0 0.58px rgba(180,180,220,0.86),
    34.37vw 25.92vh 0 0.10px rgba(180,180,220,0.41),
    23.23vw 93.61vh 0 0.30px rgba(240,240,245,0.80),
    8.34vw 80.11vh 0 0.36px rgba(212,175,55,0.41),
    17.00vw 13.48vh 0 0.21px rgba(180,180,220,0.43),
    49.27vw 6.83vh 0 0.38px rgba(0,212,255,0.69),
    58.93vw 2.87vh 0 0.17px rgba(240,240,245,0.60),
    51.24vw 139.97vh 0 0.32px rgba(0,212,255,0.94),
    75.17vw 114.80vh 0 0.14px rgba(240,240,245,0.43),
    85.20vw 4.16vh 0 0.26px rgba(0,212,255,0.57),
    81.77vw 16.02vh 0 0.38px rgba(0,212,255,0.71),
    34.80vw 148.91vh 0 0.44px rgba(240,240,245,0.50),
    6.89vw 24.74vh 0 0.21px rgba(212,175,55,0.62),
    68.39vw 115.97vh 0 0.45px rgba(0,212,255,0.79),
    26.65vw 14.87vh 0 0.56px rgba(0,212,255,0.84),
    44.93vw 175.72vh 0 0.55px rgba(212,175,55,0.82),
    57.48vw 83.01vh 0 0.51px rgba(212,175,55,0.63),
    86.43vw 95.79vh 0 0.48px rgba(180,180,220,0.69),
    57.77vw 29.55vh 0 0.14px rgba(180,180,220,0.68),
    89.61vw 19.37vh 0 0.57px rgba(180,180,220,0.74),
    93.86vw 128.76vh 0 0.58px rgba(0,212,255,0.71),
    14.98vw 168.93vh 0 0.00px rgba(212,175,55,0.75),
    64.29vw 53.94vh 0 0.43px rgba(212,175,55,0.63),
    8.15vw 109.18vh 0 0.43px rgba(180,180,220,0.72),
    75.56vw 190.88vh 0 0.21px rgba(212,175,55,0.40),
    12.20vw 154.73vh 0 0.05px rgba(180,180,220,0.62),
    68.59vw 121.77vh 0 0.22px rgba(212,175,55,0.68),
    50.08vw 26.92vh 0 0.10px rgba(240,240,245,0.36),
    95.77vw 107.81vh 0 0.30px rgba(180,180,220,0.91),
    5.29vw 176.95vh 0 0.03px rgba(240,240,245,0.45),
    58.01vw 0.38vh 0 0.30px rgba(0,212,255,0.75),
    64.44vw 181.86vh 0 0.55px rgba(212,175,55,0.41),
    72.79vw 67.90vh 0 0.02px rgba(212,175,55,0.71),
    92.47vw 140.84vh 0 0.43px rgba(212,175,55,0.62),
    7.69vw 142.66vh 0 0.07px rgba(180,180,220,0.74),
    97.41vw 142.26vh 0 0.15px rgba(240,240,245,0.53),
    88.13vw 10.39vh 0 0.43px rgba(240,240,245,0.79),
    10.83vw 13.48vh 0 0.48px rgba(0,212,255,0.75),
    38.58vw 71.43vh 0 0.58px rgba(180,180,220,0.39),
    84.15vw 174.57vh 0 0.13px rgba(240,240,245,0.90),
    13.81vw 189.84vh 0 0.36px rgba(0,212,255,0.71),
    33.63vw 109.18vh 0 0.52px rgba(212,175,55,0.81),
    84.69vw 99.33vh 0 0.35px rgba(212,175,55,0.50),
    20.34vw 117.50vh 0 0.28px rgba(212,175,55,0.81),
    97.62vw 112.97vh 0 0.02px rgba(212,175,55,0.77),
    28.17vw 51.96vh 0 0.56px rgba(0,212,255,0.51),
    13.53vw 82.82vh 0 0.13px rgba(0,212,255,0.72),
    54.51vw 31.60vh 0 0.53px rgba(240,240,245,0.94),
    54.18vw 22.93vh 0 0.36px rgba(180,180,220,0.55),
    87.68vw 8.50vh 0 0.21px rgba(0,212,255,0.92),
    36.73vw 166.91vh 0 0.42px rgba(212,175,55,0.81),
    8.03vw 137.27vh 0 0.25px rgba(180,180,220,0.77),
    43.32vw 181.27vh 0 0.29px rgba(212,175,55,0.85),
    26.11vw 2.62vh 0 0.57px rgba(240,240,245,0.44),
    13.10vw 127.59vh 0 0.47px rgba(212,175,55,0.51),
    81.16vw 59.36vh 0 0.23px rgba(240,240,245,0.59),
    66.87vw 160.39vh 0 0.33px rgba(0,212,255,0.72),
    9.32vw 39.12vh 0 0.29px rgba(240,240,245,0.68),
    69.75vw 158.97vh 0 0.13px rgba(240,240,245,0.58),
    90.67vw 120.10vh 0 0.16px rgba(212,175,55,0.65),
    82.19vw 133.74vh 0 0.55px rgba(0,212,255,0.61),
    37.68vw 11.51vh 0 0.15px rgba(0,212,255,0.46),
    91.21vw 104.36vh 0 0.54px rgba(180,180,220,0.45),
    38.99vw 28.94vh 0 0.17px rgba(0,212,255,0.50),
    6.58vw 26.89vh 0 0.40px rgba(180,180,220,0.84),
    29.78vw 163.69vh 0 0.28px rgba(240,240,245,0.92),
    11.73vw 173.61vh 0 0.24px rgba(240,240,245,0.79),
    53.14vw 59.51vh 0 0.28px rgba(212,175,55,0.36),
    94.43vw 28.07vh 0 0.20px rgba(212,175,55,0.60),
    79.19vw 33.37vh 0 0.09px rgba(180,180,220,0.94),
    29.78vw 149.93vh 0 0.24px rgba(0,212,255,0.80),
    24.22vw 20.61vh 0 0.43px rgba(0,212,255,0.78),
    71.30vw 30.91vh 0 0.14px rgba(180,180,220,0.91),
    65.81vw 38.02vh 0 0.02px rgba(240,240,245,0.63),
    36.71vw 40.44vh 0 0.46px rgba(212,175,55,0.46),
    36.66vw 59.75vh 0 0.01px rgba(240,240,245,0.48),
    20.89vw 85.69vh 0 0.16px rgba(240,240,245,0.86),
    80.42vw 95.87vh 0 0.03px rgba(0,212,255,0.88),
    86.39vw 85.75vh 0 0.21px rgba(0,212,255,0.70),
    82.72vw 22.31vh 0 0.54px rgba(240,240,245,0.55),
    74.80vw 21.10vh 0 0.55px rgba(240,240,245,0.55),
    83.24vw 12.75vh 0 0.18px rgba(0,212,255,0.59),
    74.28vw 89.15vh 0 0.03px rgba(240,240,245,0.75),
    51.18vw 118.75vh 0 0.46px rgba(180,180,220,0.75),
    18.65vw 12.00vh 0 0.19px rgba(240,240,245,0.71),
    71.42vw 110.80vh 0 0.53px rgba(212,175,55,0.76),
    64.30vw 158.65vh 0 0.45px rgba(240,240,245,0.93),
    99.86vw 198.31vh 0 0.31px rgba(212,175,55,0.60),
    91.32vw 155.13vh 0 0.03px rgba(0,212,255,0.70),
    98.05vw 58.96vh 0 0.25px rgba(0,212,255,0.83),
    34.35vw 123.90vh 0 0.19px rgba(0,212,255,0.81),
    99.25vw 32.81vh 0 0.07px rgba(240,240,245,0.44),
    81.14vw 57.20vh 0 0.54px rgba(240,240,245,0.75),
    88.56vw 146.95vh 0 0.39px rgba(212,175,55,0.94),
    40.43vw 21.41vh 0 0.52px rgba(240,240,245,0.92),
    83.32vw 87.94vh 0 0.36px rgba(0,212,255,0.59),
    12.36vw 166.14vh 0 0.13px rgba(240,240,245,0.63),
    90.10vw 8.92vh 0 0.26px rgba(212,175,55,0.38),
    42.88vw 113.92vh 0 0.23px rgba(0,212,255,0.71),
    39.34vw 84.76vh 0 0.51px rgba(0,212,255,0.40),
    15.73vw 21.29vh 0 0.22px rgba(212,175,55,0.42),
    26.50vw 160.31vh 0 0.51px rgba(212,175,55,0.64),
    51.63vw 146.37vh 0 0.54px rgba(212,175,55,0.42),
    15.14vw 59.17vh 0 0.11px rgba(180,180,220,0.63),
    28.35vw 29.42vh 0 0.09px rgba(180,180,220,0.60),
    4.56vw 168.06vh 0 0.48px rgba(0,212,255,0.61),
    63.83vw 127.01vh 0 0.12px rgba(0,212,255,0.46),
    39.65vw 71.47vh 0 0.30px rgba(212,175,55,0.47),
    70.71vw 173.40vh 0 0.30px rgba(0,212,255,0.67),
    11.70vw 191.58vh 0 0.09px rgba(180,180,220,0.39),
    18.93vw 125.99vh 0 0.19px rgba(180,180,220,0.36),
    14.16vw 192.62vh 0 0.29px rgba(240,240,245,0.83),
    25.32vw 146.06vh 0 0.13px rgba(0,212,255,0.43),
    74.40vw 13.61vh 0 0.46px rgba(0,212,255,0.36),
    63.28vw 10.83vh 0 0.13px rgba(0,212,255,0.71),
    31.53vw 133.76vh 0 0.14px rgba(0,212,255,0.95),
    89.70vw 72.84vh 0 0.51px rgba(240,240,245,0.82),
    52.00vw 155.32vh 0 0.38px rgba(180,180,220,0.36);
  animation: twinkle 7s ease-in-out infinite alternate, rise 240s linear infinite; }
.stars-near { box-shadow:
    25.71vw 171.22vh 0 1.27px rgba(212,175,55,0.45),
    1.76vw 88.00vh 0 0.18px rgba(212,175,55,0.76),
    14.92vw 153.58vh 0 1.37px rgba(180,180,220,0.77),
    42.45vw 129.89vh 0 0.38px rgba(0,212,255,0.42),
    56.56vw 42.77vh 0 0.10px rgba(240,240,245,0.47),
    80.50vw 112.61vh 0 1.37px rgba(212,175,55,0.43),
    54.92vw 162.35vh 0 1.02px rgba(240,240,245,0.74),
    6.48vw 164.32vh 0 1.35px rgba(180,180,220,0.83),
    9.23vw 195.68vh 0 0.29px rgba(0,212,255,0.90),
    80.20vw 90.95vh 0 0.72px rgba(240,240,245,0.67),
    74.95vw 117.50vh 0 0.31px rgba(0,212,255,0.80),
    5.67vw 101.39vh 0 0.66px rgba(0,212,255,0.88),
    26.37vw 133.82vh 0 0.33px rgba(0,212,255,0.86),
    25.74vw 21.62vh 0 1.05px rgba(212,175,55,0.83),
    76.42vw 0.03vh 0 1.19px rgba(180,180,220,0.49),
    53.99vw 185.29vh 0 0.79px rgba(240,240,245,0.91),
    15.91vw 130.67vh 0 0.76px rgba(212,175,55,0.35),
    32.73vw 114.01vh 0 0.86px rgba(180,180,220,0.78),
    72.85vw 131.26vh 0 0.50px rgba(180,180,220,0.36),
    38.20vw 19.49vh 0 0.47px rgba(180,180,220,0.60),
    58.19vw 5.43vh 0 0.83px rgba(0,212,255,0.69),
    24.49vw 143.19vh 0 0.15px rgba(212,175,55,0.72),
    38.18vw 132.76vh 0 0.15px rgba(212,175,55,0.53),
    76.53vw 66.74vh 0 0.73px rgba(180,180,220,0.85),
    98.40vw 125.28vh 0 0.39px rgba(240,240,245,0.49),
    75.87vw 150.66vh 0 0.28px rgba(240,240,245,0.69),
    31.64vw 48.85vh 0 1.31px rgba(0,212,255,0.82),
    14.88vw 96.72vh 0 1.34px rgba(212,175,55,0.62),
    57.14vw 184.23vh 0 1.28px rgba(180,180,220,0.92),
    9.69vw 157.66vh 0 0.96px rgba(212,175,55,0.72),
    45.52vw 149.02vh 0 0.88px rgba(180,180,220,0.83),
    65.24vw 49.22vh 0 1.28px rgba(180,180,220,0.66),
    12.12vw 4.52vh 0 1.26px rgba(180,180,220,0.93),
    69.72vw 186.85vh 0 0.87px rgba(212,175,55,0.62),
    29.31vw 115.66vh 0 0.36px rgba(0,212,255,0.86),
    81.67vw 155.56vh 0 0.59px rgba(0,212,255,0.62),
    64.44vw 71.63vh 0 0.17px rgba(240,240,245,0.67),
    42.12vw 100.41vh 0 1.18px rgba(240,240,245,0.51),
    8.29vw 86.10vh 0 1.39px rgba(0,212,255,0.75),
    27.95vw 138.12vh 0 0.01px rgba(180,180,220,0.68),
    5.27vw 187.32vh 0 0.61px rgba(180,180,220,0.67),
    59.09vw 160.40vh 0 0.40px rgba(180,180,220,0.44),
    25.75vw 135.10vh 0 0.37px rgba(0,212,255,0.59),
    10.25vw 82.77vh 0 0.74px rgba(212,175,55,0.82),
    34.18vw 174.59vh 0 0.96px rgba(180,180,220,0.66),
    91.76vw 143.12vh 0 1.09px rgba(180,180,220,0.79),
    53.99vw 168.53vh 0 0.51px rgba(0,212,255,0.50),
    46.98vw 66.24vh 0 0.35px rgba(212,175,55,0.47),
    22.98vw 191.85vh 0 0.85px rgba(180,180,220,0.60),
    35.84vw 69.06vh 0 0.80px rgba(240,240,245,0.94),
    80.98vw 5.02vh 0 1.11px rgba(212,175,55,0.64),
    12.03vw 10.37vh 0 0.85px rgba(212,175,55,0.72),
    3.40vw 124.86vh 0 0.60px rgba(240,240,245,0.61),
    47.62vw 136.09vh 0 0.92px rgba(240,240,245,0.57),
    21.69vw 138.90vh 0 0.97px rgba(180,180,220,0.53),
    52.23vw 49.43vh 0 1.34px rgba(240,240,245,0.38),
    94.55vw 68.95vh 0 0.14px rgba(0,212,255,0.62),
    32.07vw 142.54vh 0 0.52px rgba(180,180,220,0.58),
    28.15vw 116.74vh 0 0.69px rgba(212,175,55,0.52),
    36.21vw 143.32vh 0 0.55px rgba(240,240,245,0.93);
  animation: twinkle 4s ease-in-out infinite alternate, rise 120s linear infinite; }
@keyframes drift { to { transform: rotate(360deg); } }
@keyframes twinkle { from { opacity: 0.55; } to { opacity: 1; } }
@keyframes rise { from { transform: translateY(0); } to { transform: translateY(-100vh); } }

/* ---- brand: CSS-drawn crown ---- */
.brand { position: relative; z-index: 1; text-align: center; padding: 1.4rem 1rem 0.2rem; }
.brand h1 { margin: 0.2rem 0 0; font-size: 2.6rem; letter-spacing: 0.32em; font-weight: 300;
  background: linear-gradient(180deg, var(--gold-bright), var(--gold) 60%, #a08520);
  -webkit-background-clip: text; background-clip: text; color: transparent; text-transform: uppercase; }
.tagline { margin: 0.3rem 0 0; color: var(--text-dim); letter-spacing: 0.12em; font-size: 0.9rem; }
.crown { width: 4.2rem; height: 3rem; margin: 0 auto; position: relative; filter: drop-shadow(0 0 0.8rem rgba(212,175,55,0.45)); animation: glow 4s ease-in-out infinite alternate; }
.crown::before { content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, var(--gold-bright), var(--gold) 55%, #8a6d12);
  clip-path: polygon(0 100%, 0 30%, 18% 62%, 32% 8%, 50% 52%, 68% 8%, 82% 62%, 100% 30%, 100% 100%); }
.crown::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 18%;
  background: linear-gradient(90deg, #8a6d12, var(--gold-bright), #8a6d12); border-radius: 0.15rem; }
.crown span { position: absolute; left: 50%; top: 42%; width: 0.6rem; height: 0.6rem; transform: translateX(-50%) rotate(45deg);
  background: radial-gradient(circle at 30% 30%, #b8f4ff, var(--electric) 60%, #006a88); box-shadow: 0 0 0.6rem var(--electric); }
@keyframes glow { to { filter: drop-shadow(0 0 1.4rem rgba(212,175,55,0.75)); } }

main { position: relative; z-index: 1; }
.howto { text-align: center; color: var(--text-dim); margin: 0.6rem auto 0; max-width: 44rem; padding: 0 1rem; font-size: 0.92rem; }

/* ---- the cube: CSS 3D transforms ---- */
.stage { position: relative; width: var(--cube); height: var(--cube); margin: 1.2rem auto 1rem; perspective: calc(var(--cube) * 3); touch-action: pan-y; }
.cube { position: absolute; inset: 0; transform-style: preserve-3d; transition: transform var(--turn); outline: none; }
.cube[data-face="morpheus"]  { transform: translateZ(calc(-1 * var(--half))) rotateY(0deg); }
.cube[data-face="ariex"]     { transform: translateZ(calc(-1 * var(--half))) rotateY(-90deg); }
.cube[data-face="cradle"]    { transform: translateZ(calc(-1 * var(--half))) rotateY(-180deg); }
.cube[data-face="inference"] { transform: translateZ(calc(-1 * var(--half))) rotateY(90deg); }
.cube[data-face="obsidian"]  { transform: translateZ(calc(-1 * var(--half))) rotateX(-90deg); }
.cube[data-face="suite"]     { transform: translateZ(calc(-1 * var(--half))) rotateX(90deg); }
.tabs { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

.face { position: absolute; inset: 0; padding: 1.4rem 1.6rem; overflow: auto; backface-visibility: hidden;
  background: linear-gradient(160deg, rgba(14,14,36,0.97), var(--card));
  border: 1px solid var(--card-edge); border-radius: 1.2rem;
  box-shadow: inset 0 0 2.5rem rgba(0,212,255,0.06), 0 0 2.2rem rgba(0,0,0,0.6);
  /* A 3D-transformed face did not clip its overflow: a tall face (the Suite's
     identity list) painted past the cube onto the footer (seen 2026-10-13).
     clip-path forces the clip; the face then scrolls within itself. */
  clip-path: inset(0 round 1.2rem); overscroll-behavior: contain; }
.face::before { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background: linear-gradient(115deg, transparent 40%, rgba(212,175,55,0.08) 50%, transparent 60%); background-size: 250% 100%;
  animation: sheen 9s ease-in-out infinite; }
@keyframes sheen { 0%, 100% { background-position: 120% 0; } 50% { background-position: -20% 0; } }
.face-front  { transform: rotateY(0deg)   translateZ(var(--half)); }
.face-right  { transform: rotateY(90deg)  translateZ(var(--half)); }
.face-back   { transform: rotateY(180deg) translateZ(var(--half)); }
.face-left   { transform: rotateY(-90deg) translateZ(var(--half)); }
.face-top    { transform: rotateX(90deg)  translateZ(var(--half)); }
.face-bottom { transform: rotateX(-90deg) translateZ(var(--half)); }

.face h2 { margin: 0 0 0.4rem; font-size: 1.7rem; font-weight: 500; letter-spacing: 0.06em; display: flex; align-items: center; gap: 0.7rem; color: var(--gold-bright); outline: none; }
.face h2:focus-visible { outline: 3px solid var(--gold-bright); outline-offset: 0.3rem; border-radius: 0.3rem; }
.status { margin: 0 0 0.9rem; font-size: 1.02rem; color: var(--text); }
.status[data-tone="ok"]::before, .status[data-tone="warn"]::before, .status[data-tone="bad"]::before {
  content: ""; display: inline-block; width: 0.7rem; height: 0.7rem; border-radius: 50%; margin-right: 0.55rem; vertical-align: 0.05rem; }
.status[data-tone="ok"]::before   { background: var(--green);  box-shadow: 0 0 0.6rem var(--green); }
.status[data-tone="warn"]::before { background: var(--yellow); box-shadow: 0 0 0.6rem var(--yellow); }
.status[data-tone="bad"]::before  { background: var(--red);    box-shadow: 0 0 0.6rem var(--red); }

.readouts { display: grid; grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr)); gap: 0.55rem 1rem; margin: 0 0 1rem; }
.readouts div { padding: 0.55rem 0.7rem; border-radius: 0.6rem; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.06); }
.readouts dt { font-size: 0.78rem; color: var(--text-dim); letter-spacing: 0.04em; }
.readouts dd { margin: 0.1rem 0 0; font-family: var(--mono); font-size: 1.02rem; color: var(--text); overflow-wrap: anywhere; }
.list { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: 0.35rem; }
.list li { padding: 0.45rem 0.7rem; border-radius: 0.5rem; background: rgba(255,255,255,0.03); font-size: 0.92rem; }
.list li[data-ok="false"] { border-left: 0.25rem solid var(--red); }
.list li[data-ok="true"]  { border-left: 0.25rem solid var(--green); }

.actions { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 0.4rem; }
.actions button, .actions a { font: inherit; font-size: 0.92rem; color: var(--text); background: rgba(212,175,55,0.10);
  border: 1px solid rgba(212,175,55,0.55); border-radius: 0.6rem; padding: 0.5rem 0.9rem; cursor: pointer; text-decoration: none; min-height: 2.75rem; min-width: 2.75rem; }
.actions button:hover, .actions a:hover { background: rgba(212,175,55,0.2); }
.actions button:focus-visible, .actions a:focus-visible, input:focus-visible, .cube:focus-visible, [role="tab"]:focus-visible {
  outline: 3px solid var(--gold-bright); outline-offset: 3px; }
.name-form label { display: block; font-weight: 600; margin-bottom: 0.3rem; }
.name-form input { font: inherit; width: 100%; max-width: 26rem; padding: 0.55rem 0.7rem; border-radius: 0.5rem; border: 1px solid var(--card-edge); background: #0b0b20; color: var(--text); }
.help { color: var(--text-dim); font-size: 0.85rem; margin: 0.3rem 0 0.6rem; }

/* ---- CSS-drawn face glyphs ---- */
.glyph { width: 1.6rem; height: 1.6rem; display: inline-block; position: relative; flex: none; }
.glyph-morpheus { border-radius: 50%; background: conic-gradient(from 0deg, #7c3aed, var(--electric), #7c3aed); box-shadow: 0 0 0.8rem rgba(124,58,237,0.7); }
.glyph-morpheus::after { content: ""; position: absolute; inset: 28%; border-radius: 50%; background: var(--bg); }
.glyph-ariex { background: linear-gradient(135deg, #4ade80, #0f766e); clip-path: polygon(50% 0, 100% 38%, 82% 100%, 18% 100%, 0 38%); }
.glyph-cradle { border-radius: 0 0 1rem 1rem; border: 0.22rem solid var(--gold); border-top: none; }
.glyph-cradle::after { content: ""; position: absolute; left: 30%; top: 10%; width: 40%; height: 40%; border-radius: 50%; background: radial-gradient(circle, var(--gold-bright), var(--gold)); }
.glyph-inference { background: repeating-linear-gradient(90deg, var(--electric) 0 0.18rem, transparent 0.18rem 0.42rem); border-radius: 0.2rem; box-shadow: 0 0 0.6rem rgba(0,212,255,0.5); }
.glyph-obsidian { background: linear-gradient(160deg, #3b3b55, #0b0b14); clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); box-shadow: inset 0 0 0.4rem var(--electric); }
.glyph-suite { border-radius: 0.3rem; background: linear-gradient(var(--gold), var(--gold)) center/100% 0.2rem no-repeat, linear-gradient(var(--gold), var(--gold)) center/0.2rem 100% no-repeat; border: 0.18rem solid var(--gold); }

.foot { position: relative; z-index: 1; text-align: center; color: var(--text-dim); font-size: 0.8rem; padding: 0.4rem 0 1.4rem; }

/* Reduced motion: cut between faces instead of rotating; no ambient animation. */
@media (prefers-reduced-motion: reduce) {
  .cube { transition: none; }
  .nebula, .stars, .crown, .face::before { animation: none; }
}
/* Forced colours (Windows high contrast): keep structure visible. */
@media (forced-colors: active) {
  .face { border: 2px solid CanvasText; }
  .status::before { forced-color-adjust: none; }
}
