* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: var(--font-body); background-color: var(--color-bg); background-image: url("/images/backgrounds/background.webp"); background-repeat: repeat; color: var(--color-text); min-width: var(--width-container); font-size: 13px; line-height: 1.5; } a { color: var(--color-link); text-decoration: underline; } a:hover { color: var(--color-link-hover); } .site-header { padding: 0px 0 16px 0; text-align: center; position: relative; } .site-header::before { content: ""; position: absolute; top: 40%; left: 50%; transform: translate(-50%, -50%); width: 490px; height: 154px; background: radial-gradient(ellipse, var(--color-header-glow-inner) 0%, var(--color-header-glow-outer) 40%, transparent 70%); pointer-events: none; z-index: 0; } .site-header h1 { position: relative; z-index: 1; font-family: var(--font-display); font-size: 58px; font-weight: 800; text-transform: uppercase; letter-spacing: 10px; color: var(--color-header-title); margin: 0; } .site-header p { position: relative; z-index: 1; font-family: var(--font-display); font-size: 15px; text-transform: uppercase; letter-spacing: 5px; color: var(--color-header-subtitle); } .top-nav { width: var(--width-container); margin: 0 auto; display: flex; background: var(--color-panel); border: 1px solid var(--color-border); } .top-nav-link { flex: 1; padding: 6px 0; text-align: center; font-family: var(--font-display); font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: 2px; color: var(--color-text-bright); text-decoration: none; border-right: 1px solid var(--color-border); border-top: 2px solid transparent; transition: border-top-color 0.15s, color 0.15s, background 0.15s; } .top-nav-link:last-child { border-right: none; } .top-nav-link[data-accent="cyan"]:hover { border-top-color: var(--color-cyan); color: var(--color-cyan); background: color-mix(in srgb, var(--color-cyan) 6%, transparent); } .top-nav-link[data-accent="green"]:hover { border-top-color: var(--color-green); color: var(--color-green); background: color-mix(in srgb, var(--color-green) 6%, transparent); } .top-nav-link[data-accent="pink"]:hover { border-top-color: var(--color-pink); color: var(--color-pink); background: color-mix(in srgb, var(--color-pink) 6%, transparent); } .top-nav-link[data-accent="yellow"]:hover { border-top-color: var(--color-yellow); color: var(--color-yellow); background: color-mix(in srgb, var(--color-yellow) 6%, transparent); } .top-nav-link[data-accent="purple"]:hover { border-top-color: var(--color-purple); color: var(--color-purple); background: color-mix(in srgb, var(--color-purple) 6%, transparent); } .top-nav-link[data-accent="cyan"].active { border-top-color: var(--color-cyan); color: var(--color-cyan); background: color-mix(in srgb, var(--color-cyan) 10%, transparent); } .top-nav-link[data-accent="green"].active { border-top-color: var(--color-green); color: var(--color-green); background: color-mix(in srgb, var(--color-green) 10%, transparent); } .top-nav-link[data-accent="pink"].active { border-top-color: var(--color-pink); color: var(--color-pink); background: color-mix(in srgb, var(--color-pink) 10%, transparent); } .top-nav-link[data-accent="yellow"].active { border-top-color: var(--color-yellow); color: var(--color-yellow); background: color-mix(in srgb, var(--color-yellow) 10%, transparent); } .top-nav-link[data-accent="purple"].active { border-top-color: var(--color-purple); color: var(--color-purple); background: color-mix(in srgb, var(--color-purple) 10%, transparent); } .search-bar { width: var(--width-container); margin: 0 auto 6px; background: var(--color-panel); border: 1px solid var(--color-border); border-top: none; padding: 6px 10px; } .search-bar input { width: 100%; background: var(--color-bg); border: 1px solid var(--color-border); padding: 4px 8px; font-family: var(--font-body); font-size: 12px; color: var(--color-text); outline: none; } .search-bar input::placeholder { color: var(--color-text-muted); } .search-bar input:focus { border-color: var(--color-cyan); } .site-main { width: var(--width-container); margin: 0 auto; display: flex; gap: 6px; align-items: flex-start; } .sidebar { width: var(--width-sidebar); flex-shrink: 0; display: flex; flex-direction: column; gap: 6px; } .content { flex-grow: 1; background: var(--color-panel); background-image: linear-gradient(180deg, var(--color-overlay-light) 0%, transparent 100px); border: 1px solid var(--color-border); padding: 10px 12px; min-height: 300px; } .content p { margin-bottom: 6px; } .content p:last-child { margin-bottom: 0; } .site-footer { width: var(--width-container); margin: 8px auto 0; padding: 8px 0 16px; text-align: center; } .footer-links { margin-bottom: 4px; } .footer-links a { font-size: 11px; color: var(--color-text-muted); text-decoration: none; margin: 0 6px; } .footer-links a:hover { color: var(--color-text); text-decoration: underline; } .site-footer p { font-size: 10px; color: var(--color-text-muted); } .nav-section { background: var(--color-panel); border: 1px solid var(--color-border); } .nav-section[data-accent="cyan"] { border-top: 2px solid var(--color-cyan); } .nav-section[data-accent="green"] { border-top: 2px solid var(--color-green); } .nav-section[data-accent="pink"] { border-top: 2px solid var(--color-pink); } .nav-section[data-accent="yellow"] { border-top: 2px solid var(--color-yellow); } .nav-section[data-accent="purple"] { border-top: 2px solid var(--color-purple); } .nav-section[data-accent="red"] { border-top: 2px solid var(--color-red); } .nav-section-header { background: var(--color-panel-header); background-image: linear-gradient(180deg, var(--color-overlay-lighter), transparent); padding: 5px 8px; font-family: var(--font-display); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 2px; color: var(--color-text-bright); } .nav-section[data-accent="cyan"] .nav-section-header { color: var(--color-cyan); } .nav-section[data-accent="green"] .nav-section-header { color: var(--color-green); } .nav-section[data-accent="pink"] .nav-section-header { color: var(--color-pink); } .nav-section[data-accent="yellow"] .nav-section-header { color: var(--color-yellow); } .nav-section[data-accent="purple"] .nav-section-header { color: var(--color-purple); } .nav-section[data-accent="red"] .nav-section-header { color: var(--color-red); } .nav-section-body ul { list-style: none; } .nav-section-body li { padding: 3px 8px; font-size: 12px; display: flex; align-items: center; gap: 4px; } .nav-section-body li::before { content: "\25B8"; font-size: 10px; flex-shrink: 0; color: var(--color-text-muted); } .nav-section[data-accent="cyan"] .nav-section-body li::before { color: var(--color-cyan); } .nav-section[data-accent="green"] .nav-section-body li::before { color: var(--color-green); } .nav-section[data-accent="pink"] .nav-section-body li::before { color: var(--color-pink); } .nav-section[data-accent="yellow"] .nav-section-body li::before { color: var(--color-yellow); } .nav-section[data-accent="purple"] .nav-section-body li::before { color: var(--color-purple); } .nav-section[data-accent="red"] .nav-section-body li::before { color: var(--color-red); } .nav-section-body li a { color: var(--color-link); text-decoration: none; } .nav-section[data-accent="cyan"] .nav-section-body li a:hover { color: var(--color-cyan); } .nav-section[data-accent="green"] .nav-section-body li a:hover { color: var(--color-green); } .nav-section[data-accent="pink"] .nav-section-body li a:hover { color: var(--color-pink); } .nav-section[data-accent="yellow"] .nav-section-body li a:hover { color: var(--color-yellow); } .nav-section[data-accent="purple"] .nav-section-body li a:hover { color: var(--color-purple); } .nav-section[data-accent="red"] .nav-section-body li a:hover { color: var(--color-red); } .nav-section-body li a.active { font-weight: 600; } .nav-section[data-accent="cyan"] .nav-section-body li a.active { color: var(--color-cyan); } .nav-section[data-accent="green"] .nav-section-body li a.active { color: var(--color-green); } .nav-section[data-accent="pink"] .nav-section-body li a.active { color: var(--color-pink); } .nav-section[data-accent="yellow"] .nav-section-body li a.active { color: var(--color-yellow); } .nav-section[data-accent="purple"] .nav-section-body li a.active { color: var(--color-purple); } .nav-section[data-accent="red"] .nav-section-body li a.active { color: var(--color-red); } .nav-section-body li.placeholder { color: var(--color-text-muted); font-style: italic; } .nav-section-body li.placeholder::before { display: none; } .page-title { font-family: var(--font-display); font-size: 22px; font-weight: 700; text-transform: uppercase; letter-spacing: 3px; color: var(--color-text-bright); margin-bottom: 12px; padding-bottom: 6px; border-bottom: 1px solid var(--color-border); } .auth-form { display: flex; flex-direction: column; gap: 10px; max-width: 360px; } .form-field { display: flex; flex-direction: column; gap: 3px; } .form-field span { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; color: var(--color-text-muted); } .form-field input { background: var(--color-bg); border: 1px solid var(--color-border); padding: 6px 8px; font-family: var(--font-body); font-size: 13px; color: var(--color-text); outline: none; } .form-field input:focus { border-color: var(--color-purple); } .form-button { background: var(--color-purple); border: none; padding: 6px 16px; font-family: var(--font-display); font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: 2px; color: var(--color-white); cursor: pointer; } .form-button:hover { background: var(--color-purple-hover); } .form-button:disabled { opacity: 0.5; cursor: not-allowed; } .form-error { background: color-mix(in srgb, var(--color-error) 10%, transparent); border: 1px solid color-mix(in srgb, var(--color-error) 30%, transparent); color: var(--color-error); padding: 8px 10px; font-size: 12px; margin-bottom: 10px; } .form-error a { color: var(--color-error); text-decoration: underline; } .form-success { background: color-mix(in srgb, var(--color-green) 10%, transparent); border: 1px solid color-mix(in srgb, var(--color-green) 30%, transparent); color: var(--color-green); padding: 8px 10px; font-size: 12px; margin-bottom: 10px; } .form-footer { margin-top: 12px; font-size: 12px; color: var(--color-text-muted); } .sidebar-logout { background: none; border: none; padding: 0; font-family: var(--font-body); font-size: 12px; color: var(--color-link); cursor: pointer; text-decoration: none; } .sidebar-logout:hover { color: var(--color-pink); } .citizen-item a { display: flex; align-items: center; gap: 6px; } .citizen-avatar { width: 20px; height: 20px; border-radius: 2px; object-fit: cover; }