body.touch{--tb:44px;--tg:8px;--joy:120px;--kb:0px;--vv-top:0px;--vv-h:100dvh;--sa-t:env(safe-area-inset-top,0px);--sa-r:env(safe-area-inset-right,0px);--sa-b:env(safe-area-inset-bottom,0px);--sa-l:env(safe-area-inset-left,0px);--dock-h:calc(var(--tb) + 20px);--dock-r:68px;overscroll-behavior:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}body.touch #hud{inset:var(--sa-t) var(--sa-r) var(--sa-b) var(--sa-l)}body.touch.kb-open #hud{top:var(--vv-top);height:var(--vv-h);bottom:auto}body.touch #hud>#joystick{left:10px;bottom:calc(var(--dock-h) + 6px);width:var(--joy);height:var(--joy)}body.touch.landscape #hud>#joystick{bottom:10px}body.touch .joystick-knob{width:calc(var(--joy) * .44);height:calc(var(--joy) * .44);margin:calc(var(--joy) * -.22) 0 0 calc(var(--joy) * -.22)}body.touch #hud>#touch-actions{right:10px;bottom:calc(var(--dock-h) + 6px);gap:var(--tg)}body.touch.landscape #hud>#touch-actions{grid-auto-flow:column;grid-template-rows:repeat(3, var(--tb));display:grid;bottom:10px}body.touch .touch-btn{width:var(--tb);height:var(--tb)}body.touch .touch-icon svg{width:64%;height:64%}body.touch #hud>#hud-dock{flex-direction:column;align-items:center;gap:8px;max-width:100%;bottom:6px;left:50%;right:auto;transform:translate(-50%)}body.touch .micro-menu{flex-wrap:nowrap;gap:4px;max-width:none;padding:4px}body.touch .micro{width:var(--tb);height:var(--tb);flex:none;min-width:0}body.touch .micro-icon svg{width:66%;height:66%}body.touch .micro-key,.micro-name{display:none}.micro-drawer{left:50%;bottom:calc(var(--sa-b,0px) + var(--dock-h,64px) + 4px);z-index:1500;width:min(340px, calc(100vw - 16px - var(--sa-l,0px) - var(--sa-r,0px)));border:2px solid var(--frame-line);background:linear-gradient(180deg, var(--frame-1), var(--frame-2));box-shadow:inset 0 1px 0 var(--frame-hi), 0 8px 22px #0000008c;border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:8px;display:grid;position:fixed;transform:translate(-50%)}.micro-drawer[hidden]{display:none}.micro-drawer .micro{width:auto;height:auto;min-height:calc(var(--tb) + 26px);flex-direction:column;justify-content:flex-start;align-items:center;gap:3px;padding:6px 2px 4px;display:flex;position:relative}.micro-drawer .micro-icon svg{width:calc(var(--tb) * .66);height:calc(var(--tb) * .66)}.micro-drawer .micro-name{color:#e8dcc0;text-align:center;overflow-wrap:anywhere;max-width:100%;font-size:11px;font-weight:700;line-height:1.1;display:block}.micro-more{position:relative}#hud-dock:has(.micro-drawer .micro:is(.has-news,.has-results,.has-mail,.has-claim,.voice-on,.voice-talking,.voice-connecting)) .micro-more:after{content:"";background:var(--gold);border-radius:50%;width:9px;height:9px;position:absolute;top:3px;right:3px;box-shadow:0 0 0 1.5px #1c1914}body.touch #hud>#hud-prompt{bottom:calc(var(--dock-h) + 6px);min-height:var(--tb);font-size:15px}body.touch #hud>#hud-stamina{bottom:calc(var(--dock-h) + var(--tb) + 12px)}body.touch #toasts{bottom:calc(var(--sa-b) + var(--dock-h) + var(--tb) + 24px);width:max-content;max-width:calc(100vw - 24px - var(--sa-l) - var(--sa-r))}body.touch .toast{text-align:center;border-radius:14px;max-width:100%;font-size:13.5px}body.touch.compact #hud>#hud-card{gap:8px;min-width:0;max-width:calc(100% - 150px);padding:5px 10px 5px 5px;top:6px;left:6px}body.touch.compact .unit-portrait{width:44px;height:44px}body.touch.compact .unit-level{border-radius:9px;min-width:18px;height:18px;padding:0 4px;font-size:10px;line-height:16px;top:34px;left:34px}body.touch.compact #hud-card .name{font-size:13px}body.touch.compact #hud-card .row{flex-wrap:nowrap;gap:4px;margin:2px 0;font-size:11px}body.touch.compact #hud-card .badge{white-space:nowrap;padding:0 6px;font-size:10.5px}body.touch.compact #hud>#hud-status,body.touch.compact #hud-keysheet{display:none}body.touch.compact #hud>#hud-clock{white-space:nowrap;text-align:right;padding:4px 8px;font-size:11.5px;inset:6px 6px auto auto;transform:none}body.touch.compact #hud>#hud-buffs{top:var(--mm-below,62px);right:6px}body.touch.compact #hud>#hud-tutorial,body.touch.compact #hud>#hud-delivery{top:calc(var(--mm-below,190px) - var(--sa-t));width:calc(100% - var(--tb) - 24px);max-height:calc(100% - var(--mm-below,190px) - var(--dock-h) - 12px);gap:8px;padding:8px 10px;bottom:auto;left:6px;overflow-y:auto}:is(body.touch.compact #hud:has(>#hud-tutorial:not([hidden]))>#hud-delivery,body.touch.compact #hud:has(>#hud-onboarding:not([hidden]))>#hud-delivery){top:calc(var(--mm-below,190px) - var(--sa-t) + 150px)}body.touch.compact.landscape #hud>#hud-tutorial,body.touch.compact.landscape #hud>#hud-delivery{width:min(360px,100% - 300px);max-height:calc(100% - 88px);top:76px;left:6px}body.touch.compact.landscape #hud:has(>#hud-tutorial:not([hidden]))>#hud-delivery{top:76px;left:auto;right:160px}body.touch.compact #hud-tutorial .tut-portrait{font-size:28px}body.touch.compact #hud-tutorial .tut-line{font-size:13px}body.touch #hud-tutorial .tut-buttons button{min-height:36px;padding:4px 14px}body.touch #net-banner{top:calc(var(--sa-t) + 6px);max-width:calc(100vw - 16px - var(--sa-l) - var(--sa-r));border-radius:18px}body.touch .win-close,body.touch .win-help-btn{width:36px;height:36px;font-size:22px}body.touch .win-help-btn{font-size:16px}body.touch .panel-head{padding:6px 8px 6px 14px}body.touch .panel-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}body.touch .kit-tabs{flex-wrap:wrap;overflow:visible}body.touch .panel button:not(.slot,.micro){min-height:34px}body.touch input:not([type=range],[type=checkbox],[type=radio]),body.touch select,body.touch textarea{font-size:16px}body.touch.chat-open #hud>#chat{border-color:var(--line);background:#060806bd;width:calc(100% - var(--tb) - 24px)!important;height:clamp(84px, calc(var(--vv-h) * .26), 170px)!important;left:6px!important;right:auto!important;bottom:calc(var(--dock-h) + 6px)!important}body.touch.chat-open.landscape #hud>#chat{width:calc(100% - 2 * var(--tb) - var(--tg) - 28px)!important}body.touch.kb-open #hud>#chat{bottom:6px!important}body.touch.kb-open #hud>#hud-dock,body.touch.chat-open #hud>#hud-prompt,body.touch.chat-open #hud>#hud-stamina{display:none}body.touch.chat-open #chat .chat-log{font-size:13px}body.touch.chat-open #hud>#hud-tutorial,body.touch.chat-open #hud>#hud-delivery{display:none}body.touch #fish-dock,body.touch #detector-hud,body.touch #detector-chip{bottom:calc(var(--sa-b,0px) + var(--dock-h) + var(--tb) + 14px);max-width:calc(100vw - 16px)}body.touch #toasts{bottom:calc(var(--sa-b,0px) + var(--dock-h) + var(--tb) + 74px)}.touch-btn.mic{position:relative}.touch-btn.mic.mic-off,.touch-btn.mic.mic-gated{opacity:.6}.touch-btn.mic.mic-ready{border-color:#b8925a}.touch-btn.mic.mic-talking,.touch-btn.mic.mic-open{box-shadow:0 4px 10px #00000080, 0 0 0 calc(2px + var(--lvl,0) * 7px) #5fd35a8c;border-color:#5fd35a}.touch-btn.mic.mic-talking{background:radial-gradient(circle at 50% 40%,#2f5a2c,#14230f)}.touch-btn.mic.mic-muted,.touch-btn.mic.mic-blocked{border-color:#d9534f}.touch-btn.mic.mic-muted:after,.touch-btn.mic.mic-blocked:after{content:"";background:#d9534f;border-radius:2px;height:3px;position:absolute;top:50%;left:18%;right:18%;transform:rotate(-45deg);box-shadow:0 0 0 1px #1c1914}.touch-btn.mic.mic-connecting{animation:.9s ease-in-out infinite alternate mic-pulse}@keyframes mic-pulse{to{border-color:var(--warn)}}@media (prefers-reduced-motion:reduce){.touch-btn.mic.mic-connecting{animation:none}}body.touch .voice-modes button,body.touch .voice-opt button,body.touch .voice-opt .audio-mute{min-height:42px}body.touch.compact.landscape.has-window #hud>#hud-dock{display:none}body.touch.compact.landscape .panel-body{padding:6px 10px 8px}body.touch.compact.landscape .panel-head{padding-top:2px;padding-bottom:2px}body.touch.compact.landscape .panel-body h3{margin:8px 0 5px}body.touch.compact.landscape .shop{gap:6px}body.touch.compact.landscape .shop-head{gap:8px;padding-bottom:6px}body.touch.compact.landscape .shop-face{width:34px;height:34px}body.touch.compact.landscape .shop-initial{font-size:18px}body.touch.compact.landscape .shop-greet,body.touch.compact.landscape .shop-deal-hint{display:none}body.touch.compact.landscape .shop-dock{padding:5px 10px 6px}body.touch .ctx-menu{min-width:190px;max-height:calc(100dvh - 16px);overflow-y:auto}body.touch .ctx-menu button{min-height:40px;font-size:14px}body.touch #hud>#home-editor{bottom:calc(var(--dock-h) + 4px);width:calc(100% - 12px);max-height:calc(100% - var(--dock-h) - 12px);gap:5px;padding:6px 8px;overflow-y:auto}body.touch.compact #home-editor .row.spread{flex-wrap:nowrap}body.touch.compact #home-editor .row.spread>.dim{display:none}body.touch #home-editor button.bp{min-width:72px;padding:4px 6px}body.touch #home-editor .build-level,body.touch #home-editor .build-tool{min-height:36px;padding:0 9px}:is(body.touch.compact.landscape #hud:has(>#home-editor)>#hud-dock,body.touch.compact.landscape #hud:has(>#home-editor)>#hud-prompt,body.touch.compact.landscape #hud:has(>#home-editor)>#hud-stamina){display:none}body.touch.compact.landscape #hud>#home-editor{bottom:6px;left:calc(var(--joy) + 24px);right:calc(3 * var(--tb) + 2 * var(--tg) + 24px);width:auto;max-height:calc(100% - 12px);transform:none}body.touch.compact.landscape #home-editor .build-tools{flex-wrap:nowrap;overflow-x:auto}body.touch.compact #hud-card .bb{white-space:nowrap}@media (max-width:380px){body.touch.compact #hud-card .badge:not(.division){display:none}}
