:root{--paper:#fffaf0;--cream:#fff3d9;--line:#e8d6ad;--line-dark:#cdb37f;--ink:#5b4327;--muted:#9a7f5c;--coral:#f2786a;--coral-dark:#c95547;--leaf:#6fbf73;--leaf-dark:#4b9550;--sun:#ffd45a;--sun-dark:#d9a92c;--sky:#8fd3f4;--dots:radial-gradient(#d6be8c47 1.3px, transparent 1.5px);color:var(--ink);word-break:keep-all;overflow-wrap:anywhere;font-family:Jua,-apple-system,Apple SD Gothic Neo,Malgun Gothic,sans-serif;line-height:1.45}*{box-sizing:border-box}p,li,small{text-wrap:pretty}html,body{background:#1f3468;height:100%;margin:0;overflow:hidden}#scene{cursor:grab;touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}#scene:active{cursor:grabbing}.hud{background-color:var(--paper);background-image:var(--dots);border:3px solid var(--line);background-size:14px 14px;border-radius:26px;padding:12px 16px;font-size:15px;display:none;position:fixed;box-shadow:0 6px #aa8c5a59,0 14px 28px #14183c38}body.playing .hud{display:block}body.playing #card[hidden]{display:none}button{font:inherit;color:var(--ink);border:2.5px solid var(--line-dark);box-shadow:0 4px 0 var(--line-dark);cursor:pointer;background:#fffdf7;border-radius:999px;transition:transform .12s,box-shadow .12s,background .12s}button:hover{filter:brightness(1.05)}button:active{box-shadow:0 1px 0 var(--line-dark);transform:translateY(3px)}button:focus-visible{outline:3px dashed var(--sun-dark);outline-offset:3px}button[aria-pressed=true]{border-color:var(--sun-dark);box-shadow:0 4px 0 var(--sun-dark);background:#fff0bf}button:disabled{cursor:wait;opacity:.6;transform:none}.primary,#hang,#start,#card-order{color:#fff;background:var(--coral);border-color:var(--coral-dark);box-shadow:0 5px 0 var(--coral-dark);text-shadow:0 1px #78281e59}#hang:active,#start:active,#card-order:active{box-shadow:0 1px 0 var(--coral-dark)}kbd{min-width:1.7em;font:inherit;text-align:center;border:2px solid var(--line-dark);box-shadow:0 2px 0 var(--line-dark);background:#fffdf7;border-radius:8px;padding:1px 7px;font-size:12px;display:inline-block}#status{width:300px;top:16px;left:16px}#counter{font-variant-numeric:tabular-nums;font-size:17px}.bar{border:2.5px solid var(--line-dark);background:#fff;border-radius:99px;height:16px;margin:8px 0 6px;overflow:hidden}.bar i{background:repeating-linear-gradient(-45deg, var(--leaf) 0 8px, #86cf89 8px 16px);background-size:22px 22px;border-radius:99px;width:0;height:100%;transition:width .5s;animation:1.2s linear infinite stripes;display:block}@keyframes stripes{to{background-position:22px 0}}#status small{color:var(--muted);display:block}.test-row{gap:8px;margin-top:10px;display:flex}.test-row button{color:var(--muted);flex:1;padding:5px 8px;font-size:12px}#dday{align-items:center;gap:8px;padding:8px 10px 8px 18px;display:none;top:16px;right:16px}body.playing #dday{display:flex}#countdown{color:var(--coral-dark);margin-right:4px;font-size:19px;font-weight:400}#mute,#music,#overview{padding:6px 12px;font-size:13px}#maker{width:min(660px,100vw - 32px);padding:12px 16px 14px;bottom:18px;left:50%;transform:translate(-50%)}body.playing #maker.collapsed{display:none}#maker.appear{animation:.3s cubic-bezier(.34,1.56,.64,1) maker-in}@keyframes maker-in{0%{opacity:0;transform:translate(-50%,30px)scale(.92)}to{opacity:1;transform:translate(-50%)scale(1)}}#maker-fold{color:var(--muted);box-shadow:0 3px 0 var(--line-dark);padding:3px 12px;font-size:12px;position:absolute;top:10px;right:12px}#decorate{color:#fff;text-align:left;background:var(--leaf);box-shadow:0 6px 0 var(--leaf-dark), 0 12px 24px #14183c40;border:3px solid #fff;border-radius:999px;align-items:center;gap:14px;padding:10px 30px 10px 12px;display:none;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}body.playing #decorate:not([hidden]){display:flex}#decorate:hover{transform:translate(-50%)}#decorate:active{box-shadow:0 2px 0 var(--leaf-dark);transform:translate(-50%)translateY(3px)}#decorate .icon{background:#fff;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;font-size:24px;line-height:1;display:grid;box-shadow:inset 0 -3px #4b955040}#decorate .label{gap:3px;line-height:1.15;display:grid}#decorate .label b{font-size:19px;font-weight:400}#decorate .label small{opacity:.88;white-space:nowrap;font-size:12px}#hint{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;margin-bottom:9px;font-size:14px;overflow:hidden}#hint b{width:1.6em;height:1.6em;color:var(--ink);background:var(--sun);border:2px solid var(--sun-dark);box-shadow:0 2px 0 var(--sun-dark);border-radius:50%;place-items:center;margin-right:2px;font-weight:400;display:inline-grid}#kinds{gap:6px;margin-bottom:10px;display:flex}#kinds button{color:var(--muted);padding:5px 14px;font-size:14px}#kinds button[aria-selected=true]{color:#fff;background:var(--leaf);border-color:var(--leaf-dark);box-shadow:0 4px 0 var(--leaf-dark)}#maker-row{align-items:center;gap:14px;display:flex}#preview{background:var(--cream);border:2.5px dashed var(--line-dark);border-radius:22px;flex:none;width:96px;height:104px}#options{flex:1;gap:8px;min-width:0;display:grid}#shapes,#colors{flex-wrap:wrap;gap:7px;display:flex}#shapes[hidden]{display:none}#shapes button{border-radius:14px;width:44px;height:44px;padding:3px}#shapes canvas{width:100%;height:100%;display:block}#colors button{background:var(--swatch);width:30px;height:30px;box-shadow:0 0 0 2px var(--line-dark), 0 3px 0 2px var(--line-dark);border:3px solid #fff;border-radius:50%;padding:0}#colors button[aria-pressed=true]{box-shadow:0 0 0 3px var(--ink), 0 4px 0 3px var(--ink);border-color:#fff;transform:translateY(-2px)scale(1.08)}#colors button.two-tone{background:linear-gradient(135deg, var(--swatch) 58%, var(--accent) 58%)}.wish{align-items:center;gap:8px;display:flex}.wish input{min-width:0;font:inherit;color:var(--ink);border:2.5px solid var(--line);background:#fff;border-radius:999px;flex:1;padding:9px 16px;font-size:15px;box-shadow:inset 0 2px #c8b48c40}.wish input::placeholder{color:#c0aa86}.wish input:focus{border-color:var(--sun-dark);background:#fffdf2;outline:none}#wish-count{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}#wish-count.over{color:var(--coral-dark)}#hang{border-radius:24px;flex:none;gap:1px;padding:12px 18px;font-size:17px;display:grid}#hang small{opacity:.85;font-size:12px}#help{color:var(--muted);font-size:13px;line-height:1.9;top:84px;right:16px}body.playing #help[hidden]{display:none}#help span{white-space:nowrap;display:block}#help-toggle{padding:6px 12px;font-size:13px}#chat{width:min(300px,100vw - 32px);padding:12px;bottom:18px;left:16px}#chat-log{border:2px solid var(--line);scrollbar-width:thin;background:#fffdf7;border-radius:16px;height:128px;margin-bottom:8px;padding:6px 10px;font-size:13px;line-height:1.5;overflow-y:auto}#chat-log .line{margin:2px 0}#chat-log .line b{color:var(--coral-dark);margin-right:6px;font-weight:400}#chat-log .line.mine b{color:var(--leaf-dark)}#chat-log i,.tag3d .name i{color:#fff;vertical-align:1px;background:#b9a37c;border-radius:99px;margin-left:4px;padding:0 6px;font-size:10px;font-style:normal}#emotes{gap:6px;margin-bottom:8px;display:flex}#emotes button{border-radius:14px;flex:1;place-items:center;padding:3px 0 2px;display:grid}#emotes button span{font-size:19px;line-height:1.1}#emotes button small{color:var(--muted);font-size:10px}.chat-row{gap:6px;display:flex}#chat-input{min-width:0;font:inherit;color:var(--ink);border:2.5px solid var(--line);background:#fff;border-radius:999px;flex:1;padding:8px 14px;font-size:14px}#chat-input:focus{border-color:var(--sun-dark);outline:none}#chat-send{padding:7px 14px;font-size:14px}#tags{pointer-events:none;position:fixed;inset:0;overflow:hidden}body:not(.playing) #tags{display:none}.tag3d{transform-origin:50% 100%;will-change:transform;justify-items:center;gap:4px;display:grid;position:absolute;top:0;left:0}.tag3d .name{color:var(--ink);white-space:nowrap;border:2px solid var(--line);background:#fffaf0eb;border-radius:99px;padding:2px 10px 3px;font-size:13px}.tag3d.me .name{color:#fff;background:var(--leaf);border-color:#fff}.tag3d .bubble{text-align:center;max-width:220px;color:var(--ink);background:var(--paper);border:2.5px solid var(--line);border-radius:18px;padding:7px 13px;font-size:14px;line-height:1.4;animation:.25s cubic-bezier(.34,1.56,.64,1) bubble;position:relative;box-shadow:0 3px #aa8c5a59}.tag3d .bubble:after{content:"";background:var(--paper);border-right:2.5px solid var(--line);border-bottom:2.5px solid var(--line);width:11px;height:11px;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)rotate(45deg)}.tag3d .sticker{filter:drop-shadow(0 2px #fff)drop-shadow(0 -2px #fff)drop-shadow(2px 0 #fff)drop-shadow(-2px 0 #fff);font-size:30px;line-height:1}.tag3d .sticker.pop{animation:2.2s both sticker}.tag3d [hidden]{display:none}@keyframes bubble{0%{opacity:0;transform:scale(.6)}}@keyframes sticker{0%{opacity:0;transform:translateY(10px)scale(.3)}15%{opacity:1;transform:translateY(-4px)scale(1.2)}25%,80%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-14px)scale(.9)}}#card{text-align:center;outline:2.5px dashed var(--line);outline-offset:-11px;width:300px;padding:18px;top:84px;right:16px}#card-art{width:150px;height:162px}#card-owner,#card-kind{color:var(--muted);display:block}#card-wish{margin:8px 0;font-size:21px;line-height:1.35}#card-like,#card-order{width:100%;margin-top:10px;padding:9px;font-size:15px}#card-report{color:var(--muted);background:0 0;border:none;margin:10px auto 0;padding:4px 10px;font-size:12px;display:block;box-shadow:none!important}#card-report[hidden]{display:none}#card-report:disabled{opacity:.6}#card-like[aria-pressed=true]{color:var(--coral-dark);border-color:var(--coral);box-shadow:0 4px 0 var(--coral);background:#ffe9e4}#card-close{width:32px;height:32px;padding:0;font-size:18px;line-height:1;position:absolute;top:10px;right:10px}#shop-modal{text-align:center;width:min(380px,100vw - 32px);padding:30px 22px 20px;animation:.35s cubic-bezier(.34,1.56,.64,1) pop;top:46%;left:50%;transform:translate(-50%,-50%)}body.playing #shop-modal[hidden]{display:none}@keyframes pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.6)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}#shop-modal .tag{color:#fff;background:var(--leaf);box-shadow:0 4px 0 var(--leaf-dark);border:3px solid #fff;border-radius:999px;padding:4px 18px 6px;font-size:16px;position:absolute;top:-18px;left:50%;transform:translate(-50%)rotate(-2deg)}#shop-art{width:132px;height:120px}#shop-title{color:var(--coral-dark);margin:4px 0 6px;font-size:22px;font-weight:400}#shop-text{margin:0 0 16px;font-size:15px;line-height:1.6}#shop-modal .row{gap:8px;display:flex}#shop-go{color:#fff;background:var(--coral);border-color:var(--coral-dark);box-shadow:0 5px 0 var(--coral-dark);flex:1;padding:11px;font-size:16px}#shop-go kbd{color:var(--ink);margin-left:4px}#shop-close{padding:11px 16px}#toast{opacity:0;pointer-events:none;text-align:center;max-width:min(520px,100vw - 40px);color:var(--ink);background:var(--paper);border:3px solid var(--line);border-radius:999px;padding:10px 20px;font-size:15px;transition:opacity .18s,transform .25s cubic-bezier(.34,1.56,.64,1);position:fixed;top:24px;left:50%;transform:translate(-50%,-12px);box-shadow:0 4px #aa8c5a59}#toast:after{content:"";background:var(--paper);border-right:3px solid var(--line);border-bottom:3px solid var(--line);width:16px;height:16px;position:absolute;bottom:-11px;left:50%;transform:translate(-50%)rotate(45deg)}#toast.show{opacity:1;transform:translate(-50%)}#banner{opacity:0;pointer-events:none;text-align:center;color:var(--ink);background:var(--sun);box-shadow:0 7px 0 var(--sun-dark), 0 16px 30px #14183c4d;border:4px solid #fff;border-radius:32px;padding:16px 40px 18px;position:fixed;top:24%;left:50%;transform:translate(-50%)}#banner strong{font-size:34px;font-weight:400;display:block}#banner span{font-size:17px}#banner.show{animation:3s both banner}@keyframes banner{0%{opacity:0;transform:translate(-50%)scale(.6)rotate(-4deg)}12%{opacity:1;transform:translate(-50%)scale(1.06)rotate(1deg)}18%,82%{opacity:1;transform:translate(-50%)scale(1)rotate(0)}to{opacity:0;transform:translate(-50%)scale(.95)}}#intro{background:#141d4459;place-items:center;padding:16px;display:grid;position:fixed;inset:0}#intro[hidden]{display:none}#intro>div{background-color:var(--paper);background-image:var(--dots);border:4px solid var(--line);background-size:14px 14px;border-radius:36px;width:min(480px,100%);padding:34px 30px 26px;position:relative;box-shadow:0 8px #aa8c5a66,0 22px 50px #0a102859}#intro h1{color:#fff;background:var(--coral);box-shadow:0 4px 0 var(--coral-dark);border:3px solid #fff;border-radius:999px;margin:0;padding:6px 20px 8px;font-size:22px;font-weight:400;position:absolute;top:-22px;left:26px;transform:rotate(-3deg)}#intro p{color:var(--ink);margin:6px 0 16px;font-size:16px;line-height:1.65}#intro p .line{display:block}#intro ul{color:var(--muted);margin:0 0 22px;padding:0;font-size:14px;line-height:2;list-style:none}#intro li:before{content:"✦";color:var(--sun-dark);margin-right:6px}#start{width:100%;padding:13px;font-size:18px}#start:not(:disabled):after{content:" ▶";animation:.9s ease-in-out infinite nudge;display:inline-block}@keyframes nudge{50%{transform:translate(4px)}}.touch-only,#touch{display:none}body.touch-ui .touch-only{display:revert}body.touch-ui li.touch-only{display:list-item}body.touch-ui .pc-only{display:none!important}body.touch-ui{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--gap:10px}body.touch-ui button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}body.touch-ui input{font-size:16px!important}body.touch-ui #status{top:calc(var(--safe-top) + var(--gap));left:var(--gap);width:calc(100vw - 3 * var(--gap) - 174px);border-width:2.5px;border-radius:20px;padding:8px 12px 9px;right:auto}body.touch-ui #counter{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}body.touch-ui .bar{border-width:2px;height:11px;margin:5px 0 0}body.touch-ui #status small,body.touch-ui .test-row{display:none}body.touch-ui #dday{top:calc(var(--safe-top) + var(--gap));right:var(--gap);border-width:2.5px;border-radius:20px;gap:6px;height:58px;padding:6px 6px 6px 12px}body.touch-ui #countdown{text-align:center;white-space:nowrap;min-width:52px;margin:0;font-size:17px}body.touch-ui #chat-toggle,body.touch-ui #menu-toggle{border-radius:14px;flex:none;place-items:center;width:44px;height:44px;padding:0;font-size:19px;display:grid}body.touch-ui #menu-items{display:none}body.touch-ui #dday.open #menu-items{background:var(--paper);border:2.5px solid var(--line);border-radius:20px;gap:8px;width:168px;padding:10px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 6px #aa8c5a59,0 14px 28px #14183c38}body.touch-ui #menu-items button{min-height:44px;padding:8px 12px;font-size:15px}body.touch-ui.playing #touch{padding:0 18px calc(var(--safe-bottom) + 108px);pointer-events:none;justify-content:flex-end;align-items:flex-end;display:flex;position:fixed;bottom:0;left:0;right:0}body.touch-ui.sheet-open #touch{display:none}#stick{pointer-events:none;opacity:0;background:#fffaf038;border:3px solid #ffffffbf;border-radius:50%;width:120px;height:120px;margin:-60px 0 0 -60px;transition:opacity .12s;position:fixed}#stick.active{opacity:1}#knob{border:3px solid var(--line-dark);background:#fffaf0f2;border-radius:50%;width:50px;height:50px;margin:-25px 0 0 -25px;position:absolute;top:50%;left:50%}#touch-buttons{pointer-events:auto;justify-items:end;gap:12px;display:grid}#touch-buttons button{touch-action:none;-webkit-user-select:none;user-select:none}#btn-jump{width:84px;height:84px;color:var(--ink);background:var(--sun);box-shadow:0 5px 0 var(--sun-dark), 0 10px 20px #14183c40;border:3px solid #fff;border-radius:50%;padding:0;font-size:17px}#btn-jump:active{box-shadow:0 2px 0 var(--sun-dark);transform:translateY(3px)}#btn-action{left:50%;bottom:calc(var(--safe-bottom) + 30px);color:#fff;white-space:nowrap;background:var(--leaf);height:64px;box-shadow:0 6px 0 var(--leaf-dark), 0 12px 24px #14183c40;border:3px solid #fff;border-radius:999px;align-items:center;gap:10px;padding:0 26px 0 10px;font-size:19px;display:flex;position:fixed;transform:translate(-50%)}#btn-action:active{box-shadow:0 2px 0 var(--leaf-dark);transform:translate(-50%)translateY(3px)}#btn-action .icon{background:#fff;border-radius:50%;place-items:center;width:44px;height:44px;font-size:23px;display:grid}#btn-action[hidden]{display:none}body.touch-ui #decorate{display:none!important}body.touch-ui #maker,body.touch-ui #chat,body.touch-ui #card{width:auto;max-height:72vh;padding:16px 16px calc(var(--safe-bottom) + 16px);border-width:3px 0 0;border-radius:28px 28px 0 0;inset:auto 0 0;overflow-y:auto;transform:none;box-shadow:0 -10px 30px #14183c40}body.touch-ui #maker:before,body.touch-ui #chat:before{content:"";background:var(--line);border-radius:99px;width:44px;height:5px;margin:-6px auto 10px;display:block}body.touch-ui #maker.appear{animation:.3s cubic-bezier(.22,1,.36,1) sheet-in}@keyframes sheet-in{0%{opacity:0;transform:translateY(40%)}to{opacity:1;transform:none}}body.touch-ui #maker{padding:14px 20px calc(var(--safe-bottom) + 20px)}body.touch-ui #maker-fold{min-height:30px;box-shadow:0 2px 0 var(--line-dark);padding:2px 12px;font-size:13px;top:14px;right:16px}body.touch-ui #hint{white-space:normal;color:var(--muted);margin-bottom:14px;padding-right:60px;font-size:13px;line-height:1.5}body.touch-ui #kinds{gap:8px;margin-bottom:16px}body.touch-ui #kinds button{min-height:34px;box-shadow:0 3px 0 var(--line-dark);flex:none;padding:4px 14px;font-size:14px}body.touch-ui #kinds button[aria-selected=true]{box-shadow:0 3px 0 var(--leaf-dark)}body.touch-ui #maker-row{flex-direction:column;align-items:stretch;gap:16px}body.touch-ui #preview{display:none}body.touch-ui #options{gap:14px}body.touch-ui #shapes,body.touch-ui #colors{gap:12px}body.touch-ui #shapes button{width:44px;height:44px;box-shadow:0 3px 0 var(--line-dark);border-radius:13px;padding:3px}body.touch-ui #colors button{border-width:2.5px;width:34px;height:34px}body.touch-ui .wish{gap:10px}body.touch-ui .wish input{padding:9px 16px}body.touch-ui #hang{width:100%;min-height:46px;box-shadow:0 4px 0 var(--coral-dark);border-radius:999px;justify-content:center;padding:8px;font-size:16px;display:flex}body.touch-ui #hang small,body.touch-ui #chat{display:none}body.touch-ui.playing.chat-open #chat{display:block}body.touch-ui #chat-log{height:26vh;font-size:15px}body.touch-ui #emotes button{min-height:52px}body.touch-ui #emotes button span{font-size:26px}body.touch-ui #emotes button small{display:none}body.touch-ui #chat-input{padding:12px 16px}body.touch-ui #chat-send{min-height:48px;padding:8px 18px}body.touch-ui #card{text-align:center;outline-offset:-12px}body.touch-ui #card-like,body.touch-ui #card-order{min-height:50px;font-size:16px}body.touch-ui #card-close{width:40px;height:40px;top:14px;right:14px}body.touch-ui #help{display:none!important}body.touch-ui #shop-modal{width:calc(100vw - 32px)}body.touch-ui #shop-modal .row button{min-height:50px}body.touch-ui #toast{top:calc(var(--safe-top) + 80px);white-space:normal}body.touch-ui #banner{width:calc(100vw - 48px);padding:14px 18px;top:30%}body.touch-ui #banner strong{font-size:26px}body.touch-ui #intro>div{border-radius:30px;padding:32px 22px 22px}body.touch-ui #intro p{font-size:15px}body.touch-ui #intro ul{font-size:14px;line-height:1.75}body.touch-ui #intro li{margin-bottom:4px}body.touch-ui #start{min-height:56px}body.touch-ui .tag3d .name{font-size:12px}body.touch-ui .tag3d .bubble{max-width:180px;font-size:13px}button,button[aria-pressed=true],#kinds button[aria-selected=true],#card-like[aria-pressed=true],#hang,#start,#card-order,#shop-go,#maker-fold,body.touch-ui #maker-fold,body.touch-ui #kinds button,body.touch-ui #kinds button[aria-selected=true],body.touch-ui #shapes button,body.touch-ui #hang{box-shadow:none!important}#decorate,#btn-action,#btn-jump{box-shadow:0 6px 18px #14183c38!important}#colors button{box-shadow:0 0 0 2px var(--line-dark)!important}#colors button[aria-pressed=true]{transform:none;box-shadow:0 0 0 3px var(--ink)!important}button:active{filter:brightness(.94);transform:none}#decorate:active,#btn-action:active{transform:translate(-50%)}#btn-jump:active{transform:none}.hud,body.touch-ui #status,body.touch-ui #dday,body.touch-ui #dday.open #menu-items,#toast,#banner,#intro>div,.tag3d .bubble{box-shadow:0 4px 14px #14183c29!important}#intro h1,#shop-modal .tag{box-shadow:none!important}body.touch-ui #maker,body.touch-ui #chat,body.touch-ui #card{box-shadow:0 -6px 20px #14183c29!important}#photo-prompt,#zone-photo{z-index:5;color:#fff;background:var(--coral);border:3px solid #fff;border-radius:999px;align-items:center;gap:8px;padding:10px 20px;font-size:16px;animation:.35s cubic-bezier(.34,1.56,.64,1) pop-prompt;display:none;position:fixed;top:96px;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #14183c38!important}body.playing #photo-prompt:not([hidden]),body.playing #zone-photo:not([hidden]),body.playing #wave-prompt:not([hidden]){display:flex}#photo-prompt span,#zone-photo span,#wave-prompt span{font-size:20px}#photo-prompt,#zone-photo,#wave-prompt{white-space:nowrap}@keyframes pop-prompt{0%{opacity:0;transform:translate(-50%)scale(.6)}}#photo-prompt:active,#zone-photo:active,#wave-prompt:active{transform:translate(-50%)}#card-photo{color:#fff;background:var(--leaf);border-color:var(--leaf-dark);width:100%;margin-top:10px;padding:9px;font-size:15px}#photo{z-index:6;text-align:center;width:min(380px,100vw - 32px);max-height:calc(100vh - 32px);padding:16px;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}body.playing #photo[hidden]{display:none}#photo h2{color:var(--coral-dark);margin:0 0 10px;font-size:18px;font-weight:400}#photo-img{border:2px solid var(--line);border-radius:16px;width:100%;height:auto;display:block}#photo .row{gap:8px;margin-top:10px;display:flex}#photo .row button{flex:1;min-height:42px;font-size:15px}#photo-save,#photo-share{color:#fff;background:var(--coral);border-color:var(--coral-dark)}body.touch-ui #photo-prompt{top:calc(var(--safe-top) + 80px)}#zone-photo{top:118px}body.touch-ui #zone-photo{top:auto;bottom:calc(var(--safe-bottom) + 112px)}#wave-prompt{z-index:5;color:#fff;background:var(--leaf);border:3px solid #fff;border-radius:999px;align-items:center;gap:8px;padding:10px 20px;font-size:16px;animation:.35s cubic-bezier(.34,1.56,.64,1) pop-prompt;display:none;position:fixed;top:118px;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #14183c38!important}#wave-prompt b{font-weight:700}#wave-prompt kbd{background:#ffffff40;border-radius:6px;padding:1px 6px;font-size:12px}#wave-prompt.done{background:var(--muted)}#zone-photo:not([hidden])~#wave-prompt{top:172px}body.touch-ui #wave-prompt{top:auto;bottom:calc(var(--safe-bottom) + 112px)}body.touch-ui #zone-photo:not([hidden])~#wave-prompt{top:auto;bottom:calc(var(--safe-bottom) + 170px)}body.touch-ui #photo{width:calc(100vw - 28px)}body.touch-ui.playing #touch{padding:0 16px calc(var(--safe-bottom) + 30px);justify-content:center}#touch-buttons{align-items:center;gap:10px;display:flex}#btn-jump{display:none!important}#btn-action{position:static;transform:none}#btn-action:active{transform:none}#btn-ladder,#ladder-pc{height:64px;color:var(--ink);white-space:nowrap;background:var(--sun);border:3px solid #fff;border-radius:999px;align-items:center;gap:8px;padding:0 18px 0 10px;font-size:17px;display:flex;box-shadow:0 6px 18px #14183c38!important}#btn-ladder .icon,#ladder-pc .icon{background:#fff;border-radius:50%;place-items:center;width:44px;height:44px;font-size:22px;display:grid}#btn-ladder[aria-pressed=true],#ladder-pc[aria-pressed=true]{color:#fff;background:var(--coral)}#ladder-pc{height:56px;font-size:16px;display:none;position:fixed;bottom:22px;right:18px}body.playing:not(.touch-ui) #ladder-pc{display:flex}#ladder-pc kbd{color:var(--ink)}@media (width<=380px){body.touch-ui #btn-ladder{padding-right:14px;font-size:15px}body.touch-ui #btn-action{padding-right:18px;font-size:17px}}#tutorial{z-index:7;pointer-events:none;position:fixed;inset:0}#tutorial[hidden],body:not(.playing) #tutorial{display:none}#tutorial .tut-card{left:50%;top:calc(env(safe-area-inset-top,0px) + 96px);text-align:center;pointer-events:auto;width:min(360px,100vw - 32px);padding:16px 18px 14px;display:block;position:absolute;transform:translate(-50%)}#tutorial .tut-card.pop{animation:.35s cubic-bezier(.34,1.56,.64,1) tut-pop}@keyframes tut-pop{0%{opacity:0;transform:translate(-50%)scale(.85)}}#tutorial .tut-step{color:var(--muted);font-size:12px;display:block}#tutorial .tut-title{color:var(--coral-dark);margin:2px 0 6px;font-size:20px;font-weight:400;display:block}#tutorial .tut-card.done .tut-title{color:var(--leaf-dark)}#tutorial .tut-text{margin:0 0 10px;font-size:14px;line-height:1.55}#tutorial .tut-example{justify-content:center;gap:8px;margin:0 0 12px;display:flex}#tutorial .tut-example[hidden]{display:none}#tutorial .tut-example figure{background:#ffffffb3;border-radius:14px;flex:1;max-width:100px;margin:0;padding:6px 4px 8px}#tutorial .tut-example canvas{width:100%;height:auto;display:block}#tutorial .tut-example b{color:var(--muted);font-size:12px;font-weight:400;display:block}#tutorial .tut-example small{word-break:keep-all;font-size:12px;line-height:1.35;display:block}#tutorial .tut-keys{justify-content:center;gap:6px;margin-bottom:10px;display:flex}#tutorial .tut-keys[hidden]{display:none}#tutorial .tut-keys kbd{padding:3px 10px;font-size:14px}#tutorial .row{gap:8px;display:flex}#tutorial .row button{flex:1;min-height:40px;font-size:14px}#tutorial .tut-next{color:#fff;background:var(--coral);border-color:var(--coral-dark)}.tut-hand{width:0;height:0;position:absolute;top:62%;left:50%}.tut-hand[hidden]{display:none}.tut-hand .finger{filter:drop-shadow(0 3px 6px #14183c59);font-size:44px;position:absolute;top:0;left:-22px}.tut-hand .second,.tut-hand .trail{display:none}.tut-hand .trail{background:linear-gradient(#0000,#ffffffd9);border-radius:4px;width:4px;height:120px;position:absolute;top:-110px;left:-2px}.tut-hand.swipe .finger{animation:1.8s ease-in-out infinite tut-swipe}.tut-hand.swipe .trail{animation:1.8s ease-in-out infinite tut-trail;display:block}@keyframes tut-swipe{0%,15%{opacity:0;transform:translateY(0)}25%{opacity:1}70%{opacity:1;transform:translateY(-110px)}90%,to{opacity:0;transform:translateY(-110px)}}@keyframes tut-trail{0%,25%{transform-origin:bottom;opacity:0;transform:scaleY(0)}70%{opacity:1;transform:scaleY(1)}to{opacity:0}}.tut-hand.flick .finger{animation:1.2s cubic-bezier(.2,.8,.2,1) infinite tut-flick}@keyframes tut-flick{0%,20%{opacity:0;transform:translateY(0)}30%{opacity:1}45%{opacity:1;transform:translateY(-60px)}60%,to{opacity:0;transform:translateY(-80px)}}.tut-hand.pinch .second{display:block}.tut-hand.pinch .finger{animation:1.8s ease-in-out infinite tut-pinch-a}.tut-hand.pinch .second{animation:1.8s ease-in-out infinite tut-pinch-b}@keyframes tut-pinch-a{0%,15%{opacity:0;transform:translate(-10px,10px)rotate(-20deg)}25%{opacity:1}70%{opacity:1;transform:translate(-70px,60px)rotate(-20deg)}to{opacity:0;transform:translate(-70px,60px)rotate(-20deg)}}@keyframes tut-pinch-b{0%,15%{opacity:0;transform:translate(10px,-10px)rotate(20deg)}25%{opacity:1}70%{opacity:1;transform:translate(70px,-60px)rotate(20deg)}to{opacity:0;transform:translate(70px,-60px)rotate(20deg)}}.tut-hand.tap .finger{animation:1s ease-in-out infinite tut-tap;top:-6px}@keyframes tut-tap{0%,to{transform:translateY(-14px)}50%{transform:translateY(4px)scale(.92)}}html,body{touch-action:none;overscroll-behavior:none}#maker,#chat-log,#card,#photo,#intro,body.touch-ui #dday.open #menu-items{touch-action:pan-y}input{touch-action:manipulation}#chat .chat-row[hidden]{display:none}
