@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:500;src:url(./baloo-2-latin-500-normal-CmLZ27r7.woff2) format("woff2"),url(./baloo-2-latin-500-normal-BSdEhq8m.woff) format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:600;src:url(./baloo-2-latin-600-normal-tIfxVoAe.woff2) format("woff2"),url(./baloo-2-latin-600-normal-B4tNaogw.woff) format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:700;src:url(./baloo-2-latin-700-normal-CqTg7A15.woff2) format("woff2"),url(./baloo-2-latin-700-normal-Ld3Zm3l2.woff) format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:800;src:url(./baloo-2-latin-800-normal-BbF3Etk1.woff2) format("woff2"),url(./baloo-2-latin-800-normal-B8BXfZF7.woff) format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:500;src:url(./baloo-2-latin-ext-500-normal-Ba7mhTsk.woff2) format("woff2"),url(./baloo-2-latin-ext-500-normal-D1XZow3C.woff) format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:600;src:url(./baloo-2-latin-ext-600-normal-DiVeaYrH.woff2) format("woff2"),url(./baloo-2-latin-ext-600-normal-CFaB2nBN.woff) format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:700;src:url(./baloo-2-latin-ext-700-normal-Mlh7kdab.woff2) format("woff2"),url(./baloo-2-latin-ext-700-normal-D6LeXASg.woff) format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:800;src:url(./baloo-2-latin-ext-800-normal-C_Iwmf1s.woff2) format("woff2"),url(./baloo-2-latin-ext-800-normal-D-iCxxqE.woff) format("woff")}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;background:#1b1430;overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;font-family:"Baloo 2",Trebuchet MS,Segoe UI,Roboto,Arial,sans-serif}body{position:fixed;inset:0}#game{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh}#game canvas{touch-action:none;display:block}#touch{position:fixed;inset:0;pointer-events:none;z-index:10;--btn: clamp(64px, 17vh, 96px);--gap: clamp(10px, 2.2vh, 18px);--edge-l: calc(env(safe-area-inset-left, 0px) + 16px) ;--edge-r: calc(env(safe-area-inset-right, 0px) + 16px) ;--edge-b: calc(env(safe-area-inset-bottom, 0px) + 14px) ;--edge-t: calc(env(safe-area-inset-top, 0px) + 12px) }.tbtn{position:absolute;display:none;width:var(--btn);height:var(--btn);border-radius:50%;background:#2b21356b;border:3px solid rgba(253,242,233,.85);box-shadow:0 4px #00000040;align-items:center;justify-content:center;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;box-sizing:border-box}.tbtn svg{width:58%;height:58%;pointer-events:none}.tbtn.pressed{background:#f9d65c8c;transform:translateY(2px)}body.is-touch #touch.gameplay .t-left,body.is-touch #touch.gameplay .t-right,body.is-touch #touch.gameplay .t-jump,body.is-touch #touch.gameplay .t-action,body.is-touch #touch.hud .t-pause,body.is-touch #touch.hud .t-mute{display:flex}.t-left{left:var(--edge-l);bottom:var(--edge-b)}.t-right{left:calc(var(--edge-l) + var(--btn) + var(--gap));bottom:var(--edge-b)}.t-jump{right:var(--edge-r);bottom:var(--edge-b);width:calc(var(--btn) * 1.18);height:calc(var(--btn) * 1.18);background:#27ae6080}.t-action{right:calc(var(--edge-r) + var(--btn) * 1.18 + var(--gap));bottom:calc(var(--edge-b) + var(--btn) * .35);opacity:.35}.t-action.available{opacity:1;background:#e67e22bf;animation:pulse .9s ease-in-out infinite alternate}.action-label{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);white-space:nowrap;padding:4px 10px;border-radius:12px;background:#2b2135d9;color:#fdf2e9;font-size:clamp(14px,3.6vh,20px);font-weight:700;pointer-events:none}.action-label:empty{display:none}.t-pause,.t-mute{top:var(--edge-t);width:clamp(52px,13vh,64px);height:clamp(52px,13vh,64px);border-radius:16px}.t-pause{right:var(--edge-r)}.t-mute{right:calc(var(--edge-r) + clamp(52px,13vh,64px) + 12px)}.tlabel{display:none}body.layout-portrait #touch{--btn: clamp(56px, 17vw, 64px);--gap: clamp(10px, 3vw, 14px);--edge-l: calc(env(safe-area-inset-left, 0px) + 12px) ;--edge-r: calc(env(safe-area-inset-right, 0px) + 12px) ;--edge-b: calc(env(safe-area-inset-bottom, 0px) + 28px) }body.layout-portrait .t-action{bottom:var(--edge-b);opacity:.55}body.layout-portrait .t-action.available{opacity:1}body.layout-portrait .action-label{display:none}body.layout-portrait .tlabel{display:block;position:absolute;top:calc(100% + 3px);left:50%;transform:translate(-50%);white-space:nowrap;font-size:14px;font-weight:700;line-height:1;color:#fdf2e9;pointer-events:none}body.layout-portrait .t-pause{top:calc(env(safe-area-inset-top,0px) + 6px);width:48px;height:48px;border-radius:14px;background:#2b2135d1}body.layout-portrait .t-mute{display:none!important}@keyframes pulse{0%{transform:scale(1)}to{transform:scale(1.07)}}#safe-probe{position:fixed;left:0;top:0;width:0;height:0;visibility:hidden;pointer-events:none;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}.overlay{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));background:#1b14308c;overflow-y:auto;touch-action:pan-y;-webkit-user-select:text;user-select:text;color:#2b2135}.overlay.overlay-top{z-index:45;align-items:flex-start}.overlay.overlay-chapter{background:transparent}.card{box-sizing:border-box;width:min(820px,100%);max-height:100%;display:flex;flex-direction:column;gap:clamp(6px,1.4vh,12px);padding:clamp(12px,2.4vh,26px) clamp(14px,2.6vw,30px);background:#fdf6e3;border:5px solid #2b2135;border-radius:22px;box-shadow:6px 8px #00000047;font-size:clamp(16px,.9vw + .9vh,20px);line-height:1.4}.card-title{margin:0;font-size:1.5em;font-weight:800;line-height:1.15}.btn{font:inherit;font-weight:700;min-height:48px;padding:8px 20px;border:4px solid #2b2135;border-radius:16px;background:#fdebd0;color:#2b2135;cursor:pointer;box-shadow:0 4px #00000040;touch-action:manipulation}.btn:hover,.btn:focus-visible{background:#f9d65c;outline:none}.btn:active{transform:translateY(2px);box-shadow:0 2px #00000040}.btn.primary{background:#f9d65c}.btn.primary:focus-visible{outline:4px solid #e67e22;outline-offset:2px}.btn.big{font-size:1.25em;padding:8px 34px}.btn.small{min-height:44px;padding:4px 14px;font-size:.9em}.btn.icon{min-width:48px}.btn.link{min-height:44px;padding:2px 6px;border:none;background:none;box-shadow:none;color:#1f5f8b;text-decoration:underline}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-end}.chapter-card{max-width:860px}.ch-chips{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:2px 12px;border-radius:999px;background:#2b2135;color:#f5b041;font-weight:800;font-size:.9em}.chip.soft{background:#d6eaf8;color:#1f5f8b}.chip.replay{background:#d5f5e3;color:#1e8449}.ch-place{margin:0;font-size:clamp(24px,2.2vw + 1.6vh,44px);font-weight:800;line-height:1.1}.ch-sub{margin:0;font-size:1.1em;font-weight:700;color:#7b5a3a}.ch-story{flex:1 1 auto;min-height:3.2em;overflow-y:auto;overscroll-behavior:contain;padding-right:4px}.ch-story p{margin:0 0 .6em}.ch-story:focus-visible{outline:3px dashed #e67e22}.ch-goal{padding:8px 14px;border-radius:14px;background:#fff3a3;border:3px solid #2b2135;font-weight:700}.ch-goal-label{color:#c0392b;font-weight:800}.ch-foot{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between}.ch-player,.lb-player{min-width:0;overflow-wrap:anywhere}.name-card{width:min(560px,100%);margin-top:clamp(0px,6vh,60px)}.name-form{display:flex;flex-direction:column;gap:10px}.name-input{font:inherit;font-size:max(16px,1.2em);font-weight:700;padding:10px 14px;border:4px solid #2b2135;border-radius:14px;background:#fff;color:#2b2135;-webkit-user-select:text;user-select:text;touch-action:manipulation}.name-input:focus{outline:4px solid #f9d65c}.name-input[aria-invalid=true]{border-color:#c0392b}.form-error{margin:0;min-height:1.2em;color:#c0392b;font-weight:700}.form-notice,.form-hint{margin:0}.form-hint{color:#5d4e6d;font-size:.92em}.lb-card{width:min(720px,100%)}.lb-head,.lb-levels,.lb-pending-row{display:flex;gap:8px;align-items:center}.lb-head{justify-content:space-between}.lb-select{flex:1 1 auto;min-width:0;min-height:48px;font:inherit;font-weight:700;padding:4px 10px;border:4px solid #2b2135;border-radius:14px;background:#fff;color:#2b2135}.lb-yours{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:baseline}.lb-yours:empty,.lb-personal:empty,.lb-pending:empty{display:none}.lb-yours-time{font-size:1.4em;font-weight:800}.lb-status.rejected{color:#c0392b}.lb-record{color:#c0392b;font-weight:800}.lb-body{flex:1 1 auto;min-height:4em;overflow-y:auto;overscroll-behavior:contain}.lb-msg{margin:.4em 0;font-weight:700}.lb-msg.error{color:#c0392b}.lb-table{width:100%;border-collapse:collapse;table-layout:fixed}.lb-table th,.lb-table td{padding:6px 8px;border-bottom:2px solid #e8dcc4;text-align:left}.lb-table th{position:sticky;top:0;background:#fdf6e3;font-size:.85em;color:#5d4e6d}.lb-table .rank{width:5.6em}.lb-table .time{width:7.6em;text-align:right;font-variant-numeric:tabular-nums}.lb-table td.name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.lb-table tr.me td{background:#fff3a3}.lb-pending{display:flex;flex-direction:column;gap:6px}.lb-pending-row{justify-content:space-between;flex-wrap:wrap}.lb-pending-row.rejected span{color:#c0392b}.lb-foot{display:flex;flex-direction:column;gap:2px}.lb-disclaimer{margin:0;font-size:.8em;color:#5d4e6d}@media(max-width:420px){.lb-table th,.lb-table td{padding:6px 4px}.lb-table th{font-size:.72em}.lb-table .rank{width:4.2em}.lb-table .time{width:6.4em}}@media(max-height:430px){.card{border-width:4px;border-radius:16px;gap:6px}.btn{min-height:44px;padding:4px 14px}.btn.big{padding:4px 24px}.ch-goal{padding:4px 10px}}
