diff --git a/style.css b/style.css index 1b5f3a12..359eadc4 100644 --- a/style.css +++ b/style.css @@ -221,6 +221,127 @@ canvas#nexus-canvas { letter-spacing: 0.05em; } +/* Portal Hint */ +.portal-hint { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, 100px); + display: flex; + align-items: center; + gap: var(--space-2); + background: rgba(0, 0, 0, 0.8); + padding: var(--space-2) var(--space-4); + border: 1px solid var(--color-primary); + border-radius: 4px; + animation: hint-float 2s ease-in-out infinite; +} +@keyframes hint-float { + 0%, 100% { transform: translate(-50%, 100px); } + 50% { transform: translate(-50%, 90px); } +} +.portal-hint-key { + background: var(--color-primary); + color: var(--color-bg); + font-weight: 700; + padding: 2px 8px; + border-radius: 2px; +} +.portal-hint-text { + font-size: var(--text-sm); + font-weight: 500; + letter-spacing: 0.05em; +} +#portal-hint-name { + color: var(--color-primary); + font-weight: 700; +} + +/* Portal Activation Overlay */ +.portal-overlay { + position: fixed; + inset: 0; + background: rgba(5, 5, 16, 0.95); + display: flex; + align-items: center; + justify-content: center; + pointer-events: auto; + z-index: 1000; +} +.portal-overlay-content { + width: 100%; + max-width: 500px; + text-align: center; + padding: var(--space-8); +} +.portal-overlay-header { + display: flex; + align-items: center; + justify-content: center; + gap: var(--space-3); + margin-bottom: var(--space-4); +} +.portal-overlay-status { + width: 12px; + height: 12px; + border-radius: 50%; + background: var(--color-primary); + box-shadow: 0 0 10px var(--color-primary); +} +.portal-overlay-title { + font-family: var(--font-display); + font-size: var(--text-sm); + letter-spacing: 0.2em; + color: var(--color-primary); +} +.portal-overlay-content h2 { + font-family: var(--font-display); + font-size: var(--text-2xl); + margin-bottom: var(--space-4); + letter-spacing: 0.1em; +} +.portal-overlay-content p { + color: var(--color-text-muted); + font-size: var(--text-base); + line-height: 1.6; + margin-bottom: var(--space-8); +} +.portal-redirect-box { + border: 1px solid var(--color-primary-dim); + padding: var(--space-6); + border-radius: var(--panel-radius); +} +.portal-redirect-label { + font-size: var(--text-xs); + letter-spacing: 0.2em; + margin-bottom: var(--space-2); +} +.portal-redirect-timer { + font-family: var(--font-display); + font-size: 48px; + font-weight: 700; + color: var(--color-primary); +} +.portal-error-box { + border: 1px solid var(--color-danger); + padding: var(--space-6); + border-radius: var(--panel-radius); +} +.portal-error-msg { + color: var(--color-danger); + font-weight: 700; + margin-bottom: var(--space-4); +} +.portal-close-btn { + background: var(--color-danger); + color: white; + border: none; + padding: var(--space-2) var(--space-6); + border-radius: 4px; + font-family: var(--font-display); + cursor: pointer; +} + /* === CHAT PANEL === */ .chat-panel { position: absolute;