:root{--control-unit:1;--control-stick:112px;--control-thumb:45px;--control-jump-width:100px;--control-jump-height:76px;--control-run-width:80px;--control-run-height:60px;--control-quest-height:60px;--control-gap:10px;--control-deck-width:190px;--control-deck-height:146px;--control-inset:20px;--control-font:21px;--control-quest-font:20px;--control-stick-font:14px}
.island-play:not(.in-play-course) .play-bottom{left:calc(var(--control-inset) + env(safe-area-inset-left,0px)*var(--control-unit));right:calc(var(--control-inset) + env(safe-area-inset-right,0px)*var(--control-unit));bottom:calc(var(--control-inset) + env(safe-area-inset-bottom,0px)*var(--control-unit));align-items:flex-end;gap:var(--control-gap)}
.island-play:not(.in-play-course) .play-bottom .round-stick,.island-play .course-stick{box-sizing:border-box;width:var(--control-stick);height:var(--control-stick);border-width:calc(4px*var(--control-unit))}
.island-play .play-bottom .round-stick>i,.island-play .course-stick>i{box-sizing:border-box;left:calc(50% - var(--control-thumb)/2);top:calc(50% - var(--control-thumb)/2);width:var(--control-thumb);height:var(--control-thumb)}
.island-play .play-bottom .round-stick>span,.island-play .course-stick>span{font-size:var(--control-stick-font);bottom:calc(7px*var(--control-unit))}
.island-play .play-actions{display:grid;flex:none;grid-template-columns:var(--control-run-width) var(--control-jump-width);grid-template-rows:var(--control-quest-height) var(--control-jump-height);gap:var(--control-gap);width:var(--control-deck-width);margin-left:auto;align-items:end}
.island-play .play-actions>button{box-sizing:border-box;margin:0;min-width:0;max-width:none;min-height:0;line-height:1.15;touch-action:manipulation;padding:calc(8px*var(--control-unit));font-size:var(--control-font)!important}
.island-play .play-actions #playRun{grid-column:1;grid-row:2;width:var(--control-run-width);height:var(--control-run-height)}
.island-play .play-actions #playJump{grid-column:2;grid-row:2;width:var(--control-jump-width);height:var(--control-jump-height);font-weight:900}
.island-play .play-actions #playInteract{grid-column:1/3;grid-row:1;width:var(--control-deck-width);height:var(--control-quest-height);min-width:0;min-height:0;max-height:var(--control-quest-height);line-height:1.1;font-size:var(--control-quest-font)!important;overflow:hidden;overflow-wrap:anywhere;padding:calc(6px*var(--control-unit)) calc(10px*var(--control-unit))}
.island-play .play-actions #playInteract small{font-size:calc(12px*var(--control-unit))}
.island-play #playUI[data-location=library] .play-actions{grid-template-rows:var(--control-quest-height)}
html[data-touch-controls="1"] .island-play .play-key-guide,html[data-touch-controls="1"] .island-play .play-actions small,html[data-touch-controls="1"] .island-play .course-tip{display:none}
html[data-touch-controls="1"] .island-play .direction-hint{bottom:calc(var(--control-deck-height) + var(--control-inset) + 12px*var(--control-unit))}
html[data-touch-controls="1"] .island-play .course-stick{left:var(--control-inset);bottom:var(--control-inset)}
html[data-touch-controls="1"] .island-play .course-input{right:var(--control-inset);bottom:var(--control-inset)}
html[data-touch-controls="1"] .island-play .course-input [data-course-jump]{box-sizing:border-box;width:var(--control-jump-width);min-width:var(--control-jump-width);height:var(--control-jump-height);min-height:var(--control-jump-height);padding:calc(8px*var(--control-unit));font-size:var(--control-font)!important;touch-action:manipulation}
html[data-touch-controls="1"] .island-play .course-input [data-course-jump] small{display:none}
