Spaces:
Running
Running
| /* ============================================= | |
| UrbanFlow — shared.css | |
| Reusable component classes shared across all pages. | |
| Single source of truth for the design system. | |
| ============================================= */ | |
| /* ---- Typography Colors ---- */ | |
| .text-accent { color: #c89a6c ; } | |
| .text-primary { color: #f0ece6 ; } | |
| .text-secondary { color: #a89f97 ; } | |
| .text-muted { color: #555 ; } | |
| .text-dim { color: #444 ; } | |
| .text-cocoa { color: #8b5e3c ; } | |
| .bg-accent { background-color: #c89a6c ; } | |
| /* ---- Modal Overlay ---- */ | |
| .modal-overlay { | |
| display: none; | |
| position: fixed; | |
| inset: 0; | |
| background: rgba(0, 0, 0, 0.85); | |
| z-index: 10001; | |
| align-items: center; | |
| justify-content: center; | |
| padding: 24px; | |
| } | |
| /* ---- Modal Card ---- */ | |
| .modal-card { | |
| background: #0a0a0a; | |
| border: 1px solid #2a2a2a; | |
| border-radius: 14px; | |
| max-width: 480px; | |
| width: 100%; | |
| padding: 32px; | |
| position: relative; | |
| max-height: 80vh; | |
| overflow-y: auto; | |
| } | |
| .modal-card-sm { | |
| max-width: 380px; | |
| padding: 28px; | |
| max-height: none; | |
| overflow-y: visible; | |
| } | |
| .modal-close-btn { | |
| position: absolute; | |
| top: 16px; | |
| right: 18px; | |
| background: none; | |
| border: none; | |
| color: #a89f97; | |
| font-size: 18px; | |
| cursor: pointer; | |
| transition: color 0.2s; | |
| } | |
| .modal-close-btn:hover { | |
| color: #f0ece6; | |
| } | |
| .modal-title { | |
| color: #f0ece6; | |
| font-size: 1.1rem; | |
| font-weight: 700; | |
| margin-bottom: 8px; | |
| } | |
| .modal-subtitle { | |
| color: #a89f97; | |
| font-size: 11px; | |
| margin-bottom: 20px; | |
| } | |
| /* ---- Modal List (legal content) ---- */ | |
| .modal-list { | |
| color: #a89f97; | |
| font-size: 11px; | |
| line-height: 1.9; | |
| padding-left: 16px; | |
| list-style: disc; | |
| text-align: left; | |
| } | |
| .modal-list strong { | |
| color: #f0ece6; | |
| } | |
| .modal-list .hl-accent { | |
| color: #c89a6c; | |
| font-weight: 700; | |
| } | |
| /* ---- Legal Section Label ---- */ | |
| .legal-section-label { | |
| color: #c89a6c; | |
| font-size: 11px; | |
| font-weight: 700; | |
| margin-bottom: 6px; | |
| text-align: left; | |
| } | |
| /* ---- Legal Footer ---- */ | |
| .legal-footer-text { | |
| color: #555; | |
| font-size: 10px; | |
| margin-top: 20px; | |
| text-align: left; | |
| } | |
| /* ---- Legal Button (footer/sidebar links) ---- */ | |
| .legal-btn { | |
| font-size: 10px; | |
| font-weight: 700; | |
| text-transform: uppercase; | |
| letter-spacing: 0.2em; | |
| color: #a89f97; | |
| background: none; | |
| border: none; | |
| cursor: pointer; | |
| transition: color 0.2s; | |
| } | |
| .legal-btn:hover { | |
| color: #c89a6c; | |
| } | |
| /* ---- Section Label ---- */ | |
| .section-label { | |
| font-size: 10px; | |
| font-weight: 800; | |
| text-transform: uppercase; | |
| letter-spacing: 0.2em; | |
| color: #a89f97; | |
| } | |
| /* ---- Check List (hero feature bullets) ---- */ | |
| .check-list { | |
| list-style: none; | |
| padding: 0; | |
| margin: 0; | |
| } | |
| .check-list li { | |
| display: flex; | |
| align-items: center; | |
| color: #a89f97; | |
| } | |
| .check-list li::before { | |
| content: '\f00c'; /* fa-check */ | |
| font-family: 'Font Awesome 6 Free'; | |
| font-weight: 900; | |
| color: #c89a6c; | |
| font-size: 1.1rem; | |
| margin-right: 12px; | |
| flex-shrink: 0; | |
| width: 1.5rem; | |
| text-align: center; | |
| } | |
| @media (min-width: 768px) { | |
| .check-list li::before { | |
| margin-right: 20px; | |
| } | |
| } | |
| /* ---- Bullet List (about tab) ---- */ | |
| .bullet-list { | |
| list-style: none; | |
| padding: 0; | |
| margin: 0; | |
| } | |
| .bullet-list li { | |
| display: flex; | |
| align-items: flex-start; | |
| gap: 12px; | |
| } | |
| .bullet-list li::before { | |
| content: '\f111'; /* fa-circle */ | |
| font-family: 'Font Awesome 6 Free'; | |
| font-weight: 900; | |
| color: #c89a6c; | |
| font-size: 5px; | |
| margin-top: 7px; | |
| flex-shrink: 0; | |
| } | |
| /* ---- Keyboard Shortcut Row ---- */ | |
| .shortcut-row { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| padding: 6px 0; | |
| border-bottom: 1px solid #1a1a1a; | |
| } | |
| .shortcut-row:last-child { | |
| border-bottom: none; | |
| } | |
| .shortcut-label { | |
| color: #a89f97; | |
| font-size: 11px; | |
| font-weight: 500; | |
| } | |
| .kbd-key { | |
| background: #1a1a1a; | |
| color: #c89a6c; | |
| font-size: 11px; | |
| font-weight: 700; | |
| padding: 3px 10px; | |
| border-radius: 6px; | |
| border: 1px solid #2a2a2a; | |
| font-family: 'JetBrains Mono', monospace; | |
| } | |
| /* ---- Panel Card (run tab panels) ---- */ | |
| .panel-card { | |
| background-color: #0a0a0a; | |
| border-radius: 12px; | |
| border: 1px solid #2a2a2a; | |
| overflow: hidden; | |
| display: flex; | |
| flex-direction: column; | |
| } | |
| .panel-header { | |
| padding: 16px 24px; | |
| border-bottom: 1px solid #1a1a1a; | |
| background: #050505; | |
| } | |
| .panel-header h3 { | |
| font-weight: 700; | |
| font-size: 0.875rem; | |
| color: #f0ece6; | |
| } | |
| .panel-body { | |
| padding: 24px; | |
| } | |
| /* ---- Step Titles (initial.html steps) ---- */ | |
| .step-title { | |
| font-size: 1.875rem; | |
| font-weight: 700; | |
| margin-bottom: 0.5rem; | |
| text-align: center; | |
| color: #f0ece6; | |
| } | |
| .step-subtitle { | |
| font-size: 13px; | |
| font-weight: 500; | |
| margin-bottom: 2rem; | |
| text-align: center; | |
| color: #a89f97; | |
| } | |
| /* ---- Mobile Menu Item ---- */ | |
| .mob-menu-item { | |
| width: 100%; | |
| text-align: left; | |
| padding: 10px 16px; | |
| font-size: 10px; | |
| font-weight: 700; | |
| text-transform: uppercase; | |
| letter-spacing: 0.2em; | |
| color: #a89f97; | |
| background: none; | |
| border: none; | |
| border-bottom: 1px solid #1a1a1a; | |
| cursor: pointer; | |
| transition: color 0.15s, background 0.15s; | |
| } | |
| .mob-menu-item:hover { | |
| color: #f0ece6; | |
| background: #111; | |
| } | |
| /* ---- Copyright Text ---- */ | |
| .copyright-text { | |
| font-size: 11px; | |
| font-weight: 500; | |
| color: #555; | |
| } | |
| /* ---- Utility ---- */ | |
| .hidden { display: none ; } | |
| .border-subtle { border-color: #2a2a2a; } | |
| .border-dim { border-color: #1a1a1a; } | |
| .bg-surface { background-color: #050505; } | |