:root { color-scheme: dark; --bg: #0e1411; --panel: #151d19; --panel-strong: #1d2822; --text: #f3f5f4; --muted: #a7b2ac; --line: #2b3831; --accent: #f0bf57; --danger: #ff7a6b; } * { box-sizing: border-box; } body { margin: 0; font-family: "Segoe UI", sans-serif; background: radial-gradient(circle at top left, rgba(240, 191, 87, 0.16), transparent 28%), linear-gradient(180deg, #0b100d 0%, #101712 100%); color: var(--text); } a { color: inherit; text-decoration: none; } input, textarea, select, button { font: inherit; } .siteBody { min-height: 100vh; } .hero, .adminHeader, .pageWrap, .loginPanel { width: min(1180px, calc(100% - 48px)); margin: 0 auto; } .hero { display: flex; justify-content: space-between; align-items: flex-end; padding: 56px 0 26px; } .eyebrow { margin: 0 0 10px; color: var(--accent); letter-spacing: 0.28em; font-size: 12px; font-weight: 700; } .hero h1, .loginPanel h1, .editorHeader h1 { margin: 0; font-size: 42px; } .heroText { color: var(--muted); max-width: 620px; } .pageWrap { padding-bottom: 56px; } .cardRow { display: flex; gap: 18px; overflow-x: auto; padding-bottom: 12px; } .packCard { min-width: 260px; background: rgba(21, 29, 25, 0.92); border: 1px solid var(--line); border-radius: 24px; padding: 22px; display: flex; flex-direction: column; gap: 10px; } .packCard h2 { margin: 0; font-size: 24px; } .ghostLink, .primaryLink { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 18px; border-radius: 999px; border: 1px solid var(--line); } .primaryLink, .primaryButton { background: var(--accent); color: #16130e; border: none; font-weight: 700; } .dangerButton { background: var(--danger); color: #180d0b; border: none; font-weight: 700; } .primaryButton, .dangerButton { min-height: 46px; padding: 0 20px; border-radius: 999px; cursor: pointer; } .adminHeader { display: flex; justify-content: space-between; align-items: center; padding: 26px 0; } .brandLink { display: inline-flex; align-items: center; gap: 12px; font-weight: 700; } .brandMark { width: 42px; height: 42px; border-radius: 14px; background: var(--accent); color: #17120d; display: inline-flex; align-items: center; justify-content: center; } .userMenu summary { list-style: none; cursor: pointer; padding: 12px 16px; border: 1px solid var(--line); border-radius: 999px; } .userMenu[open] form { margin-top: 10px; } .userMenu button { width: 100%; min-height: 42px; border-radius: 16px; border: 1px solid var(--line); background: var(--panel); color: var(--text); } .toolbar { display: grid; gap: 18px; } .deleteForm { display: grid; gap: 18px; } .selectableCard { position: relative; } .selectableCard input[type="checkbox"] { position: absolute; top: 18px; right: 18px; } .selectionTitle { font-size: 24px; font-weight: 700; } .adminLoginBody { display: flex; align-items: center; justify-content: center; } .loginPanel, .editorWrap { background: rgba(21, 29, 25, 0.94); border: 1px solid var(--line); border-radius: 28px; padding: 30px; } .loginPanel { max-width: 460px; } .stackForm, .editorForm { display: grid; gap: 18px; } .stackForm label, .editorForm label { display: grid; gap: 8px; } .gridTwo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; } input, textarea, select { width: 100%; min-height: 48px; border-radius: 16px; border: 1px solid var(--line); background: var(--panel-strong); color: var(--text); padding: 12px 14px; } textarea { min-height: 150px; resize: vertical; } .errorText { color: #ffb7ae; margin: 0; } .editorHeader { display: flex; justify-content: space-between; align-items: flex-end; gap: 18px; margin-bottom: 24px; } @media (max-width: 840px) { .hero, .adminHeader, .editorHeader { flex-direction: column; align-items: flex-start; } .gridTwo { grid-template-columns: 1fr; } }