:root{--bg: #f8fafc;--surface: #ffffff;--border: #e2e8f0;--text: #0f172a;--text-muted: #64748b;--accent: #2563eb;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04), 0 1px 3px rgba(15, 23, 42, .06);--shadow-md: 0 4px 12px rgba(15, 23, 42, .08);--radius: 12px;--radius-lg: 16px}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1100px;margin:0 auto;padding:0 24px}.container-narrow{max-width:760px;margin:0 auto;padding:0 24px}.site-header{background:var(--surface);border-bottom:1px solid var(--border);padding:16px 0;margin-bottom:32px}.site-header-inner{display:flex;justify-content:space-between;align-items:center;gap:16px}.brand{font-size:18px;font-weight:700;color:var(--text)}.brand:hover{text-decoration:none}.brand-accent{color:var(--accent)}.nav-back{font-size:14px;color:var(--text-muted)}.hero{text-align:center;margin:24px 0 40px}.hero h1{font-size:36px;margin:0 0 8px;letter-spacing:-.02em}.hero p{color:var(--text-muted);font-size:17px;margin:0}.role-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:32px 0}.role-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;transition:all .15s;cursor:pointer;display:block;color:var(--text)}.role-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);text-decoration:none;border-color:var(--role-color, var(--accent))}.role-card-icon{font-size:40px;line-height:1;margin-bottom:12px}.role-card-title{font-size:20px;font-weight:700;margin:0 0 4px}.role-card-short{font-size:13px;color:var(--role-color, var(--accent));font-weight:600;margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em}.role-card-desc{font-size:14px;color:var(--text-muted);margin:0}.role-card.common{background:linear-gradient(135deg,#f1f5f9,#fff)}.role-card-count{margin-top:12px;padding-top:12px;border-top:1px solid var(--border);font-size:13px;font-weight:600;color:var(--role-color, var(--accent))}.role-card-count.empty{color:var(--text-muted);font-style:italic;font-weight:400}.section-title{font-size:14px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin:32px 0 12px}.doc-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.doc-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px;transition:all .15s}.doc-item:hover{border-color:var(--accent);transform:translate(2px)}.doc-item a{color:var(--text);font-weight:600;display:block}.doc-item a:hover{text-decoration:none}.doc-item-desc{font-size:14px;color:var(--text-muted);margin-top:4px;font-weight:400}.role-header{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;margin-bottom:24px;display:flex;align-items:center;gap:16px}.role-header-icon{font-size:48px;line-height:1}.role-header-text h1{margin:0;font-size:26px}.role-header-text p{margin:4px 0 0;color:var(--text-muted)}.doc-content{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px 48px;margin:24px 0 48px}.doc-content h1{margin-top:0;font-size:32px;letter-spacing:-.02em}.doc-content h2{margin-top:32px;font-size:24px}.doc-content h3{margin-top:24px;font-size:19px}.doc-content code{background:#f1f5f9;padding:2px 6px;border-radius:4px;font-size:.9em}.doc-content pre{background:#f8fafc;border:1px solid var(--border);border-radius:var(--radius);padding:16px;overflow-x:auto}.doc-content pre code{background:none;padding:0}.doc-content blockquote{border-left:4px solid var(--accent);margin:16px 0;padding:8px 20px;color:var(--text-muted);background:#f8fafc;border-radius:4px}.doc-content table{border-collapse:collapse;width:100%;margin:16px 0}.doc-content th,.doc-content td{border:1px solid var(--border);padding:8px 12px;text-align:left}.doc-content th{background:#f8fafc;font-weight:600}.site-footer{text-align:center;padding:32px 0 48px;color:var(--text-muted);font-size:13px}.empty-state{background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius-lg);padding:48px 24px;text-align:center;color:var(--text-muted)}@media(max-width:640px){.hero h1{font-size:28px}.doc-content{padding:24px 20px}.role-header{flex-direction:column;text-align:center}}
