.s95-sd, .s95-rb {
  --sd-amber: var(--season-accent, #ffb02e);
  --sd-amber-glow: rgba(var(--season-rgb, 255, 176, 46), .45);
  --sd-red: #ff4d4d;
  --sd-green: #4ade80;
  --sd-ink: #ede8da;
  --sd-muted: #8d9188;
  --sd-mono: 'JetBrains Mono', ui-monospace, 'SFMono-Regular', Consolas, monospace;
  --sd-display: 'Chakra Petch', 'Space Grotesk', system-ui, sans-serif;
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  width: auto;
  height: auto;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  overflow: hidden;
  color: var(--sd-ink);
  font-family: var(--sd-mono);
  -webkit-font-smoothing: antialiased;
}
.s95-sd[popover]:not(:popover-open), .s95-rb[popover]:not(:popover-open) { display: none; }
.s95-sd::backdrop, .s95-rb::backdrop { background: transparent; }

html.s95-going-down body {
  transition: filter 1.4s ease;
  filter: grayscale(.9) brightness(.4) blur(2px);
  animation: s95-quake .12s steps(2) 6;
  pointer-events: none;
}
html.s95-rebooting body { visibility: hidden; }
html.s95-powering body { animation: s95-power-in 1.3s cubic-bezier(.2, .7, .2, 1) both; }

@keyframes s95-quake {
  0% { transform: translate(0, 0); }
  50% { transform: translate(-3px, 2px); }
  100% { transform: translate(2px, -1px); }
}
@keyframes s95-power-in {
  0% { filter: brightness(2.2) saturate(0) blur(4px); transform: scale(1.015); }
  40% { filter: brightness(1.25) saturate(.6) blur(1px); }
  100% { filter: none; transform: none; }
}

.s95-sd {
  background: rgba(3, 4, 3, 0);
  cursor: progress;
  transition: background .9s ease, opacity .5s ease;
}
.s95-sd.is-on { background: rgba(3, 4, 3, .78); }
.s95-sd.is-collapsing, .s95-sd.is-standby { background: #010201; transition-duration: .35s; }
html.s95-going-down dialog[open] { transition: filter 1.4s ease; filter: grayscale(.9) brightness(.4) blur(2px); pointer-events: none; }
.s95-sd.is-leaving { opacity: 0; }

.s95-sd::before, .s95-sd::after, .s95-rb::before, .s95-rb::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.s95-sd::before, .s95-rb::before { background: repeating-linear-gradient(to bottom, transparent 0 2px, rgba(0, 0, 0, .35) 2px 3px); z-index: 3; }
.s95-sd::after, .s95-rb::after {
  z-index: 3;
  background: linear-gradient(to bottom, transparent, rgba(var(--season-rgb, 255, 176, 46), .06) 50%, transparent);
  height: 22vh;
  inset: auto 0 auto 0;
  animation: s95-sweep 3.2s linear infinite;
}
@keyframes s95-sweep { from { top: -25vh; } to { top: 105vh; } }

.s95-sd-hazard {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 2;
  height: 26px;
  background: repeating-linear-gradient(-45deg, var(--sd-amber) 0 18px, #0b0f0d 18px 36px);
  background-size: 51px 51px;
  box-shadow: 0 0 30px rgba(var(--season-rgb, 255, 176, 46), .35);
  animation: s95-hazard .9s linear infinite;
  transition: transform .55s cubic-bezier(.2, .8, .2, 1);
}
.s95-sd-hazard.top { top: 0; transform: translateY(-110%); }
.s95-sd-hazard.bottom { bottom: 0; transform: translateY(110%); }
.s95-sd.is-on .s95-sd-hazard { transform: translateY(0); }
.s95-sd.is-collapsing .s95-sd-hazard, .s95-sd.is-standby .s95-sd-hazard { transition-duration: .3s; }
.s95-sd.is-collapsing .s95-sd-hazard.top, .s95-sd.is-standby .s95-sd-hazard.top { transform: translateY(-110%); }
.s95-sd.is-collapsing .s95-sd-hazard.bottom, .s95-sd.is-standby .s95-sd-hazard.bottom { transform: translateY(110%); }
@keyframes s95-hazard { to { background-position: 51px 0; } }

.s95-sd-screen, .s95-rb-screen {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: grid;
  place-items: center;
  padding: 16px;
  background: radial-gradient(ellipse at center, rgba(var(--season-rgb, 255, 176, 46), .05), transparent 65%);
  transform-origin: center;
}
.s95-sd.is-collapsing .s95-sd-screen { animation: s95-crt-off 1.05s cubic-bezier(.6, 0, .4, 1) forwards; }
.s95-sd.is-standby .s95-sd-screen { display: none; }
@keyframes s95-crt-off {
  0% { transform: scale(1, 1); filter: brightness(1); opacity: 1; }
  45% { transform: scale(1, .004); filter: brightness(3.5); opacity: 1; }
  80% { transform: scale(.08, .004); filter: brightness(6); opacity: 1; }
  100% { transform: scale(0, 0); filter: brightness(8); opacity: 0; }
}

.s95-sd-panel, .s95-rb-panel {
  position: relative;
  width: min(640px, 100%);
  padding: clamp(20px, 4vw, 34px);
  background: rgba(7, 10, 9, .94);
  border: 1px solid rgba(var(--season-rgb, 255, 176, 46), .3);
  box-shadow: 0 0 0 1px rgba(255, 77, 77, .08), 0 30px 90px rgba(0, 0, 0, .65), 0 0 80px rgba(255, 77, 77, .12);
  clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 18px 100%, 0 calc(100% - 18px));
  opacity: 0;
  transform: scale(.94) translateY(12px);
  transition: opacity .6s ease .35s, transform .7s cubic-bezier(.2, .8, .2, 1) .35s;
}
.s95-sd.is-on .s95-sd-panel { opacity: 1; transform: none; }
.s95-sd-panel::before, .s95-rb-panel::before {
  content: '';
  position: absolute;
  inset: 8px;
  pointer-events: none;
  background:
    linear-gradient(var(--sd-amber), var(--sd-amber)) left top / 16px 2px,
    linear-gradient(var(--sd-amber), var(--sd-amber)) left top / 2px 16px,
    linear-gradient(var(--sd-amber), var(--sd-amber)) right bottom / 16px 2px,
    linear-gradient(var(--sd-amber), var(--sd-amber)) right bottom / 2px 16px;
  background-repeat: no-repeat;
  opacity: .8;
}

.s95-sd-tag {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--sd-red);
  font-size: 10.5px;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.s95-sd-lamp { width: 8px; height: 8px; flex: none; border-radius: 50%; background: var(--sd-red); box-shadow: 0 0 12px var(--sd-red); animation: s95-blink .55s steps(2) infinite; }
.s95-sd-lamp.ok { background: var(--sd-green); box-shadow: 0 0 12px var(--sd-green); }
.s95-rb .s95-sd-tag { color: var(--sd-green); }
@keyframes s95-blink { 50% { opacity: .15; } }

.s95-sd-title {
  position: relative;
  margin: 14px 0 6px;
  font-family: var(--sd-display);
  font-size: clamp(32px, 7.5vw, 64px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: .02em;
  color: var(--sd-amber);
  text-shadow: 0 0 22px var(--sd-amber-glow);
  overflow-wrap: anywhere;
}
.s95-sd-title::before, .s95-sd-title::after {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.s95-sd-title::before { color: var(--sd-red); animation: s95-glitch-a 2.4s steps(1) infinite; }
.s95-sd-title::after { color: #5eead4; animation: s95-glitch-b 2.4s steps(1) infinite; }
@keyframes s95-glitch-a {
  0%, 86%, 100% { clip-path: inset(100% 0 0 0); transform: none; }
  88% { clip-path: inset(10% 0 60% 0); transform: translate(-4px, 0); }
  92% { clip-path: inset(55% 0 20% 0); transform: translate(3px, 0); }
  96% { clip-path: inset(30% 0 45% 0); transform: translate(-2px, 0); }
}
@keyframes s95-glitch-b {
  0%, 84%, 100% { clip-path: inset(100% 0 0 0); transform: none; }
  86% { clip-path: inset(65% 0 10% 0); transform: translate(4px, 0); }
  90% { clip-path: inset(20% 0 55% 0); transform: translate(-3px, 0); }
  95% { clip-path: inset(40% 0 35% 0); transform: translate(2px, 0); }
}

.s95-sd-sub { margin: 0 0 18px; color: var(--sd-muted); font-family: 'IBM Plex Sans', system-ui, sans-serif; font-size: 14px; }
.s95-sd-lines { display: grid; gap: 5px; min-height: 92px; font-size: clamp(11px, 2.6vw, 12.5px); color: var(--sd-amber); text-shadow: 0 0 8px rgba(var(--season-rgb, 255, 176, 46), .35); }
.s95-sd-line { white-space: pre-wrap; overflow-wrap: anywhere; }
.s95-sd-line b { font-weight: 700; }
.s95-sd-line b.ok { color: var(--sd-green); text-shadow: 0 0 8px rgba(74, 222, 128, .45); }
.s95-sd-line b.warn { color: var(--sd-red); text-shadow: 0 0 8px rgba(255, 77, 77, .45); }

.s95-sd-meter { display: flex; align-items: center; gap: 12px; margin-top: 20px; font-size: 11px; color: var(--sd-muted); }
.s95-sd-bar { flex: 1; height: 4px; background: rgba(var(--season-rgb, 255, 176, 46), .14); overflow: hidden; }
.s95-sd-bar i { display: block; height: 100%; width: 100%; background: var(--sd-amber); box-shadow: 0 0 14px var(--sd-amber); transition: width .45s ease-out; }
.s95-sd-meter span { min-width: 4ch; text-align: right; font-variant-numeric: tabular-nums; }

.s95-sd-dot {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  width: 8px;
  height: 8px;
  margin: -4px 0 0 -4px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 18px 6px rgba(255, 220, 160, .9), 0 0 60px 20px rgba(var(--season-rgb, 255, 176, 46), .5);
  opacity: 0;
  pointer-events: none;
}
.s95-sd.is-collapsing .s95-sd-dot { animation: s95-dot 1.3s ease-out forwards; }
@keyframes s95-dot {
  0%, 70% { opacity: 0; transform: scale(1); }
  76% { opacity: 1; transform: scale(1.3); }
  100% { opacity: 0; transform: scale(.2); }
}

.s95-sd-standby {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 12px;
  padding: 16px;
  text-align: center;
  animation: s95-fade-in .8s ease both;
}
.s95-sd-standby[hidden] { display: none; }
.s95-sd-standby strong { font-family: var(--sd-display); font-size: clamp(20px, 5vw, 28px); letter-spacing: .18em; color: var(--sd-amber); text-shadow: 0 0 18px var(--sd-amber-glow); }
.s95-sd-standby strong::after { content: '_'; animation: s95-blink 1s steps(2) infinite; }
.s95-sd-standby span { max-width: 360px; color: var(--sd-muted); font-family: 'IBM Plex Sans', system-ui, sans-serif; font-size: 14px; }
.s95-sd-standby small { color: rgba(237, 232, 218, .35); font-size: 10px; letter-spacing: .22em; }
.s95-sd-ring { position: relative; width: 74px; height: 74px; margin-bottom: 8px; }
.s95-sd-ring i { position: absolute; inset: 0; border: 2px solid transparent; border-top-color: var(--sd-amber); border-radius: 50%; filter: drop-shadow(0 0 6px var(--sd-amber)); animation: s95-spin 1.4s linear infinite; }
.s95-sd-ring i:nth-child(2) { inset: 12px; border-top-color: transparent; border-right-color: var(--sd-amber); animation-duration: 1s; animation-direction: reverse; opacity: .75; }
.s95-sd-ring i:nth-child(3) { inset: 26px; border-top-color: var(--sd-red); animation-duration: .7s; }
.s95-sd.is-restored .s95-sd-standby strong { color: var(--sd-green); text-shadow: 0 0 18px rgba(74, 222, 128, .6); }
.s95-sd.is-restored .s95-sd-ring i { border-top-color: var(--sd-green); border-right-color: transparent; filter: drop-shadow(0 0 6px var(--sd-green)); animation-duration: .4s; }
.s95-sd.is-restored .s95-sd-standby { animation: s95-restored .5s ease 2; }
@keyframes s95-spin { to { transform: rotate(360deg); } }
@keyframes s95-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes s95-restored { 50% { filter: brightness(1.8); } }

.s95-rb { background: #010201; cursor: pointer; transition: clip-path .85s cubic-bezier(.7, 0, .2, 1); clip-path: inset(0 0 0 0); }
.s95-rb .s95-rb-screen { transform: scale(0, .004); filter: brightness(6); }
.s95-rb.is-on .s95-rb-screen { animation: s95-crt-on .9s cubic-bezier(.2, .7, .2, 1) forwards; }
.s95-rb .s95-rb-panel { opacity: 1; transform: none; transition: none; border-color: rgba(74, 222, 128, .25); box-shadow: 0 30px 90px rgba(0, 0, 0, .65), 0 0 80px rgba(74, 222, 128, .08); }
.s95-rb .s95-sd-bar i { background: var(--sd-green); box-shadow: 0 0 14px var(--sd-green); }
.s95-rb.is-leaving { clip-path: inset(0 0 100% 0); }
@keyframes s95-crt-on {
  0% { transform: scale(0, .004); filter: brightness(6); }
  35% { transform: scale(1, .004); filter: brightness(4); }
  100% { transform: scale(1, 1); filter: brightness(1); }
}

@media (prefers-reduced-motion: reduce) {
  .s95-sd *, .s95-rb *, .s95-sd::after, .s95-rb::after, html.s95-going-down body, html.s95-powering body { animation: none !important; transition: none !important; }
}
