:root { --bg: #06050d; --fg: #e8eaf5; --aire: #d0dbff; --agua: #6cd0f3; --fuego: #f59056; --tierra: #d49873; --rim: #d8a85d; } * { box-sizing: border-box; } html, body { margin: 0; padding: 0; width: 100%; height: 100%; background: var(--bg); color: var(--fg); font-family: 'Inter', system-ui, -apple-system, sans-serif; font-weight: 300; overflow: hidden; cursor: default; } #gioser-canvas { position: fixed; inset: 0; width: 100vw; height: 100vh; display: block; z-index: 0; } .brand { position: fixed; top: 4vh; left: 50%; transform: translateX(-50%); text-align: center; z-index: 10; pointer-events: none; user-select: none; } .brand-title { font-family: 'Cinzel', serif; font-weight: 700; font-size: clamp(2.4rem, 5vw, 4.4rem); margin: 0; letter-spacing: 0.08em; color: var(--fg); text-shadow: 0 0 18px rgba(108, 208, 243, 0.35), 0 0 40px rgba(216, 168, 93, 0.18); } .brand-dot { color: var(--rim); margin: 0 0.05em; text-shadow: 0 0 14px var(--rim), 0 0 28px rgba(245, 144, 86, 0.5); } .brand-sub { font-family: 'Inter', sans-serif; font-weight: 300; letter-spacing: 0.5em; font-size: clamp(0.65rem, 0.9vw, 0.8rem); margin: 0.55rem 0 0; color: rgba(232, 234, 245, 0.6); text-indent: 0.5em; } #tips { position: fixed; inset: 0; pointer-events: none; z-index: 5; } .tip { position: absolute; top: 0; left: 0; pointer-events: auto; text-decoration: none; color: var(--fg); user-select: none; display: flex; flex-direction: column; align-items: center; gap: 0.35rem; padding: 0.7rem 1.0rem 0.55rem; min-width: 120px; background: rgba(8, 6, 22, 0.42); backdrop-filter: blur(8px) saturate(120%); -webkit-backdrop-filter: blur(8px) saturate(120%); border-radius: 14px; border: 1px solid rgba(255, 255, 255, 0.07); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.03); transition: box-shadow 260ms ease, border-color 260ms ease, background 260ms ease, letter-spacing 260ms ease; } .tip::before { content: ""; position: absolute; inset: -1px; border-radius: inherit; padding: 1px; background: linear-gradient(135deg, rgba(255,255,255,0.18), rgba(255,255,255,0.0) 40%, rgba(216, 168, 93, 0.18)); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; opacity: 0.7; } .tip:hover { border-color: rgba(255, 255, 255, 0.22); background: rgba(20, 14, 40, 0.6); } .tip-glyph { width: 42px; height: 42px; color: currentColor; filter: drop-shadow(0 0 6px currentColor); transition: filter 240ms ease; } .tip:hover .tip-glyph { filter: drop-shadow(0 0 12px currentColor) drop-shadow(0 0 20px currentColor); } .tip-label { font-family: 'Cinzel', serif; font-size: 0.74rem; letter-spacing: 0.36em; font-weight: 600; text-indent: 0.36em; } .tip-sub { font-family: 'Inter', sans-serif; font-size: 0.62rem; letter-spacing: 0.18em; font-weight: 300; color: rgba(232, 234, 245, 0.55); text-transform: uppercase; } .tip-aire { color: var(--aire); } .tip-aire:hover { box-shadow: 0 0 32px rgba(208, 219, 255, 0.45); } .tip-fuego { color: var(--fuego); } .tip-fuego:hover { box-shadow: 0 0 32px rgba(245, 144, 86, 0.45); } .tip-agua { color: var(--agua); } .tip-agua:hover { box-shadow: 0 0 32px rgba(108, 208, 243, 0.45); } .tip-tierra { color: var(--tierra); } .tip-tierra:hover { box-shadow: 0 0 32px rgba(212, 152, 115, 0.45); } .quote { position: fixed; bottom: 3vh; left: 50%; transform: translateX(-50%); font-family: 'Cinzel', serif; font-size: 0.7rem; letter-spacing: 0.55em; color: rgba(232, 234, 245, 0.42); pointer-events: none; user-select: none; z-index: 10; text-indent: 0.55em; } @media (max-width: 720px) { .tip { min-width: 90px; padding: 0.5rem 0.7rem; } .tip-glyph { width: 32px; height: 32px; } .tip-label { font-size: 0.6rem; } .tip-sub { display: none; } }