*{margin:0;padding:0;box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}:root{--cream: #FFF9EC;--cream-edge: #EEDFC2;--ink: #6B5B45;--ink-soft: #94816A;--mint: #BDE6CE;--coral: #FFB48F;--coral-deep: #7A4A32;--beige: #F4EBD9;--shadow: 0 6px 16px rgba(96, 74, 44, .18)}html,body{width:100%;height:100%;overflow:hidden;background:#9cc8e8}body{font-family:Hiragino Maru Gothic ProN,\30d2\30e9\30ae\30ce\4e38\30b4  ProN,"M PLUS Rounded 1c",BIZ UDGothic,Yu Gothic UI,system-ui,sans-serif;color:var(--ink);touch-action:none}.hidden{display:none!important}#gl{position:fixed;inset:0;width:100%;height:100%;touch-action:none}.ui-layer{position:fixed;inset:0;pointer-events:none;opacity:0;transition:opacity .3s ease;z-index:10}.ui-layer.is-on{opacity:1}.ui-layer button{pointer-events:auto}.cozy-panel{background:var(--cream);border:2px solid var(--cream-edge);border-radius:20px;box-shadow:inset 0 0 0 3px #fff,var(--shadow);color:var(--ink);font-weight:800;letter-spacing:.05em}.cozy-btn{font-family:inherit;background:var(--cream);border:2px solid var(--cream-edge);border-radius:999px;box-shadow:inset 0 0 0 3px #fff,0 4px #96784e47,var(--shadow);color:var(--ink);font-weight:800;letter-spacing:.06em;cursor:pointer;padding:.6em 1.5em;font-size:clamp(15px,3.6vmin,21px);white-space:nowrap;min-height:44px;transition:transform .12s cubic-bezier(.34,1.8,.5,1),box-shadow .12s ease}.cozy-btn:active{transform:scale(.93) translateY(2px);box-shadow:inset 0 0 0 3px #fff,0 1px #96784e47,0 3px 8px #604a2c24}.cozy-btn.primary{background:var(--coral);border-color:#e89a72;color:var(--coral-deep);font-size:clamp(19px,5vmin,28px);padding:.5em 1.7em}.cozy-btn.small{font-size:clamp(12px,2.8vmin,15px);padding:.5em 1.1em;background:var(--beige);color:var(--ink-soft)}#ui-title{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:max(6vh,env(safe-area-inset-top));gap:clamp(10px,3vh,26px)}#logo{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;column-gap:.45em;max-width:94vw;padding:0 10px}.lg-word{display:inline-flex;white-space:nowrap}.lg{display:inline-block;font-size:clamp(30px,10.4vmin,72px);font-weight:900;-webkit-text-stroke:6px rgba(255,255,255,.95);paint-order:stroke fill;text-shadow:0 4px 0 rgba(140,110,70,.22),0 8px 18px rgba(96,74,44,.2);letter-spacing:.02em;transform:scale(3) rotate(10deg);opacity:0;animation:logoPop .5s cubic-bezier(.2,1.7,.45,1) forwards}@keyframes logoPop{0%{transform:scale(3) rotate(10deg);opacity:0}62%{transform:scale(.92) rotate(-3deg);opacity:1}82%{transform:scale(1.07) rotate(1deg)}to{transform:scale(1) rotate(0);opacity:1}}.title-menu{position:absolute;bottom:max(7vh,calc(env(safe-area-inset-bottom) + 4vh));display:flex;gap:clamp(12px,4vw,30px);flex-wrap:wrap;justify-content:center;padding:0 14px}.mode-btn{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:clamp(150px,38vw,240px);padding:.75em 1em .85em;border-radius:26px}.mode-name{font-size:clamp(22px,6vmin,34px);font-weight:900}.mode-sub{font-size:clamp(10px,2.4vmin,13px);font-weight:700;letter-spacing:.04em;color:var(--ink-soft);white-space:normal;line-height:1.35}.lv-badge{font-size:clamp(11px,2.6vmin,14px);background:var(--mint);color:#3e6b52;border-radius:999px;padding:.2em .9em;letter-spacing:.08em;font-weight:800}#hud-top{position:absolute;top:max(10px,env(safe-area-inset-top));left:0;right:0;display:flex;align-items:center;justify-content:center;gap:10px;padding:0 58px}#level-chip{font-size:clamp(12px,2.8vmin,15px);padding:.4em 1em;border-radius:999px;white-space:nowrap;background:var(--mint);border-color:#9cd4b2;color:#3e6b52}#hint{font-size:clamp(11px,2.7vmin,15px);padding:.45em 1.1em;max-width:74vw;line-height:1.4;text-align:center;border-radius:999px;background:#fff9ece0}#hud-bottom{position:absolute;bottom:max(12px,calc(env(safe-area-inset-bottom) + 8px));left:0;right:0;display:flex;align-items:center;justify-content:center;gap:clamp(10px,3vw,22px)}#bubble{position:fixed;z-index:20;pointer-events:none;transform:translate(-50%,-100%);background:var(--cream);border:2.5px solid var(--cream-edge);border-radius:18px 20px;box-shadow:inset 0 0 0 3px #fff,0 5px 12px #604a2c2e;color:var(--ink);font-weight:800;letter-spacing:.04em;font-size:clamp(13px,3.2vmin,18px);padding:.45em .95em;white-space:nowrap;max-width:76vw}#bubble:after{content:"";position:absolute;bottom:-8px;left:50%;width:14px;height:14px;transform:translate(-50%) rotate(45deg);background:var(--cream);border-right:2.5px solid var(--cream-edge);border-bottom:2.5px solid var(--cream-edge);border-radius:0 0 5px}#bubble.pop{animation:bubblePop .34s cubic-bezier(.2,1.7,.45,1)}@keyframes bubblePop{0%{transform:translate(-50%,-100%) scale(.5);opacity:0}62%{transform:translate(-50%,-100%) scale(1.07);opacity:1}to{transform:translate(-50%,-100%) scale(1);opacity:1}}#bubble.bye{animation:bubbleBye .22s ease-in forwards}@keyframes bubbleBye{to{transform:translate(-50%,-100%) scale(.55);opacity:0}}#dialog-tap{position:fixed;inset:0;z-index:29}#dialog{position:fixed;z-index:30;left:50%;bottom:max(5vh,calc(env(safe-area-inset-bottom) + 3vh));width:min(92vw,560px);min-height:3.6em;padding:1em 1.2em 1.1em;font-size:clamp(16px,4vmin,22px);line-height:1.55;border-radius:24px;pointer-events:none;transform:translate(-50%);animation:dialogPop .35s cubic-bezier(.2,1.6,.45,1)}@keyframes dialogPop{0%{transform:translate(-50%) scale(.6) translateY(24px);opacity:0}62%{transform:translate(-50%) scale(1.04) translateY(-3px);opacity:1}to{transform:translate(-50%) scale(1) translateY(0);opacity:1}}#dialog:before{content:"";position:absolute;top:-11px;left:26px;width:34px;height:20px;background:var(--coral);border:2.5px solid #fff;border-radius:999px;box-shadow:0 3px 6px #604a2c33}#dialog:after{content:"";position:absolute;top:-4px;left:68px;width:12px;height:12px;background:var(--mint);border:2px solid #fff;border-radius:50%;box-shadow:0 2px 5px #604a2c2e}.dchar{display:inline-block;animation:chPop .16s cubic-bezier(.2,1.7,.45,1)}@keyframes chPop{0%{transform:scale(.3) translateY(.18em);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}#dialog-next{position:absolute;right:.8em;bottom:.4em;font-size:.8em;color:var(--coral);animation:nextBob .75s ease-in-out infinite alternate}@keyframes nextBob{0%{transform:translateY(-2px);opacity:.95}to{transform:translateY(3px);opacity:.55}}#banner{position:fixed;z-index:25;top:40%;left:50%;width:fit-content;max-width:92vw;text-align:center;font-size:clamp(34px,11vmin,80px);font-weight:900;letter-spacing:.16em;color:#ff9a70;-webkit-text-stroke:5px rgba(255,255,255,.96);paint-order:stroke fill;text-shadow:0 4px 0 rgba(140,110,70,.2),0 8px 20px rgba(96,74,44,.2);background:#fff9eceb;border:2.5px solid var(--cream-edge);border-radius:999px;box-shadow:inset 0 0 0 3px #fff,var(--shadow);padding:.12em .7em .16em;transform:translate(-50%) scale(0);opacity:0;pointer-events:none}#banner.in{animation:bannerPop .45s cubic-bezier(.2,1.7,.45,1) forwards}@keyframes bannerPop{0%{transform:translate(-50%) scale(.2) rotate(-4deg);opacity:0}62%{transform:translate(-50%) scale(1.08) rotate(2deg);opacity:1}to{transform:translate(-50%) scale(1) rotate(0);opacity:1}}#banner.in.out{animation:bannerBye .38s ease-in forwards}@keyframes bannerBye{0%{transform:translate(-50%) scale(1);opacity:1}to{transform:translate(-50%) scale(.7) translateY(-14px);opacity:0}}#ui-celebrate{display:flex;align-items:center;justify-content:center;z-index:35}.cele-panel{display:flex;flex-direction:column;align-items:center;gap:clamp(10px,2.6vh,20px);padding:clamp(20px,4.5vh,34px) clamp(24px,6vw,48px);max-width:min(92vw,480px);text-align:center;border-radius:30px;transform:scale(.5);transition:transform .4s cubic-bezier(.2,1.7,.45,1)}.ui-layer.is-on .cele-panel{transform:scale(1)}#cele-title{font-size:clamp(30px,8.5vmin,52px);font-weight:900;letter-spacing:.14em}.cele-ch{display:inline-block;-webkit-text-stroke:4px rgba(255,255,255,.95);paint-order:stroke fill;text-shadow:0 3px 0 rgba(140,110,70,.2);animation:celeBounce .8s ease-in-out infinite}@keyframes celeBounce{0%,to{transform:translateY(0)}35%{transform:translateY(-.22em) scale(1.06)}70%{transform:translateY(.04em) scale(.98)}}#cele-level{font-size:clamp(15px,3.8vmin,21px);font-weight:800;letter-spacing:.06em;background:var(--mint);color:#3e6b52;border-radius:999px;padding:.3em 1.1em}.cele-actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}#btn-pause{position:fixed;top:max(10px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));z-index:15;width:46px;height:46px;min-height:46px;padding:0;display:flex;align-items:center;justify-content:center;color:var(--ink-soft)}#ui-pause,#ar-unsup{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center}.pause-dim{position:absolute;inset:0;background:#604a2c52}.pause-panel{position:relative;display:flex;flex-direction:column;align-items:center;gap:clamp(10px,2.4vh,18px);padding:clamp(20px,4vh,30px) clamp(24px,6vw,44px);max-width:min(88vw,420px);text-align:center;border-radius:30px;transform:scale(.6);transition:transform .35s cubic-bezier(.2,1.7,.45,1)}#ui-pause.is-on .pause-panel,#ar-unsup .pause-panel{transform:scale(1)}.pause-title{font-size:clamp(17px,4.4vmin,25px);font-weight:900;letter-spacing:.08em;line-height:1.6}.pause-panel .cozy-btn{min-width:min(58vw,230px)}#ar-overlay{position:fixed;inset:0;z-index:60;touch-action:none}#ar-overlay[hidden]{display:none}#ar-exit{position:absolute;top:max(10px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left))}#ar-move{position:absolute;top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));min-width:5.2em}#ar-hint{position:absolute;left:50%;bottom:max(13vh,calc(env(safe-area-inset-bottom) + 11vh));transform:translate(-50%);padding:.5em 1.1em;border-radius:999px;font-size:clamp(13px,3.2vmin,17px);max-width:86vw;text-align:center;transition:opacity .5s ease}#ar-hint.fade{opacity:0}#ar-hint:empty{display:none}#ar-ctl{position:absolute;left:50%;bottom:max(3vh,calc(env(safe-area-inset-bottom) + 1.5vh));transform:translate(-50%);display:flex;gap:14px;align-items:center}#ui-nowebgl{display:flex;align-items:center;justify-content:center;opacity:1;z-index:50}.nowebgl{max-width:min(86vw,440px);padding:1.2em 1.4em;font-size:clamp(16px,4.2vmin,22px);line-height:1.7;text-align:center;border-radius:26px}
