/* SCP-575 */
.dark575 {
  position: fixed; inset: 0; z-index: 745; pointer-events: none;
  background: radial-gradient(circle var(--r, 200px) at var(--x, 50%) var(--y, 50%), rgba(0,0,0,0) 0%, rgba(0,0,0,.5) 55%, rgba(0,0,0,.985) 100%);
  animation: in575 1.6s ease; transition: opacity 1.2s;
}
.dark575.flick575 { background: rgba(0,0,0,.985); }
.dark575.out { opacity: 0; }
@keyframes in575 { from { opacity: 0; } }
.sos575 { position: fixed; left: 18px; bottom: 18px; z-index: 748; }
.sos575 .btn { margin: 0; background: rgba(20,4,5,.92); box-shadow: 0 0 24px rgba(194,29,36,.35); animation: sos575 2s ease-in-out infinite; }
@keyframes sos575 { 50% { box-shadow: 0 0 6px rgba(194,29,36,.15); } }
.bit575 { color: #9a968a; }

/* SCP-1171 */
.glass1171 { position: relative; height: 230px; margin: 8px 0 12px; overflow: hidden; border: 10px solid #cfcab8; background: radial-gradient(ellipse at 60% 40%, #13200f, #040603 75%); }
.glass1171::after { content: ""; position: absolute; inset: 0; z-index: 3; pointer-events: none; background: linear-gradient(90deg, transparent calc(50% - 4px), #cfcab8 calc(50% - 4px) calc(50% + 4px), transparent calc(50% + 4px)); }
.msg1171 { position: absolute; inset: 0; z-index: 1; display: flex; align-items: center; justify-content: center; padding: 18px 24px; text-align: center; white-space: pre-line; font-family: var(--head); font-size: clamp(14px, 2.1vw, 19px); line-height: 1.35; letter-spacing: .12em; color: #a8ffb8; text-shadow: 0 0 10px rgba(120,255,150,.55); }
.msg1171.mir1171 { transform: scaleX(-1); }
.glass1171 canvas { position: absolute; inset: 0; z-index: 2; display: block; width: 100%; height: 100%; touch-action: none; cursor: crosshair; }
.glass1171.trail1171 .msg1171::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(104deg, transparent 0 46px, rgba(120,255,150,.08) 46px 49px); }
.glass1171.in1171 { border-color: #8a3a36; box-shadow: 0 0 22px rgba(194,29,36,.3); }
.ans1171 .btn:disabled { opacity: .35; cursor: default; }
.mist1171 { position: fixed; inset: 0; z-index: 740; pointer-events: none; background: radial-gradient(ellipse at 50% 50%, rgba(190,200,198,.08), rgba(190,200,198,.5)); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); animation: in575 3s ease; transition: opacity 2s; }
.mist1171.out { opacity: 0; }

/* SCP-650 */
.tele650 { display: grid; gap: 6px; font-family: var(--mono); font-size: 13px; }
.tele650 b { color: #e0c89a; }
.tele650 b.red { color: #ff4a3a; }
.st650 { position: fixed; z-index: 560; pointer-events: none; filter: drop-shadow(0 0 16px rgba(0,0,0,.95)); }
.st650 svg { display: block; height: 100%; width: auto; }
.st650.close650 { left: 50%; bottom: -8vh; height: 118vh; transform: translateX(-50%); opacity: .93; }

/* SCP-990 */
.night990 { position: relative; cursor: help; }
.night990:not(.open990) > * { filter: blur(5px); opacity: .45; -webkit-user-select: none; user-select: none; pointer-events: none; }
.night990:not(.open990)::before {
  content: "DOSTĘPNE WYŁĄCZNIE W GODZINACH 22:00-06:00 CZASU LOKALNEGO"; position: absolute; left: 50%; top: 70px; z-index: 2;
  width: max-content; max-width: 90%; transform: translateX(-50%) rotate(-3deg); padding: 8px 14px; text-align: center;
  border: 2px solid var(--red); background: rgba(10,2,3,.88); color: #ff6a6f; font-family: var(--head); font-size: 14px; letter-spacing: .16em;
}
.night990.open990 { cursor: auto; animation: in575 3s ease; }
.fman990 { position: absolute; left: 60%; bottom: 10%; z-index: 2; height: 44%; opacity: 0; pointer-events: none; }
.fman990 svg { display: block; height: 100%; width: auto; }
.fman990.blink990 { opacity: .85; }
.fman990.stay990 { opacity: .55; transition: opacity 12s; }
.man990 { position: fixed; left: 2vw; bottom: 0; z-index: 555; height: 46vh; opacity: 0; pointer-events: none; transform-origin: 50% 100%; transition: opacity 20s, transform 4s ease; filter: blur(.6px) drop-shadow(0 0 20px rgba(0,0,0,.9)); }
.man990 svg { display: block; height: 100%; width: auto; }
.man990.on { opacity: .6; }
.man990.near { transform: translateX(8vw) scale(1.4); opacity: .75; }
.sleep990 { position: fixed; inset: 0; z-index: 950; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; background: rgba(0,0,0,.93); animation: in575 3s ease; transition: opacity 1.2s; }
.sleep990 p { max-width: 600px; margin: 0; padding: 0 20px; font-family: var(--head); font-size: clamp(17px, 2.8vw, 26px); letter-spacing: .1em; color: #a8acb4; text-align: center; }
.sleep990.out { opacity: 0; }

/* SCP-020 */
.mold020 { position: fixed; inset: 0; z-index: 565; pointer-events: none;
  -webkit-mask-image: radial-gradient(circle var(--mr, 0px) at var(--x, -999px) var(--y, -999px), #000 0, rgba(0,0,0,.55) 50%, transparent 100%);
  mask-image: radial-gradient(circle var(--mr, 0px) at var(--x, -999px) var(--y, -999px), #000 0, rgba(0,0,0,.55) 50%, transparent 100%); }
.mold020 canvas { display: block; width: 100%; height: 100%; }
.uv020 { position: fixed; inset: 0; z-index: 564; pointer-events: none; background: radial-gradient(circle var(--mr, 0px) at var(--x, -999px) var(--y, -999px), rgba(130,70,255,.13), transparent 100%); }
body.cam020 .mold020 { -webkit-mask-image: none; mask-image: none; }
body.cam020 #app { filter: grayscale(.7) contrast(1.2) brightness(.85); }
.rec020 { position: fixed; top: 14px; left: 16px; z-index: 566; pointer-events: none; font-family: var(--mono); font-size: 12px; letter-spacing: .14em; color: #ff5359; text-shadow: 0 0 6px #000; }

/* SCP-002 */
.f002 { color: #e0a8a0; border-bottom: 1px dotted rgba(200,120,110,.6); }
.item-name.f002 { font-style: italic; }
.pulse002 { animation: pulse002 1.4s ease; }
@keyframes pulse002 { 0% { color: #ff4a3a; text-shadow: 0 0 10px rgba(255,60,40,.7); } }

body.calm .sos575 .btn, body.calm .pulse002 { animation: none; }
body.calm .dark575.flick575 { background: radial-gradient(circle var(--r, 200px) at var(--x, 50%) var(--y, 50%), rgba(0,0,0,0) 0%, rgba(0,0,0,.5) 55%, rgba(0,0,0,.985) 100%); }
