wrdler / style_wrdler.css
Surn's picture
Update style_wrdler.css
8f40f31 verified
raw
history blame
29.5 kB
/* Wrdler - Custom CSS for Gradio App */
/* Based on Surn/beeuty theme patterns */
/* ============================================
Override Gradio Theme Disabled Button Styling
Lighten up disabled buttons - reduce grayscale
============================================ */
button[disabled],
button[disabled].svelte-o34uqh,
a.disabled,
a.disabled.svelte-o34uqh,
button:disabled,
button[aria-disabled="true"] {
opacity: 0.65 !important; /* Increased from 0.5 for lighter appearance */
filter: grayscale(30%) !important; /* Reduced from 30% for less graying */
cursor: not-allowed !important;
transform: none !important;
color: rgba(0,0,0,0.90);
}
/* Specific override for letter buttons when used */
.letter-btn-used button,
.letter-btn-used button[disabled],
.letter-btn-used button:disabled {
opacity: 0.5 !important; /* Even lighter for better visibility */
filter: grayscale(25%) !important; /* Minimal grayscale */
}
/* Specific override for grid cell buttons when revealed */
.grid-cell-revealed button,
.grid-cell-revealed button[disabled],
.grid-cell-revealed button:disabled {
opacity: 1 !important; /* Full opacity for revealed cells */
filter: none !important; /* No filter at all for revealed cells */
}
.interface-wrapper {
max-width: 1200px;
margin: 0 auto;
}
.centered {
margin: 0 auto;
display: block;
text-align: center;
}
/* Grid Container - for native Gradio buttons with shiny-border */
.wrdler-grid-container {
position: relative;
padding: 4px;
background: linear-gradient(-45deg, #a1a1a1, #ffffff, #a1a1a1, #666666);
border-radius: 1.25rem;
overflow: hidden;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
max-width: 92.5%;
margin: 0 auto 16px auto;
font-weight: 700;
}
/* Inner container with original grid colors */
.wrdler-grid-container > div {
background: linear-gradient(145deg, #1a1a2e, #16213e);
border-radius: 1rem;
padding: 12px;
}
/* Shiny hover effect for grid */
.wrdler-grid-container::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
transition: left 0.5s;
z-index: 1;
pointer-events: none;
}
.wrdler-grid-container:hover::before {
left: 100%;
}
.prose table, .wrdler-score-panel-container tr.hidden td {
border: none;
color: #ffffff;
font-weight: 600;
}
.wrdler-grid-container .shiny-border {
position: relative;
padding: 12px;
background: #333;
color: #ffffff !important;
border-radius: 1.25rem;
overflow: hidden;
/*background: linear-gradient(-45deg, #a1a1a1, #ffffff, #a1a1a1, #666666);*/
border-width: 12px !important;
border-image: linear-gradient(-45deg, #a1a1a1, #fff, #a1a1a1, #666) !important;
}
.metal-border { position: relative; padding: 20px; background: #333; color: white; border: 4px solid; border-image: linear-gradient(45deg, #a1a1a1, #ffffff, #a1a1a1, #666666) 1; border-radius: 8px; }
.shiny-border { position: relative; padding: 12px; background: #333; color: white; border-radius: 1.25rem; overflow: hidden; }
.shiny-border::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent); transition: left 0.5s; }
.bw-score-panel-container { height: 100%; overflow: hidden; text-align:center;}
.bw-score-panel-container table tbody tr h3 {display: flex;flex-direction: row;justify-content: space-evenly;flex-wrap: wrap;}
.shiny-border:hover::before { left: 100%; }
.wrdler-grid-row {
gap: 4px 8px !important;
justify-content: center !important;
flex-wrap: nowrap !important;
margin-bottom: 6px !important;
}
.wrdler-grid-row:last-child {
margin-bottom: 0 !important;
}
.wrdler-grid-row > div {
flex: 0 0 auto !important;
min-width: 50px !important;
}
/* Grid cell buttons - unrevealed (clickable) */
.grid-cell-unrevealed {
min-height: 1.4rem;
}
.grid-cell-unrevealed button {
min-width: 50px !important;
height: 48px !important;
font-size: 1.3rem !important;
font-weight: 700 !important;
border-radius: 6px !important;
padding: 0 !important;
background: linear-gradient(145deg, #3a7bd5, #00d2ff) !important;
border: 2px solid #00d2ff !important;
color: #ffffff !important;
cursor: pointer !important;
box-shadow: 0 2px 8px rgba(0, 210, 255, 0.3) !important;
transition: all 0.2s ease !important;
}
.grid-cell-unrevealed button:hover {
background: linear-gradient(145deg, #00d2ff, #3a7bd5) !important;
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0, 210, 255, 0.5) !important;
}
/* Grid cell buttons - revealed */
.grid-cell-revealed button {
min-width: 50px !important;
height: 48px !important;
font-size: 1.3rem !important;
font-weight: 700 !important;
border-radius: 6px !important;
padding: 0 !important;
background: linear-gradient(145deg, #d4f1f9, #a8e6cf) !important;
border: 2px solid #00bfa5 !important;
color: #000000 !important; /* Changed from #1a1a2e to pure black for maximum contrast */
cursor: default !important;
text-shadow: 0 0 1px rgba(255, 255, 255, 0.3) !important; /* Subtle white shadow for readability */
}
/* Empty revealed cells - solid dark grey fill */
/* Target cells with non-breaking space (\u00A0) or empty content */
.grid-cell-revealed button:has(span:empty),
.grid-cell-revealed button[value=" "],
.grid-cell-revealed button[value="\00A0"],
.grid-cell-revealed button[value=""] {
background: #2d2d44 !important;
border: 2px solid #3d3d5c !important;
color: transparent !important; /* Hide any text content */
text-shadow: none !important;
font-size: 0 !important; /* Collapse any text rendering */
position: relative !important;
overflow: hidden !important;
}
/* Ensure empty cells are completely filled with dark grey */
.grid-cell-revealed button:has(span:empty)::before,
.grid-cell-revealed button[value=" "]::before,
.grid-cell-revealed button[value="\00A0"]::before,
.grid-cell-revealed button[value=""]::before {
content: '' !important;
position: absolute !important;
top: 0 !important;
left: 0 !important;
width: 100% !important;
height: 100% !important;
background: #2d2d44 !important;
z-index: 1 !important;
}
/* Legacy CSS for HTML grid (kept for compatibility) */
.wrdler-grid {
display: flex;
flex-direction: column;
gap: 4px 8px;
padding: 12px;
background: linear-gradient(145deg, #1a1a2e, #16213e);
border-radius: 12px;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
max-width: 480px;
margin: 0 auto;
font-weight: 700;
}
.wrdler-row {
display: flex;
gap: 4px 8px;
justify-content: center;
}
/* Grid Cells (HTML version) */
.wrdler-cell {
width: 56px;
height: 52px;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.4rem;
font-weight: 700;
border-radius: 6px;
transition: all 0.2s ease;
user-select: none;
}
/* Letter buttons row */
.letter-buttons-row {
gap: 4px !important;
flex-wrap: wrap !important;
justify-content: center !important;
margin-bottom: 12px !important;
}
.letter-buttons-row > div {
flex: 0 0 auto !important;
}
/* Letter button - available */
.letter-btn-available button {
min-width: 36px !important;
height: 36px !important;
font-size: 1rem !important;
font-weight: 700 !important;
border-radius: 50% !important;
padding: 0 !important;
background: linear-gradient(145deg, #00bfa5, #00d2ff) !important;
border: 2px solid #00bfa5 !important;
color: #ffffff !important;
cursor: pointer !important;
box-shadow: 0 2px 8px rgba(0, 191, 165, 0.3) !important;
transition: all 0.2s ease !important;
}
.letter-btn-available button:hover {
background: linear-gradient(145deg, #00d2ff, #00bfa5) !important;
transform: translateY(-2px) scale(1.1);
box-shadow: 0 4px 12px rgba(0, 191, 165, 0.5) !important;
}
/* Letter button - used */
.letter-btn-used button {
min-width: 36px !important;
height: 36px !important;
font-size: 1rem !important;
font-weight: 700 !important;
border-radius: 50% !important;
padding: 0 !important;
background: #3d3d5c !important;
border: 2px solid #5d5d7c !important;
color: #7d7d9c !important;
cursor: not-allowed !important;
opacity: 0.7 !important;
}
/* Free Letter Selection (legacy) */
.wrdler-free-letters {
background: linear-gradient(145deg, rgba(26, 26, 46, 0.9), rgba(22, 33, 62, 0.9));
border-radius: 12px;
padding: 16px;
margin-bottom: 16px;
border: 2px solid rgba(0, 210, 255, 0.3);
font-weight:bolder;
}
.free-letter-header {
text-align: center;
font-size: 1.1rem;
font-weight: 600;
color: #00d2ff;
margin-bottom: 12px;
}
.free-letter-buttons {
display: flex;
flex-wrap: wrap;
gap: 8px;
justify-content: center;
}
.wrdler-free-btn {
width: 40px;
height: 40px;
border-radius: 50%;
border: 2px solid #00bfa5;
background: linear-gradient(145deg, #00bfa5, #00d2ff);
color: #ffffff;
font-weight: 700;
font-size: 1rem;
cursor: pointer;
transition: all 0.2s ease;
box-shadow: 0 2px 8px rgba(0, 191, 165, 0.3);
}
.wrdler-free-btn:hover {
background: linear-gradient(145deg, #00d2ff, #00bfa5);
transform: translateY(-2px) scale(1.1);
box-shadow: 0 4px 12px rgba(0, 191, 165, 0.5);
}
.wrdler-free-btn.used {
background: #3d3d5c;
border-color: #5d5d7c;
color: #7d7d9c;
cursor: not-allowed;
opacity: 0.6;
}
.wrdler-free-letters-done {
text-align: center;
padding: 12px;
background: rgba(0, 191, 165, 0.2);
border-radius: 8px;
color: #00bfa5;
font-weight: 600;
margin-bottom: 16px;
}
/* Score Panel */
.wrdler-score-panel {
background: linear-gradient(145deg, #1a1a2e, #16213e);
border-radius: 12px;
padding: 16px;
border: 2px solid rgba(0, 210, 255, 0.3);
}
.score-header {
text-align: center;
font-size: 1.5rem;
font-weight: 700;
color: #ffffff;
margin-bottom: 12px;
}
.score-value {
color: #00d2ff;
font-size: 2rem;
}
.timer {
text-align: center;
font-size: 1.1rem;
color: #a8e6cf;
margin-bottom: 16px;
}
.time-value {
font-family: monospace;
font-weight: 700;
}
.words-table {
margin-top: 16px;
}
.words-table table {
width: 100%;
border-collapse: collapse;
}
.words-table th,
.words-table td {
padding: 8px 12px;
text-align: center;
border-bottom: 1px solid rgba(0, 210, 255, 0.2);
}
.words-table th {
color: #00d2ff;
font-weight: 600;
}
.words-table tr.found td {
color: #00bfa5;
font-weight: 600;
}
.words-table tr.hidden td {
color: #7d7d9c;
font-family: monospace;
}
/* Game Over Display */
.wrdler-game-over {
background: linear-gradient(145deg, rgba(0, 191, 165, 0.1), rgba(0, 210, 255, 0.1));
border: 2px solid #00bfa5;
border-radius: 12px;
padding: 24px;
margin-top: 16px;
text-align: center;
}
.wrdler-game-over h2 {
color: #00d2ff;
font-size: 1.8rem;
margin-bottom: 16px;
}
.final-score {
font-size: 2rem;
font-weight: 700;
color: #00bfa5;
margin-bottom: 8px;
}
.tier {
font-size: 1.3rem;
color: #ffd700;
font-weight: 600;
margin-bottom: 8px;
}
.final-time {
font-size: 1.1rem;
color: #a8e6cf;
margin-bottom: 16px;
}
.breakdown {
margin-top: 16px;
}
.breakdown h3 {
color: #00d2ff;
margin-bottom: 12px;
}
.breakdown table {
width: 100%;
border-collapse: collapse;
margin: 0 auto;
max-width: 400px;
}
.breakdown th,
.breakdown td {
padding: 6px 10px;
text-align: center;
border-bottom: 1px solid rgba(0, 210, 255, 0.2);
}
.breakdown th {
color: #00d2ff;
font-size: 0.9rem;
}
.breakdown td {
color: #a8e6cf;
}
/* Guess Input Styling */
#guess-input {
font-size: 1.2rem;
}
#guess-btn {
min-width: 100px;
}
/* Status Message */
.status-msg {
text-align: center;
padding: 12px;
background: rgba(0, 210, 255, 0.1);
border-radius: 8px;
margin-top: 12px;
}
/* Responsive Design */
@media (max-width: 768px) {
.wrdler-grid {
max-width: 100%;
padding: 8px;
}
.wrdler-cell {
width: 42px;
height: 38px;
font-size: 1.1rem;
}
.wrdler-free-btn {
width: 32px;
height: 32px;
font-size: 0.9rem;
}
.score-header {
font-size: 1.2rem;
}
.score-value {
font-size: 1.5rem;
}
}
@media (max-width: 480px) {
.wrdler-cell {
width: 36px;
height: 32px;
font-size: 1rem;
}
.wrdler-row {
gap: 2px;
}
.wrdler-grid {
gap: 2px;
}
}
/* Dark mode adjustments (Beeuty theme compatibility) */
.dark .wrdler-grid {
background: linear-gradient(145deg, #0d0d1a, #1a1a2e);
}
.dark .wrdler-score-panel {
background: linear-gradient(145deg, #0d0d1a, #1a1a2e);
}
/* Toast notifications */
.toast-body.info {
background-color: rgba(0, 210, 255, 0.75);
}
.dark .toast-body.info {
background-color: rgba(0, 191, 165, 0.75);
}
/* Incorrect Guesses - Show on Hover or Click (dropdown) */
.wrdler-incorrect-guesses {
position: relative;
}
.wrdler-incorrect-guesses details {
position: relative;
}
.wrdler-incorrect-guesses summary {
cursor: pointer;
list-style: none; /* Remove default arrow */
user-select: none;
}
.wrdler-incorrect-guesses summary::-webkit-details-marker {
display: none; /* Remove arrow in Chrome/Safari */
}
.wrdler-incorrect-guesses summary::marker {
display: none; /* Remove arrow in Firefox */
}
/* Add dropdown indicator */
.wrdler-incorrect-guesses summary::after {
content: ' ▼';
font-size: 0.7em;
opacity: 0.7;
}
/* Show guess list on hover or click - drops DOWN */
.wrdler-incorrect-guesses details:hover .guess-list,
.wrdler-incorrect-guesses details[open] .guess-list {
display: block !important;
position: absolute;
top: 100%;
left: 50%;
transform: translateX(-50%);
background: linear-gradient(145deg, #1a1a2e, #16213e);
border: 1px solid rgba(255, 100, 100, 0.4);
border-radius: 8px;
padding: 12px 16px;
min-width: 150px;
max-width: 250px;
box-shadow: 0 4px 20px rgba(255, 100, 100, 0.2);
z-index: 100;
margin-top: 8px;
}
/* Hide by default (override inline display) */
.wrdler-incorrect-guesses details:not(:hover):not([open]) .guess-list {
display: none !important;
}
/* Arrow pointing UP to summary */
.wrdler-incorrect-guesses details:hover .guess-list::before,
.wrdler-incorrect-guesses details[open] .guess-list::before {
content: '';
position: absolute;
top: -8px;
left: 50%;
transform: translateX(-50%);
border-left: 8px solid transparent;
border-right: 8px solid transparent;
border-bottom: 8px solid rgba(255, 100, 100, 0.4);
}
/* Accordion styling */
.accordion {
border-radius: 8px;
}
/* Hidden audio player - scripts still execute */
.hidden-audio {
position: absolute !important;
width: 1px !important;
height: 1px !important;
overflow: hidden !important;
opacity: 0 !important;
pointer-events: none !important;
}
/* Hide bridge elements - keep functional but visually hidden */
/* Using clip-rect to hide visually while maintaining DOM accessibility */
.hidden-bridge {
position: absolute !important;
width: 1px !important;
height: 1px !important;
padding: 0 !important;
margin: -1px !important;
overflow: hidden !important;
clip: rect(0, 0, 0, 0) !important;
white-space: nowrap !important;
border: 0 !important;
/* Keep opacity at 1 and pointer-events enabled for JS interaction */
opacity: 1 !important;
pointer-events: auto !important;
}
/* Ensure the actual input/button inside bridge can receive events */
.hidden-bridge input,
.hidden-bridge textarea,
.hidden-bridge button {
pointer-events: auto !important;
}
/* Challenge Mode Leaderboard */
.wrdler-challenge-banner {
background: linear-gradient(145deg, rgba(0, 191, 165, 0.15), rgba(0, 210, 255, 0.15));
border: 2px solid #00bfa5;
border-radius: 12px;
padding: 16px;
margin-bottom: 16px;
text-align: center;
}
.wrdler-challenge-banner h3 {
color: #00d2ff;
margin: 0 0 8px 0;
font-size: 1.3rem;
}
.challenge-id {
color: #a8e6cf;
font-family: monospace;
font-size: 0.9rem;
margin-bottom: 12px;
}
.wrdler-challenge-banner .leaderboard table {
width: 100%;
max-width: 400px;
margin: 0 auto;
border-collapse: collapse;
}
.wrdler-challenge-banner .leaderboard th,
.wrdler-challenge-banner .leaderboard td {
padding: 6px 10px;
text-align: center;
border-bottom: 1px solid rgba(0, 210, 255, 0.2);
}
.wrdler-challenge-banner .leaderboard th {
color: #00d2ff;
font-size: 0.85rem;
}
.wrdler-challenge-banner .leaderboard td {
color: #ffffff;
}
/* Share Challenge Section */
.share-challenge {
margin-top: 16px;
padding: 12px;
background: rgba(0, 191, 165, 0.1);
border-radius: 8px;
}
.share-challenge input {
width: 100%;
padding: 8px;
border: 1px solid #00bfa5;
border-radius: 4px;
background: rgba(26, 26, 46, 0.9);
color: #ffffff;
font-family: monospace;
}
.share-challenge-btn {
margin-top: 8px;
padding: 8px 16px;
background: linear-gradient(145deg, #00bfa5, #00d2ff);
border: none;
border-radius: 6px;
color: #ffffff;
font-weight: 600;
cursor: pointer;
}
.share-challenge-btn:hover {
background: linear-gradient(145deg, #00d2ff, #00bfa5);
}
/* Tab Styling */
.tabs {
background: transparent !important;
}
.tab-nav {
background: linear-gradient(145deg, #1a1a2e, #16213e) !important;
border-radius: 12px 12px 0 0 !important;
padding: 8px 8px 0 8px !important;
border: none !important;
}
.tab-nav button {
background: transparent !important;
color: #a8e6cf !important;
border: none !important;
padding: 12px 24px !important;
font-weight: 600 !important;
border-radius: 8px 8px 0 0 !important;
transition: all 0.2s ease !important;
}
.tab-nav button:hover {
background: rgba(0, 210, 255, 0.1) !important;
color: #00d2ff !important;
}
.tab-nav button.selected {
background: linear-gradient(145deg, #00bfa5, #00d2ff) !important;
color: #ffffff !important;
}
.tabitem {
background: linear-gradient(145deg, rgba(26, 26, 46, 0.3), rgba(22, 33, 62, 0.5)) !important;
border-radius: 0 0 12px 12px !important;
padding: 16px !important;
}
/* Settings Tab Specific */
.settings-section h3,
.tabitem h3 {
color: #00d2ff !important;
margin-bottom: 16px !important;
font-size: 1.2rem !important;
}
.tabitem .gr-button-lg {
min-width: 200px !important;
margin-top: 16px !important;
}
/* Share Challenge Section */
.share-challenge-section {
margin-top: 16px;
padding: 16px;
background: linear-gradient(-45deg, #1d64c8, #ffffff, #1d64c8, #666666);
border-radius: 1rem;
box-shadow: 0 0 32px rgba(29, 100, 200, 0.5);
}
.share-challenge-section h3 {
color: #fff !important;
text-shadow: 1px 1px 2px rgba(0,0,0,0.3);
}
.share-challenge-section label {
color: #fff !important;
}
.share-challenge-section input {
background: rgba(0,0,0,0.2) !important;
color: #fff !important;
border: 1px solid rgba(255,255,255,0.3) !important;
}
.share-challenge-section button {
background: linear-gradient(145deg, #00bfa5, #00d2ff) !important;
color: #fff !important;
}
.share-challenge-section button:hover {
filter: brightness(1.1);
}
.share-challenge-result {
margin-top: 16px;
padding: 12px;
background: rgba(0, 191, 165, 0.2);
border-radius: 8px;
text-align: center;
}
.share-challenge-result h3 {
color: #00d2ff;
margin-bottom: 8px;
}
/* Share Challenge Trigger Button */
.share-challenge-trigger button {
background: linear-gradient(-45deg, #1d64c8, #00bfa5) !important;
color: #fff !important;
font-weight: 700 !important;
padding: 12px 24px !important;
font-size: 1.1rem !important;
border: none !important;
box-shadow: 0 0 20px rgba(29, 100, 200, 0.4) !important;
}
.share-challenge-trigger button:hover {
filter: brightness(1.1);
box-shadow: 0 0 30px rgba(29, 100, 200, 0.6) !important;
}
/* Share Challenge Modal */
.share-challenge-modal {
background: linear-gradient(-45deg, #1d64c8, #ffffff, #1d64c8, #666666) !important;
border-radius: 1rem !important;
box-shadow: 0 0 50px rgba(29, 100, 200, 0.5) !important;
}
.share-challenge-modal h2 {
color: #fff !important;
text-shadow: 1px 1px 3px rgba(0,0,0,0.3);
}
.share-challenge-modal p {
color: #fff !important;
}
.share-challenge-modal label {
color: #fff !important;
}
.share-challenge-modal input {
background: rgba(0,0,0,0.2) !important;
color: #fff !important;
border: 1px solid rgba(255,255,255,0.3) !important;
}
.share-challenge-modal button {
margin-top: 8px !important;
}
/* ============================================
Topic Display - Prominent Inline Badge Style
============================================ */
div:has(> #topic-display) {
display: flex;
flex-direction: inherit;
flex-wrap: wrap;
gap: unset !important;
box-shadow: none !important;
border: none !important;
border-radius: var(--block-radius);
background: none !important;
}
/* Topic container - center and constrain width */
#topic-display {
max-width: 90% !important;
margin: 0 auto 16px auto !important;
border: none !important;
background: transparent !important;
}
/* Hide the label span but keep the label container */
#topic-display span.sr-only,
#topic-display span.hide {
display: none !important;
}
/* Style the label container */
#topic-display label.container {
background: transparent !important;
border: none !important;
padding: 0 !important;
}
/* Style the input container */
#topic-display .input-container {
background: transparent !important;
border: none !important;
}
/* The actual input - styled as a glowing badge with theme colors */
/* Using multiple selectors for maximum specificity */
#topic-display input,
#topic-display input[type="text"],
#topic-display input.scroll-hide,
#topic-display .input-container input,
div#topic-display input,
.topic-input input,
div.topic-input input,
#topic-display label input,
#topic-display label.container input {
/* Dark background matching grid container */
background: linear-gradient(145deg, #1a1a2e, #16213e) !important;
/* Glowing border with theme cyan */
border: 2px solid #00d2ff !important;
border-radius: 50px !important;
/* Typography - theme colors */
padding: 12px 32px !important;
font-size: 1.4rem !important;
font-weight: 700 !important;
color: #00d2ff !important; /* Theme cyan color */
text-align: center !important;
text-transform: uppercase !important;
letter-spacing: 2px !important;
-webkit-text-fill-color: #00d2ff !important;
caret-color: #00bfa5 !important; /* Theme teal for caret */
/* Neon glow effect with theme colors */
box-shadow:
0 0 10px rgba(0, 210, 255, 0.5),
0 0 20px rgba(0, 210, 255, 0.3),
0 0 40px rgba(0, 191, 165, 0.2),
inset 0 0 30px rgba(0, 210, 255, 0.1) !important;
text-shadow:
0 0 10px rgba(0, 210, 255, 0.8),
0 0 20px rgba(0, 210, 255, 0.5),
0 0 30px rgba(0, 191, 165, 0.3);
/* Sizing */
width: 100% !important;
min-height: 48px !important;
height: 48px !important;
line-height: 24px !important;
/* Ensure visibility */
opacity: 1 !important;
visibility: visible !important;
/* Animation */
transition: all 0.3s ease !important;
animation: topic-neon-pulse 2.5s ease-in-out infinite;
}
/* Neon pulse animation - theme colors */
@keyframes topic-neon-pulse {
0%, 100% {
box-shadow:
0 0 10px rgba(0, 210, 255, 0.4),
0 0 20px rgba(0, 210, 255, 0.3),
0 0 40px rgba(0, 191, 165, 0.2),
inset 0 0 15px rgba(0, 210, 255, 0.1);
border-color: #00d2ff;
}
50% {
box-shadow:
0 0 15px rgba(0, 210, 255, 0.6),
0 0 30px rgba(0, 210, 255, 0.4),
0 0 60px rgba(0, 191, 165, 0.3),
inset 0 0 20px rgba(0, 210, 255, 0.15);
border-color: #00bfa5; /* Alternates to teal */
}
}
/* Hover state - intensified glow with theme colors */
#topic-display input:hover,
div#topic-display input:hover,
.topic-input input:hover {
background: linear-gradient(145deg, #16213e, #1a1a2e) !important;
border-color: #00bfa5 !important; /* Theme teal */
color: #00bfa5 !important;
-webkit-text-fill-color: #00bfa5 !important;
box-shadow:
0 0 15px rgba(0, 191, 165, 0.6),
0 0 30px rgba(0, 210, 255, 0.4),
0 0 50px rgba(0, 191, 165, 0.3),
inset 0 0 40px rgba(0, 210, 255, 0.15) !important;
cursor: text;
}
/* Focus state - editing mode with bright glow */
#topic-display input:focus,
div#topic-display input:focus,
.topic-input input:focus {
background: linear-gradient(145deg, #1a1a2e, #0d0d1a) !important;
outline: none !important;
border-color: #00bfa5 !important;
color: #a8e6cf !important; /* Lighter teal for active editing */
-webkit-text-fill-color: #a8e6cf !important;
box-shadow:
0 0 20px rgba(0, 191, 165, 0.8),
0 0 40px rgba(0, 210, 255, 0.5),
0 0 60px rgba(0, 191, 165, 0.3),
inset 0 0 50px rgba(0, 210, 255, 0.2) !important;
animation: none !important;
}
/* Placeholder styling - theme colors */
#topic-display input::placeholder,
div#topic-display input::placeholder,
.topic-input input::placeholder {
color: rgba(0, 210, 255, 0.5) !important; /* Muted cyan */
-webkit-text-fill-color: rgba(0, 210, 255, 0.5) !important;
font-style: italic;
text-transform: none !important;
letter-spacing: normal !important;
}
/* Responsive adjustments */
@media (max-width: 768px) {
#topic-display {
max-width: 350px !important;
}
#topic-display textarea,
#topic-display input {
font-size: 1.2rem !important;
padding: 10px 24px !important;
letter-spacing: 1px !important;
}
}
@media (max-width: 480px) {
#topic-display {
max-width: 280px !important;
}
#topic-display textarea,
#topic-display input {
font-size: 1rem !important;
padding: 8px 20px !important;
letter-spacing: 0.5px !important;
}
}
/* ============================================
Game Over Modal Styling
============================================ */
/* Game Over Modal Container */
.modal-container {
background: linear-gradient(145deg, #1a1a2e, #16213e) !important;
border: 2px solid #00d2ff !important;
border-radius: 16px !important;
box-shadow:
0 0 30px rgba(0, 210, 255, 0.3),
0 0 60px rgba(0, 191, 165, 0.2),
inset 0 0 30px rgba(0, 0, 0, 0.3) !important;
max-width: 500px !important;
padding: 24px !important;
}
/* Game Over Container inside modal */
#game-over-container {
text-align: center;
padding: 16px;
}
#game-over-container .wrdler-game-over {
background: transparent !important;
border: none !important;
padding: 0 !important;
margin: 0 !important;
}
#game-over-container h2 {
color: #00d2ff !important;
font-size: 2rem !important;
margin-bottom: 16px !important;
text-shadow: 0 0 20px rgba(0, 210, 255, 0.5);
}
#game-over-container .final-score {
font-size: 2.5rem !important;
color: #00bfa5 !important;
text-shadow: 0 0 15px rgba(0, 191, 165, 0.5);
}
#game-over-container .tier {
font-size: 1.5rem !important;
color: #ffd700 !important;
text-shadow: 0 0 10px rgba(255, 215, 0, 0.5);
animation: tier-glow 2s ease-in-out infinite;
}
@keyframes tier-glow {
0%, 100% {
text-shadow: 0 0 10px rgba(255, 215, 0, 0.5);
}
50% {
text-shadow: 0 0 20px rgba(255, 215, 0, 0.8), 0 0 30px rgba(255, 215, 0, 0.4);
}
}
#game-over-container .breakdown table {
background: rgba(0, 0, 0, 0.2) !important;
border-radius: 8px;
}
/* Share Challenge Section in Modal */
.share-challenge-section {
margin-top: 20px !important;
padding-top: 20px !important;
border-top: 1px solid rgba(0, 210, 255, 0.3) !important;
}
.share-challenge-section h2 {
color: #00d2ff !important;
font-size: 1.3rem !important;
margin-bottom: 8px !important;
}
.share-challenge-section p {
color: #a8e6cf !important;
font-size: 0.9rem !important;
margin-bottom: 16px !important;
}
/* Modal close button */
.modal-container button[variant="secondary"] {
margin-top: 16px !important;
background: rgba(0, 0, 0, 0.3) !important;
border: 1px solid rgba(0, 210, 255, 0.3) !important;
color: #a8e6cf !important;
}
.modal-container button[variant="secondary"]:hover {
background: rgba(0, 210, 255, 0.1) !important;
border-color: #00d2ff !important;
}