.game-player-wrapper{position:relative;width:780px;margin:0 auto}.game-player{position:relative;width:780px;height:680px;margin:0 auto;background:var(--color-surface);border-radius:var(--card-radius);overflow:hidden;box-shadow:0 4px 24px #0000001a}.game-active{position:relative;width:100%;height:100%;overflow:hidden}.game-start-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;width:100%;height:100%;background:linear-gradient(135deg,var(--color-surface),var(--color-background));overflow-y:auto;overflow-x:hidden}.game-thumbnail{width:100%;max-width:300px;height:auto;object-fit:cover;border-radius:var(--card-radius);margin-bottom:1rem}.game-start-content{text-align:center;max-width:100%;padding:0 1rem}.game-start-title{font-size:2rem;font-weight:700;color:var(--color-text);margin:0 0 1rem}.game-start-info{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.5rem}.game-support-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;background:var(--color-surface-hover);border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;white-space:nowrap}.game-support-badge.mobile{background:#10b981;color:#fff}.game-support-badge.desktop{background:#3b82f6;color:#fff}.game-support-badge.fullscreen{background:#8b5cf6;color:#fff}.game-start-button{width:100%;max-width:300px;padding:1rem 2rem;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff;border:none;border-radius:var(--card-radius);font-size:1.125rem;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #00000026;margin:1rem auto .5rem;min-height:48px;display:flex;align-items:center;justify-content:center;gap:.5rem}.game-start-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0003}.game-start-button:active{transform:translateY(0)}.game-start-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.game-orientation-hint{margin-top:.75rem;font-size:.875rem;color:var(--color-muted);text-align:center;padding:0 1rem;line-height:1.3}.game-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;width:100%;height:100%;background:var(--color-surface);gap:1rem}.game-spinner{width:48px;height:48px;border:4px solid var(--color-surface-hover);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.game-loading p{margin-top:1rem;color:var(--color-muted);font-size:.875rem;text-align:center;padding:0 1rem}.game-active{position:relative}.game-iframe{position:absolute;inset:0;margin:auto;width:100%;height:100%;border:none;display:block;overflow:hidden;max-width:100%;max-height:100%;object-fit:contain;transform-origin:center center}.game-toolbar{position:absolute;bottom:0;left:0;right:0;display:flex;gap:.5rem;padding:.75rem;background:#000000e6;backdrop-filter:blur(8px);border-radius:0 0 var(--card-radius) var(--card-radius);transform:translateY(100%);transition:transform .2s ease}.game-toolbar-button{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem .75rem;background:#ffffff1a;border:none;border-radius:4px;color:#fff;font-size:.875rem;cursor:pointer;transition:background .2s ease;white-space:nowrap}.game-error{padding:2rem;width:100%;height:100%;background:var(--color-surface);display:flex;align-items:center;justify-content:center}.game-error-content{text-align:center;max-width:500px}.game-error-content h3{font-size:1.5rem;color:var(--color-text);margin:0 0 .75rem}.game-error-content p{color:var(--color-muted);margin-bottom:1.5rem}.game-error-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.game-error-button{padding:.75rem 1.5rem;border:none;border-radius:var(--card-radius);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.game-error-button:not(.secondary){background:var(--color-primary);color:var(--color-background)}.game-error-button.secondary{background:var(--color-surface-hover);color:var(--color-text)}.game-error-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}@media(max-width:767px){.game-player-wrapper{width:100%;max-width:100vw;padding:0}.game-player{width:100%;max-width:100vw;height:auto;aspect-ratio:780 / 680;border-radius:0;margin:0}.game-active{position:relative;width:100%;height:100%;overflow:hidden}.game-iframe{transform:scale(.85);transform-origin:center center}.game-start-screen{padding:1rem .5rem;width:100%;height:100%;gap:.5rem}.game-thumbnail{max-width:180px;margin-bottom:.75rem}.game-start-content{padding:0 .5rem;max-width:100%}.game-start-title{font-size:1.25rem;margin-bottom:.75rem}.game-start-button{font-size:.9rem;padding:.75rem 1.25rem;max-width:200px;margin:.5rem auto}.game-orientation-hint{font-size:.75rem;margin-top:.5rem}.game-toolbar{position:relative;transform:none;background:#000000f2;border-radius:var(--card-radius)}.game-toolbar-button{flex:1;justify-content:center;font-size:.75rem;padding:.625rem}.game-external-toolbar{flex-wrap:wrap;gap:.5rem;padding:.75rem}.game-external-button{flex:1 1 calc(50% - .25rem);min-width:calc(50% - .25rem);padding:.5rem;font-size:.75rem}.game-external-button span{display:inline}.game-error-actions{flex-direction:column}.game-error-button{width:100%}}@media(min-width:768px)and (max-width:1024px){.game-player-wrapper{width:90vw}.game-player{width:90vw;height:calc(90vw * 680 / 780)}.game-iframe{transform:scale(.92)}.game-start-screen{padding:1.5rem}.game-thumbnail{max-width:250px}.game-start-title{font-size:1.5rem}.game-start-button{max-width:280px}.game-external-toolbar{flex-wrap:wrap;gap:.5rem}}@media(min-width:1200px){.game-player-wrapper{width:780px}.game-iframe{transform:scale(1)}}@media(max-width:374px){.game-player{max-width:100vw}.game-iframe{transform:scale(.75)}.game-start-screen{padding:.75rem .25rem}.game-thumbnail{max-width:140px;margin-bottom:.5rem}.game-start-content{padding:0 .25rem}.game-start-title{font-size:1.125rem;margin-bottom:.5rem}.game-start-info{gap:.25rem;margin-bottom:.75rem}.game-support-badge{font-size:.6875rem;padding:.2rem .5rem}.game-start-button{font-size:.875rem;padding:.625rem 1rem;max-width:180px;min-height:44px}.game-orientation-hint{font-size:.6875rem;padding:0 .5rem}}.game-external-toolbar{position:relative;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem;margin-top:1rem;background:var(--color-surface);border-radius:var(--card-radius);border:1px solid var(--color-border);box-shadow:0 2px 8px #0000001a;flex-wrap:nowrap}.game-external-button{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;min-width:auto}.game-external-button:hover{background:var(--color-primary);color:var(--color-background);border-color:var(--color-primary);transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.game-external-button:active{transform:translateY(0)}.game-external-button svg{flex-shrink:0}.game-external-button span{display:inline}.game-toolbar{position:absolute;bottom:0;left:0;right:0;display:flex;gap:.5rem;padding:.75rem;background:#000000e6;backdrop-filter:blur(8px);border-radius:0 0 var(--card-radius) var(--card-radius);transform:translateY(100%);transition:transform .2s ease;z-index:10}.game-active:hover .game-toolbar{transform:translateY(0)}.game-toolbar-button{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;padding:.5rem;background:#ffffff1a;border:none;border-radius:4px;color:#fff;font-size:.75rem;cursor:pointer;transition:background .2s ease;white-space:nowrap;min-width:36px;min-height:36px}.game-toolbar-button:hover{background:#fff3}.game-toolbar-button svg{flex-shrink:0}
