@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@400;600;700&display=swap");@import url("https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap");.flappy-overlay{position:fixed;inset:0;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px;background:color-mix(in srgb,var(--overlay-color),transparent 28%);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:auto;color:var(--text-primary);--flappy-width:min(92vw,calc((100dvh - 170px) * 0.65625))}.flappy-frame{position:relative;aspect-ratio:420/640}.flappy-frame,.flappy-tb{width:var(--flappy-width)}.flappy-tb{font-family:var(--font-pixel)}.flappy-tb .shitris-tb-title{white-space:nowrap;font-size:clamp(10px,3.2vw,15px);letter-spacing:clamp(1px,.9vw,4px)}.flappy-tb-mark{font-size:18px;line-height:1}.flappy-paused{font-family:var(--font-pixel)}.flappy-manager-blurb{margin:0 0 14px;font-size:14px;color:var(--text-secondary);line-height:1.5}.flappy-manager-list{list-style:none;margin:0 0 16px;padding:0;border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.flappy-manager-list li{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;font-size:14px;color:var(--text-primary)}.flappy-manager-list li+li{border-top:1px solid var(--border-color)}.flappy-manager-cost{color:var(--text-secondary)}.flappy-manager-hint{font-size:12px;color:var(--text-muted);line-height:1.4}.flappy-manager-success{margin:0 0 .5rem;font-size:14px;color:var(--success-color)}.flappy-cover{position:absolute;inset:0;z-index:5;display:flex;justify-content:center;padding:16px;background:var(--surface-1);overflow:hidden}.flappy-store{display:flex;flex-direction:column;gap:16px;width:100%;max-width:520px;max-height:100%;min-height:0}.flappy-manager-edit{padding:4px 10px;margin-left:10px;background:transparent;border:1px solid var(--border-color-strong);border-radius:6px;color:var(--text-primary);font-size:12px;cursor:pointer}.flappy-manager-row--editing{background:var(--surface-2)}.flappy-manager-cost{margin-left:auto}.flappy-manager-mode{margin:0 0 12px;font-size:14px;color:var(--text-secondary)}.flappy-manager-cancel-edit{background:none;border:none;padding:0;color:var(--theme-link);font-size:inherit;cursor:pointer;text-decoration:underline}.flappy-manager-preview{display:flex;flex-direction:column;gap:6px;margin:4px 0 12px}.flappy-manager-preview canvas{width:260px;height:120px;border:1px solid var(--border-color);border-radius:8px}.flappy-premium{position:relative;overflow:hidden}.flappy-premium:after{content:"";position:absolute;top:-20%;bottom:-20%;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,250,220,.45),transparent);transform:skewX(-18deg);animation:flappy-shine 3.2s ease-in-out infinite;pointer-events:none}@keyframes flappy-shine{0%,55%{left:-60%}85%,to{left:130%}}.spooky-fog{position:fixed;left:0;right:0;bottom:var(--whimsy-floor,0);height:calc(var(--spooky-fog-height) * 1vh);overflow:hidden;pointer-events:none;z-index:9999}.spooky-fog-layer{position:absolute;left:0;bottom:0;width:calc(100% + 1024px);height:100%;background:url(/spooky/fog-1.png) repeat-x 0 100%/1024px 100%;opacity:var(--spooky-fog-opacity);transform:translateX(0);animation:spooky-fog-drift 120s linear infinite;will-change:transform}.spooky-fog-layer--2{background-image:url(/spooky/fog-2.png);animation-duration:180s;animation-direction:reverse;opacity:calc(var(--spooky-fog-opacity) * .7)}@keyframes spooky-fog-drift{0%{transform:translateX(0)}to{transform:translateX(-1024px)}}.spooky-fog--paused .spooky-fog-layer,.spooky-fog--still .spooky-fog-layer{animation:none;transform:translateX(0);will-change:auto}.spooky-bat-glyph{fill:var(--text-secondary)}.spooky-bat-wing{transform-box:fill-box;animation:spooky-bat-flap-left 70ms ease-in-out infinite alternate}.spooky-bat-wing--left{transform-origin:100% 50%}.spooky-bat-wing--right{transform-origin:0 50%;animation-name:spooky-bat-flap-right}@keyframes spooky-bat-flap-left{0%{transform:rotate(-8deg) scaleX(1)}to{transform:rotate(24deg) scaleX(.45)}}@keyframes spooky-bat-flap-right{0%{transform:rotate(8deg) scaleX(1)}to{transform:rotate(-24deg) scaleX(.45)}}.spooky-bat-layer{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:9999}.spooky-bat{position:absolute;left:0;bottom:var(--bat-start);width:28px;transform:translate(-10vw) scale(var(--bat-scale));animation:spooky-bat-cross-left var(--bat-duration) var(--bat-delay) linear both}.spooky-bat--from-right{left:auto;right:0;transform:translate(10vw) scale(var(--bat-scale));animation-name:spooky-bat-cross-right}.spooky-bat-jitter{animation:spooky-bat-jitter var(--bat-jitter-duration,.9s) var(--bat-jitter-phase,0s) ease-in-out infinite alternate}.spooky-bat svg{display:block;width:100%;height:auto}@keyframes spooky-bat-cross-left{0%{transform:translate(-10vw) scale(var(--bat-scale))}to{transform:translate(110vw,calc(var(--bat-climb) * -1)) scale(var(--bat-scale))}}@keyframes spooky-bat-cross-right{0%{transform:translate(10vw) scale(var(--bat-scale))}to{transform:translate(-110vw,calc(var(--bat-climb) * -1)) scale(var(--bat-scale))}}@keyframes spooky-bat-jitter{0%{transform:translate(0) rotate(0deg)}22%{transform:translate(6px,-10px) rotate(-10deg)}41%{transform:translate(-5px,5px) rotate(8deg)}63%{transform:translate(8px,7px) rotate(13deg)}82%{transform:translate(-7px,-6px) rotate(-7deg)}to{transform:translate(3px,9px) rotate(5deg)}}.spooky-burst-layer{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:9999}.spooky-burst-bat{position:absolute;left:var(--origin-x);top:var(--origin-y);width:22px;transform:translate(-50%,-50%) scale(var(--bat-scale))}.spooky-burst-bat svg{display:block;width:100%;height:auto}.spooky-burst-bat-fly{animation:spooky-bat-scatter var(--burst-lifetime,.9s) var(--burst-delay) ease-out both}@keyframes spooky-bat-scatter{0%{transform:rotate(var(--burst-angle)) translateX(0) rotate(calc(var(--burst-angle) * -1));opacity:1}to{transform:rotate(var(--burst-angle)) translateX(var(--burst-distance)) rotate(calc(var(--burst-angle) * -1));opacity:0}}.spooky-web{position:fixed;top:0;left:0;width:110px;height:110px;opacity:.55;pointer-events:none;z-index:9999}@media (min-width:769px){body:has(.user-nav) .spooky-web{left:250px}}.spooky-ghost-layer{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:9999}.spooky-ghost{--ghost-tuck:-43px;position:absolute;left:var(--ghost-x);top:var(--ghost-y);width:72px;opacity:0;transform:translate(-50%,-50%) rotate(var(--ghost-angle)) translateX(var(--ghost-tuck));animation:spooky-ghost-peek var(--ghost-lifetime,4.2s) ease-in-out both}.spooky-ghost svg{display:block;width:100%;height:auto;transform:rotate(90deg)}@keyframes spooky-ghost-peek{0%{transform:translate(-50%,-50%) rotate(var(--ghost-angle)) translateX(var(--ghost-tuck));opacity:0}30%,65%{transform:translate(-50%,-50%) rotate(var(--ghost-angle)) translateX(calc(var(--ghost-tuck) + var(--ghost-peek)));opacity:.7}to{transform:translate(-50%,-50%) rotate(var(--ghost-angle)) translateX(var(--ghost-tuck));opacity:0}}.spooky-dev-trigger{position:fixed;right:12px;bottom:calc(var(--whimsy-floor, 0px) + 12px + var(--dev-slot, 0) * 40px);z-index:10001;padding:6px 10px;border:1px dashed var(--text-secondary);border-radius:6px;background:rgba(0,0,0,.7);color:var(--text-primary);font:inherit;font-size:12px;cursor:pointer;opacity:.8}.spooky-dev-trigger:hover{opacity:1}.pumpkin-carve{position:fixed;inset:0;z-index:10000;display:flex;flex-direction:column;align-items:center;background:radial-gradient(120% 90% at 50% 20%,#141428 0,#0b0b16 45%,#050508 100%);color:#e6e6ef;outline:none}.pumpkin-carve-close{position:absolute;top:16px;right:16px;z-index:1}.pumpkin-carve-stage{flex:1 1;min-height:0;width:100%;display:flex;align-items:center;justify-content:center;padding:64px 16px 4px;box-sizing:border-box}.pumpkin-carve-canvas{display:block;width:auto;height:auto;max-width:min(560px,100%);max-height:100%;cursor:crosshair;touch-action:none}.pumpkin-carve-hint{margin:0 0 8px;padding:0 16px;color:#8d8d9a;font-size:.8rem;text-align:center}.pumpkin-carve-panel{width:100%;max-width:868px;display:flex;flex-direction:column;gap:8px;padding:0 16px 16px;box-sizing:border-box}.pumpkin-carve-dimmed{opacity:.5}.shart-tool-btn.pumpkin-carve-tool-label{width:auto;gap:7px;padding:0 12px 0 10px;font-size:.85rem;font-weight:500}.pumpkin-carve-glow-label{color:var(--text-secondary);font-size:.9rem}.pumpkin-carve-snap-track{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:.75rem}.pumpkin-carve-snap-track .shart-slider{flex:1 1}.pumpkin-carve .color-picker-overlay{top:auto;bottom:calc(100% + 6px)}.pumpkin-carve-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pumpkin-carve-adopt{display:inline-flex;align-items:center;gap:8px;margin-left:auto;color:#dddde6;font-size:.9rem;cursor:pointer}.pumpkin-carve-adopt input{width:18px;height:18px;margin:0;accent-color:var(--theme-link);cursor:pointer}@media (max-width:768px){.pumpkin-carve-stage{padding:64px 8px 4px}.pumpkin-carve-panel .shart-toolbar{gap:10px;padding:8px}.pumpkin-carve-adopt{order:-1;width:100%;margin-left:0}}.pumpkin-patch{position:fixed;left:0;bottom:var(--whimsy-floor,0);z-index:150;width:145px;height:95px;pointer-events:none}.pumpkin-patch svg{display:block;width:100%;height:100%;overflow:visible}.pumpkin-patch image{pointer-events:none}.pumpkin-patch-hit{pointer-events:fill;cursor:pointer;outline:none}.pumpkin-patch-hit:focus-visible{stroke:#ffb347;stroke-width:1.5}@media (max-width:768px){.pumpkin-patch{width:114px;height:75px}}.pumpkin-avatar{position:relative;flex-shrink:0;width:var(--pumpkin-avatar-size);height:var(--pumpkin-avatar-size)}.pumpkin-avatar-image{position:absolute;left:-1.55%;top:-3.7%;width:103.1%;max-width:none;height:auto;object-fit:contain}.thread-section{background:var(--surface-1);padding:0 20px 12px;display:flex;justify-content:center}.thread-load-button{width:50%;display:block;margin:2em 0 8px 8px;padding:6px 14px;font-size:13px;color:var(--theme-link);background:transparent;border:1px solid var(--border-color-strong);border-radius:16px;cursor:pointer;transition:background .15s ease}.thread-load-button:hover:not(:disabled){background:var(--surface-2)}.thread-load-button:disabled{opacity:.6;cursor:default}.thread-chain{position:relative;width:100%}.thread-chain:before{content:"";position:absolute;top:0;bottom:0;left:39px;width:2px;background:var(--border-color-strong);opacity:.5}.thread-chain .post-container{position:relative}