:root{--ink: #4E4677;--ink-soft: #6A6199;--cream: #FDF2E0;--cream-1: #FBE3C8;--card: #fffaf2;--yellow: #F7C85C;--sky: #C2D9F7;--shadow: 0 6px 18px rgba(78, 70, 119, .14), 0 1px 3px rgba(78, 70, 119, .12)}*{box-sizing:border-box}:lang(ko){word-break:keep-all;overflow-wrap:break-word}:lang(ja){word-break:keep-all;overflow-wrap:break-word}html,body,#root{height:100%;margin:0}html,body{overflow:hidden;overscroll-behavior:none}body{position:fixed;top:0;right:0;bottom:0;left:0}body{background:var(--cream);color:var(--ink);font-family:system-ui,-apple-system,Apple SD Gothic Neo,Malgun Gothic,sans-serif;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}.app{height:100%;max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:8px;padding:8px 12px calc(10px + env(safe-area-inset-bottom));user-select:none;-webkit-user-select:none}.top{display:flex;align-items:center;gap:8px;min-width:0}.top h1{margin:0;font-size:18px;font-weight:800;color:var(--ink-soft)}.grow{flex:1 1 auto}.round{display:grid;place-items:center;width:56px;height:56px;padding:0;flex:none;border:0;border-radius:18px;background:var(--card);box-shadow:var(--shadow);cursor:pointer}.round.quiet{width:44px;height:44px;border-radius:14px;box-shadow:none;background:var(--cream-1)}.round:active{transform:translateY(1px) scale(.97)}.doors{flex:1 1 auto;min-height:0;display:grid;gap:14px;grid-template-columns:1fr 1fr;grid-template-rows:3fr 2fr;padding:6px 0 4px}.door.main{grid-column:1 / -1}@media (orientation: landscape) and (min-width: 700px){.doors{grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:none}.door.main{grid-column:auto}}@media (orientation: landscape) and (min-width: 1100px) and (min-height: 700px){.app.doorsScreen,.app.stepsScreen{max-width:min(1400px,150vh)}.doors{flex:0 1 auto;height:min(100%,72vh);margin-block:auto}.stepsScreen .stepGrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.stepsScreen .stepArt{width:104px;height:104px}}.door{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:0;padding:10px;border:0;border-radius:28px;background:var(--card);box-shadow:var(--shadow);color:var(--ink);font:inherit;cursor:pointer;container-type:size;overflow:hidden}.doorArt{position:relative;display:block;width:min(70cqh,86cqw);aspect-ratio:1}.doorArt svg{display:block;width:100%;height:100%}.doorArt img{position:absolute;display:block;height:auto}.doorName{font-size:20px;font-weight:800;text-align:center}.door.soon{cursor:default;box-shadow:none;background:var(--cream-1)}.door.soon .doorArt,.door.soon .doorName{opacity:.55}.door.soon .doorName{font-size:16px}.badge{position:absolute;top:10px;right:10px;padding:3px 10px;border-radius:999px;background:var(--yellow);color:var(--ink);font-size:12px;font-weight:800}.stage{position:relative;flex:1 1 auto;min-height:0;border-radius:24px;overflow:hidden;background:var(--sky);box-shadow:var(--shadow);touch-action:none}.world{display:block;width:100%;height:100%}.block{cursor:grab}.friend{cursor:pointer}.friend .hop{animation:hop .65s cubic-bezier(.3,0,.4,1)}@keyframes hop{0%{transform:none}15%{transform:translateY(.06px) scaleY(.94)}45%{transform:translateY(-1px)}74%{transform:none}82%{transform:translateY(.04px) scaleY(.95)}to{transform:none}}.meter{position:absolute;left:8px;top:8px;font:12px/1.3 ui-monospace,monospace;color:var(--ink);background:#fdf2e0d9;padding:3px 6px;border-radius:6px}.drawer{display:flex;justify-content:center;gap:6px;padding:8px;border-radius:20px;background:var(--card);box-shadow:var(--shadow);touch-action:none}.slot{position:relative;flex:0 1 88px;min-width:0;border:0;border-radius:14px;background:var(--cream-1);padding:6px;aspect-ratio:1;cursor:grab;touch-action:none}.slot.empty{opacity:.35;cursor:default}.dots{position:absolute;left:0;right:0;bottom:4px;display:flex;justify-content:center;gap:3px}.dots i{width:7px;height:7px;border-radius:50%;background:var(--ink-soft)}.slot:has(.dots) svg{height:calc(100% - 8px)}.slot svg{display:block;width:100%;height:100%}.drawer.full .slot{opacity:.4;cursor:default}.slot:active{transform:scale(.95)}.stageNo{display:grid;place-items:center;min-width:34px;height:34px;padding:0 8px;border-radius:12px;background:var(--cream-1);font-weight:800;color:var(--ink-soft)}.friendName{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.treatRow{display:flex;gap:2px;flex:none}.treat.on{animation:gotIt .5s ease-out}@keyframes gotIt{40%{transform:scale(1.35)}}.climber{pointer-events:none}.hang.got .treatBody{animation:pop .45s ease-in forwards}.hang.got line{display:none}@keyframes pop{30%{transform:scale(1.4)}to{transform:scale(0)}}.actions{display:flex;align-items:center;gap:8px;min-height:56px}.actions.done{animation:rise .35s ease-out}@keyframes rise{0%{transform:translateY(12px);opacity:0}}.actions .round:disabled{opacity:.4;cursor:default}.goClimb{display:flex;align-items:center;gap:8px;height:56px;padding:0 22px 0 14px;border:0;border-radius:18px;background:var(--yellow);color:var(--ink);box-shadow:var(--shadow);font:inherit;font-size:19px;font-weight:800;cursor:pointer}.goClimb:not(:disabled){animation:ready 1.4s ease-in-out infinite}.goClimb:disabled{background:var(--cream-1);box-shadow:none;cursor:default}.goClimb:disabled span,.goClimb:disabled svg{opacity:.5}@keyframes ready{50%{transform:translateY(-3px)}}.round.go{width:72px;background:var(--yellow)}.round.go.ready{animation:ready 1.2s ease-in-out infinite}.stepGrid{flex:1 1 auto;min-height:0;overflow-y:auto;touch-action:pan-y;display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;padding:4px 2px 12px;align-content:start}.step{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 6px;border:0;border-radius:18px;background:var(--card);box-shadow:var(--shadow);color:var(--ink);font:inherit;cursor:pointer}.step:before{content:"";position:absolute;left:10px;right:10px;bottom:0;height:4px;border-radius:4px 4px 0 0}.step.zone0:before{background:#edd6b0}.step.zone1:before{background:#86cc93}.step.zone2:before{background:#8fb6f0}.step.zone3:before{background:#fbdd8e}.step.zone4:before{background:#469156}.step.zone5:before{background:#c0894b}.stepNo{position:absolute;left:10px;top:6px;font-size:14px;font-weight:800;color:var(--ink-soft)}.stepArt{display:block;width:72px;height:72px}.stepStars{display:flex;gap:1px}.sheetBack{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:16px;background:#4e46776b}.sheetBack .sheet{width:min(480px,100%);max-height:calc(100svh - 32px);overflow-y:auto;touch-action:pan-y;padding:20px 18px;border-radius:24px;background:var(--cream);box-shadow:var(--shadow);color:var(--ink)}.sheetBack h2{margin:0 0 10px;font-size:20px}.sheetBack h3{margin:16px 0 4px;font-size:16px}.sheetBack .hint,.sheetBack p{margin:4px 0;font-size:14px;color:var(--ink-soft);line-height:1.5}.sheet.gate{display:grid;justify-items:center;text-align:center;gap:10px}.hold{display:grid;justify-items:center;gap:4px;padding:6px;border:0;background:none;color:var(--ink);font:inherit;font-weight:800;touch-action:none;cursor:pointer}.textBtn{padding:8px 14px;border:0;border-radius:12px;background:var(--cream-1);color:var(--ink);font:inherit;font-weight:700;cursor:pointer}.textBtn.danger{margin-top:18px}.textBtn.danger.sure{background:#ec6a5e;color:#fdf2e0}.seg{display:inline-flex;gap:6px}.seg button{padding:8px 16px;border:0;border-radius:12px;background:var(--cream-1);color:var(--ink);font:inherit;font-weight:700;cursor:pointer}.seg button.on{background:#5fbb6e}.round.wide{width:100%;margin-top:18px;font:inherit;font-weight:800;color:var(--ink)}.shade{transition:opacity .6s}.shade.gone{opacity:0}.ride{animation-duration:1.6s;animation-timing-function:cubic-bezier(.5,0,.9,.6);animation-fill-mode:forwards}.ride.rideRight{animation-name:rideRight}.ride.rideLeft{animation-name:rideLeft}.ride.rideUp{animation-name:rideUp;animation-duration:1.8s}.ride.rock{animation:rock 1.6s ease-in-out infinite}@keyframes rock{25%{transform:rotate(-3deg) translateY(-.06px)}75%{transform:rotate(3deg) translateY(-.06px)}}.waves{animation:waves 1.2s ease-in-out infinite alternate}@keyframes waves{0%{transform:translate(-.15px)}to{transform:translate(.15px)}}@keyframes rideRight{15%{transform:translate(-.3px)}to{transform:translate(14px)}}@keyframes rideLeft{15%{transform:translate(.3px)}to{transform:translate(-14px)}}@keyframes rideUp{0%,30%{transform:translateY(.05px)}35%{transform:translateY(0)}to{transform:translateY(-16px)}}.spin{animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.pop{animation:popIn .35s ease-out both;transform-box:fill-box;transform-origin:center}@keyframes popIn{0%{transform:scale(0)}}.grow{animation:popIn .5s ease-out both}.apple{animation:popIn .3s ease-out both;transform-box:fill-box;transform-origin:center}.apple.a0{animation-delay:.4s}.apple.a1{animation-delay:.55s}.apple.a2{animation-delay:.7s}.glow{animation:glow 1.2s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@keyframes glow{50%{transform:scale(1.15)}}.puff{animation:puff 1.8s ease-out infinite;transform-box:fill-box;transform-origin:center}.puff.p1{animation-delay:.6s}.puff.p2{animation-delay:1.2s}@keyframes puff{0%{transform:translate(0) scale(.4);opacity:1}to{transform:translate(.3px,-1.6px) scale(1.3);opacity:0}}.flame{animation:flame .18s ease-in-out infinite alternate}@keyframes flame{to{transform:scaleY(1.3)}}.flag{animation:flag .5s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:left center}@keyframes flag{to{transform:scaleX(.75) skewY(6deg)}}.beam{animation:beam 2.4s ease-in-out infinite}@keyframes beam{50%{transform:scaleY(1.6)}}.walkThrough{animation:walkThrough 2.2s ease-in-out forwards}@keyframes walkThrough{to{transform:translate(var(--dx))}}body:has(.artSheet){position:static;overflow:auto}.artSheet{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;padding:16px}.artSheet figure{margin:0;padding:10px;border-radius:16px;background:var(--card);box-shadow:var(--shadow);display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center}.artSheet figure>svg{width:64px;height:64px}.artSheet figure:has(figcaption)>svg:only-of-type{width:130px;height:100px}.artSheet figcaption{width:100%;text-align:center;font-size:12px;color:var(--ink-soft)}@media (orientation: landscape) and (min-width: 900px),(orientation: landscape) and (max-height: 500px) and (min-width: 560px){.climbScreen,.playScreen{display:grid;max-width:1180px;grid-template-columns:minmax(0,1fr) 112px;grid-template-rows:auto minmax(0,1fr) auto;column-gap:12px}.climbScreen .top,.playScreen .top{grid-column:1 / -1}.climbScreen .stage,.playScreen .stage{grid-column:1;grid-row:2 / 4}.climbScreen .drawer,.playScreen .drawer{grid-column:2;grid-row:2;min-height:0;overflow-y:auto;flex-direction:column;align-items:center;justify-content:flex-start}.climbScreen .drawer .slot,.playScreen .drawer .slot{flex:0 0 auto;width:84px}.climbScreen .actions{grid-column:2;grid-row:3;flex-direction:column;align-items:stretch}.climbScreen .actions .grow{display:none}.climbScreen .actions .round{align-self:center}.goClimb{flex-direction:column;height:auto;padding:10px 8px;gap:4px;font-size:16px}.round.go{width:84px}}@media (orientation: landscape) and (max-height: 500px) and (min-width: 560px){.climbScreen,.playScreen{grid-template-columns:minmax(0,1fr) 150px;padding-top:4px}.climbScreen .drawer,.playScreen .drawer{display:grid;grid-template-columns:1fr 1fr;align-content:start;padding:6px}.climbScreen .drawer .slot,.playScreen .drawer .slot{width:auto}.round{width:48px;height:48px}.round.quiet{width:40px;height:40px}.climbScreen .actions{flex-direction:row;flex-wrap:wrap;justify-content:center}.goClimb{width:100%;flex-direction:row;padding:8px;font-size:15px}.goClimb svg{width:28px;height:28px}}
