:root{--bg: #fafafa;--card: #ffffff;--card-2: #f4f4f5;--border: #d4d4d8;--text: #000000;--muted: #52525b;--btn-bg: #000000;--btn-text: #ffffff;--radius: 12px}[data-theme=dark]{--bg: #000000;--card: #111111;--card-2: #1a1a1a;--border: rgba(255, 255, 255, .14);--text: #ffffff;--muted: #a1a1aa;--btn-bg: #ffffff;--btn-text: #000000}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:DM Sans,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);line-height:1.65;-webkit-font-smoothing:antialiased;transition:background .2s ease,color .2s ease}h1,h2,h3,h4{font-family:Sora,system-ui,sans-serif;font-weight:600;letter-spacing:-.02em;line-height:1.2}a{color:inherit}.app{min-height:100vh;display:flex;flex-direction:column}.navbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 32px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg);z-index:10}.brand{font-family:Sora,system-ui,sans-serif;font-size:1.15rem;font-weight:600;text-decoration:none;color:var(--text)}.nav-right{display:flex;align-items:center;gap:8px}.nav-links{display:flex;gap:4px;flex-wrap:wrap}.nav-link{color:var(--muted);text-decoration:none;padding:8px 14px;border-radius:var(--radius);font-size:.95rem;transition:color .15s ease}.nav-link:hover{color:var(--text)}.nav-link.active{color:var(--text);background:var(--card-2)}.theme-pill{display:inline-flex;align-items:center;height:34px;padding:3px;border:1px solid var(--border);border-radius:999px;background:var(--card)}.theme-opt{display:inline-flex;align-items:center;justify-content:center;width:32px;height:28px;border:none;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;transition:background .15s ease,color .15s ease}.theme-opt:hover{background:var(--card-2);color:var(--text)}.theme-opt.active{background:var(--btn-bg);color:var(--btn-text);box-shadow:0 1px 3px #0000001f}.main{flex:1;width:100%;max-width:900px;margin:0 auto;padding:64px 24px}.hero{padding:24px 0 8px}.hero h1{font-size:3rem;margin:0 0 12px}.hero .role{font-size:1.15rem;color:var(--muted);margin:0 0 20px}.hero p{color:var(--muted);font-size:1.1rem;max-width:640px;margin:0 0 28px}.page-title{font-size:2.2rem;margin:0 0 8px}.page-sub{color:var(--muted);margin:0 0 32px}.section{margin:40px 0}.section h2{font-size:1.4rem;margin:0 0 16px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-bottom:16px}.card h3{margin:0 0 8px;font-size:1.1rem}.card p{color:var(--muted);margin:0}.card .meta{color:var(--muted);font-size:.85rem;margin-bottom:10px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.tag{display:inline-block;background:var(--card-2);border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:4px 12px;font-size:.8rem;margin:3px 6px 3px 0}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--btn-bg);color:var(--btn-text);border:1px solid var(--btn-bg);border-radius:var(--radius);padding:12px 22px;font-size:.95rem;font-weight:500;cursor:pointer;text-decoration:none;font-family:inherit;transition:opacity .15s ease}.btn:hover{opacity:.85}.btn.secondary{background:transparent;color:var(--text);border-color:var(--border)}.btn.secondary:hover{background:var(--card-2);opacity:1}.btn-row{display:flex;gap:12px;flex-wrap:wrap}form{display:flex;flex-direction:column;gap:16px;max-width:520px}label{font-size:.9rem;color:var(--muted)}input,textarea{background:var(--card);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);padding:12px 14px;font-size:1rem;font-family:inherit;width:100%}input:focus,textarea:focus{outline:none;border-color:var(--text)}.msg{padding:12px 16px;border-radius:var(--radius);margin-top:4px;font-size:.95rem}.msg.ok,.msg.err{background:var(--card-2);color:var(--text);border:1px solid var(--border)}.footer{text-align:center;color:var(--muted);padding:28px 24px;border-top:1px solid var(--border);font-size:.85rem}@media (max-width: 640px){.hero h1{font-size:2.2rem}.page-title{font-size:1.8rem}.navbar{padding:14px 16px}.main{padding:40px 16px}}
