*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } :root { --bg: #0d1117; --surface: #161b22; --border: #30363d; --text: #c9d1d9; --heading: #e6edf3; --muted: #8b949e; --accent: #58a6ff; --green: #3fb950; --red: #f85149; --yellow: #d29922; } [data-theme="light"] { --bg: #ffffff; --surface: #f6f8fa; --border: #d0d7de; --text: #1f2328; --heading: #1f2328; --muted: #656d76; --accent: #0969da; --green: #1a7f37; --red: #cf222e; --yellow: #9a6700; } *, *::before, *::after { transition: background-color .2s, border-color .2s, color .2s; } body { background: var(--bg); color: var(--text); font: 14px/1.6 'Segoe UI', system-ui, sans-serif; } header { display: flex; align-items: center; gap: 1.5rem; padding: .75rem 1.5rem; background: var(--surface); border-bottom: 1px solid var(--border); } header h1 { font-size: 1.1rem; font-weight: 600; color: var(--heading); } header h1 span { color: var(--accent); } header nav { display: flex; gap: 1rem; margin-left: auto; } header nav a { color: var(--muted); text-decoration: none; padding: .25rem .5rem; border-radius: 4px; } header nav a:hover, header nav a.active { color: var(--accent); background: rgba(88,166,255,.1); } main { max-width: 1200px; margin: 1.5rem auto; padding: 0 1rem; display: flex; flex-direction: column; gap: 1.25rem; } .stats-row { display: flex; gap: 1rem; flex-wrap: wrap; } .stat-card { flex: 1 1 150px; background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 1rem 1.25rem; } .stat-card .label { font-size: .75rem; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); } .stat-card .value { font-size: 1.75rem; font-weight: 700; color: var(--heading); margin-top: .15rem; } .card { background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 1.25rem; } .card h2 { font-size: .9rem; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); margin-bottom: 1rem; } .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; } @media (max-width: 700px) { .two-col { grid-template-columns: 1fr; } } table { width: 100%; border-collapse: collapse; font-size: .85rem; } th { text-align: left; color: var(--muted); font-weight: 500; padding: .4rem .6rem; border-bottom: 1px solid var(--border); } td { padding: .4rem .6rem; border-bottom: 1px solid var(--border); vertical-align: middle; } tr:last-child td { border-bottom: none; } tr:hover td { background: rgba(255,255,255,.03); } code { font-family: 'Cascadia Code', 'Fira Mono', monospace; font-size: .8rem; color: var(--accent); } label { display: block; margin-bottom: .75rem; font-size: .85rem; color: var(--muted); } label.inline { display: flex; align-items: center; gap: .5rem; color: var(--text); } label input[type=text], label input[type=url], label input[type=password], label input[type=number] { display: block; width: 100%; margin-top: .3rem; background: var(--bg); border: 1px solid var(--border); border-radius: 5px; color: var(--text); padding: .45rem .6rem; font-size: .9rem; } label input:focus { outline: none; border-color: var(--accent); } button[type=submit], .btn { background: var(--accent); color: #fff; border: none; border-radius: 5px; padding: .5rem 1.1rem; font-size: .9rem; font-weight: 600; cursor: pointer; } button[type=submit]:hover { opacity: .85; } .link-btn { background: none; border: none; cursor: pointer; font-size: .85rem; color: var(--accent); padding: 0; } .link-btn.danger { color: var(--red); } .alert { padding: .65rem 1rem; border-radius: 6px; font-size: .875rem; } .alert.ok { background: rgba(63,185,80,.15); color: var(--green); border: 1px solid rgba(63,185,80,.4); } .alert.err { background: rgba(248,81,73,.15); color: var(--red); border: 1px solid rgba(248,81,73,.4); } .alert.warn { background: rgba(210,153,34,.15); color: var(--yellow); border: 1px solid rgba(210,153,34,.4); } .alert.warn a { color: var(--yellow); } .badge { display: inline-block; font-size: .7rem; padding: .1rem .45rem; border-radius: 3px; background: var(--border); color: var(--muted); } .badge.ok { background: rgba(63,185,80,.2); color: var(--green); } .muted { color: var(--muted); } .actions { white-space: nowrap; } .actions a, .actions .link-btn { margin-right: .5rem; } .bar-wrap { display: flex; align-items: center; gap: .5rem; } .bar { height: 6px; background: var(--accent); border-radius: 3px; min-width: 2px; } form { max-width: 480px; } footer { text-align: center; padding: 1.25rem; margin-top: 1rem; font-size: .75rem; color: var(--muted); border-top: 1px solid var(--border); } footer span { color: var(--accent); } .theme-toggle { background: none; border: 1px solid var(--border); border-radius: 5px; color: var(--muted); cursor: pointer; font-size: .8rem; padding: .2rem .55rem; line-height: 1.6; } .theme-toggle:hover { color: var(--accent); border-color: var(--accent); }