@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;700&display=swap'); *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } :root { --bg: #0D1117; --surface: #161B22; --surface-2: #1C2128; --border: #21262D; --text: #C9D1D9; --text-muted: #6E7681; --text-bright: #F0F6FC; --red: #F85149; --red-bg: rgba(248,81,73,0.07); --red-border: rgba(248,81,73,0.28); /* --accent set per file */ } body { background: var(--bg); color: var(--text); font-family: 'Inter', system-ui, sans-serif; height: 100vh; display: flex; align-items: center; justify-content: center; padding: 28px; } /* ── Card shell ── */ .card { width: 100%; max-width: 1080px; background: var(--surface); border: 1px solid var(--border); border-radius: 12px; overflow: hidden; position: relative; } /* dot grid */ .card::before { content: ''; position: absolute; inset: 0; background-image: radial-gradient(circle, rgba(255,255,255,0.06) 1px, transparent 1px); background-size: 26px 26px; pointer-events: none; border-radius: 12px; } /* accent left stripe */ .card-body { border-left: 4px solid var(--accent); padding: 0 32px 28px 32px; position: relative; } /* ── Top bar ── */ .topbar { display: flex; align-items: center; justify-content: space-between; padding: 14px 32px 14px 32px; border-bottom: 1px solid var(--border); border-left: 4px solid var(--accent); font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--text-muted); position: relative; } .topbar-path { display: flex; align-items: center; gap: 6px; } .topbar-path .dir { color: var(--text-muted); } .topbar-path .file { color: var(--accent); font-weight: 500; } .topbar-right { display: flex; align-items: center; gap: 20px; } .status { display: flex; align-items: center; gap: 5px; } .status-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 6px var(--accent); animation: pulse 2.5s ease-in-out infinite; } @keyframes pulse { 0%,100% { opacity: 1; } 50% { opacity: 0.4; } } .project-label { color: var(--accent); font-weight: 700; letter-spacing: 1px; font-size: 10px; } /* ── Header ── */ .header { display: flex; align-items: center; gap: 20px; padding-top: 24px; padding-bottom: 20px; } .avatar { width: 72px; height: 72px; border-radius: 50%; background: color-mix(in srgb, var(--accent) 14%, transparent); border: 2px solid var(--accent); display: flex; align-items: center; justify-content: center; font-family: 'JetBrains Mono', monospace; font-size: 22px; font-weight: 700; color: var(--accent); flex-shrink: 0; letter-spacing: -1px; } .name-block {} .persona-name { font-size: 30px; font-weight: 800; color: var(--text-bright); letter-spacing: -0.5px; line-height: 1.1; } .persona-sub { display: flex; align-items: center; gap: 10px; margin-top: 5px; font-family: 'JetBrains Mono', monospace; font-size: 12px; color: var(--text-muted); } .persona-sub .accent { color: var(--accent); } .persona-sub .sep { color: var(--border); } .persona-sub .handle { color: var(--text-muted); } /* ── Quote ── */ .quote { border-left: 3px solid var(--accent); padding: 10px 16px; margin-bottom: 20px; font-style: italic; font-size: 13.5px; line-height: 1.65; color: var(--text-muted); background: color-mix(in srgb, var(--accent) 5%, transparent); border-radius: 0 6px 6px 0; } .quote em { color: color-mix(in srgb, var(--accent) 80%, white); font-style: normal; } /* ── Skills ── */ .skills-row { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 20px; } .skill { font-family: 'JetBrains Mono', monospace; font-size: 11px; font-weight: 500; padding: 3px 10px; border-radius: 4px; border: 1px solid color-mix(in srgb, var(--accent) 35%, transparent); background: color-mix(in srgb, var(--accent) 10%, transparent); color: var(--accent); } /* ── Two-column ── */ .columns { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 16px; } .section-label { font-family: 'JetBrains Mono', monospace; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; color: var(--text-muted); margin-bottom: 9px; } .does-box { background: var(--surface-2); border: 1px solid var(--border); border-radius: 7px; padding: 13px 14px; } .does-box .section-label { color: var(--accent); } .item-list { list-style: none; display: flex; flex-direction: column; gap: 5px; } .item-list li { display: flex; align-items: flex-start; gap: 8px; font-size: 12.5px; line-height: 1.4; color: var(--text); } .item-list li .icon { flex-shrink: 0; font-style: normal; } .does-box .icon { color: var(--accent); } .never-box { background: var(--red-bg); border: 1px solid var(--red-border); border-radius: 7px; padding: 13px 14px; } .never-label { font-family: 'JetBrains Mono', monospace; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; color: var(--red); margin-bottom: 9px; display: flex; align-items: center; gap: 6px; } .never-box .icon { color: var(--red); } /* ── Review Focus ── */ .review-box { background: color-mix(in srgb, var(--accent) 7%, transparent); border: 1px solid color-mix(in srgb, var(--accent) 28%, transparent); border-radius: 7px; padding: 12px 16px; } .review-items { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 7px; } .review-item { font-size: 12px; color: var(--text-muted); display: flex; align-items: center; gap: 5px; } .review-item::before { content: '→'; color: var(--accent); font-size: 11px; }