.kp{--kp-ink:#1b2a4a;--kp-sun:#ffd45c;--kp-coral:#ff6b6b;--kp-night:#1f2a5a;--kp-glow:#ffe38a;background:var(--bg);min-height:100vh;color:var(--ink);overflow-anchor:none;overflow-x:clip}.kp-little{--kp-accent:#7c68c8;--kp-big:64px;--kp-text:1.18rem}.kp-future{--kp-accent:#2d5cdf;--kp-big:52px;--kp-text:1.02rem}.kp-bar{z-index:20;background:color-mix(in srgb,var(--surface) 92%,transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 16px;display:flex;position:relative}.kp-back{color:var(--accent-text);align-items:center;min-height:44px;padding:0 4px;font-weight:800;text-decoration:none;display:inline-flex}.kp-title{font-family:var(--f-display);flex:140px;min-width:0;font-size:1rem;font-weight:800;line-height:1.2}.kp-controls{flex-wrap:wrap;gap:6px;display:flex}.kp-tog{border:2px solid var(--line);background:var(--surface);min-width:44px;min-height:44px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:0 12px;font-size:.92rem;font-weight:700;display:inline-flex}.kp-tog[aria-pressed=true]{border-color:var(--kp-accent);background:color-mix(in srgb,var(--kp-accent) 14%,var(--surface))}.kp-tog:disabled{opacity:.5;cursor:not-allowed}.kp-icon{padding:0}.kp-icon,.kp-tog{justify-content:center}.kp-panel{background:var(--surface);border:1px solid var(--line);width:min(340px,100vw - 32px);box-shadow:var(--shadow);border-radius:18px;gap:10px;padding:14px;display:grid;position:absolute;top:calc(100% + 6px);right:16px}.kp-row{align-items:center;gap:10px;min-height:40px;font-weight:700;display:flex}.kp-row input[type=checkbox]{width:22px;height:22px}.kp-vol{gap:4px;display:grid}.kp-vol input{width:100%}.kp-small{color:var(--ink-soft);font-size:.9rem}.kp-materials{align-items:center;gap:10px;display:flex}.kp-materials img{object-fit:contain;flex:none;width:56px;height:56px}@media (max-width:430px){.kp-tog-l{font-size:.82rem}.kp-tog{padding:0 9px}}.kp-stage{max-width:1120px;margin:0 auto;padding:14px 16px 40px}.kp-split,.kp-mc{align-items:start;gap:16px;display:grid}@media (min-width:900px){.kp-split{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}.kp-mc{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}}.kp-copy{background:var(--surface);border:1px solid var(--line);border-radius:22px;gap:12px;min-width:0;padding:16px;display:grid}.kp-copy h1,.kp-copy h2{font-family:var(--f-display);outline:none;scroll-margin-top:160px;line-height:1.1}.kp-copy h1{font-size:clamp(1.8rem,5vw,2.4rem)}.kp-ask{font-size:clamp(1.5rem,4.6vw,2rem)}.kp-kicker{color:var(--ink-soft);font-size:.92rem;font-weight:800}.kp-help{font-weight:700;font-size:var(--kp-text)}.kp-big{min-height:var(--kp-big);border:3px solid var(--kp-ink);font:inherit;font-family:var(--f-display);cursor:pointer;color:var(--kp-ink);background:var(--kp-sun);box-shadow:0 4px 0 var(--kp-ink);border-radius:999px;padding:0 24px;font-size:1.25rem;font-weight:800;transition:transform .12s}.kp-big:active{box-shadow:0 1px 0 var(--kp-ink);transform:translateY(3px)}.kp-big:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.kp-go{justify-self:start}.kp-read{background:#fff;justify-self:start}.kp-read-sm{border:2px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;justify-self:start;padding:0 14px;font-weight:800}.kp-row-btns{flex-wrap:wrap;gap:10px;display:flex}.kp :focus-visible{outline:4px solid var(--blue);outline-offset:3px}.kp-play-top{gap:4px;padding:10px 14px}@media (min-width:900px){.kp-play{grid-template-rows:auto 1fr;grid-template-areas:"scene top""scene bottom"}.kp-play .kp-scene{grid-area:scene}.kp-play-top{grid-area:top}.kp-play-bottom{grid-area:bottom}}.kp-line{background:var(--surface-2);font-size:var(--kp-text);border-radius:16px;grid-template-columns:auto 1fr auto;align-items:start;gap:10px;padding:10px 12px;line-height:1.45;transition:box-shadow .2s;display:grid}.kp-line:not(:has(.kp-line-face)){grid-template-columns:1fr auto}.kp-line.is-reading{box-shadow:0 0 0 3px var(--kp-accent)}.kp-line p{margin:0}.kp-now{background:color-mix(in srgb,var(--kp-sun) 55%,transparent);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:6px}.kp-who{color:var(--ink-soft);font-size:.85rem;font-weight:800;display:block}.kp-replay{border:2px solid var(--line);background:var(--surface);cursor:pointer;min-width:44px;min-height:44px;color:var(--ink);border-radius:12px;font-size:.95rem}.kp-replay:disabled{opacity:.35}.kp-chip{border:2px solid var(--kp-ink);width:34px;height:34px;color:var(--kp-ink);border-radius:50%;place-items:center;font-weight:800;display:inline-grid}.kp-chip-luna{background:#c9bdf4}.kp-chip-remy{background:#a9dd9f}.kp-portrait{align-items:end;width:44px;height:44px;overflow:hidden}.kp-portrait img{width:100%;height:auto;margin-top:6%;display:block}.kp-say{min-height:64px}.kp-say:empty{min-height:0}.kp-log{gap:8px;display:grid}.kp-log-open{border-left:6px solid #34c38f}.kp-log-hold{border-left:6px solid #e0a93b}.kp-log-note{border-left:6px solid var(--kp-accent)}.kp-scene{border:3px solid var(--kp-ink);background:var(--kp-night);box-shadow:0 10px 0 -4px color-mix(in srgb,var(--kp-ink) 30%,transparent);border-radius:26px;position:relative;overflow:hidden;container-type:inline-size}.kp-pond{--vbx:0;--vbw:360;aspect-ratio:360/440;justify-self:center;width:100%;max-width:520px}.kp-pond[data-layout=wide]{aspect-ratio:660/440;max-width:none}@media (min-width:1100px){.kp-split:has(.kp-pond[data-layout=wide]){grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}}.kp-plate{pointer-events:none;height:100%;position:absolute;top:0}.kp-plate-layer{transform:translate(calc(var(--px,0) * var(--k) * var(--amp-x)),calc(var(--py,0) * var(--k) * var(--amp-y))) scale(var(--s));will-change:transform;position:absolute;inset:0}.kp-plate-layer img,.kp-on-water{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block;position:absolute;inset:0}.kp-maze{aspect-ratio:1536/1024;justify-self:center;width:100%}@media (min-resolution:3.51x){.kp-maze{max-width:877px}}.kp-maze-plate{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block;position:absolute;inset:0}.kp-bg{width:100%;height:100%;display:block;position:absolute;inset:0}.kp-hot{z-index:3;cursor:pointer;color:#fff;background:0 0;border:3px dashed #0000;border-radius:22px;justify-content:center;align-items:flex-end;padding:0;display:flex;position:absolute}.kp-hot-lantern,.kp-hot-place{width:max(calc(104 / var(--vbw,360) * 100%),96px);height:max(23.7%,96px);translate:-50%}.kp-hot:hover{border-color:#ffffff73}.kp-hot.sel{border:3px solid var(--kp-sun);background:color-mix(in srgb,var(--kp-sun) 12%,transparent)}.kp-hot-label{background:color-mix(in srgb,var(--kp-ink) 82%,transparent);color:#fff6e0;font-weight:800;font-size:clamp(.7rem,calc(11.5 / var(--vbw,360) * 100cqw),.95rem);text-align:center;border-radius:10px;max-width:100%;margin-bottom:-2px;padding:3px 7px;line-height:1.1}.kp-hot-place .kp-hot-label{margin-top:-4px;margin-bottom:auto}.kp-hot-place.ready{border-color:color-mix(in srgb,var(--kp-sun) 70%,transparent);animation:1.8s ease-in-out infinite kp-invite}@keyframes kp-invite{50%{border-color:#0000}}.kp-hot-wall{border-radius:50%;width:max(16%,48px);height:max(22%,48px);translate:-50% -50%}.kp-hot-wall.planned{border-color:#0000}.kp-actor{width:calc(108 / var(--vbw,360) * 100cqw);translate:calc((var(--x) - var(--vbx,0)) / var(--vbw,360) * 100cqw - 50%) calc(var(--y) / var(--vbw,360) * 100cqw - 100%);pointer-events:none;z-index:2;transition:translate .62s cubic-bezier(.3,.7,.3,1);position:absolute;top:0;left:0}.kp-luna{width:calc(100.8 / var(--vbw,360) * 100cqw)}.kp-stump{left:12%;right:12%;bottom:calc(-10.8 / var(--vbw,360) * 100cqw);height:calc(25.2 / var(--vbw,360) * 100cqw);border:3px solid var(--kp-ink);background:#5a3a2a;border-radius:50%/40%;position:absolute}.kp-hopper{animation:.62s cubic-bezier(.3,.7,.3,1) kp-hop;display:block}@keyframes kp-hop{0%{transform:none}45%{transform:translateY(-18%)scale(.96,1.05)}85%{transform:translateY(0)scale(1.06,.93)}to{transform:none}}.kp-mascot{display:block;position:relative}.kp-body{transform-origin:50% 100%;display:block}.kp-breathe{transform-origin:50% 100%;animation:3.8s ease-in-out infinite kp-breathe;display:block;position:relative}.kp-pose{width:100%;height:auto;filter:saturate(calc(1 - var(--pale,0) * .45)) brightness(calc(1 + var(--pale,0) * .06));transition:filter 1.2s;display:block;overflow:visible}.kp-prev{animation:.22s forwards kp-fadeout;position:absolute;inset:0}.kp-cur{animation:.22s kp-fadein}@keyframes kp-fadeout{to{opacity:0}}@keyframes kp-fadein{0%{opacity:0}}@keyframes kp-breathe{50%{transform:scale(1.008,1.018)}}.kp-body[data-act=hop]{animation:.6s cubic-bezier(.3,.7,.3,1) kp-a-hop}.kp-body[data-act=cheer]{animation:.9s cubic-bezier(.3,.7,.3,1) kp-a-cheer}.kp-body[data-act=lean]{animation:1s ease-in-out kp-a-lean}.kp-body[data-act=gasp]{animation:.45s cubic-bezier(.3,1.4,.5,1) kp-a-gasp}.kp-body[data-act=shiver]{animation:.7s ease-in-out kp-a-shiver}.kp-body[data-act=settle]{animation:1.4s ease-in-out kp-a-settle}.kp-body[data-act=nod]{animation:.8s ease-in-out kp-a-nod}.kp-body[data-act=look]{animation:1.2s ease-in-out kp-a-look}.kp-body[data-act=stretch]{animation:1.4s ease-in-out kp-a-stretch}.kp-body[data-act=wiggle]{animation:1s ease-in-out kp-a-wiggle}.kp-body[data-act=stride]{animation:.9s ease-in-out kp-a-stride}@keyframes kp-a-hop{40%{transform:translateY(-14%)scale(.95,1.06)}80%{transform:scale(1.05,.94)}}@keyframes kp-a-cheer{20%{transform:scale(1.06,.9)}50%{transform:translateY(-10%)scale(.94,1.1)}75%{transform:scale(1.04,.96)}}@keyframes kp-a-lean{40%,70%{transform:rotate(-6deg)translate(-3%)}}@keyframes kp-a-gasp{40%{transform:scale(1.09)translateY(-3%)}}@keyframes kp-a-shiver{15%{transform:rotate(-3deg)}35%{transform:rotate(3deg)}55%{transform:rotate(-2deg)}75%{transform:rotate(2deg)}}@keyframes kp-a-settle{40%{transform:scale(1.03,.93)}70%{transform:scale(.99,1.01)}}@keyframes kp-a-nod{25%{transform:rotate(4deg)}50%{transform:rotate(-1deg)}75%{transform:rotate(3deg)}}@keyframes kp-a-look{30%,70%{transform:rotate(-5deg)translate(-2%)}}@keyframes kp-a-stretch{35%,60%{transform:scale(.95,1.1)}85%{transform:scale(1.03,.96)}}@keyframes kp-a-wiggle{10%,50%,90%{transform:rotate(-5deg)translate(-2%)}30%,70%{transform:rotate(5deg)translate(2%)}}@keyframes kp-a-stride{40%{transform:translate(4%)scale(1.03)}}.kp-body[data-act=sway]{animation:1.3s ease-in-out kp-a-sway}@keyframes kp-a-sway{25%{transform:rotate(-4deg)}60%{transform:rotate(3deg)}85%{transform:rotate(-1deg)}}.kp-art{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:auto;display:block}.kp-mascot[data-art] .kp-breathe{animation:3.8s ease-in-out infinite kp-bob}.kp-mascot[data-art][data-speaking] .kp-breathe{animation:.9s ease-in-out infinite kp-talk}@keyframes kp-bob{50%{transform:translateY(-1.5%)scale(1.01,1.015)}}@keyframes kp-talk{25%{transform:rotate(-1.5deg)scale(1.015)}75%{transform:rotate(1.5deg)scale(1.015)}}.kp-luna:has([data-art]){width:calc(79.2 / var(--vbw,360) * 100cqw)}.kp-poses{transform-origin:50% 97%;width:100%;display:block;position:relative}.kp-poses .kp-layer{opacity:0;transition:opacity .13s linear;display:block;position:absolute}.kp-poses svg.kp-layer{width:100%;height:100%;inset:0}.kp-poses .kp-layer[data-on]{opacity:1}.kp-pose-art img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.kp-mascot[data-pose-set] .kp-breathe{animation:3.8s ease-in-out infinite kp-bob}.kp-mascot[data-pose-set][data-speaking] .kp-breathe{animation:.9s ease-in-out infinite kp-talk}.kp-rig{width:100%;display:block;position:relative}.kp-rig-part{transition:rotate .45s cubic-bezier(.3,1.3,.5,1);display:block;position:absolute}.kp-rig-part img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.kp-rig-far,.kp-rig-near{animation:.45s cubic-bezier(.3,1.4,.5,1) kp-rig-in}@keyframes kp-rig-in{0%{transform:rotate(14deg)}}.kp-rig-near{animation-name:kp-rig-in-n}@keyframes kp-rig-in-n{0%{transform:rotate(-14deg)}}.kp-rig-head{animation:6s ease-in-out infinite kp-rig-tilt}@keyframes kp-rig-tilt{30%{transform:rotate(-2.2deg)}70%{transform:rotate(1.6deg)}}.kp-rig[data-gesture=think] .kp-rig-head{animation:none;rotate:-7deg}.kp-rig[data-speaking] .kp-rig-head{animation:.8s ease-in-out infinite kp-rig-talk}@keyframes kp-rig-talk{30%{transform:rotate(-3deg)translateY(-1%)}70%{transform:rotate(1.5deg)}}.kp-rig-lantern{animation:3.2s ease-in-out infinite kp-rig-sway}@keyframes kp-rig-sway{25%{transform:rotate(6deg)}75%{transform:rotate(-6deg)}}.kp-rig-tail{animation:4.4s ease-in-out infinite kp-rig-tail}@keyframes kp-rig-tail{50%{transform:rotate(5deg)}}.kp-rig[data-gesture=wave] .kp-rig-near{animation:.45s cubic-bezier(.3,1.4,.5,1) kp-rig-in-n,.7s ease-in-out .45s 4 kp-rig-wave}.kp-rig[data-gesture=cheer] .kp-rig-near{animation:.45s cubic-bezier(.3,1.4,.5,1) kp-rig-in-n,.6s ease-in-out .45s 3 kp-rig-wave}.kp-rig[data-gesture=cheer] .kp-rig-far{animation:.45s cubic-bezier(.3,1.4,.5,1) kp-rig-in,.6s ease-in-out .45s 3 kp-rig-pump}@keyframes kp-rig-wave{50%{transform:rotate(-14deg)}}@keyframes kp-rig-pump{50%{transform:rotate(10deg)}}.kp-mascot[data-rig][data-speaking] .kp-breathe{animation:3.8s ease-in-out infinite kp-bob}.kp-rig-chin{animation:.45s cubic-bezier(.3,1.4,.5,1) kp-rig-in-n}.kp-rig-face{opacity:0;transition:opacity .1s linear,rotate .45s cubic-bezier(.3,1.3,.5,1)}.kp-rig-face[data-on]{opacity:1}.kp-rig-fig{opacity:0;transition:opacity .16s linear;display:block;position:absolute}.kp-rig-fig img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.kp-rig-fig[data-on]{opacity:1}.kp-rig-fig[data-fig^=walk]{transition-duration:60ms}.kp-rig-part{transition:rotate .45s cubic-bezier(.3,1.3,.5,1),opacity .16s linear}.kp-rig[data-figure] .kp-rig-part{opacity:0!important}.kp-luna.is-walking .kp-mascot{animation:1.8s cubic-bezier(.25,.6,.4,1) both kp-walk-in}@keyframes kp-walk-in{0%{transform:translate(-120%)}}.kp-rig[data-rig-key=luna\/3-4][data-gesture=think] .kp-rig-head{rotate:0deg}.kp-rig[data-gesture=flap] .kp-rig-part{animation:none}.kp-rig[data-cycle=fly] .kp-rig-part,.kp-rig[data-cycle=fly] .kp-rig-fig{transition:opacity 40ms linear}.kp-rig[data-cycle=dance] .kp-rig-fig{transition-duration:80ms}.kp-luna.is-running .kp-mascot{animation:.8s cubic-bezier(.3,.5,.4,1) both kp-run-in}@keyframes kp-run-in{0%{transform:translate(-70%)}25%{transform:translate(-50%,-2.5%)}50%{transform:translate(-30%)}75%{transform:translate(-12%,-2.5%)}to{transform:none}}.kp-luna.is-flying .kp-mascot{animation:1.5s ease-in-out both kp-fly-up}@keyframes kp-fly-up{0%{transform:none}40%,62%{transform:translate(calc(var(--fly-x,0) / var(--vbw,360) * 100cqw),calc(var(--fly-y,-60) / var(--vbw,360) * 100cqw))}51%{transform:translate(calc(var(--fly-x,0) / var(--vbw,360) * 100cqw),calc((var(--fly-y,-60) - 4) / var(--vbw,360) * 100cqw))}to{transform:none}}.kp-luna:has([data-rig]){width:calc(128.4 / var(--vbw,360) * 100cqw)}.kp-luna:has([data-rig]) .kp-stump{left:26%;right:26%}.kp-warm{opacity:calc(var(--lit,0) * .045);transition:opacity 1.2s}.kp-stars circle{animation:5s ease-in-out infinite kp-twinkle;animation-delay:calc(var(--i) * -.7s)}@keyframes kp-twinkle{50%{opacity:.4}}.kp-moonref{opacity:calc(.12 + var(--lit,0) * .28);transform-box:fill-box;transform-origin:50%;transform:scaleX(calc(.5 + var(--lit,0) * .17));transition:opacity 1.2s,transform 1.2s}.kp-ripples{animation:7s ease-in-out infinite alternate kp-drift}@keyframes kp-drift{to{transform:translate(6px)}}.kp-bloom{transform-box:view-box;opacity:0;transition:opacity .25s ease-out .3s,transform .4s cubic-bezier(.3,1.4,.5,1) .3s;transform:scale(.85)}.kp-bloom.open{opacity:1;transform:none}.kp-lamp{mix-blend-mode:screen;opacity:0;transition:opacity .6s}.kp-lantern.blink .kp-lamp{animation:1.9s ease-in-out infinite kp-blink}@keyframes kp-blink{0%,55%,to{opacity:.08}70%,80%{opacity:.9}}.kp-lantern.on .kp-lamp{opacity:1}.kp-pool{opacity:0;transition:opacity 1s}.kp-lantern.on .kp-pool{opacity:1}.kp-head{transition:transform .35s cubic-bezier(.3,1.4,.5,1)}.kp-lantern.sel .kp-head{transform:translateY(-6px)scale(1.1)}.kp-lantern.on .kp-head{animation:.5s ease-out kp-lit-pop}@keyframes kp-lit-pop{40%{transform:scale(1.06)}}.kp-worms circle{opacity:0}.kp-lantern.on .kp-worms circle{opacity:1;animation:4s ease-in-out infinite alternate kp-float;animation-delay:calc(var(--i) * -1s);transition:opacity 1s}@keyframes kp-float{to{transform:translate(4px,-8px)}}.kp-place{transition:opacity .3s}.kp-place-art{pointer-events:none;z-index:1;transform-origin:50% 100%;transition:transform .3s;position:absolute;translate:-50%}.kp-place-art img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 3px #1b2a4a59);width:100%;height:auto;display:block}.kp-scene:has(.kp-hot-place.ready) .kp-place-art{animation:1.8s ease-in-out infinite kp-place-invite}@keyframes kp-place-invite{50%{transform:translateY(-3%)scale(1.03)}}.kp-bud{transform-box:view-box;transition:opacity .13s linear .3s,transform .3s .3s}.kp-bud.gone{opacity:0;transform:scale(.85)}.kp-fireflies{pointer-events:none;position:absolute;inset:0}.kp-fireflies i{background:var(--kp-glow);width:7px;height:7px;box-shadow:0 0 10px 3px color-mix(in srgb,var(--kp-glow) 70%,transparent);left:calc(6% + var(--i) * 9%);opacity:0;animation:3.4s ease-out forwards kp-rise;animation-delay:calc(var(--i) * .18s);border-radius:50%;position:absolute;bottom:12%}@keyframes kp-rise{0%{opacity:0;transform:translateY(0)}20%{opacity:1}to{opacity:.6;transform:translateY(calc(-40cqw - var(--i) * 2cqw)) translateX(calc((var(--i) - 5) * 1.2cqw))}}.kp-route{stroke-dashoffset:0;animation:3s linear infinite kp-march}@keyframes kp-march{to{stroke-dashoffset:-58px}}.kp-wall{pointer-events:none;z-index:1;position:absolute}.kp-wall-state{opacity:0;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;height:auto;transition:opacity .26s ease-in;display:block;position:absolute}.kp-wall-state.on{opacity:1;z-index:1;transition:opacity .26s ease-out}.kp-wall-glow{opacity:0;background:radial-gradient(closest-side,#ffe38ad9,#ffd45c73 55%,#0000);border-radius:50%;transition:opacity .25s;position:absolute;inset:18% 12% 20%}.kp-wall:not(.open) .kp-wall-glow{opacity:.4}.kp-wall.active .kp-wall-glow{opacity:1;animation:2.4s ease-in-out infinite kp-wall-pulse}@keyframes kp-wall-pulse{50%{opacity:.5}}.kp[data-motion=reduce] .kp-wall.active .kp-wall-glow{opacity:.85;animation:none}.kp-wall-ring{border:3px solid var(--kp-sun);box-shadow:0 0 0 2px color-mix(in srgb,var(--kp-ink) 60%,transparent);opacity:0;z-index:2;border-radius:50%;transition:opacity .25s;position:absolute;inset:20% 12% 22%}.kp-wall.active .kp-wall-ring{opacity:1}.kp-wall.hold .kp-wall-state.on{animation:.6s ease-in-out 2 kp-wall-shake}@keyframes kp-wall-shake{25%{translate:-1.5%}75%{translate:1.5%}}.kp[data-motion=reduce] .kp-wall.hold .kp-wall-state.on{animation:none}.kp-wall-tag{z-index:2;white-space:nowrap;pointer-events:none;background:color-mix(in srgb,var(--kp-ink) 84%,transparent);color:#fff6e0;text-align:center;border-radius:9px;align-items:center;gap:4px;width:max-content;max-width:46%;padding:2px 6px;font-size:clamp(.68rem,1.9cqw,.9rem);font-weight:800;line-height:1.1;display:inline-flex;position:absolute;translate:-50% -50%;box-shadow:0 1px 3px #00000059}.kp-wall-tag[data-anchor=r]{translate:0 -50%}.kp-wall-tag[data-anchor=l]{white-space:normal;text-align:left;max-width:37%;translate:0 -50%}.kp-wall-tag.open{color:#9ee6b8}.kp-wall-num{background:var(--kp-sun);width:1.5em;height:1.5em;color:var(--kp-ink);border:2px solid var(--kp-ink);border-radius:50%;flex:none;place-items:center;display:inline-grid}.kp-centre-glow{opacity:0;transition:opacity 1.2s}.kp-maze.is-lit .kp-centre-glow{opacity:1}.kp-marker{width:4.4cqw;height:4.4cqw;translate:calc(var(--x) / 1536 * 100cqw - 50%) calc(var(--y) / 1536 * 100cqw - 50%);z-index:2;pointer-events:none;transition:translate .1s linear;position:absolute;top:0;left:0}.kp-marker i{border:2px solid var(--kp-ink);background:#ff6b6b;border-radius:50%;width:100%;height:100%;display:block;box-shadow:0 0 0 4px #ffd2b88c,0 0 16px 6px #ff6b6b73}.kp-mc-scene{gap:10px;min-width:0;scroll-margin-top:84px;display:grid;position:relative}.kp-comms{border:3px solid var(--kp-ink);color:#f4e3c8;background:#16203f;border-radius:22px;grid-template-columns:minmax(84px,26%) 1fr;align-items:end;gap:10px;min-height:150px;padding:8px 10px 0;display:grid}.kp-finn{pointer-events:none;align-self:end}.kp-comms-say{align-self:center;gap:6px;min-width:0;padding-bottom:10px;display:grid}.kp-status{color:#c6cae6;font-size:.9rem}.kp-status b{color:#ffd45c}.kp-comms .kp-line{color:#fff4de;background:#22305c;font-size:.98rem}.kp-comms .kp-replay{color:#fff4de;background:#16203f;border-color:#3a4a80}.kp-plan{gap:8px;margin:0;padding:0;list-style:none;display:grid}.kp-plan li{align-items:stretch;gap:6px;display:flex}.kp-plan-main{text-align:left;border:2px solid var(--line);background:var(--surface-2);min-height:52px;color:var(--ink);font:inherit;cursor:pointer;border-radius:14px;flex:1;grid-template-columns:auto 1fr;align-items:center;gap:2px 10px;padding:6px 12px;display:grid}.kp-plan-main b{background:var(--kp-sun);width:30px;height:30px;color:var(--kp-ink);border:2px solid var(--kp-ink);border-radius:50%;grid-row:span 2;place-items:center;display:grid}.kp-plan-main span{font-weight:800}.kp-plan-main em{color:var(--ink-soft);font-size:.88rem;font-style:normal}.kp-plan li.active .kp-plan-main{border-color:var(--kp-accent);box-shadow:0 0 0 2px var(--kp-accent)}.kp-plan li.done .kp-plan-main{opacity:.85;border-color:#34c38f}.kp-plan li.holding .kp-plan-main{border-color:#e0a93b}.kp-plan-move{flex-direction:column;gap:4px;display:flex}.kp-plan-move button{border:2px solid var(--line);background:var(--surface);min-width:44px;min-height:24px;color:var(--ink);cursor:pointer;border-radius:10px;flex:1}.kp-plan-move button:disabled{opacity:.35}.kp-tools{border:2px solid var(--line);border-radius:16px;flex-wrap:wrap;gap:8px;margin:0;padding:10px;display:flex}.kp-tools legend{padding:0 6px;font-weight:800}.kp-tool{border:2px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;padding:0 14px;font-weight:700}.kp-tool[aria-pressed=true]{background:var(--kp-accent);border-color:var(--kp-accent);color:#fff}.kp-tool:disabled{opacity:.45;cursor:not-allowed}.kp-think{border-top:2px dashed var(--line);gap:6px;padding-top:10px;display:grid}.kp-cards{pointer-events:none;z-index:3;display:flex;position:absolute;top:4%;left:4%}.kp-cards span{border:2px solid var(--kp-ink);width:clamp(38px,7vw,64px);height:clamp(50px,9vw,84px);color:var(--kp-ink);background:#fff6e0;border-radius:8px;place-items:center;margin-right:-12px;font-weight:800;animation:.6s cubic-bezier(.3,1.4,.5,1) both kp-deal;display:grid}.kp-cards span:first-child{animation-delay:.6s;rotate:-10deg}.kp-cards span:nth-child(2){animation-delay:.8s;rotate:0deg}.kp-cards span:nth-child(3){animation-delay:1s;rotate:10deg}@keyframes kp-deal{0%{opacity:0;transform:translateY(40%)scale(.6)}}.kp-faces{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.kp-face{border:3px solid var(--kp-ink);background:var(--surface-2);min-height:112px;color:var(--ink);font:inherit;cursor:pointer;border-radius:20px;place-items:center;gap:4px;padding:8px;font-weight:800;display:grid}.kp-face svg{background:#3d4296;border-radius:50%}.kp-act{background:#3d4296;border-radius:50%;place-items:end center;width:88px;height:88px;display:grid;overflow:hidden}.kp-act img{object-fit:contain;object-position:50% 100%;width:92%;height:92%;display:block}.kp-act .kp-mascot{width:96%;margin-bottom:-2%}.kp-act .kp-breathe{animation:none!important}.kp-progress{gap:6px;margin:0;padding:0;font-weight:700;list-style:none;display:grid}.kp-progress li{color:var(--ink-soft);align-items:center;gap:8px;display:flex}.kp-progress li.on{color:var(--ink)}.kp-dot{border:2px solid var(--kp-ink);background:#3a3f72;border-radius:50%;flex:none;width:16px;height:16px}.kp-progress li.on .kp-dot{background:var(--kp-glow);box-shadow:0 0 8px 2px color-mix(in srgb,var(--kp-glow) 70%,transparent)}.kp-finale{text-align:left}.kp-stone{justify-items:start;gap:4px;display:grid}.kp-stone svg{width:120px;height:120px}.kp-stone-fill{transform-box:fill-box;transform-origin:50%;animation:1.2s cubic-bezier(.3,1.3,.5,1) .4s both kp-fill}.kp-stone svg{animation:.7s cubic-bezier(.3,1.4,.5,1) both kp-stone-in}@keyframes kp-fill{0%{opacity:0;transform:scale(0)}}@keyframes kp-stone-in{0%{opacity:0;transform:scale(.4)rotate(-20deg)}}.kp-stone-name{font-family:var(--f-display);font-size:1.1rem;font-weight:800}.kp-pop{animation:.4s kp-fadein,.5s cubic-bezier(.3,1.4,.5,1) kp-a-gasp}.kp-pond.is-done{animation:2.4s ease-in-out kp-zoom}@keyframes kp-zoom{40%{transform:scale(1.02)}}.kp-stage.kp-out .kp-screen{animation:.32s forwards kp-out}.kp-little .kp-stage.kp-in .kp-screen{animation:.6s cubic-bezier(.3,.7,.3,1) kp-iris}.kp-future .kp-stage.kp-in .kp-screen{animation:.5s cubic-bezier(.4,0,.2,1) kp-scan}@keyframes kp-out{to{opacity:0;transform:scale(.985)}}@keyframes kp-iris{0%{clip-path:circle(8% at 50% 30%);opacity:.4}to{clip-path:circle(150% at 50% 30%);opacity:1}}@keyframes kp-scan{0%{clip-path:inset(0 100% 0 0);opacity:.6}to{clip-path:inset(0);opacity:1}}.kp-hub{gap:16px;display:grid}@media (min-width:760px){.kp-hub{grid-template-columns:1fr 1fr}}.kp-hub .card{align-content:start;gap:10px;display:grid}.kp-bench{gap:14px;display:grid}.kp-bench h3{font-size:1.05rem}.kp-bench-row{flex-wrap:wrap;gap:8px;display:flex}.kp[data-motion=reduce] *,.kp[data-motion=reduce] :before,.kp[data-motion=reduce] :after{transition-property:opacity,fill,filter!important;animation:none!important}.kp[data-motion=reduce] .kp-actor,.kp[data-motion=reduce] .kp-marker{transition:none!important}.kp[data-motion=reduce] .kp-cur,.kp[data-motion=reduce] .kp-stage.kp-in .kp-screen{animation:.25s kp-fadein!important}.kp[data-motion=reduce] .kp-prev{animation:.25s forwards kp-fadeout!important}.kp[data-motion=reduce] .kp-bloom{transform:none}.kp[data-motion=reduce] .kp-lantern.blink .kp-lamp{opacity:.35}.kp[data-motion=reduce] .kp-fireflies i{opacity:.8;transform:translateY(calc(-30cqw - var(--i) * 2cqw))}@media (prefers-reduced-motion:reduce){.kp *,.kp :before,.kp :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
