:root{--bg: #ffffff;--bg-alt: #f6f7f9;--fg: #191c22;--muted: #6b7280;--border: #e5e8ee;--accent: #2563eb;--accent-dark: #1d4ed8;--accent-soft: #eef3fe;--ok: #15803d;--ok-soft: #e9f7ee;--warn: #b45309;--warn-soft: #fdf3e2;--radius: 14px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--fg);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased}.container{max-width:960px;margin:0 auto;padding:0 24px}.hero{position:relative;display:flex;align-items:center;min-height:clamp(430px,58vh,580px);overflow:hidden;background:#10141f}.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#090d1c61,#090d1cbd)}.hero-inner{position:relative;padding-top:96px;padding-bottom:96px;color:#fff}.hero-kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;font-weight:600;color:#ffffffd9}.hero-title{margin:14px 0 12px;font-size:clamp(2rem,5.2vw,3.4rem);font-weight:800;line-height:1.15;letter-spacing:-.02em}.hero-sub{max-width:560px;font-size:1.06rem;color:#ffffffe0}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.btn{display:inline-block;padding:11px 22px;border-radius:999px;font-weight:600;font-size:.95rem;text-decoration:none;transition:transform .15s ease,background .15s ease}.btn:hover{transform:translateY(-1px)}.btn-solid{background:#fff;color:#10141f}.btn-solid:hover{background:#eef0f6}.btn-ghost{color:#fff;border:1px solid rgba(255,255,255,.55)}.btn-ghost:hover{background:#ffffff1f}.topbar{position:sticky;top:0;z-index:10;border-bottom:1px solid var(--border);background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.topbar-inner{display:flex;align-items:center;justify-content:space-between;height:56px}.topbar-home{color:var(--fg);font-weight:600;font-size:.92rem;text-decoration:none}.topbar-home:hover{color:var(--accent)}.topbar-name{color:var(--muted);font-size:.9rem}.page{padding-top:8px;min-height:62vh}.section{padding:64px 0}.section-alt{background:var(--bg-alt)}.section-head{margin-bottom:28px}.section-head h2{font-size:1.6rem;letter-spacing:-.01em}.section-head p{margin-top:4px;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}.card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:26px 18px 22px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:inherit;text-align:center;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.card:hover{transform:translateY(-3px);border-color:#d3d9e3;box-shadow:0 10px 30px #0f172a14}.card-avatar{width:88px;height:88px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 0 0 1px var(--border)}.card h3{margin-top:10px;font-size:1.02rem}.card-sub{color:var(--muted);font-size:.88rem}.card-more{margin-top:10px;color:var(--accent);font-size:.85rem;font-weight:600}.rows{display:flex;flex-direction:column;gap:12px}.row{display:flex;align-items:center;gap:16px;padding:16px 18px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:inherit;text-decoration:none;transition:border-color .18s ease,box-shadow .18s ease}.row:hover{border-color:var(--accent);box-shadow:0 8px 24px #2563eb12}.row-num{width:2ch;color:var(--muted);font-weight:700;font-variant-numeric:tabular-nums}.row-main{display:flex;flex:1;min-width:0;flex-direction:column}.row-title{font-weight:600}.row-desc{color:var(--muted);font-size:.88rem}.row-date{color:var(--muted);font-size:.88rem;white-space:nowrap}.badge{padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:600;white-space:nowrap}.badge-ok{background:var(--ok-soft);color:var(--ok)}.badge-doing{background:var(--warn-soft);color:var(--warn)}.badge-todo{background:var(--bg-alt);color:var(--muted)}.profile{padding:56px 0 30px;text-align:center}.profile-avatar{width:116px;height:116px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 4px #fff,0 0 0 5px var(--border)}.profile-name{margin-top:18px;font-size:1.9rem;letter-spacing:-.02em}.page-head{padding:40px 0 26px}.page-title{font-size:2rem;letter-spacing:-.02em}.page-head .chips{justify-content:flex-start}.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:16px}.chip{display:inline-flex;align-items:center;padding:5px 12px;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:#3f4652;font-size:.84rem;text-decoration:none}a.chip:hover{background:var(--accent-soft)}.chip-hobby{background:var(--accent-soft);border-color:transparent;color:var(--accent-dark)}.chip-link{color:var(--accent);font-weight:600}.md{padding:8px 0 64px}.md h1,.md h2,.md h3,.md h4{margin:1.6em 0 .55em;line-height:1.3;letter-spacing:-.01em}.md h1{font-size:1.7rem}.md h2{font-size:1.45rem}.md h3{font-size:1.18rem}.md p{margin-bottom:1em;color:#2b2f36}.md a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.md strong{font-weight:700}.md ul,.md ol{margin-bottom:1.2em;padding-left:1.4em}.md li{margin:.3em 0}.md code{padding:.12em .38em;border:1px solid var(--border);border-radius:6px;background:#f1f3f7;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em}.md pre{margin-bottom:1.2em;padding:18px 20px;border-radius:12px;background:#0f1524;overflow-x:auto}.md pre code{padding:0;border:none;background:none;color:#dbe4ff;font-size:.86rem;line-height:1.6}.md blockquote{margin-bottom:1.2em;padding:2px 0 2px 16px;border-left:3px solid var(--accent);color:var(--muted)}.md table{width:100%;margin-bottom:1.4em;border-collapse:collapse;font-size:.95rem}.md th,.md td{padding:9px 12px;border:1px solid var(--border);text-align:left}.md th{background:var(--bg-alt)}.md img{max-width:100%;border-radius:12px}.md hr{margin:2em 0;border:none;border-top:1px solid var(--border)}.md>:first-child{margin-top:0}.empty{padding:80px 0;color:var(--muted);text-align:center}.empty h2{margin-bottom:8px;color:var(--fg)}.footer{padding:28px 0 40px;border-top:1px solid var(--border);color:var(--muted);font-size:.9rem}@media(max-width:600px){.section{padding:48px 0}.row{flex-wrap:wrap;gap:10px}.row-main{flex-basis:100%;order:1}.row-num{order:0}.row-date{order:2}.badge{order:3}.profile-name,.page-title{font-size:1.5rem}}
