/* Flatten resting paper paint, isolate the scene, and avoid scrolling blur work. */
.km-viewport{contain:layout paint style;isolation:isolate}
.km-static-canvas{position:absolute;left:0;top:0;width:1200px;height:565px;z-index:0;pointer-events:none;transform:translateZ(0);contain:strict}
.km-pile.km-static-surface .km-card .km-card-face{visibility:hidden;animation:none}
@media(hover:hover){.km-pile.km-static-surface .km-card:hover .km-card-face{visibility:visible}}
.km-pile.km-static-surface .km-card:focus-visible .km-card-face{visibility:visible}
.km-pile.km-static-surface .km-card.is-loose-origin .km-card-face{visibility:hidden}
.km-ground{filter:none;background:radial-gradient(ellipse,#324d342b,transparent 66%);translate:none!important}
.km-dialog::backdrop,.km-account-dialog::backdrop{backdrop-filter:none}
#km-about-section,.km-feedback-section{content-visibility:auto;contain-intrinsic-size:auto 360px}
.km-flight-layer{position:fixed;inset:0;z-index:9000;overflow:hidden;pointer-events:none;contain:strict}
.km-flying-card{position:absolute!important;left:0!important;top:0!important;pointer-events:none!important;will-change:transform;contain:layout style}
.km-flying-card .km-loose-controls{display:none}
.km-wall-crack{position:absolute;width:250px;height:250px;transform:translate(-50%,-50%);will-change:opacity}
.km-wall-crack svg{width:100%;height:100%}.km-wall-chip{position:absolute;width:7px;height:10px;background:#c8b88f;clip-path:polygon(0 0,100% 25%,65% 100%);pointer-events:none}
@media(prefers-reduced-motion:reduce){.km-flight-layer{display:none}}

/* Torn rim sits in front of the flying paper, hiding it as it crosses the opening. */
.km-wall-hole{z-index:10000;filter:drop-shadow(0 3px 3px #0d211e45)}
.km-wall-chip{z-index:10001}

.km-card.is-flown-away{visibility:hidden!important;pointer-events:none!important}

/* The lifted paper must remain a real drag target outside its exposed strip. */
.km-card-face{pointer-events:auto}
/* Fixed cue does not affect layout or mountain rendering. */
.km-throw-cue{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:10005;pointer-events:none;padding:11px 19px;border:1px solid #d5c394;border-radius:30px;background:#263c30;color:#fff7df;font:600 13px/1.3 system-ui;box-shadow:0 5px 18px #162c2520;white-space:nowrap}
.km-throw-cue[hidden]{display:none}
.km-throw-cue[data-edge=left]{left:18px;transform:none}.km-throw-cue[data-edge=right]{left:auto;right:18px;transform:none}
.km-wall-hole{width:270px;height:245px;filter:none;z-index:8999}
.km-flying-card{z-index:9000;transform-origin:50% 50%}
.km-wall-chip{background:#e8d9b6;box-shadow:1px 2px 1px #172d2726}
