.touch-surface{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.touch-controls{position:fixed;inset:0;z-index:17;pointer-events:none}.touch-controls[hidden]{display:none}.touch-stick{position:fixed;left:calc(env(safe-area-inset-left,0px) + var(--touch-stick-x, 84px));top:calc(100% - env(safe-area-inset-bottom,0px) - var(--touch-stick-y, 190px));width:calc(2 * var(--stick-radius, 52px) + 14px);aspect-ratio:1;translate:-50% -50%;border:1.5px solid rgb(239 233 220 / .55);border-radius:50%;background:radial-gradient(circle,#1412161f 40%,#14121657);box-shadow:0 6px 24px #0000002e;opacity:.4;transition:opacity .25s ease}.touch-stick.held{opacity:1;transition:none}.touch-stick>span{position:absolute;left:50%;top:50%;width:50px;height:50px;margin:-25px 0 0 -25px;border-radius:50%;background:#efe9dce0;box-shadow:0 2px 10px #00000059,inset 0 -2px #00000014}.touch-stick.running>span{background:var(--d-bone, #efe9dc)}.touch-jump{position:fixed;right:calc(env(safe-area-inset-right,0px) + var(--touch-jump-right, 16px));bottom:calc(env(safe-area-inset-bottom,0px) + var(--touch-jump-bottom, 124px));display:grid;place-items:center;width:64px;height:64px;padding:0;pointer-events:auto;touch-action:none;-webkit-tap-highlight-color:transparent;cursor:pointer;border:1px solid var(--d-line-strong, rgb(239 233 220 / .3));border-radius:50%;background:var(--d-glass-thin, rgb(20 18 22 / .62));-webkit-backdrop-filter:var(--d-glass-blur, blur(18px));backdrop-filter:var(--d-glass-blur, blur(18px));box-shadow:var(--d-glass-edge, inset 0 1px 0 rgb(255 255 255 / .07)),0 10px 30px #0000004d;color:var(--d-bone, #efe9dc)}.touch-jump.pressed{background:var(--d-bone, #efe9dc);color:var(--d-ink, #0b0a0c);scale:.94}.touch-jump:focus-visible{outline:2px solid var(--d-bone, #efe9dc);outline-offset:3px}@media(prefers-reduced-motion:reduce){.touch-stick{transition:none}}html.touch-input .chat-dock li{pointer-events:none}html.touch-input .chat-dock.writing li{pointer-events:auto}html.touch-input .chat-dock .chat-author{position:relative}html.touch-input .chat-dock .chat-author:after{content:"";position:absolute;inset:-12px -6px}@media(max-width:640px){:root{--touch-stick-y: 250px}html.touch-input .portal-near{top:calc(118px + env(safe-area-inset-top));bottom:auto}html.touch-input .chat-dock{width:calc(100vw - 96px)}html.touch-input .chat-dock.writing{width:calc(100vw - 20px)}}@media(orientation:landscape)and (max-height:500px){:root{--touch-stick-y: 128px;--touch-jump-bottom: 108px}html.touch-input .chat-dock{left:calc(176px + env(safe-area-inset-left));width:min(360px,calc(100vw - 300px))}html.touch-input .portal-near{top:calc(72px + env(safe-area-inset-top));bottom:auto}}html:not(.touch-input) .touch-only,html.touch-input .desktop-only{display:none!important}
