#id_kit_btn { position: fixed; bottom: 0.5rem; right: 0.5rem; @media (orientation: landscape) and (max-width: 1440px) { right: calc(4rem + 0.5rem); bottom: 0.75rem; top: auto; } z-index: 318; font-size: 1.75rem; cursor: pointer; color: rgba(var(--secUser), 1); display: inline-flex; align-items: center; justify-content: center; width: 3rem; height: 3rem; border-radius: 50%; background-color: rgba(var(--priUser), 1); border: 0.15rem solid rgba(var(--secUser), 1); &.active { color: rgba(var(--quaUser), 1); border-color: rgba(var(--quaUser), 1); } } #id_kit_bag_dialog { // Override dialog's native display:none so we can drive visibility via max-height display: block !important; position: fixed; bottom: 0; left: 0; right: 0; width: 100%; max-width: none; margin: 0; padding: 0; border: none; border-top: 0.1rem solid rgba(var(--quaUser), 1); background: rgba(var(--priUser), 0.97); z-index: 316; overflow: hidden; @media (orientation: landscape) and (max-width: 1440px) { $sidebar-w: 4rem; // left: $sidebar-w; right: $sidebar-w; z-index: 316; } // Closed state max-height: 0; visibility: hidden; transition: max-height 0.25s ease-out, visibility 0s 0.25s; &[open] { max-height: 5rem; visibility: visible; transition: max-height 0.25s ease-out, visibility 0s; display: flex !important; flex-direction: row; gap: 1.5rem; align-items: center; padding: 0.4rem 1rem; } } .kit-bag-section { display: flex; flex-direction: row; align-items: center; gap: 0.5rem; flex-shrink: 0; } .kit-bag-label { font-size: 0.55rem; text-transform: uppercase; text-decoration: underline; letter-spacing: 0.12em; color: rgba(var(--quaUser), 0.75); writing-mode: vertical-rl; text-orientation: mixed; transform: rotate(180deg); padding: 0 0.25rem 0 0.5rem; } .kit-bag-row { display: flex; flex-direction: row; gap: 0.75rem; } #id_kit_bag_dialog { .token { font-size: 1.5rem; cursor: pointer; transition: filter 0.15s; padding: 0 0.125rem; &:hover .token-tooltip { display: none; } // JS positions these as fixed } .token-tooltip { z-index: 9999; } .kit-bag-deck { font-size: 1.5rem; cursor: pointer; padding: 0 0.125rem; color: rgba(var(--terUser), 1); } .kit-bag-placeholder { font-size: 1.5rem; padding: 0 0.125rem; color: rgba(var(--quaUser), 0.3); } } .kit-bag-section--tokens { flex: 1; min-width: 0; overflow: hidden; } .kit-bag-row--scroll { overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; &::-webkit-scrollbar { display: none; } } .kit-bag-empty { font-size: 0.7rem; color: rgba(var(--secUser), 0.4); } // ── Game Kit page ──────────────────────────────────────────────────────────── #id_game_kit_applets_container section { display: flex; flex-direction: column; h2 { flex-shrink: 0; } .gk-items { flex: 1; overflow-y: auto; } } .gk-items { display: flex; flex-direction: row; flex-wrap: wrap; gap: 1rem; align-items: center; } .gk-deck-card, .gk-trinket-card, .gk-token-card { display: flex; flex-direction: column; align-items: center; gap: 0.4rem; padding: 0.75rem 1rem; border-radius: 0.5rem; border: 0.1rem solid rgba(var(--secUser), 0.3); cursor: pointer; font-size: 1.5rem; min-width: 6rem; text-align: center; transition: border-color 0.15s; span { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.08em; } small { font-size: 0.6rem; opacity: 0.5; } &:hover { border-color: rgba(var(--secUser), 0.8); } } .gk-placeholder { display: flex; flex-direction: column; align-items: center; gap: 0.4rem; padding: 0.75rem 1rem; border-radius: 0.5rem; border: 0.1rem dashed rgba(var(--secUser), 0.2); font-size: 1.5rem; min-width: 6rem; text-align: center; opacity: 0.4; span { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.08em; } } .gk-empty { font-size: 0.8rem; opacity: 0.45; } // ── Tarot fan modal ────────────────────────────────────────────────────────── #id_tarot_fan_dialog { position: fixed; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; padding: 0; border: none; background: rgba(0, 0, 0, 0.88); overflow: hidden; &::backdrop { display: none; } // Dialog IS the backdrop } .tarot-fan-wrap { position: relative; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; perspective: 900px; button { box-shadow: none; &:hover, &.active { box-shadow: none; } } } .tarot-fan { position: relative; width: 220px; height: 340px; } .fan-card { position: absolute; inset: 0; width: 220px; height: 340px; border-radius: 0.75rem; background: rgba(var(--priUser), 1); border: 0.1rem solid rgba(var(--secUser), 0.4); display: flex; align-items: center; justify-content: center; transition: transform 0.25s ease, opacity 0.25s ease; transform-style: preserve-3d; &--active { border-color: rgba(var(--secUser), 1); box-shadow: 0 0 2rem rgba(var(--secUser), 0.3); } } .fan-card-corner { position: absolute; display: flex; flex-direction: column; align-items: center; gap: 0.15rem; line-height: 1; color: rgba(var(--secUser), 0.75); &--tl { top: 0.4rem; left: 0.4rem; } &--br { bottom: 0.4rem; right: 0.4rem; transform: rotate(180deg); } .fan-corner-rank { font-size: 1.5rem; font-weight: bold; padding: 0.18rem 0; } i { font-size: 1.5rem; } } .fan-card-face { padding: 1.25rem; text-align: center; display: flex; flex-direction: column; gap: 0.5rem; .fan-card-number { font-size: 0.65rem; } .fan-card-name-group { font-size: 0.65rem; margin: 0; text-transform: uppercase; letter-spacing: 0.08em; color: rgba(var(--secUser), 1); } .fan-card-name { font-size: 0.95rem; font-weight: bold; margin: 0; color: rgba(var(--terUser), 1); } .fan-card-arcana { font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.1em; color: rgba(var(--secUser), 1); } .fan-card-correspondence { font-size: 0.6rem; font-style: italic; color: rgba(var(--secUser), 0.5); } } .fan-nav { position: absolute; z-index: 20; font-size: 3rem; line-height: 1; background: none; border: none; color: rgba(var(--secUser), 0.6); cursor: pointer; padding: 1rem; transition: color 0.15s; pointer-events: auto; &:hover { color: rgba(var(--secUser), 1); } // Suppress browser focus ring on mouse/touch clicks; retain it for keyboard nav &:focus:not(:focus-visible) { outline: none; box-shadow: none; } &--prev { left: 1rem; } &--next { right: 1rem; } }