/* ════════════════════════════════════════════════════════════ guide.css — evolution guide button and panel ════════════════════════════════════════════════════════════ */ /* ── Guide trigger button (position only — appearance from .icon-btn) ── */ .guide-btn { position: fixed; bottom: 1.5rem; right: 1.5rem; z-index: 100; } /* ── Guide panel ─────────────────────────────────────────── */ .guide-panel { position: fixed; bottom: 4.2rem; right: 1.5rem; z-index: 200; width: 272px; padding: 1.1rem 1.2rem 1.2rem; background: var(--modal-surface); border: 1px solid var(--modal-border); border-radius: 14px; box-shadow: 0 16px 48px rgba(0, 0, 0, 0.45); opacity: 0; transform: translateY(6px) scale(0.98); pointer-events: none; transition: opacity 0.18s ease, transform 0.18s ease; } .guide-panel--visible { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; } /* ── Panel header (title + uptime) ───────────────────────── */ .guide-panel__header { display: flex; align-items: baseline; justify-content: space-between; margin: 0 0 1rem; } .guide-panel__title { font-family: var(--font-mono); font-size: 0.68rem; font-weight: 400; color: var(--text-lo); text-transform: lowercase; letter-spacing: 0.1em; margin: 0; } .guide-panel__uptime { font-family: var(--font-mono); font-size: 0.58rem; color: rgba(255, 255, 255, 0.2); letter-spacing: 0.05em; font-variant-numeric: tabular-nums; } /* ── Section ─────────────────────────────────────────────── */ .guide-section + .guide-section { margin-top: 0.9rem; padding-top: 0.9rem; border-top: 1px solid var(--modal-divider); } .guide-section__label { font-family: var(--font-mono); font-size: 0.58rem; color: rgba(255, 255, 255, 0.28); text-transform: uppercase; letter-spacing: 0.14em; margin: 0 0 0.55rem; } /* ── Entities list ───────────────────────────────────────── */ .guide-entities { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.48rem; } .guide-entity { display: flex; align-items: center; gap: 0.55rem; cursor: pointer; border-radius: 6px; padding: 0.2rem 0.35rem; margin: 0 -0.35rem; transition: background 0.15s ease; } .guide-entity:hover { background: var(--surface-tint); } /* Icon container — SVG injected here by guide.js */ .guide-entity__icon { width: 16px; height: 16px; flex-shrink: 0; color: var(--c, rgba(255, 255, 255, 0.6)); display: flex; align-items: center; justify-content: center; filter: drop-shadow(0 0 4px color-mix(in srgb, var(--c, white) 60%, transparent)); } .guide-entity__icon svg { width: 100%; height: 100%; display: block; } .guide-entity__name { font-family: var(--font-mono); font-size: 0.7rem; font-weight: 500; color: var(--c, rgba(255, 255, 255, 0.8)); width: 54px; flex-shrink: 0; } .guide-entity__role { font-family: var(--font-mono); font-size: 0.6rem; color: rgba(255, 255, 255, 0.28); flex: 1; } .guide-entity__count { font-family: var(--font-mono); font-size: 0.62rem; color: rgba(255, 255, 255, 0.22); min-width: 20px; text-align: right; flex-shrink: 0; font-variant-numeric: tabular-nums; } /* ── Interactions list ───────────────────────────────────── */ .guide-rules { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.42rem; } .guide-rule { display: grid; grid-template-columns: 9px 9px 9px 1fr; align-items: center; gap: 0.28rem; } /* Coloured circle representing an entity type */ .guide-rule__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--c, rgba(255, 255, 255, 0.25)); flex-shrink: 0; box-shadow: 0 0 5px color-mix(in srgb, var(--c, white) 55%, transparent); } .guide-rule__op { font-family: var(--font-mono); font-size: 0.55rem; color: rgba(255, 255, 255, 0.22); text-align: center; } .guide-rule__desc { font-family: var(--font-mono); font-size: 0.62rem; color: rgba(255, 255, 255, 0.45); line-height: 1.3; } .guide-rule__pct { color: rgba(255, 255, 255, 0.22); font-size: 0.58rem; } /* ── Guide footer + restart button ───────────────────────── */ .guide-footer { margin-top: 0.9rem; padding-top: 0.9rem; border-top: 1px solid var(--modal-divider); } .guide-reset-btn { appearance: none; width: 100%; padding: 5px 0; background: transparent; border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 6px; cursor: pointer; outline: none; -webkit-tap-highlight-color: transparent; font-family: var(--font-mono); font-size: 0.58rem; font-weight: 400; letter-spacing: 0.12em; text-transform: lowercase; color: rgba(255, 255, 255, 0.28); transition: color 0.18s ease, background 0.18s ease, border-color 0.18s ease; } .guide-reset-btn:hover { color: rgba(255, 255, 255, 0.65); background: rgba(255, 255, 255, 0.06); border-color: rgba(255, 255, 255, 0.2); } .guide-reset-btn:active { color: var(--text-hi); background: rgba(255, 255, 255, 0.1); } .guide-reset-btn:focus-visible { outline: 2px solid rgba(255, 255, 255, 0.35); outline-offset: 2px; }