html,body{margin:0;height:100%;background:#120d0b;overflow:hidden;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;overscroll-behavior:none}canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:none;-webkit-user-select:none;user-select:none}#t,#end{position:fixed;left:0;right:0;text-align:center;font-family:Songti SC,"Noto Serif SC",Iowan Old Style,Georgia,serif;letter-spacing:.18em;pointer-events:none;opacity:0;transition:opacity 1.6s ease;padding-bottom:env(safe-area-inset-bottom,0)}#t{bottom:calc(26px + env(safe-area-inset-bottom,0px));font-size:12px}#end{bottom:calc(58px + env(safe-area-inset-bottom,0px));font-size:15px;letter-spacing:.3em}#ui{position:fixed;right:calc(14px + env(safe-area-inset-right,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px));display:flex;gap:10px;z-index:5;touch-action:manipulation}#ui button{width:44px;height:44px;border-radius:50%;border:1px solid rgba(232,214,189,.28);background:#140e0b73;color:#e8d6bdd9;font:16px/1 system-ui,sans-serif;cursor:pointer;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:all .25s ease;padding:0;-webkit-tap-highlight-color:transparent;touch-action:manipulation}#ui button:hover{background:#231914b3;border-color:#e8d6bd80;transform:scale(1.05)}#ui button:active{transform:scale(.92);background:#32241ccc}#ui button.off{opacity:.35}.hint{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%) translateY(8px);color:#e8d6bde6;background:#140e0bb3;padding:8px 18px;border-radius:20px;font-size:13px;letter-spacing:.1em;pointer-events:none;opacity:0;transition:opacity .4s ease,transform .4s ease;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:10}.hint.show{opacity:1;transform:translate(-50%,-50%) translateY(0)}@media (max-width:520px){#ui{gap:12px;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px))}#ui button{width:48px;height:48px;font-size:18px}#t{font-size:12.5px}#end{font-size:15.5px}}@media (orientation:landscape) and (max-height:500px){#ui button{width:40px;height:40px;font-size:15px}#t{bottom:calc(14px + env(safe-area-inset-bottom,0px))}#end{bottom:calc(40px + env(safe-area-inset-bottom,0px))}}@media (prefers-reduced-motion:reduce){.hint{transition:none}}
