@font-face{font-family:Zen;src:url(../assets/ZenMaruGothic-Regular.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Zen;src:url(../assets/ZenMaruGothic-Bold.woff2)format("woff2");font-weight:700;font-display:swap}#revision{pointer-events:auto;text-align:right;color:#74674e;font:12px ui-monospace,monospace;position:absolute;top:8px;right:12px}:root{color:#442e21;font-synthesis:none;background:#f5eddb;font-family:Zen,Hiragino Maru Gothic ProN,sans-serif}*{box-sizing:border-box}body{height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:radial-gradient(at 5% 18%,#d2b66a18 0 20%,#0000 21%),repeating-radial-gradient(circle at 100% 100%,#0000 0 16px,#b7975020 17px 18px,#0000 19px 28px),#f5eddb;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);place-items:center;margin:0;display:grid}#app{width:min(100%,calc((100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom))*390/720));aspect-ratio:390/720;position:relative}#game{width:100%;height:100%}#overlay{width:390px;height:720px;transform:scale(var(--game-scale,1));transform-origin:0 0;pointer-events:none;position:absolute;top:0;left:0}canvas{touch-action:none;display:block}#controls{pointer-events:none;position:absolute;inset:0}button{color:#442e21;cursor:pointer;touch-action:manipulation;background:#fff9ec;border:1.5px solid #ac8d57;border-radius:18px;min-height:48px;padding:10px 20px;font:700 18px Zen,sans-serif;box-shadow:0 4px #ae8d5730}button:hover{filter:brightness(1.035)}button:active{box-shadow:none;transform:translateY(2px)}button:focus-visible{outline-offset:4px;outline:3px solid #6d804d}button.primary{color:#fff9e9;background:#d64e2c;border-color:#be4526;box-shadow:0 5px #a63a24}.screen-control{pointer-events:auto;position:absolute}.pause-control{color:#f6dca2;background:linear-gradient(145deg,#304e65,#1c3448);border:2px solid #b69352;border-radius:16px;place-items:center;width:48px;height:48px;min-height:48px;padding:0;display:grid;top:24px;right:20px;box-shadow:inset 0 0 0 2px #f5d99b24,0 3px #142b3e,0 5px 8px #203b511a}.pause-control:hover{background:linear-gradient(145deg,#3a5b73,#25445c)}.pause-control:active{box-shadow:inset 0 0 0 2px #f5d99b24,0 1px #142b3e}.pause-control:focus-visible{outline-color:#203b51}.pause-icon{pointer-events:none;gap:5px;display:flex}.pause-icon:before,.pause-icon:after{content:"";background:linear-gradient(#ffe8b4,#d4af68);border-radius:2px;width:5px;height:18px;box-shadow:0 1px #0003}.title-help{width:54%;top:75%;left:23%}.result-share{width:342px;top:568px;left:24px}.result-retry{width:218px;font-size:16px;top:636px;left:24px}.result-title{width:112px;padding:10px 8px;font-size:14px;top:636px;left:254px}.share-status{text-align:center;color:#75804c;width:100%;margin:0;font-size:11px;position:absolute;top:615px;left:0}.share-text{color:#442e21;resize:vertical;background:#fff;border:1px solid #ac8d57;border-radius:8px;width:100%;min-height:160px;padding:12px;font:14px Zen,sans-serif}#loading{text-align:center;background:#f5eddb;width:100%;padding:30px;font-weight:700;position:absolute;top:42%;left:0}dialog{color:#442e21;background:#fff9ed;border:2px solid #c4a361;border-radius:24px;width:min(350px,100% - 28px);max-height:85dvh;padding:24px;box-shadow:0 12px 60px #30201530}dialog::backdrop{background:#35271985}dialog h2{text-align:center;margin:0 0 20px;font-size:24px}dialog h2:focus{outline:none}dialog p,dialog li{font-size:14px;line-height:1.8}dialog ol{padding-left:22px}dialog button{width:100%;margin-top:12px;display:block}dialog table{border-collapse:collapse;text-align:center;width:100%;font-size:13px}dialog th,dialog td{border-bottom:1px solid #decda9;padding:5px}.offline-note{text-align:center;color:#74674e;font-size:12px}#modal small{text-align:center;margin-top:18px;font-size:12px;display:block}button:disabled{opacity:.5;cursor:wait}.title-play.primary{color:#fff8df;letter-spacing:.08em;text-indent:.08em;text-shadow:0 2px #a83c2940;background:radial-gradient(at 50% 0,#ec7045aa,#0000 75%),linear-gradient(#dc542e,#cf4625);border:2px solid #ad4829;border-radius:40px;width:282px;height:70px;padding:6px 20px;font-size:34px;top:506px;left:54px;box-shadow:inset 0 0 0 2px #efba6c,0 4px #a54329,0 8px 12px #94713a24}.title-play:before{content:"";border-radius:inherit;pointer-events:none;border:1.5px solid #f0c67e;position:absolute;inset:6px}.title-play.primary:active{box-shadow:inset 0 0 0 2px #efba6c,0 2px #a54329}.title-help.title-menu-button{color:#203b51;background:linear-gradient(#fffaf0b3,#fff6de80);border:2px solid #203b51;border-radius:28px;width:220px;height:48px;min-height:48px;padding:3px 16px;font-size:24px;top:592px;left:85px;box-shadow:inset 0 0 0 2px #fff9e9,0 3px #b6a17b40,0 5px 8px #94713a16}.title-help.title-menu-button:active{box-shadow:inset 0 0 0 2px #fff9e9}.title-sound{color:#203b51;width:180px;height:48px;min-height:48px;box-shadow:none;background:0 0;border:0;border-radius:24px;justify-content:center;align-items:center;gap:9px;padding:8px 12px;font-size:14px;display:flex;top:652px;left:105px}.title-sound:before{content:"";background:currentColor;flex:none;width:23px;height:23px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 8h4l5-4v16l-5-4H3z' fill='black' stroke='black' stroke-linejoin='round'/%3E%3Cpath d='M16 8a6 6 0 0 1 0 8m3-11a10 10 0 0 1 0 14' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 8h4l5-4v16l-5-4H3z' fill='black' stroke='black' stroke-linejoin='round'/%3E%3Cpath d='M16 8a6 6 0 0 1 0 8m3-11a10 10 0 0 1 0 14' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") 50%/contain no-repeat}.title-sound[aria-pressed=false]:before{opacity:.45}.title-play:focus-visible,.title-help.title-menu-button:focus-visible,.title-sound:focus-visible{outline-color:#203b51}@media (hover:hover){.title-sound:hover{background:#203b510a}}.tutorial-skip{padding:10px 12px;font-size:14px;top:24px;left:16px}.tutorial-guide{pointer-events:auto;background:#fff9ed;border:2px solid #c4a361;border-radius:16px;flex-direction:column;justify-content:center;gap:4px;width:358px;height:190px;padding:12px 16px;display:flex;position:absolute;top:105px;left:16px}.tutorial-guide h2{color:#75804c;margin:0;font-size:18px}.tutorial-guide h2:focus{outline:none}.tutorial-guide p{margin:0;font-size:14px;line-height:1.45}.tutorial-guide button{align-self:center;min-width:160px;padding:8px 16px;font-size:16px}
