*{margin:0;padding:0;box-sizing:border-box}
html,body{width:100%;height:100%;overflow:hidden;background:#000;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:#fff;-webkit-tap-highlight-color:transparent}

/* Game frame — full viewport */
.game-frame{position:fixed;inset:0;background:#000}
.game-frame iframe{width:100%;height:100%;border:none;display:block}

/* Floating back button — top left */
.float-back{position:fixed;top:12px;left:12px;z-index:200;display:flex;align-items:center;gap:8px;padding:8px 14px 8px 10px;background:rgba(0,0,0,0.45);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,0.1);border-radius:12px;color:#fff;text-decoration:none;font-size:13px;font-weight:600;cursor:pointer;transition:background 0.2s,transform 0.15s;user-select:none}
.float-back:hover{background:rgba(0,0,0,0.6);transform:scale(1.03)}
.float-back:active{transform:scale(0.96)}
.float-back svg{display:block;flex-shrink:0}
.float-back img{width:22px;height:22px;border-radius:5px;object-fit:cover;flex-shrink:0}
.float-back-name{max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Floating fullscreen button — top right */
.float-fs{position:fixed;top:12px;right:12px;z-index:200;display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:rgba(0,0,0,0.45);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,0.1);border-radius:12px;color:#fff;cursor:pointer;transition:background 0.2s,transform 0.15s;user-select:none}
.float-fs:hover{background:rgba(0,0,0,0.6);transform:scale(1.03)}
.float-fs:active{transform:scale(0.96)}

/* Auto-hide buttons after delay, show on hover/touch */
.float-back,.float-fs{opacity:1;transition:background 0.2s,transform 0.15s,opacity 0.4s}
body.controls-hidden .float-back,body.controls-hidden .float-fs{opacity:0;pointer-events:none}
body.controls-hidden:hover .float-back,body.controls-hidden:hover .float-fs{opacity:1;pointer-events:auto}

/* Loading state */
.game-loading{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#0a1628;z-index:100;transition:opacity 0.3s}
.game-loading.hidden{opacity:0;pointer-events:none}
.game-loading-icon{width:64px;height:64px;border-radius:16px;object-fit:cover;box-shadow:0 4px 20px rgba(0,0,0,0.4)}
.game-loading-text{font-size:14px;color:rgba(255,255,255,0.6);font-weight:500}
.spinner{width:28px;height:28px;border:3px solid rgba(255,255,255,0.15);border-top-color:rgba(255,255,255,0.8);border-radius:50%;animation:spin 0.7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}