.header{position:sticky;top:0;z-index:100;background:#0a0a0ae6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.header-content{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem}.logo{display:flex;align-items:center;gap:.5rem;color:var(--text-primary);font-weight:600;font-size:1.25rem}.logo:hover{color:var(--text-primary)}.logo-icon{color:var(--accent)}.nav{display:flex;gap:1.5rem;align-items:center}.nav a{color:var(--text-secondary);font-size:.9rem;transition:color .2s}.nav a:hover{color:var(--text-primary)}.github-link{padding:.4rem .8rem;border:1px solid var(--border);border-radius:6px}.github-link:hover{border-color:var(--text-secondary)}.mobile-menu-button{display:none;background:none;border:none;color:var(--text-primary);font-size:1.5rem;cursor:pointer;padding:.5rem;line-height:1}.mobile-menu-button:hover{color:var(--accent)}.mobile-menu{display:none}@media (max-width: 640px){.header{background:var(--bg-primary);-webkit-backdrop-filter:none;backdrop-filter:none}.nav{display:none}.mobile-menu-button{display:block}.mobile-menu{display:flex;flex-direction:column;background:var(--bg-primary);border-top:1px solid var(--border);padding:1rem 1.5rem;gap:.5rem}.mobile-menu a{color:var(--text-secondary);font-size:1rem;padding:.75rem 0;border-bottom:1px solid var(--border);transition:color .2s}.mobile-menu a:last-child{border-bottom:none}.mobile-menu a:hover{color:var(--text-primary)}}.footer{background:var(--bg-secondary);border-top:1px solid var(--border);padding:2rem 0}.footer-content{display:flex;justify-content:space-between;align-items:center}.footer-left{display:flex;align-items:center;gap:.75rem}.footer-logo{font-weight:600}.footer-sep{color:var(--border)}.footer-tagline,.footer-right a{color:var(--text-secondary);font-size:.9rem}.footer-right a:hover{color:var(--text-primary)}@media (max-width: 640px){.footer-content{flex-direction:column;gap:1rem}}.app{min-height:100vh;display:flex;flex-direction:column}main{flex:1}section{padding:4rem 0;border-bottom:1px solid var(--border)}section:last-child{border-bottom:none}.section-title{margin-bottom:2rem;color:var(--text-primary)}.logo-text{font-family:monospace}.hero{padding:6rem 0;text-align:center;background:linear-gradient(180deg,var(--bg-secondary) 0%,var(--bg-primary) 100%)}.hero-title{font-size:3rem;margin-bottom:1.5rem;background:linear-gradient(135deg,var(--text-primary) 0%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.25rem;color:var(--text-secondary);max-width:600px;margin:0 auto 2.5rem;line-height:1.7}.hero-cta{margin-bottom:3rem}.install-cmd{display:inline-block;padding:.75rem 1.5rem;font-size:1rem;border:1px solid var(--border);border-radius:8px}.hero-features{display:flex;justify-content:center;gap:2.5rem;flex-wrap:wrap}.feature{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.95rem}.feature-icon{color:var(--accent)}@media (max-width: 640px){.hero{padding:4rem 0}.hero-title{font-size:2.25rem}.hero-subtitle{font-size:1.1rem}.hero-features{gap:1.5rem}}.usage-section{background:var(--bg-primary)}.usage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:3rem}.usage-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.usage-card h3{margin-bottom:1rem;font-size:1.1rem}.usage-card pre{margin-bottom:1rem}.usage-card p{color:var(--text-secondary);font-size:.9rem}.advanced-note{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:1.5rem;text-align:center}.advanced-note p{color:var(--text-secondary);font-size:.95rem;margin:0}.advanced-note a{color:var(--accent);text-decoration:none}.advanced-note a:hover{text-decoration:underline}.mechanic-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;padding:.25rem .5rem;border-radius:4px;background:color-mix(in srgb,var(--badge-color, #6b7280) 15%,transparent);color:var(--badge-color, #6b7280);border:1px solid color-mix(in srgb,var(--badge-color, #6b7280) 30%,transparent);white-space:nowrap;transition:background .2s,border-color .2s}.mechanic-badge.unknown{--badge-color: #6b7280;font-style:italic}.mechanic-badge.with-category{padding-right:.25rem}.badge-category{font-size:.65rem;padding:.1rem .35rem;background:color-mix(in srgb,var(--badge-color, #6b7280) 25%,transparent);border-radius:3px;text-transform:uppercase;letter-spacing:.03em}.mechanic-link{text-decoration:none}.mechanic-link:hover .mechanic-badge{background:color-mix(in srgb,var(--badge-color, #6b7280) 25%,transparent);border-color:color-mix(in srgb,var(--badge-color, #6b7280) 50%,transparent)}.mechanics-badges.compact{gap:.35rem}.mechanics-badges.compact .mechanic-badge{font-size:.7rem;padding:.2rem .4rem}.games-section{background:var(--bg-secondary)}.section-desc{color:var(--text-secondary);margin-bottom:2rem;max-width:600px}.games-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.game-card{display:block;background:var(--bg-primary);border:1px solid var(--border);border-radius:12px;padding:1.5rem;transition:border-color .2s,transform .2s;color:var(--text-primary)}.game-card.has-poster{padding-top:0;overflow:hidden}.game-card.has-poster .game-header,.game-card.has-poster .game-objective,.game-card.has-poster .game-mechanics,.game-card.has-poster .game-stats,.game-card.has-poster .game-preview{padding-left:1.5rem;padding-right:1.5rem}.game-card.has-poster .game-header{padding-top:1rem}.game-card.has-poster .game-preview{padding-bottom:1.5rem}.game-poster{border-bottom:1px solid var(--border);margin-left:-1.5rem;margin-right:-1.5rem}.game-poster img{width:100%;height:auto;display:block;transition:transform .3s}.game-card:hover .game-poster img{transform:scale(1.03)}.game-card:hover{border-color:var(--accent);transform:translateY(-2px);color:var(--text-primary)}.game-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.game-header h3{font-size:1.25rem}.player-count{font-size:.85rem;color:var(--accent);padding:.25rem .75rem;background:#3b82f61a;border-radius:20px}.game-objective{color:var(--text-secondary);font-size:.95rem;margin-bottom:1rem;line-height:1.5}.game-mechanics{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1rem}.more-mechanics{font-size:.75rem;padding:.25rem .5rem;color:var(--text-secondary);background:var(--bg-tertiary);border-radius:4px}.game-stats{display:flex;gap:1.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.stat{display:flex;flex-direction:column}.stat-value{font-size:1.25rem;font-weight:600}.stat-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.game-preview{padding-top:1rem;border-top:1px solid var(--border)}.preview-cmd{font-size:.85rem}.recent-playtests-section{padding:3rem 0}.recent-playtests-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.view-all-link{font-size:.9rem;color:var(--accent);text-decoration:none}.view-all-link:hover{text-decoration:underline}.recent-playtests-table-wrap{overflow-x:auto}.recent-playtests-table{width:100%;border-collapse:collapse;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;overflow:hidden}.recent-playtests-table th{text-align:left;padding:.75rem 1rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);background:var(--bg-tertiary);border-bottom:1px solid var(--border)}.recent-playtests-table td{padding:.6rem 1rem;font-size:.9rem;border-bottom:1px solid var(--border)}.recent-playtests-table tbody tr:last-child td{border-bottom:none}.recent-playtests-table tbody tr:hover{background:var(--bg-tertiary)}.game-name-link{color:var(--accent);text-decoration:none;text-transform:capitalize}.game-name-link:hover{text-decoration:underline}.date-cell{color:var(--text-secondary);font-size:.85rem}.recent-playtests-table .outcome-badge{font-size:.7rem;padding:.15rem .5rem;border-radius:20px;text-transform:uppercase;font-weight:500;display:inline-block}.recent-playtests-table .outcome-completed{background:#22c55e26;color:#4ade80}.recent-playtests-table .outcome-ended{background:#3b82f626;color:#60a5fa}.recent-playtests-table .outcome-cancelled{background:#ef444426;color:#f87171}.recent-playtests-table .outcome-progress{background:#fbbf2426;color:#fbbf24}.recent-playtests-table .outcome-unknown{background:var(--bg-tertiary);color:var(--text-secondary)}@media (max-width: 640px){.recent-playtests-header{flex-direction:column;align-items:flex-start;gap:.5rem}}.mechanics-section{padding:2rem 0;background:var(--bg-primary)}.mechanics-header{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:2rem;flex-wrap:wrap}.mechanics-header .section-title{margin-bottom:.5rem}.mechanics-header .section-desc{color:var(--text-secondary);max-width:550px;margin:0}.browse-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--accent);color:#fff;border-radius:8px;font-weight:500;transition:background .2s;white-space:nowrap}.browse-btn:hover{background:var(--accent-hover);color:#fff}.categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;margin-bottom:2rem}.category-card{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1rem .75rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;transition:all .2s;text-align:center}.category-card:hover{border-color:var(--cat-color);transform:translateY(-2px)}.category-name{font-size:.85rem;font-weight:500;color:var(--text-primary);text-transform:capitalize}.category-card:hover .category-name{color:var(--cat-color)}.category-count{font-size:1.25rem;font-weight:600;color:var(--cat-color)}.mechanics-usage{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.mechanics-usage h3{font-size:1rem;margin-bottom:1rem;color:var(--text-secondary)}.mechanics-usage pre{margin:0}@media (max-width: 640px){.mechanics-header{flex-direction:column}.browse-btn{width:100%;justify-content:center}.categories-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}.architecture-section{background:var(--bg-primary)}.arch-diagram{margin-bottom:3rem;overflow-x:auto}.arch-diagram pre{display:inline-block;min-width:100%;font-size:.85rem;line-height:1.4}.arch-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.detail-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.detail-card h3{margin-bottom:.75rem;font-size:1.1rem}.detail-card p{color:var(--text-secondary);font-size:.9rem;line-height:1.6}.back-link{display:inline-block;margin-bottom:2rem;color:var(--text-secondary);font-size:.9rem;text-decoration:none;transition:color .2s}.back-link:hover{color:var(--accent)}.back-link-arrow{margin-right:.25rem}.game-page{padding:2rem 0 4rem;min-height:100vh}.game-page-poster{width:100%;max-height:400px;overflow:hidden;border-radius:12px;border:1px solid var(--border);margin-bottom:2rem}.game-page-poster img{width:100%;height:100%;object-fit:cover;display:block}.game-page-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.game-page-header h1{font-size:2.5rem}.player-badge{font-size:.9rem;color:var(--accent);padding:.3rem 1rem;background:#3b82f61a;border-radius:20px}.game-meta{display:flex;gap:2rem;margin-bottom:2.5rem;flex-wrap:wrap}.meta-item{display:flex;flex-direction:column;gap:.25rem}.meta-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.mechanics-section{margin-bottom:2.5rem}.mechanics-section h2{font-size:1.1rem;margin-bottom:1rem}.mechanics-badges{display:flex;flex-wrap:wrap;gap:.5rem}.quick-start{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:1.5rem;margin-bottom:2.5rem}.quick-start h2{font-size:1.1rem;margin-bottom:1rem}.game-logs-section{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:1.5rem;margin-bottom:2.5rem}.game-logs-section h2{font-size:1.1rem;margin-bottom:.5rem}.logs-summary{color:var(--text-secondary);font-size:.9rem;margin-bottom:1rem}.view-logs-btn{display:inline-block;background:var(--accent);color:#fff;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;transition:background .2s}.view-logs-btn:hover{background:var(--accent-hover);color:#fff}.playtests-table{width:100%;border-collapse:collapse;margin-bottom:1rem;font-size:.9rem}.playtests-table th{text-align:left;padding:.5rem .75rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border-bottom:1px solid var(--border)}.playtests-table td{padding:.5rem .75rem;border-bottom:1px solid var(--border)}.playtests-table tbody tr:last-child td{border-bottom:none}.playtests-table .outcome-badge{font-size:.7rem;padding:.15rem .5rem;border-radius:20px;text-transform:uppercase;font-weight:500}.game-logs-section .outcome-completed{background:#22c55e26;color:#4ade80}.game-logs-section .outcome-ended{background:#3b82f626;color:#60a5fa}.game-logs-section .outcome-cancelled{background:#ef444426;color:#f87171}.game-logs-section .outcome-progress{background:#fbbf2426;color:#fbbf24}.game-logs-section .outcome-unknown{background:var(--bg-tertiary);color:var(--text-secondary)}.board-section,.deck-section,.rules-section{margin-bottom:2.5rem}.board-section h2,.deck-section h2,.rules-section h2{margin-bottom:1rem}.board-states{display:flex;gap:.75rem;flex-wrap:wrap}.board-state{padding:.5rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;font-size:.9rem}.board-state.start{border-color:var(--accent);color:var(--accent)}.board-state.victory{background:#22c55e1a;border-color:#22c55e;color:#22c55e}.card-type{margin-bottom:1.5rem}.card-type h3{font-size:.9rem;color:var(--text-secondary);text-transform:capitalize;margin-bottom:.75rem}.cards-list{display:flex;flex-wrap:wrap;gap:.5rem}.card-item{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;font-size:.85rem}.card-count{color:var(--text-secondary)}.rules-content{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:1.5rem 2rem;max-height:none;overflow-y:visible}.rules-content.markdown-body{font-size:.95rem;line-height:1.7;color:var(--text-primary)}.rules-content.markdown-body h1,.rules-content.markdown-body h2,.rules-content.markdown-body h3{margin-top:1.5rem;margin-bottom:.75rem;color:var(--text-primary)}.rules-content.markdown-body h1:first-child,.rules-content.markdown-body h2:first-child{margin-top:0}.rules-content.markdown-body h1{font-size:1.5rem}.rules-content.markdown-body h2{font-size:1.25rem}.rules-content.markdown-body h3{font-size:1.1rem}.rules-content.markdown-body p{margin-bottom:1rem}.rules-content.markdown-body ul,.rules-content.markdown-body ol{margin-bottom:1rem;padding-left:1.5rem}.rules-content.markdown-body li{margin-bottom:.35rem}.rules-content.markdown-body strong{color:var(--text-primary);font-weight:600}.rules-content.markdown-body code{background:var(--code-bg);padding:.15rem .4rem;border-radius:4px;font-size:.85em}.rules-content.markdown-body pre{background:var(--code-bg);border:1px solid var(--border);border-radius:8px;padding:1rem;overflow-x:auto;margin-bottom:1rem}.rules-content.markdown-body pre code{background:none;padding:0}.rules-content.markdown-body blockquote{border-left:3px solid var(--accent);padding-left:1rem;margin:1rem 0;color:var(--text-secondary)}.rules-content.markdown-body hr{border:none;border-top:1px solid var(--border);margin:1.5rem 0}.rules-content.markdown-body table{width:100%;border-collapse:collapse;margin-bottom:1rem}.rules-content.markdown-body th,.rules-content.markdown-body td{border:1px solid var(--border);padding:.5rem .75rem;text-align:left}.rules-content.markdown-body th{background:var(--bg-tertiary);font-weight:600}@media (max-width: 640px){.game-page-header h1{font-size:2rem}}.mechanics-page{min-height:100vh;padding:2rem 0 4rem}.loading-state,.error-state{padding:3rem;text-align:center;color:var(--text-secondary)}.error-state h2{color:var(--text-primary);margin-bottom:1rem}.mechanics-header{margin-bottom:2rem}.mechanics-header h1{margin-bottom:.5rem}.mechanics-subtitle{color:var(--text-secondary);font-size:1.1rem}.mechanics-controls{margin-bottom:2rem}.category-filters{display:flex;flex-wrap:wrap;gap:.5rem}.category-filter{padding:.4rem .75rem;font-size:.8rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:20px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.implementation-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.filter-label{font-size:.85rem;color:var(--text-secondary);margin-right:.5rem}.status-filter{padding:.35rem .65rem;font-size:.75rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.mechanics-results{margin-bottom:1.5rem}.category-header{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem;padding-bottom:.75rem;border-bottom:2px solid var(--cat-color, var(--border))}.category-description{color:var(--text-secondary);font-size:.9rem;margin-bottom:1rem}.mechanics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}a.mechanic-card{display:block;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:1rem;transition:border-color .2s,transform .2s;text-decoration:none;color:inherit}a.mechanic-card:hover{border-color:var(--cat-color, var(--accent));transform:translateY(-2px)}a.mechanic-card.highlight,a.mechanic-card.highlighted{border-color:var(--cat-color, var(--accent));box-shadow:0 0 0 2px color-mix(in srgb,var(--cat-color, var(--accent)) 30%,transparent);animation:pulse 2s ease-out}.mechanic-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.mechanic-card-header h3{font-size:1rem;color:var(--text-primary)}.mechanic-badges{display:flex;align-items:center;gap:.5rem}.mechanic-id{font-size:.75rem;color:var(--text-secondary);font-family:monospace}.implementation-badge{display:inline-block;padding:.2rem .5rem;font-size:.65rem;font-weight:500;text-transform:uppercase;letter-spacing:.03em;border-radius:4px;background:color-mix(in srgb,var(--impl-color, var(--accent)) 15%,transparent);color:var(--impl-color, var(--accent));border:1px solid var(--impl-color, var(--accent));cursor:help}.implementation-badge.implemented{--impl-color: #22c55e}.implementation-badge.partial{--impl-color: #f59e0b}.implementation-badge.not_implemented{--impl-color: #6b7280}.source-badge{display:inline-block;padding:.2rem .5rem;font-size:.65rem;font-weight:500;text-transform:uppercase;letter-spacing:.03em;border-radius:4px;background:color-mix(in srgb,var(--source-color, #4a9eff) 15%,transparent);color:var(--source-color, #4a9eff);border:1px solid var(--source-color, #4a9eff);cursor:help}.mechanic-summary{color:var(--cat-color, var(--accent));font-size:.8rem;font-weight:500;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.03em}.mechanic-description{color:var(--text-secondary);font-size:.85rem;line-height:1.5;margin-bottom:.75rem}.mechanic-games{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.8rem}.games-label{color:var(--text-secondary)}.game-link{padding:.15rem .5rem;background:var(--bg-tertiary);border-radius:4px;font-size:.75rem}.game-tag{padding:.15rem .5rem;background:var(--bg-tertiary);border-radius:4px;font-size:.75rem;color:var(--text-primary)}.mechanic-footer{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;border-top:1px solid var(--border)}.mechanic-slug{font-size:.75rem;color:var(--text-secondary)}.bgg-link{font-size:.75rem;padding:.2rem .5rem;background:var(--bg-tertiary);border-radius:4px}.bgg-indicator{font-size:.75rem;padding:.2rem .5rem;background:var(--bg-tertiary);border-radius:4px;color:var(--text-secondary)}.game-link-inline{color:var(--accent);text-decoration:none;font-size:.8rem}.game-link-inline:hover{text-decoration:underline}@media (max-width: 640px){.mechanics-grid{grid-template-columns:1fr}.category-filters{gap:.35rem}.category-filter{font-size:.75rem;padding:.3rem .6rem}}.mechanic-detail-page{min-height:100vh;padding:2rem 0 4rem}.mechanic-article{max-width:900px}.loading-state,.error-state{padding:2rem;text-align:center;color:var(--text-secondary)}.error-state h1{color:var(--text-primary);margin-bottom:1rem}.mechanic-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.mechanic-header h1{font-size:2rem;margin-bottom:1rem;color:var(--text-primary)}.mechanic-meta{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;align-items:center}.mechanic-meta .category-badge{display:inline-block;padding:.25rem .75rem;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.03em;border-radius:4px;background:color-mix(in srgb,var(--cat-color, var(--accent)) 20%,transparent);color:var(--cat-color, var(--accent));border:1px solid var(--cat-color, var(--accent));text-decoration:none;transition:background .2s}.mechanic-meta .category-badge:hover{background:color-mix(in srgb,var(--cat-color, var(--accent)) 30%,transparent)}.mechanic-meta .source-badge{display:inline-block;padding:.25rem .75rem;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.03em;border-radius:4px;background:color-mix(in srgb,var(--source-color, #4a9eff) 20%,transparent);color:var(--source-color, #4a9eff);border:1px solid var(--source-color, #4a9eff)}.mechanic-meta .implementation-badge{display:inline-block;padding:.25rem .75rem;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.03em;border-radius:4px;background:color-mix(in srgb,var(--impl-color, var(--accent)) 20%,transparent);color:var(--impl-color, var(--accent));border:1px solid var(--impl-color, var(--accent))}.mechanic-meta .mechanic-id{font-size:.75rem;color:var(--text-tertiary);font-family:var(--font-mono)}.mechanic-slug-row{display:flex;align-items:center;gap:1rem;margin-top:.5rem}.mechanic-slug-row .mechanic-slug{font-size:.85rem;color:var(--text-secondary);background:var(--bg-tertiary);padding:.25rem .5rem;border-radius:4px}.mechanic-slug-row .bgg-link{font-size:.85rem;color:var(--accent);text-decoration:none}.mechanic-slug-row .bgg-link:hover{text-decoration:underline}.mechanic-summary{margin-bottom:2rem}.mechanic-summary p{font-size:1.1rem;color:var(--text-secondary);line-height:1.6}.implementation-info{margin-bottom:2rem;padding:1.5rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border)}.implementation-info.partial{border-left:4px solid #f59e0b}.implementation-info h2{font-size:1.25rem;color:var(--text-primary);margin-bottom:1rem}.implementation-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.impl-item{display:flex;flex-direction:column;gap:.25rem}.impl-item.full-width{grid-column:1 / -1}.impl-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.03em;color:var(--text-tertiary)}.impl-item code{font-size:.9rem;background:var(--bg-tertiary);padding:.25rem .5rem;border-radius:4px;width:fit-content}.config-schema{display:flex;flex-wrap:wrap;gap:.5rem}.config-option{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .5rem;background:var(--bg-tertiary);border-radius:4px;font-size:.85rem}.config-option code{background:none;padding:0;color:var(--accent)}.config-type{color:var(--text-secondary);font-size:.8rem}.hooks-list{display:flex;flex-wrap:wrap;gap:.5rem}.hook-name{font-size:.8rem;padding:.25rem .5rem;background:var(--bg-tertiary);border-radius:4px;color:var(--text-secondary)}.dep-list{display:flex;flex-wrap:wrap;gap:.5rem}.dep-link,.conflict-link{font-size:.85rem;padding:.25rem .5rem;background:var(--bg-tertiary);border-radius:4px;text-decoration:none}.dep-link{color:var(--accent)}.conflict-link{color:#ef4444}.source-code-section{margin-bottom:2rem}.source-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.source-header h2{font-size:1.25rem;color:var(--text-primary)}.source-actions{display:flex;align-items:center;gap:1rem}.source-file{font-size:.8rem;color:var(--text-secondary);font-family:var(--font-mono)}.expand-toggle{padding:.35rem .75rem;font-size:.8rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:border-color .2s,color .2s}.expand-toggle:hover{border-color:var(--accent);color:var(--accent)}.source-code{background:var(--code-bg);border:1px solid var(--border);border-radius:8px;padding:1rem;overflow-x:auto;max-height:400px;overflow-y:auto;font-size:.85rem;line-height:1.5}.source-code.expanded{max-height:none}.source-code code{background:none;padding:0;font-size:inherit;color:var(--text-secondary);white-space:pre}.games-using{margin-bottom:2rem}.games-using h2{font-size:1.25rem;color:var(--text-primary);margin-bottom:1rem}.games-list{display:flex;flex-wrap:wrap;gap:.75rem}.games-list .game-link{display:inline-block;padding:.5rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);text-decoration:none;font-size:.9rem;transition:border-color .2s,background .2s}.games-list .game-link:hover{border-color:var(--accent);background:var(--bg-tertiary)}.mechanic-description-section{margin-bottom:2rem}.mechanic-description-section h2{font-size:1.25rem;color:var(--text-primary);margin-bottom:1rem}.mechanic-content.markdown-body{color:var(--text-secondary);font-size:1rem;line-height:1.7}.mechanic-content.markdown-body h1{font-size:1.75rem;color:var(--text-primary);margin-top:2rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.mechanic-content.markdown-body h2{font-size:1.5rem;color:var(--text-primary);margin-top:1.75rem;margin-bottom:.75rem}.mechanic-content.markdown-body h3{font-size:1.25rem;color:var(--text-primary);margin-top:1.5rem;margin-bottom:.5rem}.mechanic-content.markdown-body h4{font-size:1.1rem;color:var(--text-primary);margin-top:1.25rem;margin-bottom:.5rem}.mechanic-content.markdown-body p{margin-bottom:1rem}.mechanic-content.markdown-body ul,.mechanic-content.markdown-body ol{margin-bottom:1rem;padding-left:1.5rem}.mechanic-content.markdown-body li{margin-bottom:.25rem}.mechanic-content.markdown-body code{background:var(--code-bg);padding:.15rem .4rem;border-radius:3px;font-size:.9em}.mechanic-content.markdown-body pre{background:var(--code-bg);padding:1rem;border-radius:8px;overflow-x:auto;margin-bottom:1rem}.mechanic-content.markdown-body pre code{background:none;padding:0;font-size:.85rem;line-height:1.5}.mechanic-content.markdown-body table{width:100%;border-collapse:collapse;margin-bottom:1rem;font-size:.9rem}.mechanic-content.markdown-body th,.mechanic-content.markdown-body td{padding:.75rem;border:1px solid var(--border);text-align:left}.mechanic-content.markdown-body th{background:var(--bg-tertiary);font-weight:600;color:var(--text-primary)}.mechanic-content.markdown-body blockquote{border-left:4px solid var(--accent);margin:1rem 0;padding:.5rem 1rem;background:var(--bg-secondary);color:var(--text-secondary)}.mechanic-content.markdown-body blockquote p{margin-bottom:0}.mechanic-content.markdown-body a{color:var(--accent);text-decoration:none}.mechanic-content.markdown-body a:hover{text-decoration:underline}.mechanic-content.markdown-body hr{border:none;border-top:1px solid var(--border);margin:2rem 0}.mechanic-content.markdown-body strong{color:var(--text-primary)}@media (max-width: 640px){.mechanic-header h1{font-size:1.5rem}.source-header{flex-direction:column;align-items:flex-start;gap:.5rem}.mechanic-content.markdown-body{font-size:.95rem}.mechanic-content.markdown-body pre{padding:.75rem}.implementation-details{grid-template-columns:1fr}}.logs-page{padding:2rem 0 4rem;min-height:100vh}.logs-header{margin-bottom:2rem}.logs-header h1{margin-bottom:.5rem}.logs-description{color:var(--text-secondary)}.logs-overview{display:flex;gap:2rem;margin-bottom:2rem;padding:1.5rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap}.overview-stat{display:flex;flex-direction:column}.overview-value{font-size:2rem;font-weight:700;color:var(--accent)}.overview-label{font-size:.85rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.logs-filters{display:flex;gap:1.5rem;margin-bottom:1rem;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:.5rem}.filter-group label{font-size:.9rem;color:var(--text-secondary)}.filter-group select{background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);padding:.5rem .75rem;font-size:.9rem}.logs-count{font-size:.85rem;color:var(--text-secondary);margin-bottom:1rem}.logs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem}.log-card{display:block;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:1.5rem;transition:border-color .2s,transform .2s;color:var(--text-primary)}.log-card:hover{border-color:var(--accent);transform:translateY(-2px);color:var(--text-primary)}.log-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.log-card-header h3{font-size:1.15rem;text-transform:capitalize}.log-badges{display:flex;gap:.5rem;align-items:center}.analysis-badge{font-size:.7rem;padding:.2rem .5rem;border-radius:4px;background:#a855f726;color:#a855f7;text-transform:uppercase;font-weight:500}.outcome-badge{font-size:.75rem;padding:.25rem .6rem;border-radius:20px;text-transform:uppercase;font-weight:500}.log-card-meta{display:flex;gap:1rem;font-size:.8rem;color:var(--text-secondary);margin-bottom:1rem;font-family:SF Mono,Fira Code,monospace}.log-card-stats{display:flex;gap:1.25rem;margin-bottom:1rem;flex-wrap:wrap}.log-stat{display:flex;flex-direction:column}.log-stat-value{font-size:1.15rem;font-weight:600}.log-stat-label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.log-winner{font-size:.9rem;padding-top:.75rem;border-top:1px solid var(--border)}.log-winner strong{color:var(--accent)}.log-reason{font-size:.85rem;color:var(--text-secondary);font-style:italic;margin-top:.5rem}.no-logs{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}@media (max-width: 640px){.logs-overview{gap:1.5rem}.overview-value{font-size:1.5rem}.logs-filters{flex-direction:column;gap:1rem}.logs-grid{grid-template-columns:1fr}}.log-viewer{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;overflow:hidden}.log-controls{display:flex;flex-wrap:wrap;gap:1rem;padding:1rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border)}.control-group{display:flex;align-items:center;gap:.5rem}.control-group label{font-size:.85rem;color:var(--text-secondary)}.control-group select{background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);padding:.35rem .75rem;font-size:.85rem}.view-toggle{margin-left:auto}.view-toggle button{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-secondary);padding:.35rem .75rem;font-size:.85rem;cursor:pointer;transition:all .2s}.view-toggle button:first-child{border-radius:4px 0 0 4px}.view-toggle button:last-child{border-radius:0 4px 4px 0;border-left:none}.view-toggle button.active{background:var(--accent);border-color:var(--accent);color:#fff}.view-toggle button:hover:not(.active){background:var(--bg-tertiary)}.log-stats{padding:.5rem 1rem;font-size:.8rem;color:var(--text-secondary);border-bottom:1px solid var(--border)}.log-events{max-height:600px;overflow-y:auto}.log-event{border-bottom:1px solid var(--border)}.log-event:last-child{border-bottom:none}.event-main{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;cursor:pointer;transition:background .15s}.event-main:hover{background:var(--bg-tertiary)}.event-index{font-size:.75rem;color:var(--text-secondary);min-width:2rem;text-align:right}.event-time{font-family:SF Mono,Fira Code,monospace;font-size:.8rem;color:var(--text-secondary);min-width:80px}.event-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;font-size:.75rem;font-weight:600;flex-shrink:0}.event-icon.event-system{background:#3b82f633;color:#60a5fa}.event-icon.event-end{background:#22c55e33;color:#4ade80}.event-icon.event-cancelled{background:#ef444433;color:#f87171}.event-icon.event-action{background:#a855f733;color:#c084fc}.event-icon.event-play{background:#22c55e33;color:#4ade80}.event-icon.event-draw{background:#fbbf2433;color:#fbbf24}.event-icon.event-default{background:var(--bg-tertiary);color:var(--text-secondary)}.event-icon.event-state{background:#6366f133;color:#818cf8}.event-icon.event-roll{background:#f9731633;color:#fb923c}.event-icon.event-transition{background:#14b8a633;color:#2dd4bf}.event-icon.event-failed{background:#ef444433;color:#f87171}.event-icon.event-victory{background:#eab30833;color:#facc15}.event-icon.event-adjudication{background:#8b5cf633;color:#a78bfa}.event-icon.event-rejected{background:#ef444433;color:#f87171}.event-icon.event-contest{background:#ec489933;color:#f472b6}.event-icon.event-resignation{background:#6b728033;color:#9ca3af}.event-icon.event-limit{background:#f59e0b33;color:#fbbf24}.event-icon.event-unknown{background:#6b728033;color:#9ca3af}.event-icon.event-hint{background:#fbbf244d;color:#fbbf24}.event-icon.event-hook{background:#ec489933;color:#ec4899}.event-icon.event-mechanic{background:#8b5cf633;color:#a78bfa}.event-success{color:#4ade80;font-weight:500}.event-failed{color:#f87171;font-weight:500}.event-state,.event-type,.event-mechanics,.event-policy,.event-message{color:var(--text-secondary);font-size:.9em}.event-rollback,.event-reversed{color:#f59e0b;font-size:.9em}.event-unknown{color:var(--text-secondary)}.event-turn{font-size:.75rem;color:var(--text-secondary);background:var(--bg-tertiary);padding:.15rem .4rem;border-radius:4px}.event-content{flex:1;font-size:.9rem;line-height:1.5}.event-content strong{color:var(--accent)}.event-content code{font-size:.85em;padding:.1em .4em}.event-reason{color:var(--text-secondary);font-style:italic}.event-reasoning{margin-top:.35rem;font-size:.85rem;color:var(--text-secondary);font-style:italic;padding-left:1rem;border-left:2px solid var(--border)}.drawn-cards{font-family:SF Mono,Fira Code,monospace;font-size:.85em;color:var(--text-secondary)}.expand-btn{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);width:24px;height:24px;border-radius:4px;cursor:pointer;font-size:.85rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.expand-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.event-raw{padding:.5rem 1rem 1rem;padding-left:calc(4.25rem + 104px)}.event-raw pre{font-size:.8rem;margin:0;background:var(--bg-primary)}.event-data{display:block;margin-top:.25rem;font-size:.8em;word-break:break-all}.log-raw-view{padding:1rem;max-height:600px;overflow:auto}.log-raw-view pre{margin:0;font-size:.8rem}.raw-line{padding:.25rem 0;border-bottom:1px solid var(--border);word-break:break-all}.raw-line:last-child{border-bottom:none}.hook-name,.mechanic-name{font-family:Monaco,Menlo,monospace;background:#ffffff0d;padding:1px 4px;border-radius:2px;font-size:.9em}.hook-result-blocked,.mechanic-response-blocked{color:#ef4444;font-weight:600}.hook-result-allowed,.mechanic-response-allowed{color:#10b981}.hook-result-modified,.mechanic-response-modified{color:#f59e0b;font-weight:600}.mechanic-response-state_changes{color:#06b6d4}.hook-result-no_response{color:#6b7280;font-style:italic}.event-meta{color:#9ca3af;font-size:.85em;margin-left:4px}.has-details{color:#8b5cf6;font-size:.85em;font-style:italic}@media (max-width: 640px){.log-controls{flex-direction:column}.view-toggle{margin-left:0}.event-main{flex-wrap:wrap}.event-index{display:none}.event-raw{padding-left:1rem}}.log-detail-page{padding:2rem 0 4rem;min-height:100vh}.log-detail-header{margin-bottom:2rem}.header-main{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem;flex-wrap:wrap}.header-main h1{text-transform:capitalize}.outcome-badge{font-size:.8rem;padding:.3rem .75rem;border-radius:20px;text-transform:uppercase;font-weight:500}.outcome-completed{background:#22c55e26;color:#4ade80}.outcome-ended{background:#3b82f626;color:#60a5fa}.outcome-cancelled{background:#ef444426;color:#f87171}.outcome-progress{background:#fbbf2426;color:#fbbf24}.outcome-unknown{background:var(--bg-tertiary);color:var(--text-secondary)}.log-detail-id{font-family:SF Mono,Fira Code,monospace;font-size:.9rem;color:var(--text-secondary)}.log-detail-meta{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.meta-row{display:flex;gap:2rem;flex-wrap:wrap}.meta-row+.meta-row{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border)}.meta-item{display:flex;flex-direction:column;min-width:100px}.meta-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.meta-value{font-size:1rem}.log-detail-winner{font-size:1.1rem;margin-bottom:.75rem}.log-detail-winner strong{color:var(--accent)}.log-detail-reason{font-size:.95rem;color:var(--text-secondary);font-style:italic;margin-bottom:2rem}.log-detail-players{margin-bottom:2rem}.log-detail-players h2{margin-bottom:1rem}.players-list{display:flex;gap:.75rem;flex-wrap:wrap}.player-tag{background:var(--bg-secondary);border:1px solid var(--border);padding:.5rem 1rem;border-radius:8px;font-size:.9rem}.log-detail-breakdown{margin-bottom:2rem}.log-detail-breakdown h2{margin-bottom:1rem}.event-breakdown{display:flex;flex-wrap:wrap;gap:.75rem}.breakdown-item{display:flex;align-items:center;gap:.5rem;background:var(--bg-secondary);border:1px solid var(--border);padding:.5rem 1rem;border-radius:8px}.breakdown-event{font-size:.85rem;font-family:SF Mono,Fira Code,monospace}.breakdown-count{font-size:.85rem;font-weight:600;color:var(--accent);background:#3b82f61a;padding:.15rem .5rem;border-radius:4px}.log-detail-events h2{margin-bottom:1rem}.log-detail-tabs{margin-top:2rem}.tab-buttons{display:flex;gap:.5rem;border-bottom:1px solid var(--border);margin-bottom:1.5rem}.tab-button{background:none;border:none;padding:.75rem 1.5rem;font-size:.95rem;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s ease}.tab-button:hover{color:var(--text-primary)}.tab-button.active{color:var(--accent);border-bottom-color:var(--accent)}.tab-content{min-height:300px}.log-analysis{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;overflow:hidden}.analysis-meta{padding:.75rem 1.5rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border)}.analysis-file{font-family:SF Mono,Fira Code,monospace;font-size:.85rem;color:var(--text-secondary)}.analysis-content{padding:1.5rem;max-height:70vh;overflow-y:auto}.markdown-body{line-height:1.7;color:var(--text-primary)}.markdown-body h1{font-size:1.75rem;margin:0 0 1.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.markdown-body h2{font-size:1.35rem;margin:2rem 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.markdown-body h3{font-size:1.1rem;margin:1.5rem 0 .75rem}.markdown-body p{margin:1rem 0}.markdown-body ul,.markdown-body ol{margin:1rem 0;padding-left:1.5rem}.markdown-body li{margin:.5rem 0}.markdown-body strong{font-weight:600}.markdown-body code{background:var(--bg-tertiary);padding:.2rem .4rem;border-radius:4px;font-family:SF Mono,Fira Code,monospace;font-size:.9em}.markdown-body pre{background:var(--bg-tertiary);padding:1rem;border-radius:8px;overflow-x:auto;margin:1rem 0}.markdown-body pre code{background:none;padding:0}.markdown-body table{width:100%;border-collapse:collapse;margin:1rem 0}.markdown-body th,.markdown-body td{padding:.75rem;text-align:left;border:1px solid var(--border)}.markdown-body th{background:var(--bg-tertiary);font-weight:600}.markdown-body tr:nth-child(2n){background:#ffffff05}.markdown-body blockquote{border-left:3px solid var(--accent);margin:1rem 0;padding-left:1rem;color:var(--text-secondary)}.markdown-body hr{border:none;border-top:1px solid var(--border);margin:2rem 0}.log-detail-transcripts{display:flex;flex-direction:column;gap:1.5rem}.transcripts-intro{color:var(--text-secondary);font-size:.9rem;margin-bottom:.5rem}.transcript-viewer{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;overflow:hidden}.transcript-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:1rem}.transcript-title{display:flex;align-items:center;gap:.75rem}.agent-badge{padding:.3rem .75rem;border-radius:6px;font-size:.85rem;font-weight:500;color:#fff}.agent-id{font-size:.75rem;color:var(--text-secondary)}.transcript-stats{display:flex;gap:1.5rem;font-size:.8rem;color:var(--text-secondary)}.transcript-events{max-height:500px;overflow-y:auto}.transcript-event{display:flex;gap:1rem;padding:.75rem 1.5rem;border-bottom:1px solid var(--border);align-items:flex-start}.transcript-event:last-child{border-bottom:none}.transcript-event.user{background:#3b82f60d}.transcript-event.assistant{background:#a855f70d}.event-role{font-size:.75rem;text-transform:uppercase;font-weight:500;min-width:70px;color:var(--agent-color, var(--text-secondary))}.event-content{flex:1;font-size:.85rem;line-height:1.5;overflow:hidden}.event-text{white-space:pre-wrap;word-break:break-word}.event-blocks{display:flex;flex-direction:column;gap:.5rem}.block-text{white-space:pre-wrap;word-break:break-word}.block-thinking{color:var(--text-secondary);font-style:italic;padding-left:1rem;border-left:2px solid var(--border)}.block-tool-use{font-family:SF Mono,Fira Code,monospace;font-size:.8rem;color:var(--accent)}.block-tool-use code{background:var(--bg-tertiary);padding:.1rem .4rem;border-radius:4px}.tool-use-header{display:flex;align-items:center;gap:.75rem}.tool-expand-btn{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;padding:.15rem .5rem;font-size:.7rem;color:var(--text-secondary);cursor:pointer;transition:all .2s}.tool-expand-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.tool-input{margin-top:.5rem;background:var(--bg-tertiary);padding:.75rem;border-radius:6px;overflow-x:auto;font-size:.75rem;max-height:300px;overflow-y:auto}.tool-input code{background:none;padding:0;white-space:pre-wrap;word-break:break-word}.block-tool-result{background:#22c55e14;border:1px solid rgba(34,197,94,.2);border-radius:6px;padding:.5rem .75rem;font-size:.8rem}.tool-result-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.tool-result-label{font-weight:500;color:#4ade80;font-size:.75rem;text-transform:uppercase}.tool-result-content{background:var(--bg-tertiary);padding:.5rem;border-radius:4px;margin:0;overflow-x:auto;font-size:.75rem}.tool-result-content.collapsed{max-height:4rem;overflow-y:hidden}.tool-result-content.expanded{max-height:400px;overflow-y:auto}.tool-result-content code{background:none;padding:0;white-space:pre-wrap;word-break:break-word}.expand-text-btn{background:none;border:none;color:var(--accent);font-size:inherit;cursor:pointer;padding:0;margin-left:.25rem}.expand-text-btn:hover{text-decoration:underline}.event-progress,.event-empty{color:var(--text-secondary);font-style:italic}.transcript-expand{display:block;width:100%;padding:.75rem;background:var(--bg-tertiary);border:none;border-top:1px solid var(--border);color:var(--accent);font-size:.85rem;cursor:pointer;transition:background .2s}.transcript-expand:hover{background:var(--bg-secondary)}@media (max-width: 640px){.header-main{flex-direction:column;align-items:flex-start}.meta-row{flex-direction:column;gap:1rem}.meta-row+.meta-row{margin-top:1rem;padding-top:1rem}.tab-buttons{overflow-x:auto}.tab-button{padding:.5rem 1rem;font-size:.9rem;white-space:nowrap}.transcript-header{flex-direction:column;align-items:flex-start}.transcript-stats{flex-wrap:wrap;gap:.75rem}}.docs-page{min-height:100vh;padding:2rem 0 4rem}.docs-header{margin-bottom:2rem}.docs-header h1{margin-bottom:.5rem}.docs-subtitle{color:var(--text-secondary);font-size:1.1rem}.docs-controls{margin-bottom:2rem}.search-box{display:flex;gap:.5rem;margin-bottom:1rem}.search-box input{flex:1;max-width:400px;padding:.75rem 1rem;font-size:1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary)}.search-box input:focus{outline:none;border-color:var(--accent)}.clear-search{padding:.75rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:color .2s,border-color .2s}.clear-search:hover{color:var(--text-primary);border-color:var(--text-secondary)}.filter-row{display:flex;flex-direction:column;gap:.75rem}.category-filters,.status-filters{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.filter-label{color:var(--text-secondary);font-size:.85rem;margin-right:.25rem}.category-filter,.status-filter{padding:.4rem .75rem;font-size:.8rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:20px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.category-filter:hover{border-color:var(--cat-color, var(--accent));color:var(--cat-color, var(--accent))}.category-filter.active{background:color-mix(in srgb,var(--cat-color, var(--accent)) 20%,transparent);border-color:var(--cat-color, var(--accent));color:var(--cat-color, var(--accent))}.status-filter:hover{border-color:var(--status-color, var(--accent));color:var(--status-color, var(--accent))}.status-filter.active{background:color-mix(in srgb,var(--status-color, var(--accent)) 20%,transparent);border-color:var(--status-color, var(--accent));color:var(--status-color, var(--accent))}.docs-results{margin-bottom:1.5rem}.results-count{color:var(--text-secondary);font-size:.9rem}.category-section{margin-bottom:3rem}.category-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid var(--cat-color, var(--border))}.category-header h2{color:var(--cat-color, var(--text-primary));text-transform:capitalize;font-size:1.5rem}.category-count{font-size:.85rem;color:var(--text-secondary)}.docs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1rem}a.doc-card{display:block;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:1rem;text-decoration:none;transition:border-color .2s,transform .2s,box-shadow .2s}a.doc-card:hover{border-color:var(--cat-color, var(--accent));transform:translateY(-2px);box-shadow:0 4px 12px #00000026}a.doc-card:hover .view-link{color:var(--cat-color, var(--accent))}a.doc-card.highlight,a.doc-card.highlighted{border-color:var(--cat-color, var(--accent));box-shadow:0 0 0 2px color-mix(in srgb,var(--cat-color, var(--accent)) 30%,transparent);animation:pulse 2s ease-out}@keyframes pulse{0%{box-shadow:0 0 0 4px color-mix(in srgb,var(--cat-color, var(--accent)) 40%,transparent)}to{box-shadow:0 0 0 2px color-mix(in srgb,var(--cat-color, var(--accent)) 30%,transparent)}}.doc-card-header{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.doc-card-header h3{font-size:1rem;color:var(--text-primary);margin:0}.doc-badges{display:flex;flex-wrap:wrap;gap:.5rem}.status-badge,.priority-badge{display:inline-block;padding:.2rem .5rem;font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.03em;border-radius:4px}.doc-summary{color:var(--text-secondary);font-size:.85rem;line-height:1.5;margin-bottom:.75rem}.doc-footer{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;border-top:1px solid var(--border)}.doc-path{font-size:.75rem;color:var(--text-secondary)}.view-link{font-size:.8rem;color:var(--text-secondary);font-weight:500;transition:color .2s}@media (max-width: 640px){.docs-grid{grid-template-columns:1fr}.category-filters,.status-filters{gap:.35rem}.category-filter,.status-filter{font-size:.75rem;padding:.3rem .6rem}}.doc-detail-page{min-height:100vh;padding:2rem 0 4rem}.doc-article{max-width:800px}.doc-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.doc-header h1{font-size:2rem;margin-bottom:1rem;color:var(--text-primary)}.doc-meta{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.status-badge,.priority-badge,.category-badge{display:inline-block;padding:.25rem .75rem;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.03em;border-radius:4px}.status-badge{background:color-mix(in srgb,var(--status-color, var(--accent)) 20%,transparent);color:var(--status-color, var(--accent));border:1px solid var(--status-color, var(--accent))}.priority-badge{background:color-mix(in srgb,var(--priority-color, var(--accent)) 15%,transparent);color:var(--priority-color, var(--accent));border:1px solid var(--priority-color, var(--accent))}.category-badge{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border)}.doc-path{margin-top:.5rem}.doc-path code{font-size:.8rem;color:var(--text-secondary);background:var(--bg-tertiary);padding:.25rem .5rem;border-radius:4px}.doc-content.markdown-body{color:var(--text-secondary);font-size:1rem;line-height:1.7}.doc-content.markdown-body h1{font-size:1.75rem;color:var(--text-primary);margin-top:2rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.doc-content.markdown-body h2{font-size:1.5rem;color:var(--text-primary);margin-top:1.75rem;margin-bottom:.75rem}.doc-content.markdown-body h3{font-size:1.25rem;color:var(--text-primary);margin-top:1.5rem;margin-bottom:.5rem}.doc-content.markdown-body h4{font-size:1.1rem;color:var(--text-primary);margin-top:1.25rem;margin-bottom:.5rem}.doc-content.markdown-body p{margin-bottom:1rem}.doc-content.markdown-body ul,.doc-content.markdown-body ol{margin-bottom:1rem;padding-left:1.5rem}.doc-content.markdown-body li{margin-bottom:.25rem}.doc-content.markdown-body code{background:var(--code-bg);padding:.15rem .4rem;border-radius:3px;font-size:.9em}.doc-content.markdown-body pre{background:var(--code-bg);padding:1rem;border-radius:8px;overflow-x:auto;margin-bottom:1rem}.doc-content.markdown-body pre code{background:none;padding:0;font-size:.85rem;line-height:1.5}.doc-content.markdown-body table{width:100%;border-collapse:collapse;margin-bottom:1rem;font-size:.9rem}.doc-content.markdown-body th,.doc-content.markdown-body td{padding:.75rem;border:1px solid var(--border);text-align:left}.doc-content.markdown-body th{background:var(--bg-tertiary);font-weight:600;color:var(--text-primary)}.doc-content.markdown-body blockquote{border-left:4px solid var(--accent);margin:1rem 0;padding:.5rem 1rem;background:var(--bg-secondary);color:var(--text-secondary)}.doc-content.markdown-body blockquote p{margin-bottom:0}.doc-content.markdown-body a{color:var(--accent);text-decoration:none}.doc-content.markdown-body a:hover{text-decoration:underline}.doc-content.markdown-body hr{border:none;border-top:1px solid var(--border);margin:2rem 0}.doc-content.markdown-body strong{color:var(--text-primary)}@media (max-width: 640px){.doc-header h1{font-size:1.5rem}.doc-content.markdown-body{font-size:.95rem}.doc-content.markdown-body pre{padding:.75rem}}:root{--bg-primary: #0a0a0a;--bg-secondary: #141414;--bg-tertiary: #1a1a1a;--text-primary: #f5f5f5;--text-secondary: #a0a0a0;--accent: #3b82f6;--accent-hover: #2563eb;--border: #2a2a2a;--code-bg: #1e1e1e}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh}a{color:var(--accent);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-hover)}a[target=_blank]:not(.no-external-icon):after{content:"↗";display:inline-block;margin-left:.2em;font-size:.75em;vertical-align:super;opacity:.7}a[target=_blank]:hover:after{opacity:1}code{font-family:SF Mono,Fira Code,Consolas,monospace;background:var(--code-bg);padding:.2em .4em;border-radius:4px;font-size:.9em}pre{background:var(--code-bg);padding:1rem;border-radius:8px;overflow-x:auto;border:1px solid var(--border)}pre code{background:none;padding:0}.container{max-width:1100px;margin:0 auto;padding:0 1.5rem}h1,h2,h3,h4{font-weight:600;line-height:1.3}h1{font-size:2.5rem}h2{font-size:1.75rem}h3{font-size:1.25rem}@media (max-width: 640px){h1{font-size:2rem}h2{font-size:1.5rem}}
