// Aperture foundation (html/body/.container overflow + flex-column) lives // universally in _base.scss. Gameboard's only divergence: `overflow: clip` // on .container instead of `hidden` — `clip` prevents the seat tooltip // scroll-anchoring quirk Firefox triggers under overflow:hidden. The // `.row { margin-bottom: -1rem }` pull mirrors the billboard/dashboard // h2-row tightening. body.page-gameboard { .container { overflow: clip; } .row { margin-bottom: -1rem; } } .gameboard-page { flex: 1; min-width: 425px; overflow: hidden; display: flex; flex-direction: column; position: relative; } @media (max-width: 550px) { .gameboard-page { min-width: 0; overflow: hidden; } } @media (min-width: 738px) { .gameboard-page { min-width: 666px; } body.page-gameboard .container { overflow: visible; } } @media (orientation: landscape) { // Restore clip in landscape — overrides the >738px overflow:visible above, // preventing the gameboard applets from bleeding into the footer sidebar. body.page-gameboard .container { overflow: clip; } // Reset the 666px min-width so gameboard-page shrinks to fit within the // sidebar-bounded container rather than overflowing into the footer sidebar. .gameboard-page { min-width: 0; } } #id_applet_game_kit { display: flex; flex-direction: column; #id_game_kit { flex: 1; position: relative; display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0.75rem; overflow-x: visible; scrollbar-width: none; &::-webkit-scrollbar { display: none; } .token { position: static; } .token:hover .token-tooltip, .token:hover .tt { display: none; } // JS portal handles show/hide .token, .kit-item { font-size: 1.5rem; } .kit-item { opacity: 0.6; } } } #id_applet_new_game { display: flex; flex-direction: column; } #id_applet_my_games { display: flex; flex-direction: column; .applet-list { flex: 1; padding-top: 0.25rem; } } #id_tooltip_portal { position: fixed; z-index: 9999; padding: 0.75rem 1.5rem; @extend %tt-token-fields; .tt-equip-btns { position: absolute; left: -1rem; top: -1rem; display: flex; flex-direction: column; gap: 0.25rem; z-index: 1; .btn { margin: 0; } } // Tray sig-card tooltip (Phase 2) — PRV / NXT btns pinned to the bottom // corners of the portal, 1rem outside the panel so the btn centres land // exactly on the corners. The shared @stat-block-shared mixin in // _card-deck.scss already does this for fan / sig / sea contexts; the // portal isn't covered by that mixin so we re-state the rules here. .fyi-prev, .fyi-next { display: inline-flex; position: absolute; bottom: -1rem; margin: 0; z-index: 70; } .fyi-prev { left: -1rem; } .fyi-next { right: -1rem; } &.active { display: block; } } #id_mini_tooltip_portal { position: fixed; z-index: 9999; font-size: 0.8em; font-style: italic; width: fit-content; white-space: nowrap; text-align: right; &.active { display: block; } } @media (max-height: 500px) { body.page-gameboard { .container { .row { padding: 0.25rem 0; .col-lg-6 h2 { margin-bottom: 0.5rem; } } } } } // ─── My Sea sign-gate ──────────────────────────────────────────────────────── // Sprint 4b of [[project-my-sea-roadmap]]. Renders when User.significator // is None, on both the standalone /gameboard/my-sea/ page AND the // /gameboard/ My Sea applet. Look!-formatted Brief-style line w. FYI // (→ /billboard/my-sign/) + BACK (→ /gameboard/) action buttons. Inline // content (not portaled like .note-banner) — it IS the page content // until a sig is picked, not a transient nudge. .my-sea-sign-gate { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1rem; padding: 1.5rem; color: rgba(var(--terUser), 1); .my-sea-sign-gate__line { text-align: center; font-size: 1.1rem; line-height: 1.4; margin: 0; // --terUser ink mirrors the gate's accent + signals "do this // first" visually distinct from the body's standard --secUser. color: rgba(var(--terUser), 1); } .my-sea-sign-gate__actions { display: flex; gap: 1rem; align-items: center; } // Applet variant — denser layout, omits BACK (the user is already on // the gameboard). Smaller line + just the FYI action surviving. &.my-sea-sign-gate--applet { padding: 0.5rem; gap: 0.5rem; .my-sea-sign-gate__line { font-size: 0.85rem; } } }