/* NOCTIS — THE ROOM THAT NEVER SLEEPS */
.theme-tired {
  background: radial-gradient(ellipse at 50% 5%, #192332 0%, #0b111b 42%, #070a10 100%);
  background-attachment: fixed;
  color: #d4d9e1;
  color-scheme: dark;
}
.theme-tired .poem-page { max-width: 760px; }
.theme-tired .back-link { color: #a8b6c8; }
.theme-tired .back-link:hover, .theme-tired .back-link:focus-visible { color: #eef2f7; }
.theme-tired .full-poem {
  background: linear-gradient(165deg, rgba(18,25,36,.97), rgba(9,13,21,.98));
  border: 1px solid rgba(147,167,193,.22);
  border-radius: 12px;
  padding: clamp(32px,6vw,58px) clamp(20px,5vw,52px);
  box-shadow: 0 16px 55px rgba(0,0,0,.22);
}
.theme-tired .poem-category { color: #94a3b6; letter-spacing: .19em; text-align: center; }
.theme-tired .full-poem h1 {
  color: #e4e8ee;
  font-size: clamp(2.1rem, 6vw, 3rem);
  font-weight: normal;
  text-align: center;
  margin: 15px 0 8px;
}
.noctis-subtitle { text-align: center; color: #a2aebd; font-style: italic; margin: 0 0 28px; }
.noctis-scene {
  position: relative; isolation: isolate; overflow: hidden;
  height: clamp(265px, 63vw, 385px);
  border-radius: 9px;
  border: 1px solid rgba(139,159,183,.14);
  background: linear-gradient(180deg,#101a28 0%,#101824 60%,#090e16 100%);
}
.noctis-scene::before {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(ellipse at 55% 20%, rgba(141,165,198,.09), transparent 58%);
  pointer-events: none;
}
.noctis-window {
  position: absolute; top: 9%; left: 12%; width: 34%; height: 48%;
  border: 8px solid #202a37; box-shadow: 0 0 0 2px #090e16, 0 8px 22px rgba(0,0,0,.3);
  background: linear-gradient(160deg,#17283c,#0b1422);
}
.noctis-windowpane::before, .noctis-windowpane::after { content: ""; position: absolute; background: #202a37; }
.noctis-windowpane::before { width: 6px; height: 100%; left: calc(50% - 3px); top: 0; }
.noctis-windowpane::after { height: 6px; width: 100%; top: calc(50% - 3px); left: 0; }
.noctis-moonbeam {
  position: absolute; width: 58%; height: 77%; left: 4%; top: 27%;
  background: linear-gradient(150deg,rgba(125,152,191,.14),transparent 68%);
  clip-path: polygon(17% 0, 57% 0, 100% 100%, 0 100%);
  pointer-events: none;
}
.noctis-bed {
  position: absolute; bottom: -3%; left: 7%; width: 69%; height: 29%;
  background: linear-gradient(165deg,#202a37,#0c111a 74%);
  border-radius: 22px 22px 4px 4px;
  transform: skewX(-7deg);
  box-shadow: 8px -7px 16px rgba(0,0,0,.2);
}
.noctis-pillow { position: absolute; top: 8%; left: 8%; width: 29%; height: 38%; background: #2b3645; border-radius: 40%; transform: rotate(-8deg); }
.noctis-blanket { position: absolute; bottom: 0; right: 0; width: 66%; height: 74%; background: linear-gradient(150deg,#1c2735,#121b28); border-radius: 25% 0 0 0; }
.noctis-clock-wrap { position: absolute; right: 7%; bottom: 12%; z-index: 2; text-align: center; }
.noctis-clock {
  display: inline-flex; align-items: baseline; gap: 2px;
  padding: 10px 13px 7px; border: 1px solid rgba(105,136,170,.18);
  border-radius: 5px; background: #080e16; color: #91b5d0;
  font-family: 'Courier New', monospace; font-size: clamp(20px, 5vw, 29px);
  letter-spacing: .03em; cursor: pointer;
  text-shadow: 0 0 10px rgba(114,172,216,.32);
}
.noctis-clock:hover { border-color: rgba(148,181,212,.55); }
.noctis-clock:focus-visible { outline: 2px solid #b8d1e8; outline-offset: 4px; }
.noctis-am { font-size: .36em; letter-spacing: .08em; margin-left: 4px; }
.noctis-colon { animation: noctisBlink 2.8s steps(1,end) infinite; }
.noctis-clock.is-quiet .noctis-colon { animation: none; opacity: 1; }
@keyframes noctisBlink { 0%, 52% { opacity: 1; } 53%, 100% { opacity: .15; } }
.noctis-clock-hint { color: #94a4b8; font-size: 11px; max-width: 155px; margin: 9px auto 0; line-height: 1.35; }
.noctis-divider { width: 72px; height: 1px; margin: 34px auto; background: linear-gradient(90deg,transparent,#73869c,transparent); }
.theme-tired .poem-text {
  color: #d4d9e1; text-align: left; white-space: pre-line;
  max-width: 540px; margin: 0 auto; line-height: 1.95;
}
.noctis-signature { margin: 38px 0 0; color: #8292a6; font-size: .75rem; letter-spacing: .2em; text-align: center; }
@media (max-width: 600px) {
  .theme-tired { padding: 26px 16px; }
  .theme-tired .full-poem { padding: 34px 20px; }
  .theme-tired .poem-text { font-size: 16px; line-height: 1.9; }
  .noctis-window { border-width: 6px; }
  .noctis-clock-wrap { right: 4%; bottom: 9%; }
}
@media (prefers-reduced-motion: reduce) { .noctis-colon { animation: none; } }
