/* Solo dentro del portal (?portal=1): columna a toda la altura; el tablero se escala al espacio libre. */
html.portal-embed body { height: 100dvh; display: flex; flex-direction: column; align-content: normal; justify-content: flex-start; overflow: hidden; }
html.portal-embed .header { position: static; flex: 0 0 auto; padding: 6px 10px; box-shadow: none; }
html.portal-embed .header h1 { font-size: 18px; line-height: 1.2; }
html.portal-embed .header p { display: none; }
html.portal-embed .level-selector { flex: 1 1 0; min-height: 0; overflow-y: auto; padding: 12px; gap: 10px; justify-content: flex-start; }
html.portal-embed .level-selector > * { flex: 0 0 auto; }
html.portal-embed .level-selector .level-title { margin: 4px 0; }
html.portal-embed .level-selector .level-button { padding: 12px; }
html.portal-embed .game-container { flex: 1 1 0; min-height: 0; margin: 0; height: auto; max-height: none; width: 100%; max-width: none; padding: 8px; }
html.portal-embed .game-container.hidden { display: none; }
html.portal-embed .stats { position: static; transform: none; flex: 0 0 auto; align-self: center; margin: 6px 0 8px; }
html.portal-embed .win-message { max-width: 90%; max-height: 90%; overflow: auto; padding: 24px; }
html.portal-embed .win-message h2 { font-size: 28px; margin-bottom: 12px; }
html.portal-embed .stats.hidden { display: none; }
