Spaces:
Runtime error
Runtime error
| /* Contextual Hints System - With Quantum Styling | |
| -------------------------------------------------- */ | |
| :root { | |
| --hint-bg-color: rgba(30, 30, 35, 0.95); | |
| --hint-border-color: rgba(111, 66, 193, 0.7); | |
| --hint-text-color: rgba(255, 255, 255, 0.9); | |
| --hint-shadow-color: rgba(218, 75, 134, 0.3); | |
| --hint-icon-color: rgba(13, 202, 240, 0.9); | |
| --hint-glow-color: rgba(111, 66, 193, 0.5); | |
| --hint-btn-color: rgba(13, 202, 240, 0.8); | |
| --hint-transition-time: 0.3s; | |
| } | |
| /* Main Hint Container */ | |
| .contextual-hint { | |
| position: absolute; | |
| width: auto; | |
| max-width: 300px; | |
| min-width: 230px; | |
| padding: 15px; | |
| background: var(--hint-bg-color); | |
| color: var(--hint-text-color); | |
| border-radius: 8px; | |
| border: 1px solid var(--hint-border-color); | |
| box-shadow: 0 3px 15px var(--hint-shadow-color), | |
| 0 0 8px var(--hint-glow-color); | |
| z-index: 9999; | |
| opacity: 0; | |
| transform: translateY(15px) scale(0.95); | |
| transition: opacity var(--hint-transition-time) ease, | |
| transform var(--hint-transition-time) ease; | |
| backdrop-filter: blur(8px); | |
| pointer-events: none; | |
| } | |
| /* Hint that is currently shown */ | |
| .contextual-hint.active { | |
| opacity: 1; | |
| transform: translateY(0) scale(1); | |
| pointer-events: auto; | |
| } | |
| /* Hint Title */ | |
| .contextual-hint-title { | |
| display: flex; | |
| align-items: center; | |
| margin-bottom: 10px; | |
| padding-bottom: 8px; | |
| border-bottom: 1px solid rgba(255, 255, 255, 0.1); | |
| } | |
| .contextual-hint-title i { | |
| color: var(--hint-icon-color); | |
| margin-right: 8px; | |
| font-size: 1.1rem; | |
| } | |
| .contextual-hint-title h5 { | |
| margin: 0; | |
| font-size: 1rem; | |
| font-weight: 600; | |
| color: var(--hint-text-color); | |
| } | |
| /* Hint Content */ | |
| .contextual-hint-content { | |
| font-size: 0.95rem; | |
| line-height: 1.4; | |
| margin-bottom: 15px; | |
| } | |
| /* Hint Actions */ | |
| .contextual-hint-actions { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| } | |
| .hint-button { | |
| background: transparent; | |
| color: var(--hint-btn-color); | |
| border: 1px solid var(--hint-btn-color); | |
| padding: 5px 10px; | |
| border-radius: 4px; | |
| font-size: 0.8rem; | |
| cursor: pointer; | |
| transition: all var(--hint-transition-time) ease; | |
| } | |
| .hint-button:hover { | |
| background: var(--hint-btn-color); | |
| color: #000; | |
| } | |
| .hint-button-primary { | |
| background: var(--hint-btn-color); | |
| color: #000; | |
| } | |
| .hint-button-primary:hover { | |
| background: transparent; | |
| color: var(--hint-btn-color); | |
| } | |
| .hint-dont-show { | |
| font-size: 0.8rem; | |
| color: rgba(255, 255, 255, 0.5); | |
| cursor: pointer; | |
| transition: color var(--hint-transition-time) ease; | |
| } | |
| .hint-dont-show:hover { | |
| color: var(--hint-text-color); | |
| } | |
| /* Hint Arrow */ | |
| .contextual-hint::before { | |
| content: ''; | |
| position: absolute; | |
| width: 10px; | |
| height: 10px; | |
| background: var(--hint-bg-color); | |
| border: 1px solid var(--hint-border-color); | |
| transform: rotate(45deg); | |
| } | |
| /* Position variations */ | |
| .contextual-hint.position-top::before { | |
| bottom: -6px; | |
| border-top: none; | |
| border-left: none; | |
| } | |
| .contextual-hint.position-bottom::before { | |
| top: -6px; | |
| border-bottom: none; | |
| border-right: none; | |
| } | |
| .contextual-hint.position-left::before { | |
| right: -6px; | |
| border-left: none; | |
| border-bottom: none; | |
| } | |
| .contextual-hint.position-right::before { | |
| left: -6px; | |
| border-right: none; | |
| border-top: none; | |
| } | |
| /* Hover target styling */ | |
| .hint-target { | |
| position: relative; | |
| } | |
| .hint-target::after { | |
| content: ''; | |
| position: absolute; | |
| top: -3px; | |
| right: -3px; | |
| bottom: -3px; | |
| left: -3px; | |
| border: 2px dashed transparent; | |
| border-radius: 5px; | |
| transition: border-color var(--hint-transition-time) ease; | |
| pointer-events: none; | |
| } | |
| .hint-target.hint-highlight::after { | |
| border-color: var(--hint-icon-color); | |
| } | |
| /* Pulse animation for important hints */ | |
| @keyframes hint-pulse { | |
| 0% { | |
| box-shadow: 0 0 0 0 rgba(13, 202, 240, 0.4); | |
| } | |
| 70% { | |
| box-shadow: 0 0 0 10px rgba(13, 202, 240, 0); | |
| } | |
| 100% { | |
| box-shadow: 0 0 0 0 rgba(13, 202, 240, 0); | |
| } | |
| } | |
| .contextual-hint.important { | |
| animation: hint-pulse 2s infinite; | |
| } | |
| /* LED tracer on hints */ | |
| .contextual-hint .led-tracer { | |
| position: absolute; | |
| height: 2px; | |
| background: linear-gradient(90deg, | |
| transparent, | |
| rgba(218, 75, 134, 0.7), | |
| rgba(13, 202, 240, 0.7), | |
| transparent); | |
| width: 100%; | |
| left: 0; | |
| bottom: 0; | |
| animation: led-trace 2s infinite linear; | |
| } | |
| @keyframes led-trace { | |
| 0% { | |
| transform: translateX(-100%); | |
| } | |
| 100% { | |
| transform: translateX(100%); | |
| } | |
| } | |
| /* Quantum particle effect for hints */ | |
| .contextual-hint.has-particles { | |
| overflow: hidden; | |
| } | |
| .hint-particles { | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| right: 0; | |
| bottom: 0; | |
| pointer-events: none; | |
| } | |
| .hint-particle { | |
| position: absolute; | |
| width: 3px; | |
| height: 3px; | |
| background: var(--hint-icon-color); | |
| border-radius: 50%; | |
| opacity: 0.5; | |
| animation: float-particle 3s infinite ease-in-out; | |
| } | |
| @keyframes float-particle { | |
| 0%, 100% { | |
| transform: translateY(0) translateX(0); | |
| opacity: 0.2; | |
| } | |
| 50% { | |
| transform: translateY(-15px) translateX(5px); | |
| opacity: 0.5; | |
| } | |
| } |