:root { --bg: radial-gradient(circle at 10% 20%, #223 0%, #10131d 35%, #080a10 100%); --panel: rgba(255, 255, 255, 0.08); --panel-border: rgba(255, 255, 255, 0.2); --text: #ecf0ff; --muted: #b8bfd8; --accent: #5ee8b5; --danger: #ff7f8f; } * { box-sizing: border-box; } body { margin: 0; min-height: 100vh; font-family: Manrope, sans-serif; background: var(--bg); color: var(--text); } .app { width: min(980px, 92vw); margin: 2rem auto; display: grid; gap: 1rem; } .hero h1 { font-family: "Space Grotesk", sans-serif; font-size: clamp(2rem, 5vw, 3rem); margin: 0; } .hero p { color: var(--muted); } .card { background: var(--panel); border: 1px solid var(--panel-border); border-radius: 16px; padding: 1rem; backdrop-filter: blur(8px); } .pill { display: inline-block; margin-top: .5rem; padding: .35rem .7rem; border-radius: 999px; border: 1px solid var(--panel-border); color: var(--muted); } form { display: grid; gap: .8rem; } label { display: grid; gap: .4rem; font-weight: 500; } .inline { display: flex; align-items: center; gap: .5rem; } input, textarea, button { font: inherit; border-radius: 10px; border: 1px solid var(--panel-border); background: rgba(0,0,0,.25); color: var(--text); padding: .65rem .75rem; } textarea { min-height: 80px; } button { background: linear-gradient(120deg, #4bcf9e, #63a8ff); color: #07111f; border: 0; font-weight: 700; cursor: pointer; } .projects { display: grid; gap: .8rem; } .project { border: 1px solid var(--panel-border); border-radius: 12px; padding: .8rem; background: rgba(255, 255, 255, 0.04); } .project h3 { margin: 0 0 .4rem; font-family: "Space Grotesk", sans-serif; } .meta { color: var(--muted); font-size: .9rem; } .env-row { display: grid; grid-template-columns: 1fr 1fr auto auto; gap: .5rem; margin-top: .6rem; } .small { padding: .45rem .55rem; font-size: .88rem; } .muted { color: var(--muted); } .link { color: var(--accent); text-decoration: none; } .danger { background: var(--danger); color: #200; } @media (max-width: 720px) { .env-row { grid-template-columns: 1fr; } }