:root { --bg: #0a0d14; --panel: #121826; --accent: #4ed1ff; --accent-2: #ffb347; --text: #f5f7ff; --muted: #9ba7c7; } * { box-sizing: border-box; } body { margin: 0; font-family: "Segoe UI", system-ui, sans-serif; background: radial-gradient(circle at 20% 20%, rgba(78, 209, 255, 0.12), transparent 50%), radial-gradient(circle at 80% 20%, rgba(255, 179, 71, 0.1), transparent 45%), var(--bg); color: var(--text); } .app { min-height: 100vh; display: flex; flex-direction: column; gap: 20px; padding: 24px 28px 32px; } header { display: flex; justify-content: space-between; align-items: center; gap: 24px; } .brand { display: flex; align-items: center; gap: 16px; } .logo { width: 48px; height: 48px; border-radius: 14px; background: linear-gradient(135deg, var(--accent), #6af1ff); box-shadow: 0 12px 30px rgba(78, 209, 255, 0.35); } .brand h1 { margin: 0; font-size: 1.5rem; } .brand p { margin: 4px 0 0; color: var(--muted); } .hud { display: grid; grid-template-columns: repeat(3, minmax(90px, 1fr)); gap: 16px; } .hud div { background: var(--panel); padding: 10px 14px; border-radius: 12px; display: flex; flex-direction: column; gap: 6px; border: 1px solid rgba(255, 255, 255, 0.08); } .hud span { font-size: 0.7rem; text-transform: uppercase; color: var(--muted); letter-spacing: 0.08em; } .hud strong { font-size: 1.1rem; } main { display: grid; grid-template-columns: 1fr 280px; gap: 24px; flex: 1; } .panel { position: relative; background: var(--panel); border-radius: 24px; padding: 16px; border: 1px solid rgba(255, 255, 255, 0.08); box-shadow: 0 25px 50px rgba(0, 0, 0, 0.4); } canvas { width: 100%; height: auto; border-radius: 16px; background: #06080f; display: block; } .overlay { position: absolute; inset: 16px; display: grid; place-items: center; background: rgba(6, 8, 15, 0.75); border-radius: 16px; } .card { background: rgba(18, 24, 38, 0.95); padding: 24px 32px; border-radius: 18px; text-align: center; border: 1px solid rgba(255, 255, 255, 0.08); display: grid; gap: 12px; } .card h2 { margin: 0; font-size: 1.6rem; } .card p { margin: 0; color: var(--muted); } .card input { border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 10px; background: rgba(9, 12, 20, 0.8); padding: 10px 12px; color: var(--text); } .card small { color: var(--muted); } .row { display: flex; gap: 10px; justify-content: center; } button { border: none; background: var(--accent); color: #041018; font-weight: 600; padding: 10px 18px; border-radius: 10px; cursor: pointer; } button.ghost { background: transparent; border: 1px solid rgba(255, 255, 255, 0.12); color: var(--text); } aside { background: var(--panel); padding: 18px 20px; border-radius: 20px; border: 1px solid rgba(255, 255, 255, 0.08); color: var(--muted); display: flex; flex-direction: column; gap: 16px; } aside h3 { color: var(--text); margin: 0; } aside ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; } aside li strong { color: var(--text); margin-right: 6px; } .roster { display: grid; gap: 8px; } .roster-item { display: flex; justify-content: space-between; align-items: center; padding: 8px 10px; border-radius: 10px; background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.08); } .roster-left { display: flex; align-items: center; gap: 8px; } .dot { width: 10px; height: 10px; border-radius: 50%; } footer { color: var(--muted); font-size: 0.85rem; } @media (max-width: 960px) { main { grid-template-columns: 1fr; } }