html,body{margin:0;height:100%;overflow:hidden;background:#9fc8e8;font-family:-apple-system,system-ui,Segoe UI,Roboto,sans-serif;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none}#c{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}#hud{position:fixed;top:calc(8px + env(safe-area-inset-top));left:calc(8px + env(safe-area-inset-left));color:#fff;background:#0000008c;padding:6px 10px;border-radius:8px;font-size:12px;line-height:1.4;pointer-events:none;max-width:60vw}#fps{font-size:20px;font-weight:700}#status{color:#ffd479}#panel{position:fixed;top:calc(8px + env(safe-area-inset-top));right:calc(8px + env(safe-area-inset-right));background:#0000008c;color:#fff;padding:6px 8px;border-radius:8px;font-size:12px}.row{display:flex;gap:4px;align-items:center;margin:3px 0}.row span{min-width:64px}button{font:inherit;font-size:13px;padding:6px 10px;border-radius:6px;border:0;background:#fff;color:#222;min-height:32px}button.on{background:#ff7aa8;color:#fff}#bench{width:100%;background:#ffd479;font-weight:700}#result{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);background:#14141eeb;color:#fff;padding:12px 14px;border-radius:10px;width:min(92vw,420px)}#result pre{white-space:pre-wrap;font-size:12px;margin:0 0 8px;-webkit-user-select:text;user-select:text}#joy{position:fixed;left:0;bottom:0;width:45vw;height:45vh;display:none}body.touch #joy{display:block}#online{position:fixed;right:calc(8px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:6px;align-items:flex-end}#online[hidden],#audioBtn[hidden],.row[hidden]{display:none}#zone{background:#0000008c;color:#fff;font-size:12px;padding:4px 8px;border-radius:6px}#voiceBtn{min-height:44px;font-weight:700;padding:8px 14px}#audioBtn{background:#ffd479;font-weight:700}#chatLog{position:fixed;left:calc(8px + env(safe-area-inset-left));top:30vh;width:min(70vw,340px);font-size:13px;line-height:1.35;color:#fff;pointer-events:none;display:flex;flex-direction:column;gap:3px}#chatLog .line{background:#00000080;padding:3px 8px;border-radius:8px;align-self:flex-start;max-width:100%;overflow-wrap:anywhere;transition:opacity 1.5s}#chatLog .line.history{opacity:.45}#chatLog{transition:opacity .6s}#chatLog.faded{opacity:0}#chatLog:not(.expanded) .line:nth-last-child(n+9){display:none}#chatLog.expanded{max-height:45vh;overflow-y:auto;pointer-events:auto;background:#00000040;border-radius:10px;padding:4px}#chatLog .line.mine b{color:#ffd479}#chatLog .line.err{background:#a01e32d9}#chatForm{position:fixed;left:0;right:0;bottom:0;display:flex;gap:6px;padding:8px calc(8px + env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) calc(8px + env(safe-area-inset-left));background:#0009;z-index:5}#chatForm[hidden]{display:none}#chatInput{flex:1;font-size:16px;padding:10px 12px;border-radius:8px;border:0;-webkit-user-select:text;user-select:text}#emoteBar{position:fixed;left:50%;transform:translate(-50%);bottom:calc(12px + env(safe-area-inset-bottom));display:flex;gap:6px;background:#00000073;padding:6px;border-radius:14px}#emoteBar[hidden],#emoteBar button[hidden]{display:none}#emoteBar button{min-width:40px;min-height:40px;font-size:18px;padding:4px 8px}#emoteBar #sitBtn,#emoteBar #chatBtn,#emoteBar #unblockBtn{font-size:13px;font-weight:700}#sitBtn{background:#8fe39a}body.touch #emoteBar{left:auto;right:calc(8px + env(safe-area-inset-right));transform:none;bottom:calc(150px + env(safe-area-inset-bottom));flex-wrap:wrap;max-width:52vw;justify-content:flex-end}#card{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);background:#14141ef0;color:#fff;padding:14px;border-radius:12px;width:min(92vw,360px);z-index:6}#card[hidden]{display:none}.cardName{font-weight:700;font-size:16px;margin-bottom:10px}.cardRow{display:flex;gap:6px;flex-wrap:wrap}.cardList{display:flex;flex-direction:column;gap:6px}.cardList button{text-align:left;min-height:42px}#card button.warn{background:#ffd479}#card button.danger{background:#ff6b8a;color:#fff}#card button.plain{background:#555;color:#fff}#toast{position:fixed;left:50%;top:calc(64px + env(safe-area-inset-top));transform:translate(-50%);background:#14141eeb;color:#fff;padding:8px 14px;border-radius:999px;font-size:13px;z-index:7;max-width:90vw;text-align:center}#toast[hidden]{display:none}#banner{position:fixed;left:50%;top:calc(18vh + env(safe-area-inset-top));transform:translate(-50%);background:#14141ee0;color:#fff;padding:10px 22px;border-radius:14px;text-align:center;pointer-events:none;z-index:4;max-width:86vw}#banner[hidden]{display:none}#banner b{display:block;font-size:22px}#banner span{display:block;font-size:14px;color:#ffd479;margin-top:2px}#loading{position:fixed;inset:0;background:#1b2440;color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;z-index:8}#loading[hidden]{display:none}#welcome{position:fixed;inset:0;background:#101424eb;display:flex;align-items:center;justify-content:center;padding:16px;z-index:9;overflow-y:auto}#welcome[hidden]{display:none}#welcome .sheet{background:#fbf8f3;color:#222;border-radius:16px;padding:20px 18px;width:min(100%,420px);font-size:15px;line-height:1.45}#welcome h1{margin:0 0 8px;font-size:24px}#welcome p{margin:8px 0}#welcome p.big{font-size:17px}#welcome p.note{font-size:12.5px;color:#6a6560}#welcome p.err{color:#b3261e;min-height:1em;font-size:14px}#welcome a{color:#8a3a2a}#welcome .dob{display:flex;gap:6px;margin:8px 0}#welcome select,#welcome input[type=text]{flex:1;font-size:16px;padding:10px 8px;border-radius:8px;border:1px solid #d6cfc4;background:#fff;color:#222;min-width:0;width:100%;box-sizing:border-box;-webkit-user-select:text;user-select:text}#welcome label.check{display:flex;gap:10px;align-items:flex-start;margin:10px 0;cursor:pointer}#welcome label.check input{width:22px;height:22px;flex:none;margin:0}#welcome .pick{display:flex;gap:8px;margin:8px 0 10px}#welcome .pick button{flex:1;min-height:48px;background:#ece6dc}#welcome .pick button.on{background:#ff7aa8;color:#fff}#welcome button.primary{width:100%;min-height:48px;margin-top:6px;background:#222;color:#fff;font-weight:700;font-size:16px}#welcome button.primary:disabled{opacity:.35}#callBar{position:fixed;left:50%;top:calc(8px + env(safe-area-inset-top));transform:translate(-50%);display:flex;align-items:center;gap:10px;background:#14141ef0;color:#fff;padding:8px 12px;border-radius:999px;z-index:7;font-size:14px}#callBar[hidden],#callModal[hidden]{display:none}#callModal{position:fixed;left:50%;top:30%;transform:translate(-50%,-50%);background:#14141ef5;color:#fff;padding:16px;border-radius:12px;width:min(92vw,340px);z-index:8}#card .note,#callModal .note{opacity:.7;font-size:12px;margin:-6px 0 8px}#callModal button.primary{background:#8fe39a}#callModal button.danger,#callBar button.danger{background:#ff6b8a;color:#fff}#notices{position:fixed;left:50%;top:calc(52px + env(safe-area-inset-top));transform:translate(-50%);background:#14141ee6;color:#fff;padding:6px 14px;border-radius:999px;font-size:14px;z-index:9;max-width:90vw;pointer-events:none}#notices[hidden]{display:none}#emotePanel{position:fixed;left:50%;transform:translate(-50%);bottom:calc(64px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,minmax(64px,1fr));gap:6px;padding:8px;background:#14141ee0;border-radius:12px;z-index:20}#emotePanel[hidden]{display:none}#emotePanel button{display:flex;flex-direction:column;align-items:center;gap:2px;min-height:56px;padding:6px 4px}#emotePanel .icon{font-size:24px;line-height:1}#emotePanel .label{font-size:11px;font-weight:600}body.touch #emotePanel{left:auto;right:calc(8px + env(safe-area-inset-right));transform:none;bottom:calc(210px + env(safe-area-inset-bottom))}#animWarn{color:#ff9f6b;font-weight:600}#animWarn[hidden]{display:none}#phonePanel{position:fixed;left:50%;top:calc(56px + env(safe-area-inset-top));transform:translate(-50%);width:min(92vw,380px);max-height:70vh;overflow-y:auto;background:#14141ef2;color:#fff;border-radius:12px;padding:10px 12px;z-index:30;font-size:14px}#phonePanel[hidden]{display:none}.phoneHead{display:flex;align-items:center;gap:8px;margin-bottom:8px}.phoneHead .sub{flex:1;opacity:.75;font-size:12px}.phoneAdd{display:flex;gap:6px;margin-bottom:8px}.phoneAdd input{flex:1;font-size:16px;padding:8px 10px;border-radius:8px;border:0;text-transform:uppercase}.phoneTitle{font-size:12px;font-weight:700;opacity:.7;margin:10px 0 4px;text-transform:uppercase}.phoneRow{display:flex;align-items:center;gap:8px;padding:6px 0;border-top:1px solid rgba(255,255,255,.08)}.phoneRow .who{flex:1;display:flex;flex-direction:column;min-width:0}.phoneRow .sub{font-size:12px;opacity:.7}.phoneRow .acts{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.phoneRow button{min-height:36px;padding:4px 10px;font-size:13px}#phonePanel button.primary{background:#8fe39a}#phonePanel button.warn{background:#ffd479}#phonePanel button.plain{background:#555;color:#fff}#phonePanel .note{opacity:.7;font-size:12px;margin-top:8px}#phoneBtn.alert{background:#ff6b8a;color:#fff}#callBar.warn{background:#a01e32eb}#minimap{position:fixed;top:calc(8px + env(safe-area-inset-top));right:calc(8px + env(safe-area-inset-right));border-radius:10px;z-index:15;touch-action:manipulation;cursor:pointer}#minimap[hidden]{display:none}body.has-minimap #panel{top:calc(126px + env(safe-area-inset-top))}body.has-minimap #budgetHud{top:calc(126px + env(safe-area-inset-top,0px))!important}#minimap.expanded{z-index:1001}
