/* SCP-085 */
.doc.host085 { position: relative; overflow-x: clip; }
.cassy085 { position: absolute; left: 0; top: 0; z-index: 20; width: 28px; height: 62px; opacity: 0; cursor: pointer; touch-action: none; transition: transform 1.4s ease-in-out, opacity .6s; filter: drop-shadow(0 0 4px rgba(255,248,230,.3)); }
.cassy085.on { opacity: 1; }
.cassy085 svg { display: block; width: 100%; height: 100%; overflow: visible; transition: translate .6s, opacity .6s; }
.cassy085.flip svg { transform: scaleX(-1); }
.cassy085.walk svg { animation: walk085 .32s ease-in-out infinite alternate; }
@keyframes walk085 { to { translate: 0 -3px; } }
.cassy085 .h085 { display: none; }
.cassy085.hat .h085 { display: inline; }
.cassy085 .ar085 { transform-box: fill-box; transform-origin: 0 0; }
.cassy085.wave .ar085 { animation: wave085 .3s ease-in-out 4 alternate; }
@keyframes wave085 { from { transform: rotate(-110deg); } to { transform: rotate(-150deg); } }
.cassy085.bump svg { animation: bump085 .6s ease; }
@keyframes bump085 { 30% { translate: -7px 0; } 60% { translate: 3px 0; } }
.cassy085.sad svg { translate: 0 5px; opacity: .55; }
.cassy085.sketch .ar085 { animation: sketch085 .16s linear infinite alternate; }
@keyframes sketch085 { from { transform: rotate(-60deg); } to { transform: rotate(-78deg); } }
.lock173 { color: var(--green); letter-spacing: .08em; }
.say085 {
  position: absolute; bottom: 100%; left: 50%; margin-bottom: 4px; width: max-content; max-width: 190px; padding: 5px 9px;
  background: #efe9da; color: #2a2724; border: 1px solid #8a8274; border-radius: 10px;
  font-family: 'Segoe Print', 'Comic Sans MS', cursive; font-size: 12px; line-height: 1.35;
  opacity: 0; transform: translateX(calc(-50% + var(--sx, 0px))) scale(.8); transition: opacity .25s, transform .25s; pointer-events: none;
}
.cassy085.talk .say085 { opacity: 1; transform: translateX(calc(-50% + var(--sx, 0px))) scale(1); }
.pad085 { display: flex; flex-wrap: wrap; gap: 6px; min-height: 96px; margin: 8px 0 10px; padding: 10px; background: #e8e2d2; border: 1px solid #8a8274; box-shadow: inset 0 0 20px rgba(120,100,60,.25); }
.d085 { width: 60px; height: 80px; }
.d085 svg { display: block; width: 100%; height: 100%; }
.d085 path, .d085 rect, .d085 circle { stroke-dasharray: 400; stroke-dashoffset: 400; animation: draw085 1.4s ease forwards; }
@keyframes draw085 { to { stroke-dashoffset: 0; } }
.d085.live svg { transform-origin: 50% 100%; animation: live085 1.6s ease-in-out infinite; }
@keyframes live085 { 50% { transform: rotate(3deg) translateY(-2px); } }
.draw085 { flex-wrap: wrap; gap: 6px; }
.draw085 .btn { margin-top: 0; padding: 7px 10px; }

/* SCP-105 */
.pols105 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 10px 0 14px; }
.pol105 { margin: 0; padding: 6px 6px 0; background: #ece6d8; box-shadow: 0 4px 12px rgba(0,0,0,.6); transform: rotate(-2deg); transition: opacity .45s, transform .45s; }
.pol105:nth-child(2) { transform: rotate(1.5deg); }
.pol105:nth-child(3) { transform: rotate(-1deg); }
.pol105.swap { opacity: 0; transform: translateY(8px) rotate(4deg); }
.pol105 figcaption { padding: 5px 2px 7px; font-family: 'Segoe Print', 'Comic Sans MS', cursive; font-size: 10.5px; line-height: 1.3; color: #3a3430; }
.pol105.open105 .sc105 { box-shadow: inset 0 0 18px rgba(255,220,180,.7); }
.sc105 { position: relative; aspect-ratio: 1; overflow: hidden; background: #333; transition: box-shadow .4s; }
.sc105::before { content: ""; position: absolute; }
.sc105::after { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(0deg, rgba(0,0,0,.12) 0 1px, transparent 1px 3px); animation: live105 3s ease-in-out infinite; }
@keyframes live105 { 50% { opacity: .4; } }
.sc105.s1 { background: linear-gradient(#8a9ea4 0 52%, #c8b89a 52% 70%, #6a6450 70%); }
.sc105.s1::before { left: -20%; right: -20%; top: 50%; height: 7%; background: rgba(240,240,230,.55); animation: wave105 4s ease-in-out infinite; }
@keyframes wave105 { 50% { transform: translateX(10%); } }
.sc105.s2 { background: linear-gradient(#6a665a 0 45%, #2c2a26 45%); }
.sc105.s2::before { left: 12%; right: 12%; top: 56%; height: 12%; background: #8a7a5a; box-shadow: 0 18px 0 #7a6a4a; }
.sc105.s3 { background: radial-gradient(ellipse at 50% 45%, #9aa090 0 8%, #3a3e3a 9% 30%, #141614 62%); }
.sc105.s4 { background: linear-gradient(#2a3040 0 42%, #4a4a4a 42%); }
.sc105.s4::before { left: 22%; top: 54%; width: 40%; height: 18%; background: #1a1a1e; border-radius: 6px 6px 2px 2px; box-shadow: 0 0 10px rgba(255,220,140,.35); }
.sc105.s5 { background: radial-gradient(circle at 50% 18%, #d8d0a0 0 4%, #3a3a36 5% 40%, #1a1a18 72%); }
.sc105.s5::before { left: 34%; top: 56%; width: 32%; height: 14%; background: #5a5046; }
.sc105.s6 { background: linear-gradient(90deg, #26282a 0 20%, #3a3c3e 20% 80%, #26282a 80%); }
.sc105.s6::before { left: 40%; top: 30%; width: 20%; height: 50%; background: #141618; }
.sc105.s7 { background: #1a0a0a; }
.sc105.s7::before { content: "[ZDJĘCIE WYCOFANE]"; inset: 0; display: flex; align-items: center; justify-content: center; text-align: center; font-family: var(--mono); font-size: 10px; color: #ff6a6f; background: repeating-linear-gradient(45deg, #0b0b0b 0 8px, #150607 8px 16px); }
.sc105.s8 { background: radial-gradient(ellipse at 50% 36%, #9ac0d8 0 14%, #2a3a48 15% 22%, #0a0c0e 52%); }
.sc105.s8::before { left: 32%; bottom: -6%; width: 36%; height: 46%; background: #050505; border-radius: 48% 48% 10% 10%; }
.fig-frame.open105 { outline: 2px solid rgba(255,220,180,.55); outline-offset: -2px; }
.hand105 { position: fixed; left: 0; top: 0; z-index: 880; display: flex; align-items: center; height: 34px; margin-top: -17px; transform-origin: 0 50%; pointer-events: none; filter: drop-shadow(0 4px 6px rgba(0,0,0,.6)); animation: in105 .4s ease; }
@keyframes in105 { from { opacity: 0; } }
.arm105 { display: block; flex: none; width: var(--l, 0px); height: 15px; border-radius: 0 6px 6px 0; background: linear-gradient(#9a7a64, #d8b49a 45%, #8a6a58); }
.hand105 svg { flex: none; width: 44px; height: 34px; margin-left: -4px; transform-origin: 0 50%; transition: transform .2s; }
.hand105.fist svg { transform: scaleX(.7); }
body.grab105, body.grab105 * { cursor: none !important; }

/* SCP-131 */
.pod131 { position: fixed; left: 0; top: 0; z-index: 860; width: 40px; height: 52px; transform-origin: 50% 100%; cursor: pointer; touch-action: none; filter: drop-shadow(0 6px 4px rgba(0,0,0,.55)); }
.pod131 svg { display: block; width: 100%; height: 100%; overflow: visible; }
.pod131.scared svg { animation: shiver131 .12s linear infinite; }
@keyframes shiver131 { 50% { translate: 1.5px 0; } }

/* SCP-184 */
.room184 { margin: 0 0 14px; padding: 2px 0 2px 16px; border-left: 2px solid var(--line-2); animation: in184 .8s ease; transition: opacity .8s, transform .8s; transform-origin: 0 0; }
@keyframes in184 { from { opacity: 0; transform: translateY(14px); } }
.room184 .copy184 { opacity: .8; }
.room184.d2 p { letter-spacing: .03em; word-spacing: .4em; }
.room184.d2 h2 { transform: skewX(-6deg); }
.room184.d2 .copy184 { font-style: italic; }
.room184.d3 { border-left-style: dashed; }
.room184.d3 p { transform: rotate(-.6deg); color: var(--text-dim); }
.room184.d3 h2 { transform: skewX(12deg) scaleY(1.2); color: #c8a860; }
.room184.d3 .copy184 { filter: blur(.4px); }
.room184.exit184 { border-left-color: var(--green); }
.room184.gone { opacity: 0; transform: scaleY(.6); }
.door184 { padding: 4px 10px; background: none; border: 1px dashed var(--line-2); color: var(--text-dim); font-family: var(--mono); font-size: 12px; cursor: pointer; }
.door184:disabled { cursor: default; border-style: solid; color: var(--text-mute); }
.badge184 { position: fixed; left: 18px; bottom: 18px; z-index: 740; padding: 8px 12px; border: 1px solid var(--line-2); background: rgba(8,10,11,.94); font-family: var(--mono); font-size: 10.5px; letter-spacing: .12em; line-height: 1.6; color: var(--text-mute); opacity: 0; transform: translateY(10px); transition: opacity .5s, transform .5s; pointer-events: none; }
.badge184.on { opacity: 1; transform: none; }
.badge184 b { color: var(--amber); }

/* SCP-261 */
.vend261 { max-width: 420px; margin: 8px auto; padding: 14px; background: linear-gradient(90deg, #070707, #1a1a1c 50%, #070707); border: 1px solid #2a2a2c; border-radius: 6px; }
.scr261 { padding: 6px 10px; background: #061208; border: 1px solid #2a3a2e; font-family: var(--mono); font-size: 22px; text-align: right; color: #8aff9a; text-shadow: 0 0 8px rgba(100,255,140,.5); }
.coins261 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin: 10px 0; }
.coins261 .btn, .vend261 .row2 .btn { margin-top: 0; }
.coins261 .btn { padding: 8px 0; font-family: var(--mono); letter-spacing: .05em; }
.vend261 .row2 { flex-wrap: wrap; gap: 6px; }
.vend261 .row2 input { width: 9em; font-family: var(--mono); }
.tray261 { position: relative; min-height: 70px; margin-top: 12px; padding: 10px 10px 18px; background: #050505; border: 1px solid #2a2a2a; box-shadow: inset 0 8px 16px rgba(0,0,0,.9); }
.tray261 > span { position: absolute; right: 8px; bottom: 4px; font-family: var(--mono); font-size: 9px; letter-spacing: .2em; color: #4a4a4a; }
.item261 { padding: 8px 10px; border-left: 3px solid #6aff8a; background: rgba(255,255,255,.04); font-size: 12.5px; line-height: 1.45; animation: drop261 .5s cubic-bezier(.3,1.4,.5,1); }
@keyframes drop261 { from { opacity: 0; transform: translateY(-30px); } }
.item261.t1 { border-left-color: var(--amber); }
.item261.t2 { border-left-color: var(--red); color: #e9a3a6; }
.item261.burst261 { animation: shake .4s; }

/* SCP-348 */
.bowl348 { position: relative; width: 200px; height: 110px; margin: 44px auto 12px; }
.bowl348 i { position: absolute; display: block; }
.bowl348 .b-body {
  left: 0; right: 0; top: 29px; bottom: 0; border-radius: 0 0 100px 100px / 0 0 80px 80px;
  background: radial-gradient(circle at 25% 50%, #6a9ac8 0 4px, transparent 5px), radial-gradient(circle at 50% 66%, #6a9ac8 0 4px, transparent 5px),
    radial-gradient(circle at 75% 50%, #6a9ac8 0 4px, transparent 5px), linear-gradient(90deg, #8a867c, #f4f2ea 35%, #dcd8cc 70%, #6a665c);
}
.bowl348 .b-rim { left: 0; right: 0; top: 14px; height: 32px; border-radius: 50%; background: #f6f4ee; box-shadow: inset 0 8px 14px rgba(0,0,0,.28); }
.bowl348 .soup348 { left: 10px; right: 10px; top: 19px; height: 22px; border-radius: 50%; background: radial-gradient(ellipse at 45% 40%, #f0c060, #c8862a 60%, #7a4a14); opacity: 0; transform: scale(.2); transition: transform 1.6s ease, opacity 1.2s; }
.bowl348.full .soup348 { opacity: 1; transform: none; }
.bowl348.salt .soup348 { opacity: .9; transform: none; background: radial-gradient(ellipse at 45% 40%, #c8d4d8, #7a8c94 60%, #3a4a52); }
.bowl348 .steam348 { left: 40px; right: 40px; bottom: 84px; height: 60px; opacity: 0; background: radial-gradient(ellipse at 30% 80%, rgba(255,250,240,.35), transparent 60%), radial-gradient(ellipse at 70% 60%, rgba(255,250,240,.28), transparent 60%); filter: blur(4px); transition: opacity 1.5s; }
.bowl348.full .steam348 { opacity: 1; animation: steam348 3s ease-in-out infinite; }
@keyframes steam348 { 50% { transform: translateY(-10px) scaleX(1.15); } }
.msg348 { position: absolute; left: 14px; right: 14px; top: 22px; z-index: 2; font-family: 'Segoe Print', 'Comic Sans MS', cursive; font-size: 12px; text-align: center; color: #6a8ab0; opacity: 0; transition: opacity 3s; }
.msg348.on { opacity: .45; }
.rest348box { position: fixed; inset: 0; z-index: 720; display: flex; align-items: center; justify-content: center; padding: 20px; background: radial-gradient(ellipse at 50% 60%, rgba(120,70,20,.45), rgba(10,6,2,.85) 75%); animation: in348 1.6s ease; transition: opacity 1.2s; }
.rest348box.out { opacity: 0; pointer-events: none; }
@keyframes in348 { from { opacity: 0; } }
.rest348box > div { max-width: 520px; padding: 28px; text-align: center; border: 1px solid rgba(255,190,120,.35); background: rgba(20,12,6,.92); box-shadow: 0 0 60px rgba(255,150,60,.18); }
.rest348box p { margin: 0 0 10px; color: #b8a080; font-size: 13px; }
.rest348box .big { margin: 0 0 14px; font-size: clamp(16px, 2.4vw, 21px); line-height: 1.55; color: #f2dcc0; }
.rest348box .btn { color: #f2c890; border-color: #b8864a; }
.rest348box .btn:hover { background: #b8864a; color: #000; }
body.rest348 #toasts { opacity: .25; transition: opacity 1s; }

@media (max-width: 560px) {
  .row2.draw085, .vend261 .row2 { flex-direction: row; }
  .pols105 { gap: 6px; }
  .pol105 figcaption { font-size: 9px; }
  .coins261 { grid-template-columns: repeat(2, 1fr); }
}

/* incydent 999-131 */
/* incydent 999-131: wirowanie, pęknięcie, krew */
.pod131.spin999 svg { animation: spin999 .16s linear infinite; }
@keyframes spin999 { to { transform: rotate(360deg); } }
.pod131.eaten131 svg { animation: none; transform: scale(1.8); opacity: 0; filter: saturate(2.2) hue-rotate(-25deg); transition: transform .14s ease-out, opacity .16s ease-out; }
.splat999 { position: absolute; z-index: 4; width: 52%; pointer-events: none; opacity: 0; transform: translate(-50%, -45%) scale(.2) rotate(var(--r)); animation: splat999 .2s cubic-bezier(.2,1.7,.4,1) forwards; filter: drop-shadow(0 1px 2px rgba(0,0,0,.7)); }
.splat999 svg { display: block; width: 100%; height: auto; overflow: visible; }
@keyframes splat999 { to { opacity: .96; transform: translate(-50%, -45%) scale(1) rotate(var(--r)); } }
.splat999 .drip { transform-box: fill-box; transform-origin: top; transform: scaleY(0); animation: drip999 3.4s ease-in forwards; animation-delay: var(--d); }
@keyframes drip999 { to { transform: scaleY(1); } }
.bloodflash999 { position: fixed; inset: 0; z-index: 760; pointer-events: none; background: radial-gradient(circle at 50% 45%, rgba(170,0,12,.6), rgba(70,0,0,.88)); animation: bloodflash999 1.5s ease-out forwards; }
@keyframes bloodflash999 { to { opacity: 0; } }
.fig-frame.still999 img { animation: none !important; filter: saturate(.55) brightness(.8) contrast(1.15); transition: filter 1.2s; }
.fig-frame.engulf999::before { content: ""; position: absolute; inset: -10%; z-index: 2; pointer-events: none; opacity: 0; transform: scale(.2);
  background: radial-gradient(circle at 50% 58%, rgba(74,98,24,.95) 0 22%, rgba(52,72,16,.82) 40%, rgba(20,30,6,0) 70%); animation: engulf999 1.8s ease-in forwards; }
@keyframes engulf999 { 40% { opacity: 1; } to { transform: scale(1.25); opacity: .92; } }
.fig-frame.dead131 img { filter: grayscale(1) brightness(.7) contrast(1.1); }
.fig-frame.dead131::before { content: "SYGNAŁ UTRACONY"; position: absolute; left: 0; right: 0; top: 46%; z-index: 3; padding: 8px 0; text-align: center; font-family: var(--mono); font-size: 13px; letter-spacing: .3em; color: #ff6a6f; background: rgba(0,0,0,.65); }
.pad085.grief085 { opacity: .45; filter: grayscale(.6); }
body.peek966 .figs966 { opacity: .5; transition-duration: .1s; }
.pol105.flash105 .sc105 { animation: flash105 .7s ease-out; }
@keyframes flash105 { from { filter: brightness(4); } to { filter: none; } }
.sc105.s131 { background: #525a58 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><rect width='100' height='100' fill='%234e5654'/><rect y='64' width='100' height='36' fill='%23313634'/><rect x='70' y='8' width='22' height='56' fill='%23262a29'/><path d='M34 28 Q46 46 47 57 Q48 70 34 70 Q20 70 21 57 Q22 46 34 28Z' fill='%23c8621e'/><circle cx='34' cy='57' r='7.4' fill='%23f4f4ee'/><circle cx='34.5' cy='57' r='4.4' fill='%232a8ad8'/><circle cx='34.5' cy='57' r='2.1' fill='%23050608'/><circle cx='34' cy='72' r='3.2' fill='%231a1a1a'/><path d='M62 34 Q73 50 74 60 Q75 72 62 72 Q49 72 50 60 Q51 50 62 34Z' fill='%23d2a82a'/><circle cx='62' cy='60' r='6.8' fill='%23f4f4ee'/><circle cx='61.5' cy='60' r='4' fill='%232a8ad8'/><circle cx='61.5' cy='60' r='1.9' fill='%23050608'/><circle cx='62' cy='74' r='3' fill='%231a1a1a'/></svg>") center / cover no-repeat; }

body.calm .sc105::after, body.calm .sc105.s1::before, body.calm .pod131.scared svg, body.calm .bowl348.full .steam348, body.calm .d085.live svg, body.calm .cassy085.walk svg { animation: none; }
