Spaces:
Running
Running
| /* =========================================== | |
| ADAPTIVE TACTICS - Main Stylesheet | |
| =========================================== */ | |
| /* CSS Custom Properties (Design Tokens) */ | |
| :root { | |
| /* Background Colors */ | |
| --bg-deep: #0e0c0a; | |
| --bg-panel: #120f0b; | |
| --bg-cell: #181410; | |
| --bg-cell-bush: #1a2010; | |
| --bg-cell-block: #100c08; | |
| --bg-cell-throne: #1e1608; | |
| /* Border Colors */ | |
| --border-dim: #2a2016; | |
| --border-mid: #3a2e1a; | |
| /* Accent Colors */ | |
| --gold: #d4a84b; | |
| --gold-muted: #a89060; | |
| --gold-dark: #6b5830; | |
| --crimson: #8a2a2a; | |
| --stone: #c4b488; | |
| --ivory: #d4c9a8; | |
| /* Overlay Colors */ | |
| --blue-move: #1a2535; | |
| --blue-move-bdr: #2a4060; | |
| --red-attack: #2a1510; | |
| --red-attack-bdr: #5a2010; | |
| --green-hp: #5a8a3a; | |
| --gold-target: rgba(212, 168, 75, 0.3); | |
| --ivory-heal: rgba(212, 201, 168, 0.3); | |
| /* Text Colors */ | |
| --text-primary: #d4c9a8; | |
| --text-muted: #a89060; | |
| --text-dim: #6b5830; | |
| /* Fonts */ | |
| --font-display: 'Cinzel', serif; | |
| --font-body: 'Crimson Pro', serif; | |
| --font-mono: 'Consolas', 'Monaco', monospace; | |
| /* Spacing */ | |
| --spacing-xs: 4px; | |
| --spacing-sm: 8px; | |
| --spacing-md: 16px; | |
| --spacing-lg: 24px; | |
| --spacing-xl: 32px; | |
| /* Tile Dimensions */ | |
| --tile-size: 48px; | |
| --sprite-size: 40px; | |
| --hp-bar-height: 3px; | |
| /* Panel Dimensions */ | |
| --panel-width: 220px; | |
| --top-bar-height: 48px; | |
| --action-bar-height: 56px; | |
| } | |
| /* Reset and Base Styles */ | |
| *, *::before, *::after { | |
| box-sizing: border-box; | |
| margin: 0; | |
| padding: 0; | |
| } | |
| html, body { | |
| height: 100%; | |
| overflow: hidden; | |
| } | |
| body { | |
| font-family: var(--font-body); | |
| font-size: 16px; | |
| line-height: 1.5; | |
| color: var(--text-primary); | |
| background-color: var(--bg-deep); | |
| } | |
| /* Typography */ | |
| h1, h2, h3, h4, h5, h6 { | |
| font-family: var(--font-display); | |
| font-weight: 600; | |
| color: var(--gold); | |
| } | |
| h1 { font-size: 2.5rem; } | |
| h2 { font-size: 1.75rem; } | |
| h3 { font-size: 1.25rem; } | |
| p { | |
| margin-bottom: var(--spacing-sm); | |
| } | |
| /* Game Container */ | |
| #game-container { | |
| width: 100%; | |
| height: 100vh; | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| /* Screen Management */ | |
| .screen { | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| width: 100%; | |
| height: 100%; | |
| display: none; | |
| opacity: 0; | |
| transition: opacity 0.3s ease; | |
| } | |
| .screen.active { | |
| display: flex; | |
| opacity: 1; | |
| } | |
| /* Button Styles */ | |
| button { | |
| font-family: var(--font-display); | |
| cursor: pointer; | |
| border: none; | |
| outline: none; | |
| transition: all 0.2s ease; | |
| } | |
| button:disabled { | |
| opacity: 0.5; | |
| cursor: not-allowed; | |
| } | |
| .btn-primary { | |
| background: linear-gradient(180deg, var(--gold-dark) 0%, #4a3820 100%); | |
| color: var(--ivory); | |
| padding: var(--spacing-sm) var(--spacing-lg); | |
| font-size: 1rem; | |
| border: 1px solid var(--gold-muted); | |
| border-radius: 4px; | |
| } | |
| .btn-primary:hover:not(:disabled) { | |
| background: linear-gradient(180deg, var(--gold-muted) 0%, var(--gold-dark) 100%); | |
| border-color: var(--gold); | |
| } | |
| .btn-secondary { | |
| background: var(--bg-panel); | |
| color: var(--text-muted); | |
| padding: var(--spacing-sm) var(--spacing-md); | |
| font-size: 0.9rem; | |
| border: 1px solid var(--border-mid); | |
| border-radius: 4px; | |
| } | |
| .btn-secondary:hover:not(:disabled) { | |
| background: var(--bg-cell); | |
| color: var(--text-primary); | |
| border-color: var(--gold-dark); | |
| } | |
| .btn-action { | |
| background: var(--bg-panel); | |
| color: var(--text-primary); | |
| padding: var(--spacing-sm) var(--spacing-md); | |
| font-size: 0.85rem; | |
| border: 1px solid var(--border-mid); | |
| border-radius: 4px; | |
| min-width: 80px; | |
| } | |
| .btn-action:hover:not(:disabled) { | |
| background: var(--bg-cell); | |
| border-color: var(--gold-muted); | |
| } | |
| .btn-action:disabled { | |
| color: var(--text-dim); | |
| } | |
| .btn-icon { | |
| background: transparent; | |
| color: var(--text-muted); | |
| padding: var(--spacing-xs); | |
| font-size: 1.2rem; | |
| border: 1px solid transparent; | |
| border-radius: 4px; | |
| } | |
| .btn-icon:hover { | |
| color: var(--gold); | |
| border-color: var(--border-dim); | |
| } | |
| /* Input Styles */ | |
| input[type="text"] { | |
| font-family: var(--font-body); | |
| font-size: 1rem; | |
| color: var(--text-primary); | |
| background: var(--bg-cell); | |
| border: 1px solid var(--border-mid); | |
| border-radius: 4px; | |
| padding: var(--spacing-sm) var(--spacing-md); | |
| outline: none; | |
| transition: border-color 0.2s ease; | |
| } | |
| input[type="text"]:focus { | |
| border-color: var(--gold-muted); | |
| } | |
| input[type="text"]::placeholder { | |
| color: var(--text-dim); | |
| } | |
| /* Modal Styles */ | |
| .modal { | |
| position: fixed; | |
| top: 0; | |
| left: 0; | |
| width: 100%; | |
| height: 100%; | |
| background: rgba(0, 0, 0, 0.8); | |
| display: none; | |
| justify-content: center; | |
| align-items: center; | |
| z-index: 1000; | |
| } | |
| .modal.active { | |
| display: flex; | |
| } | |
| .modal-overlay { | |
| width: 100%; | |
| height: 100%; | |
| display: flex; | |
| justify-content: center; | |
| align-items: center; | |
| background: rgba(0, 0, 0, 0.7); | |
| } | |
| .modal-content { | |
| background: var(--bg-panel); | |
| border: 1px solid var(--border-mid); | |
| border-radius: 8px; | |
| padding: var(--spacing-xl); | |
| max-width: 500px; | |
| max-height: 80vh; | |
| overflow-y: auto; | |
| text-align: center; | |
| } | |
| .modal-content h2 { | |
| margin-bottom: var(--spacing-md); | |
| } | |
| .modal-content h3 { | |
| margin-top: var(--spacing-md); | |
| margin-bottom: var(--spacing-sm); | |
| color: var(--gold-muted); | |
| } | |
| /* Panel Header */ | |
| .panel-header { | |
| font-family: var(--font-display); | |
| font-size: 0.85rem; | |
| color: var(--gold-muted); | |
| text-transform: uppercase; | |
| letter-spacing: 1px; | |
| padding-bottom: var(--spacing-xs); | |
| border-bottom: 1px solid var(--border-dim); | |
| margin-bottom: var(--spacing-sm); | |
| } | |
| /* Panel Section */ | |
| .panel-section { | |
| margin-bottom: var(--spacing-md); | |
| } | |
| /* Scrollbar Styling */ | |
| ::-webkit-scrollbar { | |
| width: 8px; | |
| } | |
| ::-webkit-scrollbar-track { | |
| background: var(--bg-deep); | |
| } | |
| ::-webkit-scrollbar-thumb { | |
| background: var(--border-mid); | |
| border-radius: 4px; | |
| } | |
| ::-webkit-scrollbar-thumb:hover { | |
| background: var(--gold-dark); | |
| } | |
| /* Utility Classes */ | |
| .hidden { | |
| display: none ; | |
| } | |
| .text-gold { | |
| color: var(--gold); | |
| } | |
| .text-muted { | |
| color: var(--text-muted); | |
| } | |
| .text-dim { | |
| color: var(--text-dim); | |
| } | |
| .text-crimson { | |
| color: var(--crimson); | |
| } | |