:root {
  color-scheme: dark;
  --ks-red: #ff2a3c; --bg: #090b10; --panel: #12161e; --text: #eef1f6; --muted: #a6b0c1;
  --border: #2b3342; --soft: #1b2330; --accent: #d7e8f5; --accent-ink: #111721;
  --error: #ffb5bc; --error-bg: #301b23;
  font: 400 15px/1.6 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--bg); color: var(--text);
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; min-height: 100vh; background: radial-gradient(ellipse at 19% 35%, #141b292e, transparent 55%), var(--bg); }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
a { color: var(--accent); text-underline-offset: 4px; }
button, .button { display: inline-flex; justify-content: center; align-items: center; min-height: 44px; padding: 10px 16px; border: 1px solid var(--border); border-radius: 10px; background: var(--panel); color: var(--text); cursor: pointer; text-decoration: none; font-weight: 500; transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease; }
button:hover, .button:hover { background: var(--soft); border-color: #64748b; }
button.primary { background: linear-gradient(115deg, #f2eaf4, #d7e8f5 65%, #d8efea); border-color: #e1e8f1; color: var(--accent-ink); box-shadow: 0 2px 16px #c9def00c; }
button.primary:hover { background: #f0f5fa; box-shadow: 0 3px 22px #c9def01c; }
button:disabled { opacity: .55; cursor: default; }
:focus-visible { outline: 3px solid #b9dbff; outline-offset: 4px; }
h1, h2, h3, p { margin: 0; }
h1 { font-size: clamp(28px, 4vw, 36px); line-height: 1.2; font-weight: 500; letter-spacing: -.045em; }
h2 { font-size: 21px; line-height: 1.3; font-weight: 500; letter-spacing: -.025em; }
h3 { font-size: 16px; font-weight: 600; }
p, dd, code { overflow-wrap: anywhere; }
.muted, .hint { color: var(--muted); }
.hint { font-size: 13px; }
.site-header { min-height: 88px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; padding: 20px max(28px, calc((100vw - 1160px) / 2)); border-bottom: 1px solid #2b334280; }
.brand { display: inline-flex; align-items: center; gap: 12px; font-size: 18px; font-weight: 500; letter-spacing: -.025em; color: var(--text); text-decoration: none; }
.monogram { display: block; width: 38px; aspect-ratio: 870 / 575; }
.monogram img { display: block; width: 100%; height: 100%; object-fit: contain; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
/* Public entry screen. The member panels retain their existing layout. */
.auth-scene { position: fixed; inset: 0; overflow: hidden; pointer-events: none; background: #06080e; }
.zed-visual { position: absolute; width: max(100%, calc(100svh * 1672 / 941)); aspect-ratio: 1672 / 941; left: 42%; top: 40%; transform: translate(-42%, -40%); }
.zed-motion { position: relative; width: 100%; height: 100%; transform-origin: 28% 38%; }
.zed-art { display: block; width: 100%; height: 100%; opacity: .88; }
.scene-shade { position: absolute; inset: 0; background: linear-gradient(90deg, #06080e12 0%, #06080e00 33%, #06080e35 57%, #06080edd 85%), linear-gradient(0deg, #06080eeb 0%, #06080e10 48%, #06080e36 100%); }
.scene-aura { position: absolute; width: 49vw; height: 64vh; left: 4%; top: 9%; background: radial-gradient(ellipse at 37% 32%, #ff2a3c24, #ff2a3c09 32%, transparent 66%); mix-blend-mode: screen; }
.zed-energy { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.armor-energy { opacity: .78; }
.armor-glow { stroke-width: 3; opacity: .12; }
.blade-flow { stroke: #ffc0c7; stroke-width: 1.5; stroke-dasharray: 5 95; opacity: 0; }
.blade-lightning { stroke-width: 1.4; opacity: 0; }
.ember { opacity: 0; }
.ember:nth-child(3n) { animation-duration: 8s; }
.ember:nth-child(3n + 1) { animation-duration: 5.5s; }
.ember:nth-child(2) { animation-delay: -1.2s; }
.ember:nth-child(3) { animation-delay: -3.4s; }
.ember:nth-child(4) { animation-delay: -2s; }
.ember:nth-child(5) { animation-delay: -5.8s; }
.ember:nth-child(6) { animation-delay: -4.1s; }
.ember:nth-child(7) { animation-delay: -1.7s; }
.ember:nth-child(8) { animation-delay: -6.2s; }
.ember:nth-child(9) { animation-delay: -4.7s; }
.ember:nth-child(10) { animation-delay: -3s; }
.ember:nth-child(11) { animation-delay: -2.3s; }
.ember:nth-child(12) { animation-delay: -5s; }
.scene-mist { position: absolute; width: 65%; height: 30%; left: -12%; top: 49%; opacity: .16; background: radial-gradient(ellipse, #a0b5cb25, transparent 64%); }
.mist-two { left: 2%; top: 14%; width: 54%; height: 26%; opacity: .1; }
.scene-spark { position: absolute; width: 3px; height: 3px; border-radius: 50%; background: #ff2a3c; box-shadow: 0 0 6px #ff2a3c80; opacity: 0; }
.spark-one { left: 23%; top: 28%; }
.spark-two { left: 41%; top: 45%; width: 2px; height: 2px; background: #ff2a3c; }
.spark-three { left: 46%; top: 60%; width: 2px; height: 2px; }
[data-animation-ready] .zed-motion { animation: zed-drift 24s ease-in-out infinite; }
[data-animation-ready] .scene-aura { animation: scene-breathe 8s ease-in-out infinite; }
.site-header, .layout, .notice, .noscript { position: relative; }
body:has(.layout:not(.member)) { background: #06080e; }
body:has(.layout:not(.member)) .site-header { min-height: 76px; padding: 22px max(40px, calc((100vw - 1160px) / 2)); border-bottom-color: #c1d7f00b; }
body:has(.layout:not(.member)) .brand { font-size: 13px; font-weight: 650; text-transform: uppercase; letter-spacing: .18em; gap: 13px; }
.header-right { display: flex; align-items: center; gap: 16px; }
.portal-label { display: flex; align-items: center; gap: 9px; color: #c1c6d2; font: 500 10px/1 monospace; letter-spacing: .13em; text-transform: uppercase; }
.portal-dot { width: 5px; height: 5px; background: #ff2a3c; border-radius: 50%; box-shadow: 0 0 9px #ff2a3c40; }
body:has(.layout.member) .auth-scene, body:has(.layout.member) .portal-label { display: none; }
.layout { max-width: 1200px; margin: auto; }
.layout:not(.member) { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); align-items: center; min-height: calc(100svh - 76px); }
.layout:not(.member) > main { grid-column: 2; }
.layout.session-loading > main { grid-column: 1 / -1; text-align: center; }
body:has(.layout.session-loading) .auth-scene { display: none; }
.brand-stage { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; align-self: stretch; padding: 42px 44px 54px; }
.brand-art { position: relative; width: clamp(140px, 16vw, 205px); aspect-ratio: 870 / 575; isolation: isolate; }
.ks-logo-animation { display: block; width: 100%; height: 100%; overflow: visible; }
/* Original A3 Pearl motion: 4 s, 35% hold, synchronized 80-sample red contour trace. */
.ks-pearl-drift { transform: translateX(0); }
.ks-slide-k { transform: translate(57px, -2px); }
.ks-slide-s { transform: translate(-18px, -3px); }
.ks-trace { filter: drop-shadow(0 0 4px #ff2a3c) drop-shadow(0 0 14px #ff2a3cb3); }
[data-animation-ready] .ks-pearl-drift { animation: ks-pearl-drift 14s ease-in-out infinite; }
[data-animation-ready] .ks-slide-k { animation: ks-slide-k 4s linear infinite; }
[data-animation-ready] .ks-slide-s { animation: ks-slide-s 4s linear infinite; }
[data-animation-ready] .ks-trace-k { animation: ks-trace-k 4s linear infinite; }
[data-animation-ready] .ks-trace-s { animation: ks-trace-s 4s linear infinite; }
[data-animation-paused] *, [data-animation-paused] *::before, [data-animation-paused] *::after { animation-play-state: paused !important; }
.brand-wordmark { margin-top: 13px; font-size: clamp(32px, 3.5vw, 45px); font-weight: 750; line-height: 1.05; letter-spacing: -.055em; color: #edf4f8; text-shadow: 0 3px 20px #0006; }
.brand-dot { color: #ff2a3c; }
.brand-caption { margin-top: 10px; color: #c4d0de; font-size: 16px; letter-spacing: .015em; }
.brand-coordinate { margin-top: 26px; font: 400 9px/1.4 monospace; letter-spacing: .18em; color: #9fa9ba; }
@keyframes zed-drift { 0%, 100% { transform: scale(1.025) translate(0, .3%) rotate(-.2deg); } 35% { transform: scale(1.065) translate(-.8%, -.5%) rotate(.15deg); } 70% { transform: scale(1.04) translate(.4%, -.2%) rotate(-.1deg); } }
@keyframes scene-breathe { 0%, 100% { opacity: .4; transform: scale(.96); } 50% { opacity: .95; transform: scale(1.12); } }
@keyframes armor-pulse { 0%, 100% { opacity: .1; } 45% { opacity: .48; } 65% { opacity: .2; } }
@keyframes blade-flow { 0% { opacity: 0; stroke-dashoffset: 8; } 15%, 65% { opacity: .8; } 85%, 100% { opacity: 0; stroke-dashoffset: -100; } }
@keyframes blade-lightning { 0%, 36%, 52%, 100% { opacity: 0; } 40% { opacity: .65; } 43% { opacity: .08; } 47% { opacity: .42; } }
@keyframes ember-drift { 0% { opacity: 0; transform: translate(0, 8px) scale(.6); } 18% { opacity: .85; } 65% { opacity: .5; } 100% { opacity: 0; transform: translate(-48px, -110px) scale(.2); } }
@keyframes mist-drift { 0%, 100% { transform: translate(-4%, 3%) scale(.95); opacity: .1; } 50% { transform: translate(12%, -5%) scale(1.15); opacity: .24; } }
@keyframes spark-rise { 0%, 100% { opacity: 0; transform: translate(0, 12px); } 35% { opacity: .6; } 75% { opacity: 0; transform: translate(15px, -35px); } }
@keyframes ks-pearl-drift { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(-1690px); } }
@keyframes ks-slide-k { 0%, 35% { transform: translate(57px, -2px); animation-timing-function: cubic-bezier(.65,0,.35,1); } 41%, 94% { transform: translate(0,0); animation-timing-function: cubic-bezier(.65,0,.35,1); } 100% { transform: translate(57px, -2px); } }
@keyframes ks-slide-s { 0%, 35% { transform: translate(-18px, -3px); animation-timing-function: cubic-bezier(.65,0,.35,1); } 41%, 94% { transform: translate(0,0); animation-timing-function: cubic-bezier(.65,0,.35,1); } 100% { transform: translate(-18px, -3px); } }
@keyframes ks-trace-k {
  0%,35% { stroke-dashoffset: 0; }
  35.81% { stroke-dashoffset: -0.03; }
  36.62% { stroke-dashoffset: -0.22; }
  37.44% { stroke-dashoffset: -0.74; }
  38.25% { stroke-dashoffset: -1.75; }
  39.06% { stroke-dashoffset: -3.41; }
  39.88% { stroke-dashoffset: -5.89; }
  40.69% { stroke-dashoffset: -9.36; }
  41.50% { stroke-dashoffset: -13.97; }
  42.31% { stroke-dashoffset: -19.89; }
  43.12% { stroke-dashoffset: -27.29; }
  43.94% { stroke-dashoffset: -36.32; }
  44.75% { stroke-dashoffset: -47.15; }
  45.56% { stroke-dashoffset: -59.95; }
  46.38% { stroke-dashoffset: -74.87; }
  47.19% { stroke-dashoffset: -92.09; }
  48.00% { stroke-dashoffset: -111.76; }
  48.81% { stroke-dashoffset: -134.05; }
  49.62% { stroke-dashoffset: -159.13; }
  50.44% { stroke-dashoffset: -187.15; }
  51.25% { stroke-dashoffset: -218.28; }
  52.06% { stroke-dashoffset: -252.69; }
  52.88% { stroke-dashoffset: -290.54; }
  53.69% { stroke-dashoffset: -331.98; }
  54.50% { stroke-dashoffset: -377.19; }
  55.31% { stroke-dashoffset: -426.34; }
  56.12% { stroke-dashoffset: -479.57; }
  56.94% { stroke-dashoffset: -537.06; }
  57.75% { stroke-dashoffset: -598.97; }
  58.56% { stroke-dashoffset: -665.47; }
  59.38% { stroke-dashoffset: -716.01; }
  60.19% { stroke-dashoffset: -749.23; }
  61.00% { stroke-dashoffset: -784.66; }
  61.81% { stroke-dashoffset: -822.37; }
  62.62% { stroke-dashoffset: -862.44; }
  63.44% { stroke-dashoffset: -904.94; }
  64.25% { stroke-dashoffset: -949.94; }
  65.06% { stroke-dashoffset: -997.51; }
  65.88% { stroke-dashoffset: -1047.72; }
  66.69% { stroke-dashoffset: -1100.64; }
  67.50% { stroke-dashoffset: -1156.35; }
  68.31% { stroke-dashoffset: -1212.06; }
  69.12% { stroke-dashoffset: -1264.98; }
  69.94% { stroke-dashoffset: -1315.19; }
  70.75% { stroke-dashoffset: -1362.76; }
  71.56% { stroke-dashoffset: -1407.76; }
  72.38% { stroke-dashoffset: -1450.25; }
  73.19% { stroke-dashoffset: -1490.33; }
  74.00% { stroke-dashoffset: -1528.04; }
  74.81% { stroke-dashoffset: -1563.47; }
  75.62% { stroke-dashoffset: -1596.68; }
  76.44% { stroke-dashoffset: -1627.76; }
  77.25% { stroke-dashoffset: -1656.76; }
  78.06% { stroke-dashoffset: -1683.76; }
  78.88% { stroke-dashoffset: -1708.84; }
  79.69% { stroke-dashoffset: -1732.06; }
  80.50% { stroke-dashoffset: -1753.49; }
  81.31% { stroke-dashoffset: -1773.21; }
  82.12% { stroke-dashoffset: -1807.90; }
  82.94% { stroke-dashoffset: -1845.75; }
  83.75% { stroke-dashoffset: -1880.15; }
  84.56% { stroke-dashoffset: -1911.29; }
  85.38% { stroke-dashoffset: -1939.31; }
  86.19% { stroke-dashoffset: -1964.38; }
  87.00% { stroke-dashoffset: -1986.68; }
  87.81% { stroke-dashoffset: -2006.35; }
  88.62% { stroke-dashoffset: -2023.57; }
  89.44% { stroke-dashoffset: -2038.49; }
  90.25% { stroke-dashoffset: -2051.29; }
  91.06% { stroke-dashoffset: -2062.12; }
  91.88% { stroke-dashoffset: -2071.15; }
  92.69% { stroke-dashoffset: -2078.55; }
  93.50% { stroke-dashoffset: -2084.47; }
  94.31% { stroke-dashoffset: -2089.08; }
  95.12% { stroke-dashoffset: -2092.54; }
  95.94% { stroke-dashoffset: -2095.03; }
  96.75% { stroke-dashoffset: -2096.69; }
  97.56% { stroke-dashoffset: -2097.70; }
  98.38% { stroke-dashoffset: -2098.22; }
  99.19% { stroke-dashoffset: -2098.41; }
  100.00% { stroke-dashoffset: -2098.44; }
}
@keyframes ks-trace-s {
  0%,35% { stroke-dashoffset: 0; }
  35.81% { stroke-dashoffset: -0.03; }
  36.62% { stroke-dashoffset: -0.22; }
  37.44% { stroke-dashoffset: -0.74; }
  38.25% { stroke-dashoffset: -1.75; }
  39.06% { stroke-dashoffset: -3.41; }
  39.88% { stroke-dashoffset: -5.89; }
  40.69% { stroke-dashoffset: -9.36; }
  41.50% { stroke-dashoffset: -13.97; }
  42.31% { stroke-dashoffset: -19.89; }
  43.12% { stroke-dashoffset: -27.29; }
  43.94% { stroke-dashoffset: -36.32; }
  44.75% { stroke-dashoffset: -47.15; }
  45.56% { stroke-dashoffset: -59.95; }
  46.38% { stroke-dashoffset: -74.87; }
  47.19% { stroke-dashoffset: -92.09; }
  48.00% { stroke-dashoffset: -111.76; }
  48.81% { stroke-dashoffset: -134.05; }
  49.62% { stroke-dashoffset: -159.13; }
  50.44% { stroke-dashoffset: -187.15; }
  51.25% { stroke-dashoffset: -218.28; }
  52.06% { stroke-dashoffset: -252.69; }
  52.88% { stroke-dashoffset: -290.54; }
  53.69% { stroke-dashoffset: -331.98; }
  54.50% { stroke-dashoffset: -377.19; }
  55.31% { stroke-dashoffset: -426.34; }
  56.12% { stroke-dashoffset: -479.57; }
  56.94% { stroke-dashoffset: -537.06; }
  57.75% { stroke-dashoffset: -598.97; }
  58.56% { stroke-dashoffset: -665.47; }
  59.38% { stroke-dashoffset: -736.71; }
  60.19% { stroke-dashoffset: -812.86; }
  61.00% { stroke-dashoffset: -894.09; }
  61.81% { stroke-dashoffset: -980.56; }
  62.62% { stroke-dashoffset: -1072.43; }
  63.44% { stroke-dashoffset: -1169.87; }
  64.25% { stroke-dashoffset: -1273.03; }
  65.06% { stroke-dashoffset: -1382.09; }
  65.88% { stroke-dashoffset: -1497.21; }
  66.69% { stroke-dashoffset: -1618.55; }
  67.50% { stroke-dashoffset: -1746.27; }
  68.31% { stroke-dashoffset: -1874.00; }
  69.12% { stroke-dashoffset: -1995.34; }
  69.94% { stroke-dashoffset: -2110.45; }
  70.75% { stroke-dashoffset: -2219.51; }
  71.56% { stroke-dashoffset: -2322.68; }
  72.38% { stroke-dashoffset: -2420.12; }
  73.19% { stroke-dashoffset: -2511.99; }
  74.00% { stroke-dashoffset: -2598.45; }
  74.81% { stroke-dashoffset: -2679.68; }
  75.62% { stroke-dashoffset: -2755.84; }
  76.44% { stroke-dashoffset: -2827.08; }
  77.25% { stroke-dashoffset: -2893.57; }
  78.06% { stroke-dashoffset: -2955.49; }
  78.88% { stroke-dashoffset: -3012.98; }
  79.69% { stroke-dashoffset: -3066.21; }
  80.50% { stroke-dashoffset: -3115.35; }
  81.31% { stroke-dashoffset: -3160.56; }
  82.12% { stroke-dashoffset: -3202.01; }
  82.94% { stroke-dashoffset: -3239.85; }
  83.75% { stroke-dashoffset: -3274.26; }
  84.56% { stroke-dashoffset: -3305.39; }
  85.38% { stroke-dashoffset: -3333.42; }
  86.19% { stroke-dashoffset: -3358.49; }
  87.00% { stroke-dashoffset: -3380.78; }
  87.81% { stroke-dashoffset: -3400.46; }
  88.62% { stroke-dashoffset: -3417.67; }
  89.44% { stroke-dashoffset: -3432.60; }
  90.25% { stroke-dashoffset: -3445.40; }
  91.06% { stroke-dashoffset: -3456.23; }
  91.88% { stroke-dashoffset: -3465.26; }
  92.69% { stroke-dashoffset: -3472.66; }
  93.50% { stroke-dashoffset: -3478.58; }
  94.31% { stroke-dashoffset: -3483.19; }
  95.12% { stroke-dashoffset: -3486.65; }
  95.94% { stroke-dashoffset: -3489.14; }
  96.75% { stroke-dashoffset: -3490.80; }
  97.56% { stroke-dashoffset: -3491.81; }
  98.38% { stroke-dashoffset: -3492.33; }
  99.19% { stroke-dashoffset: -3492.52; }
  100.00% { stroke-dashoffset: -3492.55; }
}
.layout.member { display: grid; grid-template-columns: 184px minmax(0, 1fr); }
.layout.member .brand-stage { display: none; }
nav { padding: 30px 16px; border-right: 1px solid var(--border); min-height: calc(100vh - 88px); }
nav button { display: flex; width: 100%; justify-content: flex-start; border-color: transparent; background: transparent; color: var(--muted); margin-bottom: 5px; }
button[aria-current="page"] { color: var(--accent); background: var(--soft); }
.nav-note { margin: 26px 12px 0; font-size: 12px; }
main { padding: 36px 30px 64px; min-width: 0; }
.policy-page { max-width: 860px; margin: 0 auto; }
.page-heading { margin-bottom: 26px; }
.page-heading p { margin-top: 9px; max-width: 62ch; color: var(--muted); }
.auth { max-width: 390px; margin: 28px auto; }
.auth .panel { padding: 28px; background: linear-gradient(155deg, #111720ef, #0c1018f5); box-shadow: 0 24px 80px #0005, inset 0 1px 0 #d6eafa06; border-color: #a4bdd327; border-radius: 15px; }
.auth .page-heading { margin-bottom: 22px; }
.auth .page-heading h1 { font-size: 27px; font-weight: 550; letter-spacing: -.04em; }
.auth .page-heading p { margin-top: 8px; font-size: 13px; color: #96a4b6; }
.auth > .actions { margin: 0 0 15px; padding: 4px; background: #0d121bd9; border: 1px solid #a4bdd31f; border-radius: 11px; gap: 4px; }
.auth > .actions button { flex: 1; min-height: 37px; padding: 7px 12px; font-size: 12px; background: transparent; border-color: transparent; border-radius: 7px; color: #98a4b6; }
.auth > .actions button[aria-current="page"] { background: #dcecf2; color: #0b1520; border-color: #dcecf2; box-shadow: 0 1px 12px #dcecf20c; }
.auth > .actions button:hover:not([aria-current]) { color: #e8eff7; background: #202937; }
.auth form { gap: 17px; }
.auth input:not([type="checkbox"]), .auth textarea { min-height: 45px; border-radius: 8px; background: #080d15a6; border-color: #a5b6ce30; }
.auth input:focus-visible { outline: 1px solid #ff2a3c; outline-offset: 0; box-shadow: 0 0 0 3px #ff2a3c15; }
.auth .field > span { font-size: 11px; letter-spacing: .055em; color: #c0cad9; }
.auth button.primary { min-height: 44px; padding: 10px 15px; border-radius: 8px; background: linear-gradient(105deg, #dceef3, #d4eeea); border-color: #dceef3; color: #0c1a22; font-size: 13px; font-weight: 650; }
.auth button.primary:hover { background: #e8fff9; box-shadow: 0 0 18px #75e4d31c; }
.auth .check-label { font-size: 11px; color: #9eaabd; }
.auth .hint { font-size: 11px; }

.panel { padding: 24px; background: var(--panel); border: 1px solid var(--border); border-radius: 14px; min-width: 0; }
.panel > h2, .panel > h3 { margin-bottom: 16px; }
.panel > p + p { margin-top: 12px; }
.panel + .panel, .panel + .grid, .grid + .panel { margin-top: 20px; }
.grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.grid > .panel { margin: 0; }
.quick-controls { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mac-controls .panel { background: linear-gradient(145deg, #171d28, var(--panel)); }
.mac-controls .check-label { display: grid; grid-template-columns: minmax(0, 1fr) 48px; align-items: center; gap: 8px 16px; cursor: pointer; }
.mac-controls .check-label > span { grid-column: 1; grid-row: 1; font-size: 19px; font-weight: 500; line-height: 1.3; letter-spacing: -.025em; }
.mac-controls .check-label > .hint { grid-column: 1 / -1; grid-row: 2; }
.mac-controls input[type="checkbox"] { appearance: none; grid-column: 2; grid-row: 1; width: 48px; height: 28px; margin: 0; border: 1px solid #657184; border-radius: 999px; background: #303b4a; cursor: pointer; transition: background-color .18s ease, border-color .18s ease; }
.mac-controls input[type="checkbox"]::before { content: ''; display: block; width: 20px; height: 20px; margin: 3px; border-radius: 50%; background: var(--text); box-shadow: 0 1px 4px #0008; transition: transform .18s ease; }
.mac-controls input[type="checkbox"]:checked { background: #b9d8e8; border-color: #d7e8f5; }
.mac-controls input[type="checkbox"]:checked::before { background: var(--accent-ink); transform: translateX(20px); }
.mac-controls input[type="checkbox"]:disabled { opacity: .5; cursor: default; }
.purge-control { display: flex; flex-direction: column; align-items: flex-start; }
.purge-control .hint { margin-top: 6px; }
.purge-control form { width: 100%; margin-top: auto; padding-top: 18px; }
.purge-control button { width: 100%; background: transparent; }
.stack { display: grid; gap: 20px; }
.stack > .panel { margin: 0; }
dl { margin: 0; display: grid; gap: 13px; }
dl > div { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 4px 16px; }
dt { color: var(--muted); }
dd { margin: 0; text-align: right; max-width: 100%; }
form { display: grid; gap: 19px; }
.field { display: grid; gap: 8px; }
.field > span { font-size: 13px; font-weight: 500; color: #d6deea; }
input:not([type="checkbox"]), select, textarea { width: 100%; min-width: 0; padding: 11px 13px; min-height: 48px; border: 1px solid #354155; border-radius: 9px; background: #0d1118; color: var(--text); font-size: 16px; transition: border-color .18s ease, background-color .18s ease; }
input:not([type="checkbox"]):hover, select:hover, textarea:hover { border-color: #667891; }
textarea { resize: vertical; min-height: 84px; }
.check-label { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; }
input[type="checkbox"] { width: 18px; height: 18px; margin-top: 3px; accent-color: var(--accent); flex-shrink: 0; }
.form-status { font-size: 14px; }
.form-status.error { color: var(--error); }
.form-status:empty { display: none; }
.panel form + form, .panel dl + form, .panel dl + .actions, .panel p + form { margin-top: 24px; }
.output { margin-top: 18px; padding: 14px; border-radius: 8px; background: var(--soft); }
.output code { display: block; white-space: pre-wrap; font-size: 16px; user-select: all; margin: 8px 0; }
.release { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; padding: 19px 0; border-bottom: 1px solid var(--border); }
.release:last-child { border-bottom: 0; padding-bottom: 0; }
.release:first-child { padding-top: 0; }
.release .hint { margin-top: 5px; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: 14px; }
.table-wrap table { min-width: 560px; }
caption { text-align: left; font-size: 21px; font-weight: 500; margin-bottom: 15px; }
th, td { text-align: left; padding: 12px 10px; border-bottom: 1px solid var(--border); overflow-wrap: anywhere; max-width: 28ch; vertical-align: top; }
th { color: var(--muted); font-weight: 500; }
.notice { position: fixed; z-index: 900; right: 24px; bottom: 24px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 11px; width: min(380px, calc(100vw - 48px)); padding: 13px 13px 13px 15px; background: #171e29f2; border: 1px solid #71809666; border-radius: 12px; box-shadow: 0 18px 48px #0009; backdrop-filter: blur(18px); animation: notice-in .18s ease-out; }
.notice.error { color: var(--error); background: #301b23f2; border-color: #ff778566; }
.notice-marker { width: 8px; height: 8px; border-radius: 50%; background: #8fd5bc; box-shadow: 0 0 12px #8fd5bc99; }
.notice-marker.error { background: #ff7180; box-shadow: 0 0 12px #ff718099; }
.notice-copy { min-width: 0; font-size: 13px; font-weight: 500; }
.notice-dismiss { min-height: 32px; padding: 5px 9px; border: 0; background: transparent; color: inherit; font-size: 11px; }
@keyframes notice-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.skip-link { position: absolute; top: -100px; left: 12px; padding: 12px; background: var(--panel); z-index: 1; }
.skip-link:focus { top: 12px; }
.noscript { margin: 24px; }
@media (max-width: 900px) {
  .layout:not(.member) { grid-template-columns: minmax(0, .8fr) minmax(0, 1fr); }
  .brand-stage { padding-inline: 24px; }
  main { padding-inline: 24px; }
  .auth .panel { padding: 26px; }
}
@media (max-width: 700px) {
  .site-header { min-height: 76px; padding: 16px 20px; }
  .site-header .actions { gap: 8px; }
  .layout:not(.member), .layout.member { display: block; min-height: auto; }
  .brand-stage { padding: 28px 20px 0; }
  .brand-art { width: 104px; }
  .brand-wordmark { margin-top: 12px; font-size: 25px; }
  .brand-caption { display: none; }
  nav { display: flex; gap: 5px; flex-wrap: wrap; min-height: auto; padding: 12px 16px; border-right: 0; border-bottom: 1px solid var(--border); }
  nav button { width: auto; margin: 0; padding: 9px 12px; }
  .nav-note { display: none; }
  main { padding: 24px 20px 40px; }
  .grid { grid-template-columns: 1fr; }
  .auth { margin: 0 auto; }
  .auth .panel, .panel { padding: 24px 20px; }
  .quick-controls { grid-template-columns: 1fr; }
  .notice { right: 16px; bottom: 16px; width: calc(100vw - 32px); }
  dd { text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .ks-trace { opacity: 0 !important; }
}
@media (forced-colors: active) {
  button.primary, .auth > .actions button[aria-current="page"] { border: 1px solid ButtonText; }
}

@media (max-width: 900px) and (min-width: 701px) {
  body:has(.layout:not(.member)) .site-header { padding: 22px 30px; }
  .layout:not(.member) { grid-template-columns: minmax(0, .85fr) minmax(0, 1fr); }
  .brand-stage { padding: 38px 30px; }
  .auth .panel { padding: 25px; }
}
@media (max-width: 700px) {
  body:has(.layout:not(.member)) .site-header { min-height: 64px; padding: 17px 22px; }
  body:has(.layout:not(.member)) .brand { font-size: 11px; letter-spacing: .13em; }
  .portal-label { font-size: 8px; letter-spacing: .07em; gap: 6px; }
  .zed-visual { width: max(100%, calc(78svh * 1672 / 941)); left: 23%; top: 23.4%; transform: translate(-23%, -30%); }
  .zed-art { opacity: .52; }
  .scene-shade { background: linear-gradient(0deg, #06080e 15%, #06080e70 62%, #06080e14), linear-gradient(90deg, #06080e30, #06080e55); }
  .layout:not(.member) { display: block; min-height: calc(100svh - 64px); }
  .layout:not(.member) > main { grid-column: auto; }
  .brand-stage { align-items: center; padding: 26px 20px 0; }
  .brand-art { width: 84px; }
  .brand-wordmark { margin-top: 8px; font-size: 24px; }
  .brand-caption, .brand-coordinate { display: none; }
  .layout:not(.member) main { padding: 22px 22px 36px; }
  .auth { max-width: 390px; margin: 0 auto; }
  .auth .panel { padding: 24px; background: #0d121bec; }
  .auth .page-heading h1 { font-size: 25px; }
  .scene-spark, .zed-energy { display: none; }
}
@media (max-height: 680px) and (min-width: 701px) {
  .brand-stage { padding-bottom: 32px; }
  .brand-art { width: 145px; }
  .brand-wordmark { font-size: 35px; }
  .brand-coordinate { margin-top: 18px; }
  .layout:not(.member) main { padding-top: 22px; padding-bottom: 28px; }
  .auth { margin: 0 auto; }
}

/* Member workspace: a short navigation, useful status, and the same pearl/red identity. */
body:has(.layout.member) { background: radial-gradient(ellipse at 78% 0, #ff2a3c08, transparent 45%), #090d14; }
body:has(.layout.member) .site-header { min-height: 76px; max-width: 1160px; margin: auto; padding: 18px 30px; border: 0; }
body:has(.layout.member) .brand { font-size: 12px; font-weight: 650; text-transform: uppercase; letter-spacing: .16em; }
.layout.member { display: block; max-width: 1160px; }
.layout.member #navigation { display: flex; align-items: center; gap: 8px; min-height: 0; padding: 0 30px 16px; border: 0; border-bottom: 1px solid #a4bdd319; }
.layout.member #navigation button { width: auto; margin: 0; min-height: 36px; padding: 7px 18px; border-radius: 8px; font-size: 12px; }
.layout.member #navigation button[aria-current="page"] { color: #f2f5fa; background: #a4bdd312; border-color: #a4bdd31c; }
.layout.member #navigation button[aria-current="page"]::before { content: ''; width: 4px; height: 4px; margin-right: 8px; border-radius: 50%; background: var(--ks-red); box-shadow: 0 0 8px #ff2a3c65; }
.layout.member #navigation button:last-child:nth-child(4) { margin-left: auto; }
.layout.member main { padding: 28px 30px 54px; }
.layout.member .header-right button { min-height: 34px; padding: 6px 12px; background: transparent; border-color: #a4bdd325; font-size: 11px; }
.layout.member .page-heading { margin-bottom: 24px; }
.layout.member .page-heading h1 { font-size: 30px; }
.layout.member .panel { background: linear-gradient(140deg, #121922e6, #0e141de8); border-color: #a4bdd322; border-radius: 12px; padding: 24px; }
.layout.member .panel h2 { font-size: 14px; font-weight: 550; color: #c1cbd8; letter-spacing: -.01em; }
.layout.member .panel + .panel, .layout.member .panel + .grid, .layout.member .grid + .panel { margin-top: 16px; }
.layout.member .grid { gap: 16px; }
.layout.member .grid + .grid { margin-top: 16px; }
.member-hero { position: relative; isolation: isolate; min-height: 240px; overflow: hidden; border: 1px solid #a4bdd32b; border-radius: 14px; background: #0e141e; margin-bottom: 20px; }
.member-hero::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #0c121bf5 0%, #0c121be3 29%, #0c121b68 54%, #0c121b10 78%), linear-gradient(0deg, #0c121ba6, transparent 52%); }
.member-hero-art { position: absolute; z-index: -2; right: -3%; top: -12%; width: 86%; height: 125%; object-fit: cover; object-position: 34% 28%; opacity: .78; transform-origin: 45% 40%; }
.member-hero-glow { position: absolute; z-index: -1; inset: 0; background: radial-gradient(ellipse at 58% 55%, #ff2a3c16, transparent 48%); pointer-events: none; }
[data-animation-ready] .member-hero-art { animation: member-art-drift 20s ease-in-out infinite; }
[data-animation-ready] .member-hero-glow { animation: scene-breathe 7s ease-in-out infinite; }
@keyframes member-art-drift { 0%, 100% { transform: scale(1.02) translateX(0); } 50% { transform: scale(1.055) translateX(-.8%); } }
.member-hero-content { position: relative; padding: 30px 32px; max-width: 57%; display: flex; align-items: flex-start; flex-direction: column; gap: 14px; }
.eyebrow { color: #b3bfce; font: 500 10px/1.4 monospace; letter-spacing: .13em; text-transform: uppercase; }
.member-hero h1 { font-size: clamp(28px, 4vw, 42px); font-weight: 650; line-height: 1.12; }
.hero-copy { max-width: 34ch; color: #b9c5d4; font-size: 13px; }
.status-badge { display: inline-flex; align-items: center; gap: 7px; width: fit-content; padding: 5px 10px; border: 1px solid #a4bdd324; border-radius: 999px; background: #9bb5d00a; color: #b9c6d7; font-size: 11px; font-weight: 500; white-space: nowrap; }
.status-badge::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.status-badge.active { color: #a7e3cf; background: #68cfae0c; border-color: #68cfae30; }
.status-badge.pending { color: #e8d4a8; background: #e1bc660b; border-color: #e1bc662b; }
.status-badge.warning { color: #ffa0aa; background: #ff2a3c0b; border-color: #ff2a3c30; }

.service-status-section { margin-top: 24px; }
.service-status-header { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 12px; }
.service-status-header .eyebrow { margin: 0 0 4px; }
.service-status-header h2 { margin: 0; font-size: clamp(19px, 2vw, 24px); letter-spacing: -.025em; }
.status-refresh { min-height: 34px; padding: 7px 12px; font-size: 12px; color: #c9d4df; background: #ffffff08; border-color: #ffffff16; }
.service-status-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.service-card { position: relative; overflow: hidden; min-width: 0; min-height: 126px; padding: 18px; border: 1px solid #ffffff12; border-radius: 18px 6px 18px 6px; background: radial-gradient(circle at 82% 120%, #ffffff09, transparent 48%), linear-gradient(135deg, #12151c, #090b10); box-shadow: inset 0 1px #ffffff06, 0 14px 34px #00000024; }
.service-card::before { content: ''; position: absolute; width: 92px; height: 92px; right: -42px; bottom: -52px; border: 1px solid currentColor; border-radius: 50%; opacity: .12; }
.service-card.online { color: #84e5bd; }
.service-card.degraded { color: #f1c969; }
.service-card.outage { color: #ff7d89; }
.service-card.unknown { color: #9aa6b5; }
.service-card-header { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.service-card-header h3 { margin: 0; color: #eff4fa; font-size: 16px; letter-spacing: -.01em; }
.service-state { display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; border: 1px solid currentColor; border-radius: 999px; font-size: 10px; font-weight: 700; letter-spacing: .035em; text-transform: uppercase; }
.service-state::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: currentColor; box-shadow: 0 0 9px currentColor; }
.service-state.online { color: #84e5bd; background: #54d6a10d; border-color: #54d6a13f; }
.service-state.degraded { color: #f1c969; background: #e9b94e0d; border-color: #e9b94e40; }
.service-state.outage { color: #ff7d89; background: #ff40530d; border-color: #ff405340; }
.service-state.unknown { color: #9aa6b5; background: #ffffff08; border-color: #ffffff1c; }
.service-beacon { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(2, 13px); grid-template-rows: repeat(2, 13px); gap: 5px; width: max-content; margin-top: 24px; transform: rotate(45deg); }
.service-beacon-cell { display: block; border: 1px solid currentColor; border-radius: 3px; background: currentColor; opacity: .22; }
.service-beacon-cell:first-child { opacity: 1; box-shadow: 0 0 16px currentColor; }
.service-beacon-cell:nth-child(2) { opacity: .66; }
.service-beacon-cell:nth-child(3) { opacity: .42; }
.service-beacon.unknown .service-beacon-cell { background: transparent; box-shadow: none; }

@media (max-width: 800px) {
  .service-status-grid { grid-template-columns: 1fr; }
  .service-card { padding: 15px; }
}
.primary-link { min-height: 40px; background: linear-gradient(115deg, #e6edf7, #d4eeea); border-color: #dceef3; color: #10202b; font-weight: 650; font-size: 12px; border-radius: 8px; }
.primary-link:hover { background: #ecfff8; color: #10202b; border-color: #ecfff8; }
.metric-number { font-size: 44px; line-height: 1.12; font-weight: 600; letter-spacing: -.05em; }
.overview-grid .muted { font-size: 13px; margin-top: 3px; }
.overview-grid .hint { font-size: 11px; margin-top: 14px; }
.device-name { font-size: 18px; font-weight: 500; margin-bottom: 14px; }
.overview-grid .panel > button { display: block; margin-top: 18px; min-height: 34px; padding: 6px 12px; font-size: 11px; background: transparent; }
.overview-grid .panel { min-height: 176px; }
.first-launch-steps { display: grid; gap: 9px; margin: 0; padding-left: 22px; color: #c4cfdb; font-size: 13px; }
.first-launch-steps li::marker { color: #ff5261; font-weight: 650; }
.member .mac-controls .check-label > span { font-size: 15px; }
.member .mac-controls .hint { font-size: 11px; }
.member .mac-controls .panel { padding: 22px 24px; }
.sync-feedback { margin: 12px 4px 0; color: #b8c7d9; font-size: 12px; }
.sync-feedback.error { color: var(--error); }
.maintenance-banner { border-color: #ff2a3c55 !important; background: linear-gradient(135deg, #241119f2, #111720f2) !important; }
.maintenance-banner h2 { color: #ffd5da !important; }
.maintenance-overlay { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 24px; background: #05080dd9; backdrop-filter: blur(10px); }
.maintenance-dialog { width: min(520px, 100%); border-color: #ff2a3c66 !important; box-shadow: 0 28px 90px #000b; }
.maintenance-dialog h1 { margin: 0 0 14px; font-size: 28px; }
.maintenance-dialog p { color: #bdc8d6; font-size: 14px; line-height: 1.65; }
.maintenance-dialog button { margin-top: 24px; width: 100%; }
.member .settings-grid { margin-bottom: 16px; }
.member .settings-grid dt, .member .settings-grid dd { font-size: 13px; }
.member .settings-recovery { margin-top: 16px; }
.settings-recovery summary, .admin-advanced summary { cursor: pointer; color: #bbc6d5; font-size: 13px; font-weight: 500; }
.recovery-content { padding-top: 22px; }
.recovery-content > p { font-size: 13px; }
.maintenance-actions { display: flex; align-items: flex-start; gap: 10px; margin-top: 20px; flex-wrap: wrap; }
.maintenance-actions button { background: transparent; border-color: #a4bdd32b; color: #c0cfdd; font-size: 12px; }
.member .release { padding: 6px 0; }
.member .release h2 { font-size: 20px; color: #edf3fa; }
.member .release .hint { margin-top: 8px; font-size: 12px; }
.admin-layout .member-hero { min-height: 172px; margin-bottom: 20px; }
.admin-layout .member-hero-content { padding: 28px 32px; gap: 14px; }
.admin-layout .member-hero-art { top: -30%; height: 170%; object-position: 34% 25%; opacity: .65; }
.admin-layout .member-hero h1 { font-size: 36px; }
.admin-workspace-host { min-width: 0; }
.admin-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 20px; }
.admin-stat { padding: 18px 20px; background: #111822; border: 1px solid #a4bdd31e; border-radius: 10px; }
.admin-stat > :first-child { color: #a7b4c7; font-size: 11px; }
.admin-stat strong, .admin-stat .admin-stat-value { display: block; font-size: 26px; line-height: 1.2; color: #eff4fc; font-weight: 600; margin-top: 8px; }
.admin-toolbar { display: flex; gap: 12px; justify-content: space-between; align-items: center; flex-wrap: wrap; margin-bottom: 16px; }
.admin-search { flex: 1; max-width: 340px; }
.admin-search input { min-height: 39px; padding: 9px 12px; background: #0c121b; font-size: 12px; }
.admin-toolbar button { min-height: 38px; font-size: 12px; border-radius: 8px; }
.admin-filters { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; margin-bottom: 14px; }
.admin-filters button { min-height: 29px; padding: 4px 12px; font-size: 11px; background: transparent; border-color: #a4bdd31a; border-radius: 999px; color: #a4b3c5; }
.admin-filters button[aria-pressed="true"] { color: #f0f5fa; background: #a4bdd319; border-color: #a4bdd347; }
.admin-account-list { border: 1px solid #a4bdd322; border-radius: 12px; overflow: hidden; background: #10161fe6; }
.admin-account-row { display: grid; grid-template-columns: minmax(160px, 1fr) minmax(105px, .6fr) minmax(145px, .65fr) auto; gap: 16px; align-items: center; padding: 18px 22px; border-bottom: 1px solid #a4bdd312; }
.admin-account-row:last-child { border-bottom: 0; }
.admin-account-name { color: #edf2fa; font-size: 13px; font-weight: 550; }
.admin-account-meta { color: #8e9fb5; font-size: 11px; margin-top: 3px; }
.admin-account-actions { display: flex; gap: 7px; justify-content: flex-end; flex-wrap: wrap; }
.admin-account-actions button { min-height: 32px; padding: 5px 11px; font-size: 11px; background: #a4bdd309; border-color: #a4bdd32d; border-radius: 7px; white-space: nowrap; }
.admin-account-actions button:hover { background: #a4bdd317; }
.admin-account-actions .primary { color: #e7eff6; background: #ff2a3c12; border-color: #ff2a3c40; }
.admin-delivery:not(:empty) { margin-bottom: 18px; }
.member .output { background: #141e2a; border: 1px solid #9bb5d02b; padding: 20px; }
.output code { padding: 12px; background: #0b1119; border-radius: 8px; font-size: 13px; }
.output .hint { font-size: 11px; }
.output .actions { margin-top: 15px; }
.output button { min-height: 34px; font-size: 11px; }
.admin-reviews { margin-top: 20px; }
.admin-event-ledger { margin-top: 26px; }
.admin-game-history { margin-top: 26px; padding: 18px; border: 1px solid #a4bdd326; border-radius: 10px; background: #0d141de6; scroll-margin-top: 24px; }
.admin-game-history-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.admin-game-history-header > button { min-height: 34px; padding: 5px 11px; font-size: 11px; }
.admin-game-history-table { margin-top: 14px; overflow-x: auto; }
.admin-game-history-table table { min-width: 700px; font-size: 11px; }
.admin-game-history-table th, .admin-game-history-table td { padding: 9px 8px; }
.admin-game-history > .admin-action { margin-top: 14px; }
.admin-event-ledger > h2 { font-size: 15px; font-weight: 550; }
.admin-event-group { margin-top: 10px; border: 1px solid #a4bdd322; border-radius: 10px; background: #10161fe6; overflow: hidden; }
.admin-event-group > summary { cursor: pointer; padding: 14px 16px; color: #d7e0eb; font-size: 12px; font-weight: 550; }
.admin-event-group[open] > summary { border-bottom: 1px solid #a4bdd31c; }
.admin-event-list { display: grid; gap: 10px; padding: 12px; max-height: 560px; overflow: auto; }
.admin-event-card { padding: 14px 16px; border: 1px solid #a4bdd318; border-radius: 8px; background: #0b1119; }
.admin-event-card h3 { color: #edf2fa; font-size: 12px; font-weight: 550; overflow-wrap: anywhere; }
.admin-event-time { display: block; margin-top: 3px; color: #8394aa; font-size: 10px; }
.admin-event-details { display: grid; grid-template-columns: minmax(130px, .4fr) minmax(0, 1fr); gap: 7px 14px; margin-top: 12px; }
.admin-event-detail { display: contents; }
.admin-event-detail dt { color: #8294aa; font-size: 10px; }
.admin-event-detail dd { color: #c7d2df; font: 11px/1.45 ui-monospace, SFMono-Regular, Menlo, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
.admin-review-row { padding: 18px 22px; border: 1px solid #ff2a3c28; border-radius: 10px; background: #ff2a3c05; margin-top: 10px; }
.admin-review-row h3 { font-size: 13px; }
.admin-review-row p { font-size: 12px; color: #a6b6c8; }
.admin-review-row form { margin-top: 14px; gap: 12px; }
.admin-review-row input, .admin-review-row select, .admin-review-row textarea { min-height: 36px; font-size: 12px; }
.admin-review-row button { min-height: 34px; font-size: 11px; }
.admin-empty { padding: 30px 22px; color: #a6b6c8; font-size: 13px; }
.member .admin-advanced { margin-top: 24px; background: transparent; border-color: #a4bdd319; }
.admin-advanced .stack { margin-top: 20px; }
.admin-advanced .hint { font-size: 12px; }
.admin-advanced .panel h2 { font-size: 16px; }
@media (max-width: 900px) {
  .admin-account-row { grid-template-columns: minmax(120px, 1fr) minmax(100px, .6fr) auto; gap: 12px; padding: 16px; }
  .admin-account-row > .admin-account-expiry { display: none; }
  .admin-account-actions { max-width: 160px; }
}
@media (max-width: 700px) {
  body:has(.layout.member) .site-header { padding: 16px 20px; gap: 8px; }
  .layout.member #navigation { padding: 0 20px 14px; gap: 4px; flex-wrap: wrap; }
  .layout.member #navigation button { padding: 7px 12px; font-size: 11px; }
  .layout.member main { padding: 20px 20px 36px; }
  .layout.member .header-right button { padding: 5px 9px; font-size: 10px; }
  .layout.member .header-right .hint { display: none; }
  .member-hero { min-height: 270px; }
  .member-hero-art { width: 140%; right: -30%; top: -2%; height: 115%; opacity: .5; object-position: 25% 25%; }
  .member-hero::after { background: linear-gradient(90deg, #0c121be8, #0c121b76), linear-gradient(0deg, #0c121b80, transparent); }
  .member-hero-content { max-width: 100%; padding: 28px 24px; gap: 13px; }
  .member-hero h1 { font-size: 32px; max-width: 12ch; }
  .member-hero-content .hero-copy { max-width: 27ch; }
  .layout.member .panel { padding: 20px; }
  .overview-grid .panel { min-height: 0; }
  .layout.member .grid { grid-template-columns: 1fr; gap: 12px; }
  .admin-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .admin-stat { padding: 16px; }
  .admin-toolbar { align-items: stretch; }
  .admin-search { max-width: none; flex-basis: 100%; }
  .admin-account-row { grid-template-columns: minmax(0, 1fr) auto; gap: 12px; }
  .admin-account-row > .admin-account-expiry { display: block; font-size: 11px; grid-column: 1; }
  .admin-account-actions { grid-column: 1 / -1; max-width: none; justify-content: flex-start; }
  .admin-layout .member-hero { min-height: 172px; }
  .admin-layout .member-hero-content { padding: 24px; }
  .admin-layout .member-hero h1 { font-size: 30px; }
}
.compact-hero { min-height: 152px; }
.compact-hero .member-hero-content { padding: 27px 32px; }
.compact-hero h1 { font-size: 34px; }
.compact-hero .member-hero-art { top: -30%; height: 180%; opacity: .58; }
.layout.member .profiles-workspace { min-height: 340px; padding: 30px; }
.profile-workspace-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(240px, .8fr); gap: 36px; align-items: stretch; }
.profile-selection { display: flex; flex-direction: column; justify-content: center; min-width: 0; }
.profiles-workspace h3 { color: #e7edf5; font-size: 18px; font-weight: 500; margin-bottom: 22px; }
.profile-selection form { display: grid; grid-template-columns: minmax(160px, 1fr) auto; align-items: end; gap: 14px; }
.profile-selection .form-status { grid-column: 1 / -1; }
.profile-selection button { min-height: 44px; }
.profile-generation { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 240px; padding: 24px; border: 1px solid #ff2a3c26; border-radius: 10px; background: radial-gradient(ellipse at 50% 0, #ff2a3c12, transparent 75%); }
.profile-symbol { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 18px; border: 1px solid #ff2a3c3d; border-radius: 14px; color: var(--ks-red); background: #ff2a3c09; font-size: 32px; font-weight: 300; }
.profile-generation h3 { margin-bottom: 18px; }
.profile-generation form { width: 100%; max-width: 220px; }
.profile-generation button { width: 100%; min-height: 44px; }
@media (max-width: 700px) {
  .compact-hero { min-height: 150px; }
  .compact-hero .member-hero-content { padding: 24px; }
  .compact-hero h1 { font-size: 30px; }
  .layout.member .profiles-workspace { padding: 24px; }
  .profile-workspace-grid, .profile-selection form { grid-template-columns: 1fr; }
  .profile-workspace-grid { gap: 24px; }
  .profile-generation { min-height: 220px; }
}
/* Account rows keep their metadata together; actions stay beside the selected person. */
.admin-stat-label { display: block; margin-top: 6px; color: #a7b4c7; font-size: 11px; }
.admin-toolbar { gap: 10px; }
.admin-search > span { display: block; color: #9caec4; font-size: 10px; margin-bottom: 6px; }
.admin-toolbar .admin-filters { margin: 0; }
.admin-action.admin-primary { color: #17212d; border-color: #dceef3; background: linear-gradient(115deg, #e6edf7, #d4eeea); font-weight: 650; }
.admin-more > summary { cursor: pointer; padding: 8px 0; color: #a6b6c8; font-size: 11px; }
.admin-extra-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; max-width: 280px; }
.admin-days-editor:not([hidden]) { margin-bottom: 18px; padding: 20px; border: 1px solid #a4bdd32b; border-radius: 10px; background: #141e2a; }
.admin-days-editor h2 { font-size: 15px; }
.admin-days-form { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.admin-days-form > .admin-field:first-child { flex: 0 1 120px; }
.admin-days-form > .admin-field { flex: 1 1 240px; }
.admin-days-form button { min-height: 40px; padding: 9px 14px; font-size: 12px; }
.admin-account-list { margin: 0; padding: 0; list-style: none; }
.admin-account-row { grid-template-columns: minmax(0, 1fr) auto; }
.admin-account-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 5px 16px; }
.admin-account-status { color: #d2dce8; }
.admin-account-count { font-size: 11px; color: #8e9fb5; margin-bottom: 12px; }
.admin-result { margin-top: 12px; padding: 20px; border: 1px solid #a4bdd32b; border-radius: 10px; background: #141e2a; }
.admin-result h3 { font-size: 14px; font-weight: 550; }
.admin-result-output .admin-output { margin-top: 15px; }
.admin-result-output .admin-output h3 { display: none; }
.admin-output code { display: block; padding: 12px; margin-top: 8px; background: #0b1119; border-radius: 8px; font-size: 13px; overflow-wrap: anywhere; user-select: all; }
.admin-hint, .admin-result-message { font-size: 12px; color: #a6b6c8; margin-top: 9px; }
.admin-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.admin-actions button, .admin-result-output > button { min-height: 34px; padding: 6px 12px; font-size: 11px; }
.admin-output .admin-primary { color: #162332; background: #dceef3; border-color: #dceef3; }
.admin-reviews h2, .admin-invitations h2 { font-size: 15px; font-weight: 550; }
.admin-review-form { display: grid; grid-template-columns: minmax(160px, .8fr) minmax(200px, 1.4fr) auto; gap: 12px; align-items: end; margin-top: 16px; }
.admin-field { display: grid; gap: 6px; }
.admin-field > span { color: #b4c3d7; font-size: 11px; }
.admin-field textarea { min-height: 40px; height: 40px; }
.admin-invite-row { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; padding: 16px; margin-top: 10px; border: 1px solid #a4bdd322; border-radius: 9px; background: #101822; font-size: 12px; }
.admin-invite-row button { min-height: 32px; padding: 5px 12px; font-size: 11px; }
.admin-invitations:not(:empty) { margin-top: 22px; }
@media (max-width: 900px) {
  .admin-search { flex-basis: 100%; max-width: none; }
  .admin-account-row { grid-template-columns: minmax(0, 1fr) auto; }
  .admin-review-form { grid-template-columns: 1fr 1fr; }
  .admin-review-form > button { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
  .admin-toolbar .admin-filters { flex-basis: 100%; }
  .admin-account-actions { grid-column: 2; grid-row: 1; flex-direction: column; align-items: flex-end; max-width: 130px; }
  .admin-account-row { padding: 16px; gap: 10px; }
  .admin-account-meta { display: grid; gap: 4px; }
  .admin-review-form { grid-template-columns: 1fr; }
  .admin-review-form > button { grid-column: 1; }
  .admin-event-details { grid-template-columns: 1fr; gap: 3px; }
  .admin-event-detail { display: grid; gap: 2px; padding-bottom: 6px; }
}
.layout.member .grid > .panel { margin: 0; }
