:root { --bg0: #0f1412; --bg1: #18211c; --ink: #e8f0ea; --muted: #9bb0a2; --accent: #c4f54b; --accent2: #5ee0a0; --line: rgba(232, 240, 234, 0.12); --danger: #ff7a7a; --font-display: "Fraunces", "Iowan Old Style", Georgia, serif; --font-body: "IBM Plex Sans", "Noto Sans SC", "Segoe UI", sans-serif; --font-mono: "IBM Plex Mono", "SF Mono", ui-monospace, monospace; } * { box-sizing: border-box; } html, body { margin: 0; min-height: 100%; background: radial-gradient(1200px 600px at 10% -10%, rgba(94, 224, 160, 0.18), transparent 55%), radial-gradient(900px 500px at 100% 0%, rgba(196, 245, 75, 0.12), transparent 50%), linear-gradient(165deg, var(--bg0), #121a16 40%, #0c100e); color: var(--ink); font-family: var(--font-body); } .page { width: min(980px, calc(100% - 2rem)); margin: 0 auto; padding: 2.2rem 0 4rem; } .hero { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; margin-bottom: 1.5rem; } .eyebrow { letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent2); font-size: 0.75rem; margin: 0 0 0.4rem; } h1 { font-family: var(--font-display); font-weight: 560; font-size: clamp(2rem, 4vw, 2.8rem); margin: 0; letter-spacing: -0.02em; } .sub { color: var(--muted); margin: 0.55rem 0 0; max-width: 36rem; } .pill { border: 1px solid var(--line); background: rgba(255,255,255,0.03); padding: 0.55rem 0.8rem; border-radius: 999px; font-size: 0.82rem; color: var(--muted); white-space: nowrap; } .pill.ok { color: var(--accent2); border-color: rgba(94,224,160,0.35); } .pill.warn { color: #ffd27a; border-color: rgba(255,210,122,0.35); } .panel { border: 1px solid var(--line); background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.015)); border-radius: 18px; padding: 1.15rem 1.2rem 1.25rem; margin-bottom: 1rem; backdrop-filter: blur(8px); } .panel h2 { margin: 0 0 0.9rem; font-size: 1.05rem; font-weight: 600; } .row { display: flex; gap: 0.7rem; align-items: center; flex-wrap: wrap; margin: 0.6rem 0; } .grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0.8rem; } @media (max-width: 720px) { .grid2 { grid-template-columns: 1fr; } } label { display: grid; gap: 0.35rem; font-size: 0.86rem; color: var(--muted); margin: 0.45rem 0; } input[type="text"], input:not([type]), input[type="file"], select, textarea { width: 100%; border: 1px solid var(--line); background: rgba(0,0,0,0.28); color: var(--ink); border-radius: 10px; padding: 0.65rem 0.75rem; font: inherit; } textarea { font-family: var(--font-mono); font-size: 0.82rem; line-height: 1.45; resize: vertical; } button, .ghost { border: 0; border-radius: 999px; padding: 0.62rem 1.05rem; font: inherit; cursor: pointer; text-decoration: none; } button.primary { background: linear-gradient(120deg, var(--accent), var(--accent2)); color: #102016; font-weight: 650; } button:disabled { opacity: 0.45; cursor: not-allowed; } .ghost { color: var(--accent2); border: 1px solid rgba(94,224,160,0.35); background: transparent; } .code { margin: 0.7rem 0 0; padding: 0.85rem; border-radius: 12px; background: rgba(0,0,0,0.35); border: 1px solid var(--line); overflow: auto; max-height: 260px; font-family: var(--font-mono); font-size: 0.78rem; white-space: pre-wrap; } .muted { color: var(--muted); } .error { color: var(--danger); }